[Pkg-netatalk-devel] Debug package?

Brian Campbell brian.campbell at editshare.com
Tue Feb 18 06:12:15 UTC 2014


On Tue, Feb 18, 2014 at 12:01 AM, Jonas Smedegaard <dr at jones.dk> wrote:
> [replying to list]
>
> Quoting Brian Campbell (2014-02-18 05:11:01)
>> I also need to add something to tell it to install into
>> debian/netatalk. With only one binary package, it defaults to that
>> behavior, but with two, it defaults to debain/tmp. I've added the
>> following to debian/rules; does that look OK?
>>
>> # Need to set this explicitly since we're building a -dbg package
>> DEB_DESTDIR = $(CURDIR)/debian/netatalk
>
> Looks ok, yes.
>
> I find it more elegant, however, to avoid including $(CURDIR)/ whenever
> possible - and to not hardcode the package name.  So I suggest try this
> alternative:
>
>   DEB_DESTDIR = debian/$(cdbs_curpkg)

When I do that, I get the following error. Looks like $(CURDIR) is necessary.

   /bin/bash ../libtool   --mode=install /usr/bin/install -c
libatalk.la 'debian/stamp-makefile-install/usr/lib'
  libtool: install: `debian/stamp-makefile-install/usr/lib' must be an
absolute directory name
  libtool: install: Try `libtool --help --mode=install' for more information.
  make[4]: *** [install-libLTLIBRARIES] Error 1
  make[4]: Leaving directory `/home/lambda/deb/netatalk/libatalk'
  make[3]: *** [install-am] Error 2
  make[3]: Leaving directory `/home/lambda/deb/netatalk/libatalk'
  make[2]: *** [install-recursive] Error 1
  make[2]: Leaving directory `/home/lambda/deb/netatalk/libatalk'
  make[1]: *** [install-recursive] Error 1
  make[1]: Leaving directory `/home/lambda/deb/netatalk'
  make: *** [debian/stamp-makefile-install] Error 2

If I use $(CURDIR)/debian/$(cdbs_curpkg), I then get another error:

  touch debian/stamp-makefile-install
  Adding cdbs dependencies to debian/netatalk.substvars
  dh_installdirs -pnetatalk
  mv /home/lambda/deb/netatalk/debian/netatalk/etc/init.d/netatalk
debian/netatalk.init
  mv: cannot stat
‘/home/lambda/deb/netatalk/debian/netatalk/etc/init.d/netatalk’: No
such file or directory
  make: *** [install/netatalk] Error 1
  dpkg-buildpackage: error: fakeroot debian/rules binary gave error
exit status 2
  debuild: fatal error at line 1364:
  dpkg-buildpackage -rfakeroot -D -us -uc -i -I failed
  gbp:error: Couldn't run 'debuild -i -I -us -uc': debuild -i -I returned 29

It looks like this is because it installed most of the files into
debian/stamp-makefile-install instead of debian/netatalk. I think I'll
just push the version with the package name hardcoded, since it works,
and if we can figure out why $(cdbs_curpkg) is failing we can change
back to that.

Here is the resulting directory structure:

lambda at gherkin:netatalk (master)$ tree -L 3
debian/{netatalk,stamp-makefile-install}
debian/netatalk
├── etc
│   ├── default
│   └── logcheck
│       ├── ignore.d.server
│       ├── ignore.d.workstation
│       └── violations.ignore.d
└── var
    └── spool
        └── netatalk
debian/stamp-makefile-install
├── etc
│   ├── default
│   │   └── netatalk
│   ├── init.d
│   │   └── netatalk
│   ├── netatalk
│   │   ├── afpd.conf
│   │   ├── afp_ldap.conf
│   │   ├── AppleVolumes.default
│   │   ├── AppleVolumes.system
│   │   ├── atalkd.conf
│   │   └── papd.conf
│   └── pam.d
│       └── netatalk
├── usr
│   ├── bin
│   │   ├── ad
│   │   ├── add_netatalk_printer
│   │   ├── adv1tov2
│   │   ├── aecho
│   │   ├── afpldaptest
│   │   ├── apple_dump
│   │   ├── asip-status.pl
│   │   ├── binheader -> megatron
│   │   ├── cnid2_create
│   │   ├── dbd
│   │   ├── getzones
│   │   ├── hqx2bin -> megatron
│   │   ├── lp2pap.sh
│   │   ├── macbinary -> megatron
│   │   ├── macusers
│   │   ├── megatron
│   │   ├── nadheader -> megatron
│   │   ├── nbplkup
│   │   ├── nbprgstr
│   │   ├── nbpunrgstr
│   │   ├── netatalk-config
│   │   ├── pap
│   │   ├── papstatus
│   │   ├── psorder
│   │   ├── showppd
│   │   ├── single2bin -> megatron
│   │   ├── unbin -> megatron
│   │   ├── unhex -> megatron
│   │   ├── uniconv
│   │   └── unsingle -> megatron
│   ├── include
│   │   ├── atalk
│   │   └── netatalk
│   ├── lib
│   │   ├── libatalk.a
│   │   ├── libatalk.la
│   │   └── netatalk
│   ├── sbin
│   │   ├── afpd
│   │   ├── atalkd
│   │   ├── cnid_dbd
│   │   ├── cnid_metad
│   │   ├── papd
│   │   └── timelord
│   └── share
│       ├── aclocal
│       ├── man
│       └── netatalk
└── var
    └── spool
        └── netatalk

