OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Thomas Lotterer
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-registry Date: 29-Nov-2005 17:35:18
Branch: HEAD Handle: 2005112916351800
Modified files:
openpkg-registry register.sh rpm.sh
Log:
move registration detection and URL rewrite logic from rpm.sh into
rewrite.sh, making it available to other scripts
Summary:
Revision Changes Path
1.13 +72 -3 openpkg-registry/register.sh
1.5 +5 -46 openpkg-registry/rpm.sh
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-registry/register.sh
============================================================================
$ cvs diff -u -r1.12 -r1.13 register.sh
--- openpkg-registry/register.sh 29 Nov 2005 16:19:27 -0000 1.12
+++ openpkg-registry/register.sh 29 Nov 2005 16:35:18 -0000 1.13
@@ -66,12 +66,28 @@
readconf()
{
- [ ".$conf" = . ] && error "missing information conf"
+ [ ".$conf" = . ] && return
if [ -r "$conf" ]; then
sanitycheck "$conf" && . "$conf"
fi
}
+readuuid()
+{
+ [ ".$REGISTRY_UUID" = . ] && return
+ if [ -r "$REGISTRY_UUID" ]; then
+ sanitycheck "$REGISTRY_UUID" && . "$REGISTRY_UUID"
+ fi
+}
+
+readutil()
+{
+ [ ".$REGISTRY_UTIL" = . ] && return
+ if [ -r "$REGISTRY_UTIL" ]; then
+ sanitycheck "$REGISTRY_UTIL" && . "$REGISTRY_UTIL"
+ fi
+}
+
##
## command line option parsing
##
@@ -103,6 +119,8 @@
help="no"
# iterate over argument line
+declare -a a
+declare -i i=0
while [ $# -gt 0 ]; do
opt=$1
case $opt in
@@ -119,6 +137,10 @@
-C|--convenience ) op="convenience" ;;
-I|--interaction ) op="interaction" ;;
+ # Additional features
+ -S|--printstatus ) op="printstatus" ;;
+ -R|--rewriteurls ) op="rewriteurls" ;;
+
# Standard options
-c|--conf )
if [ ".$arg" = . ]; then shift; arg="$1"; fi
@@ -183,9 +205,14 @@
-h|--help ) help="Usage" ;;
-* ) help="Invalid option \`$opt'"; break ;;
+ # Optional arguments
+ * ) a[$i]="$opt"
+ i=i+1
esac
shift
done
+set -- "[EMAIL PROTECTED]"
+unset i a
# display error or usage message
if [ ".$help" != .no ]; then
@@ -196,9 +223,13 @@
[-v|--verbose] [-h|--help]
[-P|--preparation] [-T|--transaction] [-U|--utilization]
[-C|--convenience] [-I|--interaction]
[-c|--conf=<file>]
- -m|--mode=<mode> [-a|--args=<args>] -u|--user=<user>
[-d|--desc=<text>]
+ -m|--mode=fake|post|wipe [-a|--args=<args>] -u|--user=<user>
[-d|--desc=<text>]
[--uuid=<file>] [--prep=<file>] [--tran=<file>] [--util=<file>]
[--plat=<text>] [--orel=<text>]
+ Usage: $progname :
+ -S|--printstatus
+ Usage: $progname :
+ -R|--rewriteurls [[url]...]]
" 1>&2
if [ ".$help" != ".Usage" ]; then
@@ -454,6 +485,44 @@
}
##
+## Additional feature printstatus
+##
+printstatus()
+{
+ rc=0
+ readconf || error "problem reading conf"
+ readuuid || error "problem reading uuid"
+ readutil || error "problem reading util"
+ if [ ".$REGISTRY_DONE" = .yes ]; then
+ cat "$REGISTRY_UTIL"
+ return 0
+ fi
+ return 1
+}
+
+##
+## Additional feature rewriteurls
+##
+rewriteurls()
+{
+ readconf && readuuid && readutil || return $?
+ if [ ".$REGISTRY_DONE" = .yes ]; then
+ # URL rewriting
+ while [ ".$1" != . ]; do
+ printf '%s\n' "$1" | sed \
+ -e "s;^\(ftp\)://\(ftp.openpkg.com\)/;\1://$UUID_REGISTRY:[EMAIL
PROTECTED]/;" \
+ -e "s;^\(ftp\)://\(ftp.openpkg.org\)/;\1://$UUID_REGISTRY:[EMAIL
PROTECTED]/;" \
+ -e "s;^\(ftp\)://\(ftp.openpkg.net\)/;\1://$UUID_REGISTRY:[EMAIL
PROTECTED]/;"
+ shift
+ done
+ return 0
+ else
+ # stealth mode
+ return 1
+ fi
+}
+
+##
## automatical pick interaction or convenience
##
automatical()
@@ -487,5 +556,5 @@
##
## primary operation switch
##
-eval $op
+eval $op "\"[EMAIL PROTECTED]""
@@ .
patch -p0 <<'@@ .'
Index: openpkg-registry/rpm.sh
============================================================================
$ cvs diff -u -r1.4 -r1.5 rpm.sh
--- openpkg-registry/rpm.sh 28 Nov 2005 07:12:08 -0000 1.4
+++ openpkg-registry/rpm.sh 29 Nov 2005 16:35:18 -0000 1.5
@@ -34,59 +34,18 @@
oldnanewbin="$PREFIX/lib/openpkg/rpm" # old n/a, new binary rpm
if [ -x $oldbinnewsh -a -x $oldnanewbin ]; then exec $oldnanewbin "$@"; fi
-##
-## read configuration unless already done during option parsing
-##
-sanitycheck()
-{
- if [ ".$1" != . -a -r "$1" ]; then
- cat <"$1" | awk '
- BEGIN { rc=0 }
- !/^([A-Z][A-Z0-9_]+[A-Z0-9]="[ !#$%&(-_a-~]+")? *(#.*)?$/ { rc=1
}
- END { exit rc }' && return 0
- fi
- return 1
-}
-
-readconf()
-{
- [ ".$conf" = . ] && return
- if [ -r "$conf" ]; then
- sanitycheck "$conf" && . "$conf"
- fi
-}
-
-readuuid()
-{
- [ ".$REGISTRY_UUID" = . ] && return
- if [ -r "$REGISTRY_UUID" ]; then
- sanitycheck "$REGISTRY_UUID" && . "$REGISTRY_UUID"
- fi
-}
-
-readutil()
-{
- [ ".$REGISTRY_UTIL" = . ] && return
- if [ -r "$REGISTRY_UTIL" ]; then
- sanitycheck "$REGISTRY_UTIL" && . "$REGISTRY_UTIL"
- fi
-}
-
-# Configuration file default and read attempt
-conf="$PREFIX/etc/openpkg/register.conf"; readconf; readuuid; readutil
+# determine wheter URL rewriting is active
+rewrite=0
+$PREFIX/bin/openpkg register --printstatus >/dev/null 2>&1 && rewrite=1
# main
-if [ ".$REGISTRY_DONE" = .yes ]; then
+if [ $rewrite == 1 ]; then
# URL rewriting
declare -a a
declare -i i=0
while [ ".$1" != . ]; do
arg="$1"
- arg=`printf '%s\n' "$arg" | sed \
- -e "s;^\(ftp\)://\(ftp.openpkg.com\)/;\1://$UUID_REGISTRY:[EMAIL
PROTECTED]/;" \
- -e "s;^\(ftp\)://\(ftp.openpkg.org\)/;\1://$UUID_REGISTRY:[EMAIL
PROTECTED]/;" \
- -e "s;^\(ftp\)://\(ftp.openpkg.net\)/;\1://$UUID_REGISTRY:[EMAIL
PROTECTED]/;" \
- `
+ printf '%s\n' "$arg" | grep :// && arg=`$PREFIX/bin/openpkg register
--rewriteurls "$arg"`
a[$i]="$arg"
i=i+1
shift
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [email protected]