Release 212-7mamba

This commit is contained in:
Automatic Build System 2023-12-30 11:35:14 +01:00
parent e4ad30d1a5
commit b8e927030c
20 changed files with 1738 additions and 1 deletions

View File

@ -1,3 +1,6 @@
# systemd
A system and service manager compatible with SysV and LSB init scripts
systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts.
systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic.
It can work as a drop-in replacement for sysvinit.

View File

@ -0,0 +1,20 @@
From e2c8b07dcb50c2adf64cdfb22e4a496fc76576fb Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Fri, 21 Sep 2012 22:16:13 +0000
Subject: journal: bring mmap cache prototype in sync
---
diff --git a/src/journal/mmap-cache.h b/src/journal/mmap-cache.h
index de34634..0c42fb8 100644
--- a/src/journal/mmap-cache.h
+++ b/src/journal/mmap-cache.h
@@ -31,6 +31,6 @@ MMapCache* mmap_cache_new(void);
MMapCache* mmap_cache_ref(MMapCache *m);
MMapCache* mmap_cache_unref(MMapCache *m);
-int mmap_cache_get(MMapCache *m, int fd, int prot, unsigned context, bool keep_always, uint64_t offset, uint64_t size, struct stat *st, void **ret);
+int mmap_cache_get(MMapCache *m, int fd, int prot, unsigned context, bool keep_always, uint64_t offset, size_t size, struct stat *st, void **ret);
void mmap_cache_close_fd(MMapCache *m, int fd);
void mmap_cache_close_context(MMapCache *m, unsigned context);
--
cgit v0.9.0.2-2-gbebe

View File

@ -0,0 +1,63 @@
From 48a849ee17fb25e0001bfcc0f28a4aa633d016a1 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Fri, 04 Jan 2013 15:15:46 +0000
Subject: udev: set device node permissions only at "add" events
---
diff --git a/TODO b/TODO
index 8ebb951..35d96ec 100644
--- a/TODO
+++ b/TODO
@@ -29,8 +29,6 @@ Features:
* exec: when deinitializating a tty device fix the perms and group, too, not only when initializing. Set access mode/gid to 0620/tty.
-* udev: only reset mode/gid of /dev/tty1 and friends on ACTION=add, not ACTION=changed
-
* DeviceAllow/DeviceDeny: disallow everything by default, but whitelist /dev/zero, /dev/null and friends
* service: watchdog logic: for testing purposes allow ping, but do not require pong
diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c
index 7774303..1e378ad 100644
--- a/src/udev/udev-node.c
+++ b/src/udev/udev-node.c
@@ -279,22 +279,23 @@ static int node_fixup(struct udev_device *dev, mode_t mode, uid_t uid, gid_t gid
goto out;
}
- if ((stats.st_mode & 0777) != (mode & 0777) || stats.st_uid != uid || stats.st_gid != gid) {
- log_debug("set permissions %s, %#o, uid=%u, gid=%u\n", devnode, mode, uid, gid);
- chmod(devnode, mode);
- chown(devnode, uid, gid);
- } else {
- log_debug("preserve permissions %s, %#o, uid=%u, gid=%u\n", devnode, mode, uid, gid);
- }
-
/*
- * Set initial selinux file context only on add events.
- * We set the proper context on bootup (triger) or for newly
- * added devices, but we don't change it later, in case
- * something else has set a custom context in the meantime.
+ * Set permissions and selinux file context only on add events. We always
+ * set it on bootup (coldplug) with "trigger --action=add" for all devices
+ * and for any newly added devices (hotplug). We don't want to change it
+ * later, in case something else has applied custom settings in the meantime.
*/
- if (strcmp(udev_device_get_action(dev), "add") == 0)
- label_fix(devnode, true, false);
+ if (strcmp(udev_device_get_action(dev), "add") == 0) {
+ if ((stats.st_mode & 0777) != (mode & 0777) || stats.st_uid != uid || stats.st_gid != gid) {
+ log_debug("set permissions %s, %#o, uid=%u, gid=%u\n", devnode, mode, uid, gid);
+ chmod(devnode, mode);
+ chown(devnode, uid, gid);
+ } else {
+ log_debug("preserve permissions %s, %#o, uid=%u, gid=%u\n", devnode, mode, uid, gid);
+ }
+
+ label_fix(devnode, true, false);
+ }
/* always update timestamp when we re-use the node, like on media change events */
utimensat(AT_FDCWD, devnode, NULL, 0);
--
cgit v0.9.0.2-2-gbebe

View File

@ -0,0 +1,12 @@
diff -Nru systemd-198.orig/tmpfiles.d/legacy.conf systemd-198/tmpfiles.d/legacy.conf
--- systemd-198.orig/tmpfiles.d/legacy.conf 2013-01-07 22:50:49.082315571 +0100
+++ systemd-198/tmpfiles.d/legacy.conf 2013-03-17 16:02:42.445059870 +0100
@@ -23,7 +23,7 @@
# On modern systems a BSD file lock is a better choice if
# serialization is needed on those devices.
-d /run/lock/lockdev 0775 root lock -
+d /run/lock/lockdev 0775 root tty -
# /forcefsck, /fastboot and /forcequotecheck are deprecated in favor of the
# kernel command line options 'fsck.mode=force', 'fsck.mode=skip' and

View File

@ -0,0 +1,13 @@
--- systemd-205/sysctl.d/50-coredump.conf.in.orig 2013-07-17 14:57:45.487845209 +0200
+++ systemd-205/sysctl.d/50-coredump.conf.in 2013-07-17 14:59:18.777993310 +0200
@@ -7,4 +7,9 @@
# See sysctl.d(5) and core(5) for for details.
-kernel.core_pattern=|@rootlibexecdir@/systemd-coredump %p %u %g %s %t %e
+# NOTE: systemd-coredump is disabled; to enable it create a file called
+# /etc/sysctl.d/50-coredump.conf with the following uncommented line:
+#kernel.core_pattern=|@rootlibexecdir@/systemd-coredump %p %u %g %s %t %e
+
+kernel.core_pattern = core
+kernel.core_users_pid = 0

View File

