Re: [systemd-devel] Broken build and CI strategy

2013-07-08 Thread Holger Hans Peter Freyther
On Fri, Jun 28, 2013 at 10:06:11AM +0200, Holger Hans Peter Freyther wrote:
 On Fri, Jun 28, 2013 at 09:43:08AM +0200, Peter Sztanojev wrote:
 
  So this issue is about tweaking how jenkins does its job?
  I have added David Strauss to the CC, hopefully he won't mind.
 
 Well, that is one part. make test really just checks if the test/
 directory exists, it doesn't really contribute to the quality control.

ping? I just checked the current build log and it is still issuing a
make test (which still tests if the test directory exists). I think
executing make check and make distcheck would be more approriate.

cheers
holger
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-07-02 Thread William Giokas
On Fri, Jun 28, 2013 at 09:18:24AM +0200, Holger Hans Peter Freyther wrote:
 On Fri, Jun 28, 2013 at 09:05:40AM +0200, Peter Sztanojev wrote:
  there already is a jenkins ci for systemd kindly provided by Pantheon:
  http://systemd.getpantheon.com:8080/jenkins/
 
 The jenkins script is still using make test (which is like calling
 make /tmp), to execute the tests one would need to call make check
 but we already had this and it wasn't changed...

Okay, there needs to be something done about this ASAP. I have now twice
gone to build a package, then run 'make check', and it has failed for
simple reasons like translations missing or not being in the right
places. These should be caught by jenkins and reported to the IRC
channel. I realize that some files have been added recently, but they
need to be fully added, not just thrown into the pot (pun not intended).

Thanks,

-- 
William Giokas | KaiSforza | http://kaictl.net/
GnuPG Key: 0x73CD09CF
Fingerprint: F73F 50EF BBE2 9846 8306  E6B8 6902 06D8 73CD 09CF


pgpP6CNqB8Xht.pgp
Description: PGP signature
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-29 Thread Cristian Rodríguez

El 28/06/13 09:14, Lennart Poettering escribió:


We use the normal Fedora linker, which I think is normal ld, not
gold.


I use gold to build systemd all the time, it works just fine.


___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] Broken build and CI strategy

2013-06-28 Thread Holger Hans Peter Freyther
Dear Lennart,

the systemd build is currently broken[1] and judging from the commit
history it appears that this happened more than once. Besides fixing
the build you might want to consider adopting another strategy.

In mature software projects the following is quite common:

a.) Create a .travis.yml, sync your repo to github[2] and have
travis-ci build your code. My .travis.yml file for systemd is
here[3]. Travis can send email to the repo owners/travis owners
on failed builds.

b.) Use a combination of gerrit/jenkins. E.g. if you don't want
to have broken builds in master. One would push changes for review to
Gerrit, these would be automatically build on a Jenkins system
and if they compile they can be integrated into the main repository.
The workflow is used in projects like coreboot.


cheers
holger


[1] https://travis-ci.org/zecke/systemde/builds/8530934
[2] github can create official mirrors of repositories but they only
sync a couple of times/once a day.
[3] https://github.com/zecke/systemde/blob/master/.travis.yml
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Peter Sztanojev
On Fri, Jun 28, 2013 at 8:50 AM, Holger Hans Peter Freyther
hol...@freyther.de wrote:
 Dear Lennart,

 the systemd build is currently broken[1] and judging from the commit
 history it appears that this happened more than once. Besides fixing
 the build you might want to consider adopting another strategy.

 In mature software projects the following is quite common:

 a.) Create a .travis.yml, sync your repo to github[2] and have
 travis-ci build your code. My .travis.yml file for systemd is
 here[3]. Travis can send email to the repo owners/travis owners
 on failed builds.

 b.) Use a combination of gerrit/jenkins. E.g. if you don't want
 to have broken builds in master. One would push changes for review to
 Gerrit, these would be automatically build on a Jenkins system
 and if they compile they can be integrated into the main repository.
 The workflow is used in projects like coreboot.


