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}"

Reply via email to