[arch-commits] Commit in pkgstats/repos (5 files)
Pierre Schmitz
pierre at archlinux.org
Fri Jul 27 06:29:44 UTC 2012
Date: Friday, July 27, 2012 @ 02:29:43
Author: pierre
Revision: 164187
archrelease: copy trunk to testing-any
Added:
pkgstats/repos/testing-any/
pkgstats/repos/testing-any/PKGBUILD
(from rev 164186, pkgstats/trunk/PKGBUILD)
pkgstats/repos/testing-any/pkgstats.cron
(from rev 164186, pkgstats/trunk/pkgstats.cron)
pkgstats/repos/testing-any/pkgstats.install
(from rev 164186, pkgstats/trunk/pkgstats.install)
pkgstats/repos/testing-any/pkgstats.sh
(from rev 164186, pkgstats/trunk/pkgstats.sh)
------------------+
PKGBUILD | 20 +++++++++++++++
pkgstats.cron | 2 +
pkgstats.install | 10 +++++++
pkgstats.sh | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 101 insertions(+)
Copied: pkgstats/repos/testing-any/PKGBUILD (from rev 164186, pkgstats/trunk/PKGBUILD)
===================================================================
--- testing-any/PKGBUILD (rev 0)
+++ testing-any/PKGBUILD 2012-07-27 06:29:43 UTC (rev 164187)
@@ -0,0 +1,20 @@
+# $Id$
+# Maintainer: Pierre Schmitz <pierre at archlinux.de>
+
+pkgname=pkgstats
+pkgver=2.2
+pkgrel=1
+pkgdesc='submits a list of installed packages to the Arch Linux project'
+arch=('any')
+url='https://www.archlinux.de'
+license=('GPL')
+depends=('bash' 'curl' 'pacman' 'sed' 'coreutils' 'cron' 'awk')
+source=('pkgstats.sh' 'pkgstats.cron')
+install='pkgstats.install'
+md5sums=('93ab636b7a02d89ecd852e28c7e2a07c'
+ 'e86e6b9778303367f2e31f5c311da685')
+
+package() {
+ install -D -m755 ${srcdir}/pkgstats.sh ${pkgdir}/usr/bin/pkgstats
+ install -D -m744 ${srcdir}/pkgstats.cron ${pkgdir}/etc/cron.weekly/pkgstats
+}
Copied: pkgstats/repos/testing-any/pkgstats.cron (from rev 164186, pkgstats/trunk/pkgstats.cron)
===================================================================
--- testing-any/pkgstats.cron (rev 0)
+++ testing-any/pkgstats.cron 2012-07-27 06:29:43 UTC (rev 164187)
@@ -0,0 +1,2 @@
+#!/bin/sh
+su -s /bin/bash -c '/usr/bin/pkgstats -q' nobody
Copied: pkgstats/repos/testing-any/pkgstats.install (from rev 164186, pkgstats/trunk/pkgstats.install)
===================================================================
--- testing-any/pkgstats.install (rev 0)
+++ testing-any/pkgstats.install 2012-07-27 06:29:43 UTC (rev 164187)
@@ -0,0 +1,10 @@
+post_upgrade() {
+ if [ "$(vercmp $2 2.1-4)" -lt 0 ]; then
+ post_install
+ fi
+}
+
+post_install() {
+ echo "Note: A weekly cronjob was installed to /etc/cron.weekly/pkgstats"
+ echo " For more information see https://bbs.archlinux.org/viewtopic.php?id=105431"
+}
Copied: pkgstats/repos/testing-any/pkgstats.sh (from rev 164186, pkgstats/trunk/pkgstats.sh)
===================================================================
--- testing-any/pkgstats.sh (rev 0)
+++ testing-any/pkgstats.sh 2012-07-27 06:29:43 UTC (rev 164187)
@@ -0,0 +1,69 @@
+#!/bin/bash
+
+pkgstatsver='2.2'
+showonly=false
+quiet=false
+option='-q -s -S -4'
+
+usage() {
+ echo "usage: ${0} [option]"
+ echo 'options:'
+ echo ' -v show the version of pkgstats'
+ echo ' -d enable debug mode'
+ 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,'
+ echo 'the architecture and the mirror you are using'
+ echo 'to the Arch Linux project.'
+ echo ''
+ echo 'Statistics are available at https://www.archlinux.de/?page=Statistics'
+}
+
+while getopts 'vdhsq' parameter; do
+ case ${parameter} in
+ v) echo "pkgstats, version ${pkgstatsver}"; exit 0;;
+ d) option="${option} --trace-ascii -";;
+ s) showonly=true;;
+ q) quiet=true;;
+ *) usage; exit 1;;
+ esac
+done
+
+${quiet} || echo 'Collecting data...'
+pkglist="$(mktemp --tmpdir pkglist.XXXXXX)"
+pacman -Qq > "${pkglist}"
+moduleslist="$(mktemp --tmpdir modules.XXXXXX)"
+if [[ -f /proc/modules ]]; then
+ cat /proc/modules | awk '{ print $1 }' > "${moduleslist}"
+fi
+arch="$(uname -m)"
+mirror="$(pacman -Sddp extra/pkgstats 2>/dev/null | sed -E 's#(.*/)extra/os/.*#\1#;s#(.*://).*@#\1#')"
+
+if ${showonly}; then
+ echo 'packages='
+ cat "${pkglist}"
+ echo ''
+ echo 'modules='
+ cat "${moduleslist}"
+ echo ''
+ echo "arch=${arch}"
+ echo "pkgstatsver=${pkgstatsver}"
+ echo "mirror=${mirror}"
+ echo "quiet=${quiet}"
+else
+ ${quiet} || echo 'Submitting data...'
+ curl ${option} -H 'Expect: ' \
+ -A "pkgstats/${pkgstatsver}" \
+ --data-urlencode "packages@${pkglist}" \
+ --data-urlencode "modules@${moduleslist}" \
+ --data-urlencode "arch=${arch}" \
+ --data-urlencode "mirror=${mirror}" \
+ --data-urlencode "quiet=${quiet}" \
+ 'https://www.archlinux.de/?page=PostPackageList' \
+ || echo 'Sorry, data could not be sent.' >&2
+fi
+
+rm -f "${pkglist}"
More information about the arch-commits
mailing list