DebianThis forum is for the discussion of Debian Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
OTOH, meson and ninja are listed among build systems recognized by debhelper, so I guess for most packages the standard dh magic should work, too. And if debhelper wrongly determines the used build system itself, you may always specify it explicitly:
When I tried the normal build, it would report not finding classic stuff like configure.
When I tried entering "dh $@ --buildsystem=meson" it reported back, "dh: error: Unknown sequence --buildsystem=meson (options should not come before the sequence)"
2. What's your version of debhelper? (meson/ninja support was added in debhelper 10.3, i.e. if you're on Debian 9 (Stretch) you should use debhelper from stretch-backports, and if you're still on Debian 8 (Jessie) or Ubuntu 16.04 LTS (Xenial) you're out of luck)
Code:
dpkg -l debhelper
3. What's the output of
Code:
dh build --no-act --buildsystem=meson
(run the last command from inside your package source directory, i.e. one level above the debian directory).
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii debhelper 12.9 all helper programs for debian/rules
1. What software are you trying to build? Have you tried to build it manually, according to upstream instructions (they are usually in files named INSTALL*, README* and the like)? Did it work?
budgie-desktop 10.5.1-3 is currently in sid. Why not just install it from the official repo?
Just to be sure, I've rebuilt budgie-desktop 10.5.1-6 currently in experimental from source. The only problem was package libmutter-6-dev still being in experimental. So I did
No, it's not necessary to be root in order to use apt-get source. From the apt-get(1) manpage:
Quote:
Note that source packages are not installed and tracked in the dpkg database like binary packages; they are simply downloaded to the current directory, like source tarballs.
But you should have enabled the corresponding deb-src line in /etc/apt/sources.list. From the same manpage:
Quote:
Source packages are tracked separately from binary packages via deb-src lines in the sources.list(5) file. This means that you will need to add such a line for each repository you want to get sources from; otherwise you will probably get either the wrong (too old/too new) source versions or none at all.
Alternatively to apt-get source you can try dget from package devscripts.
There will be times when a package you want or need to build is not in the repositories of the current version of Ubuntu you are running. Rather than entering deb-src lines in your sources.list configuration for other versions of Ubuntu you are not running, you can use dget instead to download a package. dget is included in the devscripts package, hence why you should have installed it.
To use dget, first locate the .dsc file of the package you are going to build. Good places to look are http://packages.ubuntu.com/ or http://packages.debian.org/. Once you located the .dsc file, copy the link address to it and then in a command prompt run:
Code:
dget <link_address_to_foo.dsc>
Quote:
Originally Posted by GeekBoy
I had downloaded the source packages from the upstream developer repo on Github. Maybe that is why I am having issues.
I don't think so. Just compare your debian/rules with that from the official Debian package. Why are you overriding dh_auto_build? Why changing the MAKE variable?
Been a while. With so many people at the house all the time now, I get endlessly interrupted, and hard to sit down and work on this stuff.
Anyway, I was trying to get the source from apt the wrong way.
Just running "apt-get source budgie-desktop" worked out fine.
Got a folder labeled "budgie-desktop-10.5," archive named, "budgie-desktop_10.5.orig.tar.xz," file named "budgie-desktop_10.5.orig.tar.xz.asc," another archive named "budgie-desktop_10.5-1.debian.tar.xz," and a file named "budgie-desktop_10.5-1.dsc."
At this point, I am not even sure what to do with all the different files as there seems to be no Debian documentation on what to to to get it to compile/patch/make .deb package.
Overriding dh_auto_build? Changing MAKE variable? Not sure what you mean. I have not changed anything. Just trying to learn how to build this, and make a repo package.
sudo apt install build-essential devscripts
cd budgie-desktop-10.5
debuild -us -uc
ls ../*.deb
That did not work out. It spit out about 100 or so errors.
I will check out the links.
Reason is because the simples are really not learning to build harder packages. Just do the commands and its done. Here we have something really to learn here.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.