Loading package/systemd/systemd-fix-page-size.patch 0 → 100644 +43 −0 Original line number Diff line number Diff line commit 7264278fbbdc1dc6c30fedc902d1337594aa6ff6 Author: Lennart Poettering <lennart@poettering.net> Date: Wed Mar 21 23:47:44 2012 +0100 journal: PAGE_SIZE is not known on ppc and other archs Let's use NAME_MAX, as suggested by Dan Walsh diff --git a/src/journal/journald.c b/src/journal/journald.c index d27cb60..87390bd 100644 --- a/src/journal/journald.c +++ b/src/journal/journald.c @@ -29,7 +29,6 @@ #include <sys/ioctl.h> #include <linux/sockios.h> #include <sys/statvfs.h> -#include <sys/user.h> #include <systemd/sd-journal.h> #include <systemd/sd-login.h> @@ -2149,10 +2148,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; package/systemd/systemd-uclibc-fix.patch +25 −6 Original line number Diff line number Diff line Loading @@ -9,14 +9,15 @@ support to uClibc). Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> --- src/journal/journal-file.c | 2 ++ src/macro.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 2 files changed, 17 insertions(+) Index: systemd-37/src/macro.h Index: systemd-44/src/macro.h =================================================================== --- systemd-37.orig/src/macro.h +++ systemd-37/src/macro.h @@ -27,6 +27,21 @@ --- systemd-44.orig/src/macro.h +++ systemd-44/src/macro.h @@ -28,6 +28,21 @@ #include <sys/uio.h> #include <inttypes.h> Loading @@ -38,3 +39,21 @@ Index: systemd-37/src/macro.h #define _printf_attr_(a,b) __attribute__ ((format (printf, a, b))) #define _sentinel_ __attribute__ ((sentinel)) #define _noreturn_ __attribute__((noreturn)) Index: systemd-44/src/journal/journal-file.c =================================================================== --- systemd-44.orig/src/journal/journal-file.c +++ systemd-44/src/journal/journal-file.c @@ -229,11 +229,13 @@ } } +#ifndef __UCLIBC__ /* Note that the glibc fallocate() fallback is very inefficient, hence we try to minimize the allocation area as we can. */ if (posix_fallocate(f->fd, old_size, new_size - old_size) < 0) return -errno; +#endif if (fstat(f->fd, &f->last_stat) < 0) return -errno; package/systemd/systemd.mk +15 −9 Original line number Diff line number Diff line Loading @@ -3,9 +3,9 @@ # systemd # ############################################################# SYSTEMD_VERSION = 37 SYSTEMD_VERSION = 44 SYSTEMD_SITE = http://www.freedesktop.org/software/systemd/ SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.bz2 SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.xz SYSTEMD_DEPENDENCIES = \ host-intltool \ libcap \ Loading @@ -32,7 +32,8 @@ SYSTEMD_CONF_OPT += \ --with-dbusinterfacedir=/usr/share/dbus-1/interfaces \ --with-udevrulesdir=/etc/udev/rules.d \ --with-sysvinit-path=/etc/init.d/ \ --without-sysvrcd-path --without-sysvrcd-path \ --enable-split-usr ifeq ($(BR2_PACKAGE_ACL),y) SYSTEMD_CONF_OPT += --enable-acl Loading @@ -41,21 +42,26 @@ else SYSTEMD_CONF_OPT += --disable-acl endif ifneq ($(BR2_LARGEFILE),y) SYSTEMD_CONF_OPT += --disable-largefile endif # mq_getattr needs -lrt SYSTEMD_MAKE_OPT += LIBS=-lrt SYSTEMD_MAKE_OPT += LDFLAGS+=-ldl define SYSTEMD_INSTALL_INIT_HOOK ln -fs ../bin/systemd $(TARGET_DIR)/sbin/init ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/halt ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/poweroff ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/reboot ln -fs ../usr/lib/systemd/systemd $(TARGET_DIR)/sbin/init ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/halt ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/poweroff ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/reboot ln -fs ../../../../lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target ln -fs ../../../usr/lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target endef define SYSTEMD_INSTALL_TTY_HOOK rm -f $(TARGET_DIR)/etc/systemd/system/getty.target.wants/getty@tty1.service ln -fs ../../../../lib/systemd/system/serial-getty@.service $(TARGET_DIR)/etc/systemd/system/getty.target.wants/serial-getty@$(BR2_TARGET_GENERIC_GETTY_PORT).service ln -fs ../../../../usr/lib/systemd/system/serial-getty@.service $(TARGET_DIR)/etc/systemd/system/getty.target.wants/serial-getty@$(BR2_TARGET_GENERIC_GETTY_PORT).service endef SYSTEMD_POST_INSTALL_TARGET_HOOKS += \ Loading Loading
package/systemd/systemd-fix-page-size.patch 0 → 100644 +43 −0 Original line number Diff line number Diff line commit 7264278fbbdc1dc6c30fedc902d1337594aa6ff6 Author: Lennart Poettering <lennart@poettering.net> Date: Wed Mar 21 23:47:44 2012 +0100 journal: PAGE_SIZE is not known on ppc and other archs Let's use NAME_MAX, as suggested by Dan Walsh diff --git a/src/journal/journald.c b/src/journal/journald.c index d27cb60..87390bd 100644 --- a/src/journal/journald.c +++ b/src/journal/journald.c @@ -29,7 +29,6 @@ #include <sys/ioctl.h> #include <linux/sockios.h> #include <sys/statvfs.h> -#include <sys/user.h> #include <systemd/sd-journal.h> #include <systemd/sd-login.h> @@ -2149,10 +2148,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;
package/systemd/systemd-uclibc-fix.patch +25 −6 Original line number Diff line number Diff line Loading @@ -9,14 +9,15 @@ support to uClibc). Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> --- src/journal/journal-file.c | 2 ++ src/macro.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 2 files changed, 17 insertions(+) Index: systemd-37/src/macro.h Index: systemd-44/src/macro.h =================================================================== --- systemd-37.orig/src/macro.h +++ systemd-37/src/macro.h @@ -27,6 +27,21 @@ --- systemd-44.orig/src/macro.h +++ systemd-44/src/macro.h @@ -28,6 +28,21 @@ #include <sys/uio.h> #include <inttypes.h> Loading @@ -38,3 +39,21 @@ Index: systemd-37/src/macro.h #define _printf_attr_(a,b) __attribute__ ((format (printf, a, b))) #define _sentinel_ __attribute__ ((sentinel)) #define _noreturn_ __attribute__((noreturn)) Index: systemd-44/src/journal/journal-file.c =================================================================== --- systemd-44.orig/src/journal/journal-file.c +++ systemd-44/src/journal/journal-file.c @@ -229,11 +229,13 @@ } } +#ifndef __UCLIBC__ /* Note that the glibc fallocate() fallback is very inefficient, hence we try to minimize the allocation area as we can. */ if (posix_fallocate(f->fd, old_size, new_size - old_size) < 0) return -errno; +#endif if (fstat(f->fd, &f->last_stat) < 0) return -errno;
package/systemd/systemd.mk +15 −9 Original line number Diff line number Diff line Loading @@ -3,9 +3,9 @@ # systemd # ############################################################# SYSTEMD_VERSION = 37 SYSTEMD_VERSION = 44 SYSTEMD_SITE = http://www.freedesktop.org/software/systemd/ SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.bz2 SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.xz SYSTEMD_DEPENDENCIES = \ host-intltool \ libcap \ Loading @@ -32,7 +32,8 @@ SYSTEMD_CONF_OPT += \ --with-dbusinterfacedir=/usr/share/dbus-1/interfaces \ --with-udevrulesdir=/etc/udev/rules.d \ --with-sysvinit-path=/etc/init.d/ \ --without-sysvrcd-path --without-sysvrcd-path \ --enable-split-usr ifeq ($(BR2_PACKAGE_ACL),y) SYSTEMD_CONF_OPT += --enable-acl Loading @@ -41,21 +42,26 @@ else SYSTEMD_CONF_OPT += --disable-acl endif ifneq ($(BR2_LARGEFILE),y) SYSTEMD_CONF_OPT += --disable-largefile endif # mq_getattr needs -lrt SYSTEMD_MAKE_OPT += LIBS=-lrt SYSTEMD_MAKE_OPT += LDFLAGS+=-ldl define SYSTEMD_INSTALL_INIT_HOOK ln -fs ../bin/systemd $(TARGET_DIR)/sbin/init ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/halt ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/poweroff ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/reboot ln -fs ../usr/lib/systemd/systemd $(TARGET_DIR)/sbin/init ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/halt ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/poweroff ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/reboot ln -fs ../../../../lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target ln -fs ../../../usr/lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target endef define SYSTEMD_INSTALL_TTY_HOOK rm -f $(TARGET_DIR)/etc/systemd/system/getty.target.wants/getty@tty1.service ln -fs ../../../../lib/systemd/system/serial-getty@.service $(TARGET_DIR)/etc/systemd/system/getty.target.wants/serial-getty@$(BR2_TARGET_GENERIC_GETTY_PORT).service ln -fs ../../../../usr/lib/systemd/system/serial-getty@.service $(TARGET_DIR)/etc/systemd/system/getty.target.wants/serial-getty@$(BR2_TARGET_GENERIC_GETTY_PORT).service endef SYSTEMD_POST_INSTALL_TARGET_HOOKS += \ Loading