Copy all .link interface naming definitions to initramfs
Currently, only the default .link files from /lib/systemd/network are
copied to the initramfs, meaning, that additional (local) .link naming
definitions will be ignored when the system is still controlled by the
initramfs and interfaces might get wrong names.
Fix this by copying all .link files from /lib/systemd/network and
/etc/systemd/network into the initramfs, with the files from
/etc/systemd/network taking precedence over files with the same name
from /lib/systemd/network, as stated in the systemd.link manpage.
Martin Pitt [Mon, 27 Jul 2015 05:03:46 +0000 (07:03 +0200)]
ifup@.service: Drop "oneshot" to run ifup in the background during boot
This avoids blocking network.target on boot with unavailable hotplug interfaces
in /etc/network/interfaces. The main purpose of the Before=network.target is to
ensure a robust shutdown order, not to block the boot on ifup'ing every
interface; services which want that need to depend on network-online.target.
Martin Pitt [Mon, 13 Jul 2015 07:02:27 +0000 (09:02 +0200)]
Also put old 70-persistent-net.rules into initramfs
The previous commit added the new net.ifnames machinery to initramfs, to get
consistent names in initramfs and the real system. However, we also need to
copy the legacy 70-persistent-net.rules to avoid getting different names in
both places. Thanks Adam Conrad!
Michael Biebl [Tue, 30 Jun 2015 17:14:28 +0000 (19:14 +0200)]
Move a few files into their correct packages
Move the man pages for libnss-myhostname, libnss-mymachines and
udev.conf from systemd into the correct package. Move the zsh completion
file for udevadm into the udev package as well. Add Breaks/Replaces
accordingly.
Michael Biebl [Tue, 7 Jul 2015 23:07:53 +0000 (01:07 +0200)]
Stop building the Python 3 bindings
They were split into a separate source package upstream and are now
built from src:python-systemd. See
http://lists.freedesktop.org/archives/systemd-devel/2015-July/033443.html
We keep a Build-Depends on python3 which is required to build the
documentation.
Martin Pitt [Mon, 22 Jun 2015 15:24:34 +0000 (17:24 +0200)]
New upstream release 221
- Fix persistant storage links for Xen devices. (LP: #1467151)
- Drop all backported patches and port the others to new upstream release.
- debian/rules: Drop workarounds for broken 220 tarball, 221 is fine.
Martin Pitt [Fri, 19 Jun 2015 04:05:28 +0000 (06:05 +0200)]
ifupdown-hotplug autopkgtest: Fix interfaces.d config file name
Different cloud/desktop environments have different ways of including
/etc/network/interfaces.d/, try to get along wit either and skip the test if
interfaces.d/ does not get included at all.
Michael Biebl [Thu, 18 Jun 2015 13:47:02 +0000 (15:47 +0200)]
initramfs hooks: Stop installing rules files for mdadm, lvm2 and dmsetup
Stop installing 55-dm.rules, 64-md-raid.rules,
60-persistent-storage-lvm.rules and 60-persistent-storage-dm.rules.
The mdadm, lvm2 and dmsetup package provide their own udev hooks
nowadays to make sure their udev rules files are installed into the
initramfs. Having the copy rules at two places is confusing and makes
debugging harder.
Martin Pitt [Wed, 17 Jun 2015 07:59:41 +0000 (09:59 +0200)]
Also check during build that other binaries do not link against /usr
This is particularly important for udev. It's not required for e. g. logind or
machined, but as currently none of these link against /usr let's keep this
strict for now and adjust it once we need it.
Martin Pitt [Tue, 16 Jun 2015 13:16:15 +0000 (15:16 +0200)]
net.agent: When running under systemd, run everything in the foreground
This avoids killing the forked child in the middle of its operation under
systemd when the parent exits. Up to systemd 220 forked children still survived
for several seconds, but under 221 they get cleaned up right away.
Martin Pitt [Tue, 16 Jun 2015 08:24:14 +0000 (10:24 +0200)]
Automate building packages for upstream trunk
- Add debian/extra/build-upstream-master-dsc script. This checks
out upstream git, applies debian/, applies some packaging modifications,
applies most of our Debian patches (ignoring the backported upstream
ones and ignoring fuzz), and builds a dsc.
- Add debian/patches/upstream-master/: These patches override the ones in
debian/patches/ for trunk builds, in order to apply.
Martin Pitt [Mon, 15 Jun 2015 13:40:30 +0000 (15:40 +0200)]
Switch to net.ifnames persistant network interfaces
Deprecate the old 75-persistent-net-generator.rules.
See the ML discussion for details:
https://lists.debian.org/debian-devel/2015/05/msg00170.html
https://lists.debian.org/debian-devel/2015/06/msg00018.html
- Drop Make-net.ifnames-opt-in-instead-of-opt-out.patch, to use
net.ifnames by default.
- Revert-udev-network-device-renaming-immediately-give.patch: Adjust
patch comment.
- Drop 75-persistent-net-generator.rules, write_net_rules helper and
rule_generator.functions.
- Adjust udev's README.Debian accordingly, and describe the migration.
This needs to happen manually as there is no robust way of doing this
automatically.
- Add udev NEWS file for announcing this change and pointing to udev's
README.
- udev.postinst: Drop write_interfaces_rules().
- udev.postinst: Disable net.ifnames on systems which did not support
75-persistent-net-generator.rules (most importantly, virtualized guests)
to avoid changing network interface names on upgrade.
Martin Pitt [Thu, 11 Jun 2015 06:21:14 +0000 (08:21 +0200)]
Stop installing tmp.mount by default
There are still situations where it becomes active through dependencies from
other units, which is surprising, hides existing data in /tmp during runtime,
and it isn't safe to have a tmpfs /tmp on every install scenario.
- d/rules: Ship tmp.mount in /usr/share/systemd/ instead of
/lib/systemd/systemd.
- systemd.postinst: When tmp.mount already was enabled, install tmp.mount
into /etc and keep it enabled.
- systemd.postinst: When enabling tmp.mount because of RAMTMP=yes, copy it
from /usr/share.
- Drop Don-t-mount-tmp-as-tmpfs-by-default.patch and
PrivateTmp-shouldn-t-require-tmpfs.patch, not necessary any more.
Martin Pitt [Wed, 10 Jun 2015 05:55:43 +0000 (07:55 +0200)]
Enable seccomp support
Restrict the build dep on the architectures that provide libseccomp. This is
also why we can't configure with --enable-seccomp explicitly but rely on
auto-detection.