Merge pull request #6266 from keszybz/drop-autotools

Drop support for autotools / automake / make
This commit is contained in:
Lennart Poettering
2017-07-20 19:56:07 +02:00
committed by GitHub
191 changed files with 100 additions and 13093 deletions

298
.gitignore vendored
View File

@@ -1,8 +1,6 @@
*.a
*.cache
*.gch
*.la
*.lo
*.log
*.o
*.plist
@@ -13,318 +11,22 @@
*~
.config.args
.deps/
.dirstamp
.libs/
/*.gcda
/*.gcno
/*.tar.bz2
/*.tar.gz
/*.tar.xz
/30-systemd-environment-d-generator
/GPATH
/GRTAGS
/GSYMS
/GTAGS
/Makefile
/TAGS
/ata_id
/bootctl
/build*
/busctl
/cdrom_id
/collect
/coredumpctl
/coverage/
/defined
/exported
/exported-*
/hostnamectl
/image.raw
/image.raw.cache-pre-dev
/image.raw.cache-pre-inst
/install-tree
/journalctl
/libtool
/linuxx64.efi.stub
/localectl
/loginctl
/machinectl
/mkosi.builddir/
/mkosi.cache/
/mtd_probe
/networkctl
/scsi_id
/systemctl
/systemd
/systemd-ac-power
/systemd-analyze
/systemd-ask-password
/systemd-backlight
/systemd-binfmt
/systemd-bootx64.efi
/systemd-cat
/systemd-cgls
/systemd-cgroups-agent
/systemd-cgtop
/systemd-coredump
/systemd-cryptsetup
/systemd-cryptsetup-generator
/systemd-dbus1-generator
/systemd-debug-generator
/systemd-delta
/systemd-detect-virt
/systemd-dissect
/systemd-escape
/systemd-export
/systemd-firstboot
/systemd-fsck
/systemd-fstab-generator
/systemd-getty-generator
/systemd-gpt-auto-generator
/systemd-hibernate-resume
/systemd-hibernate-resume-generator
/systemd-hostnamed
/systemd-hwdb
/systemd-import
/systemd-importd
/systemd-inhibit
/systemd-initctl
/systemd-journal-gatewayd
/systemd-journal-remote
/systemd-journal-upload
/systemd-journald
/systemd-localed
/systemd-logind
/systemd-machine-id-setup
/systemd-machined
/systemd-modules-load
/systemd-mount
/systemd-networkd
/systemd-networkd-wait-online
/systemd-notify
/systemd-nspawn
/systemd-path
/systemd-pull
/systemd-quotacheck
/systemd-random-seed
/systemd-rc-local-generator
/systemd-remount-fs
/systemd-reply-password
/systemd-resolve
/systemd-resolved
/systemd-rfkill
/systemd-run
/systemd-shutdown
/systemd-sleep
/systemd-socket-activate
/systemd-socket-proxyd
/systemd-stdio-bridge
/systemd-sysctl
/systemd-system-update-generator
/systemd-sysusers
/systemd-sysv-generator
/systemd-timedated
/systemd-timesyncd
/systemd-tmpfiles
/systemd-tty-ask-password-agent
/systemd-udevd
/systemd-update-done
/systemd-update-utmp
/systemd-user-sessions
/systemd-vconsole-setup
/systemd-veritysetup
/systemd-veritysetup-generator
/systemd-volatile-root
/tags
/test-acd
/test-acl-util
/test-af-list
/test-alloc-util
/test-architecture
/test-arphrd-list
/test-ask-password-api
/test-async
/test-audit-type
/test-barrier
/test-bitmap
/test-boot-timestamps
/test-btrfs
/test-bus-benchmark
/test-bus-chat
/test-bus-cleanup
/test-bus-creds
/test-bus-error
/test-bus-gvariant
/test-bus-introspect
/test-bus-kernel
/test-bus-kernel-bloom
/test-bus-marshal
/test-bus-match
/test-bus-objects
/test-bus-policy
/test-bus-server
/test-bus-signature
/test-bus-track
/test-bus-vtable
/test-bus-vtable-cc
/test-bus-zero-copy
/test-calendarspec
/test-cap-list
/test-capability
/test-catalog
/test-cgroup
/test-cgroup-mask
/test-cgroup-util
/test-clock
/test-compress
/test-compress-benchmark
/test-condition
/test-conf-files
/test-conf-parser
/test-copy
/test-coredump-vacuum
/test-cpu-set-util
/test-daemon
/test-date
/test-device-nodes
/test-dhcp-client
/test-dhcp-option
/test-dhcp-server
/test-dhcp6-client
/test-dissect-image
/test-dns-domain
/test-dns-packet
/test-dnssec
/test-dnssec-complex
/test-efi-disk.img
/test-ellipsize
/test-engine
/test-env-util
/test-escape
/test-event
/test-exec-util
/test-execute
/test-extract-word
/test-fd-util
/test-fdset
/test-fileio
/test-firewall-util
/test-fs-util
/test-fstab-util
/test-glob-util
/test-hash
/test-hashmap
/test-hexdecoct
/test-hostname
/test-hostname-util
/test-id128
/test-inhibit
/test-install
/test-install-root
/test-io-util
/test-ipcrm
/test-ipv4ll
/test-ipv4ll-manual
/test-job-type
/test-journal
/test-journal-enum
/test-journal-flush
/test-journal-importer
/test-journal-init
/test-journal-interleaving
/test-journal-match
/test-journal-send
/test-journal-stream
/test-journal-syslog
/test-journal-verify
/test-keymap-util
/test-libsystemd-sym*
/test-libudev
/test-libudev-sym*
/test-list
/test-lldp
/test-local-addresses
/test-locale-util
/test-log
/test-login
/test-login-shared
/test-login-tables
/test-loopback
/test-machine-tables
/test-mmap-cache
/test-mount-util
/test-namespace
/test-ndisc-rs
/test-netlink
/test-netlink-manual
/test-network
/test-network-tables
/test-networkd-conf
/test-ns
/test-nss
/test-parse-util
/test-patch-uid
/test-path
/test-path-lookup
/test-path-util
/test-prioq
/test-proc-cmdline
/test-process-util
/test-pty
/test-qcow2
/test-random-util
/test-ratelimit
/test-replace-var
/test-resolve
/test-resolve-tables
/test-resolved-packet
/test-ring
/test-rlimit-util
/test-sched-prio
/test-sd-dhcp-lease
/test-seccomp
/test-selinux
/test-set
/test-sigbus
/test-signal-util
/test-siphash24
/test-sizeof
/test-sleep
/test-socket-util
/test-stat-util
/test-strbuf
/test-string-util
/test-strip-tab-ansi
/test-strv
/test-strxcpyx
/test-tables
/test-terminal-util
/test-time
/test-timesync
/test-tmpfiles
/test-udev
/test-uid-range
/test-unaligned
/test-unit-file
/test-unit-name
/test-user-util
/test-utf8
/test-util
/test-verbs
/test-watchdog
/test-web-util
/test-xattr-util
/test-xml
/timedatectl
/udevadm
/undefined
/v4l_id
Makefile.in
__pycache__/
aclocal.m4
config.h
config.h.in
config.log
config.status
configure
stamp-*

View File

@@ -123,3 +123,4 @@ Federico Di Pierro <nierro92@gmail.com>
Josef Andersson <josef.andersson@fripost.org>
Josef Andersson <l10nl18nsweja@gmail.com>
Hendrik Westerberg <hendrik@gestorf.com>
Stefan Pietsch <mail.ipv4v6@gmail.com>

View File

@@ -1 +0,0 @@
../src/Makefile

View File

@@ -6,22 +6,22 @@ HOWTO:
1) Find the right configure parameters for:
--with-rootprefix=
--with-sysvinit-path=
--with-sysvrcnd-path=
--with-rc-local-script-path-start=
--with-rc-local-script-path-stop=
--with-kbd-loadkeys=
--with-kbd-setfont=
--with-tty-gid=
--with-ntp-servers=
--with-support-url=
-D rootprefix=
-D sysvinit-path=
-D sysvrcnd-path=
-D rc-local=
-D halt-local=
-D loadkeys-path=
-D setfont-path=
-D tty-gid=
-D ntp-servers=
-D support-url=
2) Try it out. Play around (as an ordinary user) with
'/usr/lib/systemd/systemd --test --system' for a test run
of systemd without booting. This will read the unit files and
print the initial transaction it would execute during boot-up.
This will also inform you about ordering loops and suchlike
This will also inform you about ordering loops and suchlike.
NTP POOL:
@@ -46,17 +46,16 @@ PAM:
/etc/security/limits.conf will not be read unless you load pam_limits.
Make sure you add modules your distro expects from user services.
Pass --with-pamconfdir=no to ./configure to avoid installing this file
and instead install your own.
Pass -D pamconfdir=no to meson to avoid installing this file and
instead install your own.
CONTRIBUTING UPSTREAM:
We generally do no longer accept distribution-specific
patches to systemd upstream. If you have to make changes to
systemd's source code to make it work on your distribution,
unless your code is generic enough to be generally useful, we
are unlikely to merge it. Please always consider adopting the
upstream defaults. If that is not possible, please maintain
the relevant patches downstream.
We generally do no longer accept distribution-specific patches to
systemd upstream. If you have to make changes to systemd's source code
to make it work on your distribution, unless your code is generic
enough to be generally useful, we are unlikely to merge it. Please
always consider adopting the upstream defaults. If that is not
possible, please maintain the relevant patches downstream.
Thank you for understanding.

12
HACKING
View File

@@ -56,15 +56,17 @@ for systemd (this example is for Fedora):
$ git clone https://github.com/systemd/systemd.git
$ cd systemd
$ vim src/core/main.c # or wherever you'd like to make your changes
$ ./autogen.sh c # configure the source tree
$ make -j `nproc` # build it locally, see if everything compiles fine
$ make -j `nproc` check # run some simple regression tests
$ meson build # configure the build
$ ninja -C build # build it locally, see if everything compiles fine
$ ninja -C build test # run some simple regression tests
$ sudo mkosi # build a test image
$ sudo systemd-nspawn -bi image.raw # boot up the test image
$ git add -p # interactively put together your patch
$ git commit # commit it
$ ...
$ git push REMOTE HEAD:refs/heads/BRANCH
# where REMOTE is your "fork" on github
# and BRANCH is a branch name.
And after that, please submit your branch as PR to systemd via github.
And after that, head over to your repo on github and click "Compare & pull request"
Happy hacking!

5
Makefile Normal file
View File

@@ -0,0 +1,5 @@
all:
ninja -C build
install:
DESTDIR=$(DESTDIR) ninja -C build

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

37
README
View File

@@ -8,9 +8,6 @@ WEB SITE:
GIT:
git@github.com:systemd/systemd.git
https://github.com/systemd/systemd.git
GITWEB:
https://github.com/systemd/systemd
MAILING LIST:
@@ -145,7 +142,13 @@ REQUIREMENTS:
libpython (optional)
libidn2 or libidn (optional)
elfutils >= 158 (optional)
make, gcc, and similar tools
pkg-config
gperf >= 3.1
docbook-xsl (optional, required for documentation)
xsltproc (optional, required for documentation)
python-lxml (optional, required to build the indices)
python, meson, ninja
gcc, awk, sed, grep, m4, and similar tools
During runtime, you need the following additional
dependencies:
@@ -157,18 +160,6 @@ REQUIREMENTS:
dracut (optional)
PolicyKit (optional)
Two build systems are supported: meson + ninja-build and autools + make.
The following tools are needed with both systems:
pkg-config
gperf >= 3.1
docbook-xsl (optional, required for documentation)
xsltproc (optional, required for documentation)
python-lxml (optional, required to build the indices)
When building with meson, python and ninja-build are required.
To build in directory build/:
meson build/ && ninja -C build
@@ -185,19 +176,7 @@ REQUIREMENTS:
sudo ninja install
DESTDIR=... ninja install
When building with autotools, the following tools are needed:
automake
autoconf
libtool
intltool
python (optional)
The build system is initialized with ./autogen.sh and the usual
./configure && make
should be used.
A tar ball can be created with:
A tarball can be created with:
git archive --format=tar --prefix=systemd-222/ v222 | xz > systemd-222.tar.xz
When systemd-hostnamed is used, it is strongly recommended to

View File

@@ -1,94 +0,0 @@
#!/bin/sh
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# systemd is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
set -e
verb="$1"
case "$verb" in
"") ;;
[cgals]) shift ;;
*) echo "Unexpected argument: $verb" >&2; exit 1 ;;
esac
oldpwd=$(pwd)
topdir=$(dirname $0)
cd $topdir
if [ -f .git/hooks/pre-commit.sample ] && [ ! -f .git/hooks/pre-commit ]; then
# This part is allowed to fail
cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit && \
chmod +x .git/hooks/pre-commit && \
echo "Activated pre-commit hook." || :
fi
intltoolize --force --automake
autoreconf --force --install --symlink
libdir() {
echo $(cd "$1/$(gcc -print-multi-os-directory)"; pwd)
}
args="\
--sysconfdir=/etc \
--localstatedir=/var \
--libdir=$(libdir /usr/lib) \
"
if [ -f "$topdir/.config.args" ]; then
args="$args $(cat $topdir/.config.args)"
fi
if [ ! -L /bin ]; then
args="$args \
--with-rootprefix=/ \
--with-rootlibdir=$(libdir /lib) \
"
fi
args="$args $@"
cd $oldpwd
if [ "$verb" = "c" ]; then
set -x
$topdir/configure CFLAGS='-g -O0 -ftrapv' $args
make clean >/dev/null
elif [ "$verb" = "g" ]; then
set -x
$topdir/configure CFLAGS='-g -Og -ftrapv' $args
make clean >/dev/null
elif [ "$verb" = "a" ]; then
set -x
$topdir/configure CFLAGS='-g -O0 -Wsuggest-attribute=pure -Wsuggest-attribute=const -ftrapv' $args
make clean >/dev/null
elif [ "$verb" = "l" ]; then
set -x
$topdir/configure CC=clang CFLAGS='-g -O0 -ftrapv' $args
make clean >/dev/null
elif [ "$verb" = "s" ]; then
set -x
scan-build $topdir/configure CFLAGS='-std=gnu99 -g -O0 -ftrapv' $args
scan-build make
else
echo
echo "----------------------------------------------------------------"
echo "Initialized build system. For a common configuration please run:"
echo "----------------------------------------------------------------"
echo
echo "$topdir/configure CFLAGS='-g -O0 -ftrapv' $args"
echo
fi

1
catalog/.gitignore vendored
View File

@@ -1 +0,0 @@
*.catalog

View File

@@ -1 +0,0 @@
../src/Makefile

21
configure vendored Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/bash -e
cflags=CFLAGS="$CFLAGS"
cxxflags=CXXFLAGS="$CXXFLAGS"
declare -a args
j=0
for i in "$@"; do
case "$i" in
CFLAGS=*)
cflags="$i";;
CXXFLAGS=*)
cxxflags="$i";;
*)
args[$j]="$i"
j=$((j+1))
esac
done
export "$cflags" "$cxxflags"
set -x
exec meson build "${args[@]}"

File diff suppressed because it is too large Load Diff

1
docs/.gitignore vendored
View File

@@ -1 +0,0 @@
/html

View File

@@ -1 +0,0 @@
../src/Makefile

View File

@@ -1 +0,0 @@
/README

View File

@@ -1 +0,0 @@
../../src/Makefile

View File

@@ -1 +0,0 @@
/README

View File

@@ -1 +0,0 @@
../../src/Makefile

Some files were not shown because too many files have changed in this diff Show More