there already is a jenkins ci for systemd kindly provided by Pantheon:
http://systemd.getpantheon.com:8080/jenkins/
The output of which can be seen on IRC.
The problems always seem to come from non-standard/broken setups


 cheers
 holger


 [1] https://travis-ci.org/zecke/systemde/builds/8530934
 [2] github can create official mirrors of repositories but they only
 sync a couple of times/once a day.
 [3] https://github.com/zecke/systemde/blob/master/.travis.yml
 ___
 systemd-devel mailing list
 systemd-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/systemd-devel
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Holger Hans Peter Freyther
On Fri, Jun 28, 2013 at 09:05:40AM +0200, Peter Sztanojev wrote:
 On Fri, Jun 28, 2013 at 8:50 AM, Holger Hans Peter Freyther

 there already is a jenkins ci for systemd kindly provided by Pantheon:
 http://systemd.getpantheon.com:8080/jenkins/

The jenkins script is still using make test (which is like calling
make /tmp), to execute the tests one would need to call make check
but we already had this and it wasn't changed...

 The output of which can be seen on IRC.
 The problems always seem to come from non-standard/broken setups

Could you please elaborate on standard vs. non-standard/broken setups.
travis is building on a clean VM and installing most of the packages
specified in the README file.

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Peter Sztanojev
On Fri, Jun 28, 2013 at 9:18 AM, Holger Hans Peter Freyther
hol...@freyther.de wrote:
 On Fri, Jun 28, 2013 at 09:05:40AM +0200, Peter Sztanojev wrote:
 On Fri, Jun 28, 2013 at 8:50 AM, Holger Hans Peter Freyther

 there already is a jenkins ci for systemd kindly provided by Pantheon:
 http://systemd.getpantheon.com:8080/jenkins/

 The jenkins script is still using make test (which is like calling
 make /tmp), to execute the tests one would need to call make check
 but we already had this and it wasn't changed...


So this issue is about tweaking how jenkins does its job?
I have added David Strauss to the CC, hopefully he won't mind.

 The output of which can be seen on IRC.
 The problems always seem to come from non-standard/broken setups

 Could you please elaborate on standard vs. non-standard/broken setups.
 travis is building on a clean VM and installing most of the packages
 specified in the README file.

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Holger Hans Peter Freyther
On Fri, Jun 28, 2013 at 09:43:08AM +0200, Peter Sztanojev wrote:

 So this issue is about tweaking how jenkins does its job?
 I have added David Strauss to the CC, hopefully he won't mind.

Well, that is one part. make test really just checks if the test/
directory exists, it doesn't really contribute to the quality control.

The other thing with make check is that it is failing if the build
system doesn't run systemd[1] or fails if the installed version is not
new enough (debian still ships systemd 44 that doesn't have catalogs
so the catalog test fails).


  The output of which can be seen on IRC.
  The problems always seem to come from non-standard/broken setups
 
  Could you please elaborate on standard vs. non-standard/broken setups.
  travis is building on a clean VM and installing most of the packages
  specified in the README file.

systemd currently does not link on default Debian/Ubuntu systems.
Could you please elaborate how this is a non-standard/broken setup?

I can make it link by installing binutils-gold, if systemd now
requires gold, could you please update the configure.ac and README
to reflect this?

holger


[1] https://travis-ci.org/zecke/systemde/builds/8531920
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Lennart Poettering
On Fri, 28.06.13 08:50, Holger Hans Peter Freyther (hol...@freyther.de) wrote:

Heya,

 Dear Lennart,
 
 the systemd build is currently broken[1] and judging from the commit

So, it builds fine (make check) on Fedora 18/19, which is what I check
against. It also builds fine on Pantheon's Jenkins instance. If it
breaks on Ubuntu, then I am sorry for that, but this is a bit out of my
reach. Ubuntu is not what we test against (Ubuntu doesn't even use
systemd).