29 directories, 47 files

And here's where this appears to be happening in the build:

touch debian/stamp-makefile-build
DEB_MAKE_CHECK_TARGET unset, not running checks
 fakeroot debian/rules binary
test -x debian/rules
dh_testroot
dh_prep
dh_installdirs -A
mkdir -p "."
/usr/share/cdbs/1/rules/buildcore.mk:109: WARNING:  CDBS_DEPENDS is a
deprecated variable
/usr/share/cdbs/1/rules/buildcore.mk:109: WARNING:  CDBS_RECOMMENDS is
a deprecated variable
/usr/share/cdbs/1/rules/buildcore.mk:109: WARNING:  CDBS_SUGGESTS is a
deprecated variable
/usr/share/cdbs/1/rules/buildcore.mk:109: WARNING:  DEB_DH_STRIP_ARGS
is a deprecated variable
/usr/share/cdbs/1/rules/buildcore.mk:109: WARNING:
DEB_UPDATE_RCD_PARAMS is a deprecated variable
if test -e /usr/share/misc/config.guess ; then \
        for i in ./config.guess ; do \
            if ! test -e $i.cdbs-orig ; then \
                mv $i $i.cdbs-orig ; \
                cp --remove-destination /usr/share/misc/config.guess $i ; \
            fi ; \
        done ; \
    fi
if test -e /usr/share/misc/config.sub ; then \
        for i in ./config.sub ; do \
            if ! test -e $i.cdbs-orig ; then \
                mv $i $i.cdbs-orig ; \
                cp --remove-destination /usr/share/misc/config.sub $i ; \
            fi ; \
        done ; \
    fi
DEB_MAKE_CHECK_TARGET unset, not running checks
/usr/bin/make  -C .  install
DESTDIR=/home/lambda/deb/netatalk/debian/stamp-makefile-install
make[1]: Entering directory `/home/lambda/deb/netatalk'
Making install in libatalk
make[2]: Entering directory `/home/lambda/deb/netatalk/libatalk'
Making install in acl
make[3]: Entering directory `/home/lambda/deb/netatalk/libatalk/acl'
make[4]: Entering directory `/home/lambda/deb/netatalk/libatalk/acl'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.

... snip lots of "Nothing to be done" directories ...

make[3]: Entering directory `/home/lambda/deb/netatalk/libatalk'
make[4]: Entering directory `/home/lambda/deb/netatalk/libatalk'
 /bin/mkdir -p '/home/lambda/deb/netatalk/debian/stamp-makefile-install/usr/lib'
 /bin/bash ../libtool   --mode=install /usr/bin/install -c
libatalk.la '/home/lambda/deb/netatalk/debian/stamp-makefile-install/usr/lib'
libtool: install: /usr/bin/install -c .libs/libatalk.lai
/home/lambda/deb/netatalk/debian/stamp-makefile-install/usr/lib/libatalk.la
libtool: install: /usr/bin/install -c .libs/libatalk.a
/home/lambda/deb/netatalk/debian/stamp-makefile-install/usr/lib/libatalk.a
libtool: install: chmod 644
/home/lambda/deb/netatalk/debian/stamp-makefile-install/usr/lib/libatalk.a
libtool: install: ranlib
/home/lambda/deb/netatalk/debian/stamp-makefile-install/usr/lib/libatalk.a
libtool: install: warning: remember to run `libtool --finish /usr/lib'

-- Brian



More information about the Pkg-netatalk-devel mailing list