Skip to content

Conversation

keszybz
Copy link
Member

@keszybz keszybz commented Jul 3, 2017

[NOT BEFORE v234 IS RELEASED]

I think the meson build system works quite nicely, and keeping two build systems is a burden. Let's drop autotools support some time after the v234 release.

Further cleanups are possible, for example to sanitize some #define names, and to switch to -Werror=undef (c.f. systemd/casync@d40be70), but that can be done later.

@poettering
Copy link
Member

can't wait for this!

@ronnychevalier
Copy link
Member

You also need to use $BUILD_DIR in run_nspawn instead of ../../. Otherwise, it will not find systemd-nspawn unless $BUILD_DIR == ../../.

@keszybz
Copy link
Member Author

keszybz commented Jul 6, 2017

Yup. Updated.

@keszybz
Copy link
Member Author

keszybz commented Jul 12, 2017

I'll rebase this ~1 week after v234 and any post-release fixes have gone in.

@ronnychevalier
Copy link
Member

HACKING is still mentioning autogen.sh and make. It should be updated.

@keszybz
Copy link
Member Author

keszybz commented Jul 13, 2017

Updated:

  • rebase
  • HACKING is fixed

README Outdated
xsltproc (optional, required for documentation)
python-lxml (optional, required to build the indices)
python, meson, ninja
gcc, awk, sed, and similar tools
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should m4 be added here?
With autotools this was sort of implied, but with meson it's probably less common to require m4.

@mbiebl
Copy link
Contributor

mbiebl commented Jul 13, 2017

Should we add wrappers for ./configure && make to support https://github.com/cgwalters/build-api ?

@mbiebl
Copy link
Contributor

mbiebl commented Jul 13, 2017

@keszybz
Copy link
Member Author

keszybz commented Jul 14, 2017

Updated:

  • m4, grep are mentioned
  • build-api

@poettering
Copy link
Member

hmm, needs rebase, but I am all for this to go in now

@keszybz
Copy link
Member Author

keszybz commented Jul 15, 2017

× default — systemd-centos-ci/slave/bootstrap.sh: line 42: ./autogen.sh: No such file or directory
CI will need to be adjusted.

@keszybz
Copy link
Member Author

keszybz commented Jul 15, 2017

(BTW., updated.)

@keszybz
Copy link
Member Author

keszybz commented Jul 17, 2017

Rebased.

@poettering
Copy link
Member

Sooo, should we merge this now? looks all good to me. I figure the semaphore CI will explode immediately though, as it uses make to build... Maybe we should switch all CIs over first?

@keszybz
Copy link
Member Author

keszybz commented Jul 18, 2017

I added [ -x autogen.sh ] || exit to semaphoreci config. @martinpitt updated the ubuntu Ci a while back. Only centos remains, but I think @zonque will have to look into that. I'll rebase again, and I think we're good to go.

keszybz added 9 commits July 18, 2017 10:04
v2:
- also mention m4
Star imports are discouraged and break pyflakes.

I'm happy to report that pyflakes finds no issues ;)
... and other autotools-generated files.
Automatic rebuilding is removed: it doesn't play well with ninja, because
ninja always writes logs, and even if nothing needs to be built, it will
make the log file owned by root. So let's just remove this, and say that
the user must always do the build first.

I'm also keeping make for the tests, because ninja doesn't play well with
sudo.

Since the build directory is arbitrary, it needs to be specified, e.g.
  sudo make BUILD_DIR=/home/zbyszek/src/systemd/build1 -C test/TEST-01-BASIC/
This will work if $(TOP_SRC_DIR) has exactly one subdirectory with
.ninja_deps. Otherwise, BUILD_DIR has to be specified.
This adds the basic make support required by
https://github.com/cgwalters/build-api. CFLAGS, CXXFLAGS, DESTDIR variables are
supported:
   ./configure CFLAGS=... CXXFLAGS=... && make && make install DESTDIR=
This makes it more like other configure defines.

Also, it fixes meson status output which was looking for HAVE_ and ENABLE_
prefixes only (the define under meson was OK, just the summary message was
wrong.)
@keszybz
Copy link
Member Author

keszybz commented Jul 18, 2017

It seems my hack to disable autoconf build results in a hang. I just deleted that "thread" instead.

@poettering
Copy link
Member

OK, then let's get this in now!

@poettering poettering merged commit f7a2b42 into systemd:master Jul 20, 2017
@keszybz keszybz deleted the drop-autotools branch July 20, 2017 18:05
@evverx
Copy link
Contributor

evverx commented Aug 6, 2017

Does anybody know what happened to the CentOS CI?

@keszybz
Copy link
Member Author

keszybz commented Aug 6, 2017

It was disabled by @zonque. It needed work, and nobody had spare time for that.

@evverx
Copy link
Contributor

evverx commented Aug 6, 2017

I hope this systemd/systemd-centos-ci#15 helps a bit.

@evverx
Copy link
Contributor

evverx commented Aug 7, 2017

systemd/systemd-centos-ci#15 has just been merged. It seems that the CentOS CI can be reenabled.

@martinpitt
Copy link
Contributor

Will that just work? Last time I spoke to @zonque changes needed to be deployed by someone on the Red Hat side? But let's try, I re-enabled that test in GitHub.

@evverx
Copy link
Contributor

evverx commented Aug 7, 2017

In https://ci.centos.org/job/systemd-pr-build/3665/console I see the following:

>>> Executing remote command: 'systemd-centos-ci/slave/testsuite.sh' on n24.crusty.ci.centos.org
<<< Remote command finished after 0.1 seconds, return code = 255

It would be helpful to obtain the logs. But I'm not sure how to do that.

@evverx
Copy link
Contributor

evverx commented Aug 7, 2017

To sum up, the CentOS CI has been failing again since it was reenabled, so it was disabled again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

6 participants