I'd be happy to get this fixed, but it's really not that our boundless
unprofessionalism caused this. This kind of issue will always happen,
since we cannot afford a test system that builds systemd for all
distributions of this world. (And Ubuntu *is* kind of an exotic choice
for systemd development.)

 history it appears that this happened more than once. Besides fixing
 the build you might want to consider adopting another strategy.

Well, mistakes do happen. There's no checking possible that would be
truly comprehensive and cover all corner cases. In fact, that's the
whole reason why technologies such as CI exist at all in the first
place.

 In mature software projects the following is quite common:
 
 a.) Create a .travis.yml, sync your repo to github[2] and have
 travis-ci build your code. My .travis.yml file for systemd is
 here[3]. Travis can send email to the repo owners/travis owners
 on failed builds.

This certainly sounds like a good idea to do. I presume travis uses
Debian or Ubuntu for its builders? That would certainly complement the
Fedora-based Pantheon Jenkins instance nicely.

Is there some IRC bot for travis?

 b.) Use a combination of gerrit/jenkins. E.g. if you don't want
 to have broken builds in master. One would push changes for review to
 Gerrit, these would be automatically build on a Jenkins system
 and if they compile they can be integrated into the main repository.
 The workflow is used in projects like coreboot.

I certainly prefer post-build CIs servers. I think it's OK if things do
break every other month or so, as long as they are fixed quickly.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Lennart Poettering
On Fri, 28.06.13 10:06, Holger Hans Peter Freyther (hol...@freyther.de) wrote:

 Well, that is one part. make test really just checks if the test/
 directory exists, it doesn't really contribute to the quality control.
 
 The other thing with make check is that it is failing if the build
 system doesn't run systemd[1] or fails if the installed version is not
 new enough (debian still ships systemd 44 that doesn't have catalogs
 so the catalog test fails).

Happy to see this fixed. THis is not the usual setup we build things
on. We are all Fedora-based.

   The problems always seem to come from non-standard/broken setups
  
   Could you please elaborate on standard vs. non-standard/broken setups.
   travis is building on a clean VM and installing most of the packages
   specified in the README file.
 
 systemd currently does not link on default Debian/Ubuntu systems.
 Could you please elaborate how this is a non-standard/broken setup?

Well, the systemd core developers are all on Fedora, and Ubuntu doesn't
even use systemd, so it's a bit of an exotic choice. I mean, I am not
saying that it is an excuse for elaving this broken, I am just trying to
point out why we didn't notice this.

 I can make it link by installing binutils-gold, if systemd now
 requires gold, could you please update the configure.ac and README
 to reflect this?

We use the normal Fedora linker, which I think is normal ld, not
gold. We should certainly be able to make this work for any
linker. Patch appreciated, as we do not run these systems ourselves.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Michael Biebl
2013/6/28 Lennart Poettering lenn...@poettering.net:
 On Fri, 28.06.13 10:06, Holger Hans Peter Freyther (hol...@freyther.de) wrote:

 Well, that is one part. make test really just checks if the test/
 directory exists, it doesn't really contribute to the quality control.

 The other thing with make check is that it is failing if the build
 system doesn't run systemd[1]

Being able to run the systemd test suite without having systemd as pid
1 would certainly be nice, as we could then activate the test suite as
part of our (Debian) build process and it would be run on all the
different architectures.

Cheers,
Michael
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Michael Biebl
2013/6/28 Holger Hans Peter Freyther hol...@freyther.de:
 systemd currently does not link on default Debian/Ubuntu systems.

v44, v204 and git master all build and link fine on my pretty standard
Debian sid system, so I can't reproduce the problem, at least not on
Debian.

Cheers,
Michael
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Holger Hans Peter Freyther
On Fri, Jun 28, 2013 at 03:44:35PM +0200, Michael Biebl wrote:

 v44, v204 and git master all build and link fine on my pretty standard
 Debian sid system, so I can't reproduce the problem, at least not on
 Debian.

