Hello community, here is the log from the commit of package yup checked in at Tue Oct 24 13:47:21 CEST 2006. -------- --- yup/yup.changes 2006-09-27 10:47:45.000000000 +0200 +++ /mounts/work_src_done/NOARCH/yup/yup.changes 2006-10-24 09:45:48.000000000 +0200 @@ -1,0 +2,43 @@ +Tue Oct 24 09:45:07 CEST 2006 - meissner@suse.de + +- fixed the regular expressions for the sysconfig + variable range. [:xdigit:]{32} -> ^[[:xdigit:]]{32}$ + +------------------------------------------------------------------- +Thu Oct 12 18:07:23 CEST 2006 - rdassen@novell.com + +- SLES9's bash does not support `+=' for adding to strings. Changed to good + old foo="$foo bar" idiom. + +------------------------------------------------------------------- +Wed Oct 11 15:50:09 CEST 2006 - rdassen@novell.com + +- Reworked error handling again. +- Keep using "set -e". The error handling philosophy used is one of exception + handling: catch and handle "expected" errors, but error out immediately on + unexpected errors. +- Do not exit immediately when a download of non-metadata (like an individual + RPM or patch file) fails, but record the error and do a delayed error exit + at the end (similar to tar's error handling). +- Replaced the + command | while read line; do ... done + idiom by + command > tempfile + { + while read line; do ... done + } < tempfile + With the first idiom, the while loop runs as a separate process, which + complicates keeping track of errors that have been caught. With the second + idiom, the while loop runs in the same process so we can simply use a + variable to track errors. +- Allocate and clean up a second temporary file for use with this idiom. + Renamed variable name for the first temporary file for clarity. +- Track errors that are caught using a variable "errorlog". + +------------------------------------------------------------------- +Tue Oct 10 23:34:00 CEST 2006 - mge@suse.de + +- add YUP_DEBUGINFO; possible fix for Bug #208545 +- add YUP_SDK + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yup.spec ++++++ --- /var/tmp/diff_new_pack.OIXfdp/_old 2006-10-24 13:47:02.000000000 +0200 +++ /var/tmp/diff_new_pack.OIXfdp/_new 2006-10-24 13:47:02.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package yup (Version 18) +# spec file for package yup (Version 47) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -14,14 +14,14 @@ %if 0%{suse_version} < 1010 %define curl_name curl %define curl_version 7.15.5 -BuildRequires: libidn-devel openssl-devel -License: MPL, GPL +License: GNU General Public License (GPL) - all versions, MOZILLA PUBLIC LICENSE (MPL/NPL) %else -License: MPL, GPL +License: GNU General Public License (GPL) - all versions, MOZILLA PUBLIC LICENSE (MPL/NPL) BuildArch: noarch %endif -Version: 18 -Release: 2 +BuildRequires: libidn-devel openssl-devel +Version: 47 +Release: 1 Summary: "Yum Update Proxy" for SLE 10 Maintenance Source0: yup.sh Source1: yup.sysconfig @@ -37,7 +37,6 @@ %endif Group: System/YaST BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: perl Requires: curl %description @@ -147,6 +146,37 @@ fi %changelog -n yup +* Tue Oct 24 2006 - meissner@suse.de +- fixed the regular expressions for the sysconfig + variable range. [:xdigit:]{32} -> ^[[:xdigit:]]{32}$ +* Thu Oct 12 2006 - rdassen@novell.com +- SLES9's bash does not support `+=' for adding to strings. Changed to good + old foo="$foo bar" idiom. +* Wed Oct 11 2006 - rdassen@novell.com +- Reworked error handling again. +- Keep using "set -e". The error handling philosophy used is one of exception + handling: catch and handle "expected" errors, but error out immediately on + unexpected errors. +- Do not exit immediately when a download of non-metadata (like an individual + RPM or patch file) fails, but record the error and do a delayed error exit + at the end (similar to tar's error handling). +- Replaced the + command | while read line; do ... done + idiom by + command > tempfile + { + while read line; do ... done + } < tempfile + With the first idiom, the while loop runs as a separate process, which + complicates keeping track of errors that have been caught. With the second + idiom, the while loop runs in the same process so we can simply use a + variable to track errors. +- Allocate and clean up a second temporary file for use with this idiom. + Renamed variable name for the first temporary file for clarity. +- Track errors that are caught using a variable "errorlog". +* Tue Oct 10 2006 - mge@suse.de +- add YUP_DEBUGINFO; possible fix for Bug #208545 +- add YUP_SDK * Tue Sep 26 2006 - rdassen@novell.com - Propagate exit values for non-simple commands to really exit at errors. - Use "yup" in the name of temp files. ++++++ yup.1.pod ++++++ --- yup/yup.1.pod 2006-09-25 15:15:47.000000000 +0200 +++ /mounts/work_src_done/NOARCH/yup/yup.1.pod 2006-10-12 17:49:33.000000000 +0200 @@ -48,7 +48,7 @@ =item YUP_CURLPARAMS -Standard parameters for curl: --digest is vital, default F<--silent --digest --remote-time> +Standard parameters for curl: --digest is vital for autentication, --verbose and --fail are necessary for correct error handling, default F<--verbose --digest --remote-time --fail> =item YUP_DEST_DIR @@ -93,10 +93,20 @@ =item YUP_ARCH Architecture to mirror, default: F<i586> +SPACE separated list. =item YUP_PRODUCTS -Products to mirror (SLES10 and/or SLED10 with or without SDK10), default: SLES10 +Products to mirror (SLES10 and/or SLED10), default: SLES10. For DebugInfo and SDK see: YUP_DEBUGINFO, YUP_SDK. +SPACE separated list. + +=item YUP_DEBUGINFO + +Include DebugInfo in mirror? Default: F<no> Enable with F<yes>. + +=item YUP_SDK + +Include SDK in mirror? Default: F<no> Enable with F<yes>. =back ++++++ yup.sh ++++++ --- yup/yup.sh 2006-09-27 10:47:16.000000000 +0200 +++ /mounts/work_src_done/NOARCH/yup/yup.sh 2006-10-12 18:25:38.000000000 +0200 @@ -32,21 +32,31 @@ # Proxy. The resulting configuration can be found in # /etc/sysconfig/proxy and /root/.curlrc (authentication data). # -# $Id: yup.sh 15 2006-09-19 13:14:20Z mge $ +# $Id: yup.sh 44 2006-10-12 16:25:37Z mge $ # # Fail on errors in simple commands. -set -e +# set -e -# Obtain a temporary file which we will use to capture command output -TMPFILE=$(mktemp -t yup.XXXXXXXXXX) -if test "x$TMPFILE" = "x" ; then +# Keep a log of errors that cause a delayed exit +errorlog="" + +# Obtain a temporary file which we will use to capture curl command output +CURLTMPFILE=$(mktemp -t yup.XXXXXXXXXX) +if test "x$CURLTMPFILE" = "x" ; then + echo "Failed to create temp file" + exit 1 +fi + +# Obtain another temporary file which we will use for loop data +LOOPTMPFILE=$(mktemp -t yup.XXXXXXXXXX) +if test "x$LOOPTMPFILE" = "x" ; then echo "Failed to create temp file" exit 1 fi # Clean up after us -trap "rm -f $TMPFILE" EXIT +trap "rm -f $CURLTMPFILE $LOOPTMPFILE" EXIT function fetch_url() { # Wrapper function: url [localfile] @@ -63,7 +73,7 @@ # Fetch the URL. As this command may fail, run it in a subshell so # as not to exit immediately. - ( $YUP_CURL $YUP_CURLPARAMS $url -o $localfile > $TMPFILE 2>&1 ) + ( $YUP_CURL $YUP_CURLPARAMS $url -o $localfile > $CURLTMPFILE 2>&1 ) rc=$? if [ $rc -eq 0 ] ; then echo "done" @@ -71,10 +81,11 @@ echo "FAILED with exit code $rc" echo "Failure details:" echo "----------------------------------------------------------------------------" - cat $TMPFILE + cat $CURLTMPFILE echo "----------------------------------------------------------------------------" - echo "Exiting" - exit 1 + return $rc + # echo "Exiting" + # exit 1 fi return 0 } @@ -100,7 +111,16 @@ echo "YUP_SERVER ="${YUP_SERVER:="update.novell.com"} echo "YUP_DEST_DIR ="${YUP_DEST_DIR:="/tmp/SLE10-YUP"} echo "YUP_ARCH ="${YUP_ARCH:="i586"} -echo "YUP_PRODUCTS ="${YUP_PRODUCTS:="SLES10"} +if [ "$YUP_DEBUGINFO." = "yes." ] ; then + YUP_PRODUCTS="${YUP_PRODUCTS:=SLES10} SLE10-Debug" +else + YUP_PRODUCTS="${YUP_PRODUCTS:=SLES10}" +fi +if [ "$YUP_SDK." = "yes." ] ; then + YUP_PRODUCTS="$YUP_PRODUCTS SDK10" +fi +echo "YUP_PRODUCTS =$YUP_PRODUCTS" + # if [ "$YUP_ID." = "." ] || [ "$YUP_PASS." = "." ] ; then if [ "$YUP_ID_SLED." = "." ] || [ "$YUP_PASS_SLED." = "." ] ; then @@ -140,6 +160,15 @@ if [ "$YUP_SERVER_SLES." != "." ] ; then useSERVER=$YUP_SERVER_SLES fi + elif [ "$SLE." = "SLE10-Debug." ]; then + UPD="SLE10-Debuginfo-Updates/sles-10" + if [ "$YUP_ID_SLES." != "." ] && [ "$YUP_PASS_SLES." != "." ] ; then + useID=$YUP_ID_SLES + usePASS=$YUP_PASS_SLES + fi + if [ "$YUP_SERVER_SLES." != "." ] ; then + useSERVER=$YUP_SERVER_SLES + fi elif [ "$SLE." = "SLED10." ]; then UPD="SLED10-Updates/sled-10" if [ "$YUP_ID_SLED." != "." ] && [ "$YUP_PASS_SLED." != "." ] ; then @@ -172,7 +201,7 @@ # exit 1 fi - bn="https://${useID}:${usePASS}@${useSERVER}/repo/\$RCE/${UPD}-${useARCH}/" + bn="https://${useID}:${usePASS}@${useSERVER}/repo/\$RCE/${UPD}-${useARCH}" echo "Using $bn" @@ -191,45 +220,72 @@ fetch_url "$bn/repodata/patches.xml" "repodata/patches.xml" # Download all the rpms mentioned in primary.xml.gz for the YUM repo. - zcat repodata/primary.xml.gz|grep location.href| while read line ; do - uri=`echo "$line"|sed -e 's/^[^"]*"//;s/".*$//;'` - dn=`dirname $uri` - test -d $dn || mkdir -p $dn - test -f "$uri" || fetch_url "$bn/$uri" "$uri" - echo $uri - done || exit $? - - # Download all the repo-md patches, cross check with SHA1 sum for changed ones. - grep -E "(location.href|checksum.type..sha)" repodata/patches.xml| while read line ; do - echo "$line"|grep "checksum.type..sha" >/dev/null - res=$? - if [ "$res" == "0" ]; then - sha1=`echo "$line"|sed -e 's/^.*sha">//;s/<.checksum.*$//;'` - else + zcat repodata/primary.xml.gz|grep location.href > $LOOPTMPFILE + { + while read line ; do uri=`echo "$line"|sed -e 's/^[^"]*"//;s/".*$//;'` dn=`dirname $uri` test -d $dn || mkdir -p $dn - nsum=`sha1sum "$uri"|sed -e 's/ .*//;'` - if [ "x$nsum" != "x$sha1" ]; then - echo "$uri is bad ($nsum / $sha1), reloading" - rm -f "$uri" + if ! test -f "$uri"; then + if ! fetch_url "$bn/$uri" "$uri" ; then + errorlog="$errorlog $bn/$uri" + fi fi - test -f "$uri" || fetch_url "$bn/$uri" "$uri" echo $uri - fi - done || exit $? + done + } < $LOOPTMPFILE + + # Download all the repo-md patches, cross check with SHA1 sum for changed ones. + grep -E "(location.href|checksum.type..sha)" repodata/patches.xml > $LOOPTMPFILE + { + while read line ; do + echo "$line"|grep "checksum.type..sha" >/dev/null + res=$? + if [ "$res" == "0" ]; then + sha1=`echo "$line"|sed -e 's/^.*sha">//;s/<.checksum.*$//;'` + else + uri=`echo "$line"|sed -e 's/^[^"]*"//;s/".*$//;'` + dn=`dirname $uri` + test -d $dn || mkdir -p $dn + nsum=`sha1sum "$uri"|sed -e 's/ .*//;'` + if [ "x$nsum" != "x$sha1" ]; then + echo "$uri is bad ($nsum / $sha1), reloading" + rm -f "$uri" + fi + if ! test -f "$uri" ; then + if ! fetch_url "$bn/$uri" "$uri" ; then + errorlog="$errorlog $bn/$uri" + fi + fi + echo $uri + fi + done || exit $? + } < $LOOPTMPFILE # Download all the patch and delta rpms mentioned in the patches. - grep location.href repodata/patch-*.xml| while read line ; do - uri=`echo "$line"|sed -e 's/^[^"]*"//;s/".*$//;'` - dn=`dirname $uri` - test -d $dn || mkdir -p $dn - test -f "$uri" || fetch_url "$bn/$uri" "$uri" - echo $uri - done || exit $? + grep location.href repodata/patch-*.xml > $LOOPTMPFILE + { + while read line ; do + uri=`echo "$line"|sed -e 's/^[^"]*"//;s/".*$//;'` + dn=`dirname $uri` + test -d $dn || mkdir -p $dn + if ! test -f "$uri" ; then + if ! fetch_url "$bn/$uri" "$uri" ; then + errorlog="$errorlog $bn/$uri" + fi + fi + echo $uri + done || exit $? + } < $LOOPTMPFILE done || exit $? done || exit $? +if test "x$errorlog" != "x"; then + echo "Error exit delayed from previous errors" + echo "Problematic URIs were: $errorlog" + exit 1 +fi + # # Finis Africae # ++++++ yup.sysconfig ++++++ --- yup/yup.sysconfig 2006-09-25 15:15:47.000000000 +0200 +++ /mounts/work_src_done/NOARCH/yup/yup.sysconfig 2006-10-24 10:13:07.000000000 +0200 @@ -57,7 +57,7 @@ # YUP_DEST_DIR="" -## Type: regexp([:xdigit:]) +## Type: regexp(^[[:xdigit:]]{32}$) ## Default: "" # # Machine ID: this value is in @@ -67,7 +67,7 @@ # YUP_ID="" -## Type: regexp([:xdigit:]) +## Type: regexp(^[[:xdigit:]]{32}$) ## Default: "" # # Machine Secret: this value is in @@ -84,7 +84,7 @@ # YUP_SERVER="update.novell.com" -## Type: regexp([:xdigit:]) +## Type: regexp(^[[:xdigit:]]{0,32}$) ## Default: "" # # Machine ID: this value is in @@ -94,7 +94,7 @@ # YUP_ID_SLED="" -## Type: regexp([:xdigit:]) +## Type: regexp(^[[:xdigit:]]{0,32}$) ## Default: "" # # Machine Secret: this value is in @@ -111,7 +111,7 @@ # YUP_SERVER_SLED="" -## Type: regexp([:xdigit:]) +## Type: regexp(^[[:xdigit:]]{0,32}$) ## Default: "" # # Machine ID: this value is in @@ -121,7 +121,7 @@ # YUP_ID_SLES="" -## Type: regexp([:xdigit:]) +## Type: regexp(^[[:xdigit:]]{0,32}$) ## Default: "" # # Machine Secret: this value is in @@ -141,14 +141,30 @@ ## Type: string(i586,ppc,s390x,ia64,x86_64) ## Default: "i586" # -# Architecture(s) to mirror +# Architecture(s) to mirror - SPACE separated list # YUP_ARCH="" -## Type: string("SLES10","SLED10","SLES10 SDK10","SLED10 SDK10","SLES10 SLED10 SDK10") +## Type: string("SLES10","SLED10","SLES10 SLED10") ## Default: "SLES10" # -# Products to mirror (SLES, SLED, with or without SDK) +# Products to mirror (SLES and/or SLED) +# For DebugInfo and SDK see: YUP_DEBUGINFO, YUP_SDK +# SPACE separated list # YUP_PRODUCTS="" +## Type: yesno +## Default: "no" +# +# Include DebugInfo in mirror? +# +YUP_DEBUGINFO="no" + +## Type: yesno +## Default: "no" +# +# Include SDK in mirror? +# +YUP_SDK="no" + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org