diffstat of debian/ for systemd_44-5 systemd_195-SprezzOS5 changelog | 31 ++ control | 214 +++++++++++---- gir1.2-gudev-1.0.install | 1 libgudev-1.0-0.install | 1 libgudev-1.0-0.symbols | 54 +++ libgudev-1.0-dev.install | 5 libsystemd-daemon-dev.install | 1 libudev-dev.install | 4 libudev1.install | 1 libudev1.symbols | 86 ++++++ patches/debian-changes | 547 --------------------------------------- patches/series | 3 patches/v44..upstream-fixes_44-5 | 365 -------------------------- rules | 17 - systemd-gui.install | 3 systemd-sysv.install | 4 systemd.install | 52 ++- udev-gtk-udeb.dirs | 1 udev-udeb.dirs | 5 udev.dirs | 10 udev.init | 347 ++++++++++++++++++++++++ udev.udev-mtab.init | 52 +++ 22 files changed, 812 insertions(+), 992 deletions(-) --- systemd-44/debian/changelog 2012-10-25 19:54:48.000000000 +0000 +++ systemd-195/debian/changelog 2012-11-11 06:16:55.000000000 +0000 @@ -1,3 +1,34 @@ +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-195/debian/control 2012-11-11 06:16:55.000000000 +0000 @@ -1,38 +1,38 @@ Source: systemd Section: admin Priority: extra -Maintainer: Tollef Fog Heen +Maintainer: Nick Black +XSBC-Original-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 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, + 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 @@ -40,11 +40,12 @@ Section: admin Priority: extra 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 +Breaks: lvm2 (<< 2.02.84-1), lsb-base (<< 4.1+Debian4), systemd-gui, cryptsetup +Conflicts: sysvinit, upstart, runit-run, klogd +Replaces: sysvinit, systemd-gui, cryptsetup 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 @@ -58,8 +59,9 @@ Architecture: linux-any Section: admin Priority: extra -Conflicts: sysvinit, upstart, runit-run -Replaces: sysvinit +Conflicts: sysvinit, upstart, runit-run, sysv-rc +Replaces: sysvinit, sysv-rc +Provides: sysv-rc Depends: systemd (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Description: system and service manager - SysV links systemd is a replacement for sysvinit. It is dependency-based and @@ -92,22 +94,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 +123,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 +131,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 +176,137 @@ . 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 +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: important +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: udev-udeb +XC-Package-Type: udeb +Section: debian-installer +Architecture: linux-any +Depends: ${shlibs:Depends}, ${misc:Depends}, util-linux-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. + +Package: udev-gtk-udeb +XC-Package-Type: udeb +Section: debian-installer +Priority: optional +Architecture: linux-any +Depends: ${shlibs:Depends}, ${misc:Depends}, udev-udeb +Description: libudev shared library + This library provides access to udev device information. + The package additionally contains input_id and the related rules. + . + This is a minimal version, only for use in the installation system. + +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. --- systemd-44/debian/gir1.2-gudev-1.0.install 1970-01-01 00:00:00.000000000 +0000 +++ systemd-195/debian/gir1.2-gudev-1.0.install 2012-11-11 06:16:55.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/girepository-1.0/ --- systemd-44/debian/libgudev-1.0-0.install 1970-01-01 00:00:00.000000000 +0000 +++ systemd-195/debian/libgudev-1.0-0.install 2012-11-11 06:16:55.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-195/debian/libgudev-1.0-0.symbols 2012-11-11 06:16:55.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-195/debian/libgudev-1.0-dev.install 2012-11-11 06:16:55.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-195/debian/libsystemd-daemon-dev.install 2012-11-11 06:16:55.000000000 +0000 @@ -1,3 +1,4 @@ usr/lib/*/libsystemd-daemon.so usr/lib/*/pkgconfig/libsystemd-daemon.pc usr/include/systemd/sd-daemon.h +usr/include/systemd/sd-shutdown.h --- systemd-44/debian/libudev-dev.install 1970-01-01 00:00:00.000000000 +0000 +++ systemd-195/debian/libudev-dev.install 2012-11-11 06:16:55.000000000 +0000 @@ -0,0 +1,4 @@ +usr/include/libudev.h +usr/lib/*/libudev.a +usr/lib/*/libudev.so +usr/lib/*/pkgconfig/libudev.pc --- systemd-44/debian/libudev1.install 1970-01-01 00:00:00.000000000 +0000 +++ systemd-195/debian/libudev1.install 2012-11-11 06:16:55.000000000 +0000 @@ -0,0 +1 @@ +lib/*/libudev.so.* --- systemd-44/debian/libudev1.symbols 1970-01-01 00:00:00.000000000 +0000 +++ systemd-195/debian/libudev1.symbols 2012-11-11 06:16:55.000000000 +0000 @@ -0,0 +1,86 @@ +libudev.so.1 libudev1 #MINVER# + LIBUDEV_183@LIBUDEV_183 195-SprezzOS5 + LIBUDEV_189@LIBUDEV_189 195-SprezzOS5 + udev_device_get_action@LIBUDEV_183 195-SprezzOS5 + udev_device_get_devlinks_list_entry@LIBUDEV_183 195-SprezzOS5 + udev_device_get_devnode@LIBUDEV_183 195-SprezzOS5 + udev_device_get_devnum@LIBUDEV_183 195-SprezzOS5 + udev_device_get_devpath@LIBUDEV_183 195-SprezzOS5 + udev_device_get_devtype@LIBUDEV_183 195-SprezzOS5 + udev_device_get_driver@LIBUDEV_183 195-SprezzOS5 + udev_device_get_is_initialized@LIBUDEV_183 195-SprezzOS5 + udev_device_get_parent@LIBUDEV_183 195-SprezzOS5 + udev_device_get_parent_with_subsystem_devtype@LIBUDEV_183 195-SprezzOS5 + udev_device_get_properties_list_entry@LIBUDEV_183 195-SprezzOS5 + udev_device_get_property_value@LIBUDEV_183 195-SprezzOS5 + udev_device_get_seqnum@LIBUDEV_183 195-SprezzOS5 + udev_device_get_subsystem@LIBUDEV_183 195-SprezzOS5 + udev_device_get_sysattr_list_entry@LIBUDEV_183 195-SprezzOS5 + udev_device_get_sysattr_value@LIBUDEV_183 195-SprezzOS5 + udev_device_get_sysname@LIBUDEV_183 195-SprezzOS5 + udev_device_get_sysnum@LIBUDEV_183 195-SprezzOS5 + udev_device_get_syspath@LIBUDEV_183 195-SprezzOS5 + udev_device_get_tags_list_entry@LIBUDEV_183 195-SprezzOS5 + udev_device_get_udev@LIBUDEV_183 195-SprezzOS5 + udev_device_get_usec_since_initialized@LIBUDEV_183 195-SprezzOS5 + udev_device_has_tag@LIBUDEV_183 195-SprezzOS5 + udev_device_new_from_device_id@LIBUDEV_189 195-SprezzOS5 + udev_device_new_from_devnum@LIBUDEV_183 195-SprezzOS5 + udev_device_new_from_environment@LIBUDEV_183 195-SprezzOS5 + udev_device_new_from_subsystem_sysname@LIBUDEV_183 195-SprezzOS5 + udev_device_new_from_syspath@LIBUDEV_183 195-SprezzOS5 + udev_device_ref@LIBUDEV_183 195-SprezzOS5 + udev_device_unref@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_add_match_is_initialized@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_add_match_parent@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_add_match_property@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_add_match_subsystem@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_add_match_sysattr@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_add_match_sysname@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_add_match_tag@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_add_nomatch_subsystem@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_add_nomatch_sysattr@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_add_syspath@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_get_list_entry@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_get_udev@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_new@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_ref@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_scan_devices@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_scan_subsystems@LIBUDEV_183 195-SprezzOS5 + udev_enumerate_unref@LIBUDEV_183 195-SprezzOS5 + udev_get_log_priority@LIBUDEV_183 195-SprezzOS5 + udev_get_userdata@LIBUDEV_183 195-SprezzOS5 + udev_list_entry_get_by_name@LIBUDEV_183 195-SprezzOS5 + udev_list_entry_get_name@LIBUDEV_183 195-SprezzOS5 + udev_list_entry_get_next@LIBUDEV_183 195-SprezzOS5 + udev_list_entry_get_value@LIBUDEV_183 195-SprezzOS5 + udev_monitor_enable_receiving@LIBUDEV_183 195-SprezzOS5 + udev_monitor_filter_add_match_subsystem_devtype@LIBUDEV_183 195-SprezzOS5 + udev_monitor_filter_add_match_tag@LIBUDEV_183 195-SprezzOS5 + udev_monitor_filter_remove@LIBUDEV_183 195-SprezzOS5 + udev_monitor_filter_update@LIBUDEV_183 195-SprezzOS5 + udev_monitor_get_fd@LIBUDEV_183 195-SprezzOS5 + udev_monitor_get_udev@LIBUDEV_183 195-SprezzOS5 + udev_monitor_new_from_netlink@LIBUDEV_183 195-SprezzOS5 + udev_monitor_receive_device@LIBUDEV_183 195-SprezzOS5 + udev_monitor_ref@LIBUDEV_183 195-SprezzOS5 + udev_monitor_set_receive_buffer_size@LIBUDEV_183 195-SprezzOS5 + udev_monitor_unref@LIBUDEV_183 195-SprezzOS5 + udev_new@LIBUDEV_183 195-SprezzOS5 + udev_queue_get_kernel_seqnum@LIBUDEV_183 195-SprezzOS5 + udev_queue_get_queue_is_empty@LIBUDEV_183 195-SprezzOS5 + udev_queue_get_queued_list_entry@LIBUDEV_183 195-SprezzOS5 + udev_queue_get_seqnum_is_finished@LIBUDEV_183 195-SprezzOS5 + udev_queue_get_seqnum_sequence_is_finished@LIBUDEV_183 195-SprezzOS5 + udev_queue_get_udev@LIBUDEV_183 195-SprezzOS5 + udev_queue_get_udev_is_active@LIBUDEV_183 195-SprezzOS5 + udev_queue_get_udev_seqnum@LIBUDEV_183 195-SprezzOS5 + udev_queue_new@LIBUDEV_183 195-SprezzOS5 + udev_queue_ref@LIBUDEV_183 195-SprezzOS5 + udev_queue_unref@LIBUDEV_183 195-SprezzOS5 + udev_ref@LIBUDEV_183 195-SprezzOS5 + udev_set_log_fn@LIBUDEV_183 195-SprezzOS5 + udev_set_log_priority@LIBUDEV_183 195-SprezzOS5 + udev_set_userdata@LIBUDEV_183 195-SprezzOS5 + udev_unref@LIBUDEV_183 195-SprezzOS5 + udev_util_encode_string@LIBUDEV_183 195-SprezzOS5 --- systemd-44/debian/patches/debian-changes 2012-10-25 20:07:08.000000000 +0000 +++ systemd-195/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-195/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -# debian/source/git-patches exported from git by export-hook -v44..upstream-fixes_44-5 -debian-changes --- systemd-44/debian/patches/v44..upstream-fixes_44-5 2012-10-25 20:01:31.000000000 +0000 +++ systemd-195/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-195/debian/rules 2012-11-11 06:16:55.000000000 +0000 @@ -1,6 +1,6 @@ #! /usr/bin/make -f -#export DH_VERBOSE=1 +export DH_VERBOSE=1 #export DEB_BUILD_OPTIONS="nostrip" DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) @@ -9,24 +9,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-tcpwrap \ --disable-coredump \ - --with-distro=debian + --with-distro=other 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 --- systemd-44/debian/systemd-gui.install 2012-10-25 19:54:48.000000000 +0000 +++ systemd-195/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-195/debian/systemd-sysv.install 2012-11-11 06:16:55.000000000 +0000 @@ -1,7 +1,9 @@ -usr/share/man/man8/telinit.8 +# 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 --- systemd-44/debian/systemd.install 2012-10-25 19:54:48.000000000 +0000 +++ systemd-195/debian/systemd.install 2012-11-11 06:16:55.000000000 +0000 @@ -1,35 +1,56 @@ etc 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/ +lib/udev/keymaps/ +lib/udev/* +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/bin/udevadm +# 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-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/man8/udevadm.8 usr/share/dbus-1 usr/share/doc usr/share/pkgconfig @@ -39,10 +60,11 @@ 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/udev-gtk-udeb.dirs 1970-01-01 00:00:00.000000000 +0000 +++ systemd-195/debian/udev-gtk-udeb.dirs 2012-11-11 06:16:55.000000000 +0000 @@ -0,0 +1 @@ +/lib/udev/rules.d/ --- systemd-44/debian/udev-udeb.dirs 1970-01-01 00:00:00.000000000 +0000 +++ systemd-195/debian/udev-udeb.dirs 2012-11-11 06:16:55.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.dirs 1970-01-01 00:00:00.000000000 +0000 +++ systemd-195/debian/udev.dirs 2012-11-11 06:16:55.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-195/debian/udev.init 2012-11-11 06:16:55.000000000 +0000 @@ -0,0 +1,347 @@ +#!/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 + +# 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.udev-mtab.init 1970-01-01 00:00:00.000000000 +0000 +++ systemd-195/debian/udev.udev-mtab.init 2012-11-11 06:16:55.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 +