Launchpad buildds and capabilities

2014-03-08 Thread Dmitry Shachnev
Hi all,

I am maintaining python-secretstorage package, and I would like to run
gnome-keyring-daemon as part of the build process, to run the testsuite.
However, I noticed that gnome-keyring-daemon fails to start in Launchpad
buildd environment:

gnome-keyring-daemon: error getting process capabilities, aborting

This error message means that capng_have_capabilities() returns CAPNG_FAIL,
which it turn likely means that the kernel has capabilities support disabled
or broken.

Is there any known workaround for that? Or, maybe, this can be fixed on
Launchpad side?

Note: I tried with PPA builders (elnath, marid and peryton to be specific),
but I assume the archive builders behavior will be the same.

--
Dmitry Shachnev

signature.asc
Description: OpenPGP digital signature
-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel


Re: Launchpad buildds and capabilities

2014-03-08 Thread Rodney Dawes
Building under sbuild should give you the same errors.

You probably shouldn't run gnome-keyring-daemon as part of the test
suite, but instead use the mock module's API to mock out any
interaction with the daemon itself, in the tests. Or python-dbusmock to
do more specific mocking of DBus interactions.


On Sat, 2014-03-08 at 19:09 +0400, Dmitry Shachnev wrote:
 Hi all,
 
 I am maintaining python-secretstorage package, and I would like to run
 gnome-keyring-daemon as part of the build process, to run the testsuite.
 However, I noticed that gnome-keyring-daemon fails to start in Launchpad
 buildd environment:
 
 gnome-keyring-daemon: error getting process capabilities, aborting
 
 This error message means that capng_have_capabilities() returns CAPNG_FAIL,
 which it turn likely means that the kernel has capabilities support disabled
 or broken.
 
 Is there any known workaround for that? Or, maybe, this can be fixed on
 Launchpad side?
 
 Note: I tried with PPA builders (elnath, marid and peryton to be specific),
 but I assume the archive builders behavior will be the same.
 
 --
 Dmitry Shachnev



-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel


Re: Launchpad buildds and capabilities

2014-03-08 Thread Dimitri John Ledkov
On 8 March 2014 15:09, Dmitry Shachnev mity...@ubuntu.com wrote:
 Hi all,

 I am maintaining python-secretstorage package, and I would like to run
 gnome-keyring-daemon as part of the build process, to run the testsuite.
 However, I noticed that gnome-keyring-daemon fails to start in Launchpad
 buildd environment:

 gnome-keyring-daemon: error getting process capabilities, aborting

 This error message means that capng_have_capabilities() returns CAPNG_FAIL,
 which it turn likely means that the kernel has capabilities support disabled
 or broken.

 Is there any known workaround for that? Or, maybe, this can be fixed on
 Launchpad side?

 Note: I tried with PPA builders (elnath, marid and peryton to be specific),
 but I assume the archive builders behavior will be the same.


You should convert the test to be an auto-package-test / dep8 test instead.
This way it will not only run during build-time, but whenever any
dependencies are updated.
With dep8, it should be testing the system / as installed debs,binaries.

-- 
Regards,

Dimitri.

-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel


Re: Launchpad buildds and capabilities

2014-03-08 Thread Dmitry Shachnev
On Sat, 8 Mar 2014 16:26:44 +, Dimitri John Ledkov wrote:
 You should convert the test to be an auto-package-test / dep8 test instead.
 This way it will not only run during build-time, but whenever any
 dependencies are updated.
 With dep8, it should be testing the system / as installed debs,binaries.

Done, and it even works (except some random failure on ppc64el):
https://jenkins.qa.ubuntu.com/view/Trusty/view/AutoPkgTest/job/trusty-adt-python-secretstorage/

I will consider the issue resolved now, though if someone comes up with a
solution for running it during build, I will add build-time tests as well.

Thanks,

--
Dmitry Shachnev

signature.asc
Description: OpenPGP digital signature
-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel


Re: Launchpad buildds and capabilities

2014-03-08 Thread Steve Langasek
On Sat, Mar 08, 2014 at 07:09:39PM +0400, Dmitry Shachnev wrote:
 I am maintaining python-secretstorage package, and I would like to run
 gnome-keyring-daemon as part of the build process, to run the testsuite.
 However, I noticed that gnome-keyring-daemon fails to start in Launchpad
 buildd environment:

 gnome-keyring-daemon: error getting process capabilities, aborting

 This error message means that capng_have_capabilities() returns CAPNG_FAIL,
 which it turn likely means that the kernel has capabilities support disabled
 or broken.

 Is there any known workaround for that? Or, maybe, this can be fixed on
 Launchpad side?

 Note: I tried with PPA builders (elnath, marid and peryton to be specific),
 but I assume the archive builders behavior will be the same.

While Dimitri's recommendation to use DEP8 testing is a useful one, I think
this is probably a problem specific to the PPAs, which are still running an
older host kernel (despite obviously running current trusty userspace in the
build chroot).  I suspect an incompatibility in libcap-ng, hinted at by this
note in the capget(2) manpage:

 Kernels  prior  to  2.6.25  prefer  32-bit  capabilities  with  version
 _LINUX_CAPABILITY_VERSION_1, and kernels 2.6.25+ prefer 64-bit capabil‐
 ities with version _LINUX_CAPABILITY_VERSION_2.  Note, 64-bit capabili‐
 ties  use  datap[0]  and datap[1], whereas 32-bit capabilities use only
 datap[0].

As the ppa host kernel is still  2.6.25, I suspect you're seeing a problem
there that will *not* manifest on the distro builders (and which would stop
being an issue on the PPAs once we're able to upgrade their kernels).

You could help isolate whether this is a recent kernel/userspace
compatibility regression by trying to build in your ppa for releases prior
to saucy, which would have a different version of libcap-ng.  The libcap-ng
code appears to *intend* to remain compatible with earlier kernels, so
upstream might welcome a report of the problem so they can either fix the
incompatibility, or stop trying to be compatible and drop the broken code.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


signature.asc
Description: Digital signature
-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel