[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