Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=ryuotesting10.git;a=commitdiff;h=6644ab35443fca9b3fd5585c28798a2c67860198

commit 6644ab35443fca9b3fd5585c28798a2c67860198
Author: James Buren <[email protected]>
Date:   Sun Feb 17 20:05:45 2013 -0600

systemd-197-2-x86_64
* add patch to fix dbus assertions
* remove /etc/mtab processing from scriptlet. it's now in util-linux.
* default to graphical.target for our default runlevel. /etc/inittab is 
pointless to process now.
* backup systemd dbus config
* call udevadm to update hwdb in scriptlet
* update journald catalog in scriptlet
* remove conversion rules for locale.conf from last cycle

diff --git 
a/source/base/systemd/0001-dbus-fix-serialization-of-calendar-timers.patch 
b/source/base/systemd/0001-dbus-fix-serialization-of-calendar-timers.patch
new file mode 100644
index 0000000..ae81b44
--- /dev/null
+++ b/source/base/systemd/0001-dbus-fix-serialization-of-calendar-timers.patch
@@ -0,0 +1,61 @@
+From 3761902e2e120849c283106fd4b78b6adec7367e Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <[email protected]>
+Date: Tue, 8 Jan 2013 20:00:01 +0100
+Subject: [PATCH] dbus: fix serialization of calendar timers
+
+---
+ src/core/dbus-timer.c | 25 +++++++++++++++----------
+ 1 file changed, 15 insertions(+), 10 deletions(-)
+
+diff --git a/src/core/dbus-timer.c b/src/core/dbus-timer.c
+index 11d18cb..b22fcb5 100644
+--- a/src/core/dbus-timer.c
++++ b/src/core/dbus-timer.c
+@@ -69,22 +69,28 @@ static int bus_timer_append_timers(DBusMessageIter *i, 
const char *property, voi
+                 return -ENOMEM;
+
+         LIST_FOREACH(value, k, p->values) {
+-                char *buf;
++                _cleanup_free_ char *buf = NULL;
+                 const char *t;
+                 size_t l;
+                 bool b;
+
+                 t = timer_base_to_string(k->base);
+-                assert(endswith(t, "Sec"));
+
+-                /* s/Sec/USec/ */
+-                l = strlen(t);
+-                buf = new(char, l+2);
+-                if (!buf)
+-                        return -ENOMEM;
++                if (endswith(t, "Sec")) {
++
++                        /* s/Sec/USec/ */
++                        l = strlen(t);
++                        buf = new(char, l+2);
++                        if (!buf)
++                                return -ENOMEM;
+
+-                memcpy(buf, t, l-3);
+-                memcpy(buf+l-3, "USec", 5);
++                        memcpy(buf, t, l-3);
++                        memcpy(buf+l-3, "USec", 5);
++                } else {
++                        buf = strdup(t);
++                        if (!buf)
++                                return -ENOMEM;
++                }
+
+                 b = dbus_message_iter_open_container(&sub, DBUS_TYPE_STRUCT, 
NULL, &sub2) &&
+                         dbus_message_iter_append_basic(&sub2, 
DBUS_TYPE_STRING, &buf) &&
+@@ -92,7 +98,6 @@ static int bus_timer_append_timers(DBusMessageIter *i, const 
char *property, voi
+                         dbus_message_iter_append_basic(&sub2, 
DBUS_TYPE_UINT64, &k->next_elapse) &&
+                         dbus_message_iter_close_container(&sub, &sub2);
+
+-                free(buf);
+                 if (!b)
+                         return -ENOMEM;
+         }
+--
+1.8.1
diff --git a/source/base/systemd/FrugalBuild b/source/base/systemd/FrugalBuild
index 4ace123..05a94ae 100644
--- a/source/base/systemd/FrugalBuild
+++ b/source/base/systemd/FrugalBuild
@@ -6,10 +6,10 @@ USE_SYSV_COMPAT=${USE_SYSV_COMPAT:-"y"}

pkgname=systemd
pkgver=197
-pkgrel=1
+pkgrel=2
pkgdesc="A System and Service Manager"
url="http://www.freedesktop.org/wiki/Software/systemd";
-depends=('dbus' 'kmod>=7' 'pam' 'coreutils' 'libcap' 'sysvinit-initscripts' 
'sysvinit-tools' 'xfsprogs-acl' 'pciutils' 'usbutils' 'shadow' 'libgcrypt')
+depends=('dbus>=1.6.8-3' 'kmod>=7' 'pam' 'coreutils' 'libcap' 
'sysvinit-initscripts' 'sysvinit-tools' 'xfsprogs-acl' 'pciutils' 'usbutils' 
'shadow' 'libgcrypt')
makedepends=('docbook-xsl>=1.73.0-2' 'docbook-xml' 'intltool' 'gperf' 'gtk-doc' 
'gobject-introspection')
options=('scriptlet')
up2date="Flasttar http://www.freedesktop.org/software/$pkgname";
@@ -22,7 +22,8 @@ 
source=(http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz \
media.mount \
var-lock.mount \
var-run.mount \
-       vconsole.conf)
+       vconsole.conf \
+       0001-dbus-fix-serialization-of-calendar-timers.patch)
sha1sums=('1b0b4e0fa97c9cf143f17838aa2da34d980d86d4' \
'd5231495467d6ae458abdc42af24c98107609150' \
'8ee24b6906739855a48aded896a0f12154815343' \
@@ -32,7 +33,8 @@ sha1sums=('1b0b4e0fa97c9cf143f17838aa2da34d980d86d4' \
'f896279eca1bcd02db36b215470593734fd894ee' \
'b784cca7ac15405edc2e5c4c1851d712bb6bcc38' \
'31b8d2530e0c8a70358ad5a6c7d8a0fbf43d1bca' \
-          '66c90190613ef915e5b2b1da37abd19791f7b16d')
+          '66c90190613ef915e5b2b1da37abd19791f7b16d' \
+          'fc8f27cf94403d1b0a7831b7ef2d94ace36a3bae')

if Fuse $USE_CRYPTSETUP; then
depends=("${depends[@]}"  'cryptsetup-luks')
@@ -43,7 +45,7 @@ groups=('base' 'core')
archs=('i686' 'x86_64' 'arm')

#TODO : Remove backup, source rc for SysVinit when all rc scripts used systemd
-backup=(etc/{vconsole.conf,systemd/{system.conf,user.conf,logind.conf,journald.conf},machine-id,machine-info,locale.conf,udev/udev.conf,sysconfig/blacklist})
+backup=(etc/{vconsole.conf,systemd/{system.conf,user.conf,logind.conf,journald.conf},machine-id,machine-info,locale.conf,udev/udev.conf,sysconfig/blacklist,tmpfiles.d/console.conf,dbus-1/system.d/org.freedesktop.{hostname,locale,login,systemd,timedate}1.conf})

subpkgs=('systemd-sysvinit')
subdescs=('systemd System V init tools')
diff --git a/source/base/systemd/systemd.install 
b/source/base/systemd/systemd.install
index a7f5b05..eec03de 100644
--- a/source/base/systemd/systemd.install
+++ b/source/base/systemd/systemd.install
@@ -1,47 +1,42 @@
+post_common() {
+       udevadm hwdb --update
+       journalctl --update-catalog
+       systemd-machine-id-setup
+}
+
post_install() {
-       #create group
+       # create group
getent group lock || groupadd -g 55 lock

-       # Try to read default runlevel from the old inittab if it exists
-       runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' 
/etc/inittab 2> /dev/null)
-       if [ -z "$runlevel" ] ; then
-               target="/lib/systemd/system/graphical.target"
-       else
-               target="/lib/systemd/system/runlevel$runlevel.target"
-       fi
-
-       #runlevel
-       /bin/ln -sf $target /etc/systemd/system/default.target
-       #enable services
-       /bin/systemctl enable \
+       # runlevel
+       ln -sf /lib/systemd/system/graphical.target 
/etc/systemd/system/default.target
+
+       post_common
+
+       # enable services
+       systemctl enable \
display-manager.service \
[email protected] \
getty.target \
-               remote-fs.target > /dev/null 2>&1 || :
-       #now /etc/mtab is a symlink
-       rm /etc/mtab
-       ln -sf /proc/self/mounts /etc/mtab
-       /bin/systemd-machine-id-setup > /dev/null 2>&1 || :
+               remote-fs.target
+
+       true
}

post_upgrade() {
-       # these can be removed after Frugalware-1.8 (Setup need to be adapted)
-       # first, if this is a direct stable -> current upgrade, then this file 
should be size 0.
-       if [ ! -s /etc/locale.conf -a -f /etc/profile.d/lang.sh ]; then
-               grep LANG= /etc/profile.d/lang.sh | sed 's|export ||' > 
/etc/locale.conf
-       fi
-       # second, enable utf8 locale in /etc/locale.conf.
-       if ! grep -q '^LANG=.*\.utf8$' /etc/locale.conf; then
-               sed -i -r 's|^LANG=([^.]*)(\..*)?$|LANG=\1.utf8|' 
/etc/locale.conf
-       fi
+       post_common
+
# Setup display manager
-       /bin/systemctl enable display-manager-legacy.service > /dev/null 2>&1
-       #reload systemd
-       /bin/systemctl daemon-reexec > /dev/null 2>&1 || :
+       systemctl enable display-manager-legacy.service
+
+       # reload systemd
+       systemctl daemon-reexec
+
+       true
}

post_remove() {
-  getent group lock && groupdel lock
+       getent group lock && groupdel lock
}

op=$1
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to