Which linker and which system do you run it on? A clean build on my
Debian Testing (i386) and Ubuntu 12.04 (travis, amd64) with GNU ld.bfd
are both failing. GNU gold can link it on boths targets.

I will not spend time to analyze it...

cheers
holger

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Michael Biebl
2013/6/28 Holger Hans Peter Freyther hol...@freyther.de:
 On Fri, Jun 28, 2013 at 03:44:35PM +0200, Michael Biebl wrote:

 v44, v204 and git master all build and link fine on my pretty standard
 Debian sid system, so I can't reproduce the problem, at least not on
 Debian.

 Which linker and which system do you run it on? A clean build on my
 Debian Testing (i386) and Ubuntu 12.04 (travis, amd64) with GNU ld.bfd
 are both failing. GNU gold can link it on boths targets.

As I wrote, standard and up-to-date Debian sid, so the software which
comes with it:

[michael@pluto ~]$ ll /usr/bin/ld
lrwxrwxrwx 1 root root 6 Jun 20 12:51 /usr/bin/ld - ld.bfd
[michael@pluto ~]$ apt-cache policy binutils
binutils:
  Installiert:   2.23.52.20130620-1
  Installationskandidat: 2.23.52.20130620-1
  Versionstabelle:
 *** 2.23.52.20130620-1 0
500 http://ftp.de.debian.org/debian/ sid/main amd64 Packages
100 /var/lib/dpkg/status



--
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Holger Hans Peter Freyther
On Fri, Jun 28, 2013 at 04:01:08PM +0200, Lennart Poettering wrote:
 
 Maybe this is simply broken automake dependency info somewhere left in
 your tree?

I did the git clean but I still wondered, this is why I created the
.travis.yml. Before I was building a branch that contained some of
my RFC patches, now it is master + the .travis.yml and it is failing
in the same way[1].

cheers
holger

PS: Yes, travis does support IRC notifications[2]

[1] https://travis-ci.org/zecke/systemde/builds/8542339
[2] http://about.travis-ci.org/docs/user/notifications/#IRC-notification
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Michael Biebl
2013/6/28 Michael Biebl mbi...@gmail.com:
 2013/6/28 Holger Hans Peter Freyther hol...@freyther.de:
 On Fri, Jun 28, 2013 at 04:01:08PM +0200, Lennart Poettering wrote:

 Maybe this is simply broken automake dependency info somewhere left in
 your tree?

 I did the git clean but I still wondered, this is why I created the
 .travis.yml. Before I was building a branch that contained some of
 my RFC patches, now it is master + the .travis.yml and it is failing
 in the same way[1].

 cheers
 holger

 PS: Yes, travis does support IRC notifications[2]

 [1] https://travis-ci.org/zecke/systemde/builds/8542339
 [2] http://about.travis-ci.org/docs/user/notifications/#IRC-notification

 The build log was useful, thanks

 Since I was able to reproduce the build failure in a wheezy chroot
 (but interestingly not sid), I ran a git bisect in said wheezy chroot.
 The build failure seems to be caused by

 4ad490007b70e6ac18d3cb04fa2ed92eba1451fa is the first bad commit
 commit 4ad490007b70e6ac18d3cb04fa2ed92eba1451fa
 Author: Lennart Poettering lenn...@poettering.net
 Date:   Thu Jun 27 04:14:27 2013 +0200

 core: general cgroup rework

That said, I don't understand, why this commit breaks the build with
that (older) toolchain.
Neither bootctl nor libsystemd-id128.so is using cg_create().

Michael

--
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Broken build and CI strategy

2013-06-28 Thread Holger Hans Peter Freyther
On Fri, Jun 28, 2013 at 07:05:35PM +0200, Michael Biebl wrote:

 That said, I don't understand, why this commit breaks the build with
 that (older) toolchain.
 Neither bootctl nor libsystemd-id128.so is using cg_create().

at the same time it has an undefined reference...

$ nm -D .libs/libsystemd-id128.so | grep cg_create
 U cg_create

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel