aboutsummaryrefslogtreecommitdiffstats
path: root/modules/buildsystem/templates/binrepos/upload-bin
diff options
context:
space:
mode:
Diffstat (limited to 'modules/buildsystem/templates/binrepos/upload-bin')
-rwxr-xr-xmodules/buildsystem/templates/binrepos/upload-bin29
1 files changed, 29 insertions, 0 deletions
diff --git a/modules/buildsystem/templates/binrepos/upload-bin b/modules/buildsystem/templates/binrepos/upload-bin
new file mode 100755
index 00000000..ef64a1a3
--- /dev/null
+++ b/modules/buildsystem/templates/binrepos/upload-bin
@@ -0,0 +1,29 @@
+#!/bin/sh
+binrepodir=<%= binrepodir %>
+uploadinfosdir=<%= uploadinfosdir %>
+tmpfile=$(mktemp)
+mail_from="<%= uploadmail_from %>"
+mail_dest="<%= uploadmail_to %>"
+
+test $# = 2 || exit 3
+username="$1"
+comment="$2"
+
+/bin/cat > "$tmpfile"
+sha1sum=$(/usr/bin/sha1sum "$tmpfile" | sed 's/ .*$//')
+if [ -f "$binrepodir/$sha1sum" ]
+then
+ echo "File $sha1sum already exists." >&2
+ /bin/rm -f "$tmpfile"
+ exit 2
+fi
+/bin/mv "$tmpfile" "$binrepodir/$sha1sum"
+/bin/chmod 644 "$binrepodir/$sha1sum"
+echo "$username:$comment" > "$uploadinfosdir/$sha1sum"
+echo "User $username uploaded file $sha1sum: $comment"
+
+echo "User $username uploaded file $sha1sum: $comment" | \
+ /usr/bin/mailx -s "New file uploaded: $sha1sum - $comment" -S "from=$username <$mail_from>" "$mail_dest"
+
+exit 0
+