[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