[arch-projects] [devtools][PATCH] add -n option to community/archco to create new packages

Florian Pritz bluewind at xinu.at
Sun Jul 24 10:45:50 EDT 2011


Signed-off-by: Florian Pritz <bluewind at xinu.at>
---
 Makefile    |    2 +-
 archco      |   41 +++++++++++++++++++++++++++++++++++++++--
 communityco |   10 ----------
 3 files changed, 40 insertions(+), 13 deletions(-)
 delete mode 100755 communityco

diff --git a/Makefile b/Makefile
index 8772bc0..27cefba 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,6 @@ BINPROGS = \
 	checkpkg \
 	commitpkg \
 	archco \
-	communityco \
 	archrelease \
 	archrm \
 	archbuild \
@@ -57,6 +56,7 @@ install:
 	install -m0644 ${CONFIGFILES} $(DESTDIR)/usr/share/devtools
 	for l in ${COMMITPKG_LINKS}; do ln -sf commitpkg $(DESTDIR)/usr/bin/$$l; done
 	for l in ${ARCHBUILD_LINKS}; do ln -sf archbuild $(DESTDIR)/usr/bin/$$l; done
+	ln -sf archco $(DESTDIR)/usr/bin/communityco
 	install -Dm0644 bash_completion $(DESTDIR)/etc/bash_completion.d/devtools
 
 uninstall:
diff --git a/archco b/archco
index 5fc9ebe..098cf31 100755
--- a/archco
+++ b/archco
@@ -1,10 +1,47 @@
 #!/bin/bash
 
+scriptname=${0##*/}
+CREATE=
+STARTDIR=$PWD
+
 if [ "$1" = '' ]; then
-	echo 'Usage: archco <package name> [<package name>]'
+	echo 'Usage: '$scriptname' [options] <package name> [<package name>]'
+	echo "Options:"
+	echo "   -n     create new packages and check them out"
 	exit 1
 fi
 
+case $scriptname in
+	archco)
+		SVNURL="svn+ssh://gerolde.archlinux.org/srv/svn-packages";;
+	communityco)
+		SVNURL="svn+ssh://aur.archlinux.org/srv/svn-packages";;
+	*)
+		echo "error: couldn't find svn url for $scriptname"
+		exit 1
+		;;
+esac
+
+if [[ $1 = "-n" ]]; then
+	CREATE=1
+	shift
+
+	TMPDIR=$(mktemp -d /tmp/$scripname.XXXXXXXX)
+	trap "rm -rf $TMPDIR" EXIT INT TERM
+
+	cd $TMPDIR
+	svn checkout -N "$SVNURL" svn
+
+fi
+
 for i in "$@"; do
-	svn co svn+ssh://gerolde.archlinux.org/srv/svn-packages/$i
+	if (($CREATE)); then
+		cd $TMPDIR/svn
+		mkdir -p "$i/"{repos,trunk}
+		svn add "$i"
+		svn commit -m "add new package: $i"
+		cd $STARTDIR
+	fi
+
+	svn co "$SVNURL/$i"
 done
diff --git a/communityco b/communityco
deleted file mode 100755
index 0909db1..0000000
--- a/communityco
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-if [ "$1" = '' ]; then
-	echo 'Usage: communityco <package name> [<package name>]'
-	exit 1
-fi
-
-for i in "$@"; do
-	svn co svn+ssh://aur.archlinux.org/srv/svn-packages/$i
-done
-- 
1.7.6


More information about the arch-projects mailing list