diff options
author | root <root@rshg054.dnsready.net> | 2012-06-08 00:01:46 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-06-08 00:01:46 +0000 |
commit | 7d11e9346ebd0f9c378952caee0c82d6ca815f4e (patch) | |
tree | 37cbc273cef015a41013f52ed6a90fb16eca34f4 | |
parent | 334c2a7916a80d08b1c216cfbf02135e64891632 (diff) |
Fri Jun 8 00:01:46 UTC 2012
45 files changed, 1907 insertions, 108 deletions
diff --git a/community/chmsee/PKGBUILD b/community/chmsee/PKGBUILD index 386876953..9a3937901 100644 --- a/community/chmsee/PKGBUILD +++ b/community/chmsee/PKGBUILD @@ -1,28 +1,28 @@ -# $Id: PKGBUILD 69903 2012-04-26 07:47:47Z lcarlier $ +# $Id: PKGBUILD 72043 2012-06-06 19:44:09Z lcarlier $ # Maintainer : Laurent Carlier <lordheavym@gmail.com> # Contributor: dionydonny <dionydonny@gmail.com> # Contributor: Ermanno <erm67@yahoo.it> pkgname=chmsee -pkgver=1.99.09 -pkgrel=2 +pkgver=1.99.10 +pkgrel=1 arch=('i686' 'x86_64') pkgdesc="A chm (MS HTML help file format) viewer based on xulrunner." url="http://chmsee.googlecode.com/" license=('GPL') -depends=('xulrunner>=11.0' 'chmlib' 'desktop-file-utils') +depends=('xulrunner>=13.0' 'chmlib' 'desktop-file-utils') makedepends=('python2') source=(chmsee-$pkgver.tar.gz::https://github.com/jungleji/chmsee/tarball/v$pkgver chmsee) install=chmsee.install -md5sums=('f0ee2a87ffd3f6667d88eb89c31387e4' +md5sums=('8d8a45f10fe68c08d2248ea1df62a697' '242a9390bc943cc38237fa71137fb26c') build() { cd ${srcdir}/jungleji-chmsee-*/src cp Makefile.arch Makefile - sed -i -e 's/11.*/12.*/g' ../application.ini + sed -i -e 's/12.*/13.*/g' ../application.ini make } diff --git a/community/elinks/PKGBUILD b/community/elinks/PKGBUILD index 57957d67c..3ed1b04bf 100644 --- a/community/elinks/PKGBUILD +++ b/community/elinks/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 54357 2011-08-17 12:23:10Z kkeen $ +# $Id: PKGBUILD 72041 2012-06-06 18:55:27Z kkeen $ # Maintainer: Kyle Keen <keenerd@gmail.com> # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Andrea Scarpino <andrea@archlinux.org> @@ -7,8 +7,8 @@ pkgname=elinks pkgver=0.13 -_commit="30c485af4c4ba128d82171a6066594f3cfaeae5d" -pkgrel=9 +_commit="9313aae9062e1d9ff084858fa6844259cd8237d6" +pkgrel=10 pkgdesc="An advanced and well-established feature-rich text mode web browser." arch=("i686" "x86_64") url="http://elinks.or.cz" diff --git a/community/haveged/PKGBUILD b/community/haveged/PKGBUILD index 118750b7b..35087ea57 100644 --- a/community/haveged/PKGBUILD +++ b/community/haveged/PKGBUILD @@ -1,19 +1,21 @@ +# $Id: PKGBUILD 72028 2012-06-06 10:37:52Z heftig $ # Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com> # Contributor: kfgz <kfgz at interia dot pl> # Contributor: pootzko <pootzko at gmail dot com> pkgname=haveged pkgver=1.4 -pkgrel=1 -pkgdesc="A simple entropy daemon." +pkgrel=3 +pkgdesc="Entropy harvesting daemon using CPU timings" arch=('i686' 'x86_64') url="http://www.issihosts.com/haveged" license=('GPL') -depends=('bash') +depends=('glibc') source=(${url}/${pkgname}-${pkgver}.tar.gz - haveged) + haveged haveged.service) md5sums=('39a03d4b8a4225706f78dbef3f623b0e' - '264b725be5271288b40f363d7cfc6b68') + '264b725be5271288b40f363d7cfc6b68' + 'fc62a480f520377364503aca9efff0b0') build() { cd "${srcdir}"/${pkgname}-${pkgver/a/} @@ -28,4 +30,5 @@ package() { cd "${srcdir}" install -D -m755 haveged "${pkgdir}"/etc/rc.d/haveged + install -D -m644 haveged.service "${pkgdir}"/usr/lib/systemd/system/haveged.service } diff --git a/community/haveged/haveged.service b/community/haveged/haveged.service new file mode 100644 index 000000000..6803a0dec --- /dev/null +++ b/community/haveged/haveged.service @@ -0,0 +1,11 @@ +[Unit] +Description=Entropy Harvesting Daemon +Documentation=man:haveged(8) + +[Service] +Type=forking +ExecStart=/usr/sbin/haveged -w 1024 -v 1 +PIDFile=/var/run/haveged.pid + +[Install] +WantedBy=multi-user.target diff --git a/community/ldc/PKGBUILD b/community/ldc/PKGBUILD index 3e29ab293..ba9552118 100644 --- a/community/ldc/PKGBUILD +++ b/community/ldc/PKGBUILD @@ -1,19 +1,24 @@ -# $Id: PKGBUILD 68277 2012-03-21 07:36:10Z svenstaro $ +# $Id: PKGBUILD 72035 2012-06-06 13:48:23Z svenstaro $ # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> pkgname=ldc -pkgver=20120321 -pkgrel=1 +pkgver=20120606 +pkgrel=2 pkgdesc="A D Compiler based on the LLVM Compiler Infrastructure including D runtime and libphobos2" arch=('i686' 'x86_64') url="http://www.dsource.org/projects/ldc" license=('BSD') depends=('llvm' 'libconfig') makedepends=('git' 'cmake') +backup=('etc/ldc2.conf') source=() md5sums=() _gitroot=git://github.com/ldc-developers/ldc.git _gitname=ldc +_gitbranch=llvm-3.1 + +[[ $CARCH == "x86_64" ]] && _multilib="ON" +[[ $CARCH == "i686" ]] && _multilib="OFF" build() { cd "$srcdir" @@ -23,7 +28,7 @@ build() { cd "$_gitname" && git pull origin msg "The local files are updated." else - git clone "$_gitroot" "$_gitname" + git clone --branch "$_gitbranch" "$_gitroot" "$_gitname" fi msg "GIT checkout done or server timeout" @@ -37,6 +42,7 @@ build() { cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ -DINCLUDE_INSTALL_DIR=/usr/include/d/std-ldc \ + -DMULTILIB=$_multilib \ .. make } @@ -52,4 +58,7 @@ package() { mv $pkgdir/etc/bash_completion.d $pkgdir/usr/share/bash-completion/completions install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE + + # We don't actually want the multilib libs in this package + rm -rf $pkgdir/usr/lib32 } diff --git a/core/libusbx/PKGBUILD b/core/libusbx/PKGBUILD new file mode 100644 index 000000000..ac1363119 --- /dev/null +++ b/core/libusbx/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 160804 2012-06-06 10:38:17Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +pkgname=libusbx +pkgver=1.0.11 +pkgrel=2 +depends=('glibc') +pkgdesc="Library that provides generic access to USB device" +arch=(i686 x86_64) +url="http://libusbx.org" +license=('LGPL') +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2) +options=(!libtool) +replaces=('libusb1' 'libusb') +provides=("libusb=$pkgver") +conflicts=("libusb") + +md5sums=('9aaab6aee72f65900cc731ecbffb4cf4') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package () { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/core/pinentry/PKGBUILD b/core/pinentry/PKGBUILD index c94625d29..072a2b244 100644 --- a/core/pinentry/PKGBUILD +++ b/core/pinentry/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 146747 2012-01-16 22:52:55Z dreisner $ +# $Id: PKGBUILD 160802 2012-06-06 10:36:53Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> pkgname=pinentry pkgver=0.8.1 -pkgrel=3 +pkgrel=4 pkgdesc="a collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol" arch=('i686' 'x86_64') license=('GPL') @@ -12,11 +12,13 @@ makedepends=('gtk2' 'qt') optdepends=('gtk2: for gtk2 backend' 'qt: for qt4 backend') source=(ftp://ftp.gnupg.org/gcrypt/$pkgname/$pkgname-$pkgver.tar.gz - gtk2-pinentry-segfault.patch) + qt4-pinentry-window.patch) install=pinentry.install build() { - cd $startdir/src/$pkgname-$pkgver + cd $srcdir/$pkgname-$pkgver + #fix: https://bugs.archlinux.org/task/29998 + patch -Np1 -i ../qt4-pinentry-window.patch for file in qt4/*.moc; do /usr/bin/moc ${file/.moc/.h} > ${file} done @@ -27,11 +29,12 @@ build() { --enable-pinentry-gtk2 \ --enable-pinentry-qt4 \ --enable-fallback-curses - make + make +} + +package() { + cd $srcdir/$pkgname-$pkgver make DESTDIR=${pkgdir} install - #rm ${pkgdir}/usr/share/info/dir - #rm ${pkgdir}/usr/bin/pinentry - #ln -s /usr/bin/pinentry-gtk-2 ${pkgdir}/usr/bin/pinentry } md5sums=('81f99904daee5331eb6738408bb024b6' - 'bd9888fafc56464b2c4deaad5b8edb07') + '450b8713fe42f1bd93311ef84767c3d8') diff --git a/core/pinentry/qt4-pinentry-window.patch b/core/pinentry/qt4-pinentry-window.patch new file mode 100644 index 000000000..8f9faae11 --- /dev/null +++ b/core/pinentry/qt4-pinentry-window.patch @@ -0,0 +1,28 @@ +From c2ab12b3742c929a225c3753439438edc27bfa81 Mon Sep 17 00:00:00 2001 +From: Stanislav Ochotnicky <sochotnicky@redhat.com> +Date: Tue, 1 Feb 2011 14:42:27 +0100 +Subject: [PATCH] Fix qt4 pinentry window created in the background + +This is probably just a workaround. Proper fix is being investigated. +See: +https://bugzilla.redhat.com/show_bug.cgi?id=589532 +http://stackoverflow.com/questions/2788518/calling-activatewindow-on-qdialog-sends-window-to-background +--- + qt4/pinentrydialog.cpp | 1 - + 1 files changed, 0 insertions(+), 1 deletions(-) + +diff --git a/qt4/pinentrydialog.cpp b/qt4/pinentrydialog.cpp +index 541baf4..d634eb6 100644 +--- a/qt4/pinentrydialog.cpp ++++ b/qt4/pinentrydialog.cpp +@@ -69,7 +69,6 @@ void raiseWindow( QWidget* w ) + SetForegroundWindow( w->winId() ); + #endif + w->raise(); +- w->activateWindow(); + } + + QPixmap icon( QStyle::StandardPixmap which ) +-- +1.7.3.5 + diff --git a/core/systemd/0001-Reinstate-TIMEOUT-handling.patch b/core/systemd/0001-Reinstate-TIMEOUT-handling.patch new file mode 100644 index 000000000..766dcb87f --- /dev/null +++ b/core/systemd/0001-Reinstate-TIMEOUT-handling.patch @@ -0,0 +1,124 @@ +From 2127f99fb43d2ef950e95329ce40bdd5da8b015c Mon Sep 17 00:00:00 2001 +From: Dave Reisner <dreisner@archlinux.org> +Date: Fri, 25 May 2012 19:43:24 -0400 +Subject: [PATCH] Reinstate TIMEOUT= handling + +This is mostly to deal with ipw2?00 drivers which have yet to be fixed +in the kernel. +--- + src/libudev/libudev-device.c | 19 +++++++++++++++++++ + src/libudev/libudev-private.h | 1 + + src/udev/udevd.c | 13 ++++++++++--- + 3 files changed, 30 insertions(+), 3 deletions(-) + +diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c +index a8277d1..5966189 100644 +--- a/src/libudev/libudev-device.c ++++ b/src/libudev/libudev-device.c +@@ -68,6 +68,7 @@ struct udev_device { + struct udev_list tags_list; + unsigned long long int seqnum; + unsigned long long int usec_initialized; ++ int timeout; + int devlink_priority; + int refcount; + dev_t devnum; +@@ -89,6 +90,21 @@ struct udev_device { + bool db_persist; + }; + ++int udev_device_get_timeout(struct udev_device *udev_device) ++{ ++ return udev_device->timeout; ++} ++ ++static int udev_device_set_timeout(struct udev_device *udev_device, int timeout) ++{ ++ char num[32]; ++ ++ udev_device->timeout = timeout; ++ snprintf(num, sizeof(num), "%u", timeout); ++ udev_device_add_property(udev_device, "TIMEOUT", num); ++ return 0; ++} ++ + /** + * udev_device_get_seqnum: + * @udev_device: udev device +@@ -362,6 +378,8 @@ void udev_device_add_property_from_string_parse(struct udev_device *udev_device, + + util_strscpyl(path, sizeof(path), TEST_PREFIX "/sys", &property[8], NULL); + udev_device_set_syspath(udev_device, path); ++ } else if (strncmp(property, "TIMEOUT=", 8) == 0) { ++ udev_device_set_timeout(udev_device, strtoull(&property[8], NULL, 10)); + } else if (startswith(property, "SUBSYSTEM=")) { + udev_device_set_subsystem(udev_device, &property[10]); + } else if (startswith(property, "DEVTYPE=")) { +@@ -605,6 +623,7 @@ struct udev_device *udev_device_new(struct udev *udev) + udev_list_init(udev, &udev_device->sysattr_value_list, true); + udev_list_init(udev, &udev_device->sysattr_list, false); + udev_list_init(udev, &udev_device->tags_list, true); ++ udev_device->timeout = -1; + udev_device->watch_handle = -1; + /* copy global properties */ + udev_list_entry_foreach(list_entry, udev_get_properties_list_entry(udev)) +diff --git a/src/libudev/libudev-private.h b/src/libudev/libudev-private.h +index 4eb4a59..99aefeb 100644 +--- a/src/libudev/libudev-private.h ++++ b/src/libudev/libudev-private.h +@@ -70,6 +70,7 @@ const char *udev_device_get_id_filename(struct udev_device *udev_device); + void udev_device_set_is_initialized(struct udev_device *udev_device); + int udev_device_add_tag(struct udev_device *udev_device, const char *tag); + void udev_device_cleanup_tags_list(struct udev_device *udev_device); ++int udev_device_get_timeout(struct udev_device *udev_device); + unsigned long long udev_device_get_usec_initialized(struct udev_device *udev_device); + void udev_device_set_usec_initialized(struct udev_device *udev_device, unsigned long long usec_initialized); + int udev_device_get_devlink_priority(struct udev_device *udev_device); +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index 0d85960..cd24462 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -384,7 +384,7 @@ out: + } + } + +-static void event_run(struct event *event) ++static void event_run(struct event *event, bool force) + { + struct udev_list_node *loop; + +@@ -410,7 +410,7 @@ static void event_run(struct event *event) + return; + } + +- if (children >= children_max) { ++ if (!force && children >= children_max) { + if (children_max > 1) + log_debug("maximum number (%i) of children reached\n", children); + return; +@@ -444,6 +444,13 @@ static int event_queue_insert(struct udev_device *dev) + + event->state = EVENT_QUEUED; + udev_list_node_append(&event->node, &event_list); ++ ++ /* run all events with a timeout set immediately */ ++ if (udev_device_get_timeout(dev) > 0) { ++ event_run(event, true); ++ return 0; ++ } ++ + return 0; + } + +@@ -549,7 +556,7 @@ static void event_queue_start(struct udev *udev) + if (is_devpath_busy(event)) + continue; + +- event_run(event); ++ event_run(event, false); + } + } + +-- +1.7.10.2 + diff --git a/core/systemd/PKGBUILD b/core/systemd/PKGBUILD new file mode 100644 index 000000000..c21f77b8f --- /dev/null +++ b/core/systemd/PKGBUILD @@ -0,0 +1,213 @@ +# Maintainer: Dave Reisner <dreisner@archlinux.org> +# Contributor: Tom Gundersen <teg@jklm.no> + +pkgbase=systemd +pkgname=('systemd' 'libsystemd' 'systemd-tools' 'systemd-sysvcompat') +pkgver=184 +pkgrel=2 +arch=('i686' 'x86_64') +url="http://www.freedesktop.org/wiki/Software/systemd" +license=('GPL2' 'LGPL2.1' 'MIT') +makedepends=('acl' 'cryptsetup' 'dbus-core' 'docbook-xsl' 'gobject-introspection' 'gperf' + 'gtk-doc' 'intltool' 'kmod' 'libcap' 'libxslt' 'linux-api-headers' 'pam' 'xz') +options=('!libtool') +source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" + 'initcpio-hook-udev' + 'initcpio-install-udev' + 'initcpio-install-timestamp' + '0001-Reinstate-TIMEOUT-handling.patch' + 'os-release' + 'locale.sh') +md5sums=('6be0a2519fd42b988a1a2a56e5bd40c1' + 'e99e9189aa2f6084ac28b8ddf605aeb8' + '59e91c4d7a69b7bf12c86a9982e37ced' + 'df69615503ad293c9ddf9d8b7755282d' + '5543be25f205f853a21fa5ee68e03f0d' + '752636def0db3c03f121f8b4f44a63cd' + 'f15956945052bb911e5df81cf5e7e5dc') + +build() { + cd "$pkgname-$pkgver" + + # still waiting on ipw2x00 to get fixed... + patch -Np1 <"$srcdir/0001-Reinstate-TIMEOUT-handling.patch" + + ./configure \ + --libexecdir=/usr/lib \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --enable-split-usr \ + --enable-introspection \ + --enable-gtk-doc \ + --disable-audit \ + --disable-ima \ + --with-pamlibdir=/usr/lib/security \ + --with-distro=arch \ + --with-usb-ids-path=/usr/share/hwdata/usb.ids \ + --with-pci-ids-path=/usr/share/hwdata/pci.ids \ + --with-firmware-path=/usr/lib/firmware/updates:/lib/firmware/updates:/usr/lib/firmware:/lib/firmware + + make +} + +package_systemd() { + pkgdesc="system and service manager" + depends=('acl' 'dbus-core' "libsystemd=$pkgver" 'kmod' 'libcap' 'pam' + "systemd-tools=$pkgver" 'util-linux' 'xz') + optdepends=('dbus-python: systemd-analyze' + 'initscripts: legacy support for hostname and vconsole setup' + 'initscripts-systemd: native boot and initialization scripts' + 'python2-cairo: systemd-analyze' + 'systemd-arch-units: collection of native unit files for Arch daemon/init scripts' + 'systemd-sysvcompat: symlink package to provide sysvinit binaries') + backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf + etc/dbus-1/system.d/org.freedesktop.hostname1.conf + etc/dbus-1/system.d/org.freedesktop.login1.conf + etc/dbus-1/system.d/org.freedesktop.locale1.conf + etc/dbus-1/system.d/org.freedesktop.timedate1.conf + etc/systemd/system.conf + etc/systemd/user.conf + etc/systemd/logind.conf + etc/systemd/journald.conf) + install="systemd.install" + + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + + install -Dm644 "$srcdir/os-release" "$pkgdir/etc/os-release" + printf "d /run/console 0755 root root\n" > "$pkgdir/usr/lib/tmpfiles.d/console.conf" + + install -dm755 "$pkgdir/bin" + ln -s ../usr/lib/systemd/systemd "$pkgdir/bin/systemd" + + # fix systemd-analyze for python2 + sed -i '1s/python$/python2/' "$pkgdir/usr/bin/systemd-analyze" + + # move bash-completion and symlink for loginctl + install -Dm644 "$pkgdir/etc/bash_completion.d/systemd-bash-completion.sh" \ + "$pkgdir/usr/share/bash-completion/completions/systemctl" + ln -s systemctl "$pkgdir/usr/share/bash-completion/completions/loginctl" + rm -rf "$pkgdir/etc/bash_completion.d" + + # don't write units to /etc by default -- we'll enable this on post_install + # as a sane default + rm "$pkgdir/etc/systemd/system/getty.target.wants/getty@tty1.service" + rmdir "$pkgdir/etc/systemd/system/getty.target.wants" + + ### split off libsystemd (libs, includes, pkgconfig, man3) + rm -rf "$srcdir/_libsystemd" + install -dm755 "$srcdir"/_libsystemd/usr/{include,lib/pkgconfig} + cd "$srcdir"/_libsystemd + mv "$pkgdir/usr/lib"/libsystemd-*.so* usr/lib + mv "$pkgdir/usr/include/systemd" usr/include + mv "$pkgdir/usr/lib/pkgconfig"/libsystemd-*.pc usr/lib/pkgconfig + + ### split out manpages for sysvcompat + rm -rf "$srcdir/_sysvcompat" + install -dm755 "$srcdir"/_sysvcompat/usr/share/man/man8/ + mv "$pkgdir"/usr/share/man/man8/{telinit,halt,reboot,poweroff,runlevel,shutdown}.8 \ + "$srcdir"/_sysvcompat/usr/share/man/man8 + + ### split out systemd-tools/udev + rm -rf "$srcdir/_tools" + install -dm755 \ + "$srcdir"/_tools/etc/udev \ + "$srcdir"/_tools/usr/bin \ + "$srcdir"/_tools/usr/include \ + "$srcdir"/_tools/usr/lib/{systemd/system,udev} \ + "$srcdir"/_tools/usr/lib/systemd/system/{sysinit,sockets}.target.wants \ + "$srcdir"/_tools/usr/lib/girepository-1.0 \ + "$srcdir"/_tools/usr/share/pkgconfig \ + "$srcdir"/_tools/usr/share/gir-1.0 \ + "$srcdir"/_tools/usr/share/gtk-doc/html/{g,lib}udev \ + "$srcdir"/_tools/usr/share/man/man{1,5,7,8} + + cd "$srcdir/_tools" + mv "$pkgdir"/etc/udev etc + mv "$pkgdir"/etc/{binfmt,modules-load,sysctl,tmpfiles}.d etc + mv "$pkgdir"/usr/bin/udevadm usr/bin + mv "$pkgdir"/usr/lib/pkgconfig usr/lib + mv "$pkgdir"/usr/lib/systemd/systemd-udevd usr/lib/systemd + mv "$pkgdir"/usr/lib/systemd/system/systemd-udev* usr/lib/systemd/system + mv "$pkgdir"/usr/lib/systemd/system/sysinit.target.wants/systemd-udev* usr/lib/systemd/system/sysinit.target.wants + mv "$pkgdir"/usr/lib/systemd/system/sockets.target.wants/systemd-udev* usr/lib/systemd/system/sockets.target.wants + mv "$pkgdir"/usr/lib/lib{,g}udev* usr/lib + mv "$pkgdir"/usr/lib/{binfmt,sysctl,modules-load,tmpfiles}.d usr/lib + mv "$pkgdir"/usr/lib/udev usr/lib + mv "$pkgdir"/usr/include/{libudev.h,gudev-1.0} usr/include + mv "$pkgdir"/usr/lib/girepository-1.0 usr/lib + mv "$pkgdir"/usr/share/pkgconfig/udev.pc usr/share/pkgconfig + mv "$pkgdir"/usr/share/gir-1.0 usr/share + mv "$pkgdir"/usr/share/gtk-doc/html/{g,lib}udev usr/share/gtk-doc/html + mv "$pkgdir"/usr/share/man/man7/udev.7 usr/share/man/man7 + mv "$pkgdir"/usr/share/man/man8/{systemd-udevd,udevadm}.8 usr/share/man/man8 + mv "$pkgdir"/usr/share/man/man1/systemd-{ask-password,delta,detect-virt}.1 usr/share/man/man1 + mv "$pkgdir"/usr/share/man/man5/{binfmt,modules-load,sysctl,tmpfiles}.d.5 usr/share/man/man5 + mv "$pkgdir"/usr/share/man/man5/{hostname,{vconsole,locale}.conf}.5 usr/share/man/man5 + mv "$pkgdir"/usr/bin/systemd-{ask-password,delta,detect-virt,tmpfiles,tty-ask-password-agent} usr/bin + mv "$pkgdir"/usr/lib/systemd/systemd-{ac-power,binfmt,cryptsetup,modules-load,random-seed,remount-fs,reply-password,sysctl,timestamp,vconsole-setup} usr/lib/systemd +} + +package_systemd-sysvcompat() { + pkgdesc="sysvinit compat for systemd" + conflicts=('sysvinit' 'initscripts') + + mv "$srcdir/_sysvcompat"/* "$pkgdir" + + install -dm755 "$pkgdir/sbin" + for tool in runlevel reboot shutdown poweroff halt telinit; do + ln -s '/usr/bin/systemctl' "$pkgdir/sbin/$tool" + done + + ln -s '../usr/lib/systemd/systemd' "$pkgdir/sbin/init" + + install -Dm755 "$srcdir/locale.sh" "$pkgdir/etc/profile.d/locale.sh" +} + +package_libsystemd() { + pkgdesc="systemd client libraries" + depends=('xz') + + mv "$srcdir/_libsystemd"/* "$pkgdir" +} + +package_systemd-tools() { + pkgdesc='standalone tools from systemd' + url='http://www.freedesktop.org/wiki/Software/systemd' + depends=('acl' 'bash' 'glibc' 'glib2' 'kmod' 'hwids' 'util-linux' 'kbd') + optdepends=('cryptsetup: required for encrypted block devices') + provides=("udev=$pkgver") + conflicts=('udev') + replaces=('udev') + install='systemd-tools.install' + + mv "$srcdir/_tools/"* "$pkgdir" + + # the path to udevadm is hardcoded in some places + install -d "$pkgdir/sbin" + ln -s ../usr/bin/udevadm "$pkgdir/sbin/udevadm" + + # udevd is no longer udevd because systemd. why isn't udevadm now udevctl? + ln -s ../lib/systemd/systemd-udevd "$pkgdir/usr/bin/udevd" + ln -s ../systemd/systemd-udevd "$pkgdir/usr/lib/udev/udevd" + + # Replace dialout/tape/cdrom group in rules with uucp/storage/optical group + sed -i 's#GROUP="dialout"#GROUP="uucp"#g; + s#GROUP="tape"#GROUP="storage"#g; + s#GROUP="cdrom"#GROUP="optical"#g' "$pkgdir"/usr/lib/udev/rules.d/*.rules + + # get rid of unneded lock directories + sed -ri '/\/run\/lock\/(subsys|lockdev)/d' "$pkgdir"/usr/lib/tmpfiles.d/legacy.conf + + # add mkinitcpio hooks + install -Dm644 "$srcdir/initcpio-install-udev" "$pkgdir/usr/lib/initcpio/install/udev" + install -Dm644 "$srcdir/initcpio-hook-udev" "$pkgdir/usr/lib/initcpio/hooks/udev" + install -Dm644 "$srcdir/initcpio-install-timestamp" "$pkgdir/usr/lib/initcpio/install/timestamp" + + # XXX: kill off coredump rule until the journal can recover coredumps + # this file needs to come back as part of systemd, not systemd-tools + rm "$pkgdir/usr/lib/sysctl.d/coredump.conf" +} + +# vim: ft=sh syn=sh et diff --git a/core/systemd/initcpio-hook-udev b/core/systemd/initcpio-hook-udev new file mode 100644 index 000000000..75da7e4a8 --- /dev/null +++ b/core/systemd/initcpio-hook-udev @@ -0,0 +1,20 @@ +#!/usr/bin/ash + +run_earlyhook() { + udevd --daemon --resolve-names=never + udevd_running=1 +} + +run_hook() { + msg ":: Triggering uevents..." + udevadm trigger --action=add --type=subsystems + udevadm trigger --action=add --type=devices + udevadm settle +} + +run_cleanuphook() { + udevadm control --exit + udevadm info --cleanup-db +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/core/systemd/initcpio-install-timestamp b/core/systemd/initcpio-install-timestamp new file mode 100644 index 000000000..259cc705b --- /dev/null +++ b/core/systemd/initcpio-install-timestamp @@ -0,0 +1,14 @@ +#!/bin/bash + +build() { + add_binary /usr/lib/systemd/systemd-timestamp /usr/bin/systemd-timestamp +} + +help() { + cat <<HELPEOF +Provides support for RD_TIMESTAMP in early userspace, which can be read by a +program such as systemd-analyze to determine boot time. +HELPEOF +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/core/systemd/initcpio-install-udev b/core/systemd/initcpio-install-udev new file mode 100644 index 000000000..762429983 --- /dev/null +++ b/core/systemd/initcpio-install-udev @@ -0,0 +1,28 @@ +#!/bin/bash + +build() { + local rules tool + + add_file "/etc/udev/udev.conf" + add_binary /usr/lib/systemd/systemd-udevd /usr/bin/udevd + add_binary /usr/bin/udevadm + + for rules in 50-udev-default.rules 60-persistent-storage.rules 80-drivers.rules; do + add_file "/usr/lib/udev/rules.d/$rules" + done + for tool in ata_id scsi_id; do + add_file "/usr/lib/udev/$tool" + done + + add_runscript +} + +help() { + cat <<HELPEOF +This hook will use udev to create your root device node and detect the needed +modules for your root device. It is also required for firmware loading in +initramfs. It is recommended to use this hook. +HELPEOF +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/core/systemd/locale.sh b/core/systemd/locale.sh new file mode 100644 index 000000000..a4c413eed --- /dev/null +++ b/core/systemd/locale.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +if [ ! -r /etc/locale.conf ]; then + return +fi + +. /etc/locale.conf + +if [ "${LANG+x}" = 'x' ]; then + export LANG +fi + +if [ "${LC_CTYPE+x}" = 'x' ]; then + export LC_CTYPE +fi + +if [ "${LC_NUMERIC+x}" = 'x' ]; then + export LC_NUMERIC +fi + +if [ "${LC_TIME+x}" = 'x' ]; then + export LC_TIME +fi + +if [ "${LC_COLLATE+x}" = 'x' ]; then + export LC_COLLATE +fi + +if [ "${LC_MONETARY+x}" = 'x' ]; then + export LC_MONETARY +fi + +if [ "${LC_MESSAGES+x}" = 'x' ]; then + export LC_MESSAGES +fi + +if [ "${LC_PAPER+x}" = 'x' ]; then + export LC_PAPER +fi + +if [ "${LC_NAME+x}" = 'x' ]; then + export LC_NAME +fi + +if [ "${LC_ADDRESS+x}" = 'x' ]; then + export LC_ADDRESS +fi + +if [ "${LC_TELEPHONE+x}" = 'x' ]; then + export LC_TELEPHONE +fi + +if [ "${LC_MEASUREMENT+x}" = 'x' ]; then + export LC_MEASUREMENT +fi + +if [ "${LC_IDENTIFICATION+x}" = 'x' ]; then + export LC_IDENTIFICATION +fi + diff --git a/core/systemd/os-release b/core/systemd/os-release new file mode 100644 index 000000000..5e24a6031 --- /dev/null +++ b/core/systemd/os-release @@ -0,0 +1,5 @@ +NAME="Arch Linux" +ID=arch +PRETTY_NAME="Arch Linux" +ANSI_COLOR="1;36" + diff --git a/core/systemd/systemd-tools.install b/core/systemd/systemd-tools.install new file mode 100644 index 000000000..c1c19d15d --- /dev/null +++ b/core/systemd/systemd-tools.install @@ -0,0 +1,29 @@ +# arg 1: the new package version +# arg 2: the old package version + +post_upgrade() { + if [ "$(vercmp $2 174)" -lt 0 ]; then + echo " * We now use upstream rules for assigning devices to the 'disk', 'optical'," + echo " 'scanner' and 'video' groups. Beware of any changes." + echo " * We no longer create symlinks from /dev/<dev> to /dev/<dev>0." + echo " * For security reasons, we no longer add devices to the 'storage' group. Use" + echo " udisks and friends, or add custom rules to /etc/udev.d/rules/, if you want" + echo " this functionality back." + echo " * We no longer create the static nodes on install needed for an initrd-less" + echo " boot where devtmpfs is not mounted by the kernel, this only affects fresh" + echo " installs." + fi + if [ "$(vercmp $2 175)" -lt 0 ]; then + echo " * devtmpfs support is now a hard requirement. Users of the official Arch" + echo " kernels have this enabled." + fi + if [ "$(vercmp $2 181)" -lt 0 ]; then + echo " * udev-compat has been removed, and should be uninstalled." + echo " * Framebuffers are no longer blacklisted by default." + echo " * binaries moved from /sbin to /usr/bin" + fi + if [ "$(vercmp $2 181-3)" -lt 0 ]; then + echo " * if your kernel does not provide /dev/loop-control, you need to manually" + echo " load the 'loop' module before using losetup" + fi +} diff --git a/core/systemd/systemd.install b/core/systemd/systemd.install new file mode 100644 index 000000000..0b10f9537 --- /dev/null +++ b/core/systemd/systemd.install @@ -0,0 +1,51 @@ +#!/bin/sh + +sd_booted() { + [ -e sys/fs/cgroup/systemd ] +} + +post_install() { + if [ ! -f etc/machine-id ]; then + systemd-machine-id-setup + fi + + # enable getty@tty1 by default, but don't track the file + systemctl enable getty@.service + + echo ":: Append 'init=/bin/systemd' to your kernel command line in your" + echo " bootloader to replace sysvinit with systemd" +} + +post_upgrade() { + if [ ! -f etc/machine-id ]; then + systemd-machine-id-setup + fi + + if sd_booted; then + # we moved the binary in 44-2 to /usr, so a reexec leads to a + # coredump. refuse this reexec and warn the user that they should + # reboot instead. + if [ "$(vercmp 44-2 "$2")" -eq 1 ]; then + echo "warning: refusing to reexec systemd. the system should be rebooted." + else + systemctl daemon-reload + systemctl daemon-reexec + fi + fi + + # getty@tty1.service is no longer enabled by default, but we don't want to break + # existing setups. + if [ "$(vercmp 183 "$2")" -eq 1 ]; then + # systemctl seems to be whiny on sysvinit. this will succeed unless something + # horrific happens, so just mask the error. + systemctl -q enable getty@.service || true + fi +} + +post_remove() { + if getent group lock >/dev/null; then + groupdel lock + fi +} + +# vim:set ts=2 sw=2 et: diff --git a/extra/aspell-de/PKGBUILD b/extra/aspell-de/PKGBUILD index 7d15c7fe8..65b775c23 100644 --- a/extra/aspell-de/PKGBUILD +++ b/extra/aspell-de/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 137818 2011-09-11 20:26:33Z pierre $ +# $Id: PKGBUILD 160921 2012-06-07 02:05:22Z pierre $ # Maintainer: # Contributor: Simo Leone <simo@archlinux.org> # Contributor: Tobias Kieslich <tobias@justdreams.de> pkgname=aspell-de -pkgver=20110609 +pkgver=20120607 pkgrel=1 pkgdesc="German dictionary for aspell" arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ url="http://j3e.de/ispell/igerman98/index.html" license=('GPL2') depends=('aspell') source=("http://j3e.de/ispell/igerman98/dict/igerman98-${pkgver}.tar.bz2") -md5sums=('6e7ea765b6188c08d470111e221cc91a') +md5sums=('9433d0ccd7db3c7681037980ece3f710') build() { cd "${srcdir}/igerman98-${pkgver}" diff --git a/extra/cups/PKGBUILD b/extra/cups/PKGBUILD index 3a0a56d26..7a7ec85d7 100644 --- a/extra/cups/PKGBUILD +++ b/extra/cups/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 160061 2012-05-29 14:41:20Z andyrtr $ +# $Id: PKGBUILD 160812 2012-06-06 15:26:42Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgbase="cups" pkgname=('libcups' 'cups') pkgver=1.5.3 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') license=('GPL') url="http://www.cups.org/" makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'cups-filters' 'bc' - 'xinetd' 'gzip' 'autoconf' 'php' 'libusb' 'dbus-core' 'avahi' 'hicolor-icon-theme') + 'xinetd' 'gzip' 'autoconf' 'php' 'libusb' 'dbus-core' 'avahi' 'hicolor-icon-theme' 'systemd') source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2 cups-avahi-1-config.patch cups-avahi-2-backend.patch @@ -19,6 +19,7 @@ source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2 cups-no-export-ssllibs.patch cups-no-gcrypt.patch cups-no-gzip-man.patch + cups-systemd-socket.patch cups cups.logrotate cups.pam) #options=('!emptydirs') md5sums=('e1ad15257aa6f162414ea3beae0c5df8' @@ -30,6 +31,7 @@ md5sums=('e1ad15257aa6f162414ea3beae0c5df8' '9b8467a1e51d360096b70e2c3c081e6c' '3733c23e77eb503bd94cc368e02830dc' 'c9159ba1233902ba6ddbbe6885a46b72' + '4505b8b2c57a7c28ea79e08388bbbbb9' '9657daa21760bb0b5fa3d8b51d5e01a1' 'f861b18f4446c43918c8643dcbbd7f6d' '96f82c38f3f540b53f3e5144900acf17') @@ -44,6 +46,9 @@ build() { patch -Np1 -i ${srcdir}/cups-avahi-4-poll.patch patch -Np1 -i ${srcdir}/cups-avahi-5-services.patch + # add systemd socket support - Fedora patch, also used in Gentoo + patch -Np1 -i ${srcdir}/cups-systemd-socket.patch + # Do not export SSL libs in cups-config patch -Np1 -i "${srcdir}/cups-no-export-ssllibs.patch" @@ -57,6 +62,7 @@ build() { ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --libdir=/usr/lib \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ --with-logdir=/var/log/cups \ --with-docdir=/usr/share/cups/doc \ --with-cups-user=daemon \ @@ -116,7 +122,7 @@ backup=(etc/cups/cupsd.conf etc/logrotate.d/cups etc/pam.d/cups etc/xinetd.d/cups-lpd) -depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'libusb' 'dbus-core' 'hicolor-icon-theme') +depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'libusb' 'dbus-core' 'libsystemd' 'hicolor-icon-theme') optdepends=('php: for included phpcups.so module' 'xdg-utils: xdg .desktop file support') diff --git a/extra/cups/cups-systemd-socket.patch b/extra/cups/cups-systemd-socket.patch new file mode 100644 index 000000000..09d17d415 --- /dev/null +++ b/extra/cups/cups-systemd-socket.patch @@ -0,0 +1,527 @@ +diff -up cups-1.5.2/config.h.in.systemd-socket cups-1.5.2/config.h.in +--- cups-1.5.2/config.h.in.systemd-socket 2012-03-16 14:50:57.089449755 +0000 ++++ cups-1.5.2/config.h.in 2012-03-16 14:50:57.146449787 +0000 +@@ -503,6 +503,13 @@ + + + /* ++ * Do we have systemd support? ++ */ ++ ++#undef HAVE_SYSTEMD ++ ++ ++/* + * Various scripting languages... + */ + +diff -up cups-1.5.2/config-scripts/cups-systemd.m4.systemd-socket cups-1.5.2/config-scripts/cups-systemd.m4 +--- cups-1.5.2/config-scripts/cups-systemd.m4.systemd-socket 2012-03-16 14:50:57.146449787 +0000 ++++ cups-1.5.2/config-scripts/cups-systemd.m4 2012-03-16 14:50:57.146449787 +0000 +@@ -0,0 +1,36 @@ ++dnl ++dnl "$Id$" ++dnl ++dnl systemd stuff for CUPS. ++ ++dnl Find whether systemd is available ++ ++SDLIBS="" ++AC_ARG_WITH([systemdsystemunitdir], ++ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), ++ [], [with_systemdsystemunitdir=$($PKGCONFIG --variable=systemdsystemunitdir systemd)]) ++if test "x$with_systemdsystemunitdir" != xno; then ++ AC_MSG_CHECKING(for libsystemd-daemon) ++ if $PKGCONFIG --exists libsystemd-daemon; then ++ AC_MSG_RESULT(yes) ++ SDCFLAGS=`$PKGCONFIG --cflags libsystemd-daemon` ++ SDLIBS=`$PKGCONFIG --libs libsystemd-daemon` ++ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) ++ AC_DEFINE(HAVE_SYSTEMD) ++ else ++ AC_MSG_RESULT(no) ++ fi ++fi ++ ++if test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ; then ++ SYSTEMD_UNITS="cups.service cups.socket cups.path" ++else ++ SYSTEMD_UNITS="" ++fi ++ ++AC_SUBST(SYSTEMD_UNITS) ++AC_SUBST(SDLIBS) ++ ++dnl ++dnl "$Id$" ++dnl +diff -up cups-1.5.2/configure.in.systemd-socket cups-1.5.2/configure.in +--- cups-1.5.2/configure.in.systemd-socket 2011-08-31 02:36:33.000000000 +0100 ++++ cups-1.5.2/configure.in 2012-03-16 14:50:57.146449787 +0000 +@@ -37,6 +37,7 @@ sinclude(config-scripts/cups-pam.m4) + sinclude(config-scripts/cups-largefile.m4) + sinclude(config-scripts/cups-dnssd.m4) + sinclude(config-scripts/cups-launchd.m4) ++sinclude(config-scripts/cups-systemd.m4) + sinclude(config-scripts/cups-defaults.m4) + sinclude(config-scripts/cups-pdf.m4) + sinclude(config-scripts/cups-scripting.m4) +@@ -71,6 +72,9 @@ AC_OUTPUT(Makedefs + conf/snmp.conf + cups-config + data/testprint ++ data/cups.service ++ data/cups.socket ++ data/cups.path + desktop/cups.desktop + doc/help/ref-cupsd-conf.html + doc/help/standard.html +diff -up cups-1.5.2/cups/usersys.c.systemd-socket cups-1.5.2/cups/usersys.c +--- cups-1.5.2/cups/usersys.c.systemd-socket 2012-03-16 14:50:57.054449734 +0000 ++++ cups-1.5.2/cups/usersys.c 2012-03-16 14:50:57.148449788 +0000 +@@ -778,7 +778,7 @@ cups_read_client_conf( + struct stat sockinfo; /* Domain socket information */ + + if (!stat(CUPS_DEFAULT_DOMAINSOCKET, &sockinfo) && +- (sockinfo.st_mode & S_IRWXO) == S_IRWXO) ++ (sockinfo.st_mode & (S_IROTH | S_IWOTH)) == (S_IROTH | S_IWOTH)) + cups_server = CUPS_DEFAULT_DOMAINSOCKET; + else + #endif /* CUPS_DEFAULT_DOMAINSOCKET */ +diff -up cups-1.5.2/data/cups.path.in.systemd-socket cups-1.5.2/data/cups.path.in +--- cups-1.5.2/data/cups.path.in.systemd-socket 2012-03-16 14:50:57.148449788 +0000 ++++ cups-1.5.2/data/cups.path.in 2012-03-16 14:50:57.148449788 +0000 +@@ -0,0 +1,8 @@ ++[Unit] ++Description=CUPS Printer Service Spool ++ ++[Path] ++PathExistsGlob=@CUPS_REQUESTS@/d* ++ ++[Install] ++WantedBy=multi-user.target +diff -up cups-1.5.2/data/cups.service.in.systemd-socket cups-1.5.2/data/cups.service.in +--- cups-1.5.2/data/cups.service.in.systemd-socket 2012-03-16 14:50:57.149449788 +0000 ++++ cups-1.5.2/data/cups.service.in 2012-03-16 14:50:57.149449788 +0000 +@@ -0,0 +1,10 @@ ++[Unit] ++Description=CUPS Printing Service ++ ++[Service] ++ExecStart=@sbindir@/cupsd -f ++PrivateTmp=true ++ ++[Install] ++Also=cups.socket cups.path ++WantedBy=printer.target +diff -up cups-1.5.2/data/cups.socket.in.systemd-socket cups-1.5.2/data/cups.socket.in +--- cups-1.5.2/data/cups.socket.in.systemd-socket 2012-03-16 14:50:57.150449788 +0000 ++++ cups-1.5.2/data/cups.socket.in 2012-03-16 14:50:57.150449788 +0000 +@@ -0,0 +1,11 @@ ++[Unit] ++Description=CUPS Printing Service Sockets ++ ++[Socket] ++ListenStream=@CUPS_DEFAULT_DOMAINSOCKET@ ++ListenStream=631 ++ListenDatagram=0.0.0.0:631 ++BindIPv6Only=ipv6-only ++ ++[Install] ++WantedBy=sockets.target +diff -up cups-1.5.2/data/Makefile.systemd-socket cups-1.5.2/data/Makefile +--- cups-1.5.2/data/Makefile.systemd-socket 2011-05-12 06:21:56.000000000 +0100 ++++ cups-1.5.2/data/Makefile 2012-03-16 14:50:57.151449789 +0000 +@@ -112,6 +112,12 @@ install-data: + $(INSTALL_DATA) $$file $(DATADIR)/ppdc; \ + done + $(INSTALL_DIR) -m 755 $(DATADIR)/profiles ++ if test "x$(SYSTEMD_UNITS)" != "x" ; then \ ++ $(INSTALL_DIR) -m 755 $(SYSTEMDUNITDIR); \ ++ for file in $(SYSTEMD_UNITS); do \ ++ $(INSTALL_DATA) $$file $(SYSTEMDUNITDIR); \ ++ done; \ ++ fi + + + # +@@ -159,6 +165,9 @@ uninstall: + -$(RMDIR) $(DATADIR)/charsets + -$(RMDIR) $(DATADIR)/banners + -$(RMDIR) $(DATADIR) ++ for file in $(SYSTEMD_UNITS); do \ ++ $(RM) $(SYSTEMDUNITDIR)/$$file; \ ++ done + + + # +diff -up cups-1.5.2/Makedefs.in.systemd-socket cups-1.5.2/Makedefs.in +--- cups-1.5.2/Makedefs.in.systemd-socket 2012-03-16 14:50:57.081449751 +0000 ++++ cups-1.5.2/Makedefs.in 2012-03-16 14:50:57.152449790 +0000 +@@ -143,6 +143,7 @@ CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ + CXXLIBS = @CXXLIBS@ + DBUS_NOTIFIER = @DBUS_NOTIFIER@ + DBUS_NOTIFIERLIBS = @DBUS_NOTIFIERLIBS@ ++SYSTEMD_UNITS = @SYSTEMD_UNITS@ + DNSSD_BACKEND = @DNSSD_BACKEND@ + DSOFLAGS = -L../cups @DSOFLAGS@ + DSOLIBS = @DSOLIBS@ $(COMMONLIBS) +@@ -151,6 +152,7 @@ FONTS = @FONTS@ + IMGLIBS = @IMGLIBS@ + IMGFILTERS = @IMGFILTERS@ + LAUNCHDLIBS = @LAUNCHDLIBS@ ++SDLIBS = @SDLIBS@ + LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \ + -L../scheduler @LDARCHFLAGS@ \ + @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM) +@@ -267,6 +269,7 @@ PAMFILE = @PAMFILE@ + + DEFAULT_LAUNCHD_CONF = @DEFAULT_LAUNCHD_CONF@ + DBUSDIR = @DBUSDIR@ ++SYSTEMDUNITDIR = $(BUILDROOT)@systemdsystemunitdir@ + + + # +diff -up cups-1.5.2/scheduler/client.h.systemd-socket cups-1.5.2/scheduler/client.h +--- cups-1.5.2/scheduler/client.h.systemd-socket 2011-03-25 21:25:38.000000000 +0000 ++++ cups-1.5.2/scheduler/client.h 2012-03-16 14:50:57.153449791 +0000 +@@ -75,6 +75,9 @@ typedef struct + int fd; /* File descriptor for this server */ + http_addr_t address; /* Bind address of socket */ + http_encryption_t encryption; /* To encrypt or not to encrypt... */ ++#ifdef HAVE_SYSTEMD ++ int is_systemd; /* Is this a systemd socket? */ ++#endif /* HAVE_SYSTEMD */ + } cupsd_listener_t; + + +diff -up cups-1.5.2/scheduler/dirsvc.c.systemd-socket cups-1.5.2/scheduler/dirsvc.c +--- cups-1.5.2/scheduler/dirsvc.c.systemd-socket 2012-03-16 14:50:57.112449768 +0000 ++++ cups-1.5.2/scheduler/dirsvc.c 2012-03-16 14:50:57.155449792 +0000 +@@ -1512,7 +1512,7 @@ cupsdStartBrowsing(void) + } + } + +- if (BrowseSocket >= 0) ++ if (BrowseSocket >= 0 && !BrowseSocketIsSystemd) + { + /* + * Bind the socket to browse port... +@@ -1556,13 +1556,17 @@ cupsdStartBrowsing(void) + cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to set broadcast mode - %s.", + strerror(errno)); + ++ if (!BrowseSocketIsSystemd) ++ { + #ifdef WIN32 +- closesocket(BrowseSocket); ++ closesocket(BrowseSocket); + #else +- close(BrowseSocket); ++ close(BrowseSocket); + #endif /* WIN32 */ + +- BrowseSocket = -1; ++ BrowseSocket = -1; ++ } ++ + BrowseLocalProtocols &= ~BROWSE_CUPS; + BrowseRemoteProtocols &= ~BROWSE_CUPS; + +@@ -1885,15 +1889,22 @@ cupsdStopBrowsing(void) + if (((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_CUPS) && + BrowseSocket >= 0) + { +- /* +- * Close the socket and remove it from the input selection set. +- */ ++ if (!BrowseSocketIsSystemd) ++ { ++ /* ++ * Close the socket. ++ */ + + #ifdef WIN32 +- closesocket(BrowseSocket); ++ closesocket(BrowseSocket); + #else +- close(BrowseSocket); ++ close(BrowseSocket); + #endif /* WIN32 */ ++ } ++ ++ /* ++ * Remove it from the input selection set. ++ */ + + cupsdRemoveSelect(BrowseSocket); + BrowseSocket = -1; +@@ -5693,11 +5704,14 @@ update_cups_browse(void) + strerror(errno)); + cupsdLogMessage(CUPSD_LOG_ERROR, "CUPS browsing turned off."); + ++ if (!BrowseSocketIsSystemd) ++ { + #ifdef WIN32 +- closesocket(BrowseSocket); ++ closesocket(BrowseSocket); + #else +- close(BrowseSocket); ++ close(BrowseSocket); + #endif /* WIN32 */ ++ } + + cupsdRemoveSelect(BrowseSocket); + BrowseSocket = -1; +diff -up cups-1.5.2/scheduler/dirsvc.h.systemd-socket cups-1.5.2/scheduler/dirsvc.h +--- cups-1.5.2/scheduler/dirsvc.h.systemd-socket 2012-03-16 14:50:57.113449769 +0000 ++++ cups-1.5.2/scheduler/dirsvc.h 2012-03-16 14:50:57.157449792 +0000 +@@ -100,6 +100,8 @@ VAR int Browsing VALUE(TRUE), + /* Short names for remote printers? */ + BrowseSocket VALUE(-1), + /* Socket for browsing */ ++ BrowseSocketIsSystemd VALUE(0), ++ /* BrowseSocket is systemd-provided? */ + BrowsePort VALUE(IPP_PORT), + /* Port number for broadcasts */ + BrowseInterval VALUE(DEFAULT_INTERVAL), +diff -up cups-1.5.2/scheduler/listen.c.systemd-socket cups-1.5.2/scheduler/listen.c +--- cups-1.5.2/scheduler/listen.c.systemd-socket 2011-04-16 00:38:13.000000000 +0100 ++++ cups-1.5.2/scheduler/listen.c 2012-03-16 14:50:57.158449792 +0000 +@@ -401,7 +401,11 @@ cupsdStopListening(void) + lis; + lis = (cupsd_listener_t *)cupsArrayNext(Listeners)) + { +- if (lis->fd != -1) ++ if (lis->fd != -1 ++#ifdef HAVE_SYSTEMD ++ && !lis->is_systemd ++#endif /* HAVE_SYSTEMD */ ++ ) + { + #ifdef WIN32 + closesocket(lis->fd); +diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c +--- cups-1.5.2/scheduler/main.c.systemd-socket 2012-03-16 14:50:57.121449773 +0000 ++++ cups-1.5.2/scheduler/main.c 2012-03-16 14:51:55.409483636 +0000 +@@ -26,6 +26,8 @@ + * launchd_checkin() - Check-in with launchd and collect the listening + * fds. + * launchd_checkout() - Update the launchd KeepAlive file as needed. ++ * systemd_checkin() - Check-in with systemd and collect the ++ * listening fds. + * parent_handler() - Catch USR1/CHLD signals... + * process_children() - Process all dead children... + * select_timeout() - Calculate the select timeout value. +@@ -62,6 +64,10 @@ + # endif /* !LAUNCH_JOBKEY_SERVICEIPC */ + #endif /* HAVE_LAUNCH_H */ + ++#ifdef HAVE_SYSTEMD ++#include <systemd/sd-daemon.h> ++#endif /* HAVE_SYSTEMD */ ++ + #if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO) + # include <malloc.h> + #endif /* HAVE_MALLOC_H && HAVE_MALLINFO */ +@@ -78,6 +84,9 @@ + static void launchd_checkin(void); + static void launchd_checkout(void); + #endif /* HAVE_LAUNCHD */ ++#ifdef HAVE_SYSTEMD ++static void systemd_checkin(void); ++#endif /* HAVE_SYSTEMD */ + static void parent_handler(int sig); + static void process_children(void); + static void sigchld_handler(int sig); +@@ -537,6 +546,13 @@ main(int argc, /* I - Number of comm + } + #endif /* HAVE_LAUNCHD */ + ++#ifdef HAVE_SYSTEMD ++ /* ++ * If we were started by systemd get the listen sockets file descriptors... ++ */ ++ systemd_checkin(); ++#endif /* HAVE_SYSTEMD */ ++ + /* + * Startup the server... + */ +@@ -759,6 +775,15 @@ main(int argc, /* I - Number of comm + } + #endif /* HAVE_LAUNCHD */ + ++#ifdef HAVE_SYSTEMD ++ /* ++ * If we were started by systemd get the listen sockets file ++ * descriptors... ++ */ ++ ++ systemd_checkin(); ++#endif /* HAVE_SYSTEMD */ ++ + /* + * Startup the server... + */ +@@ -1584,6 +1609,139 @@ launchd_checkout(void) + } + #endif /* HAVE_LAUNCHD */ + ++#ifdef HAVE_SYSTEMD ++static void ++systemd_checkin(void) ++{ ++ int n, fd; ++ ++ n = sd_listen_fds(0); ++ if (n < 0) ++ { ++ cupsdLogMessage(CUPSD_LOG_ERROR, ++ "systemd_checkin: Failed to acquire sockets from systemd - %s", ++ strerror(-n)); ++ exit(EXIT_FAILURE); ++ return; ++ } ++ ++ if (n == 0) ++ return; ++ ++ for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + n; fd ++) ++ { ++ http_addr_t addr; ++ socklen_t addrlen = sizeof (addr); ++ int r; ++ cupsd_listener_t *lis; ++ char s[256]; ++ ++ r = sd_is_socket(fd, AF_UNSPEC, SOCK_STREAM, 1); ++ if (r < 0) ++ { ++ cupsdLogMessage(CUPSD_LOG_ERROR, ++ "systemd_checkin: Unable to verify socket type - %s", ++ strerror(-r)); ++ continue; ++ } ++ ++ if (!r) ++ { ++ if (Browsing && ++ ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_CUPS)) ++ { ++ r = sd_is_socket(fd, AF_UNSPEC, SOCK_DGRAM, 0); ++ if (r < 0) ++ { ++ cupsdLogMessage(CUPSD_LOG_ERROR, ++ "systemd_checkin: Unable to verify socket type - %s", ++ strerror(-r)); ++ continue; ++ } ++ ++ if (r) ++ { ++ /* ++ * This is the browse socket. ++ */ ++ ++ char addrstr[256]; ++ if (getsockname(fd, (struct sockaddr*) &addr, &addrlen)) ++ { ++ cupsdLogMessage(CUPSD_LOG_ERROR, ++ "systemd_checkin: Unable to get local address - %s", ++ strerror(errno)); ++ continue; ++ } ++ ++ httpAddrString (&addr, addrstr, sizeof (addrstr)); ++ BrowseSocket = fd; ++ BrowseSocketIsSystemd = 1; ++ cupsdLogMessage(CUPSD_LOG_DEBUG, ++ "systemd_checkin: Matched browse (port %d) with fd %d:%s...", ++ BrowsePort, fd, addrstr); ++ continue; ++ } ++ ++ } ++ cupsdLogMessage(CUPSD_LOG_ERROR, ++ "systemd_checkin: Socket not of the right type"); ++ continue; ++ } ++ ++ if (getsockname(fd, (struct sockaddr*) &addr, &addrlen)) ++ { ++ cupsdLogMessage(CUPSD_LOG_ERROR, ++ "systemd_checkin: Unable to get local address - %s", ++ strerror(errno)); ++ continue; ++ } ++ ++ /* ++ * Try to match the systemd socket address to one of the listeners... ++ */ ++ ++ for (lis = (cupsd_listener_t *)cupsArrayFirst(Listeners); ++ lis; ++ lis = (cupsd_listener_t *)cupsArrayNext(Listeners)) ++ if (httpAddrEqual(&lis->address, &addr)) ++ break; ++ ++ if (lis) ++ { ++ cupsdLogMessage(CUPSD_LOG_DEBUG, ++ "systemd_checkin: Matched existing listener %s with fd %d...", ++ httpAddrString(&(lis->address), s, sizeof(s)), fd); ++ } ++ else ++ { ++ cupsdLogMessage(CUPSD_LOG_DEBUG, ++ "systemd_checkin: Adding new listener %s with fd %d...", ++ httpAddrString(&addr, s, sizeof(s)), fd); ++ ++ if ((lis = calloc(1, sizeof(cupsd_listener_t))) == NULL) ++ { ++ cupsdLogMessage(CUPSD_LOG_ERROR, ++ "systemd_checkin: Unable to allocate listener - " ++ "%s.", strerror(errno)); ++ exit(EXIT_FAILURE); ++ } ++ ++ cupsArrayAdd(Listeners, lis); ++ ++ memcpy(&lis->address, &addr, sizeof(lis->address)); ++ } ++ ++ lis->fd = fd; ++ lis->is_systemd = 1; ++ ++# ifdef HAVE_SSL ++ if (_httpAddrPort(&(lis->address)) == 443) ++ lis->encryption = HTTP_ENCRYPT_ALWAYS; ++# endif /* HAVE_SSL */ ++ } ++} ++#endif /* HAVE_SYSTEMD */ + + /* + * 'parent_handler()' - Catch USR1/CHLD signals... +diff -up cups-1.5.2/scheduler/Makefile.systemd-socket cups-1.5.2/scheduler/Makefile +--- cups-1.5.2/scheduler/Makefile.systemd-socket 2012-03-16 14:50:57.130449778 +0000 ++++ cups-1.5.2/scheduler/Makefile 2012-03-16 14:50:57.160449794 +0000 +@@ -382,7 +382,7 @@ cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cu + $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \ + $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \ + $(LIBPAPER) $(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBS) \ +- $(LIBGSSAPI) $(LIBWRAP) ++ $(LIBGSSAPI) $(LIBWRAP) $(SDLIBS) + + cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/$(LIBCUPSSTATIC) + echo Linking $@... +@@ -390,7 +390,7 @@ cupsd-static: $(CUPSDOBJS) libcupsmime.a + $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \ + ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \ + $(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBGSSAPI) \ +- $(LIBWRAP) ++ $(LIBWRAP) $(SDLIBS) + + + # diff --git a/extra/dnsmasq/PKGBUILD b/extra/dnsmasq/PKGBUILD index ed2ec4c1e..1fd617dbe 100644 --- a/extra/dnsmasq/PKGBUILD +++ b/extra/dnsmasq/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 157810 2012-04-30 00:00:31Z dreisner $ +# $Id: PKGBUILD 160917 2012-06-07 00:05:24Z dreisner $ # Maintainer: Dave Reisner <dreisner@archlinux.org> # Contributor: Paul Mattal <paul@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=dnsmasq -pkgver=2.61 +pkgver=2.62 pkgrel=1 pkgdesc="Lightweight, easy to configure DNS forwarder and DHCP server" url="http://www.thekelleys.org.uk/dnsmasq/doc.html" @@ -18,7 +18,7 @@ source=("http://www.thekelleys.org.uk/$pkgname/$pkgname-$pkgver.tar.gz" 'dnsmasq.confd' 'rc.dnsmasq' 'dnsmasq.service') -md5sums=('6ed0a5c2524dfc3a74ef494ee2469f09' +md5sums=('f47e5cb8f5bac6343f24b2dbe317ab40' '66479e99123faeab83ebaed709ef95b5' '819fbdf6440d710616e6df5f8ca9cdba' '631d8349acbed1b01d4e11d9f42fdb7d') diff --git a/extra/dovecot/PKGBUILD b/extra/dovecot/PKGBUILD index 8f0256e4f..447c5564a 100644 --- a/extra/dovecot/PKGBUILD +++ b/extra/dovecot/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 160790 2012-06-05 20:25:07Z andyrtr $ +# $Id: PKGBUILD 160808 2012-06-06 13:17:41Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Paul Mattal <paul@mattal.com> # Contributor: Federico Quagliata (quaqo) <quaqo@despammed.com> @@ -6,7 +6,7 @@ pkgname=dovecot pkgver=2.1.7 -pkgrel=2 +pkgrel=3 pkgdesc="An IMAP and POP3 server written with security primarily in mind" arch=('i686' 'x86_64') url="http://dovecot.org/" @@ -70,6 +70,6 @@ package() { rm ${pkgdir}/etc/dovecot/README # systemd tmpfile - install -d -m755 ${pkgdir}/etc/tmpfiles.d - install -m 644 ${srcdir}/dovecot.tmpfilesd ${pkgdir}/etc/tmpfiles.d/dovecot.conf + install -d -m755 ${pkgdir}/usr/lib/tmpfiles.d + install -m 644 ${srcdir}/dovecot.tmpfilesd ${pkgdir}/usr/lib/tmpfiles.d/dovecot.conf } diff --git a/extra/fcitx/PKGBUILD b/extra/fcitx/PKGBUILD index 7b1b688aa..fdd4caf00 100644 --- a/extra/fcitx/PKGBUILD +++ b/extra/fcitx/PKGBUILD @@ -1,17 +1,18 @@ -# $Id: PKGBUILD 158796 2012-05-10 06:10:24Z eric $ +# $Id: PKGBUILD 160913 2012-06-06 22:50:26Z eric $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: csslayer <wengxt AT gmail com> pkgbase=fcitx pkgname=('fcitx' 'fcitx-gtk2' 'fcitx-gtk3' 'fcitx-qt') -pkgver=4.2.3 +pkgver=4.2.4 pkgrel=1 arch=('i686' 'x86_64') url="http://code.google.com/p/fcitx/" license=('GPL') -makedepends=('cmake' 'intltool' 'doxygen' 'gtk2' 'gtk3' 'qt' 'icu') +makedepends=('cmake' 'intltool' 'doxygen' 'gtk2' 'gtk3' 'qt' 'icu' \ + 'iso-codes' 'gobject-introspection' 'libxkbfile' 'enchant') source=(http://fcitx.googlecode.com/files/${pkgbase}-${pkgver}.tar.xz) -sha1sums=('8cd33487d1d6ad9c9c63743af8d76e667de4b859') +sha1sums=('68aaf220d3f7e9bfe34062379e22388a44250fc2') build() { cd "${srcdir}" @@ -34,8 +35,8 @@ check() { package_fcitx() { pkgdesc="Free Chinese Input Toy of X - Input Method Server for X window system" - depends=('dbus-core' 'pango' 'libxinerama' 'gtk-update-icon-cache' \ - 'shared-mime-info' 'hicolor-icon-theme' 'desktop-file-utils') + depends=('pango' 'libxinerama' 'gtk-update-icon-cache' 'shared-mime-info' \ + 'hicolor-icon-theme' 'desktop-file-utils' 'libxkbfile' 'enchant') install=fcitx.install cd "${srcdir}"/build diff --git a/extra/gnu-efi/PKGBUILD b/extra/gnu-efi/PKGBUILD new file mode 100644 index 000000000..35e433aaf --- /dev/null +++ b/extra/gnu-efi/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 160800 2012-06-06 10:29:37Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Maintainer : Keshav P R <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> +# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com> + +_pkgname="gnu-efi" +_ver="3.0" +_pkgver="${_ver}q" +pkgname="${_pkgname}" +pkgver="${_pkgver}" +pkgrel=1 +pkgdesc="Library for building UEFI Applications using GNU toolchain" +url="http://sourceforge.net/projects/gnu-efi/" +license=('GPL') +arch=('i686' 'x86_64') +makedepends=() +depends=('pciutils') +source=("http://download.sourceforge.net/gnu-efi/gnu-efi_${pkgver}.orig.tar.gz") +options=(!strip !makeflags) + +build() { + cd "${srcdir}/gnu-efi-${_ver}" + sed 's|-fno-strict-aliasing|-fno-strict-aliasing -fno-stack-protector|g' -i "${srcdir}/gnu-efi-${_ver}/Make.defaults" || true + CFLAGS="" make + make -C apps clean all +} + +package() { + cd "${srcdir}/gnu-efi-${_ver}" + make INSTALLROOT="${pkgdir}/usr/" install + install -d "${pkgdir}/usr/share/gnu-efi/" + install -D -m0644 "${srcdir}/gnu-efi-${_ver}/apps"/*.efi "${pkgdir}/usr/share/gnu-efi/" +} +md5sums=('698d93490e0c0171aa0e2a8eda44209f') diff --git a/extra/mod_perl/PKGBUILD b/extra/mod_perl/PKGBUILD index f333c0aeb..dd9d26bc2 100644 --- a/extra/mod_perl/PKGBUILD +++ b/extra/mod_perl/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 160497 2012-06-02 10:26:43Z bluewind $ +# $Id: PKGBUILD 160911 2012-06-06 19:20:20Z foutrelis $ # Maintainer: # Contributor: Firmicus <francois.archlinux.org> # Contributor: Tom K <tomk@runbox.com> pkgname=mod_perl -pkgver=2.0.6 +pkgver=2.0.7 pkgrel=1 pkgdesc="Apache module that embeds the Perl interpreter within the server" arch=('i686' 'x86_64') @@ -13,11 +13,9 @@ license=('APACHE') depends=('perl' 'apache' 'db' 'apr-util' 'perl-linux-pid') options=('!emptydirs') source=(http://perl.apache.org/dist/$pkgname-$pkgver.tar.gz - mod_perl-2.0.6-nolfs.patch - mod_perl-2.0.6-perl-5.16-fixes.patch) -sha256sums=('8cf768d2c55291e10542ef8d9a4f4ebe835365e43b4584771e654079405827dc' - '5d1b6a051d847108b23b5dc06ea5885c37dd81d3a9156b69d179d95b5cf92f08' - 'c6cde22806b1b2d919545b21c49536c8c377c8d1f921e8948e1289bb2ab413d9') + mod_perl-2.0.6-nolfs.patch) +sha256sums=('53414be9db843054b927f23a35edb7b82d99e32e031b3cd81d5ff2473f51e3c6' + '5d1b6a051d847108b23b5dc06ea5885c37dd81d3a9156b69d179d95b5cf92f08') build() { cd "$srcdir/$pkgname-$pkgver" @@ -28,10 +26,6 @@ build() { # structures to be invalid if only the apache flags are used patch -Np1 -i "$srcdir/mod_perl-2.0.6-nolfs.patch" - # Fix build with Perl 5.16 - # http://search.cpan.org/dist/perl-5.16.0/pod/perldelta.pod#$%3C,_$%3E,_$%28_and_$%29_are_no_longer_cached - patch -Np1 -i "$srcdir/mod_perl-2.0.6-perl-5.16-fixes.patch" - # install module in vendor directories. perl Makefile.PL INSTALLDIRS=vendor MP_APXS=/usr/sbin/apxs make diff --git a/extra/mx/PKGBUILD b/extra/mx/PKGBUILD index 380fe3732..176ca7f69 100644 --- a/extra/mx/PKGBUILD +++ b/extra/mx/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 156936 2012-04-23 09:09:25Z ibiru $ +# $Id: PKGBUILD 160919 2012-06-07 00:15:28Z heftig $ # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Guenther Wutz <admin@wutzara.de> pkgname=mx -pkgver=1.4.3 -pkgrel=2 +pkgver=1.4.6 +pkgrel=1 pkgdesc="A widget toolkit using Clutter" arch=('i686' 'x86_64') url="http://www.clutter-project.org" @@ -13,7 +13,7 @@ depends=('clutter' 'libxrandr' 'dbus-glib' 'gtk2' 'startup-notification') makedepends=('intltool' 'gobject-introspection' 'gtk-doc') options=('!libtool') source=("http://source.clutter-project.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz") -sha256sums=('d0c259a7bcaf130a17cef00ed4c7118287f05790a6b50bcffa02668130336eb5') +sha256sums=('20fd8e1463d84c791c20dd1e021bc18041b05ad095a1acbaace7bf0dd43d09f2') build() { cd ${pkgname}-${pkgver} diff --git a/extra/quodlibet/PKGBUILD b/extra/quodlibet/PKGBUILD index c2341188c..c1dadacce 100644 --- a/extra/quodlibet/PKGBUILD +++ b/extra/quodlibet/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 153859 2012-03-20 06:20:55Z eric $ +# $Id: PKGBUILD 160925 2012-06-07 02:14:07Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=quodlibet pkgver=2.4 -pkgrel=1 +pkgrel=2 pkgdesc="An audio player written in pygtk" arch=('i686' 'x86_64') license=('GPL2') @@ -13,10 +13,10 @@ depends=('gstreamer0.10-python' 'gstreamer0.10-base-plugins' 'gstreamer0.10-good makedepends=('intltool') optdepends=('gstreamer0.10-ffmpeg: for ffmpeg (ASF/WMA) support ' 'gstreamer0.10-bad-plugins: for MPEG-4 (AAC) and Musepack support' - 'dbus-python: for dbus support' + 'python2-dbus: for dbus support' 'notification-daemon: for notification support' 'libgpod: for ipod support' - 'python-feedparser: for audio feeds (podcast) support' + 'python2-feedparser: for audio feeds (podcast) support' 'udisks: for media devices support' 'media-player-info: for media devices support') options=('!makeflags') @@ -26,6 +26,7 @@ sha1sums=('7e11cda2827bb0d04b7d2b7854b8a2854ed074c8') build() { cd "${srcdir}/${pkgname}-${pkgver}" sed -i 's#env python#env python2#' *.py quodlibet/util/fmps.py + sed -i 's#libudev.so.0#libudev.so.1#' quodlibet/devices/__init__.py ./setup.py build } diff --git a/extra/vim/PKGBUILD b/extra/vim/PKGBUILD index cbc430fb4..507eaed33 100644 --- a/extra/vim/PKGBUILD +++ b/extra/vim/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 160579 2012-06-02 10:29:06Z bluewind $ +# $Id: PKGBUILD 160931 2012-06-07 03:39:59Z tdziedzic $ # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> # Maintainer: tobias [ tobias at archlinux org ] # Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> @@ -6,11 +6,11 @@ pkgbase=vim pkgname=('vim' 'gvim' 'vim-runtime') _topver=7.3 -_patchlevel=515 -__hgrev=8201108e9cf0 +_patchlevel=547 +__hgrev=6f2497d0c277 _versiondir="vim${_topver//./}" pkgver=${_topver}.${_patchlevel} -pkgrel=2 +pkgrel=1 arch=('i686' 'x86_64') license=('custom:vim') url="http://www.vim.org" @@ -21,8 +21,8 @@ source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz" 'vimrc' 'archlinux.vim' 'gvim.desktop') -sha1sums=('10d7642d5062effdb51f53952622f9338003bbbf' - '0c1c584c1a2a2a279507f793cd5eff82863c625b' +sha1sums=('2c4f78a66b6ad7a759122d1f66c74079b678f39c' + '999f527d82a4c7818d017e3b8230e27950e87718' '4d9dcfb32874aa5467e6f06e418aeb4e675daaf2' '3494baf53a63581ba69f86a81293640ff681c5c5' '25dd3c2ce436e73a367c8f73b68f7f6889682437' diff --git a/kernels/linux-libre-rt/PKGBUILD b/kernels/linux-libre-rt/PKGBUILD index 7c4870f1a..9c07ee16c 100644 --- a/kernels/linux-libre-rt/PKGBUILD +++ b/kernels/linux-libre-rt/PKGBUILD @@ -13,8 +13,8 @@ pkgname=('linux-libre-rt' 'linux-libre-rt-headers') # Build stock -LIBRE kernel # pkgname=linux-custom # Build kernel with a different name _kernelname=-LIBRE-RT _basekernel=3.2 -_releasever=16 -_rtpatchver=rt27 +_releasever=19 +_rtpatchver=rt30 _pkgver=${_basekernel}.${_releasever} pkgver=${_basekernel}.${_releasever}_${_rtpatchver} pkgrel=1 @@ -35,10 +35,10 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'i915-fix-ghost-tv-output.patch' 'ext4-options.patch') md5sums=('65c669b6e4888db84a80882461851867' - '88427253e35474302c40ab1d4843a9aa' - 'f003895eb0231f829f74f93921568d53' - '6141ab0cb60a5cf9e6ee3bdf8c8c79b1' - 'c2f3423d7c7d8e5776e961b75a52a3fc' + '87d9a426bda3bdc58fcb5f002c459adb' + 'bb7b98d1186edd0544cefc7499d3740b' + '824bb5f926d00d499f3a2a68f06d9760' + '84d96cded290680ec2b875e2223deff9' '82496e68851d1960543a07ba51cdb44a' '04b21c79df0a952c22d681dd4f4562df' '9d3c56a4b999c8bfbd4018089a62f662' @@ -53,7 +53,7 @@ build() { fi # add realtime patch - patch -Np1 -i "${srcdir}/patch-${_pkgver}-${_rtpatchver}.patch" + patch -p1 -i "${srcdir}/patch-${_pkgver}-${_rtpatchver}.patch" # Add freedo as boot logo patch -Np1 -i "${srcdir}/boot-logo.patch" @@ -67,6 +67,7 @@ build() { # needed. patch -Np1 -i "${srcdir}/i915-fix-ghost-tv-output.patch" + # Patch submitted upstream, waiting for inclusion: # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) # remove this when a Kconfig knob is made available by upstream # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) diff --git a/kernels/linux-libre-rt/config.i686 b/kernels/linux-libre-rt/config.i686 index 749ad1e09..7ae7c1d78 100644 --- a/kernels/linux-libre-rt/config.i686 +++ b/kernels/linux-libre-rt/config.i686 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.2.2 Kernel Configuration +# Linux/i386 3.2.18 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -106,7 +106,6 @@ CONFIG_SPARSE_IRQ=y # # RCU Subsystem # -# CONFIG_TREE_RCU is not set CONFIG_TREE_PREEMPT_RCU=y CONFIG_PREEMPT_RCU=y # CONFIG_RCU_TRACE is not set @@ -186,7 +185,6 @@ CONFIG_VM_EVENT_COUNTERS=y CONFIG_PCI_QUIRKS=y # CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y -# CONFIG_SLUB is not set CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y CONFIG_HAVE_OPROFILE=y @@ -419,8 +417,6 @@ CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y -# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set -# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set CONFIG_CLEANCACHE=y # CONFIG_HIGHPTE is not set CONFIG_X86_CHECK_BIOS_CORRUPTION=y @@ -5048,7 +5044,6 @@ CONFIG_R8187SE=m CONFIG_RTL8192U=m CONFIG_RTL8192E=m CONFIG_R8712U=m -CONFIG_R8712_AP=y CONFIG_RTS_PSTOR=m # CONFIG_RTS_PSTOR_DEBUG is not set CONFIG_RTS5139=m diff --git a/kernels/linux-libre-rt/config.x86_64 b/kernels/linux-libre-rt/config.x86_64 index 13386d7f3..57f66119a 100644 --- a/kernels/linux-libre-rt/config.x86_64 +++ b/kernels/linux-libre-rt/config.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.2.2 Kernel Configuration +# Linux/x86_64 3.2.18 Kernel Configuration # CONFIG_64BIT=y # CONFIG_X86_32 is not set @@ -108,7 +108,6 @@ CONFIG_SPARSE_IRQ=y # # RCU Subsystem # -# CONFIG_TREE_RCU is not set CONFIG_TREE_PREEMPT_RCU=y CONFIG_PREEMPT_RCU=y # CONFIG_RCU_TRACE is not set @@ -188,7 +187,6 @@ CONFIG_VM_EVENT_COUNTERS=y CONFIG_PCI_QUIRKS=y # CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y -# CONFIG_SLUB is not set CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y CONFIG_HAVE_OPROFILE=y @@ -405,8 +403,6 @@ CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y -# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set -# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set CONFIG_CLEANCACHE=y CONFIG_X86_CHECK_BIOS_CORRUPTION=y CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y @@ -4809,7 +4805,6 @@ CONFIG_R8187SE=m CONFIG_RTL8192U=m CONFIG_RTL8192E=m CONFIG_R8712U=m -CONFIG_R8712_AP=y CONFIG_RTS_PSTOR=m # CONFIG_RTS_PSTOR_DEBUG is not set CONFIG_RTS5139=m diff --git a/kernels/linux-libre-rt/linux-libre-rt.install b/kernels/linux-libre-rt/linux-libre-rt.install index 5f73fb8fb..407bf32c1 100644 --- a/kernels/linux-libre-rt/linux-libre-rt.install +++ b/kernels/linux-libre-rt/linux-libre-rt.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME=-rt -KERNEL_VERSION=3.2.16-1-rt27-LIBRE-RT +KERNEL_VERSION=3.2.19-1-rt30-LIBRE-RT post_install () { # updating module dependencies @@ -28,7 +28,7 @@ post_install () { post_upgrade() { pacman -Q grub &>/dev/null hasgrub=$? - pacman -Q grub2 &>/dev/null + pacman -Q grub2-common &>/dev/null hasgrub2=$? pacman -Q lilo &>/dev/null haslilo=$? @@ -44,12 +44,8 @@ post_upgrade() { echo ">>>" fi - if grep "^[^#]*[[:space:]]/boot" etc/fstab 2>&1 >/dev/null; then - if ! grep "[[:space:]]/boot" etc/mtab 2>&1 >/dev/null; then - echo "WARNING: /boot appears to be a seperate partition but is not mounted" - echo " This is most likely not what you want. Please mount your /boot" - echo " partition and reinstall the kernel unless you are sure this is OK" - fi + if findmnt --fstab -uno SOURCE /boot &>/dev/null && ! mountpoint -q /boot; then + echo "WARNING: /boot appears to be a separate partition but is not mounted." fi # updating module dependencies diff --git a/libre/apache-ant/PKGBUILD b/libre/apache-ant/PKGBUILD index b6b429442..77e0dfe94 100644 --- a/libre/apache-ant/PKGBUILD +++ b/libre/apache-ant/PKGBUILD @@ -3,13 +3,13 @@ # Contributor: Andrew Wright <andreww@photism.org> pkgname=apache-ant -pkgver=1.8.2 +pkgver=1.8.4 provides=("apache-ant-libre=$pkgver") replaces=("apache-ant-libre") conflicts=("apache-ant-libre") -pkgrel=4.2 +pkgrel=1.1 pkgdesc="A Java-based build tool" arch=('any') license=('Apache') @@ -64,12 +64,14 @@ build() { ln -sf ${jar%::*} lib/optional/`basename ${jar/*::}` done # Build + source "/etc/profile.d/jdk.sh" # Get the JAVA_HOME env var sh build.sh -Ddist.dir="${srcdir}"/${pkgname}-${pkgver}-bin dist } package() { cd "${srcdir}"/${pkgname}-${pkgver}-bin - source "${srcdir}"/${pkgname}.sh # Get the ANT_HOME env var + source "${srcdir}"/${pkgname}.sh # Get the ANT_HOME env var + source "/etc/profile.d/jdk.sh" # Get the JAVA_HOME env var ## Install profile.d script install -d "${pkgdir}"/etc/profile.d @@ -103,6 +105,6 @@ package() { ln -sf ${ANT_HOME}/{LICENSE,NOTICE} "${pkgdir}"/usr/share/licenses/${pkgname} } -md5sums=('0d9e108afcd15b820150b8085c96d2b1' +md5sums=('c474fa9d0c35a24037c23b6e476862c1' 'bd63c881be406f515fc4d22635e8326a' - '298e8ba2e99ccda7706113ea37e030f2') + 'aaa615512cbe1ed7f3b62c1ff46802f8') diff --git a/libre/apache-ant/apache-ant.csh b/libre/apache-ant/apache-ant.csh index 490a17b65..fdc04b2f8 100644 --- a/libre/apache-ant/apache-ant.csh +++ b/libre/apache-ant/apache-ant.csh @@ -1,3 +1,2 @@ #!/bin/csh -setenv ANT_HOME /usr/share/java/apache-ant -setenv PATH ${PATH}:${ANT_HOME}/bin +setenv ANT_HOME /opt/apache-ant diff --git a/libre/your-freedom/PKGBUILD b/libre/your-freedom/PKGBUILD index 84a6f47fa..840a7f922 100644 --- a/libre/your-freedom/PKGBUILD +++ b/libre/your-freedom/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: Parabola Project <dev@list.parabolagnulinux.org> pkgname=your-freedom pkgver=$(LC_ALL=C date -u +%Y%m%d) -pkgrel=1 +pkgrel=3 pkgdesc="This package conflicts with every unfree package known to date to ensure your system is free." arch=('any') url="https://parabolagnulinux.org" @@ -23,4 +23,5 @@ package() { sort -u )) } -md5sums=('0025025765e754425e381e8e2d136740') + +md5sums=('e2527b2b2bada2b4115f72bccef281c3') diff --git a/multilib/lib32-libphobos-ldc/PKGBUILD b/multilib/lib32-libphobos-ldc/PKGBUILD new file mode 100644 index 000000000..949ed5e59 --- /dev/null +++ b/multilib/lib32-libphobos-ldc/PKGBUILD @@ -0,0 +1,57 @@ +# $Id: PKGBUILD 72029 2012-06-06 11:58:40Z svenstaro $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +pkgname=lib32-libphobos-ldc +pkgver=20120606 +pkgrel=1 +pkgdesc="libphobos for ldc (32-bit)" +arch=('x86_64') +url="http://www.dsource.org/projects/ldc" +license=('BSD') +depends=('llvm' 'libconfig') +makedepends=('git' 'cmake') +source=() +md5sums=() + +_gitroot=git://github.com/ldc-developers/ldc.git +_gitname=ldc +_gitbranch=llvm-3.1 + +build() { + cd "$srcdir" + msg "Connecting to GIT server...." + + if [[ -d "$_gitname" ]]; then + cd "$_gitname" && git pull origin + msg "The local files are updated." + else + git clone --branch "$_gitbranch" "$_gitroot" "$_gitname" + fi + + msg "GIT checkout done or server timeout" + msg "Starting build..." + + rm -rf "$srcdir/$_gitname-build" + git clone --recursive "$srcdir/$_gitname" "$srcdir/$_gitname-build" + cd "$srcdir/$_gitname-build" + + mkdir build && cd build + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DINCLUDE_INSTALL_DIR=/usr/include/d/std-ldc \ + -DMULTILIB=ON \ + .. + make +} + +package() { + cd "$srcdir/$_gitname-build" + + cd build + make DESTDIR=$pkgdir install + cd .. + + # We don't want anything but the 32-bit libs + rm -rf $pkgdir/usr/{share,lib,include,bin} $pkgdir/etc + + install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE +} diff --git a/testing/psmisc/PKGBUILD b/testing/psmisc/PKGBUILD new file mode 100644 index 000000000..9d560be15 --- /dev/null +++ b/testing/psmisc/PKGBUILD @@ -0,0 +1,25 @@ +# $Id: PKGBUILD 160929 2012-06-07 03:03:32Z eric $ +# Maintainer: Eric Bélanger <eric@archlinux.org> + +pkgname=psmisc +pkgver=22.17 +pkgrel=1 +pkgdesc="Miscellaneous procfs tools" +arch=('i686' 'x86_64') +url="http://psmisc.sourceforge.net/index.html" +license=('GPL') +groups=('base') +depends=('ncurses') +source=(http://downloads.sourceforge.net/psmisc/${pkgname}-${pkgver}.tar.gz) +sha1sums=('5d400710cf030bf7396aec40f53e933942ec8b4a') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/systemd/0001-Reinstate-TIMEOUT-handling.patch b/testing/systemd/0001-Reinstate-TIMEOUT-handling.patch new file mode 100644 index 000000000..766dcb87f --- /dev/null +++ b/testing/systemd/0001-Reinstate-TIMEOUT-handling.patch @@ -0,0 +1,124 @@ +From 2127f99fb43d2ef950e95329ce40bdd5da8b015c Mon Sep 17 00:00:00 2001 +From: Dave Reisner <dreisner@archlinux.org> +Date: Fri, 25 May 2012 19:43:24 -0400 +Subject: [PATCH] Reinstate TIMEOUT= handling + +This is mostly to deal with ipw2?00 drivers which have yet to be fixed +in the kernel. +--- + src/libudev/libudev-device.c | 19 +++++++++++++++++++ + src/libudev/libudev-private.h | 1 + + src/udev/udevd.c | 13 ++++++++++--- + 3 files changed, 30 insertions(+), 3 deletions(-) + +diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c +index a8277d1..5966189 100644 +--- a/src/libudev/libudev-device.c ++++ b/src/libudev/libudev-device.c +@@ -68,6 +68,7 @@ struct udev_device { + struct udev_list tags_list; + unsigned long long int seqnum; + unsigned long long int usec_initialized; ++ int timeout; + int devlink_priority; + int refcount; + dev_t devnum; +@@ -89,6 +90,21 @@ struct udev_device { + bool db_persist; + }; + ++int udev_device_get_timeout(struct udev_device *udev_device) ++{ ++ return udev_device->timeout; ++} ++ ++static int udev_device_set_timeout(struct udev_device *udev_device, int timeout) ++{ ++ char num[32]; ++ ++ udev_device->timeout = timeout; ++ snprintf(num, sizeof(num), "%u", timeout); ++ udev_device_add_property(udev_device, "TIMEOUT", num); ++ return 0; ++} ++ + /** + * udev_device_get_seqnum: + * @udev_device: udev device +@@ -362,6 +378,8 @@ void udev_device_add_property_from_string_parse(struct udev_device *udev_device, + + util_strscpyl(path, sizeof(path), TEST_PREFIX "/sys", &property[8], NULL); + udev_device_set_syspath(udev_device, path); ++ } else if (strncmp(property, "TIMEOUT=", 8) == 0) { ++ udev_device_set_timeout(udev_device, strtoull(&property[8], NULL, 10)); + } else if (startswith(property, "SUBSYSTEM=")) { + udev_device_set_subsystem(udev_device, &property[10]); + } else if (startswith(property, "DEVTYPE=")) { +@@ -605,6 +623,7 @@ struct udev_device *udev_device_new(struct udev *udev) + udev_list_init(udev, &udev_device->sysattr_value_list, true); + udev_list_init(udev, &udev_device->sysattr_list, false); + udev_list_init(udev, &udev_device->tags_list, true); ++ udev_device->timeout = -1; + udev_device->watch_handle = -1; + /* copy global properties */ + udev_list_entry_foreach(list_entry, udev_get_properties_list_entry(udev)) +diff --git a/src/libudev/libudev-private.h b/src/libudev/libudev-private.h +index 4eb4a59..99aefeb 100644 +--- a/src/libudev/libudev-private.h ++++ b/src/libudev/libudev-private.h +@@ -70,6 +70,7 @@ const char *udev_device_get_id_filename(struct udev_device *udev_device); + void udev_device_set_is_initialized(struct udev_device *udev_device); + int udev_device_add_tag(struct udev_device *udev_device, const char *tag); + void udev_device_cleanup_tags_list(struct udev_device *udev_device); ++int udev_device_get_timeout(struct udev_device *udev_device); + unsigned long long udev_device_get_usec_initialized(struct udev_device *udev_device); + void udev_device_set_usec_initialized(struct udev_device *udev_device, unsigned long long usec_initialized); + int udev_device_get_devlink_priority(struct udev_device *udev_device); +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index 0d85960..cd24462 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -384,7 +384,7 @@ out: + } + } + +-static void event_run(struct event *event) ++static void event_run(struct event *event, bool force) + { + struct udev_list_node *loop; + +@@ -410,7 +410,7 @@ static void event_run(struct event *event) + return; + } + +- if (children >= children_max) { ++ if (!force && children >= children_max) { + if (children_max > 1) + log_debug("maximum number (%i) of children reached\n", children); + return; +@@ -444,6 +444,13 @@ static int event_queue_insert(struct udev_device *dev) + + event->state = EVENT_QUEUED; + udev_list_node_append(&event->node, &event_list); ++ ++ /* run all events with a timeout set immediately */ ++ if (udev_device_get_timeout(dev) > 0) { ++ event_run(event, true); ++ return 0; ++ } ++ + return 0; + } + +@@ -549,7 +556,7 @@ static void event_queue_start(struct udev *udev) + if (is_devpath_busy(event)) + continue; + +- event_run(event); ++ event_run(event, false); + } + } + +-- +1.7.10.2 + diff --git a/testing/systemd/PKGBUILD b/testing/systemd/PKGBUILD new file mode 100644 index 000000000..06b3ac5f0 --- /dev/null +++ b/testing/systemd/PKGBUILD @@ -0,0 +1,208 @@ +# Maintainer: Dave Reisner <dreisner@archlinux.org> +# Contributor: Tom Gundersen <teg@jklm.no> + +pkgbase=systemd +pkgname=('systemd' 'libsystemd' 'systemd-tools' 'systemd-sysvcompat') +pkgver=185 +pkgrel=1 +arch=('i686' 'x86_64') +url="http://www.freedesktop.org/wiki/Software/systemd" +license=('GPL2' 'LGPL2.1' 'MIT') +makedepends=('acl' 'cryptsetup' 'dbus-core' 'docbook-xsl' 'gobject-introspection' 'gperf' + 'gtk-doc' 'intltool' 'kmod' 'libcap' 'libxslt' 'linux-api-headers' 'pam' 'xz') +options=('!libtool') +source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" + 'initcpio-hook-udev' + 'initcpio-install-udev' + 'initcpio-install-timestamp' + '0001-Reinstate-TIMEOUT-handling.patch' + 'locale.sh') +md5sums=('a7dbbf05986eb0d2c164ec8e570eb78f' + 'e99e9189aa2f6084ac28b8ddf605aeb8' + '59e91c4d7a69b7bf12c86a9982e37ced' + 'df69615503ad293c9ddf9d8b7755282d' + '5543be25f205f853a21fa5ee68e03f0d' + 'f15956945052bb911e5df81cf5e7e5dc') + +build() { + cd "$pkgname-$pkgver" + + # still waiting on ipw2x00 to get fixed... + patch -Np1 <"$srcdir/0001-Reinstate-TIMEOUT-handling.patch" + + ./configure \ + --libexecdir=/usr/lib \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --enable-split-usr \ + --enable-introspection \ + --enable-gtk-doc \ + --disable-audit \ + --disable-ima \ + --with-pamlibdir=/usr/lib/security \ + --with-distro=arch \ + --with-usb-ids-path=/usr/share/hwdata/usb.ids \ + --with-pci-ids-path=/usr/share/hwdata/pci.ids \ + --with-firmware-path=/usr/lib/firmware/updates:/lib/firmware/updates:/usr/lib/firmware:/lib/firmware + + make +} + +package_systemd() { + pkgdesc="system and service manager" + depends=('acl' 'dbus-core' "libsystemd=$pkgver" 'kmod' 'libcap' 'pam' + "systemd-tools=$pkgver" 'util-linux' 'xz') + optdepends=('dbus-python: systemd-analyze' + 'initscripts: legacy support for hostname and vconsole setup' + 'initscripts-systemd: native boot and initialization scripts' + 'python2-cairo: systemd-analyze' + 'systemd-arch-units: collection of native unit files for Arch daemon/init scripts' + 'systemd-sysvcompat: symlink package to provide sysvinit binaries') + backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf + etc/dbus-1/system.d/org.freedesktop.hostname1.conf + etc/dbus-1/system.d/org.freedesktop.login1.conf + etc/dbus-1/system.d/org.freedesktop.locale1.conf + etc/dbus-1/system.d/org.freedesktop.timedate1.conf + etc/systemd/system.conf + etc/systemd/user.conf + etc/systemd/logind.conf + etc/systemd/journald.conf) + install="systemd.install" + + make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install + + printf "d /run/console 0755 root root\n" > "$pkgdir/usr/lib/tmpfiles.d/console.conf" + + install -dm755 "$pkgdir/bin" + ln -s ../usr/lib/systemd/systemd "$pkgdir/bin/systemd" + + # fix systemd-analyze for python2 + sed -i '1s/python$/python2/' "$pkgdir/usr/bin/systemd-analyze" + + # move bash-completion and symlink for loginctl + install -Dm644 "$pkgdir/etc/bash_completion.d/systemd-bash-completion.sh" \ + "$pkgdir/usr/share/bash-completion/completions/systemctl" + ln -s systemctl "$pkgdir/usr/share/bash-completion/completions/loginctl" + rm -rf "$pkgdir/etc/bash_completion.d" + + # don't write units to /etc by default -- we'll enable this on post_install + # as a sane default + rm "$pkgdir/etc/systemd/system/getty.target.wants/getty@tty1.service" + rmdir "$pkgdir/etc/systemd/system/getty.target.wants" + + ### split off libsystemd (libs, includes, pkgconfig, man3) + rm -rf "$srcdir/_libsystemd" + install -dm755 "$srcdir"/_libsystemd/usr/{include,lib/pkgconfig} + cd "$srcdir"/_libsystemd + mv "$pkgdir/usr/lib"/libsystemd-*.so* usr/lib + mv "$pkgdir/usr/include/systemd" usr/include + mv "$pkgdir/usr/lib/pkgconfig"/libsystemd-*.pc usr/lib/pkgconfig + + ### split out manpages for sysvcompat + rm -rf "$srcdir/_sysvcompat" + install -dm755 "$srcdir"/_sysvcompat/usr/share/man/man8/ + mv "$pkgdir"/usr/share/man/man8/{telinit,halt,reboot,poweroff,runlevel,shutdown}.8 \ + "$srcdir"/_sysvcompat/usr/share/man/man8 + + ### split out systemd-tools/udev + rm -rf "$srcdir/_tools" + install -dm755 \ + "$srcdir"/_tools/etc/udev \ + "$srcdir"/_tools/usr/bin \ + "$srcdir"/_tools/usr/include \ + "$srcdir"/_tools/usr/lib/udev \ + "$srcdir"/_tools/usr/lib/systemd/system/{sysinit,sockets}.target.wants \ + "$srcdir"/_tools/usr/lib/girepository-1.0 \ + "$srcdir"/_tools/usr/share/pkgconfig \ + "$srcdir"/_tools/usr/share/gir-1.0 \ + "$srcdir"/_tools/usr/share/gtk-doc/html/{g,lib}udev \ + "$srcdir"/_tools/usr/share/man/man{1,5,7,8} + + cd "$srcdir/_tools" + mv "$pkgdir"/etc/udev etc + mv "$pkgdir"/etc/{binfmt,modules-load,sysctl,tmpfiles}.d etc + mv "$pkgdir"/usr/bin/udevadm usr/bin + mv "$pkgdir"/usr/lib/pkgconfig usr/lib + mv "$pkgdir"/usr/lib/systemd/systemd-udevd usr/lib/systemd + mv "$pkgdir"/usr/lib/systemd/system/systemd-udev* usr/lib/systemd/system + mv "$pkgdir"/usr/lib/systemd/system/sysinit.target.wants/systemd-udev* usr/lib/systemd/system/sysinit.target.wants + mv "$pkgdir"/usr/lib/systemd/system/sockets.target.wants/systemd-udev* usr/lib/systemd/system/sockets.target.wants + mv "$pkgdir"/usr/lib/lib{,g}udev* usr/lib + mv "$pkgdir"/usr/lib/{binfmt,sysctl,modules-load,tmpfiles}.d usr/lib + mv "$pkgdir"/usr/lib/udev usr/lib + mv "$pkgdir"/usr/include/{libudev.h,gudev-1.0} usr/include + mv "$pkgdir"/usr/lib/girepository-1.0 usr/lib + mv "$pkgdir"/usr/share/pkgconfig/udev.pc usr/share/pkgconfig + mv "$pkgdir"/usr/share/gir-1.0 usr/share + mv "$pkgdir"/usr/share/gtk-doc/html/{g,lib}udev usr/share/gtk-doc/html + mv "$pkgdir"/usr/share/man/man7/udev.7 usr/share/man/man7 + mv "$pkgdir"/usr/share/man/man8/{systemd-udevd,udevadm}.8 usr/share/man/man8 + mv "$pkgdir"/usr/share/man/man1/systemd-{ask-password,delta,detect-virt}.1 usr/share/man/man1 + mv "$pkgdir"/usr/share/man/man5/{binfmt,modules-load,sysctl,tmpfiles}.d.5 usr/share/man/man5 + mv "$pkgdir"/usr/share/man/man5/{hostname,{vconsole,locale}.conf}.5 usr/share/man/man5 + mv "$pkgdir"/usr/bin/systemd-{ask-password,delta,detect-virt,tmpfiles,tty-ask-password-agent} usr/bin + mv "$pkgdir"/usr/lib/systemd/systemd-{ac-power,binfmt,cryptsetup,modules-load,random-seed,remount-fs,reply-password,sysctl,timestamp,vconsole-setup} usr/lib/systemd +} + +package_systemd-sysvcompat() { + pkgdesc="sysvinit compat for systemd" + conflicts=('sysvinit' 'initscripts') + + mv "$srcdir/_sysvcompat"/* "$pkgdir" + + install -dm755 "$pkgdir/sbin" + for tool in runlevel reboot shutdown poweroff halt telinit; do + ln -s '/usr/bin/systemctl' "$pkgdir/sbin/$tool" + done + + ln -s '../usr/lib/systemd/systemd' "$pkgdir/sbin/init" + + install -Dm755 "$srcdir/locale.sh" "$pkgdir/etc/profile.d/locale.sh" +} + +package_libsystemd() { + pkgdesc="systemd client libraries" + depends=('xz') + + mv "$srcdir/_libsystemd"/* "$pkgdir" +} + +package_systemd-tools() { + pkgdesc='standalone tools from systemd' + url='http://www.freedesktop.org/wiki/Software/systemd' + depends=('acl' 'bash' 'glibc' 'glib2' 'kmod' 'hwids' 'util-linux' 'kbd') + optdepends=('cryptsetup: required for encrypted block devices') + provides=("udev=$pkgver") + conflicts=('udev') + replaces=('udev') + install='systemd-tools.install' + + mv "$srcdir/_tools/"* "$pkgdir" + + # the path to udevadm is hardcoded in some places + install -d "$pkgdir/sbin" + ln -s ../usr/bin/udevadm "$pkgdir/sbin/udevadm" + + # udevd is no longer udevd because systemd. why isn't udevadm now udevctl? + ln -s ../lib/systemd/systemd-udevd "$pkgdir/usr/bin/udevd" + ln -s ../systemd/systemd-udevd "$pkgdir/usr/lib/udev/udevd" + + # Replace dialout/tape/cdrom group in rules with uucp/storage/optical group + sed -i 's#GROUP="dialout"#GROUP="uucp"#g; + s#GROUP="tape"#GROUP="storage"#g; + s#GROUP="cdrom"#GROUP="optical"#g' "$pkgdir"/usr/lib/udev/rules.d/*.rules + + # get rid of unneded lock directories + sed -ri '/\/run\/lock\/(subsys|lockdev)/d' "$pkgdir"/usr/lib/tmpfiles.d/legacy.conf + + # add mkinitcpio hooks + install -Dm644 "$srcdir/initcpio-install-udev" "$pkgdir/usr/lib/initcpio/install/udev" + install -Dm644 "$srcdir/initcpio-hook-udev" "$pkgdir/usr/lib/initcpio/hooks/udev" + install -Dm644 "$srcdir/initcpio-install-timestamp" "$pkgdir/usr/lib/initcpio/install/timestamp" + + # XXX: kill off coredump rule until the journal can recover coredumps + # this file needs to come back as part of systemd, not systemd-tools + rm "$pkgdir/usr/lib/sysctl.d/coredump.conf" +} + +# vim: ft=sh syn=sh et diff --git a/testing/systemd/initcpio-hook-udev b/testing/systemd/initcpio-hook-udev new file mode 100644 index 000000000..75da7e4a8 --- /dev/null +++ b/testing/systemd/initcpio-hook-udev @@ -0,0 +1,20 @@ +#!/usr/bin/ash + +run_earlyhook() { + udevd --daemon --resolve-names=never + udevd_running=1 +} + +run_hook() { + msg ":: Triggering uevents..." + udevadm trigger --action=add --type=subsystems + udevadm trigger --action=add --type=devices + udevadm settle +} + +run_cleanuphook() { + udevadm control --exit + udevadm info --cleanup-db +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/testing/systemd/initcpio-install-timestamp b/testing/systemd/initcpio-install-timestamp new file mode 100644 index 000000000..259cc705b --- /dev/null +++ b/testing/systemd/initcpio-install-timestamp @@ -0,0 +1,14 @@ +#!/bin/bash + +build() { + add_binary /usr/lib/systemd/systemd-timestamp /usr/bin/systemd-timestamp +} + +help() { + cat <<HELPEOF +Provides support for RD_TIMESTAMP in early userspace, which can be read by a +program such as systemd-analyze to determine boot time. +HELPEOF +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/testing/systemd/initcpio-install-udev b/testing/systemd/initcpio-install-udev new file mode 100644 index 000000000..762429983 --- /dev/null +++ b/testing/systemd/initcpio-install-udev @@ -0,0 +1,28 @@ +#!/bin/bash + +build() { + local rules tool + + add_file "/etc/udev/udev.conf" + add_binary /usr/lib/systemd/systemd-udevd /usr/bin/udevd + add_binary /usr/bin/udevadm + + for rules in 50-udev-default.rules 60-persistent-storage.rules 80-drivers.rules; do + add_file "/usr/lib/udev/rules.d/$rules" + done + for tool in ata_id scsi_id; do + add_file "/usr/lib/udev/$tool" + done + + add_runscript +} + +help() { + cat <<HELPEOF +This hook will use udev to create your root device node and detect the needed +modules for your root device. It is also required for firmware loading in +initramfs. It is recommended to use this hook. +HELPEOF +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/testing/systemd/locale.sh b/testing/systemd/locale.sh new file mode 100644 index 000000000..a4c413eed --- /dev/null +++ b/testing/systemd/locale.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +if [ ! -r /etc/locale.conf ]; then + return +fi + +. /etc/locale.conf + +if [ "${LANG+x}" = 'x' ]; then + export LANG +fi + +if [ "${LC_CTYPE+x}" = 'x' ]; then + export LC_CTYPE +fi + +if [ "${LC_NUMERIC+x}" = 'x' ]; then + export LC_NUMERIC +fi + +if [ "${LC_TIME+x}" = 'x' ]; then + export LC_TIME +fi + +if [ "${LC_COLLATE+x}" = 'x' ]; then + export LC_COLLATE +fi + +if [ "${LC_MONETARY+x}" = 'x' ]; then + export LC_MONETARY +fi + +if [ "${LC_MESSAGES+x}" = 'x' ]; then + export LC_MESSAGES +fi + +if [ "${LC_PAPER+x}" = 'x' ]; then + export LC_PAPER +fi + +if [ "${LC_NAME+x}" = 'x' ]; then + export LC_NAME +fi + +if [ "${LC_ADDRESS+x}" = 'x' ]; then + export LC_ADDRESS +fi + +if [ "${LC_TELEPHONE+x}" = 'x' ]; then + export LC_TELEPHONE +fi + +if [ "${LC_MEASUREMENT+x}" = 'x' ]; then + export LC_MEASUREMENT +fi + +if [ "${LC_IDENTIFICATION+x}" = 'x' ]; then + export LC_IDENTIFICATION +fi + diff --git a/testing/systemd/systemd-tools.install b/testing/systemd/systemd-tools.install new file mode 100644 index 000000000..c1c19d15d --- /dev/null +++ b/testing/systemd/systemd-tools.install @@ -0,0 +1,29 @@ +# arg 1: the new package version +# arg 2: the old package version + +post_upgrade() { + if [ "$(vercmp $2 174)" -lt 0 ]; then + echo " * We now use upstream rules for assigning devices to the 'disk', 'optical'," + echo " 'scanner' and 'video' groups. Beware of any changes." + echo " * We no longer create symlinks from /dev/<dev> to /dev/<dev>0." + echo " * For security reasons, we no longer add devices to the 'storage' group. Use" + echo " udisks and friends, or add custom rules to /etc/udev.d/rules/, if you want" + echo " this functionality back." + echo " * We no longer create the static nodes on install needed for an initrd-less" + echo " boot where devtmpfs is not mounted by the kernel, this only affects fresh" + echo " installs." + fi + if [ "$(vercmp $2 175)" -lt 0 ]; then + echo " * devtmpfs support is now a hard requirement. Users of the official Arch" + echo " kernels have this enabled." + fi + if [ "$(vercmp $2 181)" -lt 0 ]; then + echo " * udev-compat has been removed, and should be uninstalled." + echo " * Framebuffers are no longer blacklisted by default." + echo " * binaries moved from /sbin to /usr/bin" + fi + if [ "$(vercmp $2 181-3)" -lt 0 ]; then + echo " * if your kernel does not provide /dev/loop-control, you need to manually" + echo " load the 'loop' module before using losetup" + fi +} diff --git a/testing/systemd/systemd.install b/testing/systemd/systemd.install new file mode 100644 index 000000000..0b10f9537 --- /dev/null +++ b/testing/systemd/systemd.install @@ -0,0 +1,51 @@ +#!/bin/sh + +sd_booted() { + [ -e sys/fs/cgroup/systemd ] +} + +post_install() { + if [ ! -f etc/machine-id ]; then + systemd-machine-id-setup + fi + + # enable getty@tty1 by default, but don't track the file + systemctl enable getty@.service + + echo ":: Append 'init=/bin/systemd' to your kernel command line in your" + echo " bootloader to replace sysvinit with systemd" +} + +post_upgrade() { + if [ ! -f etc/machine-id ]; then + systemd-machine-id-setup + fi + + if sd_booted; then + # we moved the binary in 44-2 to /usr, so a reexec leads to a + # coredump. refuse this reexec and warn the user that they should + # reboot instead. + if [ "$(vercmp 44-2 "$2")" -eq 1 ]; then + echo "warning: refusing to reexec systemd. the system should be rebooted." + else + systemctl daemon-reload + systemctl daemon-reexec + fi + fi + + # getty@tty1.service is no longer enabled by default, but we don't want to break + # existing setups. + if [ "$(vercmp 183 "$2")" -eq 1 ]; then + # systemctl seems to be whiny on sysvinit. this will succeed unless something + # horrific happens, so just mask the error. + systemctl -q enable getty@.service || true + fi +} + +post_remove() { + if getent group lock >/dev/null; then + groupdel lock + fi +} + +# vim:set ts=2 sw=2 et: |