diffstat of debian/ for systemd_44-5 systemd_201-SprezzOS1 05udev | 7 changelog | 242 ++++++++++++++++ control | 240 ++++++++++++---- create_static_nodes | 31 ++ debian-fixup | 26 - debian-fixup.service | 10 gir1.2-gudev-1.0.install | 1 ifup@.service | 8 invoke-rc.d | 527 +++++++++++++++++++++++++++++++++++ libgudev-1.0-0.install | 1 libgudev-1.0-0.symbols | 54 +++ libgudev-1.0-dev.install | 5 libsystemd-daemon-dev.install | 2 libsystemd-daemon0.install | 1 libsystemd-daemon0.symbols | 7 libsystemd-id128-dev.install | 1 libsystemd-journal-dev.install | 1 libsystemd-journal0.symbols | 29 + libsystemd-login-dev.install | 1 libsystemd-login0.symbols | 14 libudev-dev.install | 5 libudev1.install | 3 libudev1.symbols | 91 ++++++ links.conf | 15 + patches/debian-changes | 547 ------------------------------------ patches/series | 4 patches/udevrunifup.diff | 12 patches/v44..upstream-fixes_44-5 | 365 ------------------------ rules | 22 - source/git-patches | 2 source/options | 1 start-udev | 38 ++ systemd-gui.install | 3 systemd-sysv.install | 7 systemd.install | 81 +++-- systemd.links | 2 udev-udeb.dirs | 5 udev-udeb.install | 11 udev-udeb.links | 1 udev.dirs | 10 udev.init | 349 +++++++++++++++++++++++ udev.install | 6 udev.udev-mtab.init | 52 +++ update-rc.d | 581 +++++++++++++++++++++++++++++++++++++++ write_dev_root_rule | 22 + 45 files changed, 2381 insertions(+), 1062 deletions(-) --- systemd-44/debian/05udev 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/05udev 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,7 @@ +#!/bin/sh -e + +RULESDIR=etc/udev/rules.d + +mkdir -p /target/$RULESDIR +cp /$RULESDIR/70-persistent-*.rules /target/$RULESDIR 2>/dev/null || true + --- systemd-44/debian/changelog 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/changelog 2013-04-09 14:10:15.000000000 +0000 @@ -1,3 +1,245 @@ +systemd (201-SprezzOS1) unstable; urgency=low + + * New upstream with shutdown improvements + * Turn coredump daemon back off, as it craps all over dmesg + + -- Nick Black Tue, 09 Apr 2013 10:02:22 -0400 + +systemd (200-SprezzOS1) unstable; urgency=low + + * New upstream + * "The boot-time readahead implementation for rotating media + will now read the read-ahead data in multiple passes which + consist of all read requests made in equidistant time + intervals. This means instead of strictly reading read-ahead + data in its physical order on disk we now try to find a + middle ground between physical and access time order." + + -- Nick Black Fri, 29 Mar 2013 12:30:22 -0400 + +systemd (199-SprezzOS1) unstable; urgency=low + + * New upstream + + -- Nick Black Thu, 28 Mar 2013 19:42:29 -0400 + +systemd (198-SprezzOS1) unstable; urgency=low + + * New upstream + * Drop --with-distro configuration argument + + -- Nick Black Fri, 08 Mar 2013 17:46:48 -0500 + +systemd (197-SprezzOS9) unstable; urgency=low + + * Stop including or linking to the debian-fixup script. It was broken in + most cases (due to read-only early root) and ought be a one-time thing + anyway. + + -- Nick Black Sat, 02 Mar 2013 06:59:53 -0500 + +systemd (197-SprezzOS8) unstable; urgency=low + + * Provide cryptsetup, since we Break and Replace it + + -- Nick Black Sun, 17 Feb 2013 10:07:21 -0500 + +systemd (197-SprezzOS7) unstable; urgency=low + + * Dep systemd on dbus + + -- Nick Black Sat, 16 Feb 2013 07:06:48 -0500 + +systemd (197-SprezzOS6) unstable; urgency=low + + * Set up udev's systemd rules to invoke ifup@$name for net devs + (Closes: #596) + + -- Nick Black Thu, 07 Feb 2013 02:57:12 -0500 + +systemd (197-SprezzOS5) unstable; urgency=low + + * Unconditionally make the symlink to /etc/mtab + + -- Nick Black Thu, 24 Jan 2013 17:16:01 -0500 + +systemd (197-SprezzOS4) unstable; urgency=low + + * Just Replace rsyslog; don't Break it. + * Provide linux-kernel-log-daemon and system-log-daemon + + -- Nick Black Sat, 19 Jan 2013 20:48:18 -0500 + +systemd (197-SprezzOS3) unstable; urgency=low + + * Don't Break sysv-rc, just Replace it. + + -- Nick Black Fri, 18 Jan 2013 07:39:54 -0500 + +systemd (197-SprezzOS2) unstable; urgency=low + + * Install udev.pc into libudev-dev rather than udev + + -- Nick Black Wed, 09 Jan 2013 03:29:15 -0500 + +systemd (197-SprezzOS1) unstable; urgency=low + + * New upstream 197 + * Enable static libraries + * Use Debian distro profile (rather than "other") + + -- Nick Black Tue, 08 Jan 2013 16:55:12 -0500 + +systemd (196-SprezzOS7) unstable; urgency=low + + * Set PATH in write_dev_rules + + -- Nick Black Tue, 01 Jan 2013 14:04:52 -0500 + +systemd (196-SprezzOS6) unstable; urgency=low + + * Piss forthrightly into the wind + + -- Nick Black Sat, 29 Dec 2012 00:10:44 -0500 + +systemd (196-SprezzOS5) unstable; urgency=low + + * Allow sprezzos lsb-base as a dep + + -- Nick Black Tue, 18 Dec 2012 02:00:43 -0500 + +systemd (196-SprezzOS4) unstable; urgency=low + + * Stuff a full boot process into the udev udeb + + -- Nick Black Tue, 11 Dec 2012 18:26:31 -0500 + +systemd (196-SprezzOS3) unstable; urgency=low + + * Dep udev-udeb on lsb-base + + -- nick black Mon, 03 Dec 2012 10:27:20 -0500 + +systemd (196-SprezzOS2) unstable; urgency=low + + * Include /etc/init.d files in udev udeb (Closes: #535) + + -- nick black Sat, 01 Dec 2012 02:44:15 -0500 + +systemd (196-SprezzOS1) unstable; urgency=low + + * New upstream version 196 + + -- nick black Thu, 22 Nov 2012 02:20:08 -0500 + +systemd (195-SprezzOS19) unstable; urgency=low + + * Don't depend udev on systemd + * Move udev .pc and man page into udev package + + -- nick black Tue, 20 Nov 2012 19:22:38 -0500 + +systemd (195-SprezzOS17) unstable; urgency=low + + * Only break sysvinit < SprezzOS1 + + -- nick black Tue, 20 Nov 2012 18:44:47 -0500 + +systemd (195-SprezzOS15) unstable; urgency=low + + * Install links.conf into udev-udeb and udev (Closes: #519). + + -- nick black Sun, 18 Nov 2012 14:14:24 -0500 + +systemd (195-SprezzOS14) unstable; urgency=low + + * Install /etc/init.d via systemd-sysv not systemd + * Install udev files via udev not systemd + + -- nick black Fri, 16 Nov 2012 03:00:55 -0500 + +systemd (195-SprezzOS13) unstable; urgency=low + + * Specify correct path of systemd/systemd-udevd in udeb's start-udev + + -- nick black Fri, 16 Nov 2012 02:31:55 -0500 + +systemd (195-SprezzOS12) unstable; urgency=low + + * Install necessary libraries from /lib into the udeb. + + -- nick black Fri, 16 Nov 2012 00:00:06 -0500 + +systemd (195-SprezzOS11) unstable; urgency=low + + * Remove the udev-gtk-udeb package; it's empty. + * commit kill off udev-gtk-udeb + + -- nick black Thu, 15 Nov 2012 18:48:43 -0500 + +systemd (195-SprezzOS10) unstable; urgency=low + + * Install udevd into udev-udeb (Closes: #515) + + -- nick black Wed, 14 Nov 2012 14:16:11 -0500 + +systemd (195-SprezzOS9) unstable; urgency=low + + * Fix up syntax in control file. + + -- nick black Wed, 14 Nov 2012 05:25:28 -0500 + +systemd (195-SprezzOS8) unstable; urgency=low + + * Remove shlib deps from udev-udeb. + + -- nick black Mon, 12 Nov 2012 16:11:54 -0500 + +systemd (195-SprezzOS7) unstable; urgency=low + + * Include start-udev in udev-udeb (Closes: #514) + + -- nick black Mon, 12 Nov 2012 14:42:09 -0500 + +systemd (195-SprezzOS6) unstable; urgency=low + + * Fix up udev init script (Closes: #506) + * Bring in Debian's invoke-rc.d, update-rc.d, write_dev_root_rule + and create_static_dev_nodes scripts + + -- nick black Mon, 12 Nov 2012 00:51:59 -0500 + +systemd (195-SprezzOS5) unstable; urgency=low + + * Mark systemd as replacing sysv-rc and sysvinit + + -- nick black Sat, 10 Nov 2012 23:57:24 -0500 + +systemd (195-SprezzOS4) unstable; urgency=low + + * Urk. + + -- nick black Sat, 10 Nov 2012 21:13:28 -0500 + +systemd (195-SprezzOS3) unstable; urgency=low + + * Break and replace them only for versions < 195 + * Provide libudev-dev and libgudev-1.0-dev etc + + -- nick black Sat, 10 Nov 2012 20:53:07 -0500 + +systemd (195-SprezzOS2) unstable; urgency=low + + * Break and Replace libudev-dev + + -- nick black Sat, 10 Nov 2012 20:37:55 -0500 + +systemd (195-SprezzOS1) unstable; urgency=low + + * New upstream 195 + + -- nick black Sat, 10 Nov 2012 04:23:42 -0500 + systemd (44-5) unstable; urgency=low * Team upload. --- systemd-44/debian/control 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/control 2013-04-09 14:10:15.000000000 +0000 @@ -1,50 +1,63 @@ Source: systemd Section: admin -Priority: extra -Maintainer: Tollef Fog Heen -Standards-Version: 3.9.2 -Vcs-Git: git://anonscm.debian.org/pkg-systemd/systemd.git -b debian -Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-systemd/systemd.git;a=summary +Priority: required +Maintainer: Nick Black +XSBC-Original-Maintainer: Tollef Fog Heen +Standards-Version: 3.9.4 Homepage: http://www.freedesktop.org/wiki/Software/systemd Build-Depends: debhelper (>= 9), - libcap-dev, - pkg-config, - libudev-dev (>= 172), - libdbus-1-dev (>= 1.3.2~), - libdbus-glib-1-dev, - libgtk2.0-dev, - valac (>= 0.12), - xsltproc, - docbook-xsl, - docbook-xml, - m4, - libpam0g-dev, - libnotify-dev (>= 0.7.0), - libaudit-dev, - dh-autoreconf, automake (>= 1.11), autoconf (>= 2.63), + dh-autoreconf, + docbook-xml, + docbook-xsl, + gperf, intltool, - libcryptsetup-dev (>= 2:1.2.0), - libwrap0-dev, - libselinux1-dev, + libaudit-dev, libacl1-dev, - liblzma-dev, - libgee-dev, - gperf, + libblkid-dev, + libcap-dev, + libcryptsetup-dev (>= 2:1.2.0), + libdbus-1-dev (>= 1.3.2~), + libdbus-glib-1-dev, + libgcrypt11-dev (>= 1.4.5), + libgirepository1.0-dev, libkmod-dev (>= 5), + liblzma-dev, + libnotify-dev (>= 0.7.0), + libpam0g-dev, + libpci-dev, + libqrencode-dev, + libselinux1-dev, + m4, + pkg-config, + usbutils, + xsltproc, faketime Package: systemd Architecture: linux-any Section: admin -Priority: extra +Essential: yes Recommends: libpam-systemd -Suggests: systemd-gui, python, python-dbus, python-cairo +Suggests: python, python-dbus, python-cairo Pre-Depends: ${misc:Pre-Depends} -Depends: ${shlibs:Depends}, ${misc:Depends}, util-linux (>= 2.19.1-2), initscripts (>= 2.88dsf-17), udev -Breaks: lvm2 (<< 2.02.84-1), lsb-base (<< 4.1+Debian4) -Conflicts: klogd +Provides: system-log-daemon,linux-kernel-log-daemon,cryptsetup +Depends: ${shlibs:Depends}, ${misc:Depends}, + util-linux (>= 2.19.1-2), + biosdevname, + dbus +Breaks: lvm2 (<< 2.02.84-1), lsb-base (<< 4.1), + systemd-gui, + cryptsetup, + sysvinit (<< 2.88dsf-SprezzOS1), + upstart, + runit-run, + klogd, +Replaces: sysvinit (<< 2.88dsf-SprezzOS1), + systemd-gui, + cryptsetup, + rsyslog Description: system and service manager systemd is a replacement for sysvinit. It is dependency-based and able to read the LSB init script headers in addition to parsing rcN.d @@ -57,10 +70,17 @@ Package: systemd-sysv Architecture: linux-any Section: admin -Priority: extra -Conflicts: sysvinit, upstart, runit-run -Replaces: sysvinit -Depends: systemd (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Essential: yes +Depends: systemd (= ${binary:Version}), + ${shlibs:Depends}, + ${misc:Depends}, + insserv +Breaks: sysvinit (<< 2.88dsf-SprezzOS1), + upstart, + runit-run, + file-rc +Replaces: sysv-rc, file-rc +Provides: sysv-rc Description: system and service manager - SysV links systemd is a replacement for sysvinit. It is dependency-based and able to read the LSB init script headers in addition to parsing rcN.d @@ -92,22 +112,6 @@ This package contains the PAM module which registers user sessions in the systemd control group hierarchy -Package: systemd-gui -Architecture: linux-any -Section: admin -Priority: extra -Depends: systemd (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} -Description: system and service manager - GUI - systemd is a replacement for sysvinit. It is dependency-based and - able to read the LSB init script headers in addition to parsing rcN.d - links as hints. - . - It also provides process supervision using cgroups and the ability to - not only depend on other init script being started, but also - availability of a given mount point or dbus service. - . - This package contains the graphical frontend for systemd. - Package: libsystemd-login0 Architecture: linux-any Multi-Arch: same @@ -137,6 +141,7 @@ Description: systemd utility library The sd-daemon library provides a reference implementation of various APIs for new-style daemons, as implemented by the systemd init system. + This includes libudev and libgudev. Package: libsystemd-daemon-dev Architecture: linux-any @@ -144,7 +149,8 @@ Depends: libsystemd-daemon0 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Description: systemd utility library - development files The sd-daemon library provides a reference implementation of various - APIs for new-style daemons, as implemented by the systemd init system. + APIs for new-style daemons as implemented by the systemd init system. + This includes libudev and libgudev. . This package contains the development files @@ -188,3 +194,133 @@ . This package contains the development files +Package: udev +Architecture: linux-any +Multi-Arch: foreign +Pre-Depends: debconf (>= 1.4.69) | debconf-2.0 +Depends: ${shlibs:Depends}, ${misc:Depends}, libudev1 (= ${binary:Version}), + lsb-base (>= 3.0-6), util-linux (>= 2.16), + s390-tools (>> 1.6.2) [s390], + procps +Recommends: usbutils, pciutils, systemd-sysv +Conflicts: libc6 (<< 2.9-22) +Breaks: dmsetup (<< 2.02.84-1), mdadm (<< 3.0-3), consolekit (<< 0.4.1), + libsane (<< 1.0.21-3), multipath-tools (<< 0.4.8-12), systemd (<< 28), + linux-image-2.6-alpha-generic (<< 2.6.32) [alpha], + linux-image-2.6-alpha-legacy (<< 2.6.32) [alpha], + linux-image-2.6-alpha-smp (<< 2.6.32) [alpha], + linux-image-2.6-openvz-amd64 (<< 2.6.32) [amd64], + linux-image-2.6-vserver-amd64 (<< 2.6.32) [amd64], + linux-image-2.6-xen-amd64 (<< 2.6.32) [amd64], + linux-image-2.6-amd64 (<< 2.6.32) [amd64 i386], + linux-image-2.6-footbridge (<< 2.6.32) [arm], + linux-image-2.6-iop32x (<< 2.6.32) [arm armel], + linux-image-2.6-ixp4xx (<< 2.6.32) [arm armel], + linux-image-2.6-orion5x (<< 2.6.32) [arm armel], + linux-image-2.6-versatile (<< 2.6.32) [armel], + linux-image-2.6-parisc (<< 2.6.32) [hppa], + linux-image-2.6-parisc64 (<< 2.6.32) [hppa], + linux-image-2.6-parisc64-smp (<< 2.6.32) [hppa], + linux-image-2.6-parisc-smp (<< 2.6.32) [hppa], + linux-image-2.6-486 (<< 2.6.32) [i386], + linux-image-2.6-686 (<< 2.6.32) [i386], + linux-image-2.6-686-bigmem (<< 2.6.32) [i386], + linux-image-2.6-k7 (<< 2.6.32) [i386], + linux-image-2.6-openvz-686 (<< 2.6.32) [i386], + linux-image-2.6-vserver-686 (<< 2.6.32) [i386], + linux-image-2.6-vserver-686-bigmem (<< 2.6.32) [i386], + linux-image-2.6-xen-686 (<< 2.6.32) [i386], + linux-image-2.6-itanium (<< 2.6.32) [ia64], + linux-image-2.6-mckinley (<< 2.6.32) [ia64], + linux-image-2.6-vserver-itanium (<< 2.6.32) [ia64], + linux-image-2.6-vserver-mckinley (<< 2.6.32) [ia64], + linux-image-2.6-r4k-ip22 (<< 2.6.32) [mips], + linux-image-2.6-r5k-ip32 (<< 2.6.32) [mips], + linux-image-2.6-r5k-cobalt (<< 2.6.32) [mipsel], + linux-image-2.6-4kc-malta (<< 2.6.32) [mips mipsel], + linux-image-2.6-5kc-malta (<< 2.6.32) [mips mipsel], + linux-image-2.6-sb1a-bcm91480b (<< 2.6.32) [mips mipsel], + linux-image-2.6-sb1-bcm91250a (<< 2.6.32) [mips mipsel], + linux-image-2.6-powerpc (<< 2.6.32) [powerpc], + linux-image-2.6-powerpc64 (<< 2.6.32) [powerpc], + linux-image-2.6-powerpc-smp (<< 2.6.32) [powerpc], + linux-image-2.6-vserver-powerpc (<< 2.6.32) [powerpc], + linux-image-2.6-vserver-powerpc64 (<< 2.6.32) [powerpc], + linux-image-2.6-s390 (<< 2.6.32) [s390], + linux-image-2.6-s390-tape (<< 2.6.32) [s390], + linux-image-2.6-s390x (<< 2.6.32) [s390], + linux-image-2.6-vserver-s390x (<< 2.6.32) [s390], + linux-image-2.6-sparc64 (<< 2.6.32) [sparc], + linux-image-2.6-sparc64-smp (<< 2.6.32) [sparc], + linux-image-2.6-vserver-sparc64 (<< 2.6.32) [sparc] +Description: /dev/ and hotplug management daemon + udev is a daemon which dynamically creates and removes device nodes from + /dev/, handles hotplug events and loads drivers at boot time. + +Package: libudev1 +Section: libs +Priority: required +Architecture: linux-any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: libudev shared library + This library provides access to udev device information. + +Package: libudev-dev +Section: libdevel +Priority: optional +Architecture: linux-any +Depends: ${shlibs:Depends}, ${misc:Depends}, libudev1 (= ${binary:Version}) +Description: libudev development files + This package contains the files needed for developing applications that + use libudev. + +Package: libgudev-1.0-0 +Section: libs +Priority: optional +Architecture: linux-any +Depends: ${shlibs:Depends}, ${misc:Depends} +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Description: GObject-based wrapper library for libudev + This library makes it much simpler to use libudev from programs already using + GObject. It also makes it possible to easily use libudev from other + programming languages, such as Javascript, because of GObject introspection + support. + +Package: gir1.2-gudev-1.0 +Section: introspection +Priority: optional +Architecture: linux-any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${gir:Depends}, libglib2.0-0 +Conflicts: gir1.0-gudev-1.0 +Replaces: gir1.0-gudev-1.0 +Description: libgudev-1.0 introspection data + This package contains the GObject-introspection data of libgudev-1.0 in + binary typelib format. + +Package: libgudev-1.0-dev +Section: libdevel +Priority: optional +Architecture: linux-any +Depends: ${shlibs:Depends}, ${misc:Depends}, libgudev-1.0-0 (= ${binary:Version}), libglib2.0-dev, pkg-config +Description: libgudev-1.0 development files + This package contains the files needed for developing applications that + use libgudev-1.0. + +Package: udev-udeb +XC-Package-Type: udeb +Section: debian-installer +Architecture: linux-any +Depends: ${misc:Depends}, + util-linux-udeb, + lsb-base-udeb, + libqrencode3-udeb, + biosdevname-udeb +Description: /dev/ and hotplug management daemon + udev is a daemon which dynamically creates and removes device nodes from + /dev/, handles hotplug events and loads drivers at boot time. + . + This is a minimal version, only for use in the installation system. + --- systemd-44/debian/create_static_nodes 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/create_static_nodes 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +make_extra_nodes() { + [ -e /etc/udev/links.conf ] || return 0 + + grep '^[^#]' /etc/udev/links.conf | \ + while read type name arg1; do + [ "$type" -a "$name" -a ! -e "/$1/$name" -a ! -L "/$1/$name" ] || continue + case "$type" in + L) ln -s $arg1 /$1/$name ;; + D) mkdir -p /$1/$name ;; + M) mknod -m 600 /$1/$name $arg1 ;; + *) echo "links.conf: unparseable line ($type $name $arg1)" >&2 ;; + esac + + if [ -x /sbin/restorecon ]; then + /sbin/restorecon /dev/$name + fi + done +} + +if [ "$1" ]; then + devdir="$1" +else + devdir='/dev' +fi + +make_extra_nodes $devdir + +exit 0 + --- systemd-44/debian/debian-fixup 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/debian-fixup 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -#! /bin/sh - -set -e - -if [ ! -L /etc/mtab ]; then - ln -sf /proc/mounts /etc/mtab -fi - -# Migrate /var/run to be a symlink to /run, unless /run is already a -# symlink, to prevent loops. -if [ ! -L /var/run ]; then - if [ ! -L /run ]; then - rm -rf /var/run - ln -s /run /var/run - fi -fi - -# Migrate /var/lock to be a symlink to /run/lock, unless /run/lock is -# already a symlink, to prevent loops. -if [ ! -L /var/lock ]; then - if [ ! -L /run/lock ]; then - rm -rf /var/lock - ln -s /run/lock /var/lock - fi -fi -exit 0 --- systemd-44/debian/debian-fixup.service 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/debian-fixup.service 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -[Unit] -Description=Various fixups to make systemd work better on Debian -Before=var-run.mount var-lock.mount sysinit.target -After=remount-rootfs.service -DefaultDependencies=no - -[Service] -ExecStart=/lib/systemd/debian-fixup -Type=oneshot -RemainAfterExit=true --- systemd-44/debian/gir1.2-gudev-1.0.install 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/gir1.2-gudev-1.0.install 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/girepository-1.0/ --- systemd-44/debian/ifup@.service 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/ifup@.service 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -[Unit] -Description=ifup for %I -After=local-fs.target - -[Service] -ExecStart=/sbin/ifup --allow=hotplug %I -ExecStop=/sbin/ifdown %I -RemainAfterExit=true --- systemd-44/debian/invoke-rc.d 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/invoke-rc.d 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,527 @@ +#!/bin/sh +# +# invoke-rc.d.sysvinit - Executes initscript actions +# +# SysVinit /etc/rc?.d version for Debian's sysvinit package +# +# Copyright (C) 2000,2001 Henrique de Moraes Holschuh +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program 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 General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + +# Constants +RUNLEVEL=/sbin/runlevel +POLICYHELPER=/usr/sbin/policy-rc.d +INITDPREFIX=/etc/init.d/ +UPSTARTDIR=/etc/init/ +RCDPREFIX=/etc/rc + +# Options +BEQUIET= +MODE= +ACTION= +FALLBACK= +NOFALLBACK= +FORCE= +RETRY= +RETURNFAILURE= +RC= +is_upstart= + +# Shell options +set +e + +dohelp () { + # + # outputs help and usage + # +cat < + +Usage: + invoke-rc.d [options] [extra parameters] + + basename - Initscript ID, as per update-rc.d(8) + action - Initscript action. Known actions are: + start, [force-]stop, restart, + [force-]reload, status + WARNING: not all initscripts implement all of the above actions. + + extra parameters are passed as is to the initscript, following + the action (first initscript parameter). + +Options: + --quiet + Quiet mode, no error messages are generated. + --force + Try to run the initscript regardless of policy and subsystem + non-fatal errors. + --try-anyway + Try to run init script even if a non-fatal error is found. + --disclose-deny + Return status code 101 instead of status code 0 if + initscript action is denied by local policy rules or + runlevel constrains. + --query + Returns one of status codes 100-106, does not run + the initscript. Implies --disclose-deny and --no-fallback. + --no-fallback + Ignores any fallback action requests by the policy layer. + Warning: this is usually a very *bad* idea for any actions + other than "start". + --help + Outputs help message to stdout + +EOF +} + +printerror () { + # + # prints an error message + # $* - error message + # +if test x${BEQUIET} = x ; then + echo `basename $0`: "$*" >&2 +fi +} + +formataction () { + # + # formats a list in $* into $printaction + # for human-friendly printing to stderr + # and sets $naction to action or actions + # +printaction=`echo $* | sed 's/ /, /g'` +if test $# -eq 1 ; then + naction=action +else + naction=actions +fi +} + +querypolicy () { + # + # queries policy database + # returns: $RC = 104 - ok, run + # $RC = 101 - ok, do not run + # other - exit with status $RC, maybe run if $RETRY + # initial status of $RC is taken into account. + # + +policyaction="${ACTION}" +if test x${RC} = "x101" ; then + if test "${ACTION}" = "start" || test "${ACTION}" = "restart" ; then + policyaction="(${ACTION})" + fi +fi + +if test "x${POLICYHELPER}" != x && test -x "${POLICYHELPER}" ; then + FALLBACK=`${POLICYHELPER} ${BEQUIET} ${INITSCRIPTID} "${policyaction}" ${RL}` + RC=$? + formataction ${ACTION} + case ${RC} in + 0) RC=104 + ;; + 1) RC=105 + ;; + 101) if test x${FORCE} != x ; then + printerror Overriding policy-rc.d denied execution of ${printaction}. + RC=104 + else + printerror policy-rc.d denied execution of ${printaction}. + fi + ;; + esac + if test x${MODE} != xquery ; then + case ${RC} in + 105) printerror policy-rc.d query returned \"behaviour undefined\", + printerror assuming \"${printaction}\" is allowed. + RC=104 + ;; + 106) formataction ${FALLBACK} + if test x${FORCE} = x ; then + if test x${NOFALLBACK} = x ; then + ACTION="${FALLBACK}" + printerror executing ${naction} \"${printaction}\" instead due to policy-rc.d request. + RC=104 + else + printerror ignoring policy-rc.d fallback request: ${printaction}. + RC=101 + fi + else + printerror ignoring policy-rc.d fallback request: ${printaction}. + RC=104 + fi + ;; + esac + fi + case ${RC} in + 100|101|102|103|104|105|106) ;; + *) printerror WARNING: policy-rc.d returned unexpected error status ${RC}, 102 used instead. + RC=102 + ;; + esac +else + if test x${RC} = x ; then + RC=104 + fi +fi +return +} + +verifyparameter () { + # + # Verifies if $1 is not null, and $# = 1 + # +if test $# -eq 0 ; then + printerror syntax error: invalid empty parameter + exit 103 +elif test $# -ne 1 ; then + printerror syntax error: embedded blanks are not allowed in \"$*\" + exit 103 +fi +return +} + +## +## main +## + +## Verifies command line arguments + +if test $# -eq 0 ; then + printerror syntax error: missing required parameter, --help assumed + dohelp + exit 103 +fi + +state=I +while test $# -gt 0 && test ${state} != III ; do + case "$1" in + --help) dohelp + exit 0 + ;; + --quiet) BEQUIET=--quiet + ;; + --force) FORCE=yes + RETRY=yes + ;; + --try-anyway) + RETRY=yes + ;; + --disclose-deny) + RETURNFAILURE=yes + ;; + --query) MODE=query + RETURNFAILURE=yes + ;; + --no-fallback) + NOFALLBACK=yes + ;; + --*) printerror syntax error: unknown option \"$1\" + exit 103 + ;; + *) case ${state} in + I) verifyparameter $1 + INITSCRIPTID=$1 + ;; + II) verifyparameter $1 + ACTION=$1 + ;; + esac + state=${state}I + ;; + esac + shift +done + +if test ${state} != III ; then + printerror syntax error: missing required parameter + exit 103 +fi + +#NOTE: It may not be obvious, but "$@" from this point on must expand +#to the extra initscript parameters, except inside functions. + +## sanity checks and just-in-case warnings. +case ${ACTION} in + start|stop|force-stop|restart|reload|force-reload|status) + ;; + *) + if test "x${POLICYHELPER}" != x && test -x "${POLICYHELPER}" ; then + printerror action ${ACTION} is unknown, but proceeding anyway. + fi + ;; +esac + +# If we're running on upstart and there's an upstart job of this name, do +# the rest with upstart instead of calling the init script. +if which initctl >/dev/null && initctl version | grep -q upstart \ + && [ -e "$UPSTARTDIR/${INITSCRIPTID}.conf" ] +then + is_upstart=1 +elif test ! -f "${INITDPREFIX}${INITSCRIPTID}" ; then + ## Verifies if the given initscript ID is known + ## For sysvinit, this error is critical + printerror unknown initscript, ${INITDPREFIX}${INITSCRIPTID} not found. + exit 100 +fi + +## Queries sysvinit for the current runlevel +RL=`${RUNLEVEL} | sed 's/.*\ //'` +if test ! $? ; then + printerror "could not determine current runlevel" + if test x${RETRY} = x ; then + exit 102 + fi + RL= +fi + +## Running ${RUNLEVEL} to get current runlevel do not work in the boot +## runlevel (scripts in /etc/rcS.d/), as /var/run/utmp contain +## runlevel 0 or 6 (written at shutdown) at that point. +if test x${RL} = x0 || test x${RL} = x6 ; then + if ps -fp 1 | grep -q 'init boot' ; then + RL=S + fi +fi + +## Handles shutdown sequences VERY safely +## i.e.: forget about policy, and do all we can to run the script. +## BTW, why the heck are we being run in a shutdown runlevel?! +if test x${RL} = x0 || test x${RL} = x6 ; then + FORCE=yes + RETRY=yes + POLICYHELPER= + BEQUIET= + printerror "-----------------------------------------------------" + printerror "WARNING: 'invoke-rc.d ${INITSCRIPTID} ${ACTION}' called" + printerror "during shutdown sequence." + printerror "enabling safe mode: initscript policy layer disabled" + printerror "-----------------------------------------------------" +fi + +## Verifies the existance of proper S??initscriptID and K??initscriptID +## *links* in the proper /etc/rc?.d/ directory +verifyrclink () { + # + # verifies if parameters are non-dangling symlinks + # all parameters are verified + # + doexit= + while test $# -gt 0 ; do + if test ! -L "$1" ; then + printerror not a symlink: $1 + doexit=102 + fi + if test ! -f "$1" ; then + printerror dangling symlink: $1 + doexit=102 + fi + shift + done + if test x${doexit} != x && test x${RETRY} = x; then + exit ${doexit} + fi + return 0 +} + +# we do handle multiple links per runlevel +# but we don't handle embedded blanks in link names :-( +if test x${RL} != x ; then + SLINK=`ls -d -Q ${RCDPREFIX}${RL}.d/S[0-9][0-9]${INITSCRIPTID} 2>/dev/null | xargs` + KLINK=`ls -d -Q ${RCDPREFIX}${RL}.d/K[0-9][0-9]${INITSCRIPTID} 2>/dev/null | xargs` + SSLINK=`ls -d -Q ${RCDPREFIX}S.d/S[0-9][0-9]${INITSCRIPTID} 2>/dev/null | xargs` + + verifyrclink ${SLINK} ${KLINK} ${SSLINK} +fi + +testexec () { + # + # returns true if any of the parameters is + # executable (after following links) + # + while test $# -gt 0 ; do + if test -x "$1" ; then + return 0 + fi + shift + done + return 1 +} + +RC= + +### +### LOCAL INITSCRIPT POLICY: Enforce need of a start entry +### in either runlevel S or current runlevel to allow start +### or restart. +### +case ${ACTION} in + start|restart) + if testexec ${SLINK} ; then + RC=104 + elif testexec ${KLINK} ; then + RC=101 + elif testexec ${SSLINK} ; then + RC=104 + fi + ;; +esac + +# test if /etc/init.d/initscript is actually executable +if [ -n "$is_upstart" ] || testexec "${INITDPREFIX}${INITSCRIPTID}" ; then + if test x${RC} = x && test x${MODE} = xquery ; then + RC=105 + fi + + # call policy layer + querypolicy + case ${RC} in + 101|104) + ;; + *) if test x${MODE} != xquery ; then + printerror policy-rc.d returned error status ${RC} + if test x${RETRY} = x ; then + exit ${RC} + else + RC=102 + fi + fi + ;; + esac +else + ### + ### LOCAL INITSCRIPT POLICY: non-executable initscript; deny exec. + ### (this is common sense, actually :^P ) + ### + RC=101 +fi + +## Handles --query +if test x${MODE} = xquery ; then + exit ${RC} +fi + + +setechoactions () { + if test $# -gt 1 ; then + echoaction=true + else + echoaction= + fi +} +getnextaction () { + saction=$1 + shift + ACTION="$@" +} + +if [ -n "$is_upstart" ]; then + RUNNING= + DISABLED= + if status "$INITSCRIPTID" 2>/dev/null | grep -q ' start/'; then + RUNNING=1 + fi + UPSTART_VERSION_RUNNING=$(initctl version|awk '{print $3}'|tr -d ')') + + if dpkg --compare-versions "$UPSTART_VERSION_RUNNING" ge 0.9.7 + then + initctl show-config -e "$INITSCRIPTID"|grep -q '^ start on' || DISABLED=1 + fi +fi + +## Executes initscript +## note that $ACTION is a space-separated list of actions +## to be attempted in order until one suceeds. +if test x${FORCE} != x || test ${RC} -eq 104 ; then + if [ -n "$is_upstart" ] || testexec "${INITDPREFIX}${INITSCRIPTID}" ; then + RC=102 + setechoactions ${ACTION} + while test ! -z "${ACTION}" ; do + getnextaction ${ACTION} + if test ! -z ${echoaction} ; then + printerror executing initscript action \"${saction}\"... + fi + + if [ -n "$is_upstart" ]; then + case $saction in + status) + "$saction" "$INITSCRIPTID" && exit 0 + ;; + start|stop) + if [ -z "$RUNNING" ] && [ "$saction" = "stop" ]; then + exit 0 + elif [ -n "$RUNNING" ] && [ "$saction" = "start" ]; then + exit 0 + elif [ -n "$DISABLED" ] && [ "$saction" = "start" ]; then + exit 0 + fi + $saction "$INITSCRIPTID" && exit 0 + ;; + restart) + if [ -n "$RUNNING" ] ; then + stop "$INITSCRIPTID" + fi + + # If the job is disabled and is not currently + # running, the job is not restarted. However, if + # the job is disabled but has been forced into + # the running state, we *do* stop and restart it + # since this is expected behaviour + # for the admin who forced the start. + if [ -n "$DISABLED" ] && [ -z "$RUNNING" ]; then + exit 0 + fi + start "$INITSCRIPTID" && exit 0 + ;; + reload|force-reload) + reload "$INITSCRIPTID" && exit 0 + ;; + *) + # This will almost certainly fail, but give it a try + initctl "$saction" "$INITSCRIPTID" && exit 0 + ;; + esac + else + "${INITDPREFIX}${INITSCRIPTID}" "${saction}" "$@" && exit 0 + fi + RC=$? + + if test ! -z "${ACTION}" ; then + printerror action \"${saction}\" failed, trying next action... + fi + done + printerror initscript ${INITSCRIPTID}, action \"${saction}\" failed. + exit ${RC} + fi + exit 102 +fi + +## Handles --disclose-deny and denied "status" action (bug #381497) +if test ${RC} -eq 101 && test x${RETURNFAILURE} = x ; then + if test "x${ACTION%% *}" = "xstatus"; then + printerror emulating initscript action \"status\", returning \"unknown\" + RC=4 + else + RC=0 + fi +else + formataction ${ACTION} + printerror initscript ${naction} \"${printaction}\" not executed. +fi + +exit ${RC} --- systemd-44/debian/libgudev-1.0-0.install 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/libgudev-1.0-0.install 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1 @@ +lib/*/libgudev*.so.* --- systemd-44/debian/libgudev-1.0-0.symbols 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/libgudev-1.0-0.symbols 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,54 @@ +libgudev-1.0.so.0 libgudev-1.0-0 #MINVER# + g_udev_client_get_type@Base 146 + g_udev_client_new@Base 146 + g_udev_client_query_by_device_file@Base 146 + g_udev_client_query_by_device_number@Base 146 + g_udev_client_query_by_subsystem@Base 146 + g_udev_client_query_by_subsystem_and_name@Base 146 + g_udev_client_query_by_sysfs_path@Base 146 + g_udev_device_get_action@Base 146 + g_udev_device_get_device_file@Base 146 + g_udev_device_get_device_file_symlinks@Base 146 + g_udev_device_get_device_number@Base 146 + g_udev_device_get_device_type@Base 146 + g_udev_device_get_devtype@Base 146 + g_udev_device_get_driver@Base 146 + g_udev_device_get_is_initialized@Base 165 + g_udev_device_get_name@Base 146 + g_udev_device_get_number@Base 146 + g_udev_device_get_parent@Base 146 + g_udev_device_get_parent_with_subsystem@Base 146 + g_udev_device_get_property@Base 146 + g_udev_device_get_property_as_boolean@Base 146 + g_udev_device_get_property_as_double@Base 146 + g_udev_device_get_property_as_int@Base 146 + g_udev_device_get_property_as_strv@Base 146 + g_udev_device_get_property_as_uint64@Base 146 + g_udev_device_get_property_keys@Base 146 + g_udev_device_get_seqnum@Base 146 + g_udev_device_get_subsystem@Base 146 + g_udev_device_get_sysfs_attr@Base 146 + g_udev_device_get_sysfs_attr_as_boolean@Base 146 + g_udev_device_get_sysfs_attr_as_double@Base 146 + g_udev_device_get_sysfs_attr_as_int@Base 146 + g_udev_device_get_sysfs_attr_as_strv@Base 146 + g_udev_device_get_sysfs_attr_as_uint64@Base 146 + g_udev_device_get_sysfs_path@Base 146 + g_udev_device_get_tags@Base 165 + g_udev_device_get_type@Base 146 + g_udev_device_get_usec_since_initialized@Base 165 + g_udev_device_has_property@Base 146 + g_udev_device_type_get_type@Base 146 + g_udev_enumerator_add_match_is_initialized@Base 165 + g_udev_enumerator_add_match_name@Base 165 + g_udev_enumerator_add_match_property@Base 165 + g_udev_enumerator_add_match_subsystem@Base 165 + g_udev_enumerator_add_match_sysfs_attr@Base 165 + g_udev_enumerator_add_match_tag@Base 165 + g_udev_enumerator_add_nomatch_subsystem@Base 165 + g_udev_enumerator_add_nomatch_sysfs_attr@Base 165 + g_udev_enumerator_add_sysfs_path@Base 165 + g_udev_enumerator_execute@Base 165 + g_udev_enumerator_get_type@Base 165 + g_udev_enumerator_new@Base 165 + g_udev_marshal_VOID__STRING_OBJECT@Base 146 --- systemd-44/debian/libgudev-1.0-dev.install 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/libgudev-1.0-dev.install 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,5 @@ +usr/include/gudev-1.0/ +usr/lib/*/libgudev*.so +usr/lib/*/libgudev*.a +usr/lib/*/pkgconfig/gudev-1.0.pc +usr/share/gir-1.0/ --- systemd-44/debian/libsystemd-daemon-dev.install 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/libsystemd-daemon-dev.install 2013-04-09 14:10:15.000000000 +0000 @@ -1,3 +1,5 @@ usr/lib/*/libsystemd-daemon.so +usr/lib/*/libsystemd-daemon.a usr/lib/*/pkgconfig/libsystemd-daemon.pc usr/include/systemd/sd-daemon.h +usr/include/systemd/sd-shutdown.h --- systemd-44/debian/libsystemd-daemon0.install 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/libsystemd-daemon0.install 2013-04-09 14:10:15.000000000 +0000 @@ -1 +1,2 @@ lib/*/libsystemd-daemon.so.* +usr/lib/*/libnss_myhostname.so.* --- systemd-44/debian/libsystemd-daemon0.symbols 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/libsystemd-daemon0.symbols 2013-04-09 14:10:15.000000000 +0000 @@ -1,3 +1,10 @@ +libnss_myhostname.so.2 libsystemd-daemon0 #MINVER# + _nss_myhostname_gethostbyaddr2_r@Base 197 + _nss_myhostname_gethostbyaddr_r@Base 197 + _nss_myhostname_gethostbyname2_r@Base 197 + _nss_myhostname_gethostbyname3_r@Base 197 + _nss_myhostname_gethostbyname4_r@Base 197 + _nss_myhostname_gethostbyname_r@Base 197 libsystemd-daemon.so.0 libsystemd-daemon0 #MINVER# LIBSYSTEMD_DAEMON_31@LIBSYSTEMD_DAEMON_31 31 sd_booted@LIBSYSTEMD_DAEMON_31 31 --- systemd-44/debian/libsystemd-id128-dev.install 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/libsystemd-id128-dev.install 2013-04-09 14:10:15.000000000 +0000 @@ -1,3 +1,4 @@ usr/lib/*/libsystemd-id128.so +usr/lib/*/libsystemd-id128.a usr/lib/*/pkgconfig/libsystemd-id128.pc usr/include/systemd/sd-id128.h --- systemd-44/debian/libsystemd-journal-dev.install 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/libsystemd-journal-dev.install 2013-04-09 14:10:15.000000000 +0000 @@ -1,4 +1,5 @@ usr/lib/*/libsystemd-journal.so +usr/lib/*/libsystemd-journal.a usr/lib/*/pkgconfig/libsystemd-journal.pc usr/include/systemd/sd-journal.h usr/include/systemd/sd-messages.h --- systemd-44/debian/libsystemd-journal0.symbols 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/libsystemd-journal0.symbols 2013-04-09 14:10:15.000000000 +0000 @@ -1,28 +1,57 @@ libsystemd-journal.so.0 libsystemd-journal0 #MINVER# + LIBSYSTEMD_JOURNAL_183@LIBSYSTEMD_JOURNAL_183 197 + LIBSYSTEMD_JOURNAL_184@LIBSYSTEMD_JOURNAL_184 197 + LIBSYSTEMD_JOURNAL_187@LIBSYSTEMD_JOURNAL_187 197 + LIBSYSTEMD_JOURNAL_188@LIBSYSTEMD_JOURNAL_188 197 + LIBSYSTEMD_JOURNAL_190@LIBSYSTEMD_JOURNAL_190 197 + LIBSYSTEMD_JOURNAL_195@LIBSYSTEMD_JOURNAL_195 197 + LIBSYSTEMD_JOURNAL_196@LIBSYSTEMD_JOURNAL_196 197 + LIBSYSTEMD_JOURNAL_198@LIBSYSTEMD_JOURNAL_198 200 LIBSYSTEMD_JOURNAL_38@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_add_disjunction@LIBSYSTEMD_JOURNAL_187 197 sd_journal_add_match@LIBSYSTEMD_JOURNAL_38 38 sd_journal_close@LIBSYSTEMD_JOURNAL_38 38 sd_journal_enumerate_data@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_enumerate_unique@LIBSYSTEMD_JOURNAL_195 197 sd_journal_flush_matches@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_get_catalog@LIBSYSTEMD_JOURNAL_196 197 + sd_journal_get_catalog_for_message_id@LIBSYSTEMD_JOURNAL_196 197 sd_journal_get_cursor@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_get_cutoff_monotonic_usec@LIBSYSTEMD_JOURNAL_184 197 + sd_journal_get_cutoff_realtime_usec@LIBSYSTEMD_JOURNAL_184 197 sd_journal_get_data@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_get_data_threshold@LIBSYSTEMD_JOURNAL_196 197 sd_journal_get_fd@LIBSYSTEMD_JOURNAL_38 38 sd_journal_get_monotonic_usec@LIBSYSTEMD_JOURNAL_38 38 sd_journal_get_realtime_usec@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_get_usage@LIBSYSTEMD_JOURNAL_190 197 sd_journal_next@LIBSYSTEMD_JOURNAL_38 38 sd_journal_next_skip@LIBSYSTEMD_JOURNAL_38 38 sd_journal_open@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_open_directory@LIBSYSTEMD_JOURNAL_187 197 + sd_journal_perror@LIBSYSTEMD_JOURNAL_188 197 + sd_journal_perror_with_location@LIBSYSTEMD_JOURNAL_188 197 sd_journal_previous@LIBSYSTEMD_JOURNAL_38 38 sd_journal_previous_skip@LIBSYSTEMD_JOURNAL_38 38 sd_journal_print@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_print_with_location@LIBSYSTEMD_JOURNAL_183 197 sd_journal_printv@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_printv_with_location@LIBSYSTEMD_JOURNAL_183 197 sd_journal_process@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_query_unique@LIBSYSTEMD_JOURNAL_195 197 + sd_journal_reliable_fd@LIBSYSTEMD_JOURNAL_198 200 sd_journal_restart_data@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_restart_unique@LIBSYSTEMD_JOURNAL_195 197 sd_journal_seek_cursor@LIBSYSTEMD_JOURNAL_38 38 sd_journal_seek_head@LIBSYSTEMD_JOURNAL_38 38 sd_journal_seek_monotonic_usec@LIBSYSTEMD_JOURNAL_38 38 sd_journal_seek_realtime_usec@LIBSYSTEMD_JOURNAL_38 38 sd_journal_seek_tail@LIBSYSTEMD_JOURNAL_38 38 sd_journal_send@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_send_with_location@LIBSYSTEMD_JOURNAL_183 197 sd_journal_sendv@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_sendv_with_location@LIBSYSTEMD_JOURNAL_183 197 + sd_journal_set_data_threshold@LIBSYSTEMD_JOURNAL_196 197 sd_journal_stream_fd@LIBSYSTEMD_JOURNAL_38 38 + sd_journal_test_cursor@LIBSYSTEMD_JOURNAL_195 197 + sd_journal_wait@LIBSYSTEMD_JOURNAL_187 197 --- systemd-44/debian/libsystemd-login-dev.install 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/libsystemd-login-dev.install 2013-04-09 14:10:15.000000000 +0000 @@ -1,3 +1,4 @@ usr/lib/*/libsystemd-login.so +usr/lib/*/libsystemd-login.a usr/lib/*/pkgconfig/libsystemd-login.pc usr/include/systemd/sd-login.h --- systemd-44/debian/libsystemd-login0.symbols 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/libsystemd-login0.symbols 2013-04-09 14:10:15.000000000 +0000 @@ -1,6 +1,9 @@ libsystemd-login.so.0 libsystemd-login0 #MINVER# + LIBSYSTEMD_LOGIN_186@LIBSYSTEMD_LOGIN_186 197 + LIBSYSTEMD_LOGIN_198@LIBSYSTEMD_LOGIN_198 200 LIBSYSTEMD_LOGIN_31@LIBSYSTEMD_LOGIN_31 31 LIBSYSTEMD_LOGIN_38@LIBSYSTEMD_LOGIN_38 38 + LIBSYSTEMD_LOGIN_43@LIBSYSTEMD_LOGIN_43 43 sd_get_seats@LIBSYSTEMD_LOGIN_31 31 sd_get_sessions@LIBSYSTEMD_LOGIN_31 31 sd_get_uids@LIBSYSTEMD_LOGIN_31 31 @@ -11,18 +14,21 @@ sd_pid_get_owner_uid@LIBSYSTEMD_LOGIN_31 31 sd_pid_get_session@LIBSYSTEMD_LOGIN_31 31 sd_pid_get_unit@LIBSYSTEMD_LOGIN_38 38 + sd_seat_can_graphical@LIBSYSTEMD_LOGIN_186 197 sd_seat_can_multi_session@LIBSYSTEMD_LOGIN_31 31 + sd_seat_can_tty@LIBSYSTEMD_LOGIN_186 197 sd_seat_get_active@LIBSYSTEMD_LOGIN_31 31 sd_seat_get_sessions@LIBSYSTEMD_LOGIN_31 31 + sd_session_get_class@LIBSYSTEMD_LOGIN_43 43 + sd_session_get_display@LIBSYSTEMD_LOGIN_43 43 sd_session_get_seat@LIBSYSTEMD_LOGIN_31 31 sd_session_get_service@LIBSYSTEMD_LOGIN_38 38 + sd_session_get_state@LIBSYSTEMD_LOGIN_186 197 + sd_session_get_tty@LIBSYSTEMD_LOGIN_198 200 + sd_session_get_type@LIBSYSTEMD_LOGIN_43 43 sd_session_get_uid@LIBSYSTEMD_LOGIN_31 31 sd_session_is_active@LIBSYSTEMD_LOGIN_31 31 sd_uid_get_seats@LIBSYSTEMD_LOGIN_31 31 sd_uid_get_sessions@LIBSYSTEMD_LOGIN_31 31 sd_uid_get_state@LIBSYSTEMD_LOGIN_31 31 sd_uid_is_on_seat@LIBSYSTEMD_LOGIN_31 31 - LIBSYSTEMD_LOGIN_43@LIBSYSTEMD_LOGIN_43 43 - sd_session_get_class@LIBSYSTEMD_LOGIN_43 43 - sd_session_get_display@LIBSYSTEMD_LOGIN_43 43 - sd_session_get_type@LIBSYSTEMD_LOGIN_43 43 --- systemd-44/debian/libudev-dev.install 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/libudev-dev.install 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,5 @@ +usr/include/libudev.h +usr/lib/*/libudev.a +usr/lib/*/libudev.so +usr/lib/*/pkgconfig/libudev.pc +usr/share/pkgconfig/udev.pc --- systemd-44/debian/libudev1.install 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/libudev1.install 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,3 @@ +lib/*/libudev.so.* +debian/create_static_nodes lib/udev/ +debian/write_dev_root_rule lib/udev/ --- systemd-44/debian/libudev1.symbols 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/libudev1.symbols 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,91 @@ +libudev.so.1 libudev1 #MINVER# + LIBUDEV_183@LIBUDEV_183 195 + LIBUDEV_189@LIBUDEV_189 195 + LIBUDEV_196@LIBUDEV_196 197 + udev_device_get_action@LIBUDEV_183 195 + udev_device_get_devlinks_list_entry@LIBUDEV_183 195 + udev_device_get_devnode@LIBUDEV_183 195 + udev_device_get_devnum@LIBUDEV_183 195 + udev_device_get_devpath@LIBUDEV_183 195 + udev_device_get_devtype@LIBUDEV_183 195 + udev_device_get_driver@LIBUDEV_183 195 + udev_device_get_is_initialized@LIBUDEV_183 195 + udev_device_get_parent@LIBUDEV_183 195 + udev_device_get_parent_with_subsystem_devtype@LIBUDEV_183 195 + udev_device_get_properties_list_entry@LIBUDEV_183 195 + udev_device_get_property_value@LIBUDEV_183 195 + udev_device_get_seqnum@LIBUDEV_183 195 + udev_device_get_subsystem@LIBUDEV_183 195 + udev_device_get_sysattr_list_entry@LIBUDEV_183 195 + udev_device_get_sysattr_value@LIBUDEV_183 195 + udev_device_get_sysname@LIBUDEV_183 195 + udev_device_get_sysnum@LIBUDEV_183 195 + udev_device_get_syspath@LIBUDEV_183 195 + udev_device_get_tags_list_entry@LIBUDEV_183 195 + udev_device_get_udev@LIBUDEV_183 195 + udev_device_get_usec_since_initialized@LIBUDEV_183 195 + udev_device_has_tag@LIBUDEV_183 195 + udev_device_new_from_device_id@LIBUDEV_189 195 + udev_device_new_from_devnum@LIBUDEV_183 195 + udev_device_new_from_environment@LIBUDEV_183 195 + udev_device_new_from_subsystem_sysname@LIBUDEV_183 195 + udev_device_new_from_syspath@LIBUDEV_183 195 + udev_device_ref@LIBUDEV_183 195 + udev_device_unref@LIBUDEV_183 195 + udev_enumerate_add_match_is_initialized@LIBUDEV_183 195 + udev_enumerate_add_match_parent@LIBUDEV_183 195 + udev_enumerate_add_match_property@LIBUDEV_183 195 + udev_enumerate_add_match_subsystem@LIBUDEV_183 195 + udev_enumerate_add_match_sysattr@LIBUDEV_183 195 + udev_enumerate_add_match_sysname@LIBUDEV_183 195 + udev_enumerate_add_match_tag@LIBUDEV_183 195 + udev_enumerate_add_nomatch_subsystem@LIBUDEV_183 195 + udev_enumerate_add_nomatch_sysattr@LIBUDEV_183 195 + udev_enumerate_add_syspath@LIBUDEV_183 195 + udev_enumerate_get_list_entry@LIBUDEV_183 195 + udev_enumerate_get_udev@LIBUDEV_183 195 + udev_enumerate_new@LIBUDEV_183 195 + udev_enumerate_ref@LIBUDEV_183 195 + udev_enumerate_scan_devices@LIBUDEV_183 195 + udev_enumerate_scan_subsystems@LIBUDEV_183 195 + udev_enumerate_unref@LIBUDEV_183 195 + udev_get_log_priority@LIBUDEV_183 195 + udev_get_userdata@LIBUDEV_183 195 + udev_hwdb_get_properties_list_entry@LIBUDEV_196 197 + udev_hwdb_new@LIBUDEV_196 197 + udev_hwdb_ref@LIBUDEV_196 197 + udev_hwdb_unref@LIBUDEV_196 197 + udev_list_entry_get_by_name@LIBUDEV_183 195 + udev_list_entry_get_name@LIBUDEV_183 195 + udev_list_entry_get_next@LIBUDEV_183 195 + udev_list_entry_get_value@LIBUDEV_183 195 + udev_monitor_enable_receiving@LIBUDEV_183 195 + udev_monitor_filter_add_match_subsystem_devtype@LIBUDEV_183 195 + udev_monitor_filter_add_match_tag@LIBUDEV_183 195 + udev_monitor_filter_remove@LIBUDEV_183 195 + udev_monitor_filter_update@LIBUDEV_183 195 + udev_monitor_get_fd@LIBUDEV_183 195 + udev_monitor_get_udev@LIBUDEV_183 195 + udev_monitor_new_from_netlink@LIBUDEV_183 195 + udev_monitor_receive_device@LIBUDEV_183 195 + udev_monitor_ref@LIBUDEV_183 195 + udev_monitor_set_receive_buffer_size@LIBUDEV_183 195 + udev_monitor_unref@LIBUDEV_183 195 + udev_new@LIBUDEV_183 195 + udev_queue_get_kernel_seqnum@LIBUDEV_183 195 + udev_queue_get_queue_is_empty@LIBUDEV_183 195 + udev_queue_get_queued_list_entry@LIBUDEV_183 195 + udev_queue_get_seqnum_is_finished@LIBUDEV_183 195 + udev_queue_get_seqnum_sequence_is_finished@LIBUDEV_183 195 + udev_queue_get_udev@LIBUDEV_183 195 + udev_queue_get_udev_is_active@LIBUDEV_183 195 + udev_queue_get_udev_seqnum@LIBUDEV_183 195 + udev_queue_new@LIBUDEV_183 195 + udev_queue_ref@LIBUDEV_183 195 + udev_queue_unref@LIBUDEV_183 195 + udev_ref@LIBUDEV_183 195 + udev_set_log_fn@LIBUDEV_183 195 + udev_set_log_priority@LIBUDEV_183 195 + udev_set_userdata@LIBUDEV_183 195 + udev_unref@LIBUDEV_183 195 + udev_util_encode_string@LIBUDEV_183 195 --- systemd-44/debian/links.conf 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/links.conf 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,15 @@ +# This file does not exist. Please do not ask the Debian maintainer about it. +# If you need manually created devices, create them in /lib/udev/devices/ . + +D pts +D shm + +M null c 1 3 +M console c 5 1 + +# Hic sunt leones. +M ppp c 108 0 +M loop0 b 7 0 +D net +M net/tun c 10 200 + --- systemd-44/debian/patches/debian-changes 2012-10-25 20:07:08.000000000 +0000 +++ systemd-201/debian/patches/debian-changes 1970-01-01 00:00:00.000000000 +0000 @@ -1,547 +0,0 @@ -Description: - TODO: Put a short summary on the line above and replace this paragraph - with a longer explanation of this change. Complete the meta-information - with other relevant fields (see below for details). To make it easier, the - information below has been extracted from the changelog. Adjust it or drop - it. - . - systemd (44-5) unstable; urgency=low - . - * Team upload. - . - [ Tollef Fog Heen ] - * disable killing on entering START_PRE, START, thanks to Michael - Stapelberg for patch. This avoids killing VMs run through libvirt - when restarting libvirtd. Closes: #688635. - * Avoid reloading services when shutting down, since that won't work and - makes no sense. Thanks to Michael Stapelberg for the patch. - Closes: #624599. - * Try to determine which init scripts support the reload action - heuristically. Closes: #686115, #650382. - . - [ Michael Biebl ] - * Update Vcs-* fields, the Git repository is hosted on alioth now. Set the - default branch to "debian". - * Avoid reload and (re)start requests during early boot which can lead to - deadlocks. Closes: #624599 - * Make systemd-cgroup work even if not all cgroup mounts are available on - startup. Closes: #690916 - * Fix typos in the systemd.path and systemd.unit man page. Closes: #668344 - * Add watch file to track new upstream releases. -Author: Michael Biebl -Bug-Debian: http://bugs.debian.org/624599 -Bug-Debian: http://bugs.debian.org/650382 -Bug-Debian: http://bugs.debian.org/668344 -Bug-Debian: http://bugs.debian.org/686115 -Bug-Debian: http://bugs.debian.org/688635 -Bug-Debian: http://bugs.debian.org/690916 - ---- -The information above should follow the Patch Tagging Guidelines, please -checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here -are templates for supplementary fields that you might want to add: - -Origin: , -Bug: -Bug-Debian: http://bugs.debian.org/ -Bug-Ubuntu: https://launchpad.net/bugs/ -Forwarded: -Reviewed-By: -Last-Update: - ---- /dev/null -+++ systemd-44/autogen.sh -@@ -0,0 +1,56 @@ -+#!/bin/bash -+ -+# This file is part of systemd. -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 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 -+# General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with systemd; If not, see . -+ -+if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then -+ 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) \ -+--libexecdir=/usr/lib" -+ -+if [ ! -L /bin ]; then -+args="$args \ -+--with-rootprefix= \ -+--with-rootlibdir=$(libdir /lib) \ -+" -+fi -+ -+if [ "x$1" != "xc" ]; then -+ echo -+ echo "----------------------------------------------------------------" -+ echo "Initialized build system. For a common configuration please run:" -+ echo "----------------------------------------------------------------" -+ echo -+ echo "./configure CFLAGS='-g -O0' $args" -+ echo -+else -+ echo ./configure CFLAGS='-g -O0' $args -+ ./configure CFLAGS='-g -O0' $args -+ make clean -+fi ---- /dev/null -+++ systemd-44/.dir-locals.el -@@ -0,0 +1,7 @@ -+; Sets emacs variables based on mode. -+; A list of (major-mode . ((var1 . value1) (var2 . value2))) -+; Mode can be nil, which gives default values. -+ -+((nil . ((indent-tabs-mode . nil) -+ (tab-width . 8))) -+) ---- /dev/null -+++ systemd-44/CODING_STYLE -@@ -0,0 +1,27 @@ -+ -+- 8ch indent, no tabs -+ -+- structs in MixedCase, variables, functions in lower_case -+ -+- the destructors always unregister the object from the next bigger -+ object, not the other way around -+ -+- to minimize strict aliasing violations we prefer unions over casting -+ -+- for robustness reasons destructors should be able to destruct -+ half-initialized objects, too -+ -+- error codes are returned as negative Exxx. i.e. return -EINVAL. There -+ are some exceptions: for constructors its is OK to return NULL on -+ OOM. For lookup functions NULL is fine too for "not found". -+ -+- Do not issue NSS requests (that includes user name and host name -+ lookups) from the main daemon as this might trigger deadlocks when -+ we those lookups involve synchronously talking to services that we -+ would need to start up. -+ -+- Do not access any directories outside of /etc/, /dev, /lib from the -+ init daemon to avoid deadlocks with the automounter. -+ -+- Don't synchronously talk to any other service, due to risk of -+ deadlocks. ---- /dev/null -+++ systemd-44/.vimrc -@@ -0,0 +1,4 @@ -+" 'set exrc' in ~/.vimrc will read .vimrc from the current directory -+set tabstop=8 -+set shiftwidth=8 -+set expandtab ---- systemd-44.orig/Makefile.am -+++ systemd-44/Makefile.am -@@ -2201,13 +2201,15 @@ XSLTPROC_FLAGS = \ - --nonet \ - --stringparam funcsynopsis.style ansi - -+T=$(shell dpkg-parsechangelog | awk -F": " '$$1 == "Date" { print $$2 }') -+ - XSLTPROC_PROCESS_MAN = \ - $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ -- $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< -+ TZ=UTC faketime "$(T)" $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< - - XSLTPROC_PROCESS_HTML = \ - $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ -- $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $< -+ TZ=UTC faketime "$(T)" $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $< - - man/%.1: man/%.xml - $(XSLTPROC_PROCESS_MAN) ---- /dev/null -+++ systemd-44/.mailmap -@@ -0,0 +1,4 @@ -+Kay Sievers -+Robert Gerus Robert "arachnist" Gerus -+Zbigniew Jędrzejewski-Szmek Zbyszek Szmek -+Fabiano Fidêncio Fabiano Fidencio ---- /dev/null -+++ systemd-44/po/pl.po -@@ -0,0 +1,175 @@ -+# translation of pl.po to Polish -+# Piotr Drąg , 2011. -+# Zbigniew Jędrzejewski-Szmek , 2011. -+# -+msgid "" -+msgstr "" -+"Project-Id-Version: systemd\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2011-10-14 16:18+0200\n" -+"PO-Revision-Date: 2011-10-14 16:20+0200\n" -+"Last-Translator: Piotr Drąg \n" -+"Language-Team: Polish \n" -+"Language: pl\n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+ -+#: ../src/org.freedesktop.hostname1.policy.in.h:1 -+msgid "Authentication is required to set local machine information." -+msgstr "" -+"Wymagane jest uwierzytelnienie, aby ustawić informacje o lokalnym komputerze." -+ -+#: ../src/org.freedesktop.hostname1.policy.in.h:2 -+msgid "Authentication is required to set the local host name." -+msgstr "Wymagane jest uwierzytelnienie, aby ustawić nazwę lokalnego komputera." -+ -+#: ../src/org.freedesktop.hostname1.policy.in.h:3 -+msgid "" -+"Authentication is required to set the statically configured local host name, " -+"as well as the pretty host name." -+msgstr "" -+"Wymagane jest uwierzytelnienie, aby ustawić statycznie skonfigurowaną nazwę " -+"lokalnego komputera, a także jego ładną nazwę." -+ -+#: ../src/org.freedesktop.hostname1.policy.in.h:4 -+msgid "Set host name" -+msgstr "Ustawienie nazwy komputera" -+ -+#: ../src/org.freedesktop.hostname1.policy.in.h:5 -+msgid "Set machine information" -+msgstr "Ustawienie informacji o komputerze" -+ -+#: ../src/org.freedesktop.hostname1.policy.in.h:6 -+msgid "Set static host name" -+msgstr "Ustawienie statycznej nazwy komputera" -+ -+#: ../src/org.freedesktop.locale1.policy.in.h:1 -+msgid "Authentication is required to set the system keyboard settings." -+msgstr "Wymagane jest uwierzytelnienie, aby ustawić klawiaturę systemu." -+ -+#: ../src/org.freedesktop.locale1.policy.in.h:2 -+msgid "Authentication is required to set the system locale." -+msgstr "Wymagane jest uwierzytelnienie, aby ustawić lokalizację systemu." -+ -+#: ../src/org.freedesktop.locale1.policy.in.h:3 -+msgid "Set system keyboard settings" -+msgstr "Ustawienie klawiatury systemu" -+ -+#: ../src/org.freedesktop.locale1.policy.in.h:4 -+msgid "Set system locale" -+msgstr "Ustawienie lokalizacji systemu" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:1 -+msgid "Allow attaching devices to seats" -+msgstr "Zezwolenie na podłączanie urządzeń do stanowisk" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:2 -+msgid "Allow non-logged-in users to run programs" -+msgstr "Zezwolenie niezalogowanym użytkownikom na uruchamianie programów" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:3 -+msgid "" -+"Authentication is required to allow a non-logged-in user to run programs" -+msgstr "" -+"Wymagane jest uwierzytelnienie, aby ustawić zezwolić niezalogowanym " -+"użytkownikom na uruchamianie programów" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:4 -+msgid "Authentication is required to allow attaching a device to a seat" -+msgstr "" -+"Wymagane jest uwierzytelnienie, aby zezwolić na podłączenie urządzenia do " -+"stanowiska" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:5 -+msgid "Authentication is required to allow powering off the system" -+msgstr "Wymagane jest uwierzytelnienie, aby zezwolić na wyłączanie systemu" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:6 -+msgid "" -+"Authentication is required to allow powering off the system while other " -+"users are logged in" -+msgstr "" -+"Wymagane jest uwierzytelnienie, aby zezwolić na wyłączanie systemu, kiedy są " -+"zalogowani inni użytkownicy" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:7 -+msgid "Authentication is required to allow rebooting the system" -+msgstr "" -+"Wymagane jest uwierzytelnienie, aby zezwolić na ponowne uruchamianie systemu" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:8 -+msgid "" -+"Authentication is required to allow rebooting the system while other users " -+"are logged in" -+msgstr "" -+"Wymagane jest uwierzytelnienie, aby zezwolić na ponowne uruchamianie " -+"systemu, kiedy są zalogowani inni użytkownicy" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:9 -+msgid "" -+"Authentication is required to allow resetting how devices are attached to " -+"seats" -+msgstr "" -+"Wymagane jest uwierzytelnienie, aby zezwolić na ponowne ustawianie sposobu " -+"podłączenia urządzeń do stanowisk" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:10 -+msgid "Flush device to seat attachments" -+msgstr "Usunięcie podłączenia urządzeń do stanowisk" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:11 -+msgid "Power off the system" -+msgstr "Wyłączenie systemu" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:12 -+msgid "Power off the system when other users are logged in" -+msgstr "Wyłączenie systemu, kiedy są zalogowani inni użytkownicy" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:13 -+msgid "Reboot the system" -+msgstr "Ponowne uruchomienie systemu" -+ -+#: ../src/org.freedesktop.login1.policy.in.h:14 -+msgid "Reboot the system when other users are logged in" -+msgstr "Ponowne uruchomienie systemu, kiedy są zalogowani inni użytkownicy" -+ -+#: ../src/org.freedesktop.timedate1.policy.in.h:1 -+msgid "" -+"Authentication is required to control whether network time synchronization " -+"shall be enabled." -+msgstr "" -+"Wymagane jest uwierzytelnienie, aby kontrolować, czy włączyć synchronizację " -+"czasu przez sieć." -+ -+#: ../src/org.freedesktop.timedate1.policy.in.h:2 -+msgid "" -+"Authentication is required to control whether the RTC stores the local or " -+"UTC time." -+msgstr "" -+"Wymagane jest uwierzytelnienie, aby kontrolować, czy RTC przechowuje czas " -+"lokalny lub czas UTC." -+ -+#: ../src/org.freedesktop.timedate1.policy.in.h:3 -+msgid "Authentication is required to set the system time." -+msgstr "Wymagane jest uwierzytelnienie, aby ustawić czas systemu." -+ -+#: ../src/org.freedesktop.timedate1.policy.in.h:4 -+msgid "Authentication is required to set the system timezone." -+msgstr "Wymagane jest uwierzytelnienie, aby ustawić strefę czasową systemu." -+ -+#: ../src/org.freedesktop.timedate1.policy.in.h:5 -+msgid "Set RTC to local timezone or UTC" -+msgstr "Ustawienie RTC na lokalną strefę czasową lub strefę UTC" -+ -+#: ../src/org.freedesktop.timedate1.policy.in.h:6 -+msgid "Set system time" -+msgstr "Ustawienie czasu systemu" -+ -+#: ../src/org.freedesktop.timedate1.policy.in.h:7 -+msgid "Set system timezone" -+msgstr "Ustawienie strefy czasowej systemu" -+ -+#: ../src/org.freedesktop.timedate1.policy.in.h:8 -+msgid "Turn network time synchronization on or off" -+msgstr "Włączenie lub wyłączenie synchronizacji czasu przez sieć" ---- systemd-44.orig/src/manager.c -+++ systemd-44/src/manager.c -@@ -1700,6 +1700,8 @@ static int transaction_add_isolate_jobs( - int manager_add_job(Manager *m, JobType type, Unit *unit, JobMode mode, bool override, DBusError *e, Job **_ret) { - int r; - Job *ret; -+ Job *j; -+ Iterator i; - - assert(m); - assert(type < _JOB_TYPE_MAX); -@@ -1711,6 +1713,45 @@ int manager_add_job(Manager *m, JobType - return -EINVAL; - } - -+ if (type == JOB_RELOAD || type == JOB_RELOAD_OR_START || type == JOB_RESTART || type == JOB_TRY_RESTART) { -+ /* If final.target is queued (happens on poweroff, reboot and -+ * halt), we will not accept new reload jobs. They would not be -+ * executed ever anyways (since the shutdown comes first), but -+ * they block the shutdown process: when systemd tries to stop -+ * a unit such as ifup@eth0.service, that unit might invoke a -+ * systemctl reload command, which blockingly waits (but only -+ * gets executed after all other queued units for the shutdown -+ * have been executed). -+ * -+ * See http://bugs.debian.org/624599 and -+ * http://bugs.debian.org/635777 */ -+ HASHMAP_FOREACH(j, m->jobs, i) { -+ assert(j->installed); -+ -+ if (strcmp(j->unit->id, "final.target") == 0) { -+ log_debug("final.target is queued, ignoring %s request for unit %s", job_type_to_string(type), unit->id); -+ dbus_set_error(e, BUS_ERROR_INVALID_JOB_MODE, "final.target is queued, ignoring %s request for unit %s", job_type_to_string(type), unit->id); -+ return -EINVAL; -+ } -+ /* Trying to reload services from multi-user.target -+ * during the early boot stage can lead to deadlocks. -+ * An example is samba being reloaded by the dhcp hook -+ * when the network is activated during rcS. -+ * As a workaround we ignore reload or (re)start -+ * requests while sysinit.target is queued for -+ * services which have the DefaultDependencies option -+ * set to yes. -+ * -+ * See http://bugs.debian.org/624599 */ -+ if (strcmp(j->unit->id, "sysinit.target") == 0 && unit->default_dependencies) { -+ log_debug("sysinit.target is queued, ignoring %s request for unit %s", job_type_to_string(type), unit->id); -+ dbus_set_error(e, BUS_ERROR_INVALID_JOB_MODE, "sysinit.target is queued, ignoring %s request for unit %s", job_type_to_string(type), unit->id); -+ return -EINVAL; -+ } -+ } -+ } -+ -+ - if (mode == JOB_ISOLATE && !unit->allow_isolate) { - dbus_set_error(e, BUS_ERROR_NO_ISOLATION, "Operation refused, unit may not be isolated."); - return -EPERM; ---- /dev/null -+++ systemd-44/src/Makefile -@@ -0,0 +1,28 @@ -+# This file is part of systemd. -+# -+# Copyright 2010 Lennart Poettering -+# -+# systemd is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 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 -+# General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with systemd; If not, see . -+ -+# This file is a dirty trick to simplify compilation from within -+# emacs. This file is not intended to be distributed. So, don't touch -+# it, even better ignore it! -+ -+all: -+ $(MAKE) -C .. -+ -+clean: -+ $(MAKE) -C .. clean -+ -+.PHONY: all clean ---- systemd-44.orig/src/login/logind-session.c -+++ systemd-44/src/login/logind-session.c -@@ -627,7 +627,7 @@ static int session_terminate_cgroup(Sess - - r = manager_get_session_by_pid(s->manager, s->leader, &t); - if (r > 0 && t == s) { -- kill(s->leader, SIGTERM); /* for normal processes */ -+ /*kill(s->leader, SIGTERM); */ /* for normal processes */ - kill(s->leader, SIGHUP); /* for shells */ - kill(s->leader, SIGCONT); /* in case they are stopped */ - } ---- systemd-44.orig/src/journal/systemd-journald.conf -+++ systemd-44/src/journal/systemd-journald.conf -@@ -22,4 +22,4 @@ - #ForwardToSyslog=yes - #ForwardToKMsg=no - #ForwardToConsole=no --#ImportKernel=yes -+ImportKernel=no ---- /dev/null -+++ systemd-44/src/locale/generate-kbd-model-map -@@ -0,0 +1,33 @@ -+#!/usr/bin/python -+ -+import sys -+import system_config_keyboard.keyboard_models -+ -+def strdash(s): -+ return s.strip() or '-' -+ -+def tab_extend(s, n=1): -+ s = strdash(s) -+ k = len(s) // 8 -+ -+ if k >= n: -+ f = 1 -+ else: -+ f = n - k -+ -+ return s + '\t'*f -+ -+ -+models = system_config_keyboard.keyboard_models.KeyboardModels().get_models() -+ -+print "# Generated from system-config-keyboard's model list" -+print "# consolelayout\t\txlayout\txmodel\t\txvariant\txoptions" -+ -+for key, value in reversed(models.items()): -+ options = "terminate:ctrl_alt_bksp" -+ if value[4]: -+ options += ',' + value[4] -+ -+ print ''.join((tab_extend(key, 3), tab_extend(value[1]), -+ tab_extend(value[2], 2), tab_extend(value[3], 2), -+ options)) ---- systemd-44.orig/units/remount-rootfs.service -+++ systemd-44/units/remount-rootfs.service -@@ -10,7 +10,7 @@ Description=Remount Root FS - DefaultDependencies=no - Conflicts=shutdown.target - After=systemd-readahead-collect.service systemd-readahead-replay.service fsck-root.service --Before=local-fs-pre.target local-fs.target shutdown.target -+Before=local-fs-pre.target local-fs.target shutdown.target mountoverflowtmp.service - Wants=local-fs-pre.target - - [Service] ---- systemd-44.orig/units/remote-fs.target -+++ systemd-44/units/remote-fs.target -@@ -9,6 +9,7 @@ - - [Unit] - Description=Remote File Systems -+After=local-fs.target - - [Install] - WantedBy=multi-user.target ---- systemd-44.orig/tmpfiles.d/tmp.conf -+++ systemd-44/tmpfiles.d/tmp.conf -@@ -8,5 +8,5 @@ - # See tmpfiles.d(5) for details - - # Clear tmp directories separately, to make them easier to override --d /tmp 1777 root root 10d --d /var/tmp 1777 root root 30d -+D /tmp 1777 root root - -+#d /var/tmp 1777 root root 30d ---- systemd-44.orig/tmpfiles.d/legacy.conf -+++ systemd-44/tmpfiles.d/legacy.conf -@@ -17,6 +17,6 @@ - # On modern systems a BSD file lock is a better choice if - # serialization is needed on those devices. - --d /run/lock 0755 root root - -+d /run/lock 1777 root root - - d /run/lock/subsys 0755 root root - --d /run/lock/lockdev 0775 root lock - -+d /run/lock/lockdev 0775 root root - --- systemd-44/debian/patches/series 2012-10-25 20:01:31.000000000 +0000 +++ systemd-201/debian/patches/series 2013-04-09 14:10:15.000000000 +0000 @@ -1,3 +1 @@ -# debian/source/git-patches exported from git by export-hook -v44..upstream-fixes_44-5 -debian-changes +udevrunifup.diff --- systemd-44/debian/patches/udevrunifup.diff 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/patches/udevrunifup.diff 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,12 @@ +diff -ur systemd-197/rules/99-systemd.rules.in s596/rules/99-systemd.rules.in +--- systemd-197/rules/99-systemd.rules.in 2012-10-11 11:47:13.134673514 -0400 ++++ s596/rules/99-systemd.rules.in 2013-02-07 02:55:17.415682011 -0500 +@@ -49,7 +49,7 @@ + + # Apply sysctl variables to network devices (and only to those) as they appear. + +-SUBSYSTEM=="net", KERNEL!="lo", RUN+="@rootlibexecdir@/systemd-sysctl --prefix=/proc/sys/net/ipv4/conf/$name --prefix=/proc/sys/net/ipv4/neigh/$name --prefix=/proc/sys/net/ipv6/conf/$name --prefix=/proc/sys/net/ipv6/neigh/$name" ++SUBSYSTEM=="net", KERNEL!="lo", RUN+="@rootlibexecdir@/systemd-sysctl --prefix=/proc/sys/net/ipv4/conf/$name --prefix=/proc/sys/net/ipv4/neigh/$name --prefix=/proc/sys/net/ipv6/conf/$name --prefix=/proc/sys/net/ipv6/neigh/$name", ENV{SYSTEMD_WANTS}="ifup@$name.service" + + # Asynchronously mount file systems implemented by these modules as + # soon as they are loaded. --- systemd-44/debian/patches/v44..upstream-fixes_44-5 2012-10-25 20:01:31.000000000 +0000 +++ systemd-201/debian/patches/v44..upstream-fixes_44-5 1970-01-01 00:00:00.000000000 +0000 @@ -1,365 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index 079c118..eb58476 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -294,7 +294,6 @@ dist_systemunit_DATA = \ - units/sys-kernel-security.mount \ - units/sys-fs-fuse-connections.mount \ - units/var-run.mount \ -- units/media.mount \ - units/remount-rootfs.service \ - units/printer.target \ - units/sound.target \ -@@ -2306,13 +2305,11 @@ systemd-install-data-hook: - rm -f systemd-remount-api-vfs.service \ - fsck-root.service \ - remount-rootfs.service \ -- var-run.mount \ -- media.mount && \ -+ var-run.mount && \ - $(LN_S) ../systemd-remount-api-vfs.service systemd-remount-api-vfs.service && \ - $(LN_S) ../fsck-root.service fsck-root.service && \ - $(LN_S) ../remount-rootfs.service remount-rootfs.service && \ -- $(LN_S) ../var-run.mount var-run.mount && \ -- $(LN_S) ../media.mount media.mount ) -+ $(LN_S) ../var-run.mount var-run.mount ) - ( cd $(DESTDIR)$(userunitdir) && \ - rm -f shutdown.target sockets.target bluetooth.target printer.target sound.target && \ - $(LN_S) $(systemunitdir)/shutdown.target shutdown.target && \ -diff --git a/TODO b/TODO -index d33ae7f..4bdbb93 100644 ---- a/TODO -+++ b/TODO -@@ -18,6 +18,8 @@ Bugfixes: - - Features: - -+* dbus upstream still refers to dbus.target and shouldn't -+ - * journald: make configurable "store-on-var", "store-on-run", "dont-store", "auto" - (store-persistent, store-volatile?) - -diff --git a/man/systemd.path.xml b/man/systemd.path.xml -index 5b1ff75..306d8d2 100644 ---- a/man/systemd.path.xml -+++ b/man/systemd.path.xml -@@ -125,7 +125,7 @@ - is - activated. PathExistsGlob= - works similar, but checks for the -- existance of at least one file -+ existence of at least one file - matching the globbing pattern - specified. PathChanged= - may be used to watch a file or -diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml -index 3cc126b..ce05f2f 100644 ---- a/man/systemd.unit.xml -+++ b/man/systemd.unit.xml -@@ -122,7 +122,7 @@ - If a line starts with - followed by a file name, the specified file will be - parsed at this point. Make sure that the file that is -- included has the appropiate section headers before -+ included has the appropriate section headers before - any directives. - - Along with a unit file -diff --git a/src/cgtop.c b/src/cgtop.c -index 8b8617d..1257fd2 100644 ---- a/src/cgtop.c -+++ b/src/cgtop.c -@@ -340,17 +340,22 @@ static int refresh(Hashmap *a, Hashmap *b, unsigned iteration) { - - r = refresh_one("name=systemd", "/", a, b, iteration, 0); - if (r < 0) -- return r; -- -+ if (r != -ENOENT) -+ return r; - r = refresh_one("cpuacct", "/", a, b, iteration, 0); - if (r < 0) -- return r; -- -+ if (r != -ENOENT) -+ return r; - r = refresh_one("memory", "/", a, b, iteration, 0); - if (r < 0) -- return r; -+ if (r != -ENOENT) -+ return r; - -- return refresh_one("blkio", "/", a, b, iteration, 0); -+ r = refresh_one("blkio", "/", a, b, iteration, 0); -+ if (r < 0) -+ if (r != -ENOENT) -+ return r; -+ return 0; - } - - static int group_compare(const void*a, const void *b) { -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index 474dd5c..20a0193 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -67,9 +67,12 @@ void journal_file_close(JournalFile *f) { - - assert(f); - -- if (f->header && f->writable) -- f->header->state = STATE_OFFLINE; -+ if (f->header) { -+ if (f->writable) -+ f->header->state = STATE_OFFLINE; - -+ munmap(f->header, PAGE_ALIGN(sizeof(Header))); -+ } - - for (t = 0; t < _WINDOW_MAX; t++) - if (f->windows[t].ptr) -@@ -1887,7 +1890,10 @@ int journal_file_open_reliably( - char *p; - - r = journal_file_open(fname, flags, mode, template, ret); -- if (r != -EBADMSG) -+ if (r != -EBADMSG && /* corrupted */ -+ r != -ENODATA && /* truncated */ -+ r != -EHOSTDOWN && /* other machine */ -+ r != -EPROTONOSUPPORT) /* incompatible feature */ - return r; - - if ((flags & O_ACCMODE) == O_RDONLY) -diff --git a/src/journal/journald.c b/src/journal/journald.c -index baad3ab..7d798d9 100644 ---- a/src/journal/journald.c -+++ b/src/journal/journald.c -@@ -29,7 +29,6 @@ - #include - #include - #include --#include - - #include - #include -@@ -330,7 +329,10 @@ static void server_rotate(Server *s) { - if (s->runtime_journal) { - r = journal_file_rotate(&s->runtime_journal); - if (r < 0) -- log_error("Failed to rotate %s: %s", s->runtime_journal->path, strerror(-r)); -+ if (s->runtime_journal) -+ log_error("Failed to rotate %s: %s", s->runtime_journal->path, strerror(-r)); -+ else -+ log_error("Failed to create new runtime journal: %s", strerror(-r)); - else - server_fix_perms(s, s->runtime_journal, 0); - } -@@ -338,7 +340,11 @@ static void server_rotate(Server *s) { - if (s->system_journal) { - r = journal_file_rotate(&s->system_journal); - if (r < 0) -- log_error("Failed to rotate %s: %s", s->system_journal->path, strerror(-r)); -+ if (s->system_journal) -+ log_error("Failed to rotate %s: %s", s->system_journal->path, strerror(-r)); -+ else -+ log_error("Failed to create new system journal: %s", strerror(-r)); -+ - else - server_fix_perms(s, s->system_journal, 0); - } -@@ -346,7 +352,10 @@ static void server_rotate(Server *s) { - HASHMAP_FOREACH_KEY(f, k, s->user_journals, i) { - r = journal_file_rotate(&f); - if (r < 0) -- log_error("Failed to rotate %s: %s", f->path, strerror(-r)); -+ if (f->path) -+ log_error("Failed to rotate %s: %s", f->path, strerror(-r)); -+ else -+ log_error("Failed to create user journal: %s", strerror(-r)); - else { - hashmap_replace(s->user_journals, k, f); - server_fix_perms(s, s->system_journal, PTR_TO_UINT32(k)); -@@ -609,7 +618,15 @@ retry: - else { - r = journal_file_append_entry(f, NULL, iovec, n, &s->seqnum, NULL, NULL); - -- if ((r == -EBADMSG || r == -E2BIG) && !vacuumed) { -+ if ((r == -E2BIG || /* hit limit */ -+ r == -EFBIG || /* hit fs limit */ -+ r == -EDQUOT || /* quota hit */ -+ r == -ENOSPC || /* disk full */ -+ r == -EBADMSG || /* corrupted */ -+ r == -ENODATA || /* truncated */ -+ r == -EHOSTDOWN || /* other machine */ -+ r == -EPROTONOSUPPORT) && /* unsupported feature */ -+ !vacuumed) { - - if (r == -E2BIG) - log_info("Allocation limit reached, rotating."); -@@ -2141,10 +2158,20 @@ static int process_event(Server *s, struct epoll_event *ev) { - size_t label_len = 0; - union { - struct cmsghdr cmsghdr; -+ -+ /* We use NAME_MAX space for the -+ * SELinux label here. The kernel -+ * currently enforces no limit, but -+ * according to suggestions from the -+ * SELinux people this will change and -+ * it will probably be identical to -+ * NAME_MAX. For now we use that, but -+ * this should be updated one day when -+ * the final limit is known.*/ - uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) + - CMSG_SPACE(sizeof(struct timeval)) + -- CMSG_SPACE(sizeof(int)) + -- CMSG_SPACE(PAGE_SIZE)]; /* selinux label */ -+ CMSG_SPACE(sizeof(int)) + /* fd */ -+ CMSG_SPACE(NAME_MAX)]; /* selinux label */ - } control; - ssize_t n; - int v; -diff --git a/src/service.c b/src/service.c -index 8b5c0b0..808a1b8 100644 ---- a/src/service.c -+++ b/src/service.c -@@ -494,7 +494,7 @@ static ExecCommand *exec_command_new(const char *path, const char *arg1) { - return c; - } - --static int sysv_exec_commands(Service *s) { -+static int sysv_exec_commands(Service *s, const bool supports_reload) { - ExecCommand *c; - - assert(s); -@@ -508,13 +508,24 @@ static int sysv_exec_commands(Service *s) { - return -ENOMEM; - exec_command_append_list(s->exec_command+SERVICE_EXEC_STOP, c); - -- if (!(c = exec_command_new(s->sysv_path, "reload"))) -- return -ENOMEM; -- exec_command_append_list(s->exec_command+SERVICE_EXEC_RELOAD, c); -+ if (supports_reload) { -+ if (!(c = exec_command_new(s->sysv_path, "reload"))) -+ return -ENOMEM; -+ exec_command_append_list(s->exec_command+SERVICE_EXEC_RELOAD, c); -+ } - - return 0; - } - -+static bool usage_contains_reload(const char *line) { -+ return (strcasestr(line, "{reload|") || -+ strcasestr(line, "{reload}") || -+ strcasestr(line, "{reload\"") || -+ strcasestr(line, "|reload|") || -+ strcasestr(line, "|reload}") || -+ strcasestr(line, "|reload\"")); -+} -+ - static int service_load_sysv_path(Service *s, const char *path) { - FILE *f; - Unit *u; -@@ -524,10 +535,12 @@ static int service_load_sysv_path(Service *s, const char *path) { - NORMAL, - DESCRIPTION, - LSB, -- LSB_DESCRIPTION -+ LSB_DESCRIPTION, -+ USAGE_CONTINUATION - } state = NORMAL; - char *short_description = NULL, *long_description = NULL, *chkconfig_description = NULL, *description; - struct stat st; -+ bool supports_reload = false; - - assert(s); - assert(path); -@@ -574,8 +587,23 @@ static int service_load_sysv_path(Service *s, const char *path) { - line++; - - t = strstrip(l); -- if (*t != '#') -+ if (*t != '#') { -+ /* Try to figure out whether this init script supports -+ * the reload operation. This heuristic looks for -+ * "Usage" lines which include the reload option. */ -+ if ( state == USAGE_CONTINUATION || -+ (state == NORMAL && strcasestr(t, "usage"))) { -+ if (usage_contains_reload(t)) { -+ supports_reload = true; -+ state = NORMAL; -+ } else if (t[strlen(t)-1] == '\\') -+ state = USAGE_CONTINUATION; -+ else -+ state = NORMAL; -+ } -+ - continue; -+ } - - if (state == NORMAL && streq(t, "### BEGIN INIT INFO")) { - state = LSB; -@@ -868,7 +896,7 @@ static int service_load_sysv_path(Service *s, const char *path) { - } - } - -- if ((r = sysv_exec_commands(s)) < 0) -+ if ((r = sysv_exec_commands(s, supports_reload)) < 0) - goto finish; - if (s->sysv_runlevels && - chars_intersect(RUNLEVELS_BOOT, s->sysv_runlevels) && -@@ -2094,7 +2122,8 @@ static void service_enter_start(Service *s) { - /* We want to ensure that nobody leaks processes from - * START_PRE here, so let's go on a killing spree, People - * should not spawn long running processes from START_PRE. */ -- cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, SIGKILL, true, NULL); -+ // F17, bz816842, bz805942 -+ //cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, SIGKILL, true, NULL); - - if (s->type == SERVICE_FORKING) { - s->control_command_id = SERVICE_EXEC_START; -@@ -2168,7 +2197,8 @@ static void service_enter_start_pre(Service *s) { - - /* Before we start anything, let's clear up what might - * be left from previous runs. */ -- cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, SIGKILL, true, NULL); -+ // F17, bz816842, bz805942 -+ //cgroup_bonding_kill_list(UNIT(s)->cgroup_bondings, SIGKILL, true, NULL); - - s->control_command_id = SERVICE_EXEC_START_PRE; - -diff --git a/src/util.c b/src/util.c -index 20cbc2b..dfc1dc6 100644 ---- a/src/util.c -+++ b/src/util.c -@@ -3593,7 +3593,8 @@ static int rm_rf_children(int fd, bool only_dirs, bool honour_sticky) { - if (is_dir) { - int subdir_fd; - -- if ((subdir_fd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC)) < 0) { -+ subdir_fd = openat(fd, de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW); -+ if (subdir_fd < 0) { - if (ret == 0 && errno != ENOENT) - ret = -errno; - continue; -diff --git a/units/media.mount b/units/media.mount -deleted file mode 100644 -index 66a5a5c..0000000 ---- a/units/media.mount -+++ /dev/null -@@ -1,16 +0,0 @@ --# This file is part of systemd. --# --# systemd is free software; you can redistribute it and/or modify it --# under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2 of the License, or --# (at your option) any later version. -- --[Unit] --Description=Media Directory --Before=local-fs.target -- --[Mount] --What=tmpfs --Where=/media --Type=tmpfs --Options=mode=755,nosuid,nodev,noexec --- systemd-44/debian/rules 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/rules 2013-04-09 14:10:15.000000000 +0000 @@ -1,7 +1,6 @@ #! /usr/bin/make -f -#export DH_VERBOSE=1 -#export DEB_BUILD_OPTIONS="nostrip" +export DH_VERBOSE=1 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) @@ -9,26 +8,17 @@ dh_auto_configure -- \ --with-rootprefix= \ --with-rootlibdir=/lib/$(DEB_HOST_MULTIARCH) \ - --with-udevrulesdir=/lib/udev/rules.d \ - --enable-gtk \ - --enable-libcryptsetup \ - --enable-tcpwrap \ - --enable-selinux \ - --disable-coredump \ - --with-distro=debian + --disable-tcpwrap \ + --disable-coredump \ + --enable-static=yes override_dh_auto_clean: dh_auto_clean - rm -f man/*.[1358] - rm -f src/systemadm.c - rm -f src/gnome-ask-password-agent.c - rm -f src/systemd-interfaces.c override_dh_install: - rm debian/tmp/usr/share/doc/systemd/LICENSE - rm debian/tmp/lib/systemd/system/sysinit.target.wants/systemd-vconsole-setup.service + find debian/tmp/ -name '*.pyc' -delete + find debian/tmp/ -name '*.pyo' -delete find debian/tmp/ -name '*.la' -delete - chmod +x debian/debian-fixup dh_install -O--parallel --fail-missing dh_install -plibpam-systemd debian/pam-configs /usr/share --- systemd-44/debian/source/git-patches 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/source/git-patches 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -#v$UPSTREAM_REF..debian-units_$DEB_VERSION -v$UPSTREAM_REF..upstream-fixes_$DEB_VERSION --- systemd-44/debian/source/options 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/source/options 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -single-debian-patch --- systemd-44/debian/start-udev 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/start-udev 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,38 @@ +#!/bin/sh -e + +make_extra_nodes() { + [ -e /etc/udev/links.conf ] || return 0 + grep '^[^#]' /etc/udev/links.conf | \ + while read type name arg1; do + [ "$type" -a "$name" -a ! -e "/dev/$name" -a ! -L "/dev/$name" ] ||continue + case "$type" in + L) ln -s $arg1 /dev/$name ;; + D) mkdir -p /dev/$name ;; + M) mknod -m 600 /dev/$name $arg1 ;; + *) echo "links.conf: unparseable line ($type $name $arg1)" ;; + esac + done +} + +echo > /sys/kernel/uevent_helper + +if ! grep -E -q "^[^[:space:]]+ /dev (dev)?tmpfs" /proc/mounts; then + mount -n -o mode=0755 -t tmpfs tmpfs /dev +fi +make_extra_nodes + +/lib/systemd/systemd-udevd --daemon --resolve-names=never + +udevadm trigger --action=add + +mount /dev/pts + +udevadm settle || true + +if [ -d /sys/bus/scsi ]; then + modprobe -q scsi_wait_scan && modprobe -r scsi_wait_scan || true + udevadm settle || true +fi + +exit 0 + --- systemd-44/debian/systemd-gui.install 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/systemd-gui.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -usr/bin/systemadm -usr/share/man/man1/systemadm.1 -usr/bin/systemd-gnome-ask-password-agent --- systemd-44/debian/systemd-sysv.install 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/systemd-sysv.install 2013-04-09 14:10:15.000000000 +0000 @@ -1,7 +1,12 @@ -usr/share/man/man8/telinit.8 +etc/init.d +# udevadm.8 is installed by systemd (main package) usr/share/man/man1/init.1 usr/share/man/man8/runlevel.8 usr/share/man/man8/shutdown.8 usr/share/man/man8/poweroff.8 usr/share/man/man8/reboot.8 usr/share/man/man8/halt.8 +usr/share/man/man8/telinit.8 +usr/share/man/man8/systemd-*.8 +debian/invoke-rc.d usr/sbin/ +debian/update-rc.d usr/sbin/ --- systemd-44/debian/systemd.install 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/systemd.install 2013-04-09 14:10:15.000000000 +0000 @@ -1,48 +1,85 @@ -etc +# all of etc except: +# /etc/init.d or /etc/rc*, which go in systemd-sysv +# /etc/udev, which goes in udev +etc/binfmt.d +etc/dbus-1 +etc/modules-load.d +etc/rpm +etc/sysctl.d +etc/systemd +etc/tmpfiles.d +etc/xdg + bin/systemctl -bin/systemd-journalctl -bin/systemd-notify -bin/systemd-tty-ask-password-agent +bin/journalctl +bin/loginctl bin/systemd-ask-password +bin/systemd-inhibit bin/systemd-machine-id-setup +bin/systemd-notify bin/systemd-tmpfiles -bin/systemd-loginctl +bin/systemd-tty-ask-password-agent lib/systemd/ -lib/udev/rules.d/ +usr/bin/hostnamectl +usr/bin/localectl +usr/bin/systemd-analyze +usr/bin/systemd-cat usr/bin/systemd-cgls usr/bin/systemd-cgtop +#usr/bin/systemd-coredumpctl +usr/bin/systemd-delta +usr/bin/systemd-detect-virt usr/bin/systemd-nspawn usr/bin/systemd-stdio-bridge -usr/bin/systemd-analyze -usr/bin/systemd-cat +usr/bin/timedatectl +usr/share/bash-completion +# init.1 is installed by systemd-initv +usr/share/man/man1/hostnamectl.1 +usr/share/man/man1/journalctl.1 +usr/share/man/man1/localectl.1 +usr/share/man/man1/loginctl.1 +usr/share/man/man1/systemctl.1 +usr/share/man/man1/systemd.1 +usr/share/man/man1/systemd-analyze.1 +usr/share/man/man1/systemd-ask-password.1 usr/share/man/man1/systemd-notify.1 +usr/share/man/man1/systemd-bootchart.1 +usr/share/man/man1/systemd-cat.1 usr/share/man/man1/systemd-cgls.1 usr/share/man/man1/systemd-cgtop.1 -usr/share/man/man1/systemd.1 -usr/share/man/man1/systemctl.1 -usr/share/man/man1/systemd-nspawn.1 -usr/share/man/man1/systemd-ask-password.1 -usr/share/man/man1/systemd-loginctl.1 +#usr/share/man/man1/systemd-coredumpctl.1 +usr/share/man/man1/systemd-delta.1 +usr/share/man/man1/systemd-detect-virt.1 +usr/share/man/man1/systemd-inhibit.1 usr/share/man/man1/systemd-machine-id-setup.1 -usr/share/man/man1/systemd-cat.1 -usr/share/man/man1/systemd-journalctl.1 +usr/share/man/man1/systemd-notify.1 +usr/share/man/man1/systemd-nspawn.1 +usr/share/man/man1/systemd-tty-ask-password-agent.1 +usr/share/man/man1/timedatectl.1 usr/share/man/man3 usr/share/man/man5 -usr/share/man/man7 -usr/share/man/man8/systemd-tmpfiles.8 +usr/share/man/man7/bootup.7 +usr/share/man/man7/daemon.7 +usr/share/man/man7/kernel-command-line.7 +usr/share/man/man7/systemd.directives.7 +usr/share/man/man7/systemd.index.7 +usr/share/man/man7/systemd.journal-fields.7 +usr/share/man/man7/systemd.special.7 +usr/share/man/man7/systemd.time.7 +usr/share/man/man8/nss-myhostname.8 +usr/share/man/man8/kernel-install.8 usr/share/dbus-1 usr/share/doc -usr/share/pkgconfig +usr/share/pkgconfig/systemd.pc usr/share/polkit-1 +usr/share/systemd/gatewayd/ usr/share/systemd/kbd-model-map usr/lib/binfmt.d usr/lib/modules-load.d usr/lib/sysctl.d usr/lib/systemd -usr/lib/*/systemd usr/lib/tmpfiles.d debian/init-functions.d/40-systemd /lib/lsb/init-functions.d -debian/debian-fixup lib/systemd/ -debian/debian-fixup.service lib/systemd/system debian/tmpfiles.d/debian.conf usr/lib/tmpfiles.d -debian/ifup@.service lib/systemd/system +var/log/README +usr/lib/python* --- systemd-44/debian/systemd.links 2012-10-25 19:54:48.000000000 +0000 +++ systemd-201/debian/systemd.links 2013-04-09 14:10:15.000000000 +0000 @@ -55,7 +55,5 @@ /dev/null /lib/systemd/system/single.service /dev/null /lib/systemd/system/killprocs.service -# Run fixups early -/lib/systemd/system/debian-fixup.service /lib/systemd/system/sysinit.target.wants/debian-fixup.service # Compat symlink /lib/systemd/systemd /bin/systemd --- systemd-44/debian/udev-udeb.dirs 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/udev-udeb.dirs 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,5 @@ +/etc/udev/rules.d/ +/lib/debian-installer/ +/lib/udev/rules.d/ +/usr/lib/base-installer.d/ +/sbin/ --- systemd-44/debian/udev-udeb.install 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/udev-udeb.install 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,11 @@ +etc/* +bin/udevadm sbin +bin/* +lib/*/*.so.* lib/ +usr/bin/* +lib/systemd +debian/create_static_nodes lib/udev/ +debian/write_dev_root_rule lib/udev/ +debian/start-udev lib/debian-installer/ +debian/05udev usr/lib/base-installer.d/ +debian/links.conf etc/udev/ --- systemd-44/debian/udev-udeb.links 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/udev-udeb.links 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1 @@ +/lib/systemd/systemd-udevd /sbin/udevd --- systemd-44/debian/udev.dirs 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/udev.dirs 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,10 @@ +/etc/modprobe.d/ +/etc/udev/ +/etc/udev/.dev/ +/lib/udev/ +/lib/udev/devices/ +/lib/firmware/ +/usr/share/initramfs-tools/hooks/ +/usr/share/initramfs-tools/scripts/init-top/ +/usr/share/initramfs-tools/scripts/init-bottom/ +/sbin/ --- systemd-44/debian/udev.init 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/udev.init 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,349 @@ +#!/bin/sh -e +### BEGIN INIT INFO +# Provides: udev +# Required-Start: mountkernfs +# Required-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Start udevd, populate /dev and load drivers. +### END INIT INFO + +UDEVADM=/usr/bin/udevadm + +# we need to unmount /dev/pts/ and remount it later over the tmpfs +unmount_devpts() { + if mountpoint -q /dev/pts/; then + umount -n -l /dev/pts/ + fi + + if mountpoint -q /dev/shm/; then + umount -n -l /dev/shm/ + fi +} + +# mount a tmpfs over /dev, if somebody did not already do it +mount_tmpfs() { + if grep -E -q "^[^[:space:]]+ /dev (dev)?tmpfs" /proc/mounts; then + mount -n -o remount,${dev_mount_options} -t tmpfs tmpfs /dev + return + fi + + if ! mount -n -o $dev_mount_options -t tmpfs tmpfs /dev; then + log_failure_msg "udev requires tmpfs support, not started" + log_end_msg 1 + fi + + return 0 +} + +create_dev_makedev() { + if [ -e /sbin/MAKEDEV ]; then + ln -sf /sbin/MAKEDEV /dev/MAKEDEV + else + ln -sf /bin/true /dev/MAKEDEV + fi +} + +# If the initramfs does not have /run, the initramfs udev database must +# be migrated from /dev/.udev/ to /run/udev/. +move_udev_database() { + [ -e "$udev_root/.udev/" ] || return 0 + [ ! -e /run/udev/ ] || return 0 + [ -e /run/ ] || return 0 + mountpoint -q /run/ || return 0 + + mv $udev_root/.udev/ /run/udev/ || true +} + +supported_kernel() { + case "$(uname -r)" in + 2.[012345].*|2.6.[0-9]|2.6.[0-9][!0-9]*) return 1 ;; + 2.6.[12][0-9]|2.6.[12][0-9][!0-9]*) return 1 ;; + 2.6.3[0-1]|2.6.3[0-1][!0-9]*) return 1 ;; + esac + return 0 +} + +# shell version of /usr/bin/tty +my_tty() { + [ -x /bin/readlink ] || return 0 + [ -e /proc/self/fd/0 ] || return 0 + readlink --silent /proc/self/fd/0 || true +} + +warn_if_interactive() { + if [ "$RUNLEVEL" = "S" -a "$PREVLEVEL" = "N" ]; then + return + fi + + TTY=$(my_tty) + if [ -z "$TTY" -o "$TTY" = "/dev/console" -o "$TTY" = "/dev/null" ]; then + return + fi + + printf "\n\n\nIt has been detected that the command\n\n\t$0 $*\n\n" + printf "has been run from an interactive shell.\n" + printf "It will probably not do what you expect, so this script will wait\n" + printf "60 seconds before continuing. Press ^C to stop it.\n" + printf "RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!\n\n\n\n" + sleep 60 +} + +############################################################################## + +[ -x /sbin/udevd ] || exit 0 + +PATH="/sbin:/bin" + +# defaults +tmpfs_size="10M" +udev_root="/dev" + +if [ -e /etc/udev/udev.conf ]; then + . /etc/udev/udev.conf +fi + +. /lib/lsb/init-functions + +if ! supported_kernel; then + log_failure_msg "udev requires a kernel >= 2.6.32, not started" + log_end_msg 1 +fi + +if [ ! -e /proc/filesystems ]; then + log_failure_msg "udev requires a mounted procfs, not started" + log_end_msg 1 +fi + +if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then + log_failure_msg "udev requires tmpfs support, not started" + log_end_msg 1 +fi + +if [ ! -d /sys/class/ ]; then + log_failure_msg "udev requires a mounted sysfs, not started" + log_end_msg 1 +fi + +if [ ! -e /sys/kernel/uevent_helper ]; then + log_failure_msg "udev requires hotplug support, not started" + log_end_msg 1 +fi + +if ! ps --no-headers --format args ax | egrep -q '^\['; then + log_warning_msg "udev does not support containers, not started" + exit 0 +fi + +if [ -d /sys/class/mem/null -a ! -L /sys/class/mem/null ] || \ + [ -e /sys/block -a ! -e /sys/class/block ]; then + log_warning_msg "CONFIG_SYSFS_DEPRECATED must not be selected" + log_warning_msg "Booting will continue in 30 seconds but many things will be broken" + sleep 30 +fi + +############################################################################## + +# this is experimental and may not work well +if [ "$UDEV_DISABLED" = "yes" ]; then + udev_root=/etc/udev/.dev + export UDEV_ROOT=$udev_root +fi + +udev_root=${udev_root%/} + +dev_mount_options='mode=0755' +if [ "$tmpfs_size" ]; then + dev_mount_options="size=${tmpfs_size},${dev_mount_options}" +fi + +if [ "$udev_root" != "/dev" ]; then + log_warning_msg "udev_root != /dev/" + +case "$1" in + start) + if mountpoint -q $udev_root/; then + log_failure_msg "$udev_root is already mounted" + log_end_msg 1 + fi + + echo > /sys/kernel/uevent_helper + + mount -n -o $dev_mount_options -t tmpfs tmpfs $udev_root + + log_daemon_msg "Starting the hotplug events dispatcher" "udevd" + if udevd --daemon; then + log_end_msg $? + else + log_warning_msg $? + log_warning_msg "Waiting 15 seconds and trying to continue anyway" + sleep 15 + fi + + /lib/udev/write_dev_root_rule + + log_action_begin_msg "Synthesizing the initial hotplug events" + if $UDEVADM trigger --action=add; then + log_action_end_msg $? + else + log_action_end_msg $? + fi + + ;; + stop) + log_daemon_msg "Stopping the hotplug events dispatcher" "udevd" + if start-stop-daemon --stop --name udevd --user root --quiet --oknodo --retry 5; then + log_end_msg $? + else + log_end_msg $? + fi + + log_action_begin_msg "Unmounting $udev_root" + # unmounting with -l should never fail + if umount -n -l $udev_root; then + log_action_end_msg $? + else + log_action_end_msg $? + fi + ;; + + restart) + log_daemon_msg "Stopping the hotplug events dispatcher" "udevd" + if start-stop-daemon --stop --name udevd --user root --quiet --oknodo --retry 5; then + log_end_msg $? + else + log_end_msg $? || true + fi + + log_daemon_msg "Starting the hotplug events dispatcher" "udevd" + if udevd --daemon; then + log_end_msg $? + else + log_end_msg $? + fi + ;; + + reload|force-reload) + $UDEVADM control --reload-rules + ;; + + status) + status_of_proc /sbin/udevd udevd && exit 0 || exit $? + ;; + + *) + echo "Usage: /etc/init.d/udev {start|stop|restart|reload|force-reload|status}" >&2 + exit 1 + ;; +esac + + exit 0 +fi # udev_root != /dev + +############################################################################## + +# When modifying this script, do not forget that between the time that the +# new /dev has been mounted and $UDEVADM trigger has been run there will be +# no /dev/null. This also means that you cannot use the "&" shell command. + +case "$1" in + start) + if mountpoint -q $udev_root/; then + TMPFS_MOUNTED=1 + elif [ -e "$udev_root/.udev/" ]; then + log_warning_msg ".udev/ already exists on the static $udev_root" + fi + + if [ ! -e "$udev_root/.udev/" -a ! -e "/run/udev/" ]; then + warn_if_interactive + fi + + echo > /sys/kernel/uevent_helper + + move_udev_database + + if [ -z "$TMPFS_MOUNTED" ]; then + unmount_devpts + mount_tmpfs + [ -d /proc/1 ] || mount -n /proc + fi + + # clean up parts of the database created by the initramfs udev + $UDEVADM info --cleanup-db + + # set the SELinux context for devices created in the initramfs + [ -x /sbin/restorecon ] && /sbin/restorecon -R /dev + + # /dev/null must be created before udevd is started + /lib/udev/create_static_nodes || true + + log_daemon_msg "Starting the hotplug events dispatcher" "udevd" + if udevd --daemon; then + log_end_msg $? + else + log_warning_msg $? + log_warning_msg "Waiting 15 seconds and trying to continue anyway" + sleep 15 + fi + + /lib/udev/write_dev_root_rule + + log_action_begin_msg "Synthesizing the initial hotplug events" + if $UDEVADM trigger --action=add; then + log_action_end_msg $? + else + log_action_end_msg $? + fi + + create_dev_makedev + + # wait for the udevd childs to finish + log_action_begin_msg "Waiting for /dev to be fully populated" + if $UDEVADM settle; then + log_action_end_msg 0 + else + log_action_end_msg 0 'timeout' + fi + ;; + + stop) + log_daemon_msg "Stopping the hotplug events dispatcher" "udevd" + if start-stop-daemon --stop --name udevd --user root --quiet --oknodo --retry 5; then + log_end_msg $? + else + log_end_msg $? + fi + ;; + + restart) + log_daemon_msg "Stopping the hotplug events dispatcher" "udevd" + if start-stop-daemon --stop --name udevd --user root --quiet --oknodo --retry 5; then + log_end_msg $? + else + log_end_msg $? || true + fi + + log_daemon_msg "Starting the hotplug events dispatcher" "udevd" + if udevd --daemon; then + log_end_msg $? + else + log_end_msg $? + fi + ;; + + reload|force-reload) + $UDEVADM control --reload-rules + ;; + + status) + status_of_proc /sbin/udevd udevd && exit 0 || exit $? + ;; + + *) + echo "Usage: /etc/init.d/udev {start|stop|restart|reload|force-reload|status}" >&2 + exit 1 + ;; +esac + +exit 0 + --- systemd-44/debian/udev.install 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/udev.install 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,6 @@ +etc/udev +lib/udev +bin/udevadm +usr/share/man/man7/udev.7 +usr/share/man/man8/udevadm.8 +debian/links.conf etc/udev/ --- systemd-44/debian/udev.udev-mtab.init 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/udev.udev-mtab.init 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,52 @@ +#!/bin/sh -e +### BEGIN INIT INFO +# Provides: udev-mtab +# Required-Start: udev $local_fs +# Required-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Add to mtab the entry for /dev. +### END INIT INFO + +PATH="/sbin:/bin" + +case "$1" in + start) ;; + stop|restart|force-reload) exit 0 ;; + *) echo "Usage: $0 {start|stop|restart|force-reload}" >&2; exit 1 ;; +esac + +# copy the rules generated before / was mounted read-write +for file in /dev/.udev/tmp-rules--* /run/udev/tmp-rules--*; do + dest=${file##*tmp-rules--} + [ "$dest" = '*' ] && continue + cat $file >> /etc/udev/rules.d/$dest + rm -f $file +done + + +# if it's not, it's probably a symlink to /proc/mounts +[ -w /etc/mtab ] || exit 0 + +# defaults +tmpfs_size="10M" +udev_root="/dev/" + +if [ -e /etc/udev/udev.conf ]; then + . /etc/udev/udev.conf +fi + +# strip the trailing slash +udev_root=${udev_root%/} + +if mountpoint -q $udev_root; then + if ! grep -E --quiet --no-messages "^[^ ]+ +$udev_root +" /etc/mtab; then + mtabline="$(grep -E --no-messages "^[^ ]+ +$udev_root +(dev)?tmpfs +" /proc/mounts || true)" + if [ "$mtabline" ]; then + echo "$mtabline" >> /etc/mtab + fi + fi +fi + +exit 0 + --- systemd-44/debian/update-rc.d 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/update-rc.d 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,581 @@ +#! /usr/bin/perl +# +# update-rc.d Update the links in /etc/rc[0-9S].d/ +# + +use strict; +use warnings; + +my $initd = "/etc/init.d"; +my $etcd = "/etc/rc"; +my $notreally = 0; + +# Print usage message and die. + +sub usage { + print STDERR "update-rc.d: error: @_\n" if ($#_ >= 0); + print STDERR < remove + update-rc.d [-n] defaults [NN | SS KK] + update-rc.d [-n] start|stop NN runlvl [runlvl] [...] . + update-rc.d [-n] disable|enable [S|2|3|4|5] + -n: not really + -f: force + +The disable|enable API is not stable and might change in the future. +EOF + exit (1); +} + +# Dependency based boot sequencing is the default, but upgraded +# systems might keep the legacy ordering until the sysadm choose to +# migrate to the new ordering method. +if ( ! -f "/etc/init.d/.legacy-bootordering" ) { + info("using dependency based boot sequencing"); + exit insserv_updatercd(@ARGV); +} + +# Check out options. +my $force; + +my @orig_argv = @ARGV; + +while($#ARGV >= 0 && ($_ = $ARGV[0]) =~ /^-/) { + shift @ARGV; + if (/^-n$/) { $notreally++; next } + if (/^-f$/) { $force++; next } + if (/^-h|--help$/) { &usage; } + &usage("unknown option"); +} + +sub save_last_action { + # No-op (archive removed) +} + +sub remove_last_action { + # No-op (archive removed) +} + +# Action. + +&usage() if ($#ARGV < 1); +my $bn = shift @ARGV; + +unless ($bn =~ m/[a-zA-Z0-9+.-]+/) { + print STDERR "update-rc.d: illegal character in name '$bn'\n"; + exit (1); +} + +if ($ARGV[0] ne 'remove') { + if (! -f "$initd/$bn") { + print STDERR "update-rc.d: $initd/$bn: file does not exist\n"; + exit (1); + } + &parse_lsb_header("$initd/$bn"); + &cmp_args_with_defaults($bn, $ARGV[0], @ARGV); +} elsif (-f "$initd/$bn") { + if (!$force) { + printf STDERR "update-rc.d: $initd/$bn exists during rc.d purge (use -f to force)\n"; + exit (1); + } +} + +my @startlinks; +my @stoplinks; + +$_ = $ARGV[0]; +if (/^remove$/) { &checklinks ("remove"); remove_last_action($bn); } +elsif (/^defaults$/) { &defaults (@ARGV); &makelinks; save_last_action($bn, @orig_argv); } +elsif (/^(start|stop)$/) { &startstop (@ARGV); &makelinks; save_last_action($bn, @orig_argv); } +elsif (/^(dis|en)able$/) { &toggle (@ARGV); &makelinks; save_last_action($bn, @orig_argv); } +else { &usage; } + +exit (0); + +sub info { + print STDOUT "update-rc.d: @_\n"; +} + +sub warning { + print STDERR "update-rc.d: warning: @_\n"; +} + +sub error { + print STDERR "update-rc.d: error: @_\n"; + exit (1); +} + +sub error_code { + my $rc = shift; + print STDERR "update-rc.d: error: @_\n"; + exit ($rc); +} + +# Check if there are links in /etc/rc[0-9S].d/ +# Remove if the first argument is "remove" and the links +# point to $bn. + +sub is_link () { + my ($op, $fn, $bn) = @_; + if (! -l $fn) { + warning "$fn is not a symbolic link\n"; + return 0; + } else { + my $linkdst = readlink ($fn); + if (! defined $linkdst) { + die ("update-rc.d: error reading symbolic link: $!\n"); + } + if (($linkdst ne "../init.d/$bn") && ($linkdst ne "$initd/$bn")) { + warning "$fn is not a link to ../init.d/$bn or $initd/$bn\n"; + return 0; + } + } + return 1; +} + +sub checklinks { + my ($i, $found, $fn, $islnk); + + print " Removing any system startup links for $initd/$bn ...\n" + if (defined $_[0] && $_[0] eq 'remove'); + + $found = 0; + + foreach $i (0..9, 'S') { + unless (chdir ("$etcd$i.d")) { + next if ($i =~ m/^[789S]$/); + die("update-rc.d: chdir $etcd$i.d: $!\n"); + } + opendir(DIR, "."); + my $saveBN=$bn; + $saveBN =~ s/\+/\\+/g; + foreach $_ (readdir(DIR)) { + next unless (/^[SK]\d\d$saveBN$/); + $fn = "$etcd$i.d/$_"; + $found = 1; + $islnk = &is_link ($_[0], $fn, $bn); + next unless (defined $_[0] and $_[0] eq 'remove'); + if (! $islnk) { + print " $fn is not a link to ../init.d/$bn; not removing\n"; + next; + } + print " $etcd$i.d/$_\n"; + next if ($notreally); + unlink ("$etcd$i.d/$_") || + die("update-rc.d: unlink: $!\n"); + } + closedir(DIR); + } + $found; +} + +sub parse_lsb_header { + my $initdscript = shift; + my %lsbinfo; + my $lsbheaders = "Provides|Required-Start|Required-Stop|Default-Start|Default-Stop"; + open(INIT, "<$initdscript") || die "error: unable to read $initdscript"; + while () { + chomp; + $lsbinfo{'found'} = 1 if (m/^\#\#\# BEGIN INIT INFO\s*$/); + last if (m/\#\#\# END INIT INFO\s*$/); + if (m/^\# ($lsbheaders):\s*(\S?.*)$/i) { + $lsbinfo{lc($1)} = $2; + } + } + close(INIT); + + # Check that all the required headers are present + if (!$lsbinfo{found}) { + printf STDERR "update-rc.d: warning: $initdscript missing LSB information\n"; + printf STDERR "update-rc.d: see \n"; + } else { + for my $key (split(/\|/, lc($lsbheaders))) { + if (!exists $lsbinfo{$key}) { + warning "$initdscript missing LSB keyword '$key'\n"; + } + } + } +} + + +# Process the arguments after the "enable" or "disable" keyword. + +sub toggle { + my @argv = @_; + my ($action, %lvls, @start, @stop, @xstartlinks); + + if (!&checklinks) { + print " System start/stop links for $initd/$bn do not exist.\n"; + exit (0); + } + + $action = $argv[0]; + if ($#argv > 1) { + while ($#argv > 0 && shift @argv) { + if ($argv[0] =~ /^[S2-5]$/) { + $lvls{$argv[0]}++; + } else { + &usage ("expected 'S' '2' '3' '4' or '5'"); + } + } + } else { + $lvls{$_}++ for ('S', '2', '3', '4', '5'); + } + + push(@start, glob($etcd . '[2-5S].d/[KS][0-9][0-9]' . $bn)); + + foreach (@start) { + my $islink = &is_link (undef, $_, $bn); + next if !$islink; + + next unless my ($lvl, $sk, $seq) = m/^$etcd([2-5S])\.d\/([SK])([0-9]{2})$bn$/; + $startlinks[$lvl] = $sk . $seq; + + if ($action eq 'disable' and $sk eq 'S' and $lvls{$lvl}) { + $xstartlinks[$lvl] = 'K' . sprintf "%02d", (100 - $seq); + } elsif ($action eq 'enable' and $sk eq 'K' and $lvls{$lvl}) { + $xstartlinks[$lvl] = 'S' . sprintf "%02d", -($seq - 100); + } else { + $xstartlinks[$lvl] = $sk . $seq; + } + } + + push(@stop, glob($etcd . '[016].d/[KS][0-9][0-9]' . $bn)); + + foreach (@stop) { + my $islink = &is_link (undef, $_, $bn); + next if !$islink; + + next unless my ($lvl, $sk, $seq) = m/^$etcd([016])\.d\/([SK])([0-9]{2})$bn$/; + $stoplinks[$lvl] = $sk . $seq; + } + + if ($action eq 'disable') { + print " Disabling system startup links for $initd/$bn ...\n"; + } elsif ($action eq 'enable') { + print " Enabling system startup links for $initd/$bn ...\n"; + } + + &checklinks ("remove"); + @startlinks = @xstartlinks; + + 1; +} + +# Process the arguments after the "defaults" keyword. + +sub defaults { + my @argv = @_; + my ($start, $stop) = (20, 20); + + &usage ("defaults takes only one or two codenumbers") if ($#argv > 2); + $start = $stop = $argv[1] if ($#argv >= 1); + $stop = $argv[2] if ($#argv >= 2); + &usage ("codenumber must be a number between 0 and 99") + if ($start !~ /^\d\d?$/ || $stop !~ /^\d\d?$/); + + $start = sprintf("%02d", $start); + $stop = sprintf("%02d", $stop); + + $stoplinks[$_] = "K$stop" for (0, 1, 6); + $startlinks[$_] = "S$start" for (2, 3, 4, 5); + + 1; +} + +# Process the arguments after the start or stop keyword. + +sub startstop { + my @argv = @_; + my($letter, $NN, $level); + + while ($#argv >= 0) { + if ($argv[0] eq 'start') { $letter = 'S'; } + elsif ($argv[0] eq 'stop') { $letter = 'K'; } + else { + &usage("expected start|stop"); + } + + if ($argv[1] !~ /^\d\d?$/) { + &usage("expected NN after $argv[0]"); + } + $NN = sprintf("%02d", $argv[1]); + + if ($argv[-1] ne '.') { + &usage("start|stop arguments not terminated by \".\""); + } + + shift @argv; shift @argv; + $level = shift @argv; + do { + if ($level !~ m/^[0-9S]$/) { + &usage( + "expected runlevel [0-9S] (did you forget \".\" ?)"); + } + if (! -d "$etcd$level.d") { + print STDERR + "update-rc.d: $etcd$level.d: no such directory\n"; + exit(1); + } + $level = 99 if ($level eq 'S'); + $startlinks[$level] = "$letter$NN" if ($letter eq 'S'); + $stoplinks[$level] = "$letter$NN" if ($letter eq 'K'); + } while (($level = shift @argv) ne '.'); + } + 1; +} + +# Create the links. + +sub makelinks { + my($t, $i); + my @links; + + if (&checklinks) { + print " System start/stop links for $initd/$bn already exist.\n"; + return 0; + } + print " Adding system startup for $initd/$bn ...\n"; + + # nice unreadable perl mess :) + + for($t = 0; $t < 2; $t++) { + @links = $t ? @startlinks : @stoplinks; + for($i = 0; $i <= $#links; $i++) { + my $lvl = $i; + $lvl = 'S' if ($i == 99); + next if (!defined $links[$i] or $links[$i] eq ''); + print " $etcd$lvl.d/$links[$i]$bn -> ../init.d/$bn\n"; + next if ($notreally); + symlink("../init.d/$bn", "$etcd$lvl.d/$links[$i]$bn") + || die("update-rc.d: symlink: $!\n"); + } + } + + 1; +} + +## Dependency based +sub insserv_updatercd { + my @args = @_; + my @opts; + my $scriptname; + my $action; + my $notreally = 0; + + my @orig_argv = @args; + + while($#args >= 0 && ($_ = $args[0]) =~ /^-/) { + shift @args; + if (/^-n$/) { push(@opts, $_); $notreally++; next } + if (/^-f$/) { push(@opts, $_); next } + if (/^-h|--help$/) { &usage; } + usage("unknown option"); + } + + usage("not enough arguments") if ($#args < 1); + + $scriptname = shift @args; + $action = shift @args; + if ("remove" eq $action) { + if ( -f "/etc/init.d/$scriptname" ) { + my $rc = system("/sbin/insserv", @opts, "-r", $scriptname) >> 8; + if (0 == $rc && !$notreally) { + remove_last_action($scriptname); + } + error_code($rc, "insserv rejected the script header") if $rc; + exit $rc; + } else { + # insserv removes all dangling symlinks, no need to tell it + # what to look for. + my $rc = system("insserv", @opts) >> 8; + if (0 == $rc && !$notreally) { + remove_last_action($scriptname); + } + error_code($rc, "insserv rejected the script header") if $rc; + exit $rc; + } + } elsif ("defaults" eq $action || "start" eq $action || + "stop" eq $action) { + # All start/stop/defaults arguments are discarded so emit a + # message if arguments have been given and are in conflict + # with Default-Start/Default-Stop values of LSB comment. + cmp_args_with_defaults($scriptname, $action, @args); + + if ( -f "/etc/init.d/$scriptname" ) { + my $rc = system("insserv", @opts, $scriptname) >> 8; + if (0 == $rc && !$notreally) { + save_last_action($scriptname, @orig_argv); + } + error_code($rc, "insserv rejected the script header") if $rc; + exit $rc; + } else { + error("initscript does not exist: /etc/init.d/$scriptname"); + } + } elsif ("disable" eq $action || "enable" eq $action) { + insserv_toggle($notreally, $action, $scriptname, @args); + # Call insserv to resequence modified links + my $rc = system("insserv", @opts, $scriptname) >> 8; + if (0 == $rc && !$notreally) { + save_last_action($scriptname, @orig_argv); + } + error_code($rc, "insserv rejected the script header") if $rc; + exit $rc; + } else { + usage(); + } +} + +sub parse_def_start_stop { + my $script = shift; + my (%lsb, @def_start_lvls, @def_stop_lvls); + + open my $fh, '<', $script or error("unable to read $script"); + while (<$fh>) { + chomp; + if (m/^### BEGIN INIT INFO$/) { + $lsb{'begin'}++; + } + elsif (m/^### END INIT INFO$/) { + $lsb{'end'}++; + last; + } + elsif ($lsb{'begin'} and not $lsb{'end'}) { + if (m/^# Default-Start:\s*(\S?.*)$/) { + @def_start_lvls = split(' ', $1); + } + if (m/^# Default-Stop:\s*(\S?.*)$/) { + @def_stop_lvls = split(' ', $1); + } + } + } + close($fh); + + return (\@def_start_lvls, \@def_stop_lvls); +} + +sub lsb_header_for_script { + my $name = shift; + + foreach my $file ("/etc/insserv/overrides/$name", "/etc/init.d/$name", + "/usr/share/insserv/overrides/$name") { + return $file if -s $file; + } + + error("cannot find a LSB script for $name"); +} + +sub cmp_args_with_defaults { + my ($name, $act) = (shift, shift); + my ($lsb_start_ref, $lsb_stop_ref, $arg_str, $lsb_str); + my (@arg_start_lvls, @arg_stop_lvls, @lsb_start_lvls, @lsb_stop_lvls); + my $default_msg = ($act eq 'defaults') ? 'default' : ''; + + ($lsb_start_ref, $lsb_stop_ref) = parse_def_start_stop("/etc/init.d/$name"); + @lsb_start_lvls = @$lsb_start_ref; + @lsb_stop_lvls = @$lsb_stop_ref; + return if (!@lsb_start_lvls and !@lsb_stop_lvls); + + if ($act eq 'defaults') { + @arg_start_lvls = (2, 3, 4, 5); + @arg_stop_lvls = (0, 1, 6); + } elsif ($act eq 'start' or $act eq 'stop') { + my $start = $act eq 'start' ? 1 : 0; + my $stop = $act eq 'stop' ? 1 : 0; + + # The legacy part of this program passes arguments starting with + # "start|stop NN x y z ." but the insserv part gives argument list + # starting with sequence number (ie. strips off leading "start|stop") + # Start processing arguments immediately after the first seq number. + my $argi = $_[0] eq $act ? 2 : 1; + + while (defined $_[$argi]) { + my $arg = $_[$argi]; + + # Runlevels 0 and 6 are always stop runlevels + if ($arg eq 0 or $arg eq 6) { + $start = 0; $stop = 1; + } elsif ($arg eq 'start') { + $start = 1; $stop = 0; $argi++; next; + } elsif ($arg eq 'stop') { + $start = 0; $stop = 1; $argi++; next; + } elsif ($arg eq '.') { + next; + } + push(@arg_start_lvls, $arg) if $start; + push(@arg_stop_lvls, $arg) if $stop; + } continue { + $argi++; + } + } + + if ($#arg_start_lvls != $#lsb_start_lvls or + join("\0", sort @arg_start_lvls) ne join("\0", sort @lsb_start_lvls)) { + $arg_str = @arg_start_lvls ? "@arg_start_lvls" : "none"; + $lsb_str = @lsb_start_lvls ? "@lsb_start_lvls" : "none"; + warning "$default_msg start runlevel arguments ($arg_str) do not match", + "$name Default-Start values ($lsb_str)"; + } + if ($#arg_stop_lvls != $#lsb_stop_lvls or + join("\0", sort @arg_stop_lvls) ne join("\0", sort @lsb_stop_lvls)) { + $arg_str = @arg_stop_lvls ? "@arg_stop_lvls" : "none"; + $lsb_str = @lsb_stop_lvls ? "@lsb_stop_lvls" : "none"; + warning "$default_msg stop runlevel arguments ($arg_str) do not match", + "$name Default-Stop values ($lsb_str)"; + } +} + +sub insserv_toggle { + my ($dryrun, $act, $name) = (shift, shift, shift); + my (@toggle_lvls, $start_lvls, $stop_lvls, @symlinks); + my $lsb_header = lsb_header_for_script($name); + + # Extra arguments to disable|enable action are runlevels. If none + # given parse LSB info for Default-Start value. + if ($#_ >= 0) { + @toggle_lvls = @_; + } else { + ($start_lvls, $stop_lvls) = parse_def_start_stop($lsb_header); + @toggle_lvls = @$start_lvls; + if ($#toggle_lvls < 0) { + error("$name Default-Start contains no runlevels, aborting."); + } + } + + # Find symlinks in rc.d directories. Refuse to modify links in runlevels + # not used for normal system start sequence. + for my $lvl (@toggle_lvls) { + if ($lvl !~ /^[S2345]$/) { + warning("$act action will have no effect on runlevel $lvl"); + next; + } + push(@symlinks, $_) for glob("/etc/rc$lvl.d/[SK][0-9][0-9]$name"); + } + + if (!@symlinks) { + error("no runlevel symlinks to modify, aborting!"); + } + + # Toggle S/K bit of script symlink. + for my $cur_lnk (@symlinks) { + my $sk; + my @new_lnk = split(//, $cur_lnk); + + if ("disable" eq $act) { + $sk = rindex($cur_lnk, '/S') + 1; + next if $sk < 1; + $new_lnk[$sk] = 'K'; + } else { + $sk = rindex($cur_lnk, '/K') + 1; + next if $sk < 1; + $new_lnk[$sk] = 'S'; + } + + if ($dryrun) { + printf("rename(%s, %s)\n", $cur_lnk, join('', @new_lnk)); + next; + } + + rename($cur_lnk, join('', @new_lnk)) or error($!); + } +} --- systemd-44/debian/write_dev_root_rule 1970-01-01 00:00:00.000000000 +0000 +++ systemd-201/debian/write_dev_root_rule 2013-04-09 14:10:15.000000000 +0000 @@ -0,0 +1,22 @@ +#!/bin/sh -e + +export PATH=/sbin:/usr/sbin:/bin:/usr/bin + +RUNDIR=$(udevadm info --run || exit 0) + +[ -d $RUNDIR ] || exit 0 +mkdir -p $RUNDIR/rules.d/ + +[ ! -e $RUNDIR/rules.d/61-dev-root-link.rules ] || exit 0 + +eval $(udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/ || true) + +[ "$ROOT_MAJOR" -a "$ROOT_MINOR" ] || exit 0 + +# btrfs filesystems have bogus major/minor numbers +[ "$ROOT_MAJOR" != 0 ] || exit 0 + +echo 'ACTION=="add|change", SUBSYSTEM=="block", ENV{MAJOR}=="'$ROOT_MAJOR'", ENV{MINOR}=="'$ROOT_MINOR'", SYMLINK+="root"' \ + > $RUNDIR/root-link-rule +mv $RUNDIR/root-link-rule $RUNDIR/rules.d/61-dev-root-link.rules +