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

Thomas Bächler thomas at nymeria.archlinux.org
Fri Mar 28 21:16:14 UTC 2014


    Date: Friday, March 28, 2014 @ 22:16:13
  Author: thomas
Revision: 208936

archrelease: copy trunk to testing-any

Added:
  pkgstats/repos/testing-any/
  pkgstats/repos/testing-any/PKGBUILD
    (from rev 208935, pkgstats/trunk/PKGBUILD)
  pkgstats/repos/testing-any/pkgstats.install
    (from rev 208935, pkgstats/trunk/pkgstats.install)
  pkgstats/repos/testing-any/pkgstats.service
    (from rev 208935, pkgstats/trunk/pkgstats.service)
  pkgstats/repos/testing-any/pkgstats.sh
    (from rev 208935, pkgstats/trunk/pkgstats.sh)
  pkgstats/repos/testing-any/pkgstats.timer
    (from rev 208935, pkgstats/trunk/pkgstats.timer)

------------------+
 PKGBUILD         |   25 ++++++++++++++++
 pkgstats.install |    3 ++
 pkgstats.service |    8 +++++
 pkgstats.sh      |   79 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 pkgstats.timer   |    7 ++++
 5 files changed, 122 insertions(+)

Copied: pkgstats/repos/testing-any/PKGBUILD (from rev 208935, pkgstats/trunk/PKGBUILD)
===================================================================
--- testing-any/PKGBUILD	                        (rev 0)
+++ testing-any/PKGBUILD	2014-03-28 21:16:13 UTC (rev 208936)
@@ -0,0 +1,25 @@
+# $Id$
+# Maintainer: Pierre Schmitz <pierre at archlinux.de>
+
+pkgname=pkgstats
+pkgver=2.3
+pkgrel=4
+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.{timer,service})
+install='pkgstats.install'
+md5sums=('2943bc8c69999d8e3c0bd9b368a3f17b'
+         '2285089dff45f583c27b9d561fda5405'
+         '5225a0bb6d32a3bbf89821f841f4eb8c')
+
+package() {
+	install -D -m755 ${srcdir}/pkgstats.sh ${pkgdir}/usr/bin/pkgstats
+	install -D -m644 ${srcdir}/pkgstats.timer ${pkgdir}/usr/lib/systemd/system/pkgstats.timer
+	install -D -m644 ${srcdir}/pkgstats.service ${pkgdir}/usr/lib/systemd/system/pkgstats.service
+	install -d -m755 ${pkgdir}/usr/lib/systemd/system/multi-user.target.wants
+	ln -s ../pkgstats.timer ${pkgdir}//usr/lib/systemd/system/multi-user.target.wants/pkgstats.timer
+}

Copied: pkgstats/repos/testing-any/pkgstats.install (from rev 208935, pkgstats/trunk/pkgstats.install)
===================================================================
--- testing-any/pkgstats.install	                        (rev 0)
+++ testing-any/pkgstats.install	2014-03-28 21:16:13 UTC (rev 208936)
@@ -0,0 +1,3 @@
+post_install() {
+	echo "For information about pkgstats see https://bbs.archlinux.org/viewtopic.php?id=105431"
+}

Copied: pkgstats/repos/testing-any/pkgstats.service (from rev 208935, pkgstats/trunk/pkgstats.service)
===================================================================
--- testing-any/pkgstats.service	                        (rev 0)
+++ testing-any/pkgstats.service	2014-03-28 21:16:13 UTC (rev 208936)
@@ -0,0 +1,8 @@
+[Unit]
+Description=Submit pkgstats
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/pkgstats -q
+User=nobody
+Group=nobody

Copied: pkgstats/repos/testing-any/pkgstats.sh (from rev 208935, pkgstats/trunk/pkgstats.sh)
===================================================================
--- testing-any/pkgstats.sh	                        (rev 0)
+++ testing-any/pkgstats.sh	2014-03-28 21:16:13 UTC (rev 208936)
@@ -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

Copied: pkgstats/repos/testing-any/pkgstats.timer (from rev 208935, pkgstats/trunk/pkgstats.timer)
===================================================================
--- testing-any/pkgstats.timer	                        (rev 0)
+++ testing-any/pkgstats.timer	2014-03-28 21:16:13 UTC (rev 208936)
@@ -0,0 +1,7 @@
+[Unit]
+Description=Weekly pkgstats submission
+
+[Timer]
+OnCalendar=weekly
+AccuracySec=1d
+Persistent=true




More information about the arch-commits mailing list