:: Re: [Dng] Anyone run abi-dumper on …
Página Principal
Delete this message
Reply to this message
Autor: Roger Leigh
Data:  
Para: Matteo Panella
CC: dng
Assunto: Re: [Dng] Anyone run abi-dumper on Debian libudev?
On Sun, Nov 30, 2014 at 10:03:13PM +0100, Matteo Panella wrote:
> On 30/11/2014 08:03, Isaac Dunham wrote:
> > I've been poking at eudev/reading the documentation/...; it's supposed to
> > offer ABI compatability with systemd libudev until that becomes too
> > difficult, but I don't have an ABI dump from the latter.
> > Does anyone else have that?
>
> Here they are: <https://gist.github.com/rfc1459/de992a70fe9608e48389>
>
> It was harder than I imagined due to debhelper being overzealous in
> stripping away DWARF sections and systemd disregarding altogether the
> nodoc build profile (thus wasting my time while building useless
> manpages and html docs...).
>
> The correct command turned out to be:
> env DEB_BUILD_PROFILES="stage1 nodoc" DEB_BUILD_OPTIONS="noopt nostrip"
> fakeroot debian/rules build


Isn't the stripped one that would generally be used though when it comes
to the ABI? Unless I'm missing the intent here?

In the general case, if it's not directly buildable with
"dpkg-buildpackage", then there's a bug in the package build. You
probably want to either hardcode noopt+nostrip in debian/rules itself,
or find and fix what's making it strip things; maybe add extra dh_strip
options in debian/rules. Unless this is just a one-off test, in which
case please disregard!

> (on a single line... damn Thunderbird)
>
> A word of caution: the build was performed without optimization,
> otherwise the DWARF info needed for abi-dumper would have been stripped
> away.
>
> Next steps:
> a) automate this mess (the "lab environment" is already built using
> Docker, so this should be fairly easy)


Unless your requirements are highly specialised, Debian already has tools
for the automation of package building; docker is probably not the
optimal choice here. There is

1) pbuilder (user-friendly)
2) sbuild/schroot (chroot debootstrap with sbuild-createchroot required)

The latter is what is run on the debian build daemons, and is what will
provide the exact behaviour for build-depends/build-conflicts resolution.
Unless there's a good reason to avoid it, this is the tool which is
designed to do parallelised, automated package builds with logging in
clean snapshotted build environments.

I'm the primary maintainer of the latter tools, and I'm more than happy
to assist in their configuration and use, etc. You could replace the

"fakeroot debian/rules build" with
"sbuild -s -A -d unstable ."
and it'll package up and autobuild the working directory in a clean
unstable environment with all its build deps.


Apologies if all the above is already common knowledge; I just thought
it might be useful to mention there existence if it wasn't.


Kind regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux    http://people.debian.org/~rleigh/
 `. `'   schroot and sbuild  http://alioth.debian.org/projects/buildd-tools
   `-    GPG Public Key      F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800