[arch-commits] Commit in pkgstats/repos (5 files)

Pierre Schmitz pierre at nymeria.archlinux.org
Mon Oct 21 11:58:22 UTC 2013


    Date: Monday, October 21, 2013 @ 13:58:22
  Author: pierre
Revision: 196972

archrelease: copy trunk to testing-any

Added:
  pkgstats/repos/testing-any/
  pkgstats/repos/testing-any/PKGBUILD
    (from rev 196971, pkgstats/trunk/PKGBUILD)
  pkgstats/repos/testing-any/pkgstats.cron
    (from rev 196971, pkgstats/trunk/pkgstats.cron)
  pkgstats/repos/testing-any/pkgstats.install
    (from rev 196971, pkgstats/trunk/pkgstats.install)
  pkgstats/repos/testing-any/pkgstats.sh
    (from rev 196971, pkgstats/trunk/pkgstats.sh)

------------------+
 PKGBUILD         |   20 +++++++++++++
 pkgstats.cron    |    2 +
 pkgstats.install |    4 ++
 pkgstats.sh      |   79 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 105 insertions(+)

Copied: pkgstats/repos/testing-any/PKGBUILD (from rev 196971, pkgstats/trunk/PKGBUILD)
===================================================================
--- testing-any/PKGBUILD	                        (rev 0)
+++ testing-any/PKGBUILD	2013-10-21 11:58:22 UTC (rev 196972)
@@ -0,0 +1,20 @@
+# $Id$
+# Maintainer: Pierre Schmitz <pierre at archlinux.de>
+
+pkgname=pkgstats
+pkgver=2.3
+pkgrel=3
+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' 'grep')
+source=('pkgstats.sh' 'pkgstats.cron')
+install='pkgstats.install'
+md5sums=('2943bc8c69999d8e3c0bd9b368a3f17b'
+         '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 196971, pkgstats/trunk/pkgstats.cron)
===================================================================
--- testing-any/pkgstats.cron	                        (rev 0)
+++ testing-any/pkgstats.cron	2013-10-21 11:58:22 UTC (rev 196972)
@@ -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 196971, pkgstats/trunk/pkgstats.install)
===================================================================
--- testing-any/pkgstats.install	                        (rev 0)
+++ testing-any/pkgstats.install	2013-10-21 11:58:22 UTC (rev 196972)
@@ -0,0 +1,4 @@
+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 196971, pkgstats/trunk/pkgstats.sh)
===================================================================
--- testing-any/pkgstats.sh	                        (rev 0)
+++ testing-any/pkgstats.sh	2013-10-21 11:58:22 UTC (rev 196972)
@@ -0,0 +1,79 @@
+#!/bin/bash
+
+pkgstatsver='2.3'
+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)"
+moduleslist="$(mktemp --tmpdir modules.XXXXXX)"
+trap 'rm -f "${pkglist}" "${moduleslist}"' EXIT
+pacman -Qq > "${pkglist}"
+if [[ -f /proc/modules ]]; then
+	awk '{ print $1 }' /proc/modules > "${moduleslist}"
+fi
+arch="$(uname -m)"
+if [[ -f /proc/cpuinfo ]]; then
+	if grep -qE '^flags\s*:.*\slm\s' /proc/cpuinfo; then
+		cpuarch='x86_64'
+	else
+		cpuarch='i686'
+	fi
+else
+	cpuarch=''
+fi
+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 "cpuarch=${cpuarch}"
+	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 "cpuarch=${cpuarch}" \
+		--data-urlencode "mirror=${mirror}" \
+		--data-urlencode "quiet=${quiet}" \
+		'https://www.archlinux.de/?page=PostPackageList' \
+	|| echo 'Sorry, data could not be sent.' >&2
+fi




More information about the arch-commits mailing list