diff options
63 files changed, 1785 insertions, 158 deletions
diff --git a/community/consonance/PKGBUILD b/community/consonance/PKGBUILD new file mode 100644 index 000000000..eb5159c90 --- /dev/null +++ b/community/consonance/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 76320 2012-09-15 20:11:01Z jsteel $ +# Maintainer: Jonathan Steel <mail at jsteel dot org> +# Contributor: Auguste Pop <auguste [at] gmail [dot] com> +# Contributor: boenki <boenki at gmx dot de> +# Contributor: sujith_m82 <m.sujith@gmail.com> + +pkgname=consonance +pkgver=0.5.1 +pkgrel=9 +pkgdesc="A lightweight GTK+ music manager that aims to be fast, bloat-free and light on memory consumption" +arch=('i686' 'x86_64') +url="http://sites.google.com/site/consonancemanager" +license=('GPL') +depends=('curl' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'libao' 'libcdio' + 'libmad' 'libmodplug' 'libnotify' 'libsndfile' 'sqlite3' 'taglib') +install=$pkgname.install +source=($url/releases-1/$pkgname-$pkgver.tar.gz + libnotify.patch) +md5sums=('2a195dd2314f7b65cc57cc871a4c5a47' + 'caa1e8b41723950fd926bfefccbbd8ac') + +build() { + cd "$srcdir"/$pkgname-$pkgver + + patch -Np1 -i "$srcdir"/libnotify.patch + + ./configure --prefix=/usr + + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + + make DESTDIR="$pkgdir" install +} diff --git a/community/consonance/consonance.install b/community/consonance/consonance.install new file mode 100644 index 000000000..f1474aee3 --- /dev/null +++ b/community/consonance/consonance.install @@ -0,0 +1,14 @@ +post_install() +{ + usr/bin/update-desktop-database -q +} + +post_upgrade() +{ + post_install +} + +post_remove() +{ + post_install +} diff --git a/community/consonance/libnotify.patch b/community/consonance/libnotify.patch new file mode 100644 index 000000000..f59acbfd9 --- /dev/null +++ b/community/consonance/libnotify.patch @@ -0,0 +1,18 @@ +diff --git a/src/statusicon.c b/src/statusicon.c +index f72e808..04efa58 100644 +--- a/src/statusicon.c ++++ b/src/statusicon.c +@@ -47,11 +47,10 @@ void show_osd(struct con_win *cwin) + + /* Create notification instance */ + +- osd = notify_notification_new_with_status_icon( ++ osd = notify_notification_new( + cwin->cstate->curr_mobj->tags->title, + (const gchar *)body, +- NULL, +- GTK_STATUS_ICON(cwin->status_icon)); ++ gtk_status_icon_get_icon_name(GTK_STATUS_ICON(cwin->status_icon))); + notify_notification_set_timeout(osd, OSD_TIMEOUT); + + /* Add album art if set */ diff --git a/community/dhex/PKGBUILD b/community/dhex/PKGBUILD new file mode 100644 index 000000000..d9c0213a3 --- /dev/null +++ b/community/dhex/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 76254 2012-09-15 09:07:29Z aginiewicz $ +# Maintainer: Andrzej Giniewicz <gginiu@gmail.com> + +pkgname=dhex +pkgver=0.68 +pkgrel=1 +pkgdesc="An ncurses-based hexeditor with a diff mode" +arch=('i686' 'x86_64') +url="http://www.dettus.net/dhex/" +license=('GPL') +depends=('ncurses') +source=("http://www.dettus.net/dhex/${pkgname}_${pkgver}.tar.gz") +md5sums=('5109b3d50053553e41d75c8e5c0a0175') + +build() { + cd "${srcdir}/${pkgname}_${pkgver}" + make +} + +package() { + cd "${srcdir}/${pkgname}_${pkgver}" + install -d "${pkgdir}"/usr/{bin,share} + install -d "${pkgdir}"/usr/man/man{1,5} + make DESTDIR="${pkgdir}/usr" install + mv "${pkgdir}/usr/man" "${pkgdir}/usr/share/man" +} + diff --git a/community/dvdbackup/PKGBUILD b/community/dvdbackup/PKGBUILD new file mode 100644 index 000000000..271c3344d --- /dev/null +++ b/community/dvdbackup/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 76304 2012-09-15 15:57:37Z jsteel $ +# Maintainer: Jonathan Steel <mail at jsteel dot org> +# Contributor: yugrotavele <yugrotavele at archlinux dot us> +# Contributor: Varun Acharya <varun@archlinux.org> +# Contributor: Nicolai Lissner <nlissne@linux01.gwdg.de> + +pkgname=dvdbackup +pkgver=0.4.2 +pkgrel=1 +pkgdesc="A tool to rip video DVDs from the command line" +arch=('i686' 'x86_64') +url="http://dvdbackup.sourceforge.net/" +license=('GPL') +depends=('libdvdread') +optdepends=('libdvdcss: to decrypt encrypted dvds') +source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.xz) +md5sums=('28f273b2f27a3afea3a3c965ddbede86') + +build() { + cd "$srcdir"/$pkgname-$pkgver + + ./configure --prefix=/usr + + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + + make DESTDIR="$pkgdir" install +} diff --git a/community/e-modules-extra-svn/PKGBUILD b/community/e-modules-extra-svn/PKGBUILD index af6c8219e..81e2b1807 100755 --- a/community/e-modules-extra-svn/PKGBUILD +++ b/community/e-modules-extra-svn/PKGBUILD @@ -2,7 +2,7 @@ # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=e-modules-extra-svn -pkgver=75192 +pkgver=76479 pkgrel=1 pkgdesc="Extra gadgets for e17" arch=('i686' 'x86_64') @@ -36,14 +36,13 @@ build() { cp -r $_svnmod $_svnmod-build cd $_svnmod-build - for i in alarm calendar comp-scale cpu diskio deskshow \ - empris engage everything-aspell everything-mpris \ - everything-pidgin everything-places everything-shotgun \ - everything-tracker everything-wallpaper everything-websearch \ - execwatch flame iiirk itask mail mem \ - moon mpdule net photo places quickaccess \ - rain slideshow snow taskbar winlist-ng \ - winselector; do + for i in alarm comp-scale cpu diskio deskshow eektool \ + eenvader.fractal empris engage everything-aspell \ + everything-mpris everything-pidgin everything-places \ + everything-shotgun everything-tracker everything-wallpaper \ + everything-websearch execwatch flame iiirk itask mail mem \ + moon mpdule net photo places rain slideshow snow taskbar \ + winlist-ng winselector; do cd $i ./autogen.sh --prefix=/usr @@ -55,14 +54,13 @@ done package() { cd $srcdir/$_svnmod-build - for i in alarm calendar comp-scale cpu diskio deskshow \ - empris engage everything-aspell everything-mpris \ - everything-pidgin everything-places everything-shotgun \ - everything-tracker everything-wallpaper everything-websearch \ - execwatch flame iiirk itask mail mem \ - moon mpdule net photo places quickaccess \ - rain slideshow snow taskbar winlist-ng \ - winselector; do + for i in alarm comp-scale cpu diskio deskshow eektool \ + eenvader.fractal empris engage everything-aspell \ + everything-mpris everything-pidgin everything-places \ + everything-shotgun everything-tracker everything-wallpaper \ + everything-websearch execwatch flame iiirk itask mail mem \ + moon mpdule net photo places rain slideshow snow taskbar \ + winlist-ng winselector; do cd $i make DESTDIR=$pkgdir install diff --git a/community/e-svn/PKGBUILD b/community/e-svn/PKGBUILD index e7e1f549b..e56382818 100755 --- a/community/e-svn/PKGBUILD +++ b/community/e-svn/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 75145 2012-08-14 09:52:54Z rvanharen $ +# $Id: PKGBUILD 76290 2012-09-15 10:13:42Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=e-svn -pkgver=75235 +pkgver=76686 pkgrel=1 pkgdesc="Enlightenment window manager DR17 (aka e17)" arch=('i686' 'x86_64') diff --git a/community/e_dbus-svn/PKGBUILD b/community/e_dbus-svn/PKGBUILD index 86ead8b4b..fd2f93b7a 100755 --- a/community/e_dbus-svn/PKGBUILD +++ b/community/e_dbus-svn/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 75143 2012-08-14 09:52:21Z rvanharen $ +# $Id: PKGBUILD 76288 2012-09-15 10:12:52Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=e_dbus-svn -pkgver=75202 +pkgver=76526 pkgrel=1 pkgdesc="dbus abstraction layer for e17" arch=('i686' 'x86_64') diff --git a/community/ecore-svn/PKGBUILD b/community/ecore-svn/PKGBUILD index b73325c5e..9512359b5 100755 --- a/community/ecore-svn/PKGBUILD +++ b/community/ecore-svn/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 75125 2012-08-14 09:47:15Z rvanharen $ +# $Id: PKGBUILD 76272 2012-09-15 10:07:18Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=ecore-svn -pkgver=75234 +pkgver=76638 pkgrel=1 pkgdesc="Ecore is an abstraction layer for e17" arch=('i686' 'x86_64') diff --git a/community/edje-svn/PKGBUILD b/community/edje-svn/PKGBUILD index 4964731af..4371c3fd6 100755 --- a/community/edje-svn/PKGBUILD +++ b/community/edje-svn/PKGBUILD @@ -1,16 +1,17 @@ -# $Id: PKGBUILD 75134 2012-08-14 09:50:05Z rvanharen $ +# $Id: PKGBUILD 76280 2012-09-15 10:10:05Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=edje-svn -pkgver=75185 +pkgver=76688 pkgrel=1 pkgdesc="A graphical design and layout library based on Evas" arch=('i686' 'x86_64') groups=('e17-libs-svn' 'e17-svn') url="http://www.enlightenment.org" license=('BSD') -depends=('ecore-svn' 'embryo-svn' 'python2' 'lua' 'shared-mime-info') +depends=('ecore-svn' 'embryo-svn' 'lua' 'shared-mime-info') +optdepends=('python2: inkscape2edc') makedepends=('svn') conflicts=('edje') provides=('edje') diff --git a/community/eet-svn/PKGBUILD b/community/eet-svn/PKGBUILD index c6094788c..d8ecd8f71 100755 --- a/community/eet-svn/PKGBUILD +++ b/community/eet-svn/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 75120 2012-08-14 09:45:53Z rvanharen $ +# $Id: PKGBUILD 76266 2012-09-15 10:04:51Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=eet-svn -pkgver=75190 +pkgver=75994 pkgrel=1 pkgdesc="A data storage and compression library" arch=('i686' 'x86_64') diff --git a/community/eeze-svn/PKGBUILD b/community/eeze-svn/PKGBUILD index bd796e077..f6508270c 100644 --- a/community/eeze-svn/PKGBUILD +++ b/community/eeze-svn/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 75130 2012-08-14 09:48:59Z rvanharen $ +# $Id: PKGBUILD 76276 2012-09-15 10:08:48Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> # Contributor: bluebugs pkgname=eeze-svn -pkgver=75095 +pkgver=75994 pkgrel=1 pkgdesc="A data storage and compression library" arch=('i686' 'x86_64') diff --git a/community/efreet-svn/PKGBUILD b/community/efreet-svn/PKGBUILD index eec885072..1a2a47955 100755 --- a/community/efreet-svn/PKGBUILD +++ b/community/efreet-svn/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 75141 2012-08-14 09:51:39Z rvanharen $ +# $Id: PKGBUILD 76286 2012-09-15 10:12:12Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=efreet-svn -pkgver=75107 +pkgver=75994 pkgrel=1 pkgdesc="freedesktop.org specifications for e17" arch=('i686' 'x86_64') diff --git a/community/eina-svn/PKGBUILD b/community/eina-svn/PKGBUILD index 1a4304165..fc44852de 100755 --- a/community/eina-svn/PKGBUILD +++ b/community/eina-svn/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 75118 2012-08-14 09:45:09Z rvanharen $ +# $Id: PKGBUILD 76264 2012-09-15 10:04:07Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=eina-svn -pkgver=75110 +pkgver=76685 pkgrel=1 pkgdesc="E17 file chunk reading/writing library" arch=('i686' 'x86_64') diff --git a/community/eio-svn/PKGBUILD b/community/eio-svn/PKGBUILD index 0a0b06cf8..d1d2ceb3f 100644 --- a/community/eio-svn/PKGBUILD +++ b/community/eio-svn/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 75128 2012-08-14 09:48:06Z rvanharen $ +# $Id: PKGBUILD 76274 2012-09-15 10:08:08Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> pkgname=eio-svn -pkgver=75111 +pkgver=76634 pkgrel=1 pkgdesc="Async IO library" arch=('i686' 'x86_64') diff --git a/community/elementary-svn/PKGBUILD b/community/elementary-svn/PKGBUILD index e15b840f1..a44492666 100644 --- a/community/elementary-svn/PKGBUILD +++ b/community/elementary-svn/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 75150 2012-08-14 09:56:14Z rvanharen $ +# $Id: PKGBUILD 76293 2012-09-15 10:19:50Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=elementary-svn -pkgver=75227 +pkgver=76673 pkgrel=1 pkgdesc="Enlightenment's basic widget set" arch=('i686' 'x86_64') diff --git a/community/embryo-svn/PKGBUILD b/community/embryo-svn/PKGBUILD index 4e0705a80..3634c459b 100755 --- a/community/embryo-svn/PKGBUILD +++ b/community/embryo-svn/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 75132 2012-08-14 09:49:39Z rvanharen $ +# $Id: PKGBUILD 76278 2012-09-15 10:09:27Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=embryo-svn -pkgver=75095 +pkgver=76491 pkgrel=1 pkgdesc="implementation of a C like scripting language for e17" arch=('i686' 'x86_64') diff --git a/community/emotion-svn/PKGBUILD b/community/emotion-svn/PKGBUILD index c9d82c17f..ead3edc5a 100644 --- a/community/emotion-svn/PKGBUILD +++ b/community/emotion-svn/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer: Ronald van Haren <ronald.archlinux.org> pkgname=emotion-svn -pkgver=75111 +pkgver=76438 pkgrel=1 pkgdesc="Library to easily integrate media playback into EFL applications" arch=('i686' 'x86_64') diff --git a/community/emprint-svn/PKGBUILD b/community/emprint-svn/PKGBUILD index b188c7381..364d058a0 100755 --- a/community/emprint-svn/PKGBUILD +++ b/community/emprint-svn/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 75148 2012-08-14 09:55:49Z rvanharen $ +# $Id: PKGBUILD 76291 2012-09-15 10:19:12Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> diff --git a/community/ethumb-svn/PKGBUILD b/community/ethumb-svn/PKGBUILD index 0f2a67fa5..ea455b16c 100644 --- a/community/ethumb-svn/PKGBUILD +++ b/community/ethumb-svn/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 75153 2012-08-14 09:58:33Z rvanharen $ +# $Id: PKGBUILD 76284 2012-09-15 10:11:32Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> pkgname=ethumb-svn -pkgver=75111 +pkgver=75994 pkgrel=1 pkgdesc="Thumbnailing library" arch=('i686' 'x86_64') diff --git a/community/evas-svn/PKGBUILD b/community/evas-svn/PKGBUILD index 983835cba..183a3e5ed 100755 --- a/community/evas-svn/PKGBUILD +++ b/community/evas-svn/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 75159 2012-08-14 10:07:10Z rvanharen $ +# $Id: PKGBUILD 76268 2012-09-15 10:05:31Z rvanharen $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=evas-svn -pkgver=75236 +pkgver=76645 pkgrel=1 pkgdesc="A hardware-accelerated canvas API for X-Windows" arch=('i686' 'x86_64') diff --git a/community/evas_generic_loaders-svn/PKGBUILD b/community/evas_generic_loaders-svn/PKGBUILD index 8ad8e7795..4bab0ac41 100644 --- a/community/evas_generic_loaders-svn/PKGBUILD +++ b/community/evas_generic_loaders-svn/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 75312 2012-08-19 08:00:14Z heftig $ +# $Id: PKGBUILD 76270 2012-09-15 10:06:38Z rvanharen $ # Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com> # Contributor: Ronald van Haren <ronald.archlinux.org> pkgname=evas_generic_loaders-svn -pkgver=75109 -pkgrel=2 +pkgver=75875 +pkgrel=1 pkgdesc="Additional generic loaders for Evas" arch=('i686' 'x86_64') groups=('e17-libs-svn' 'e17-svn') diff --git a/community/gsimplecal/PKGBUILD b/community/gsimplecal/PKGBUILD new file mode 100644 index 000000000..d469f7621 --- /dev/null +++ b/community/gsimplecal/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 76303 2012-09-15 15:56:51Z jsteel $ +# Maintainer: Jonathan Steel <mail at jsteel dot org> +# Contributor: DrZaius <lou at fakeoutdoorsman dot com> +# Contributor: Victor Feight <vrfeight3 at gmail dot com> + +pkgname=gsimplecal +pkgver=1.6 +pkgrel=1 +pkgdesc="Simple and lightweight GTK calendar" +arch=('i686' 'x86_64') +url="http://dmedvinsky.github.com/$pkgname" +license=('BSD') +depends=('gtk2') +source=(https://github.com/downloads/dmedvinsky/$pkgname/$pkgname-$pkgver.tar.gz) +md5sums=('05a596de37491e52b646a0c71ec14841') + +build() { + cd "$srcdir"/$pkgname-$pkgver + + ./configure --prefix=/usr + + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + + make DESTDIR="$pkgdir" install + + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} diff --git a/community/luaposix/PKGBUILD b/community/luaposix/PKGBUILD index c8fa3c49b..efacc8a9e 100644 --- a/community/luaposix/PKGBUILD +++ b/community/luaposix/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 76132 2012-09-11 21:50:55Z seblu $ +# $Id: PKGBUILD 76306 2012-09-15 16:58:16Z seblu $ # Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org> # Contributor: SpepS <dreamspepser at yahoo dot it> # Contributor: Laszlo Papp <djszapi at archlinux us> # Contributor: Donald Ephraim Curtis <dcurtis@gmail.com> pkgname=luaposix -pkgver=5.1.21 +pkgver=5.1.22 pkgrel=1 pkgdesc='A POSIX library for Lua programming language' arch=('i686' 'x86_64') @@ -15,7 +15,7 @@ depends=('lua' 'luabitop') #checkdepends=('lunit') options=('!libtool') source=("https://github.com/downloads/$pkgname/$pkgname/$pkgname-$pkgver.tar.gz") -md5sums=('7bc06747199f6bd2994ed5a7b2bdf089') +md5sums=('e5b30010b5cb32e596a15bc92faae3df') build() { cd $pkgname-$pkgver diff --git a/community/onboard/PKGBUILD b/community/onboard/PKGBUILD index f55da6bd6..ef038dab1 100644 --- a/community/onboard/PKGBUILD +++ b/community/onboard/PKGBUILD @@ -1,14 +1,14 @@ -# $Id: PKGBUILD 75934 2012-09-05 19:46:18Z bgyorgy $ +# $Id: PKGBUILD 76260 2012-09-15 09:38:36Z bgyorgy $ # Maintainer: Balló György <ballogyor+arch at gmail dot com> pkgname=onboard pkgver=0.98.0 -pkgrel=1 +pkgrel=2 pkgdesc="On-screen keyboard useful on tablet PCs or for mobility impaired users" arch=('i686' 'x86_64') url="https://launchpad.net/onboard" license=('GPL') -depends=('python-cairo' 'python-dbus' 'python-gobject' 'gtk3' 'python-virtkey' 'gsettings-desktop-schemas' 'desktop-file-utils' 'dconf' 'hicolor-icon-theme' 'xdg-utils') +depends=('python-dbus' 'python-gobject' 'gtk3' 'python-virtkey' 'librsvg' 'gsettings-desktop-schemas' 'desktop-file-utils' 'dconf' 'hicolor-icon-theme' 'xdg-utils') makedepends=('python-distutils-extra') optdepends=('at-spi2-atk: auto-show when editing text' 'mousetweaks: hover click with mouse') diff --git a/community/partclone/PKGBUILD b/community/partclone/PKGBUILD new file mode 100644 index 000000000..84832c36e --- /dev/null +++ b/community/partclone/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 76316 2012-09-15 19:44:12Z jsteel $ +# Maintainer: Jonathan Steel <mail at jsteel dot org> +# Contrinutor: Dan Serban +# Contributor: Franz Burgmann +# Contributor: Todd Partridge (Gen2ly) +# Contributor: Ivan Sichmann Freitas + +pkgname=partclone +pkgver=0.2.48 +pkgrel=4 +pkgdesc="Back up and restore used-blocks of a partition" +arch=('i686' 'x86_64') +url="http://partclone.org" +license=('GPL') +depends=('progsreiserfs' 'ntfs-3g') +conflicts=('partclone-testing' 'partclone-git') +source=(https://downloads.sourceforge.net/project/$pkgname/stable/$pkgver/${pkgname}_$pkgver.tar.gz) +md5sums=('c873588f26185d6ce8db7b4c5470aa00') + +build() { + cd "$srcdir"/$pkgname-$pkgver + + ./configure --prefix=/usr --enable-extfs --enable-reiserfs --enable-fat \ + --enable-hfsp --enable-btrfs --enable-ncursesw --enable-ntfs + + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + + make DESTDIR="$pkgdir" install +} + diff --git a/community/pidgin-facebookchat/PKGBUILD b/community/pidgin-facebookchat/PKGBUILD new file mode 100644 index 000000000..eeb33a871 --- /dev/null +++ b/community/pidgin-facebookchat/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 76314 2012-09-15 18:52:12Z jsteel $ +# Maintainer: Jonathan Steel <mail at jsteel dot org> +# Contributor: Gadget3000 <gadget3000 at msn dot com> +# Contributor: Jarek jarek@eden.rutgers.edu + +pkgname=pidgin-facebookchat +pkgver=1.69 +pkgrel=4 +pkgdesc="Facebook chat plugin for Pidgin and libpurple messengers" +url='http://code.google.com/p/pidgin-facebookchat' +license=('GPL3') +depends=('json-glib') +makedepends=('libpurple') +arch=('i686' 'x86_64') +source=(http://pidgin-facebookchat.googlecode.com/files/$pkgname-source-$pkgver.tar.bz2) +md5sums=('e6855197f9cb3fc6540039b6d42841f6') + +build() { + [ "$CARCH" = "x86_64" ] && _flag="LINUX64_COMPILER=$CARCH-unknown-linux-gnu-gcc" && _arch=64 + + cd "$srcdir"/$pkgname + + make $_flag libfacebook${_arch}.so +} + +package() { + [ "$CARCH" = "x86_64" ] && _arch=64 + + install -Dm755 "$srcdir"/$pkgname/libfacebook${_arch}.so "$pkgdir"/usr/lib/purple-2/libfacebook${_arch}.so +} diff --git a/community/python2-fonttools/PKGBUILD b/community/python2-fonttools/PKGBUILD new file mode 100644 index 000000000..ea307d2f5 --- /dev/null +++ b/community/python2-fonttools/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 76250 2012-09-15 08:59:17Z aginiewicz $ +# Maintainer: Andrzej Giniewicz <gginiu@gmail.com> +# Contributor: Firmicus <firmicus āt gmx dōt net> + +pkgname=python2-fonttools +pkgver=2.3 +pkgrel=1 +pkgdesc="Converts OpenType and TrueType fonts to and from XML" +url="http://sourceforge.net/projects/fonttools/" +license=("BSD") +arch=('i686' 'x86_64') +depends=("python2-numpy") +makedepends=("python2-distribute") +provides=('fonttools') # temporary compatibility because of rename +replaces=('fonttools') +source=(http://downloads.sourceforge.net/fonttools/fonttools-$pkgver.tar.gz) +md5sums=('502cdf6662e1d075f1902fbd995eaace') + +build() { + cd "$srcdir"/fonttools-$pkgver + + python2 setup.py build +} + +package() { + cd "$srcdir"/fonttools-$pkgver + + python2 setup.py install --root="$pkgdir" --optimize=1 + + install -D -m755 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + chmod oga+r "$pkgdir"/usr/share/man/man1/ttx.1 + sed -i -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \ + $(find "${pkgdir}" -name '*.py') +} + diff --git a/community/python2-numexpr/PKGBUILD b/community/python2-numexpr/PKGBUILD index 6ce7467e1..3c5a1630d 100644 --- a/community/python2-numexpr/PKGBUILD +++ b/community/python2-numexpr/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 76098 2012-09-11 10:07:07Z aginiewicz $ +# $Id: PKGBUILD 76243 2012-09-15 08:46:42Z aginiewicz $ # Maintainer: Andrzej Giniewicz <gginiu@gmail.com> # Contributor: Sebastien Binet <binet@lblbox> pkgname=python2-numexpr pkgver=2.0.1 -pkgrel=1 +pkgrel=2 pkgdesc="A JIT compiler for Python expressions" url="http://code.google.com/p/numexpr/" arch=('i686' 'x86_64') @@ -12,6 +12,7 @@ license=('MIT') depends=('python2-numpy') makedepends=('python2-distribute') provides=('python-numexpr') # temporary compatibility because of rename +replaces=('python-numexpr') # (there is no python 3 version yet) source=(http://numexpr.googlecode.com/files/numexpr-$pkgver.tar.gz) md5sums=('5cdc05c2ef8761daeae8a3182e468ba4') diff --git a/community/python2-pytables/PKGBUILD b/community/python2-pytables/PKGBUILD index 082ebc1ba..38eecfb91 100644 --- a/community/python2-pytables/PKGBUILD +++ b/community/python2-pytables/PKGBUILD @@ -1,16 +1,17 @@ -# $Id: PKGBUILD 76101 2012-09-11 10:23:14Z aginiewicz $ +# $Id: PKGBUILD 76245 2012-09-15 08:49:57Z aginiewicz $ # Maintainer: Andrzej Giniewicz <gginiu@gmail.com> # Contributor: Sebastien Binet <binet@cern.ch> pkgname=python2-pytables pkgver=2.4.0 -pkgrel=1 +pkgrel=2 arch=("i686" "x86_64") pkgdesc="PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data" url="http://www.pytables.org" license=("BSD") depends=('lzo2' 'hdf5' 'python2-numexpr' 'cython2') provides=('python-pytables') # temporary due to package rename +replaces=('python-pytables') # (there is no python 3 version yet) source=("http://pypi.python.org/packages/source/t/tables/tables-$pkgver.tar.gz") md5sums=('527ad046f92c9197ca96626b725f71f8') diff --git a/community/scratch/PKGBUILD b/community/scratch/PKGBUILD new file mode 100644 index 000000000..6d9d6baef --- /dev/null +++ b/community/scratch/PKGBUILD @@ -0,0 +1,39 @@ +# $Id: PKGBUILD 76325 2012-09-15 22:35:36Z jsteel $ +# Maintainer: Jonathan Steel <mail at jsteel dot org> +# Contributor: Muhammed Uluyol <muhammedu@gmail.com> + +pkgname=scratch +pkgver=1.4.0.7 +pkgrel=1 +pkgdesc="Create and share your own interactive stories, games, music and art" +arch=('i686' 'x86_64') +url="http://scratch.mit.edu" +license=('GPL2') +install=$pkgname.install +depends=('squeak-vm' 'shared-mime-info' 'hicolor-icon-theme' 'desktop-file-utils' 'pango') +source=(http://download.scratch.mit.edu/$pkgname-$pkgver.src.tar.gz) +md5sums=('f948e9e6de3ec9c7c7b4cc2a1975eb5a') + +build() { + cd "$srcdir"/$pkgname-$pkgver.src + + sed -i 's/-vm-sound-pulse/-vm-sound-ALSA/' src/$pkgname + + make build +} + +package() { + cd "$srcdir"/$pkgname-$pkgver.src + + install -Dm755 src/$pkgname "$pkgdir"/usr/bin/$pkgname + install -Dm644 Scratch.image "$pkgdir"/usr/lib/$pkgname/Scratch.image + install -m644 Scratch.ini "$pkgdir"/usr/lib/$pkgname/Scratch.ini + install -Dm644 src/$pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop + install -Dm644 src/man/$pkgname.1.gz "$pkgdir"/usr/share/man/man1/$pkgname.1.gz + install -Dm644 src/$pkgname.xml "$pkgdir"/usr/share/mime/packages/$pkgname.xml + install -dm755 "$pkgdir"/usr/share/{$pkgname,icons/hicolor} + + cp -rp Help locale Media Projects README "$pkgdir"/usr/share/$pkgname/ + cp -rp src/icons/* "$pkgdir"/usr/share/icons/hicolor/ + cp -rp Plugins "$pkgdir"/usr/lib/$pkgname/ +} diff --git a/community/scratch/scratch.install b/community/scratch/scratch.install new file mode 100644 index 000000000..f9a769d4e --- /dev/null +++ b/community/scratch/scratch.install @@ -0,0 +1,9 @@ +post_install() { + update-desktop-database 2>/dev/null + update-mime-database /usr/share/mime 2>/dev/null + gtk-update-icon-cache -qf /usr/share/icons/hicolor 2>/dev/null +} + +post_remove() { + post_install() +} diff --git a/community/squeak-vm/PKGBUILD b/community/squeak-vm/PKGBUILD new file mode 100644 index 000000000..58fba3e21 --- /dev/null +++ b/community/squeak-vm/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 76322 2012-09-15 22:08:09Z jsteel $ +# Maintainer: Jonathan Steel <mail at jsteel dot org> +# Contributor: Piero Sartini <piero@sartini.de> +# Contributor: Cilyan Olowen <gaknar@gmail.com> +# Contributor: knut +# Contributor: kxmd + +pkgname=squeak-vm +pkgver=4.10.2.2602 +pkgrel=1 +pkgdesc="A full-featured implementation of the Smalltalk programming language + and environment" +arch=('i686' 'x86_64') +url="http://squeakvm.org" +license=('custom:MIT' 'APACHE') +conflicts=('squeak') +provides=('squeak') +depends=('alsa-lib' 'dbus-core' 'libxrender' 'libgl' 'util-linux') +makedepends=('cmake' 'mesa') +optdepends=('speex: for ogg plugin' 'gstreamer0.10: for gstreamer plugin' + 'libpulse: for pulse plugin' 'squeak-image: for the full Squeak + environment') +source=(http://squeakvm.org/unix/release/Squeak-$pkgver-src.tar.gz) +md5sums=('23b48480581c5a1c1bccf12e93611faf') + +build() { + cd "$srcdir"/Squeak-$pkgver-src/ + + ./unix/cmake/configure --prefix=/usr --without-quartz --with-x \ + --enable-mpg-mmx + + make +} + +package() { + cd "$srcdir"/Squeak-$pkgver-src + + make DESTDIR="$pkgdir" install + + install -Dm644 "$srcdir"/Squeak-$pkgver-src/unix/doc/LICENSE \ + "$pkgdir"/usr/share/licenses/squeak-vm/LICENSE +} diff --git a/community/tor/PKGBUILD b/community/tor/PKGBUILD index f90d03b1a..2bda18183 100644 --- a/community/tor/PKGBUILD +++ b/community/tor/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 75652 2012-08-28 09:58:29Z lfleischer $ +# $Id: PKGBUILD 76252 2012-09-15 09:03:52Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: simo <simo@archlinux.org> pkgname=tor -pkgver=0.2.2.38 +pkgver=0.2.2.39 pkgrel=1 pkgdesc='Anonymizing overlay network.' arch=('i686' 'x86_64') @@ -21,8 +21,8 @@ source=("http://www.torproject.org/dist/${pkgname}-${pkgver}.tar.gz"{,.asc} 'tor' 'tor.conf.d' 'tor.service') -md5sums=('91a9dd2c9d7fbd946bda5a13edbe5667' - '3486e60baeebe27d5702dbd38fa39c9d' +md5sums=('9157a1f02fcda9d7d2c5744176373abd' + '7944de0693fccf65fe0e3ea6712887b6' '56c75d4e8a66f34167d31e38c43793dd' 'f8e6868a389877346e7eebaacd1078bb' '5c7c6834064b3530c442def6079ac3aa' diff --git a/community/uget/PKGBUILD b/community/uget/PKGBUILD index 9e975f8bb..0534df0bd 100644 --- a/community/uget/PKGBUILD +++ b/community/uget/PKGBUILD @@ -1,9 +1,10 @@ -# $Id: PKGBUILD 75928 2012-09-05 17:18:03Z bgyorgy $ +# $Id: PKGBUILD 76258 2012-09-15 09:29:53Z bgyorgy $ # Maintainer: Balló György <ballogyor+arch at gmail dot com> pkgname=uget pkgver=1.10 -pkgrel=1 +_pkgver=$pkgver-git.20120907 +pkgrel=2 pkgdesc="GTK+ download manager featuring download classification and HTML import" arch=('i686' 'x86_64') url="http://urlget.sourceforge.net/" @@ -12,8 +13,8 @@ depends=('libnotify' 'gtk3' 'gstreamer0.10' 'curl' 'hicolor-icon-theme' 'xdg-uti makedepends=('intltool') optdepends=('aria2: alternative backend') install=$pkgname.install -source=(http://downloads.sourceforge.net/urlget/$pkgname-$pkgver-2.tar.gz) -md5sums=('cf6f58b838321f97aa9f3c0b0b0315cf') +source=(http://downloads.sourceforge.net/urlget/$pkgname-$_pkgver.tar.gz) +md5sums=('6e3ada8f4edd7e841639e57d352d9d89') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/unionfs-fuse/PKGBUILD b/community/unionfs-fuse/PKGBUILD new file mode 100644 index 000000000..e75504ae0 --- /dev/null +++ b/community/unionfs-fuse/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 76241 2012-09-15 08:29:07Z aginiewicz $ +# Maintainer: Andrzej Giniewicz <gginiu@gmail.com> +# Contributor: Smith Dhumbumroong <zodmaner at gmail dot com> + +pkgname=unionfs-fuse +pkgver=0.26 +pkgrel=1 +pkgdesc="A user space unionfs implementation" +arch=('i686' 'x86_64') +url="http://podgorny.cz/moin/UnionFsFuse" +license=('BSD') +depends=('fuse') +source=(http://podgorny.cz/unionfs-fuse/releases/$pkgname-$pkgver.tar.xz) +md5sums=('689c636484756f6f7a728ef354cbeac2') + +build() { + cd "$srcdir"/$pkgname-$pkgver + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir" PREFIX=/usr install + install -Dm644 "$srcdir"/$pkgname-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} + diff --git a/core/make/PKGBUILD b/core/make/PKGBUILD index 3f38c53f3..8a3be4a9b 100644 --- a/core/make/PKGBUILD +++ b/core/make/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 138005 2011-09-14 05:05:13Z allan $ +# $Id: PKGBUILD 166683 2012-09-15 15:22:53Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgname=make pkgver=3.82 -pkgrel=4 +pkgrel=5 pkgdesc="GNU make utility to maintain groups of programs" arch=('i686' 'x86_64') url="http://www.gnu.org/software/make" @@ -12,34 +12,44 @@ license=('GPL3') groups=('base-devel') depends=('glibc' 'sh') install=$pkgname.install -source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.bz2 - bug30612.patch - bug30723.patch +source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig} + make-3.82-bug30612.patch + make-3.82-bug30723.patch make-3.82-sort-blank.patch - make-3.82-makeflags.patch) + make-3.82-makeflags.patch + make-3.82-expensive_glob.patch + make-3.82-dont-prune-intermediate.patch) md5sums=('1a11100f3c63fcf5753818e59d63088f' + 'c78daf24f4ec5900c8f81e89a6e1cd5a' 'c8f496b22191f9fb9420ab14c1a19a47' '662e6450e19a5acdaa5c9fcb8ad78dea' '7d01a99f389d8f08dec93ed479071ee4' - 'bc12ad4d0c6e6c0e72d9fb61054f446b') + 'bc12ad4d0c6e6c0e72d9fb61054f446b' + 'e58d4211c5b29d7d927a304d082849e7' + '45ac9e987f4bf16c0d7e1685db943917') build() { cd ${srcdir}/${pkgname}-${pkgver} # http://savannah.gnu.org/bugs/?30612 - patch -Np1 -i $srcdir/bug30612.patch + patch -Np1 -i $srcdir/make-3.82-bug30612.patch # http://savannah.gnu.org/bugs/?30723 - patch -Np1 -i $srcdir/bug30723.patch + patch -Np1 -i $srcdir/make-3.82-bug30723.patch # https://bugs.archlinux.org/task/22733 (fix from Fedora) patch -Np1 -i $srcdir/make-3.82-sort-blank.patch - # https://savannah.gnu.org/support/index.php?107487 # https://savannah.gnu.org/bugs/?33873 patch -Np0 -i $srcdir/make-3.82-makeflags.patch + # http://lists.gnu.org/archive/html/bug-make/2011-04/msg00002.html + patch -Np0 -i $srcdir/make-3.82-expensive_glob.patch + + # https://savannah.gnu.org/bugs/?30653 + patch -Np0 -i $srcdir/make-3.82-dont-prune-intermediate.patch + ./configure --prefix=/usr make } diff --git a/core/make/make-3.82-bug30612.patch b/core/make/make-3.82-bug30612.patch new file mode 100644 index 000000000..fb843bcd9 --- /dev/null +++ b/core/make/make-3.82-bug30612.patch @@ -0,0 +1,66 @@ +diff -Naur make-3.82-orig/main.c make-3.82-fix30612//main.c +--- make-3.82-orig/main.c 2010-07-19 17:10:53.000000000 +1000 ++++ make-3.82-fix30612//main.c 2010-09-23 23:33:37.908855839 +1000 +@@ -1,3 +1,4 @@ ++ + /* Argument parsing and main program of GNU Make. + Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, + 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, +@@ -1138,7 +1139,7 @@ + a macro and some compilers (MSVC) don't like conditionals in macros. */ + { + const char *features = "target-specific order-only second-expansion" +- " else-if shortest-stem undefine" ++ " else-if shortest-stem undefine oneshell" + #ifndef NO_ARCHIVES + " archives" + #endif +diff -Naur make-3.82-orig/read.c make-3.82-fix30612//read.c +--- make-3.82-orig/read.c 2010-07-13 11:20:42.000000000 +1000 ++++ make-3.82-fix30612//read.c 2010-09-23 23:30:58.018855839 +1000 +@@ -3028,7 +3028,7 @@ + { + /* This looks like the first element in an open archive group. + A valid group MUST have ')' as the last character. */ +- const char *e = p + nlen; ++ const char *e = p; + do + { + e = next_token (e); +@@ -3084,19 +3084,19 @@ + Go to the next item in the string. */ + if (flags & PARSEFS_NOGLOB) + { +- NEWELT (concat (2, prefix, tp)); ++ NEWELT (concat (2, prefix, tmpbuf)); + continue; + } + + /* If we get here we know we're doing glob expansion. + TP is a string in tmpbuf. NLEN is no longer used. + We may need to do more work: after this NAME will be set. */ +- name = tp; ++ name = tmpbuf; + + /* Expand tilde if applicable. */ +- if (tp[0] == '~') ++ if (tmpbuf[0] == '~') + { +- tildep = tilde_expand (tp); ++ tildep = tilde_expand (tmpbuf); + if (tildep != 0) + name = tildep; + } +@@ -3152,7 +3152,11 @@ + else + { + /* We got a chain of items. Attach them. */ +- (*newp)->next = found; ++ if (*newp) ++ (*newp)->next = found; ++ else ++ *newp = found; ++ + + /* Find and set the new end. Massage names if necessary. */ + while (1) diff --git a/core/make/make-3.82-bug30723.patch b/core/make/make-3.82-bug30723.patch new file mode 100644 index 000000000..84e7ebe7a --- /dev/null +++ b/core/make/make-3.82-bug30723.patch @@ -0,0 +1,12 @@ +diff -Naur make-3.82-orig/main.c make-3.82-fix30723//main.c +--- make-3.82-orig/main.c 2010-07-19 17:10:53.000000000 +1000 ++++ make-3.82-fix30723//main.c 2010-09-23 23:34:10.932188592 +1000 +@@ -2093,7 +2093,7 @@ + const char *pv = define_makeflags (1, 1); + char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1); + sprintf (p, "MAKEFLAGS=%s", pv); +- putenv (p); ++ putenv (allocated_variable_expand (p)); + } + + if (ISDB (DB_BASIC)) diff --git a/core/make/make-3.82-dont-prune-intermediate.patch b/core/make/make-3.82-dont-prune-intermediate.patch new file mode 100644 index 000000000..f4f47dd27 --- /dev/null +++ b/core/make/make-3.82-dont-prune-intermediate.patch @@ -0,0 +1,57 @@ +2012-09-09 Paul Smith <psmith@gnu.org> + + * remake.c (update_file_1): Force intermediate files to be + considered, not pruned, if their non-intermediate parent needs to + be remade. Fixes Savannah bug #30653. + +Index: remake.c +=================================================================== +RCS file: /sources/make/make/remake.c,v +retrieving revision 1.153 +retrieving revision 1.154 +diff -u -r1.153 -r1.154 +--- remake.c 5 Mar 2012 14:10:45 -0000 1.153 ++++ remake.c 10 Sep 2012 02:36:05 -0000 1.154 +@@ -612,6 +612,10 @@ + d->file->dontcare = file->dontcare; + } + ++ /* We may have already considered this file, when we didn't know ++ we'd need to update it. Force update_file() to consider it and ++ not prune it. */ ++ d->file->considered = !considered; + + dep_status |= update_file (d->file, depth); + +Index: tests/scripts/features/parallelism +=================================================================== +RCS file: /sources/make/make/tests/scripts/features/parallelism,v +retrieving revision 1.19 +retrieving revision 1.20 +diff -u -r1.19 -r1.20 +--- tests/scripts/features/parallelism 4 Mar 2012 00:24:32 -0000 1.19 ++++ tests/scripts/features/parallelism 10 Sep 2012 02:36:05 -0000 1.20 +@@ -214,6 +214,23 @@ + rmfiles(qw(foo.y foo.y.in main.bar)); + } + ++# Ensure intermediate/secondary files are not pruned incorrectly. ++# See Savannah bug #30653 ++ ++utouch(-15, 'file2'); ++utouch(-10, 'file4'); ++utouch(-5, 'file1'); ++ ++run_make_test(q! ++.INTERMEDIATE: file3 ++file4: file3 ; @mv -f $< $@ ++file3: file2 ; touch $@ ++file2: file1 ; @touch $@ ++!, ++ '--no-print-directory -j2', "touch file3"); ++ ++#rmfiles('file1', 'file2', 'file3', 'file4'); ++ + if ($all_tests) { + # Jobserver FD handling is messed up in some way. + # Savannah bug #28189 diff --git a/core/make/make-3.82-expensive_glob.patch b/core/make/make-3.82-expensive_glob.patch new file mode 100644 index 000000000..8663f5039 --- /dev/null +++ b/core/make/make-3.82-expensive_glob.patch @@ -0,0 +1,116 @@ +Index: read.c +=================================================================== +RCS file: /sources/make/make/read.c,v +retrieving revision 1.198 +retrieving revision 1.200 +diff -u -r1.198 -r1.200 +--- read.c 29 Apr 2011 15:27:39 -0000 1.198 ++++ read.c 7 May 2011 14:36:12 -0000 1.200 +@@ -2901,6 +2901,7 @@ + const char *name; + const char **nlist = 0; + char *tildep = 0; ++ int globme = 1; + #ifndef NO_ARCHIVES + char *arname = 0; + char *memname = 0; +@@ -3109,32 +3110,40 @@ + } + #endif /* !NO_ARCHIVES */ + +- switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl)) +- { +- case GLOB_NOSPACE: +- fatal (NILF, _("virtual memory exhausted")); +- +- case 0: +- /* Success. */ +- i = gl.gl_pathc; +- nlist = (const char **)gl.gl_pathv; +- break; +- +- case GLOB_NOMATCH: +- /* If we want only existing items, skip this one. */ +- if (flags & PARSEFS_EXISTS) +- { +- i = 0; +- break; +- } +- /* FALLTHROUGH */ +- +- default: +- /* By default keep this name. */ ++ /* glob() is expensive: don't call it unless we need to. */ ++ if (!(flags & PARSEFS_EXISTS) && strpbrk (name, "?*[") == NULL) ++ { ++ globme = 0; + i = 1; + nlist = &name; +- break; +- } ++ } ++ else ++ switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl)) ++ { ++ case GLOB_NOSPACE: ++ fatal (NILF, _("virtual memory exhausted")); ++ ++ case 0: ++ /* Success. */ ++ i = gl.gl_pathc; ++ nlist = (const char **)gl.gl_pathv; ++ break; ++ ++ case GLOB_NOMATCH: ++ /* If we want only existing items, skip this one. */ ++ if (flags & PARSEFS_EXISTS) ++ { ++ i = 0; ++ break; ++ } ++ /* FALLTHROUGH */ ++ ++ default: ++ /* By default keep this name. */ ++ i = 1; ++ nlist = &name; ++ break; ++ } + + /* For each matched element, add it to the list. */ + while (i-- > 0) +@@ -3174,7 +3183,8 @@ + #endif /* !NO_ARCHIVES */ + NEWELT (concat (2, prefix, nlist[i])); + +- globfree (&gl); ++ if (globme) ++ globfree (&gl); + + #ifndef NO_ARCHIVES + if (arname) +Index: tests/scripts/functions/wildcard +=================================================================== +RCS file: /sources/make/make/tests/scripts/functions/wildcard,v +retrieving revision 1.6 +retrieving revision 1.7 +diff -u -r1.6 -r1.7 +--- tests/scripts/functions/wildcard 13 Jun 2009 21:21:49 -0000 1.6 ++++ tests/scripts/functions/wildcard 7 May 2011 14:36:11 -0000 1.7 +@@ -88,4 +88,16 @@ + !, + '', "\n"); + ++# TEST #5: wildcard used to verify file existence ++ ++touch('xxx.yyy'); ++ ++run_make_test(q!exists: ; @echo file=$(wildcard xxx.yyy)!, ++ '', "file=xxx.yyy\n"); ++ ++unlink('xxx.yyy'); ++ ++run_make_test(q!exists: ; @echo file=$(wildcard xxx.yyy)!, ++ '', "file=\n"); ++ + 1; diff --git a/core/make/make.install b/core/make/make.install index 6cf8b0dc4..84260853c 100644 --- a/core/make/make.install +++ b/core/make/make.install @@ -2,7 +2,7 @@ infodir=usr/share/info filelist=(make.info make.info-1 make.info-2) post_install() { - [ -x usr/bin/install-info ] || return 0 + [[ -x usr/bin/install-info ]] || return 0 for file in ${filelist[@]}; do install-info $infodir/$file.gz $infodir/dir 2> /dev/null done @@ -13,7 +13,7 @@ post_upgrade() { } pre_remove() { - [ -x usr/bin/install-info ] || return 0 + [[ -x usr/bin/install-info ]] || return 0 for file in ${filelist[@]}; do install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null done diff --git a/core/sudo/PKGBUILD b/core/sudo/PKGBUILD index 943b05786..fb4bbfa10 100644 --- a/core/sudo/PKGBUILD +++ b/core/sudo/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 166192 2012-09-05 13:26:53Z foutrelis $ +# $Id: PKGBUILD 166682 2012-09-15 15:19:17Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=sudo -_sudover=1.8.6 +_sudover=1.8.6p1 pkgver=${_sudover/p/.p} pkgrel=1 pkgdesc="Give certain users the ability to run some commands as root" @@ -16,7 +16,7 @@ backup=('etc/sudoers' 'etc/pam.d/sudo') options=('!libtool') source=(http://www.sudo.ws/sudo/dist/$pkgname-$_sudover.tar.gz sudo.pam) -sha256sums=('93c4481ae5261ca0e988d069179fef40032729b94a110ceb2a3e92ca7842d2d3' +sha256sums=('70d6a3ceb6168c879a80a5fa03cdd06178b95d0ecb6bf87aa0bc7c159da944cc' 'e7de79d2c73f2b32b20a8e797e54777a2bf19788ec03e48decd6c15cd93718ae') build() { diff --git a/extra/hunspell/PKGBUILD b/extra/hunspell/PKGBUILD index fefa04db4..a4b178a7e 100644 --- a/extra/hunspell/PKGBUILD +++ b/extra/hunspell/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 125861 2011-05-30 15:55:43Z andyrtr $ +# $Id: PKGBUILD 166664 2012-09-15 07:49:23Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Hussam Al-Tayeb <ht990332@gmail.com> pkgname=hunspell pkgver=1.3.2 -pkgrel=1 +pkgrel=2 pkgdesc="Spell checker and morphological analyzer library and program" arch=('i686' 'x86_64') url="http://hunspell.sourceforge.net/" @@ -25,4 +25,9 @@ build() { package() { cd "$srcdir/hunspell-$pkgver" make DESTDIR="$pkgdir" install + + # add generic hunspell.so for development and projects not using pkgconfig flags - FS#30592 + pushd $pkgdir/usr/lib + ln -s libhunspell-?.?.so libhunspell.so + popd } diff --git a/extra/java7-openjdk/PKGBUILD b/extra/java7-openjdk/PKGBUILD index 4ec38ec74..0e9746d8b 100644 --- a/extra/java7-openjdk/PKGBUILD +++ b/extra/java7-openjdk/PKGBUILD @@ -1,21 +1,18 @@ -# $Id: PKGBUILD 165850 2012-09-01 14:16:05Z guillaume $ +# $Id: PKGBUILD 166669 2012-09-15 09:10:55Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> -# Contributor: Jan de Groot <jgc@archlinux.org> # Maintainer: Guillaume ALAUX <guillaume@archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> pkgname=('jre7-openjdk-headless' 'jre7-openjdk' 'jdk7-openjdk' 'openjdk7-src') # ToDo -demo -doc packages, see Debian file lists http://packages.debian.org/source/wheezy/openjdk-7 pkgbase=java7-openjdk _java_ver=7 _updatever=u7 -_openjdk_build=b147 -_openjdk_date=27_jun_2011 _icedtea_ver=2.3.2 -_date=20110922 # check "${srcdir}/icedtea7"/Makefile.am _CORBA_CHANGESET=7fae6a3a68c7 -_HOTSPOT_CHANGESET=ea39d76b3bde +_HOTSPOT_CHANGESET=ea39d76b3bde # see "${srcdir}/icedtea7"/hotspot.map _JAXP_CHANGESET=ee4bd94136ec _JAXWS_CHANGESET=c89c6ac953e7 _JDK_CHANGESET=f78eb7e08ee1 @@ -25,18 +22,16 @@ _OPENJDK_CHANGESET=acba2d30209d _bootstrap=0 # 0/1 for quick build or full bootstrap pkgver=${_java_ver}.${_updatever}_${_icedtea_ver} -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url="http://icedtea.classpath.org" license=('custom') options=('!emptydirs') -makedepends=('jdk7-openjdk' 'libxp' 'libxslt' 'wget' +makedepends=('jdk7-openjdk' 'libxp' 'libxslt' 'alsa-lib' 'apache-ant>=1.8.1' 'giflib' 'libpng>=1.5.7' 'gtk2' - 'java-rhino' 'libpulse>=0.9.11' 'zip' 'unzip' 'cpio' 'fastjar') # 'inetutils' 'grep') # fastjar`? + 'java-rhino' 'libpulse>=0.9.11' 'zip' 'unzip' 'cpio' 'fastjar' 'wget') [ "$_bootstrap" = "1" ] && makedepends=(${makedepends[@]} 'eclipse-ecj') -#http://www.java.net/download/openjdk/jdk${_java_ver}/promoted/${_openjdk_build}/openjdk-${_java_ver}-fcs-src-${_openjdk_build}-${_openjdk_date}.zip - _url=http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3 source=(http://icedtea.classpath.org/download/source/icedtea-${_icedtea_ver}.tar.gz{,.sig} ${_url}/archive/${_OPENJDK_CHANGESET}.tar.gz # openjdk.tar.gz @@ -93,8 +88,6 @@ build() { # default is to build with first found java-environment found in our repos - is jdk7-openjdk [ -f /etc/profile.d/jdk.sh ] && . /etc/profile.d/jdk.sh -# unset MAKEFLAGS # parallel build is currently broken - export ALT_PARALLEL_COMPILE_JOBS="${MAKEFLAGS/-j}" export HOTSPOT_BUILD_JOBS="${ALT_PARALLEL_COMPILE_JOBS}" @@ -113,6 +106,7 @@ build() { $BOOTSTRAPOPT \ --with-parallel-jobs="${MAKEFLAGS/-j}" \ --disable-tests \ + --disable-downloading --disable-Werror \ --with-pkgversion="ArchLinux build ${pkgver}-${pkgrel}-${CARCH}" \ --with-jdk-home=${JAVA_HOME} \ --with-openjdk-src-zip=${srcdir}/${_OPENJDK_CHANGESET}.tar.gz \ @@ -126,9 +120,6 @@ build() { --enable-nss \ --with-rhino \ --with-abs-install-dir=${_jvmdir} - #--help - #--enable-systemtap Enable inclusion of SystemTap trace support - needs systemtab from AUR - make } @@ -139,8 +130,7 @@ check() { package_jre7-openjdk-headless() { pkgdesc="Free Java environment based on OpenJDK 7.0 with IcedTea7 replacing binary plugs - Minimal Java runtime - needed for executing non GUI Java programs" - depends=('libjpeg-turbo' 'lcms2' 'nss' - 'ca-certificates-java' 'java-rhino') + depends=('libjpeg-turbo' 'lcms2' 'nss' 'ca-certificates-java') optdepends=('libcups: needed for Java Mauve support - libmawt.so' 'fontconfig: needed for Java Mauve support - libmawt.so') provides=('java-runtime-headless=7') diff --git a/extra/java7-openjdk/jre7-openjdk-headless.install b/extra/java7-openjdk/jre7-openjdk-headless.install index 45f52fe32..0787545b9 100644 --- a/extra/java7-openjdk/jre7-openjdk-headless.install +++ b/extra/java7-openjdk/jre7-openjdk-headless.install @@ -9,7 +9,3 @@ post_upgrade() { /usr/sbin/init-jks-keystore fi } - -#post_remove() { -# -#} diff --git a/extra/lcms2/PKGBUILD b/extra/lcms2/PKGBUILD index e60188213..c21ec1994 100644 --- a/extra/lcms2/PKGBUILD +++ b/extra/lcms2/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 148812 2012-02-05 11:51:30Z ibiru $ +# $Id: PKGBUILD 166698 2012-09-15 23:58:57Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> # Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com> pkgname=lcms2 -pkgver=2.3 -pkgrel=2 +pkgver=2.4 +pkgrel=1 pkgdesc="Small-footprint color management engine, version 2" arch=('i686' 'x86_64') license=('MIT') @@ -12,7 +12,7 @@ depends=('libtiff') url="http://www.littlecms.com" options=('!libtool') source=(http://downloads.sourceforge.net/sourceforge/lcms/${pkgname}-${pkgver}.tar.gz) -sha1sums=('67d5fabda2f5777ca8387766539b9c871d993133') +sha1sums=('9944902864283af49e4e21a1ca456db4e04ea7c2') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -20,6 +20,11 @@ build() { make } +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + package() { cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install diff --git a/extra/live-media/PKGBUILD b/extra/live-media/PKGBUILD index ff03a1326..709eb00c7 100644 --- a/extra/live-media/PKGBUILD +++ b/extra/live-media/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 166619 2012-09-13 09:11:48Z giovanni $ +# $Id: PKGBUILD 166690 2012-09-15 17:24:11Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Gilles CHAUVIN <gcnweb@gmail.com> pkgname=live-media -pkgver=2012.09.12 +pkgver=2012.09.13 pkgrel=1 pkgdesc="A set of C++ libraries for multimedia streaming" arch=('i686' 'x86_64') @@ -11,7 +11,7 @@ license=('LGPL') url="http://live555.com/liveMedia" depends=('gcc-libs') source=("http://live555.com/liveMedia/public/live.${pkgver}.tar.gz") -md5sums=('88ceec23abb1df597e333945e95120fd') +md5sums=('33ffc8df7f07a6db0e923d73dfdc0547') build() { cd ${srcdir}/live diff --git a/extra/vim/PKGBUILD b/extra/vim/PKGBUILD index e55352c56..f5a047404 100644 --- a/extra/vim/PKGBUILD +++ b/extra/vim/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 166321 2012-09-06 07:34:07Z tdziedzic $ +# $Id: PKGBUILD 166660 2012-09-15 04:03:40Z tdziedzic $ # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> # Maintainer: tobias [ tobias at archlinux org ] # Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> @@ -6,8 +6,8 @@ pkgbase=vim pkgname=('vim' 'gvim' 'vim-runtime') _topver=7.3 -_patchlevel=659 -__hgrev=1052677493be +_patchlevel=661 +__hgrev=5884d056e1d1 _versiondir="vim${_topver//./}" pkgver=${_topver}.${_patchlevel} pkgrel=1 @@ -21,8 +21,8 @@ source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz" 'vimrc' 'archlinux.vim' 'gvim.desktop') -sha1sums=('5f9bc51f6935368edda0aab6251d2c5cd5350acd' - 'cb2b2c50a9582e27fe71ac77fc9191122adf0a44' +sha1sums=('989e907fe9858647e762bddc927f656a03fb5226' + '195c7fc5163fca966ea331d8160bf2d307c1533c' '4d9dcfb32874aa5467e6f06e418aeb4e675daaf2' '3494baf53a63581ba69f86a81293640ff681c5c5' '25dd3c2ce436e73a367c8f73b68f7f6889682437' @@ -55,12 +55,6 @@ mksource() { } build() { - # remove -O2 because there is a crash with python because of it - # fedora br: https://bugzilla.redhat.com/show_bug.cgi?id=817196 - #export CFLAGS="${CFLAGS/-O2 /}" - - #cd "${srcdir}" - cp -a ${pkgname}-${pkgver} vim-build # define the place for the global (g)vimrc file (set to /etc/vimrc) diff --git a/gnome-unstable/polkit/PKGBUILD b/gnome-unstable/polkit/PKGBUILD index fc3d4d3ba..08a25c91b 100644 --- a/gnome-unstable/polkit/PKGBUILD +++ b/gnome-unstable/polkit/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 166359 2012-09-06 21:43:48Z jgc $ +# $Id: PKGBUILD 166703 2012-09-16 00:14:29Z heftig $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=polkit pkgver=0.107 -pkgrel=1 +pkgrel=3 pkgdesc="Application development toolkit for controlling system-wide privileges" arch=(i686 x86_64) license=('LGPL') diff --git a/multilib/lib32-sdl/PKGBUILD b/multilib/lib32-sdl/PKGBUILD index f226f79d3..41cb29714 100644 --- a/multilib/lib32-sdl/PKGBUILD +++ b/multilib/lib32-sdl/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 75857 2012-09-03 16:41:16Z heftig $ +# $Id: PKGBUILD 76262 2012-09-15 09:41:41Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: dorphell <dorphell@archlinux.org> @@ -6,22 +6,26 @@ _pkgbasename=sdl pkgname=lib32-$_pkgbasename pkgver=1.2.15 -pkgrel=2.1 +pkgrel=3 pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (32-bit)" arch=('x86_64') url="http://www.libsdl.org" license=('LGPL') depends=('lib32-libxext' 'lib32-libxrender' 'lib32-libx11' $_pkgbasename) makedepends=('lib32-alsa-lib' 'lib32-mesa' 'lib32-libpulse' gcc-multilib) +optdepends=('lib32-alsa-lib: ALSA audio driver' + 'lib32-libpulse: PulseAudio audio driver') options=('!libtool') source=(http://www.libsdl.org/release/SDL-${pkgver}.tar.gz sdl-1.2.14-fix-mouse-clicking.patch sdl-1.2.14-disable-mmx.patch - fix_joystick_misc_axes.diff) + fix_joystick_misc_axes.diff + libsdl-1.2.15-resizing.patch) md5sums=('9d96df8417572a2afb781a7c4c811a85' '04d8c179f125e04bcd4c9d60e013c2d7' 'e5c16b7611f62c7cb25f0534eff68852' - '687586a108b597a2a6b73070c1d37e51') + '687586a108b597a2a6b73070c1d37e51' + '3dd50347d8856160a9cbd7f80383a1f8') build() { export CC="gcc -m32" @@ -32,6 +36,7 @@ build() { patch -Np1 -i ../sdl-1.2.14-fix-mouse-clicking.patch patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch patch -Np1 -i ../fix_joystick_misc_axes.diff + patch -Np1 -i ../libsdl-1.2.15-resizing.patch ./configure --prefix=/usr --disable-nasm --enable-alsa \ --with-x --disable-rpath --disable-static --libdir=/usr/lib32 make diff --git a/multilib/lib32-sdl/libsdl-1.2.15-resizing.patch b/multilib/lib32-sdl/libsdl-1.2.15-resizing.patch new file mode 100644 index 000000000..0655a13e1 --- /dev/null +++ b/multilib/lib32-sdl/libsdl-1.2.15-resizing.patch @@ -0,0 +1,63 @@ +Description: Revert change that breaks window corner resizing + http://bugzilla.libsdl.org/show_bug.cgi?id=1430 +Author: Andrew Caudwell <acaudwell@gmail.com> +Last-Update: 2012-04-10 +Bug-Debian: http://bugs.debian.org/665779 + +diff -r c787fb1b5699 src/video/x11/SDL_x11events.c +--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300 +@@ -57,12 +57,6 @@ + static SDLKey MISC_keymap[256]; + SDLKey X11_TranslateKeycode(Display *display, KeyCode kc); + +-/* +- Pending resize target for ConfigureNotify (so outdated events don't +- cause inappropriate resize events) +-*/ +-int X11_PendingConfigureNotifyWidth = -1; +-int X11_PendingConfigureNotifyHeight = -1; + + #ifdef X_HAVE_UTF8_STRING + Uint32 Utf8ToUcs4(const Uint8 *utf8) +@@ -825,16 +819,6 @@ + #ifdef DEBUG_XEVENTS + printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height); + #endif +- if ((X11_PendingConfigureNotifyWidth != -1) && +- (X11_PendingConfigureNotifyHeight != -1)) { +- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) && +- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) { +- /* Event is from before the resize, so ignore. */ +- break; +- } +- X11_PendingConfigureNotifyWidth = -1; +- X11_PendingConfigureNotifyHeight = -1; +- } + if ( SDL_VideoSurface ) { + if ((xevent.xconfigure.width != SDL_VideoSurface->w) || + (xevent.xconfigure.height != SDL_VideoSurface->h)) { +diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h +--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300 +@@ -27,8 +27,3 @@ + extern void X11_InitOSKeymap(_THIS); + extern void X11_PumpEvents(_THIS); + extern void X11_SetKeyboardState(Display *display, const char *key_vec); +- +-/* Variables to be exported */ +-extern int X11_PendingConfigureNotifyWidth; +-extern int X11_PendingConfigureNotifyHeight; +- +diff -r c787fb1b5699 src/video/x11/SDL_x11video.c +--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300 +@@ -1182,8 +1182,6 @@ + current = NULL; + goto done; + } +- X11_PendingConfigureNotifyWidth = width; +- X11_PendingConfigureNotifyHeight = height; + } else { + if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) { + current = NULL; diff --git a/testing/btrfs-progs/PKGBUILD b/testing/btrfs-progs/PKGBUILD index e7252b7ec..f40858d29 100644 --- a/testing/btrfs-progs/PKGBUILD +++ b/testing/btrfs-progs/PKGBUILD @@ -1,8 +1,9 @@ -# $Id: PKGBUILD 164015 2012-07-24 01:22:05Z dreisner $ +# $Id: PKGBUILD 166671 2012-09-15 09:38:19Z tomegun $ # Maintainer: Tom Gundersen <teg@jklm.no> # Contributor: Tobias Powalowski <tpowa@archlinux.org> + pkgname=btrfs-progs -pkgver=0.19.20120328 +pkgver=0.19.20120904 pkgrel=4 pkgdesc="btrfs filesystem utilities" arch=(i686 x86_64) @@ -16,10 +17,6 @@ source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.xz 70-btrfs.rules initcpio-install-btrfs initcpio-hook-btrfs) -md5sums=('f4504e73cf9254779b78d5b2318ac570' - '345c62c8b267082361729ca5b647518f' - 'e5186ec3fe8a809b7473470128d1c4ab' - '9fb35142755b477a96cb7292f3d64839') build() { cd $srcdir/$pkgname-$pkgver @@ -44,3 +41,7 @@ package() { install -Dm644 "$srcdir/initcpio-hook-btrfs" \ "$pkgdir/usr/lib/initcpio/hooks/btrfs" } +md5sums=('d9c96e670fac7c2098a9e7ef98d4b2e2' + '345c62c8b267082361729ca5b647518f' + 'e5186ec3fe8a809b7473470128d1c4ab' + '9fb35142755b477a96cb7292f3d64839') diff --git a/testing/polkit/PKGBUILD b/testing/polkit/PKGBUILD new file mode 100644 index 000000000..2bc0b25de --- /dev/null +++ b/testing/polkit/PKGBUILD @@ -0,0 +1,46 @@ +# $Id: PKGBUILD 166700 2012-09-16 00:09:31Z heftig $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=polkit +pkgver=0.107 +pkgrel=2 +pkgdesc="Application development toolkit for controlling system-wide privileges" +arch=(i686 x86_64) +license=('LGPL') +url="http://www.freedesktop.org/wiki/Software/PolicyKit" +depends=('glib2' 'pam' 'expat' 'libsystemd' 'js') +makedepends=('intltool' 'gtk-doc' 'gobject-introspection') +replaces=('policykit') +options=('!libtool') +install=polkit.install +source=("http://www.freedesktop.org/software/polkit/releases/$pkgname-$pkgver.tar.gz" + 'polkit.pam' + 'logind+ConsoleKit.patch' + 'autogen.sh') +md5sums=('0e4f9c53f43fd1b25ac3f0d2e09b2ae1' + '6564f95878297b954f0572bc1610dd15' + 'fb71d43442dbf24f8760198a9a79c5e7' + '38fe3119284e842e66b330b0f2ba230d') + +build() { + cd $pkgname-$pkgver + + patch -p1 <../logind+ConsoleKit.patch + + cp ../autogen.sh . + ./autogen.sh --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --libexecdir=/usr/lib/polkit-1 \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --disable-static --enable-gtk-doc + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + chown 102 "$pkgdir/etc/polkit-1/rules.d" + chown 102 "$pkgdir/usr/share/polkit-1/rules.d" + + install -m644 "$srcdir/polkit.pam" "$pkgdir/etc/pam.d/polkit-1" +} diff --git a/testing/polkit/autogen.sh b/testing/polkit/autogen.sh new file mode 100755 index 000000000..d08b00a49 --- /dev/null +++ b/testing/polkit/autogen.sh @@ -0,0 +1,123 @@ +#!/bin/sh +# Run this to generate all the initial makefiles, etc. + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +DIE=0 + +(test -f $srcdir/configure.ac) || { + echo -n "**Error**: Directory $srcdir does not look like the" + echo " top-level package directory" + exit 1 +} + +olddir=`pwd` +cd "$srcdir" + +touch ChangeLog + +(autoconf --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have autoconf installed." + echo "Download the appropriate package for your distribution," + echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" + DIE=1 +} + +(grep "^AM_PROG_LIBTOOL" configure.ac >/dev/null) && { + (libtoolize --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have libtool installed." + echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/" + DIE=1 + } +} + +(gtkdocize --flavour no-tmpl) < /dev/null > /dev/null 2>&1 || { + echo + echo "You must have gtk-doc installed to compile $PROJECT." + echo "Install the appropriate package for your distribution," + echo "or get the source tarball at http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/" + DIE=1 +} + +(automake --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have automake installed." + echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/" + DIE=1 + NO_AUTOMAKE=yes +} + + +# if no automake, don't bother testing for aclocal +test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: Missing aclocal. The version of automake" + echo "installed doesn't appear recent enough." + echo "You can get automake from ftp://ftp.gnu.org/pub/gnu/" + DIE=1 +} + + +# if no automake, don't bother testing for autoreconf +test -n "$NO_AUTOMAKE" || (autoreconf --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have autoreconf installed." + echo "You can get autoreconf from ..." + DIE=1 +} + + +if test "$DIE" -eq 1; then + exit 1 +fi + +if test -z "$*"; then + echo "**Warning**: I am going to run configure with no arguments." + echo "If you wish to pass any to it, please specify them on the" + echo $0 " command line." + echo +fi + +case $CC in +xlc ) + am_opt=--include-deps;; +esac + + aclocalinclude="$ACLOCAL_FLAGS" + + echo "Running autoreconf on test/mocklibc ..." + (cd "test/mocklibc"; autoreconf --install) + + if grep "^AM_PROG_LIBTOOL" configure.ac >/dev/null; then + if test -z "$NO_LIBTOOLIZE" ; then + echo "Running libtoolize..." + libtoolize --force --copy + fi + fi + echo "Running aclocal $aclocalinclude ..." + aclocal $aclocalinclude + if grep "^AM_CONFIG_HEADER" configure.ac >/dev/null; then + echo "Running autoheader..." + autoheader + fi + echo "Running automake --gnu -Wno-portability $am_opt ..." + automake --add-missing --gnu -Wno-portability $am_opt + echo "Running autoconf ..." + autoconf + +intltoolize --copy --force --automake || exit 1 + +cd "$olddir" + +conf_flags="--enable-maintainer-mode --enable-gtk-doc" + +if test x$NOCONFIGURE = x; then + echo "Running $srcdir/configure $conf_flags $@ ..." + $srcdir/configure $conf_flags "$@" \ + && echo "Now type make to compile." || exit 1 +else + echo "Skipping configure process." +fi diff --git a/testing/polkit/logind+ConsoleKit.patch b/testing/polkit/logind+ConsoleKit.patch new file mode 100644 index 000000000..042d1043a --- /dev/null +++ b/testing/polkit/logind+ConsoleKit.patch @@ -0,0 +1,638 @@ +From ba143769e17e4bbc1f2b0c88e735f993dfb3c873 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen <teg@jklm.no> +Date: Tue, 7 Aug 2012 21:06:18 +0200 +Subject: [PATCH] session tracking: always require consolekit + +Only systemd is now optional at compile-time, and if enabled we fallback to consolekit +at runtime, if not booted with systemd. + +Bits-stolen-from: Jan Alexander Steffens <jan.steffens@gmail.com> +Signed-off-by: Tom Gundersen <teg@jklm.no> +--- + configure.ac | 6 +- + src/polkit/polkitunixsession-systemd.c | 96 ++++++- + src/polkitbackend/polkitbackendjsauthority.c | 10 +- + .../polkitbackendsessionmonitor-systemd.c | 313 +++++++++++++++++++-- + 4 files changed, 380 insertions(+), 45 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7a0d938..1d1e4ba 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -163,15 +163,15 @@ AC_ARG_ENABLE([libsystemd-login], + [enable_libsystemd_login=auto]) + if test "$enable_libsystemd_login" != "no"; then + PKG_CHECK_MODULES(LIBSYSTEMD_LOGIN, +- [libsystemd-login], ++ [libsystemd-login libsystemd-daemon], + have_libsystemd_login=yes, + have_libsystemd_login=no) + if test "$have_libsystemd_login" = "yes"; then +- SESSION_TRACKING=libsystemd-login ++ SESSION_TRACKING="libsystemd-login (with ConsoleKit runtime fallback)" + AC_DEFINE([HAVE_LIBSYSTEMD_LOGIN], 1, [Define to 1 if libsystemd-login is available]) + else + if test "$enable_libsystemd_login" = "yes"; then +- AC_MSG_ERROR([libsystemd-login support requested but libsystemd-login library not found]) ++ AC_MSG_ERROR([libsystemd-login support requested but systemd libraries not found]) + fi + fi + fi +diff --git a/src/polkit/polkitunixsession-systemd.c b/src/polkit/polkitunixsession-systemd.c +index 8a8bf65..bb89044 100644 +--- a/src/polkit/polkitunixsession-systemd.c ++++ b/src/polkit/polkitunixsession-systemd.c +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2011 Red Hat, Inc. ++ * Copyright (C) 2008, 2011 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public +@@ -17,6 +17,7 @@ + * Boston, MA 02111-1307, USA. + * + * Author: Matthias Clasen ++ * Author: David Zeuthen <davidz@redhat.com> + */ + + #ifdef HAVE_CONFIG_H +@@ -31,6 +32,7 @@ + #include "polkitprivate.h" + + #include <systemd/sd-login.h> ++#include <systemd/sd-daemon.h> + + /** + * SECTION:polkitunixsession +@@ -367,9 +369,41 @@ polkit_unix_session_exists_sync (PolkitSubject *subject, + PolkitUnixSession *session = POLKIT_UNIX_SESSION (subject); + gboolean ret = FALSE; + uid_t uid; ++ GDBusConnection *connection; /* consolekit */ ++ GVariant *result; /* consolekit */ + +- if (sd_session_get_uid (session->session_id, &uid) == 0) +- ret = TRUE; ++ if (sd_booted()) ++ { ++ if (sd_session_get_uid (session->session_id, &uid) == 0) ++ ret = TRUE; ++ } ++ else /* consolekit */ ++ { ++ connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, cancellable, error); ++ if (connection == NULL) ++ goto out; ++ ++ result = g_dbus_connection_call_sync (connection, ++ "org.freedesktop.ConsoleKit", /* name */ ++ session->session_id, /* object path */ ++ "org.freedesktop.ConsoleKit.Session", /* interface name */ ++ "GetUser", /* method */ ++ NULL, /* parameters */ ++ G_VARIANT_TYPE ("(u)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ cancellable, ++ error); ++ if (result == NULL) ++ goto out; ++ ++ ret = TRUE; ++ g_variant_unref (result); ++ ++ out: ++ if (connection != NULL) ++ g_object_unref (connection); ++ } + + return ret; + } +@@ -451,29 +485,61 @@ polkit_unix_session_initable_init (GInitable *initable, + PolkitUnixSession *session = POLKIT_UNIX_SESSION (initable); + gboolean ret = FALSE; + char *s; ++ GDBusConnection *connection; /* consolekit */ ++ GVariant *result; /* consolekit */ ++ connection = NULL; /* consolekit */ + + if (session->session_id != NULL) + { + /* already set, nothing to do */ +- ret = TRUE; +- goto out; ++ return TRUE; + } + +- if (sd_pid_get_session (session->pid, &s) == 0) ++ if (sd_booted()) ++ { ++ if (sd_pid_get_session (session->pid, &s) == 0) ++ { ++ session->session_id = g_strdup (s); ++ free (s); ++ return TRUE; ++ } ++ ++ g_set_error (error, ++ POLKIT_ERROR, ++ POLKIT_ERROR_FAILED, ++ "No session for pid %d", ++ (gint) session->pid); ++ } ++ else /* consolekit */ + { +- session->session_id = g_strdup (s); +- free (s); ++ connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, cancellable, error); ++ if (connection == NULL) ++ goto out; ++ ++ result = g_dbus_connection_call_sync (connection, ++ "org.freedesktop.ConsoleKit", /* name */ ++ "/org/freedesktop/ConsoleKit/Manager", /* object path */ ++ "org.freedesktop.ConsoleKit.Manager", /* interface name */ ++ "GetSessionForUnixProcess", /* method */ ++ g_variant_new ("(u)", session->pid), /* parameters */ ++ G_VARIANT_TYPE ("(o)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ cancellable, ++ error); ++ if (result == NULL) ++ goto out; ++ ++ g_variant_get (result, "(o)", &session->session_id); ++ g_variant_unref (result); ++ + ret = TRUE; +- goto out; + } + +- g_set_error (error, +- POLKIT_ERROR, +- POLKIT_ERROR_FAILED, +- "No session for pid %d", +- (gint) session->pid); ++ out: ++ if (connection != NULL) /* consolekit */ ++ g_object_unref (connection); + +-out: + return ret; + } + +diff --git a/src/polkitbackend/polkitbackendjsauthority.c b/src/polkitbackend/polkitbackendjsauthority.c +index bdfaa73..ee38739 100644 +--- a/src/polkitbackend/polkitbackendjsauthority.c ++++ b/src/polkitbackend/polkitbackendjsauthority.c +@@ -36,6 +36,7 @@ + + #ifdef HAVE_LIBSYSTEMD_LOGIN + #include <systemd/sd-login.h> ++#include <systemd/sd-daemon.h> + #endif /* HAVE_LIBSYSTEMD_LOGIN */ + + #include <jsapi.h> +@@ -731,11 +732,14 @@ subject_to_jsval (PolkitBackendJsAuthority *authority, + } + + #ifdef HAVE_LIBSYSTEMD_LOGIN +- if (sd_pid_get_session (pid, &session_str) == 0) ++ if (sd_booted()) + { +- if (sd_session_get_seat (session_str, &seat_str) == 0) ++ if (sd_pid_get_session (pid, &session_str) == 0) + { +- /* do nothing */ ++ if (sd_session_get_seat (session_str, &seat_str) == 0) ++ { ++ /* do nothing */ ++ } + } + } + #endif /* HAVE_LIBSYSTEMD_LOGIN */ +diff --git a/src/polkitbackend/polkitbackendsessionmonitor-systemd.c b/src/polkitbackend/polkitbackendsessionmonitor-systemd.c +index 58593c3..5114dfa 100644 +--- a/src/polkitbackend/polkitbackendsessionmonitor-systemd.c ++++ b/src/polkitbackend/polkitbackendsessionmonitor-systemd.c +@@ -26,11 +26,15 @@ + #include <string.h> + #include <glib/gstdio.h> + #include <systemd/sd-login.h> ++#include <systemd/sd-daemon.h> + #include <stdlib.h> + + #include <polkit/polkit.h> + #include "polkitbackendsessionmonitor.h" + ++/* consolekit */ ++#define CKDB_PATH "/var/run/ConsoleKit/database" ++ + /* <internal> + * SECTION:polkitbackendsessionmonitor + * @title: PolkitBackendSessionMonitor +@@ -126,6 +130,11 @@ struct _PolkitBackendSessionMonitor + GDBusConnection *system_bus; + + GSource *sd_source; ++ ++ /* consolekit */ ++ GKeyFile *database; ++ GFileMonitor *database_monitor; ++ time_t database_mtime; + }; + + struct _PolkitBackendSessionMonitorClass +@@ -148,6 +157,101 @@ G_DEFINE_TYPE (PolkitBackendSessionMonitor, polkit_backend_session_monitor, G_TY + + /* ---------------------------------------------------------------------------------------------------- */ + ++/* consolekit */ ++static gboolean ++reload_database (PolkitBackendSessionMonitor *monitor, ++ GError **error) ++{ ++ gboolean ret; ++ struct stat statbuf; ++ ++ ret = FALSE; ++ ++ if (monitor->database != NULL) ++ { ++ g_key_file_free (monitor->database); ++ monitor->database = NULL; ++ } ++ ++ if (stat (CKDB_PATH, &statbuf) != 0) ++ { ++ g_set_error (error, ++ G_IO_ERROR, ++ g_io_error_from_errno (errno), ++ "Error statting file " CKDB_PATH ": %s", ++ strerror (errno)); ++ goto out; ++ } ++ ++ monitor->database_mtime = statbuf.st_mtime; ++ ++ monitor->database = g_key_file_new (); ++ if (!g_key_file_load_from_file (monitor->database, ++ CKDB_PATH, ++ G_KEY_FILE_NONE, ++ error)) ++ { ++ goto out; ++ } ++ ++ ret = TRUE; ++ ++ out: ++ return ret; ++} ++ ++static gboolean ++ensure_database (PolkitBackendSessionMonitor *monitor, ++ GError **error) ++{ ++ gboolean ret = FALSE; ++ ++ if (monitor->database != NULL) ++ { ++ struct stat statbuf; ++ ++ if (stat (CKDB_PATH, &statbuf) != 0) ++ { ++ g_set_error (error, ++ G_IO_ERROR, ++ g_io_error_from_errno (errno), ++ "Error statting file " CKDB_PATH " to check timestamp: %s", ++ strerror (errno)); ++ goto out; ++ } ++ if (statbuf.st_mtime == monitor->database_mtime) ++ { ++ ret = TRUE; ++ goto out; ++ } ++ } ++ ++ ret = reload_database (monitor, error); ++ ++ out: ++ return ret; ++} ++ ++static void ++on_file_monitor_changed (GFileMonitor *file_monitor, ++ GFile *file, ++ GFile *other_file, ++ GFileMonitorEvent event_type, ++ gpointer user_data) ++{ ++ PolkitBackendSessionMonitor *monitor = POLKIT_BACKEND_SESSION_MONITOR (user_data); ++ ++ /* throw away cache */ ++ if (monitor->database != NULL) ++ { ++ g_key_file_free (monitor->database); ++ monitor->database = NULL; ++ } ++ g_signal_emit (monitor, signals[CHANGED_SIGNAL], 0); ++} ++ ++/* consolekit - end */ ++ + static gboolean + sessions_changed (gpointer user_data) + { +@@ -163,6 +267,7 @@ static void + polkit_backend_session_monitor_init (PolkitBackendSessionMonitor *monitor) + { + GError *error; ++ GFile *file; /* consolekit */ + + error = NULL; + monitor->system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); +@@ -172,9 +277,41 @@ polkit_backend_session_monitor_init (PolkitBackendSessionMonitor *monitor) + g_error_free (error); + } + +- monitor->sd_source = sd_source_new (); +- g_source_set_callback (monitor->sd_source, sessions_changed, monitor, NULL); +- g_source_attach (monitor->sd_source, NULL); ++ if (sd_booted()) ++ { ++ monitor->sd_source = sd_source_new (); ++ g_source_set_callback (monitor->sd_source, sessions_changed, monitor, NULL); ++ g_source_attach (monitor->sd_source, NULL); ++ } ++ else /* consolekit */ ++ { ++ error = NULL; ++ if (!ensure_database (monitor, &error)) ++ { ++ g_printerr ("Error loading " CKDB_PATH ": %s", error->message); ++ g_error_free (error); ++ } ++ ++ error = NULL; ++ file = g_file_new_for_path (CKDB_PATH); ++ monitor->database_monitor = g_file_monitor_file (file, ++ G_FILE_MONITOR_NONE, ++ NULL, ++ &error); ++ g_object_unref (file); ++ if (monitor->database_monitor == NULL) ++ { ++ g_printerr ("Error monitoring " CKDB_PATH ": %s", error->message); ++ g_error_free (error); ++ } ++ else ++ { ++ g_signal_connect (monitor->database_monitor, ++ "changed", ++ G_CALLBACK (on_file_monitor_changed), ++ monitor); ++ } ++ } + } + + static void +@@ -191,6 +328,14 @@ polkit_backend_session_monitor_finalize (GObject *object) + g_source_unref (monitor->sd_source); + } + ++ /* consolekit */ ++ if (monitor->database_monitor != NULL) ++ g_object_unref (monitor->database_monitor); ++ ++ if (monitor->database != NULL) ++ g_key_file_free (monitor->database); ++ /* consolekit - end */ ++ + if (G_OBJECT_CLASS (polkit_backend_session_monitor_parent_class)->finalize != NULL) + G_OBJECT_CLASS (polkit_backend_session_monitor_parent_class)->finalize (object); + } +@@ -258,6 +403,8 @@ polkit_backend_session_monitor_get_user_for_subject (PolkitBackendSessionMonitor + GError **error) + { + PolkitIdentity *ret; ++ GError *local_error; /* consolekit */ ++ gchar *group; /* consolekit */ + guint32 uid; + + ret = NULL; +@@ -300,16 +447,38 @@ polkit_backend_session_monitor_get_user_for_subject (PolkitBackendSessionMonitor + else if (POLKIT_IS_UNIX_SESSION (subject)) + { + +- if (sd_session_get_uid (polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (subject)), &uid) < 0) ++ if (sd_booted()) + { +- g_set_error (error, +- POLKIT_ERROR, +- POLKIT_ERROR_FAILED, +- "Error getting uid for session"); +- goto out; ++ if (sd_session_get_uid (polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (subject)), &uid) < 0) ++ { ++ g_set_error (error, ++ POLKIT_ERROR, ++ POLKIT_ERROR_FAILED, ++ "Error getting uid for session"); ++ goto out; ++ } ++ ++ ret = polkit_unix_user_new (uid); ++ } ++ else /* consolekit */ ++ { ++ if (!ensure_database (monitor, error)) ++ { ++ g_prefix_error (error, "Error getting user for session: Error ensuring CK database at " CKDB_PATH ": "); ++ goto out; ++ } ++ ++ group = g_strdup_printf ("Session %s", polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (subject))); ++ local_error = NULL; ++ uid = g_key_file_get_integer (monitor->database, group, "uid", &local_error); ++ if (local_error != NULL) ++ { ++ g_propagate_prefixed_error (error, local_error, "Error getting uid using " CKDB_PATH ": "); ++ g_free (group); ++ goto out; ++ } ++ g_free (group); + } +- +- ret = polkit_unix_user_new (uid); + } + + out: +@@ -337,20 +506,43 @@ polkit_backend_session_monitor_get_session_for_subject (PolkitBackendSessionMoni + + if (POLKIT_IS_UNIX_PROCESS (subject)) + { +- gchar *session_id; +- pid_t pid; ++ if (sd_booted()) ++ { ++ gchar *session_id; ++ pid_t pid; + +- pid = polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject)); +- if (sd_pid_get_session (pid, &session_id) < 0) +- goto out; ++ pid = polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject)); ++ if (sd_pid_get_session (pid, &session_id) < 0) ++ goto out; + +- session = polkit_unix_session_new (session_id); +- free (session_id); ++ session = polkit_unix_session_new (session_id); ++ free (session_id); ++ } ++ else /* consolekit */ ++ { ++ const gchar *session_id; ++ GVariant *result; ++ result = g_dbus_connection_call_sync (monitor->system_bus, ++ "org.freedesktop.ConsoleKit", ++ "/org/freedesktop/ConsoleKit/Manager", ++ "org.freedesktop.ConsoleKit.Manager", ++ "GetSessionForUnixProcess", ++ g_variant_new ("(u)", polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject))), ++ G_VARIANT_TYPE ("(o)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, /* timeout_msec */ ++ NULL, /* GCancellable */ ++ error); ++ if (result == NULL) ++ goto out; ++ g_variant_get (result, "(&o)", &session_id); ++ session = polkit_unix_session_new (session_id); ++ g_variant_unref (result); ++ } + } + else if (POLKIT_IS_SYSTEM_BUS_NAME (subject)) + { + guint32 pid; +- gchar *session_id; + GVariant *result; + + result = g_dbus_connection_call_sync (monitor->system_bus, +@@ -369,11 +561,35 @@ polkit_backend_session_monitor_get_session_for_subject (PolkitBackendSessionMoni + g_variant_get (result, "(u)", &pid); + g_variant_unref (result); + +- if (sd_pid_get_session (pid, &session_id) < 0) +- goto out; ++ if (sd_booted()) ++ { ++ gchar *session_id; ++ if (sd_pid_get_session (pid, &session_id) < 0) ++ goto out; + +- session = polkit_unix_session_new (session_id); +- free (session_id); ++ session = polkit_unix_session_new (session_id); ++ free (session_id); ++ } ++ else /* consolekit */ ++ { ++ const gchar *session_id; ++ result = g_dbus_connection_call_sync (monitor->system_bus, ++ "org.freedesktop.ConsoleKit", ++ "/org/freedesktop/ConsoleKit/Manager", ++ "org.freedesktop.ConsoleKit.Manager", ++ "GetSessionForUnixProcess", ++ g_variant_new ("(u)", pid), ++ G_VARIANT_TYPE ("(o)"), ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, /* timeout_msec */ ++ NULL, /* GCancellable */ ++ error); ++ if (result == NULL) ++ goto out; ++ g_variant_get (result, "(&o)", &session_id); ++ session = polkit_unix_session_new (session_id); ++ g_variant_unref (result); ++ } + } + else + { +@@ -389,12 +605,58 @@ polkit_backend_session_monitor_get_session_for_subject (PolkitBackendSessionMoni + return session; + } + ++static gboolean ++get_boolean (PolkitBackendSessionMonitor *monitor, ++ PolkitSubject *session, ++ const gchar *key_name) ++{ ++ gboolean ret; ++ gchar *group; ++ GError *error; ++ ++ ret = FALSE; ++ ++ group = g_strdup_printf ("Session %s", polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (session))); ++ ++ error = NULL; ++ if (!ensure_database (monitor, &error)) ++ { ++ g_printerr ("Error getting boolean `%s' in group `%s': Error ensuring CK database at " CKDB_PATH ": %s", ++ key_name, ++ group, ++ error->message); ++ g_error_free (error); ++ goto out; ++ } ++ ++ error = NULL; ++ ret = g_key_file_get_boolean (monitor->database, group, key_name, &error); ++ if (error != NULL) ++ { ++ g_printerr ("Error looking %s using " CKDB_PATH " for %s: %s\n", ++ key_name, ++ group, ++ error->message); ++ g_error_free (error); ++ goto out; ++ } ++ ++ out: ++ g_free (group); ++ return ret; ++} ++ + gboolean + polkit_backend_session_monitor_is_session_local (PolkitBackendSessionMonitor *monitor, + PolkitSubject *session) + { + char *seat; + ++ if (!sd_booted()) /* consolekit */ ++ { ++ return get_boolean (monitor, session, "is_local"); ++ } ++ + if (!sd_session_get_seat (polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (session)), &seat)) + { + free (seat); +@@ -409,6 +671,9 @@ gboolean + polkit_backend_session_monitor_is_session_active (PolkitBackendSessionMonitor *monitor, + PolkitSubject *session) + { +- return sd_session_is_active (polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (session))); ++ if (sd_booted()) ++ return sd_session_is_active (polkit_unix_session_get_session_id (POLKIT_UNIX_SESSION (session))); ++ else /* consolekit */ ++ return get_boolean (monitor, session, "is_active"); + } + +-- +1.7.11.4 + diff --git a/testing/polkit/polkit.install b/testing/polkit/polkit.install new file mode 100644 index 000000000..fbb98919e --- /dev/null +++ b/testing/polkit/polkit.install @@ -0,0 +1,18 @@ +post_install() { + getent group polkitd >/dev/null || groupadd -g 102 polkitd + getent passwd polkitd >/dev/null || useradd -c 'Policy Kit Daemon' -u 102 -g polkitd -d '/' -s /bin/false polkitd + passwd -l polkitd &>/dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + if getent passwd polkitd >/dev/null; then + userdel polkitd + fi + if getent group polkitd >/dev/null; then + groupdel polkitd + fi +} diff --git a/testing/polkit/polkit.pam b/testing/polkit/polkit.pam new file mode 100644 index 000000000..04f53e0db --- /dev/null +++ b/testing/polkit/polkit.pam @@ -0,0 +1,7 @@ +auth requisite pam_nologin.so +auth required pam_env.so +auth required pam_unix.so +account required pam_unix.so +session required pam_limits.so +session required pam_unix.so +password required pam_unix.so diff --git a/testing/postgresql-old-upgrade/PKGBUILD b/testing/postgresql-old-upgrade/PKGBUILD new file mode 100644 index 000000000..0334899a9 --- /dev/null +++ b/testing/postgresql-old-upgrade/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 166685 2012-09-15 16:03:08Z dan $ +# Maintainer: Dan McGee <dan@archlinux.org> + +pkgname=postgresql-old-upgrade +pkgver=9.1.5 +_majorver=${pkgver%.*} +pkgrel=1 +pkgdesc="Minimal PostgreSQL build for migrating between major versions with pg_upgrade" +arch=('i686' 'x86_64') +url="http://www.postgresql.org/" +license=('custom:PostgreSQL') +depends=("postgresql-libs>=${_majorver}" 'libxml2' 'openssl>=1.0.0') +source=(ftp://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2) + +build() { + cd "${srcdir}/postgresql-${pkgver}" + + ./configure --prefix=/opt/pgsql-${_majorver} \ + --with-libxml --with-openssl --without-perl \ + --without-python --with-pam --without-readline \ + --with-system-tzdata=/usr/share/zoneinfo --disable-nls \ + --enable-thread-safety + + make -C src all +} + +package() { + cd "${srcdir}/postgresql-${pkgver}" + + # install + make DESTDIR="${pkgdir}" -C src install + + # install license + install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + + # clean up unneeded installed items + rm -rf "${pkgdir}/opt/pgsql-${_majorver}/include/" +} + +md5sums=('c784decb60615aa94c6a31601bc6ffd2') +sha256sums=('0b889c132426fc68d8c2eb1bf112bf99cc653e9c95b5f4bbebc55cd9a8d6ce44') diff --git a/testing/postgresql/PKGBUILD b/testing/postgresql/PKGBUILD index e7f743d8e..7a79156d6 100644 --- a/testing/postgresql/PKGBUILD +++ b/testing/postgresql/PKGBUILD @@ -1,32 +1,32 @@ -# $Id: PKGBUILD 165398 2012-08-17 23:34:22Z heftig $ +# $Id: PKGBUILD 166687 2012-09-15 16:47:20Z dan $ # Maintainer: Dan McGee <dan@archlinux.org> pkgbase=postgresql pkgname=('postgresql-libs' 'postgresql-docs' 'postgresql') -pkgver=9.1.4 +pkgver=9.2.0 _majorver=${pkgver%.*} -pkgrel=2 +pkgrel=1 arch=('i686' 'x86_64') url="http://www.postgresql.org/" license=('custom:PostgreSQL') makedepends=('krb5' 'libxml2' 'python2' 'perl' 'tcl' 'openssl>=1.0.0') -source=(ftp://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2 +source=(http://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2 postgresql.rcd postgresql.confd postgresql.pam postgresql.logrotate - postgresql.service postgresql-initdb) -md5sums=('a8035688dba988b782725ac1aec60186' + postgresql.service postgresql-check-db-dir) +md5sums=('8c4c32a4abe8cf61b02c8366181ede50' '1ddd1df8010549f237e7983bb326025e' 'a54d09a20ab1672adf08f037df188d53' '96f82c38f3f540b53f3e5144900acf17' 'd28e443f9f65a5712c52018b84e27137' - '1ec1fbf1ce998324248c543e6cc2c5e6' - '1488a98a5d5d96a04416e4f5872223bf') -sha256sums=('a0795a8eb3ae2d1a2914b63bf143d20182835d90699915ff43567c041d3c9712' + 'f0d46e63198db0a1e51dcd4a0599cd33' + '505e0e4abfc746cae9558584d471a03c') +sha256sums=('3731c607df492bbb57f37917b49f57719c0d6f823720426431fff10d82b1fe33' '9f6307b1358892e304f9474a456f0cb9160cfb8812a9da0430abe647f8a9cf45' '3de5c059eead8816db15c2c5588e6196d6c4b0d704faf1a20912796cf589ba81' '57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5' '6abb842764bbed74ea4a269d24f1e73d1c0b1d8ecd6e2e6fb5fb10590298605e' - '7014ccc8f3bbac8be9473a43fca2ed4037ee04e56d8e07d6027b3b4ef0317c89' - 'c22f82a3cf5b555935039853fab2d7e5ff6188cdb1fb528fa9171a87b94f42b0') + 'af41dd8c1e6b124880fb4347c9fa4adabdef5b6e6bd13601cac25eb9e7bc7774' + '3a3279d290f556bf7a362670e32b491794f47ed218f6b8c6acef366a3291f669') build() { cd "${srcdir}/postgresql-${pkgver}" @@ -139,8 +139,8 @@ package_postgresql() { install -D -m755 "${srcdir}/postgresql.rcd" "${pkgdir}/etc/rc.d/postgresql" install -D -m644 "${srcdir}/postgresql.service" \ "${pkgdir}/usr/lib/systemd/system/postgresql.service" - install -D -m755 "${srcdir}/postgresql-initdb" \ - "${pkgdir}/usr/lib/systemd/scripts/postgresql-initdb" + install -D -m755 "${srcdir}/postgresql-check-db-dir" \ + "${pkgdir}/usr/bin/postgresql-check-db-dir" # install conf file install -D -m644 ${srcdir}/postgresql.confd \ diff --git a/testing/postgresql/postgresql-check-db-dir b/testing/postgresql/postgresql-check-db-dir new file mode 100755 index 000000000..542c82209 --- /dev/null +++ b/testing/postgresql/postgresql-check-db-dir @@ -0,0 +1,49 @@ +#!/bin/sh + +# This script verifies that the postgresql data directory has been correctly +# initialized. We do not want to automatically initdb it, because that has +# a risk of catastrophic failure (ie, overwriting a valuable database) in +# corner cases, such as a remotely mounted database on a volume that's a +# bit slow to mount. But we can at least emit a message advising newbies +# what to do. + +PGDATA="$1" + +if [ -z "$PGDATA" ] +then + echo "Usage: $0 database-path" + exit 1 +fi + +# PGMAJORVERSION is major version +PGMAJORVERSION=9.2 +# PREVMAJORVERSION is the previous major version, e.g., 8.4, for upgrades +PREVMAJORVERSION=9.1 + +# Check for the PGDATA structure +if [ -f "$PGDATA/PG_VERSION" ] && [ -d "$PGDATA/base" ] +then + # Check version of existing PGDATA + if [ x`cat "$PGDATA/PG_VERSION"` = x"$PGMAJORVERSION" ] + then + : A-OK + elif [ x`cat "$PGDATA/PG_VERSION"` = x"$PREVMAJORVERSION" ] + then + echo $"An old version of the database format was found." + echo $"See https://wiki.archlinux.org/index.php/PostgreSQL#Upgrading_PostgreSQL" + exit 1 + else + echo $"An old version of the database format was found." + echo $"You need to dump and reload before using PostgreSQL $PGMAJORVERSION." + echo $"See http://www.postgresql.org/docs/9.2/static/upgrading.html" + exit 1 + fi +else + # No existing PGDATA! Warn the user to initdb it. + echo $"\"$PGDATA\" is missing or empty. Use a command like" + echo $" su - postgres -c \"initdb --locale en_US.UTF-8 -D '$PGDATA'\"" + echo $"with relevant options, to initialize the database cluster." + exit 1 +fi + +exit 0 diff --git a/testing/postgresql/postgresql.install b/testing/postgresql/postgresql.install index c52432271..7b73f6fa9 100644 --- a/testing/postgresql/postgresql.install +++ b/testing/postgresql/postgresql.install @@ -2,9 +2,13 @@ post_install() { if [ ! -d '/var/lib/postgres' ]; then mkdir -p '/var/lib/postgres' fi - getent group postgres >/dev/null || groupadd -g 88 postgres - getent passwd postgres >/dev/null || useradd -c 'PostgreSQL user' -u 88 -g postgres -d '/var/lib/postgres' -s /bin/bash postgres - passwd -l postgres >/dev/null + if ! getent group postgres >/dev/null; then + groupadd -g 88 postgres + fi + if ! getent passwd postgres >/dev/null; then + useradd -c 'PostgreSQL user' -u 88 -g postgres -d '/var/lib/postgres' -s /bin/bash postgres + passwd -l postgres >/dev/null + fi } post_upgrade() { diff --git a/testing/postgresql/postgresql.service b/testing/postgresql/postgresql.service index 2fcd3e93d..bea14e01e 100644 --- a/testing/postgresql/postgresql.service +++ b/testing/postgresql/postgresql.service @@ -1,19 +1,26 @@ [Unit] Description=PostgreSQL database server +After=network.target [Service] Type=forking +TimeoutSec=120 +User=postgres +Group=postgres + +Environment=PGROOT=/var/lib/postgres +Environment=PGLOG=/var/log/postgresql.log + SyslogIdentifier=postgres PIDFile=/var/lib/postgres/data/postmaster.pid -# initdb script takes care for symlinking $PGROOT to /var/lib/postgres -ExecStartPre=/usr/lib/systemd/scripts/postgresql-initdb -ExecStart= /bin/su - postgres -m -c "/usr/bin/pg_ctl -s -D /var/lib/postgres/data start" -ExecReload=/bin/su - postgres -m -c "/usr/bin/pg_ctl -s -D /var/lib/postgres/data reload" -ExecStop= /bin/su - postgres -m -c "/usr/bin/pg_ctl -s -D /var/lib/postgres/data stop -m fast" +ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data +ExecStart= /usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120 +ExecReload=/usr/bin/pg_ctl -s -D ${PGROOT}/data reload +ExecStop= /usr/bin/pg_ctl -s -D ${PGROOT}/data stop -m fast # Due to PostgreSQL's use of shared memory, OOM killer is often overzealous in -# killing Postgres +# killing Postgres, so adjust it downward OOMScoreAdjust=-200 [Install] |