Issues with building Ubuntu packages

silver.bullet at zoho.com silver.bullet at zoho.com
Wed Aug 12 10:53:40 UTC 2015


On Wed, 12 Aug 2015 10:43:23 +0200, Oliver Grawert wrote:
>Am Dienstag, den 11.08.2015, 21:54 +0200 schrieb silver.bullet...:
>> nano debian/changelog
>try dch -i for this step, it automatically creates the version line and
>timestamp and does syntax checks when saving.

Hi Oli,

FWIW with a bad changelog building the packages fails and the changelog
I'm using does work. I'll keep "dch -i" in mind.

>> libtoolize --force --copy --automake
>> aclocal
>> autoreconf
>are you sure the autotools dance is needed ? sane packages usually use
>something like dh_autotools-dev to do all the steps above from
>debian/rules when you run debuild

No, I'm not sure if it's needed. I followed an advice of a maintainer
given on the Linux audio user mailing list in 2011 and that was the
first and IIRC only time I used it to build alsa related packages.

>does arch use the same toolchain and does it have the same versions of
>all the build dependencies ? (else you are not comparing apples to
>apples)

No, building packages for Arch Linux is very easy, I don't use such a
tool chain, the biggest difference between Ubuntu and Arch, is the Arch
policy. On Arch Linux libfm is a single package, providing everything,
e.g. lib and headers, excepted of a debug version, this requires
rebuilding the package. I didn't compare the dependencies, since they
are unimportant, the culprit is a bug in the upstream release of libfm
1.2.3 and the fix provided by 1.2.3.git... AFAIK doesn't need different
dependencies or version of dependencies. Whatever is used to build
1.2.3 AFAIK should be able to build 1.2.3.git... or at least should
cause an error when compiling.

Since I just use Ubuntu (Debian) commands without knowing what they are
doing and never run ./configure, I need to find out how to configure the
build without running ./configure. Perhaps the libfm bug isn't fixed by
the git commit and just building with different options solved the
issue :S.

That's how the binary for the official Arch repo is build:
[weremouse at moonstudio ~]$ grep configure
-A4 /mnt/archlinux/var/abs/community/libfm/PKGBUILD ./configure
--prefix=/usr \ --sysconfdir=/etc \
    --enable-udisks \
    --with-gnu-ld
  make

This are two different builds from git that work:
[weremouse at moonstudio ~]$ grep configure
-A7 /mnt/archlinux/usr/src/libfm-gtk-git/PKGBUILD-1 ./configure \
		--with-gtk \
		--enable-gtk-doc \
		--disable-udisks \
		--enable-actions \
		--prefix="/usr" \
		--sysconfdir="/etc"
	make
[weremouse at moonstudio ~]$ grep configure
-A7 /mnt/archlinux/usr/src/libfm-gtk-git/PKGBUILD-2 ./configure \
		--with-gtk \
		--enable-gtk-doc \
		--enable-udisks \
		--enable-actions \
		--prefix="/usr" \
		--sysconfdir="/etc"
	make

Now I should find out how the Ubuntu libfm is configured ;). 

I guess instead I'll build a single package in the same way, I would do
for Arch Linux. For Ubuntu/Debian this can be done using checkinstall,
but then I manually need to add all the not exiting split packages to
the package's "Provides" information:

[weremouse at moonstudio ~]$ ls /usr/src/backup_libfm.deb/*deb | grep -v
dbg | cut -f2 -d"_" | cut -f2 -d"/" 
libfm4
libfm-data
libfm-dev
libfm-doc
libfm-extra4
libfm-gtk4
libfm-gtk-data
libfm-gtk-dev
libfm-modules
libfm-tools
lxshortcut

I would prefer to build separated Ubuntu/Debian policy packages
for my Ubuntu install. Since the above listed packages I build don't
cause libfm to behave as expected and I don't want to spend too much
time with reading too much documentation, I'll test building a sngle
package using the same config(s) I used for Arch.

Regards,
Ralf





More information about the ubuntu-users mailing list