@ -0,0 +1,85 @@
From 4e82fe5213bedcb70e25c0270e516d5f2706d8c8 Mon Sep 17 00:00:00 2001
From: Tom Gundersen <teg@jklm.no>
Date: Sun, 15 Sep 2013 23:08:32 +0000
Subject: swap: create .wants symlink to 'auto' swap devices
As we load unit files lazily, we need to make sure something pulls in swap
units that should be started automatically, otherwise the default dependencies
will never be applied.
This partially reinstates code removed in
commit 64347fc2b983f33e7efb0fd2bb44e133fb9f30f4.
Also don't order swap devices after swap.target when they are 'nofail'.
---
diff --git a/src/core/swap.c b/src/core/swap.c
index 3950860..76c7d45 100644
--- a/src/core/swap.c
+++ b/src/core/swap.c
@@ -220,8 +220,12 @@ static int swap_add_default_dependencies(Swap *s) {
}
if (!noauto) {
- r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, (nofail ? UNIT_WANTS : UNIT_REQUIRES),
- SPECIAL_SWAP_TARGET, NULL, true);
+ if (nofail)
+ r = unit_add_dependency_by_name_inverse(UNIT(s),
+ UNIT_WANTS, SPECIAL_SWAP_TARGET, NULL, true);
+ else
+ r = unit_add_two_dependencies_by_name_inverse(UNIT(s),
+ UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SWAP_TARGET, NULL, true);
if (r < 0)
return r;
}
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
index 6ebe8aa..b73dfa4 100644
--- a/src/fstab-generator/fstab-generator.c
+++ b/src/fstab-generator/fstab-generator.c
@@ -66,6 +66,7 @@ static int mount_find_pri(struct mntent *me, int *ret) {
static int add_swap(const char *what, struct mntent *me) {
_cleanup_free_ char *name = NULL, *unit = NULL, *lnk = NULL, *device = NULL;
_cleanup_fclose_ FILE *f = NULL;
+ bool noauto;
int r, pri = -1;
assert(what);
@@ -77,6 +78,8 @@ static int add_swap(const char *what, struct mntent *me) {
return pri;
}
+ noauto = !!hasmntopt(me, "noauto");
+
name = unit_name_from_path(what, ".swap");
if (!name)
return log_oom();
@@ -97,8 +100,7 @@ static int add_swap(const char *what, struct mntent *me) {
fprintf(f,
"# Automatically generated by systemd-fstab-generator\n\n"
"[Unit]\n"
- "SourcePath=/etc/fstab\n"
- "\n"
+ "SourcePath=/etc/fstab\n\n"
"[Swap]\n"
"What=%s\n",
what);
@@ -114,6 +116,18 @@ static int add_swap(const char *what, struct mntent *me) {
return -errno;
}
+ if (!noauto) {
+ lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET ".wants/", name, NULL);
+ if (!lnk)
+ return log_oom();
+
+ mkdir_parents_label(lnk, 0755);
+ if (symlink(unit, lnk) < 0) {
+ log_error("Failed to create symlink %s: %m", lnk);
+ return -errno;
+ }
+ }
+
return 0;
}
--
cgit v0.9.0.2-2-gbebe

View File

@ -0,0 +1,204 @@
From 3db604b907323b8df0fc810216f6112056d26a02 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Tue, 17 Sep 2013 23:04:40 +0000
Subject: gpt-auto-generator: do not assume that /dev/block/%u:%u is useable
The generator might run before udev, and udev sets up the /dev/block/
symlinks, hence we cannot use them from the gpt generator. Instead,
manually translate a major/minor to a device node.
---
diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
index 880661e..ca54925 100644
--- a/src/gpt-auto-generator/gpt-auto-generator.c
+++ b/src/gpt-auto-generator/gpt-auto-generator.c
@@ -55,18 +55,13 @@ static inline void blkid_free_probep(blkid_probe *b) {
}
#define _cleanup_blkid_freep_probe_ _cleanup_(blkid_free_probep)
-static int verify_gpt_partition(dev_t dev, sd_id128_t *type, unsigned *nr, char **fstype) {
- _cleanup_free_ char *t = NULL;
+static int verify_gpt_partition(const char *node, sd_id128_t *type, unsigned *nr, char **fstype) {
_cleanup_blkid_freep_probe_ blkid_probe b = NULL;
const char *v;
int r;
- r = asprintf(&t, "/dev/block/%u:%u", major(dev), minor(dev));
- if (r < 0)
- return -ENOMEM;
-
errno = 0;
- b = blkid_new_probe_from_filename(t);
+ b = blkid_new_probe_from_filename(node);
if (!b)
return errno != 0 ? -errno : -ENOMEM;
@@ -237,8 +232,7 @@ static int add_home(const char *path, const char *fstype) {
return 0;
}
-static int enumerate_partitions(dev_t dev) {
- struct udev *udev;
+static int enumerate_partitions(struct udev *udev, dev_t dev) {
struct udev_enumerate *e = NULL;
struct udev_device *parent = NULL, *d = NULL;
struct udev_list_entry *first, *item;
@@ -246,10 +240,6 @@ static int enumerate_partitions(dev_t dev) {
_cleanup_free_ char *home = NULL, *home_fstype = NULL;
int r;
- udev = udev_new();
- if (!udev)
- return log_oom();
-
e = udev_enumerate_new(udev);
if (!e) {
r = log_oom();
@@ -294,7 +284,6 @@ static int enumerate_partitions(dev_t dev) {
struct udev_device *q;
sd_id128_t type_id;
unsigned nr;
- dev_t sub;
q = udev_device_new_from_syspath(udev, udev_list_entry_get_name(item));
if (!q) {
@@ -314,12 +303,10 @@ static int enumerate_partitions(dev_t dev) {
goto finish;
}
- sub = udev_device_get_devnum(q);
-
- r = verify_gpt_partition(sub, &type_id, &nr, &fstype);
+ r = verify_gpt_partition(node, &type_id, &nr, &fstype);
if (r < 0) {
- log_error("Failed to verify GPT partition /dev/block/%u:%u: %s",
- major(sub), minor(sub), strerror(-r));
+ log_error("Failed to verify GPT partition %s: %s",
+ node, strerror(-r));
udev_device_unref(q);
goto finish;
}
@@ -360,8 +347,6 @@ finish:
if (e)
udev_enumerate_unref(e);
- if (udev)
- udev_unref(udev);
return r;
}
@@ -440,13 +425,50 @@ static int get_block_device(const char *path, dev_t *dev) {
return 0;
}
+static int devno_to_devnode(struct udev *udev, dev_t devno, char **ret) {
+ struct udev_device *d = NULL;
+ const char *t;
+ char *n;
+ int r;
+
+ d = udev_device_new_from_devnum(udev, 'b', devno);
+ if (!d) {
+ r = log_oom();
+ goto finish;
+ }
+
+ t = udev_device_get_devnode(d);
+ if (!t) {
+ r = -ENODEV;
+ goto finish;
+ }
+
+ n = strdup(t);
+ if (!n) {
+ r = -ENOMEM;
+ goto finish;
+ }
+
+ *ret = n;
+ r = 0;
+
+finish:
+ if (d)
+ udev_device_unref(d);
+
+ return r;
+}
+
int main(int argc, char *argv[]) {
- dev_t dev;
+ _cleanup_free_ char *node = NULL;
+ struct udev *udev = NULL;
+ dev_t devno;
int r;
if (argc > 1 && argc != 4) {
log_error("This program takes three or no arguments.");
- return EXIT_FAILURE;
+ r = -EINVAL;
+ goto finish;
}
if (argc > 1)
@@ -458,31 +480,48 @@ int main(int argc, char *argv[]) {
umask(0022);
- if (in_initrd())
- return EXIT_SUCCESS;
+ if (in_initrd()) {
+ r = 0;
+ goto finish;
+ }
- r = get_block_device("/", &dev);
+ r = get_block_device("/", &devno);
if (r < 0) {
log_error("Failed to determine block device of root file system: %s", strerror(-r));
- return EXIT_FAILURE;
+ goto finish;
}
if (r == 0) {
log_debug("Root file system not on a (single) block device.");
- return EXIT_SUCCESS;
+ goto finish;
+ }
+
+ udev = udev_new();
+ if (!udev) {
+ r = log_oom();
+ goto finish;
+ }
+
+ r = devno_to_devnode(udev, devno, &node);
+ if (r < 0) {
+ log_error("Failed to determine block device node from major/minor: %s", strerror(-r));
+ goto finish;
}
- log_debug("Root device /dev/block/%u:%u.", major(dev), minor(dev));
+ log_debug("Root device %s.", node);
- r = verify_gpt_partition(dev, NULL, NULL, NULL);
+ r = verify_gpt_partition(node, NULL, NULL, NULL);
if (r < 0) {
- log_error("Failed to verify GPT partition /dev/block/%u:%u: %s",
- major(dev), minor(dev), strerror(-r));
- return EXIT_FAILURE;
+ log_error("Failed to verify GPT partition %s: %s", node, strerror(-r));
+ goto finish;
}
if (r == 0)
- return EXIT_SUCCESS;
+ goto finish;
+
+ r = enumerate_partitions(udev, devno);
- r = enumerate_partitions(dev);
+finish:
+ if (udev)
+ udev_unref(udev);
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}
--
cgit v0.9.0.2-2-gbebe

View File

@ -0,0 +1,26 @@
From 90060fa6605446bef7078867423b691e4effa575 Mon Sep 17 00:00:00 2001
From: Tom Gundersen <teg@jklm.no>
Date: Fri, 13 Sep 2013 12:46:18 +0000
Subject: swap: fix reverse dependencies
Make sure swap.target correctly requires/wants the swap units.
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=69291.
Reported-by: Hussam Al-Tayeb
---
diff --git a/src/core/swap.c b/src/core/swap.c
index 57d15eb..3950860 100644
--- a/src/core/swap.c
+++ b/src/core/swap.c
@@ -220,7 +220,7 @@ static int swap_add_default_dependencies(Swap *s) {
}
if (!noauto) {
- r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, (nofail ? UNIT_WANTED_BY : UNIT_REQUIRED_BY),
+ r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, (nofail ? UNIT_WANTS : UNIT_REQUIRES),
SPECIAL_SWAP_TARGET, NULL, true);
if (r < 0)
return r;
--
cgit v0.9.0.2-2-gbebe

View File

@ -0,0 +1,15 @@
diff -Nru systemd-208.orig/src/journal/journald.conf systemd-208/src/journal/journald.conf
--- systemd-208.orig/src/journal/journald.conf 2013-08-13 22:02:46.413707211 +0200
+++ systemd-208/src/journal/journald.conf 2014-01-18 14:31:20.184025254 +0100
@@ -15,9 +15,9 @@
#SyncIntervalSec=5m
#RateLimitInterval=30s
#RateLimitBurst=1000
-#SystemMaxUse=
+SystemMaxUse=200M
#SystemKeepFree=
-#SystemMaxFileSize=
+SystemMaxFileSize=50M
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=

758
systemd.spec Normal file
View File

@ -0,0 +1,758 @@
%define group_audio 11
%define group_cdrecording 12
%define group_cdrom 19
%define group_video 24
%define group_camera 22
%define group_scanner 23
%define group_nvram 50
%define group_kvm 31
%define group_systemd_journal 57
%define group_systemd_journal_gateway 58
%define user_systemd_journal_gateway 58
Name: systemd
Epoch: 2
Version: 212
Release: 7mamba
Summary: A system and service manager compatible with SysV and LSB init scripts
Group: System/Configuration
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://freedesktop.org/wiki/Software/systemd
Source: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz
Source1: udev-initscript
Source2: udev-permissions.rules
Source4: udev-openmamba.rules
Source8: udev-check-cdrom.sh
Source11: udev-MAKEDEV
Source13: udev-blacklist
Source14: udev-ifupdown.rules
Source15: udev-post-initscript
Source16: udev-sysconfig
Patch0: systemd-191-upstream-build-fix.patch
Patch1: systemd-197-revert-only-add-support.patch
Patch2: systemd-198-lock-to-tty-group-openmamba.patch
Patch3: systemd-205-disable-systemd-coredump.patch
Patch4: systemd-207-gpt-auto-generator.patch
Patch5: udev-177-arm-pre-accept4.patch
Patch6: systemd-207-swap_fix_reverse_dependencies.patch
Patch7: systemd-207-create_wants_symlink.patch
Patch8: systemd-208-journald-reduce-sizes.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libacl-devel
BuildRequires: libaudit-devel
BuildRequires: libblkid-devel
BuildRequires: libcap-devel
BuildRequires: libcryptsetup-devel
BuildRequires: libdbus-devel
BuildRequires: libffi-devel
BuildRequires: libgcrypt-devel
BuildRequires: libglib-devel
BuildRequires: libgpg-error-devel
BuildRequires: libkmod-devel
BuildRequires: liblzma-devel
BuildRequires: libpython-devel
BuildRequires: libqrencode-devel
BuildRequires: libselinux-devel
BuildRequires: libwrap-devel
BuildRequires: pam-devel
## AUTOBUILDREQ-END
BuildRequires: vala-tools
BuildRequires: libmicrohttpd-devel
Conflicts: sysvinit
Conflicts: initscripts-sysv5
Requires: sysvinit-tools
Requires: udev = %{?epoch:%epoch:}%{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts.
systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic.
It can work as a drop-in replacement for sysvinit.
%package core
Summary: systemd core files that may be used both by udev and systemd
Group: System/Libraries
Requires: liblockdev
Requires(post): pwdutils
Requires: libsystemd = %{?epoch:%epoch:}%{version}-%{release}
%description core
systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts.
systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic.
It can work as a drop-in replacement for sysvinit.
This package contains systemd core files that may be used both by udev and systemd.
%package -n libsystemd
Summary: systemd libraries
Group: System/Libraries
%description -n libsystemd
systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts.
systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic.
It can work as a drop-in replacement for sysvinit.
This package contains the systemd libraries.
%package -n libsystemd-devel
Summary: Devel package for %{name}
Group: Development/Libraries
Requires: libsystemd = %{?epoch:%epoch:}%{version}-%{release}
Provides: systemd-devel
Obsoletes: systemd-devel
%description -n libsystemd-devel
systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts.
systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic.
It can work as a drop-in replacement for sysvinit.
This package contains static libraries and header files needed for development.
%package tools
Summary: %{name} GTK tools
Group: Graphical Desktop/Applications/Configuration
Requires: %{name}-core = %{?epoch:%epoch:}%{version}-%{release}
%description tools
systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts.
systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic.
It can work as a drop-in replacement for sysvinit.
This package contains the systemd GTK tools.
%package -n udev
Summary: A userspace tool to manage a dynamic devices directory
Group: System/Kernel and Hardware
Conflicts: devfsd
Conflicts: udev173
Obsoletes: devfsd
Obsoletes: hotplug
Provides: udev-static
Obsoletes: udev-static
Requires(post):/usr/sbin/groupadd
Requires(post):setup
Requires: %{name}-core = %{?epoch:%epoch:}%{version}-%{release}
Requires: libudev = %{?epoch:%epoch:}%{version}-%{release}
Requires: initscripts >= 1.1.18
%description -n udev
Udev allows Linux users to have a dynamic /dev directory and it provides the ability to have persistent device names.
It also replaces hotplug and runs entirely in userspace.
%package -n libudev
Summary: udev libraries
Group: System/Libraries
%ifarch x86_64
Provides: libudev.so.0()(64bit)
%else
Provides: libudev.so.0
%endif
%description -n libudev
Udev allows Linux users to have a dynamic /dev directory and it provides the ability to have persistent device names.
It also replaces hotplug and runs entirely in userspace.
This package provides udev libraries.
%package -n libudev-devel
Summary: Development files for udev
Group: Development/Libraries
Requires: libudev = %{?epoch:%epoch:}%{version}-%{release}
Provides: udev-devel
Obsoletes: udev-devel
%description -n libudev-devel
Udev allows Linux users to have a dynamic /dev directory and it provides the ability to have persistent device names.
It also replaces hotplug and runs entirely in userspace.
This package include development files for building software using udev libraries.
%debug_package
%prep
%setup -q
#%patch0 -p1
## ARM only patch: old_cloexec compatibility patch with old kernels
#%ifarch arm
#%patch5 -p1
#%endif
#%patch1 -R -p1
%patch2 -p1
%patch3 -p1
#%patch4 -p1
#%patch6 -p1
#%patch7 -p1
%build
%configure \
--with-rootprefix= \
--with-rootlibdir=/%{_lib} \
--with-pamlibdir=/%{_lib}/security \
--with-firmware-path=/lib/firmware \
--with-tty-gid=4 \
--enable-chkconfig \
--enable-split-usr \
--with-rc-local-script-path-start=/etc/rc.d/init.d/rc.local \
--enable-compat-libs \
KMOD=/sbin/kmod
%make \
-j1 \
rpmmacrosdir=%{_sysconfdir}/rpm
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall rpmmacrosdir=%{_sysconfdir}/rpm
# compatibility links
install -d -m0755 %{buildroot}/sbin
for f in halt poweroff reboot runlevel shutdown telinit; do
ln -s ../bin/systemctl %{buildroot}/sbin/$f
done
ln -s ../lib/systemd/systemd %{buildroot}/sbin/init
# udev
install -D -m755 %{S:1} %{buildroot}%{_initrddir}/udev
install -D -m755 %{S:15} %{buildroot}%{_initrddir}/udev-post
install -D -m644 %{S:16} %{buildroot}%{_sysconfdir}/sysconfig/udev
install -D -m755 %{S:2} \
%{buildroot}/lib/udev/rules.d/60-permissions.rules
install -D -m755 %{S:4} \
%{buildroot}/lib/udev/rules.d/55-udev-openmamba.rules
install -D -m755 %{S:14} \
%{buildroot}/lib/udev/rules.d/85-ifupdown.rules
install -D -m755 %{S:8} \
%{buildroot}/lib/udev/check-cdrom.sh
install -d %{buildroot}%{_sysconfdir}/rc.d/rcsysinit.d
ln -s ../init.d/udev %{buildroot}%{_sysconfdir}/rc.d/rcsysinit.d/S12udev
install -d %{buildroot}%{_sysconfdir}/rc0.d
ln -s ../init.d/udev %{buildroot}%{_sysconfdir}/rc0.d/K97udev
install -d %{buildroot}%{_sysconfdir}/rc6.d
ln -s ../init.d/udev %{buildroot}%{_sysconfdir}/rc6.d/K97udev
install -D -m755 %{S:11} \
%{buildroot}/lib/udev/devices/MAKEDEV
install -D -m644 %{S:13} \
%{buildroot}%{_sysconfdir}/modprobe.d/udev.conf
install -d -m0755 %{buildroot}/sbin
# compatibility symlinks
ln -s /lib/systemd/systemd-udevd %{buildroot}/sbin/udevd
ln -s libudev.so.1 %{buildroot}/%{_lib}/libudev.so.0
# /etc/mtab symlink
ln -s /proc/mounts %{buildroot}%{_sysconfdir}/mtab
# install libnss_myhostname.so.* to /%{lib}
mv %{buildroot}%{_libdir}/libnss_myhostname.so.* %{buildroot}/%{_lib}/
%find_lang %{name}
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%pre core
[ -e %{_sysconfdir}/mtab -a ! -L %{_sysconfdir}/mtab ] && rm -f %{_sysconfdir}/mtab
:
%post core
if [ "$1" -ge 1 ]; then
# SYSV5 -> Systemd migration
[ -e /etc/machine-id ] || systemd-machine-id-setup >/dev/null 2>&1
if [ ! -e %{_sysconfdir}/hostname ]; then
[ -e %{_sysconfdir}/sysconfig/network ] && . %{_sysconfdir}/sysconfig/network
[ "$HOSTNAME" ] && echo "$HOSTNAME" > %{_sysconfdir}/hostname
fi
[ -e %{_sysconfdir}/modules.d -a ! -L %{_sysconfdir}/modules.d ] && {
mv %{_sysconfdir}/modules.d/* %{_sysconfdir}/modules-load.d/ 2>/dev/null || true
rmdir %{_sysconfdir}/modules.d || true
ln -s modules-load.d %{_sysconfdir}/modules.d
}
groupadd systemd-journal -g %{group_systemd_journal} 2>/dev/null
groupadd systemd-journal-gateway -g %{group_systemd_journal_gateway} 2>/dev/null
useradd -u %{user_systemd_journal_gateway} -g systemd-journal-gateway \
-d /var/log/journal -s /sbin/nologin -c "Journal Gateway" \
systemd-journal-gateway 2>/dev/null
# Configure libnss_myhostanme.so resolver
grep "^hosts:.* myhostname" /etc/nsswitch.conf &>/dev/null || \
sed -i "s|\(^hosts:.*\)|\1 myhostname|" /etc/nsswitch.conf
fi
:
%postun core
if [ $1 -eq 0 ]; then
grep "^hosts:.* myhostname" /etc/nsswitch.conf &>/dev/null && \
sed -i "s| myhostname||" /etc/nsswitch.conf
fi
:
%post -n libsystemd
/sbin/ldconfig
:
%postun -n libsystemd
/sbin/ldconfig
:
%pre -n udev
# backup persistent-net rules file if it has an old syntax
if [ -e %{_sysconfdir}/udev/rules.d/70-persistent-net.rules ]; then
grep "ATTRS{" %{_sysconfdir}/udev/rules.d/70-persistent-net.rules >/dev/null && \
mv %{_sysconfdir}/udev/rules.d/70-persistent-net.rules \
%{_sysconfdir}/udev/rules.d/70-persistent-net.rules.save
fi
exit 0
%post -n udev
if [ $1 -ge 1 ]; then
chkconfig --add udev-post
udevadm hwdb --update
fi
[ "`grep " vc/" /etc/inittab 2>/dev/null`" ] && {
sed -i "s| vc/| tty|" /etc/inittab
telinit q
}
groupadd audio -g %{group_audio} 2>/dev/null
groupadd cdrecording -g %{group_cdrecording} 2>/dev/null
groupadd cdrom -g %{group_cdrom} 2>/dev/null
groupadd video -g %{group_video} 2>/dev/null
groupadd camera -g %{group_camera} 2>/dev/null
groupadd scanner -g %{group_scanner} 2>/dev/null
groupadd nvram -g %{group_nvram} 2>/dev/null
groupadd kvm -g %{group_kvm} 2>/dev/null
:
%preun -n udev
if [ $1 -eq 0 ]; then
# erase
service udev-post stop
chkconfig --del udev-post
fi
:
%post -n libudev
/sbin/ldconfig
:
%postun -n libudev
/sbin/ldconfig
:
%files
%defattr(-,root,root)
%{_sysconfdir}/init.d/README
/sbin/halt
/sbin/init
/sbin/poweroff
/sbin/reboot
/sbin/runlevel
/sbin/shutdown
/sbin/telinit
%{_mandir}/man1/init.1*
%{_mandir}/man8/reboot.8*
%{_mandir}/man8/halt.8*
%{_mandir}/man8/poweroff.8*
%{_mandir}/man8/runlevel.8*
%{_mandir}/man8/shutdown.8*
%{_mandir}/man8/telinit.8*
%files core -f %{name}.lang
%defattr(-,root,root)
%dir %{_sysconfdir}/systemd
%config %{_sysconfdir}/systemd/bootchart.conf
%config %{_sysconfdir}/systemd/journald.conf
%config %{_sysconfdir}/systemd/logind.conf
%dir %{_sysconfdir}/systemd/system
%config %{_sysconfdir}/systemd/system.conf
%dir %{_sysconfdir}/systemd/system/multi-user.target.wants
%{_sysconfdir}/systemd/system/multi-user.target.wants/remote-fs.target
%{_sysconfdir}/systemd/system/multi-user.target.wants/systemd-networkd.service
%dir %{_sysconfdir}/systemd/system/getty.target.wants
%{_sysconfdir}/systemd/system/getty.target.wants/getty@tty1.service
%config(noreplace) %{_sysconfdir}/systemd/user.conf
%{_sysconfdir}/mtab
%{_sysconfdir}/dbus-1/system.d/org.freedesktop.*.conf
%{_sysconfdir}/pam.d/systemd-user
%dir %{_sysconfdir}/binfmt.d
%dir %{_sysconfdir}/modules-load.d
%dir %{_sysconfdir}/sysctl.d
%dir %{_sysconfdir}/tmpfiles.d
%dir %{_sysconfdir}/xdg/systemd
%{_sysconfdir}/xdg/systemd/user
%{_bindir}/busctl
%{_bindir}/bootctl
%{_bindir}/hostnamectl
%{_bindir}/kernel-install
%{_bindir}/localectl
%{_bindir}/systemd-coredumpctl
%{_bindir}/systemd-run
%{_bindir}/timedatectl
/bin/journalctl
/bin/loginctl
/bin/machinectl
/bin/systemctl
/bin/systemd-ask-password
/bin/systemd-inhibit
/bin/systemd-machine-id-setup
/bin/systemd-notify
/bin/systemd-tmpfiles
/bin/systemd-tty-ask-password-agent
%{_bindir}/systemd-cat
%{_bindir}/systemd-cgtop
%{_bindir}/systemd-delta
%{_bindir}/systemd-detect-virt
%{_bindir}/systemd-analyze
%{_bindir}/systemd-cgls
%{_bindir}/systemd-nspawn
%{_bindir}/systemd-stdio-bridge
%{_datadir}/bash-completion/completions/*
%exclude %{_datadir}/bash-completion/completions/udevadm
%dir %{_prefix}/lib/kernel
%dir %{_prefix}/lib/kernel/install.d
%{_prefix}/lib/kernel/install.d/50-depmod.install
%{_prefix}/lib/kernel/install.d/90-loaderentry.install
%dir %{_prefix}/lib/binfmt.d
%dir %{_prefix}/lib/modules-load.d
%dir %{_prefix}/lib/sysctl.d
%{_prefix}/lib/sysctl.d/50-coredump.conf
%{_prefix}/lib/sysctl.d/50-default.conf
%dir %{_prefix}/lib/tmpfiles.d
%dir %{_prefix}/lib/systemd
%{_prefix}/lib/systemd/*
%dir /lib/systemd
/lib/systemd/*
%exclude /lib/systemd/systemd-udevd
/lib/udev/rules.d/99-systemd.rules
%{_prefix}/lib/tmpfiles.d/*.conf
%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.*.service
%dir %{_datadir}/systemd
%{_datadir}/systemd/kbd-model-map
%dir %{_datadir}/systemd/gatewayd
%{_datadir}/systemd/gatewayd/browse.html
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/*
%{_datadir}/polkit-1/actions/org.freedesktop.*.policy
%dir %{python_sitearch}/systemd
%{python_sitearch}/systemd/*
%{_localstatedir}/log/README
%dir %{_localstatedir}/log/journal
%dir %{_localstatedir}/lib/systemd
%{_mandir}/man1/bootctl.1*
%{_mandir}/man1/busctl.1*
%{_mandir}/man1/hostnamectl.1*
%{_mandir}/man1/journalctl.1*
%{_mandir}/man1/localectl.1*
%{_mandir}/man1/loginctl.1*
%{_mandir}/man1/machinectl.1*
%{_mandir}/man1/systemctl.1*
%{_mandir}/man1/systemd-*
%{_mandir}/man1/systemd.1*
%{_mandir}/man1/timedatectl.1*
%{_mandir}/man5/*.5*
%{_mandir}/man7/*.7*
%{_mandir}/man8/kernel-install.8*
%{_mandir}/man8/nss-myhostname.8*
%{_mandir}/man8/pam_systemd.8*
%{_mandir}/man8/systemd-*.8*
%doc LICENSE.LGPL2.1 LICENSE.MIT
#%files tools
#%defattr(-,root,root)
#%{_bindir}/systemadm
#%{_bindir}/systemd-gnome-ask-password-agent
#%{_mandir}/man1/systemadm.1*
%files -n libsystemd
%defattr(-,root,root)
/%{_lib}/libsystemd.so.*
/%{_lib}/libsystemd-daemon.so.*
/%{_lib}/libsystemd-id128.so.*
/%{_lib}/libsystemd-journal.so.*
/%{_lib}/libsystemd-login.so.*
/%{_lib}/security/pam_systemd.*
/%{_lib}/libnss_myhostname.so.*
%files -n libsystemd-devel
%defattr(-,root,root)
%{_sysconfdir}/rpm/macros.systemd
%dir %{_includedir}/systemd
%{_includedir}/systemd/*.h
%{_libdir}/libsystemd.la
%{_libdir}/libsystemd.so
%{_libdir}/libsystemd-daemon.la
%{_libdir}/libsystemd-daemon.so
%{_libdir}/libsystemd-id128.la
%{_libdir}/libsystemd-id128.so
%{_libdir}/libsystemd-journal.la
%{_libdir}/libsystemd-journal.so
%{_libdir}/libsystemd-login.la
%{_libdir}/libsystemd-login.so
%{_libdir}/libnss_myhostname.la
%{_libdir}/pkgconfig/libsystemd-daemon.pc
%{_libdir}/pkgconfig/libsystemd-id128.pc
%{_libdir}/pkgconfig/libsystemd-journal.pc
%{_libdir}/pkgconfig/libsystemd-login.pc
%{_libdir}/pkgconfig/libsystemd.pc
%{_datadir}/pkgconfig/systemd.pc
%dir %{_docdir}/systemd
%{_docdir}/systemd/*
%{_mandir}/man3/*.3*
%doc README TODO
%files -n udev
%defattr(-,root,root)
%{_sysconfdir}/udev/udev.conf
%{_sysconfdir}/modprobe.d/udev.conf
%{_initrddir}/udev
%{_initrddir}/udev-post
%{_sysconfdir}/rc0.d/K97udev
%{_sysconfdir}/rc6.d/K97udev
%{_sysconfdir}/rc.d/rcsysinit.d/S12udev
%{_sysconfdir}/sysconfig/udev
/sbin/udevd
/bin/udevadm
%{_datadir}/bash-completion/completions/udevadm
/lib/systemd/systemd-udevd
%dir /lib/udev
/lib/udev/devices/MAKEDEV
/lib/udev/accelerometer
/lib/udev/ata_id
/lib/udev/cdrom_id
/lib/udev/check-cdrom.sh
/lib/udev/collect
#/lib/udev/findkeyboards
%dir /lib/udev/hwdb.d
/lib/udev/hwdb.d/*.hwdb
#/lib/udev/keyboard-force-release.sh
#/lib/udev/keymap
#%dir /lib/udev/keymaps
#/lib/udev/keymaps/*
/lib/udev/mtd_probe
%dir /lib/udev/rules.d
/lib/udev/rules.d/*.rules
%exclude /lib/udev/rules.d/99-systemd.rules
/lib/udev/scsi_id
/lib/udev/v4l_id
%{_mandir}/man8/udevadm.8*
%doc LICENSE.GPL2
%files -n libudev
%defattr(-,root,root)
/%{_lib}/libgudev-1.0.so.*
/%{_lib}/libudev.so.*
%{_libdir}/girepository-1.0/GUdev-1.0.typelib
%files -n libudev-devel
%defattr(-,root,root)
%dir %{_includedir}/gudev-1.0
%dir %{_includedir}/gudev-1.0/gudev
%{_includedir}/gudev-1.0/gudev/*.h
%{_includedir}/libudev.h
%{_libdir}/libgudev-1.0.la
%{_libdir}/libgudev-1.0.so
%{_datadir}/gir-1.0/GUdev-1.0.gir
%{_libdir}/libudev.la
%{_libdir}/libudev.so
%{_libdir}/pkgconfig/gudev-1.0.pc
%{_libdir}/pkgconfig/libudev.pc
%{_datadir}/pkgconfig/udev.pc
%changelog
* Fri May 02 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 212-7mamba
- nssswitch.conf: configure myhostname as host resolver
- install libnss_myhostname.so.* under /%{_lib}
* Wed Apr 09 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 212-6mamba
- udev, libudev, libudev-devel: other fixes in requires/obsoletes
* Mon Apr 07 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 212-5mamba
- no luck with smart and libsystemd-compat, moving compat libraries to libsystemd
* Sun Apr 06 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 212-4mamba
- rebuilt with --enable-compat-libs
* Sun Apr 06 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 212-3mamba
- move libraries to libsystemd and libudev, rename systemd-devel to libsystemd-devel and udev-devel to libudev-devel
* Wed Apr 02 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 212-2mamba
- provide compatibility package with symlinks for old library names
* Tue Apr 01 2014 Automatic Build System <autodist@mambasoft.it> 212-1mamba
- automatic version update by autodist
* Sun Feb 16 2014 Davide Madrisan <davide.madrisan@gmail.com> 208-6mamba
- systemd-core script: send to /dev/null the warning message 'useradd: UID 58 is not unique'
- Avoid bash-only constructs in the package scriplets
* Sun Feb 09 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 208-5mamba
- x86_64: rebuilt with lib64 python_sitearch
- x86_64: install pam modules under /%{_lib}/security
* Sat Jan 18 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 208-4mamba
- journald.conf: reduce default journal size from 3GB to 200MB/50MB
* Mon Dec 09 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 208-3mamba
- systemd-core: added Requires(post): pwdutils
* Thu Oct 24 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 208-2mamba
- add group systemd-journal and user and group systemd-journal-gateway
* Thu Oct 03 2013 Automatic Build System <autodist@mambasoft.it> 208-1mamba
- automatic version update by autodist
* Sun Sep 29 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 207-4mamba
- swap: also add upstream patch http://cgit.freedesktop.org/systemd/systemd/commit/?id=4e82fe5213bedcb70e25c0270e516d5f2706d8c8
* Thu Sep 26 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 207-3mamba
- added upstream patch to fix swap enabling on boot (https://bugs.freedesktop.org/show_bug.cgi?id=69291)
* Sat Sep 21 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 207-2mamba
- upstream patch to fix gpt error message on boot (https://bugs.freedesktop.org/show_bug.cgi?id=69315)
* Fri Sep 13 2013 Automatic Build System <autodist@mambasoft.it> 207-1mamba
- automatic version update by autodist
* Thu Sep 12 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 206-4mamba
- configure with correct rc-local-script-path for us
* Sat Aug 10 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 206-3mamba
- rebuilt with debug package
* Sat Jul 27 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 206-2mamba
- force configure to use /sbin/kmod instead of /usr/bin/kmod
* Wed Jul 24 2013 Automatic Build System <autodist@mambasoft.it> 206-1mamba
- automatic version update by autodist
* Wed Jul 17 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 205-2mamba
- added a patch to disable systemd-coredump (keeps dump in memory occupying memory and possibly freezing systems)
* Mon Jul 08 2013 Automatic Build System <autodist@mambasoft.it> 205-1mamba
- automatic version update by autodist
* Wed May 29 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 204-2mamba
- python 2.7 mass rebuild
* Fri May 10 2013 Automatic Build System <autodist@mambasoft.it> 204-1mamba
- automatic version update by autodist
* Tue May 07 2013 Automatic Build System <autodist@mambasoft.it> 203-1mamba
- automatic version update by autodist
* Fri Apr 19 2013 Automatic Build System <autodist@mambasoft.it> 202-1mamba
- automatic version update by autodist
* Tue Apr 09 2013 Automatic Build System <autodist@mambasoft.it> 201-1mamba
- automatic version update by autodist
* Sat Apr 06 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 200-4mamba
- require(post) setup before creating groups
* Fri Apr 05 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 200-3mamba
- x86_64: fix /sbin/udevd symlink
* Thu Apr 04 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 200-2mamba
- make modules.d -> modules-load.d conversion more silent
* Fri Mar 29 2013 Automatic Build System <autodist@mambasoft.it> 200-1mamba
- automatic version update by autodist
* Wed Mar 27 2013 Automatic Build System <autodist@mambasoft.it> 199-1mamba
- automatic version update by autodist
* Sun Mar 24 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 198-11mamba
- sysv5 legacy commands must be a symlink to /bin/systemctl, except for init which links to systemd
* Sun Mar 24 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 198-10mamba
- added /sbin/halt compatibility symlink to /lib/systemd/systemd
* Sat Mar 23 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 198-9mamba
- move /etc/rcsysinit.d/S12udev to /etc/rc.d/rcsysinit.d/
* Fri Mar 22 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 198-8mamba
- add /etc and /var empty directories previously unpackaged
- systemd-core: migrate /etc/mtab here instead of in systemd
- systemd-core: migrate from /etc/modules.d to /etc/modules-load.d and make compatibility symlink
* Thu Mar 21 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 198-7mamba
- systemd: also conflict with initscripts-sysv5
* Wed Mar 20 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 198-6mamba
- systemd: revert obsoleting sysvinit, require sysvinit-tools
* Wed Mar 20 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 198-5mamba
- systemd-core: create /etc/machine-id on install/upgrade
* Tue Mar 19 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 198-4mamba
- provide/obsolete sysvinit
- provide /etc/mtab as a symlink to /proc/mounts
* Mon Mar 18 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 198-3mamba
- create /etc/hostname using hostname in /etc/sysconfig/network for systemd
* Sun Mar 17 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 198-2mamba
- added a patch to support tty instead of lock group for openmamba
- require liblockdev
* Tue Mar 12 2013 Automatic Build System <autodist@mambasoft.it> 198-1mamba
- automatic version update by autodist
* Sat Feb 16 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 197-3mamba
- udev: run udevadm hwdb --update in post script
- revert an upstream patch to re-enable support for change events (https://bugzilla.redhat.com/show_bug.cgi?id=903716)
* Sat Jan 19 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 197-2mamba
- udev-devel: require systemd-devel
* Thu Jan 10 2013 Automatic Build System <autodist@mambasoft.it> 197-1mamba
- automatic version update by autodist
* Thu Nov 22 2012 Automatic Build System <autodist@mambasoft.it> 196-1mamba
- automatic version update by autodist
* Wed Nov 07 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 195-4mamba
- move systemd core files to systemd-core for use by udev with sysvinit still enabled
* Sat Nov 03 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 195-3mamba
- restore scripts from udev-182 used by udev-openmamba.rules
* Fri Nov 02 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 195-2mamba
- bump epoch up for udev upgrade
- provide compatibility symlink libudev.so.0
- move systemd-udevd to udev subpackage and fix compatibility symlink /sbin/udevd
- fix initscript to match new udevd daemon path
* Tue Oct 23 2012 Automatic Build System <autodist@mambasoft.it> 195-1mamba
- automatic version update by autodist
* Thu Oct 04 2012 Automatic Build System <autodist@mambasoft.it> 194-1mamba
- automatic version update by autodist
* Fri Sep 28 2012 Automatic Build System <autodist@mambasoft.it> 193-1mamba
- automatic version update by autodist
* Wed Sep 26 2012 Automatic Build System <autodist@mambasoft.it> 192-1mamba
- automatic version update by autodist
* Mon Sep 24 2012 Automatic Build System <autodist@mambasoft.it> 191-1mamba
- automatic version update by autodist
* Thu Aug 23 2012 Automatic Build System <autodist@mambasoft.it> 189-1mamba
- automatic version update by autodist
* Tue Aug 14 2012 Automatic Build System <autodist@mambasoft.it> 188-1mamba
- automatic version update by autodist
* Wed Aug 08 2012 Automatic Build System <autodist@mambasoft.it> 187-1mamba
- update to 187
* Wed Nov 30 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 37-1mamba
- package created by autospec

View File

@ -0,0 +1,39 @@
diff -Nru udev-177.orig/src/udev-ctrl.c udev-177/src/udev-ctrl.c
--- udev-177.orig/src/udev-ctrl.c 2012-01-10 01:43:22.125518772 +0100
+++ udev-177/src/udev-ctrl.c 2012-01-22 16:46:31.339378651 +0100
@@ -15,6 +15,7 @@
#include <stddef.h>
#include <string.h>
#include <unistd.h>
+#include <fcntl.h>
#include <sys/types.h>
#include <sys/poll.h>
#include <sys/socket.h>
@@ -182,6 +183,7 @@
struct ucred ucred;
socklen_t slen;
const int on = 1;
+ int flgs;
conn = calloc(1, sizeof(struct udev_ctrl_connection));
if (conn == NULL)
@@ -189,13 +191,18 @@
conn->refcount = 1;
conn->uctrl = uctrl;
- conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
+ conn->sock = accept(uctrl->sock, NULL, NULL);
if (conn->sock < 0) {
if (errno != EINTR)
err(uctrl->udev, "unable to receive ctrl connection: %m\n");
goto err;
}
+ /* Since we don't have accept4 */
+ flgs = fcntl(conn->sock, F_GETFL, NULL);
+ if (flgs >= 0) fcntl(conn->sock, F_SETFL, flgs | O_NONBLOCK);
+ fcntl(conn->sock, F_SETFD, FD_CLOEXEC);
+
/* check peer credential of connection */
slen = sizeof(ucred);
if (getsockopt(conn->sock, SOL_SOCKET, SO_PEERCRED, &ucred, &slen) < 0) {

16
udev-MAKEDEV Normal file
View File

@ -0,0 +1,16 @@
#!/bin/sh
#
# udev startup devices creation script
#
[ "$UDEV_ROOT" ] || UDEV_ROOT=/dev
ln -sf /proc/self/fd $UDEV_ROOT
ln -sf /proc/self/fd/0 $UDEV_ROOT/stdin
ln -sf /proc/self/fd/1 $UDEV_ROOT/stdout
ln -sf /proc/self/fd/2 $UDEV_ROOT/stderr
ln -sf /proc/kcore $UDEV_ROOT/core
[ -e $UDEV_ROOT/shm ] || mkdir $UDEV_ROOT/shm
[ -e $UDEV_ROOT/pts ] || mkdir $UDEV_ROOT/pts
[ -e $UDEV_ROOT/console ] || mknod $UDEV_ROOT/console c 5 1
[ -e $UDEV_ROOT/ppp ] || mknod $UDEV_ROOT/ppp c 108 0
[ -e $UDEV_ROOT/null ] || mknod $UDEV_ROOT/null c 1 3

40
udev-blacklist Normal file
View File

@ -0,0 +1,40 @@
# This file lists modules which will not be loaded as the result of
# alias expansion, with the purpose of preventing the hotplug subsystem
# to load them. It does not affect autoloading of modules by the kernel.
# This file is provided by the udev package.
# evbug is a debug tool and should be loaded explicitly
blacklist evbug
# watchdog drivers should be loaded only if a watchdog daemon is installed
blacklist acquirewdt
blacklist advantechwdt
blacklist alim1535_wdt
blacklist alim7101_wdt
blacklist cpu5wdt
blacklist eurotechwdt
blacklist i6300esb
blacklist ib700wdt
blacklist ibmasr
blacklist iTCO_vendor_support
blacklist iTCO_wdt
blacklist machzwd
blacklist mixcomwd
blacklist pc87413_wdt
blacklist pcwd
blacklist pcwd_pci
blacklist pcwd_usb
blacklist sbc60xxwdt
blacklist sbc8360
blacklist sc1200wdt
blacklist sc520_wdt
blacklist scx200_wdt
blacklist smsc37b787_wdt
blacklist softdog
blacklist w83627hf_wdt
blacklist w83697hf_wdt
blacklist w83877f_wdt
blacklist w83977f_wdt
blacklist wafer5823wdt
blacklist wdt
blacklist wdt_pci

58
udev-check-cdrom.sh Normal file
View File

@ -0,0 +1,58 @@
#!/bin/bash
# check-cdrom -- udev helper script for QiLinux
# Copyright (C) 2005 Davide Madrisan <davide.madrisan@qilinux.it>
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License version 2 as published by the
# Free Software Foundation. There is NO warranty; not even for MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE.
#
# Report bugs to <davide.madrisan@qilinux.it>
# NOTE : not enough info in /sys/block/<dev>, so we use /proc
[ -e /proc/sys/dev/cdrom/info ] || exit 1
dev=$1
what=$2
unset vcdrom vwhat
# NOTE: example of /proc/sys/dev/cdrom/info
# CD-ROM information, Id: cdrom.c 3.20 2003/12/17
# drive name: hdd hdc
# drive speed: 52 32
# ...
# Can play audio: 1 1
# Can write CD-R: 0 1
# Can write CD-RW: 0 1
# Can read DVD: 0 1
# Can write DVD-R: 0 1
# Can write DVD-RAM: 0 0
# ...
/bin/cat /proc/sys/dev/cdrom/info | {
while read line; do
case "$line" in
drive\ name:*)
set ${line##*:}
vcdrom=($@)
let "found_dev = 0"
for cdrom in ${vcdrom[@]}; do
[ "$cdrom" = "$dev" ] &&
{ let "found_dev = 1"; break; }
done
[ "$found_dev" = 1 ] || exit 1
;;
*\ $what:*)
set ${line##*:}
for cdrom in ${vcdrom[@]}; do
[ "$cdrom" = "$dev" -a "$1" = 1 ] && exit 0
shift
done
;;
esac
done
exit 1
}

8
udev-ifupdown.rules Normal file
View File

@ -0,0 +1,8 @@
#
# network up/addremove management rules file for udev
# Copyright (c) 2008 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
ACTION=="add", SUBSYSTEM=="net", ENV{INTERFACE}=="*", \
RUN+="/sbin/ifup $env{INTERFACE} --udev"
ACTION=="remove", SUBSYSTEM=="net", ENV{INTERFACE}=="*", \
RUN+="/sbin/ifdown $env{INTERFACE}"

136
udev-initscript Normal file
View File

@ -0,0 +1,136 @@
#! /bin/sh
#
# Author: Rolf Eike Beer <eike-hotplug@sf-tec.de>
# derived from original RedHat udev init script
# based on the SuSE 9.0 template (c) 1995-2002 SuSE Linux AG
#
# /etc/init.d/udev
# and its symbolic link
# /(usr/)sbin/rcudev
#
# System startup script for udev
#
# LSB compatible service control script; see http://www.linuxbase.org/spec/
#
### BEGIN INIT INFO
# Provides: udev
# Required-Start:
# Required-Stop:
# Default-Start: 1 2 3 5
# Default-Stop: 0 6
# Short-Description: manage user-space device nodes in /udev
# Description: Start udev to create the device files for all
# devices already present in system when script is
# called. All other devices files will be automatically
# created when udev is called via /sbin/hotplug.
# Requires at least a kernel 2.6 to work properly.
### END INIT INFO
#
# Note on script names:
# http://www.linuxbase.org/spec/refspecs/LSB_1.2.0/gLSB/scrptnames.html
# A registry has been set up to manage the init script namespace.
# http://www.lanana.org/
# Please use the names already registered or register one or use a
# vendor prefix.
# Check for missing binaries (stale symlinks should not happen)
UDEV_PROG=systemd-udevd
UDEV_BIN=/lib/systemd/$UDEV_PROG
UDEV_STATIC_ARCHIVE=/lib/udev/devices/static.tar.gz
test -x $UDEV_BIN || exit 5
# Check for existence of needed config file and read it
UDEV_CONFIG=/etc/udev/udev.conf
test -r $UDEV_CONFIG || exit 6
. $UDEV_CONFIG
# Directory where sysfs is mounted
SYSFS_DIR=/sys
# Source LSB init functions
#. /lib/lsb/init-functions
. /etc/sysconfig/rc
. $rc_functions
case "$1" in
start)
if [ ! -d $SYSFS_DIR ]; then
log_failure_msg "${0}: SYSFS_DIR \"$SYSFS_DIR\" not found"
exit 1
fi
if [ ! -d $udev_root ]; then
mkdir $udev_root || exit 4
fi
echo "" > /proc/sys/kernel/hotplug
echo -n "Starting udev: "
if [ ! "`grep ' /dev ' /proc/mounts`" ]; then
[ "`grep devtmpfs /proc/filesystems`" ] && \
mount -n -t devtmpfs udev /dev || \
mount -n -t tmpfs udev /dev
fi
if [ ! "`grep ' /run ' /proc/mounts`" ]; then
mount -n -t tmpfs tmpfs /run
fi
[ -e /dev/shm ] || {
mkdir /dev/shm /dev/pts
chmod 1777 /dev/shm
}
[ -e $UDEV_STATIC_ARCHIVE ] && {
STATIC_INIT=1
(cd /
tar xzf $UDEV_STATIC_ARCHIVE)
} || [ -x /lib/udev/devices/MAKEDEV ] && /lib/udev/devices/MAKEDEV
$UDEV_BIN --daemon &>/dev/null
evaluate_retval
echo
[ "$STATIC_INIT" ] || {
echo -n "Plugging devices: "
udevadm trigger
udevadm settle
evaluate_retval
echo
}
;;
stop)
echo -n "Stopping udev: "
killall $UDEV_PROG
success
echo
;;
restart|force-reload)
$0 stop && $0 start
exit $?
;;
reload)
exit 3
;;
status)
echo -n "Checking for udev root directory: "
if [ -d $udev_root ]; then
#log_success_msg "found"
echo_success found
echo
else
#log_warning_msg "not found"
warning "not found"
echo
exit 3
fi
;;
savedevices)
echo -n "Creating static devices archive: "
(cd /
tar czf $UDEV_STATIC_ARCHIVE /dev)
evaluate_retval
echo
;;
*)
echo "Usage: $0 {start|stop|status|restart|force-reload|reload|savedevices}"
exit 1
;;
esac

69
udev-openmamba.rules Normal file
View File

@ -0,0 +1,69 @@
#
# openmamba custom rules for udev
# Copyright (c) 2008 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
# if this is a ide cdrom, name it the default name, and create a symlink to cdrom
SUBSYSTEM=="block", KERNEL=="*[!0-9]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT=="cdrom", SYMLINK+="cdrom cdrom-%k"
SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="cdrom cdrom-%k", GROUP="cdrom"
# if this is a ide dvd, create a symlink to dvd
SUBSYSTEM=="block", KERNEL=="hd[a-z]", ATTR{removable}=="1", PROGRAM="/lib/udev/check-cdrom.sh %k DVD", SYMLINK+="dvd dvd-%k"
# if this is a ide dvd, create a symlink to dvd
ATTR{removable}=="1", PROGRAM="/lib/udev/check-cdrom.sh %k DVD", SYMLINK+="dvd dvd-%k"
# Sound devices
KERNEL=="admmidi", SYMLINK+="sound/admmidi", GROUP="audio"
KERNEL=="admmidi[1-9]", SYMLINK+="sound/admmidi%n", GROUP="audio"
KERNEL=="adsp", SYMLINK+="sound/adsp", GROUP="audio"
KERNEL=="adsp[1-9]", SYMLINK+="sound/adsp%n", GROUP="audio"
KERNEL=="amidi", SYMLINK+="sound/amidi", GROUP="audio"
KERNEL=="amidi[1-9]", SYMLINK+="sound/amidi%n", GROUP="audio"
KERNEL=="amixer", SYMLINK+="sound/amixer", GROUP="audio"
KERNEL=="amixer[1-9]", SYMLINK+="sound/amixer%n", GROUP="audio"
KERNEL=="audio", SYMLINK+="sound/audio", GROUP="audio"
KERNEL=="audio[1-9]", SYMLINK+="sound/audio%n", GROUP="audio"
KERNEL=="dmmidi", SYMLINK+="sound/dmmidi", GROUP="audio"
KERNEL=="dmmidi[1-9]", SYMLINK+="sound/dmmidi%n", GROUP="audio"
KERNEL=="dsp", SYMLINK+="sound/dsp", GROUP="audio"
KERNEL=="dsp[1-9]", SYMLINK+="sound/dsp%n", GROUP="audio"
KERNEL=="dmfm", SYMLINK+="sound/dmfm", GROUP="audio"
KERNEL=="dmfm[1-9]", SYMLINK+="sound/dmfm%n", GROUP="audio"
KERNEL=="midi", SYMLINK+="sound/midi", GROUP="audio"
KERNEL=="midi[1-9]", SYMLINK+="sound/midi%n", GROUP="audio"
KERNEL=="mixer", SYMLINK+="sound/mixer", GROUP="audio"
KERNEL=="mixer[1-9]", SYMLINK+="sound/mixer%n", GROUP="audio"
KERNEL=="music", SYMLINK+="sound/music", GROUP="audio"
KERNEL=="music[1-9]", SYMLINK+="sound/music%n", GROUP="audio"
KERNEL=="sequencer", SYMLINK+="sound/sequencer", GROUP="audio"
KERNEL=="sequencer[1-9]", SYMLINK+="sound/%k", GROUP="audio"
#KERNEL=="controlC[0-9]*", SYMLINK+="snd/%k", GROUP="audio"
#KERNEL=="hw[CD0-9]*", SYMLINK+="snd/%k", GROUP="audio"
#KERNEL=="pcm[CD0-9cp]*", SYMLINK+="snd/%k", GROUP="audio"
#KERNEL=="midi[CD0-9]*", SYMLINK+="snd/%k", GROUP="audio"
#KERNEL=="timer", SYMLINK+="snd/%k", GROUP="audio"
#KERNEL=="seq", SYMLINK+="snd/%k", GROUP="audio"
# IEEE1394 (firewire) devices (must be before raw devices below)
#KERNEL=="raw1394", NAME="%k"
# USB devices
#KERNEL=="hiddev*", SYMLINK+="usb/%k"
KERNEL=="legousbtower*", SYMLINK+="usb/%k"
KERNEL=="dabusb*", SYMLINK+="usb/%k"
# CAPI devices
KERNEL=="capi", SYMLINK+="capi20", SYMLINK+="isdn/capi20"
KERNEL=="capi*", SYMLINK+="capi/%n"
# DRM devices
#SUBSYSTEM=="drm", KERNEL=="card*", SYMLINK+="dri/%k"
#####################################
# Persistent block device stuff - end
#####################################
#ACTION=="add", SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'X=%k X=$${X#usbdev} B=$${X%%%%.*} D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"

77
udev-permissions.rules Normal file
View File

@ -0,0 +1,77 @@
# default permissions for block devices
SUBSYSTEM=="block", GROUP="disk", MODE="0660"
SUBSYSTEM=="block", ATTR{removable}=="1", GROUP="floppy"
SUBSYSTEM=="block", KERNEL=="sr[0-9]*", ATTR{removable}=="1", GROUP="cdrecording", MODE="0664"
# IDE devices
SUBSYSTEM=="block", KERNEL=="hd[a-z]", ATTR{removable}=="1", \
PROGRAM="/bin/cat /proc/ide/%k/media", RESULT=="cdrom*", GROUP="cdrecording", MODE="0664"
SUBSYSTEM=="ide", KERNEL=="ht[0-9]*", GROUP="tape"
SUBSYSTEM=="ide", KERNEL=="nht[0-9]*", GROUP="tape"
# SCSI devices
SUBSYSTEM=="scsi", ATTR{type}=="1", GROUP="tape"
SUBSYSTEM=="scsi", ATTR{type}=="5", GROUP="cdrecording", MODE="0660"
SUBSYSTEM=="scsi", ATTR{type}=="6", GROUP="scanner"
# USB devices
SUBSYSTEM=="usb", KERNEL=="legousbtower*", MODE="0666"
# serial devices
SUBSYSTEM=="tty", GROUP="dialout"
SUBSYSTEM=="capi", GROUP="dialout"
# vc devices (all members of the tty subsystem)
KERNEL=="ptmx", MODE="0666", GROUP="root"
KERNEL=="console", MODE="0600", GROUP="root"
KERNEL=="tty", MODE="0666", GROUP="root"
KERNEL=="tty[0-9]*", GROUP="root"
# video devices
SUBSYSTEM=="video4linux", GROUP="video"
SUBSYSTEM=="dvb", GROUP="video"
SUBSYSTEM=="graphics", GROUP="video"
SUBSYSTEM=="nvidia", GROUP="video"
SUBSYSTEM=="drm", GROUP="video"
# misc devices
KERNEL=="random", MODE="0666"
KERNEL=="urandom", MODE="0444"
KERNEL=="mem", MODE="0640", GROUP="kmem"
KERNEL=="kmem", MODE="0640", GROUP="kmem"
KERNEL=="port", MODE="0640", GROUP="kmem"
KERNEL=="full", MODE="0666"
KERNEL=="null", MODE="0666"
KERNEL=="zero", MODE="0666"
KERNEL=="inotify", MODE="0666"
KERNEL=="sgi_fetchop", MODE="0666"
KERNEL=="sonypi", MODE="0666"
KERNEL=="agpgart", GROUP="video"
KERNEL=="nvram", GROUP="nvram"
KERNEL=="rtc", MODE="0660", GROUP="audio"
KERNEL=="hpet", MODE="0660", GROUP="audio"
KERNEL=="cdemu[0-9]*", GROUP="cdrecording", MODE="0660"
KERNEL=="pktcdvd[0-9]*",GROUP="cdrecording", MODE="0660"
KERNEL=="pktcdvd", MODE="0644"
# printers and parallel devices
SUBSYSTEM=="printer", GROUP="lp"
SUBSYSTEM=="ppdev", GROUP="lp"
KERNEL=="pt[0-9]*", GROUP="tape"
KERNEL=="pht[0-9]*", GROUP="tape"
# sound devices
SUBSYSTEM=="sound", GROUP="audio"
# input devices
KERNEL=="event[0-9]*", MODE="0664", GROUP="video"
KERNEL=="js[0-9]*", MODE="0664"
# AOE character devices
SUBSYSTEM=="aoe", MODE="0220", GROUP="disk"
SUBSYSTEM=="aoe", KERNEL=="err",MODE="0440"
# kvm and kqemu devices
KERNEL=="kqemu", MODE="0660", GROUP="kvm"
KERNEL=="kvm" MODE="0660", GROUP="kvm"

91
udev-post-initscript Normal file
View File

@ -0,0 +1,91 @@
#!/bin/bash
#
# udev-post Post script for udev, after all filesystems are mounted
#
# Authors: Harald Hoyer <harald@redhat.com>
#
# chkconfig: 12345 26 75
# description: Moves the generated persistent udev rules to /etc/udev/rules.d
#
### BEGIN INIT INFO
# Default-Start: 12345
# Default-Stop: 0 6
# Required-Start: $local_fs
# Required-Stop:
# Short-Description: Moves the generated persistent udev rules to /etc/udev/rules.d
# Description: Moves the generated persistent udev rules to /etc/udev/rules.d
# Provides: udev-post
### END INIT INFO
. /etc/rc.d/init.d/functions
. /etc/sysconfig/udev
# See how we were called.
case "$1" in
start|reload)
# workaround for bluetoothd not started because it needs dbus running
udevadm trigger --subsystem-match=bluetooth
STRING=$"Adding udev persistent rules"
# copy the rules generated before / was mounted read-write
for file in /dev/.udev/tmp-rules--*; do
dest=${file##*tmp-rules--}
# check, if anything is todo
[ "$dest" = '*' ] && exit 0
echo -n $STRING
cat $file >> /etc/udev/rules.d/$dest
rc=$?
rm -f $file
if [ "$rc" -eq "0" ]; then
success "$STRING"
echo
elif [ "$rc" -eq "1" ]; then
failure "$STRING"
echo
fi
done
touch /var/lock/subsys/udev-post
exit 0
;;
stop)
STRING=$"Generating udev makedev cache file"
MAKEDEV="/sbin/MAKEDEV"
USE_MD5="false"
[ -x /usr/bin/md5sum -a "$UDEV_USE_MAKEDEV_CACHE" == "yes" ] && USE_MD5="true"
if [ "$USE_MD5" == "true" -a -x "$MAKEDEV" ]; then
for i in /etc/udev/makedev.d/*.nodes; do
if [ -f "$i" ]; then
# use a little caching to speedup things
md5=$(/usr/bin/md5sum "$i"|(read a b; echo $a))
md5file="/var/lib/udev/makedev.d/${md5}.sh"
if [ ! -f "$md5file" ]; then
echo -n $STRING
( sed -e 's,#.*,,g' "$i" | \
xargs $MAKEDEV -x -a -S ) \
> "$md5file"
rc=$?
if [ "$rc" -eq "0" ]; then
success "$STRING"
echo
elif [ "$rc" -eq "1" ]; then
failure "$STRING"
echo
fi
fi
fi
done
fi
rm -f /var/lock/subsys/udev-post
exit 0
;;
status)
exit 3
;;
*)
echo $"Usage: $0 {start|stop|reload}"
exit 3
esac
exit 0

4
udev-sysconfig Normal file
View File

@ -0,0 +1,4 @@
# If set to "yes", generates cache shell files of what MAKEDEV would do.
# May speedup some systems with slow disks.
# EXPERIMENTAL - use at your own risk
UDEV_USE_MAKEDEV_CACHE="no"