diff options
Diffstat (limited to 'community-staging')
-rw-r--r-- | community-staging/pkgtools/PKGBUILD | 36 | ||||
-rw-r--r-- | community-staging/pkgtools/pkgtools.install | 66 |
2 files changed, 102 insertions, 0 deletions
diff --git a/community-staging/pkgtools/PKGBUILD b/community-staging/pkgtools/PKGBUILD new file mode 100644 index 000000000..922bb5fa3 --- /dev/null +++ b/community-staging/pkgtools/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Daenyth <Daenyth+Arch AT gmail DOT com> +# Contributor: Daenyth <Daenyth+Arch AT gmail DOT com> +pkgname=pkgtools +pkgver=23 +pkgrel=3 +pkgdesc="A collection of scripts for Arch Linux packages" +arch=('i686' 'x86_64') +url="http://bbs.archlinux.org/viewtopic.php?pid=384196" +license=('GPL') +source=(v$pkgver::http://github.com/Daenyth/pkgtools/tarball/v$pkgver) +backup=('etc/pkgtools/newpkg.conf' 'etc/pkgtools/pkgfile.conf' 'etc/pkgtools/spec2arch.conf') +install=pkgtools.install +provides=(newpkg pkgfile) +depends=('bash>=4' 'pcre' 'libarchive' 'python') +optdepends=('cron: For pkgfile --update entry' + 'abs: Provides proto packaging files for newpkg' + 'python-yaml: for gem2arch' + 'python2: for pkgconflict') +md5sums=('5361111e31741f8d7ff8ca45c7996b6b') + +build() { + cd "$srcdir/Daenyth-$pkgname"-* + + make +} + +package() { + cd "$srcdir/Daenyth-$pkgname"-* + + make DESTDIR="$pkgdir" install + + # fix infinite loop in autotools configure scripts + sed -i '/export -f command_not_found_handle/d' "$pkgdir/usr/share/pkgtools/pkgfile-hook.bash" +} + +# vim:set ts=2 sw=2 et: diff --git a/community-staging/pkgtools/pkgtools.install b/community-staging/pkgtools/pkgtools.install new file mode 100644 index 000000000..bcbf2f85c --- /dev/null +++ b/community-staging/pkgtools/pkgtools.install @@ -0,0 +1,66 @@ +_MSG_UPDATE=" - Make sure to run pkgfile --update before use" +_MSG_CRON=" - An entry has been placed in /etc/cron.daily to run pkgfile --update + If you do not want this functionality, set UPDATE_CRON=0 in /etc/pkgtools/pkgfile.conf" +_MSG_HOOK=" - pkgfile includes a \"command not found\" hook for both zsh and bash. + This will automatically run pkgfile whenever you run + a command which the shell cannot find. If you want + this functionality, set CMD_SEARCH_ENABLED to 1 in + /etc/pkgtools/pkgfile.conf (or per-user by copying + that file to \${XDG_CONFIG_HOME}/pkgtools/pkgfile.conf), then + in your current shell run: + source /etc/profile" + +is_update_from() { + res="`vercmp $1 $2`" + case $res in + '-1'|'0') return 0;; + '1') return 1;; + esac +} + +## arg 1: the new package version +post_install() { + echo "$_MSG_UPDATE" + echo "$_MSG_HOOK" + echo "$_MSG_CRON" +} + +## arg 1: the new package version +## arg 2: the old package version +post_upgrade() { + if is_update_from $2 11-1; then + echo " - All bugs related to pkgfile -b should be fixed in this update." + fi + if is_update_from $2 12-1; then + echo " - NOTE: pkgtools' \"command not found\" hook configuration has changed." + echo " Please remove any old symlinks relating to it." + echo "$_MSG_HOOK" + fi + if is_update_from $2 15-1; then + echo " - pkgtools now uses \$XDG_CONFIG_HOME for all user-specific configuration." + echo " run «mv ~/.pkgtools \"\$XDG_CONFIG_HOME/pkgtools\"»" + fi + if is_update_from $2 18-1; then + echo " - newpkg has been rewritten to be completely modular. See here for more info: http://github.com/Daenyth/pkgtools/commit/2d37197" + fi + if is_update_from $2 19-1; then + echo " ! This version contains an important bugfix for pkgfile. Previously, package updates would cause the pkgfile --update cron job to" + echo " regain +x mode, causing updates to run even when manually disabled. This version disables the cronjob by setting UPDATE_CRON=0" + echo " in /etc/pkgtools/pkgfile.conf" + echo " - This version of pkgtools contains a new tool called 'maintpkg'" + echo " It sets the Maintainer in a PKGBUILD to your PACKAGER while preserving old Contributors" + fi + if is_update_from $2 22-1; then + echo " - This is the largest release in a long time. This updates all python scripts to py3k." + echo " - This version of pkgtools includes a new tool called gem2arch, for automating ruby gem packaging" + fi +} + +## arg 1: the old package version +post_remove() { + cat << _EOM + - You may want to clean /var/cache/pkgtools/lists +_EOM +} + +# vim:set ts=2 sw=2 et filetype=sh: |