Date: Monday, September 13, 2010 @ 06:21:36 Author: pierre Revision: 90539
pkgstats 2.1 * added quiet mode * install weekly cron job by default * run pkgstats as user nobody Added: pkgstats/trunk/pkgstats.cron Modified: pkgstats/trunk/PKGBUILD pkgstats/trunk/pkgstats.sh ---------------+ PKGBUILD | 16 +++++++++------- pkgstats.cron | 2 ++ pkgstats.sh | 31 +++++++++++++++++++------------ 3 files changed, 30 insertions(+), 19 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2010-09-13 10:13:53 UTC (rev 90538) +++ PKGBUILD 2010-09-13 10:21:36 UTC (rev 90539) @@ -2,16 +2,18 @@ # Maintainer: Pierre Schmitz <pie...@archlinux.de> pkgname=pkgstats -pkgver=2.0 -pkgrel=2 +pkgver=2.1 +pkgrel=1 pkgdesc='submits a list of installed packages to the Arch Linux project' arch=('any') -url='http://www.archlinux.de' +url='https://www.archlinux.de' license=('GPL') -depends=('bash' 'curl' 'pacman' 'sed' 'coreutils') -source=('pkgstats.sh') -md5sums=('b825b1eaf0a496822cf7bf5eeff6d27d') +depends=('bash' 'curl' 'pacman' 'sed' 'coreutils' 'cron' 'sudo') +source=('pkgstats.sh' 'pkgstats.cron') +md5sums=('0c44b3f03d8e52645cf2bf8ef17084d5' + '2c6f81aa4881ce890ec71c2a7fb6f8e1') -build() { +package() { install -D -m755 ${srcdir}/pkgstats.sh ${pkgdir}/usr/bin/pkgstats + install -D -m744 ${srcdir}/pkgstats.cron ${pkgdir}/etc/cron.weekly/pkgstats } Added: pkgstats.cron =================================================================== --- pkgstats.cron (rev 0) +++ pkgstats.cron 2010-09-13 10:21:36 UTC (rev 90539) @@ -0,0 +1,2 @@ +#!/bin/sh +sudo -n -u nobody -- /usr/bin/pkgstats -q Modified: pkgstats.sh =================================================================== --- pkgstats.sh 2010-09-13 10:13:53 UTC (rev 90538) +++ pkgstats.sh 2010-09-13 10:21:36 UTC (rev 90539) @@ -1,7 +1,9 @@ #!/bin/bash -pkgstatsver='2.0' +pkgstatsver='2.1' showonly=false +quiet=false +option='-q -s -S' usage() { echo "usage: ${0} [option]" @@ -11,21 +13,24 @@ echo ' -h show this help' echo ' -s show what information would be sent' echo ' (but do not send anything)' + echo ' -q be quiet except on errors' echo '' - echo 'pkgstats sends a list of all installed packages and' - echo 'the architecture you are using to the Arch Linux project.' + echo 'pkgstats sends a list of all installed packages,' + echo 'the architecture and the mirror you are using' + echo 'to the Arch Linux project.' } -while getopts 'vdhs' option; do - case ${option} in +while getopts 'vdhsq' parameter; do + case ${parameter} in v) echo "pkgstats, version ${pkgstatsver}"; exit 0;; - d) debug='-v';; + d) option="${option} --trace-ascii -";; s) showonly=true;; - *) usage; exit 0;; + q) quiet=true;; + *) usage; exit 1;; esac done -echo 'Collecting data...' +${quiet} || echo 'Collecting data...' pkglist="$(mktemp --tmpdir pkglist.XXXXXX)" pacman -Qq > "${pkglist}" arch="$(uname -m)" @@ -38,15 +43,17 @@ echo "arch=${arch}" echo "pkgstatsver=${pkgstatsver}" echo "mirror=${mirror}" + echo "quiet=${quiet}" else - echo 'Submitting data...' - curl ${debug} -f -H 'Expect: ' \ + ${quiet} || echo 'Submitting data...' + curl ${option} -H 'Expect: ' \ + -A "pkgstats/${pkgstatsver}" \ --data-urlencode "packa...@${pkglist}" \ --data-urlencode "arch=${arch}" \ - --data-urlencode "pkgstatsver=${pkgstatsver}" \ --data-urlencode "mirror=${mirror}" \ + --data-urlencode "quiet=${quiet}" \ 'https://www.archlinux.de/?page=PostPackageList' \ - || echo 'Sorry, package list could not be sent.' + || echo 'Sorry, data could not be sent.' >&2 fi rm -f "${pkglist}"