Re: [systemd-devel] Broken build and CI strategy
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
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
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
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
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
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
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
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
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
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/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/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
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/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
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/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
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