diff options
Diffstat (limited to 'core')
27 files changed, 388 insertions, 153 deletions
diff --git a/core/crda/PKGBUILD b/core/crda/PKGBUILD index 579b5b416..dd26c5deb 100644 --- a/core/crda/PKGBUILD +++ b/core/crda/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 165664 2012-08-28 11:02:19Z thomas $ +# $Id: PKGBUILD 177947 2013-02-12 12:13:43Z thomas $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=crda -pkgver=1.1.2 -pkgrel=4 +pkgver=1.1.3 +pkgrel=1 pkgdesc="Central Regulatory Domain Agent for wireless networks" arch=(i686 x86_64) url="http://wireless.kernel.org/en/developers/Regulatory/CRDA" @@ -12,15 +12,12 @@ depends=('wireless-regdb' 'libnl' 'libgcrypt' 'systemd-tools' 'iw') makedepends=('python-m2crypto') install=crda.install source=(http://wireless.kernel.org/download/crda/${pkgname}-${pkgver}.tar.bz2 - set-wireless-regdom - libnl32.patch) -md5sums=('5226f65aebacf94baaf820f8b4e06df4' - '65c93f2ff2eb1b29d9e9fa102ae2dd45' - 'c1f7aff29f15a0364ae6f7905a1d4ae6') + set-wireless-regdom) +md5sums=('29579185e06a75675507527243d28e5c' + '65c93f2ff2eb1b29d9e9fa102ae2dd45') build() { cd "${srcdir}"/${pkgname}-${pkgver} - patch -Np1 -i "$srcdir/libnl32.patch" sed 's|^#!/usr/bin/env python|#!/usr/bin/python2|' -i utils/key2pub.py make crda regdbdump } diff --git a/core/cryptsetup/PKGBUILD b/core/cryptsetup/PKGBUILD index b1623ed81..d1c646dc9 100644 --- a/core/cryptsetup/PKGBUILD +++ b/core/cryptsetup/PKGBUILD @@ -1,7 +1,7 @@ -# $Id: PKGBUILD 169687 2012-10-26 01:36:12Z dreisner $ +# $Id: PKGBUILD 177948 2013-02-12 12:13:44Z thomas $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=cryptsetup -pkgver=1.5.1 +pkgver=1.6.0 pkgrel=1 pkgdesc="Userspace setup tool for transparent encryption of block devices using dm-crypt" arch=(i686 x86_64) @@ -14,9 +14,9 @@ source=(http://cryptsetup.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2 http://cryptsetup.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2.asc encrypt_hook encrypt_install) -md5sums=('87cc018c0c65f36043f38ceb8ffd4d81' - '5f711687f453f4d5a38596f60df5247a' - 'c970831d733ca42e20415005967e7843' +md5sums=('99002ac59a65ea371e7a98200943cb80' + 'd933e3e59998e491f674b42fd66d6183' + 'c279d86d6dc18322c054d2272ebb9e90' '21c45f9cab3e0b5165f68358884fbd0f') build() { diff --git a/core/cryptsetup/encrypt_hook b/core/cryptsetup/encrypt_hook index 11db3443a..819c4cf60 100644 --- a/core/cryptsetup/encrypt_hook +++ b/core/cryptsetup/encrypt_hook @@ -66,7 +66,7 @@ EOF dopassphrase=1 # If keyfile exists, try to use that if [ -f ${ckeyfile} ]; then - if eval cryptsetup --key-file ${ckeyfile} luksOpen ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; then + if eval cryptsetup --key-file ${ckeyfile} open --type luks ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; then dopassphrase=0 else echo "Invalid keyfile. Reverting to passphrase." @@ -78,7 +78,7 @@ EOF echo "A password is required to access the ${cryptname} volume:" #loop until we get a real password - while ! eval cryptsetup luksOpen ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; do + while ! eval cryptsetup open --type luks ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; do sleep 2; done fi @@ -98,7 +98,7 @@ EOF err "Non-LUKS decryption not attempted..." return 1 fi - exe="cryptsetup create $cryptname $resolved $cryptargs" + exe="cryptsetup open --type plain $resolved $cryptname $cryptargs" IFS=: read c_hash c_cipher c_keysize c_offset c_skip <<EOF $crypto EOF diff --git a/core/curl/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch b/core/curl/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch new file mode 100644 index 000000000..aaedc27c6 --- /dev/null +++ b/core/curl/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch @@ -0,0 +1,39 @@ +From da3fc1ee91de656a30f3a12de394bcba55119872 Mon Sep 17 00:00:00 2001 +From: Linus Nielsen Feltzing <linus@haxx.se> +Date: Sun, 10 Feb 2013 22:57:58 +0100 +Subject: [PATCH] Fix NULL pointer reference when closing an unused multi + handle. + +--- + lib/multi.c | 8 +++++--- + tests/data/Makefile.am | 1 + + tests/data/test1508 | 31 +++++++++++++++++++++++++++++ + tests/libtest/Makefile.inc | 6 +++++- + tests/libtest/lib1508.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++ + 5 files changed, 91 insertions(+), 4 deletions(-) + create mode 100644 tests/data/test1508 + create mode 100644 tests/libtest/lib1508.c + +diff --git a/lib/multi.c b/lib/multi.c +index fa0afb9..706df23 100644 +--- a/lib/multi.c ++++ b/lib/multi.c +@@ -1773,10 +1773,12 @@ CURLMcode curl_multi_cleanup(CURLM *multi_handle) + /* Close all the connections in the connection cache */ + close_all_connections(multi); + +- multi->closure_handle->dns.hostcache = multi->hostcache; +- Curl_hostcache_clean(multi->closure_handle); ++ if(multi->closure_handle) { ++ multi->closure_handle->dns.hostcache = multi->hostcache; ++ Curl_hostcache_clean(multi->closure_handle); + +- Curl_close(multi->closure_handle); ++ Curl_close(multi->closure_handle); ++ } + multi->closure_handle = NULL; + + Curl_hash_destroy(multi->sockhash); +-- +1.8.1.3 + diff --git a/core/curl/PKGBUILD b/core/curl/PKGBUILD index 1c0f41e45..51d860f43 100644 --- a/core/curl/PKGBUILD +++ b/core/curl/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 177786 2013-02-08 18:18:03Z dreisner $ +# $Id: PKGBUILD 177958 2013-02-12 13:57:28Z dreisner $ # Maintainer: Dave Reisner <dreisner@archlinux.org> # Contributor: Angel Velasquez <angvp@archlinux.org> # Contributor: Eric Belanger <eric@archlinux.org> @@ -7,7 +7,7 @@ pkgname=curl pkgver=7.29.0 -pkgrel=1 +pkgrel=2 pkgdesc="An URL retrieval utility and library" arch=('i686' 'x86_64') url="http://curl.haxx.se" @@ -15,9 +15,11 @@ license=('MIT') depends=('ca-certificates' 'libssh2' 'openssl' 'zlib') options=('!libtool') source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc} + 0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch curlbuild.h) md5sums=('4f57d3b4a3963038bd5e04dbff385390' '6283fbb36933cf8720acc34c43169f1d' + '5bfd1899e8b19cfdd78774f6337f8b47' '751bd433ede935c8fae727377625a8ae') ptrsize=$(cpp <<<'__SIZEOF_POINTER__' | sed '/^#/d') @@ -32,6 +34,8 @@ esac build() { cd "$pkgname-$pkgver" + patch -Np1 <"$srcdir/0001-Fix-NULL-pointer-reference-when-closing-an-unused-mu.patch" + ./configure \ --prefix=/usr \ --mandir=/usr/share/man \ diff --git a/core/iw/PKGBUILD b/core/iw/PKGBUILD index 4c8482e6b..e51db25dc 100644 --- a/core/iw/PKGBUILD +++ b/core/iw/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 177059 2013-02-05 10:01:13Z thomas $ +# $Id: PKGBUILD 177972 2013-02-12 18:00:18Z eric $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=iw pkgver=3.8 -pkgrel=1 +pkgrel=2 pkgdesc="nl80211 based CLI configuration utility for wireless devices" arch=("i686" "x86_64") url="http://wireless.kernel.org/en/users/Documentation/iw" license=("GPL") depends=("libnl") makedepends=("linux-api-headers") -source=(http://wireless.kernel.org/download/$pkgname/$pkgname-$pkgver.tar.bz2) -sha256sums=('3dae92ca5989cbc21155941fa01907a5536da3c5f6898642440c61484fc7e0f9') +source=(https://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar.xz) +sha256sums=('50c07d5fcf38240b3912fb6950f6ec566b8d27c321cbdacc1de53fc3be96af9a') build() { cd "$srcdir"/$pkgname-$pkgver diff --git a/core/libnl/PKGBUILD b/core/libnl/PKGBUILD index da91aedcb..7f8f9decd 100644 --- a/core/libnl/PKGBUILD +++ b/core/libnl/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162745 2012-06-29 11:46:12Z thomas $ +# $Id: PKGBUILD 177950 2013-02-12 12:13:46Z thomas $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=libnl -pkgver=3.2.11 +pkgver=3.2.19 pkgrel=1 pkgdesc="Library for applications dealing with netlink sockets" arch=(i686 x86_64) @@ -12,7 +12,7 @@ depends=(glibc) backup=(etc/libnl/classid etc/libnl/pktloc) options=(!libtool) source=("$url/files/$pkgname-$pkgver.tar.gz") -sha256sums=('9750409c0fec8b27966a65d94c040647ee01753e0947b0d59577b815ee0e710d') +sha256sums=('37a611ad84e84a15daf2736cdd2c5191f3af4e1b12354f7d260f0264383b098b') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/core/libpcap/PKGBUILD b/core/libpcap/PKGBUILD index 1974ff4c0..918f593ec 100644 --- a/core/libpcap/PKGBUILD +++ b/core/libpcap/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 162746 2012-06-29 11:46:18Z thomas $ +# $Id: PKGBUILD 177951 2013-02-12 12:13:47Z thomas $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=libpcap pkgver=1.3.0 -pkgrel=1 +pkgrel=2 pkgdesc="A system-independent interface for user-level packet capture" arch=('i686' 'x86_64') url="http://www.tcpdump.org/" @@ -13,7 +13,7 @@ makedepends=('flex') source=(http://www.tcpdump.org/release/libpcap-${pkgver}.tar.gz{,.sig} libnl32.patch) sha256sums=('41cbd9ed68383afd9f1fda279cb78427d36879d9e34ee707e31a16a1afd872b9' - '8004a6655fb98acd89f3dea7ce95f182f4874298ce692f5b8f4a7dae65d7993f' + 'a078cf1c0f36151cc84a0da7c25ad81fef87afa6bece58c990c62886a7beef99' '7d0cbd49e55405cb2b55852223cd4965526e518cfb4f547ab9cc9b95b8f9c9e6') build() { diff --git a/core/lvm2/PKGBUILD b/core/lvm2/PKGBUILD index 014eeb8ad..f34523f4d 100644 --- a/core/lvm2/PKGBUILD +++ b/core/lvm2/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 169698 2012-10-26 08:32:04Z thomas $ +# $Id: PKGBUILD 177953 2013-02-12 12:13:50Z thomas $ # Maintainer: Eric Bélanger <eric@archlinux.org> # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgbase=lvm2 pkgname=('lvm2' 'device-mapper') pkgver=2.02.98 -pkgrel=1 +pkgrel=3 arch=('i686' 'x86_64') url="http://sourceware.org/lvm2/" license=('GPL2' 'LGPL2.1') @@ -14,27 +14,34 @@ source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${pkgver}.tgz{,.asc} lvm2_install lvm2_hook 11-dm-initramfs.rules - lvm.service - lvm-on-crypt.service - lvm2.conf) + lvm2.conf + dmeventd.service + dmeventd.socket + lvm-monitoring.service + lvmetad.service + lvmetad.socket) sha1sums=('077425115b164c335a9930df745943e9ea666a8a' '4713c852fc668e6fbd36ff7c6b5675b10a95a0f8' - '3e1680f9b76ce9150d08865d99db90fd15532271' - 'cedc9948123c870f9c5aa3357d0075b41a9c8135' + '8008547b133af89f79461a6df5412539ed3f26b7' + 'ff0fdf0a3005a41acd4b36865056109effc3474b' 'f6a554eea9557c3c236df2943bb6e7e723945c41' - 'edce6b6e8d03f7cbad4bfff49fab01d618415be8' - '652fb58dd7676caa0515f0a06d537744e071c6cf' - 'ccefad65fde3d50331a42b0e90a1539dc7c8b9e4') + 'ccefad65fde3d50331a42b0e90a1539dc7c8b9e4' + 'cbc64f377fbb1c1a9ff53bc6ca85c324075499b7' + '1d56f47a81350ae37ffbf61ee036fe31f4c5d504' + 'ae945cae2d71b286439a9945876acb78dc9eeaf7' + '460b094e8689298ed59842d1abcee5d4e706e1d7' + 'fcfc265e3b10294cc4b10949a342e9db4310b186') build() { cd "${srcdir}/LVM2.${pkgver}" unset LDFLAGS - ./configure --prefix=/ --sbindir=/sbin --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \ - --includedir=/usr/include --with-usrlibdir=/usr/lib --libdir=/usr/lib --with-udev-prefix=/usr \ - --with-systemdsystemunitdir=/usr/lib/systemd/system --enable-pkgconfig --enable-readline \ - --enable-dmeventd --enable-cmdlib --enable-applib --enable-udev_sync --enable-udev_rules \ - --with-default-locking-dir=/run/lock/lvm + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-udev-prefix=/usr \ + --with-systemdsystemunitdir=/usr/lib/systemd/system --with-default-pid-dir=/run \ + --with-default-dm-run-dir=/run --with-default-run-dir=/run/lvm \ + --enable-pkgconfig --enable-readline --enable-dmeventd --enable-cmdlib --enable-applib \ + --enable-udev_sync --enable-udev_rules --with-default-locking-dir=/run/lock/lvm \ + --enable-lvmetad make } @@ -47,6 +54,11 @@ package_device-mapper() { make DESTDIR="${pkgdir}" install_device-mapper # extra udev rule for device-mapper in initramfs install -D -m644 "${srcdir}/11-dm-initramfs.rules" "${pkgdir}/usr/lib/initcpio/udev/11-dm-initramfs.rules" + # Install dmeventd socket and service + install -D -m644 "${srcdir}/dmeventd.service" "${pkgdir}/usr/lib/systemd/system/dmeventd.service" + install -D -m644 "${srcdir}/dmeventd.socket" "${pkgdir}/usr/lib/systemd/system/dmeventd.socket" + install -d -m755 "${pkgdir}/usr/lib/systemd/system/sockets.target.wants" + ln -sf /usr/lib/systemd/system/dmeventd.socket "${pkgdir}/usr/lib/systemd/system/sockets.target.wants/dmeventd.socket" } package_lvm2() { @@ -55,6 +67,7 @@ package_lvm2() { conflicts=('lvm' 'mkinitcpio<0.7') backup=('etc/lvm/lvm.conf') options=('!makeflags') + install=lvm2.install cd "${srcdir}/LVM2.${pkgver}" make DESTDIR="${pkgdir}" install_lvm2 @@ -66,7 +79,12 @@ package_lvm2() { install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/usr/lib/initcpio/hooks/lvm2" install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/usr/lib/initcpio/install/lvm2" # systemd support - install -D -m644 "${srcdir}/lvm.service" "${pkgdir}/usr/lib/systemd/system/lvm.service" - install -D -m644 "${srcdir}/lvm-on-crypt.service" "${pkgdir}/usr/lib/systemd/system/lvm-on-crypt.service" install -D -m644 "${srcdir}/lvm2.conf" "${pkgdir}/usr/lib/tmpfiles.d/lvm2.conf" + install -D -m644 "${srcdir}/lvm-monitoring.service" "${pkgdir}/usr/lib/systemd/system/lvm-monitoring.service" + install -D -m644 "${srcdir}/lvmetad.service" "${pkgdir}/usr/lib/systemd/system/lvmetad.service" + install -D -m644 "${srcdir}/lvmetad.socket" "${pkgdir}/usr/lib/systemd/system/lvmetad.socket" + install -d -m755 "${pkgdir}/usr/lib/systemd/system/sockets.target.wants" + ln -sf /usr/lib/systemd/system/lvmetad.socket "${pkgdir}/usr/lib/systemd/system/sockets.target.wants/lvmetad.socket" + # enable lvmetad + sed 's|use_lvmetad = 0|use_lvmetad = 1|' -i "${pkgdir}/etc/lvm/lvm.conf" } diff --git a/core/lvm2/dmeventd.service b/core/lvm2/dmeventd.service new file mode 100644 index 000000000..15ca21c0b --- /dev/null +++ b/core/lvm2/dmeventd.service @@ -0,0 +1,14 @@ +[Unit] +Description=Device-mapper event daemon +Documentation=man:dmeventd(8) +Requires=dmeventd.socket +After=dmeventd.socket +DefaultDependencies=no + +[Service] +Type=forking +ExecStart=/usr/sbin/dmeventd +ExecReload=/usr/sbin/dmeventd -R +Environment=SD_ACTIVATION=1 +PIDFile=/run/dmeventd.pid +OOMScoreAdjust=-1000 diff --git a/core/lvm2/dmeventd.socket b/core/lvm2/dmeventd.socket new file mode 100644 index 000000000..726d11236 --- /dev/null +++ b/core/lvm2/dmeventd.socket @@ -0,0 +1,11 @@ +[Unit] +Description=Device-mapper event daemon FIFOs +Documentation=man:dmeventd(8) +Before=sockets.target +DefaultDependencies=no +Conflicts=shutdown.target + +[Socket] +ListenFIFO=/run/dmeventd-server +ListenFIFO=/run/dmeventd-client +SocketMode=0600 diff --git a/core/lvm2/lvm-monitoring.service b/core/lvm2/lvm-monitoring.service new file mode 100644 index 000000000..8f5247b00 --- /dev/null +++ b/core/lvm2/lvm-monitoring.service @@ -0,0 +1,18 @@ +[Unit] +Description=Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling +Documentation=man:dmeventd(8) man:lvcreate(8) man:lvchange(8) man:vgchange(8) +Requires=dmeventd.socket +After=dmeventd.socket lvmetad.socket lvmetad.service dmeventd.service +Before=local-fs-pre.target +DefaultDependencies=no +Conflicts=shutdown.target + +[Service] +Type=oneshot +Environment=LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES=1 +ExecStart=/usr/sbin/lvm vgchange --monitor y +ExecStop=/usr/sbin/lvm vgchange --monitor n +RemainAfterExit=yes + +[Install] +WantedBy=sysinit.target diff --git a/core/lvm2/lvm-on-crypt.service b/core/lvm2/lvm-on-crypt.service deleted file mode 100644 index 346c5ac8e..000000000 --- a/core/lvm2/lvm-on-crypt.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=LVM activation of encrypted devices -DefaultDependencies=no -Requires=systemd-udev-settle.service -After=systemd-udev-settle.service cryptsetup.target -Before=shutdown.target -Conflicts=shutdown.target - -[Service] -ExecStart=/sbin/vgchange --available y -Type=oneshot -TimeoutSec=0 -RemainAfterExit=yes - -[Install] -WantedBy=basic.target diff --git a/core/lvm2/lvm.service b/core/lvm2/lvm.service deleted file mode 100644 index 14269b1be..000000000 --- a/core/lvm2/lvm.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=LVM activation -DefaultDependencies=no -Requires=systemd-udev-settle.service -After=systemd-udev-settle.service -Before=basic.target shutdown.target -Conflicts=shutdown.target - -[Service] -ExecStart=/sbin/vgchange --available y -Type=oneshot -TimeoutSec=0 -RemainAfterExit=yes - -[Install] -WantedBy=basic.target diff --git a/core/lvm2/lvm2.install b/core/lvm2/lvm2.install new file mode 100644 index 000000000..7faf708d4 --- /dev/null +++ b/core/lvm2/lvm2.install @@ -0,0 +1,16 @@ +post_upgrade() { + if [ $(vercmp $2 2.02.98-2) -lt 0 ]; then + echo "Changes to the lvm2 package:" + echo " + Activating lvm in mkinitcpio now requires both the 'udev' and 'lvm2' hooks." + echo " + LVM volumes are automatically activated by udev (full hotplug support)." + echo " + You MUST have use_lvmetad = 1 in /etc/lvm/lvm.conf (the default)." + echo " + If you uncomment auto_activation_volume_list in /etc/lvm/lvm.conf, only the" + echo " volumes listed there will be activated (default: it is commented out)." + if [ -f /etc/lvm/lvm.conf.pacnew ]; then + echo "WARNING: /etc/lvm/lvm.conf.pacnew exists. You MUST merge the required changes" + echo " into /etc/lvm/lvm.conf or LVM will fail to work." + fi + fi +} + +# vim:set ts=2 sw=2 et: diff --git a/core/lvm2/lvm2_hook b/core/lvm2/lvm2_hook index e69b3349a..65de7bd2f 100644 --- a/core/lvm2/lvm2_hook +++ b/core/lvm2/lvm2_hook @@ -1,24 +1,12 @@ #!/usr/bin/ash -run_hook() { - local pvdev - - modprobe -q dm-mod >/dev/null 2>&1 - - # If the lvmwait= parameter has been specified on the command line - # wait for the device(s) before trying to activate the volume group(s) - for pvdev in ${lvmwait//,/ }; do - poll_device ${pvdev} ${rootdelay} - done - - msg "Activating logical volumes..." - [ -d /etc/lvm ] && lvm vgscan +run_earlyhook() { + mkdir /run/lvm + lvmetad +} - if [ -n "$quiet" ]; then - lvm vgchange --sysinit -a y >/dev/null - else - lvm vgchange --sysinit -a y - fi +run_cleanuphook() { + kill $(cat /run/lvmetad.pid) } # vim: set ft=sh ts=4 sw=4 et: diff --git a/core/lvm2/lvm2_install b/core/lvm2/lvm2_install index 145ce49b2..be27614bd 100644 --- a/core/lvm2/lvm2_install +++ b/core/lvm2/lvm2_install @@ -6,25 +6,23 @@ build() { add_module "$mod" done - add_binary "/sbin/lvm" - add_binary "/sbin/dmsetup" + add_binary "/usr/sbin/lvm" + add_binary "/usr/sbin/lvmetad" + add_binary "/usr/sbin/dmsetup" add_file "/usr/lib/udev/rules.d/10-dm.rules" add_file "/usr/lib/udev/rules.d/13-dm-disk.rules" add_file "/usr/lib/udev/rules.d/95-dm-notify.rules" add_file "/usr/lib/udev/rules.d/11-dm-lvm.rules" + add_file "/usr/lib/udev/rules.d/69-dm-lvm-metad.rules" add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules" + add_file "/etc/lvm/lvm.conf" add_runscript } help() { cat <<HELPEOF -This hook loads the necessary modules for an LVM2 root device. - -The optional lvmwait= parameter followed by a comma-separated -list of device names can be given on the command line. -It will cause the hook to wait until all given devices exist -before trying to scan and activate any volume groups. +This hook enables LVM2 volumes in initramfs. HELPEOF } diff --git a/core/lvm2/lvmetad.service b/core/lvm2/lvmetad.service new file mode 100644 index 000000000..64168f465 --- /dev/null +++ b/core/lvm2/lvmetad.service @@ -0,0 +1,16 @@ +[Unit] +Description=LVM2 metadata daemon +Documentation=man:lvmetad(8) +Requires=lvmetad.socket +After=lvmetad.socket +DefaultDependencies=no +Conflicts=shutdown.target + +[Service] +Type=forking +NonBlocking=true +ExecStart=/usr/sbin/lvmetad +ExecReload=/usr/sbin/lvmetad -R +Environment=SD_ACTIVATION=1 +Restart=on-abort +PIDFile=/run/lvmetad.pid diff --git a/core/lvm2/lvmetad.socket b/core/lvm2/lvmetad.socket new file mode 100644 index 000000000..9c0ffa5b4 --- /dev/null +++ b/core/lvm2/lvmetad.socket @@ -0,0 +1,10 @@ +[Unit] +Description=LVM2 metadata daemon socket +Documentation=man:lvmetad(8) +Before=sockets.target systemd-udev-trigger.service +DefaultDependencies=no +Conflicts=shutdown.target + +[Socket] +ListenStream=/run/lvm/lvmetad.socket +SocketMode=0600 diff --git a/core/mdadm/PKGBUILD b/core/mdadm/PKGBUILD index f00b8d0fa..08405c999 100644 --- a/core/mdadm/PKGBUILD +++ b/core/mdadm/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 170043 2012-10-31 07:26:06Z tpowa $ +# $Id: PKGBUILD 177952 2013-02-12 12:13:48Z thomas $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Judd Vinet <jvinet@zeroflux.org> pkgname=mdadm pkgver=3.2.6 -pkgrel=1 +pkgrel=3 pkgdesc="A tool for managing/monitoring Linux md device arrays, also known as Software RAID" arch=(i686 x86_64) license=('GPL') @@ -19,12 +19,14 @@ source=(ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/mdadm-$pkgver.tar.bz2 mdadm_hook mdadm_udev_install mdadm.service - disable-werror.patch) + disable-werror.patch + mdadm-fix-udev-rules.patch) replaces=('raidtools') build() { cd $srcdir/$pkgname-$pkgver patch -Np0 -i ../disable-werror.patch + patch -p1 -i ../mdadm-fix-udev-rules.patch make CXFLAGS="$CFLAGS" # build static mdassemble for Arch's initramfs make MDASSEMBLE_AUTO=1 mdassemble @@ -40,19 +42,15 @@ package() { install -D -m644 ../mdadm_install $pkgdir/usr/lib/initcpio/install/mdadm install -D -m644 ../mdadm_hook $pkgdir/usr/lib/initcpio/hooks/mdadm install -D -m644 ../mdadm_udev_install $pkgdir/usr/lib/initcpio/install/mdadm_udev - # symlink for backward compatibility - ln -sf /usr/lib/initcpio/hooks/mdadm $pkgdir/usr/lib/initcpio/hooks/raid - # move /lib/* to /usr/lib/ - mv $pkgdir/lib/udev $pkgdir/usr/lib/ - rm -rf $pkgdir/lib # systemd service file install -D -m644 $srcdir/mdadm.service $pkgdir/usr/lib/systemd/system/mdadm.service } md5sums=('3e255dc71e5144bbcb872788ca647267' '8333d405f550317c2bacd5510bf1cb60' '00cbed931db4f15b6ce49e3e7d433966' - '609d10888727710cb20db7ac3e096116' + '815245a3af16a73ec1c5e5989fb892e9' 'fbb5542d9bdf87441a11dd7e7a0a17f8' - 'd1d8e9eb81ce9347de74f3c84a9db09e' + '0e35422d0cc007c3654a5e2591a9f9b5' 'aafb5f9ac8437a284cbf948b9b13b179' - '4ad87b74a4bc9a34621280abe0e0c3e4') + '4ad87b74a4bc9a34621280abe0e0c3e4' + '0bf45d6dcb3ea14facddbb10b3303806') diff --git a/core/mdadm/mdadm-fix-udev-rules.patch b/core/mdadm/mdadm-fix-udev-rules.patch new file mode 100644 index 000000000..60f5ae131 --- /dev/null +++ b/core/mdadm/mdadm-fix-udev-rules.patch @@ -0,0 +1,137 @@ +diff --git a/Makefile b/Makefile +index b6edb23..bedef96 100644 +--- a/Makefile ++++ b/Makefile +@@ -253,8 +253,9 @@ + $(INSTALL) -D -m 644 md.4 $(DESTDIR)$(MAN4DIR)/md.4 + $(INSTALL) -D -m 644 mdadm.conf.5 $(DESTDIR)$(MAN5DIR)/mdadm.conf.5 + +-install-udev: udev-md-raid.rules +- $(INSTALL) -D -m 644 udev-md-raid.rules $(DESTDIR)/lib/udev/rules.d/64-md-raid.rules ++install-udev: udev-md-raid-arrays.rules udev-md-raid-assembly.rules ++ $(INSTALL) -D -m 644 udev-md-raid-arrays.rules $(DESTDIR)/usr/lib/udev/rules.d/63-md-raid-arrays.rules ++ $(INSTALL) -D -m 644 udev-md-raid-assembly.rules $(DESTDIR)/usr/lib/udev/rules.d/64-md-raid-assembly.rules + + uninstall: + rm -f $(DESTDIR)$(MAN8DIR)/mdadm.8 $(DESTDIR)$(MAN8DIR)/mdmon.8 $(DESTDIR)$(MAN4DIR)/md.4 $(DESTDIR)$(MAN5DIR)/mdadm.conf.5 $(DESTDIR)$(BINDIR)/mdadm +diff --git a/udev-md-raid-arrays.rules b/udev-md-raid-arrays.rules +new file mode 100644 +index 0000000..883ee4d +--- /dev/null ++++ b/udev-md-raid-arrays.rules +@@ -0,0 +1,35 @@ ++# do not edit this file, it will be overwritten on update ++ ++SUBSYSTEM!="block", GOTO="md_end" ++ ++# handle md arrays ++ACTION!="add|change", GOTO="md_end" ++KERNEL!="md*", GOTO="md_end" ++ ++# partitions have no md/{array_state,metadata_version}, but should not ++# for that reason be ignored. ++ENV{DEVTYPE}=="partition", GOTO="md_ignore_state" ++ ++# container devices have a metadata version of e.g. 'external:ddf' and ++# never leave state 'inactive' ++ATTR{md/metadata_version}=="external:[A-Za-z]*", ATTR{md/array_state}=="inactive", GOTO="md_ignore_state" ++TEST!="md/array_state", ENV{SYSTEMD_READY}="0", GOTO="md_end" ++ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0", GOTO="md_end" ++LABEL="md_ignore_state" ++ ++IMPORT{program}="/sbin/mdadm --detail --export $devnode" ++ENV{DEVTYPE}=="disk", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}", OPTIONS+="string_escape=replace" ++ENV{DEVTYPE}=="disk", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}" ++ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}" ++ENV{DEVTYPE}=="partition", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}-part%n", OPTIONS+="string_escape=replace" ++ENV{DEVTYPE}=="partition", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}-part%n" ++ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[^0-9]", SYMLINK+="md/$env{MD_DEVNAME}%n" ++ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[0-9]", SYMLINK+="md/$env{MD_DEVNAME}p%n" ++ ++IMPORT{builtin}="blkid" ++OPTIONS+="link_priority=100" ++OPTIONS+="watch" ++ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}" ++ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" ++ ++LABEL="md_end" +diff --git a/udev-md-raid-assembly.rules b/udev-md-raid-assembly.rules +new file mode 100644 +index 0000000..b89775e +--- /dev/null ++++ b/udev-md-raid-assembly.rules +@@ -0,0 +1,19 @@ ++# do not edit this file, it will be overwritten on update ++ ++# assemble md arrays ++ ++SUBSYSTEM!="block", GOTO="md_inc_end" ++ ++# handle potential components of arrays (the ones supported by md) ++ENV{ID_FS_TYPE}=="ddf_raid_member|isw_raid_member|linux_raid_member", GOTO="md_inc" ++GOTO="md_inc_end" ++ ++LABEL="md_inc" ++ ++# remember you can limit what gets auto/incrementally assembled by ++# mdadm.conf(5)'s 'AUTO' and selectively whitelist using 'ARRAY' ++ACTION=="add", RUN+="/sbin/mdadm --incremental $devnode --offroot" ++ACTION=="remove", ENV{ID_PATH}=="?*", RUN+="/sbin/mdadm -If $name --path $env{ID_PATH}" ++ACTION=="remove", ENV{ID_PATH}!="?*", RUN+="/sbin/mdadm -If $name" ++ ++LABEL="md_inc_end" +diff --git a/udev-md-raid.rules b/udev-md-raid.rules +deleted file mode 100644 +index cc7f5ef..0000000 +--- a/udev-md-raid.rules ++++ /dev/null +@@ -1,49 +0,0 @@ +-# do not edit this file, it will be overwritten on update +- +-SUBSYSTEM!="block", GOTO="md_end" +- +-# handle potential components of arrays (the ones supported by md) +-ENV{ID_FS_TYPE}=="ddf_raid_member|isw_raid_member|linux_raid_member", GOTO="md_inc" +-GOTO="md_inc_skip" +- +-LABEL="md_inc" +- +-# remember you can limit what gets auto/incrementally assembled by +-# mdadm.conf(5)'s 'AUTO' and selectively whitelist using 'ARRAY' +-ACTION=="add", RUN+="/sbin/mdadm --incremental $tempnode --offroot" +-ACTION=="remove", ENV{ID_PATH}=="?*", RUN+="/sbin/mdadm -If $name --path $env{ID_PATH}" +-ACTION=="remove", ENV{ID_PATH}!="?*", RUN+="/sbin/mdadm -If $name" +- +-LABEL="md_inc_skip" +- +-# handle md arrays +-ACTION!="add|change", GOTO="md_end" +-KERNEL!="md*", GOTO="md_end" +- +-# partitions have no md/{array_state,metadata_version}, but should not +-# for that reason be ignored. +-ENV{DEVTYPE}=="partition", GOTO="md_ignore_state" +- +-# container devices have a metadata version of e.g. 'external:ddf' and +-# never leave state 'inactive' +-ATTR{md/metadata_version}=="external:[A-Za-z]*", ATTR{md/array_state}=="inactive", GOTO="md_ignore_state" +-TEST!="md/array_state", ENV{SYSTEMD_READY}="0", GOTO="md_end" +-ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0", GOTO="md_end" +-LABEL="md_ignore_state" +- +-IMPORT{program}="/sbin/mdadm --detail --export $tempnode" +-ENV{DEVTYPE}=="disk", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}", OPTIONS+="string_escape=replace" +-ENV{DEVTYPE}=="disk", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}" +-ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}" +-ENV{DEVTYPE}=="partition", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}-part%n", OPTIONS+="string_escape=replace" +-ENV{DEVTYPE}=="partition", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}-part%n" +-ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[^0-9]", SYMLINK+="md/$env{MD_DEVNAME}%n" +-ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[0-9]", SYMLINK+="md/$env{MD_DEVNAME}p%n" +- +-IMPORT{program}="/sbin/blkid -o udev -p $tempnode" +-OPTIONS+="link_priority=100" +-OPTIONS+="watch" +-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}" +-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" +- +-LABEL="md_end" diff --git a/core/mdadm/mdadm_install b/core/mdadm/mdadm_install index cf6159e40..36b37fd0b 100644 --- a/core/mdadm/mdadm_install +++ b/core/mdadm/mdadm_install @@ -9,6 +9,7 @@ build() { add_file "/etc/mdadm.conf" fi add_binary "/sbin/mdassemble" + add_file "/usr/lib/udev/rules.d/63-md-raid-arrays.rules" add_runscript } diff --git a/core/mdadm/mdadm_udev_install b/core/mdadm/mdadm_udev_install index f6f5de4ad..5635b8f63 100644 --- a/core/mdadm/mdadm_udev_install +++ b/core/mdadm/mdadm_udev_install @@ -10,7 +10,8 @@ build() { fi add_binary "mdadm" - add_file "/usr/lib/udev/rules.d/64-md-raid.rules" + add_file "/usr/lib/udev/rules.d/63-md-raid-arrays.rules" + add_file "/usr/lib/udev/rules.d/64-md-raid-assembly.rules" } help() { diff --git a/core/openvpn/PKGBUILD b/core/openvpn/PKGBUILD index c5afc3912..40fe8cad9 100644 --- a/core/openvpn/PKGBUILD +++ b/core/openvpn/PKGBUILD @@ -1,45 +1,46 @@ -# $Id: PKGBUILD 165626 2012-08-27 12:27:33Z dreisner $ +# $Id: PKGBUILD 177954 2013-02-12 12:13:51Z thomas $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=openvpn -pkgver=2.2.2 +pkgver=2.3.0 pkgrel=2 pkgdesc="An easy-to-use, robust, and highly configurable VPN (Virtual Private Network)" arch=(i686 x86_64) url="http://openvpn.net/index.php/open-source.html" depends=('openssl' 'lzo2' 'iproute2') +makedepends=('systemd') license=('custom') backup=(usr/share/openvpn/easy-rsa/vars - usr/share/openvpn/easy-rsa/openssl-1.0.0.cnf - etc/conf.d/openvpn-tapdev) + usr/share/openvpn/easy-rsa/openssl-1.0.0.cnf) source=(http://swupdate.openvpn.net/community/releases/openvpn-${pkgver}.tar.gz http://swupdate.openvpn.net/community/releases/openvpn-${pkgver}.tar.gz.asc + http://build.openvpn.net/downloads/releases/easy-rsa-2.2.0_master.tar.gz + http://build.openvpn.net/downloads/releases/easy-rsa-2.2.0_master.tar.gz.asc openvpn@.service - openvpn.rc - openvpn-tapdev.rc - openvpn-tapdev.conf) -md5sums=('c5181e27b7945fa6276d21873329c5c7' - '81ff11ec8cd9fc3c8bc646aae24c4298' - '44047df812a3fcd57a7e36a61732a9b9' - 'a3809b9727f0c2af2d0770f5c7442db2' - 'd2c48e970088d679dd3c2afd914ff731' - '722f483c9e3ce2ec66d3301aaf7cf3d5') + openvpn-2.3.0-fix-systemd-ask-password-path.patch) +md5sums=('56cffde5d5320e0b1ec364d3e486aca9' + '3f67e2fa605800a964dbbcfca644d283' + 'fbf818b6e1f212e77b9ce0e6d92584a1' + '46df49b85f9850fec287e311279bdbef' + '0846aa59d0b123d61030890f9a4135ae' + 'e1bd1523e38745e948c710db1a330bb1') +options=(!libtool) build() { cd $srcdir/$pkgname-$pkgver + patch -p0 -i $srcdir/openvpn-2.3.0-fix-systemd-ask-password-path.patch # Build openvpn CFLAGS="$CFLAGS -DPLUGIN_LIBDIR=\\\"/usr/lib/openvpn\\\"" ./configure \ --prefix=/usr \ --enable-password-save \ --mandir=/usr/share/man \ - --enable-iproute2 + --enable-iproute2 \ + --enable-systemd + make + # Build easy-rsa + cd $srcdir/easy-rsa-2.2.0_master + ./configure --prefix=/usr --with-easyrsadir=/usr/share/openvpn/easy-rsa make - - # Build plugins - for plug in auth-pam down-root; do - cd $srcdir/$pkgname-$pkgver/plugin/$plug - make - done } package() { @@ -49,27 +50,16 @@ package() { install -d -m755 $pkgdir/etc/openvpn # Install examples install -d -m755 $pkgdir/usr/share/openvpn - cp -r sample-config-files $pkgdir/usr/share/openvpn/examples - find $pkgdir/usr/share/openvpn -type f -exec chmod 644 {} \; - find $pkgdir/usr/share/openvpn -type d -exec chmod 755 {} \; + cp -r sample/sample-config-files $pkgdir/usr/share/openvpn/examples # Install license install -D -m644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING - # Install plugins - for plug in auth-pam down-root; do - cd $srcdir/$pkgname-$pkgver/plugin/$plug - install -D -m755 openvpn-$plug.so $pkgdir/usr/lib/openvpn/openvpn-$plug.so - cd - - done # Install contrib install -d -m755 $pkgdir/usr/share/openvpn/contrib cp -r contrib $pkgdir/usr/share/openvpn # Install easy-rsa - cd $srcdir/$pkgname-$pkgver - make -C easy-rsa/2.0 install DESTDIR=$pkgdir PREFIX=usr/share/openvpn/easy-rsa + cd $srcdir/easy-rsa-2.2.0_master + make install DESTDIR=$pkgdir rm -f ${pkgdir}/usr/share/openvpn/easy-rsa/openssl-0.9.?.cnf # Install rc scripts - install -D -m755 $srcdir/openvpn.rc $pkgdir/etc/rc.d/openvpn - install -D -m755 $srcdir/openvpn-tapdev.rc $pkgdir/etc/rc.d/openvpn-tapdev - install -D -m644 $srcdir/openvpn-tapdev.conf $pkgdir/etc/conf.d/openvpn-tapdev install -D -m644 $srcdir/openvpn@.service $pkgdir/usr/lib/systemd/system/openvpn@.service } diff --git a/core/openvpn/openvpn-2.3.0-fix-systemd-ask-password-path.patch b/core/openvpn/openvpn-2.3.0-fix-systemd-ask-password-path.patch new file mode 100644 index 000000000..77291727a --- /dev/null +++ b/core/openvpn/openvpn-2.3.0-fix-systemd-ask-password-path.patch @@ -0,0 +1,11 @@ +--- src/openvpn/console.c.orig 2013-01-30 09:42:57.480257300 +0100 ++++ src/openvpn/console.c 2013-01-30 09:43:07.446179811 +0100 +@@ -162,7 +162,7 @@ get_console_input_systemd (const char *p + struct argv argv; + + argv_init (&argv); +- argv_printf (&argv, "/bin/systemd-ask-password"); ++ argv_printf (&argv, "/usr/bin/systemd-ask-password"); + argv_printf_cat (&argv, "%s", prompt); + + if ((std_out = openvpn_popen (&argv, NULL)) < 0) { diff --git a/core/openvpn/openvpn@.service b/core/openvpn/openvpn@.service index c3de3bdf7..0b7232899 100644 --- a/core/openvpn/openvpn@.service +++ b/core/openvpn/openvpn@.service @@ -4,7 +4,7 @@ After=network.target [Service] Type=forking -ExecStart=/usr/sbin/openvpn --config /etc/openvpn/%i.conf --daemon openvpn@%i --cd /etc/openvpn +ExecStart=/usr/sbin/openvpn --cd /etc/openvpn --config /etc/openvpn/%i.conf --daemon openvpn@%i [Install] WantedBy=multi-user.target diff --git a/core/wpa_supplicant/PKGBUILD b/core/wpa_supplicant/PKGBUILD index c042742d2..b2732903b 100644 --- a/core/wpa_supplicant/PKGBUILD +++ b/core/wpa_supplicant/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 177060 2013-02-05 10:02:51Z thomas $ +# $Id: PKGBUILD 177955 2013-02-12 12:13:52Z thomas $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=wpa_supplicant pkgver=2.0 -pkgrel=1 +pkgrel=2 pkgdesc="A utility providing key negotiation for WPA wireless networks" url="http://hostap.epitest.fi/wpa_supplicant" arch=('i686' 'x86_64') |