Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 244945 Details for
Bug 239439
[PATCH] app-portage/getdelta-0.7.8 breaks with EAPI=2
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
getdelta-eapi2.patch
getdelta-eapi2.patch (text/plain), 9.12 KB, created by
Eretik
on 2010-08-27 14:00:30 UTC
(
hide
)
Description:
getdelta-eapi2.patch
Filename:
MIME Type:
Creator:
Eretik
Created:
2010-08-27 14:00:30 UTC
Size:
9.12 KB
patch
obsolete
>--- getdelta.sh 2007-07-13 16:30:26.000000000 +0000 >+++ getdelta.sh 2010-08-26 23:59:07.762999995 +0000 >@@ -25,6 +25,9 @@ > VERSION="0.7" > > # Changelog >+# version 0.7.9 2008/10/08 >+# - add second parameter for destination name (EAPI=2) >+# - quote more carefully > # version 0.7.8 2007/07/13 > # - added option -O to call of emerge when finding mirrors > # - replaced some calls of coreutils with bash-internals >@@ -326,13 +329,13 @@ > > remove() { > output "${GREEN}You have chosen to remove ${CYAN}$1\n" >- pushd ${DISTDIR} >/dev/null 2>&1 >+ pushd -- "${DISTDIR}" >/dev/null 2>&1 > removeme=true > for n in $(grep -v "^#" ${DO_NOT_REMOVE}) > do > grep -q $n <<< "$1" && removeme=false && output "${CYAN}${1}${RED} is not deleted, since it matches ${n} in ${DO_NOT_REMOVE}" > done >- $removeme && rm -f $1 >+ $removeme && rm -f -- "$1" > popd >/dev/null 2>&1 > } > >@@ -349,7 +352,7 @@ > -e "s/src4/srcDDD/g" \ > -e "s/src5/srcEEE/g" \ > -e "s/src6/srcFFF/g" \ >- -e "s/src7/srcGGG/g" <<< $MASK_FILENAME) >+ -e "s/src7/srcGGG/g" <<< "$MASK_FILENAME") > fi > > # ignore PR for src-files of firefox >@@ -375,7 +378,7 @@ > -e "s/rc//g" \ > -e "s/[\._-]//g" \ > -e "s/\+//g" \ >- -e "s/ //g" <<< $MASK_FILENAME) >+ -e "s/ //g" <<< "$MASK_FILENAME") > } > > # create or update a config-file >@@ -384,6 +387,7 @@ > add_to_configfile LOCAL_MIRROR "" "set this to one or more (space separated) URI ending with '/' if you want to check one or more local mirror(s) first\n# most people just leave it empty." > add_to_configfile DELTUP_SERVER "http://linux01.gwdg.de/~nlissne/deltup.php" "deltup-server to use" > add_to_configfile FETCH "/usr/bin/wget -t 1 --passive-ftp" "command to use for downloading" >+add_to_configfile FETCHNAME "\$FETCH -O" "command to use for downloading; first parameter is the filename, second the url" > add_to_configfile QUEUERETRY 15 "number of seconds to wait before a queued request is retried" > add_to_configfile MAXIMUM_ACCEPTABLE_QUEUEPOS "15" "the maximum queuepos you would accept (if higher download full archive instead)" > add_to_configfile QUEUETIMEOUT 900 "when a dtu-request is queued - how long should we wait max. before downloading the original archive instead (in seconds)" >@@ -424,14 +428,14 @@ > add_to_donotremove "^rp-pppoe" > > >-if [ -z $1 ] >+if [ -z "$1" ] > then > COLOR=true > echo -e "${YELLOW}getdelta.sh version ${VERSION}" > echo "This script has to be called like this:" > echo -e "${CYAN}$0 <URI>" > echo -e "\n${YELLOW}To use it, you should just put the following line into your /etc/make.conf" >- echo -e "${GREEN}FETCHCOMMAND=\"$0 \\\${URI}\"" >+ echo -e "${GREEN}FETCHCOMMAND=\"$0 \\\"\\\${URI}\\\" \\\"\\\${FILE}\\\"\"" > echo -e "\n${YELLOW}There is a config-file ${CYAN}${GETDELTA_CONFIGFILE}${YELLOW} with some variables to control the behaviour of this script." > echo -e "Edit it to your needs.${NORMAL}" > exit 1 >@@ -464,10 +468,12 @@ > output "use getdelta.sh for your FETCHCOMMAND, only." && > sleep 5 && exit 1 > >-pushd $DISTDIR >/dev/null 2>/dev/null >+pushd -- "$DISTDIR" >/dev/null 2>/dev/null > ORIG_URI=$1 > NEW_FILE=$(basename $ORIG_URI) > >+[ -z "${NEW_FILE}" ] && NEW_FILE=${ORIG_URI##*/} >+ > # repoman downloads metadata.dtd with FETCHCOMMAND > # this should not be done with getdelta - so just fetch the file and exit > >@@ -475,7 +481,7 @@ > # dtu files. > if [ "${NEW_FILE}" = "metadata.dtd" ] || [ "$GETDELTA" = "0" ] > then >- $FETCH $@ >+ $FETCHNAME "$NEW_FILE" "$ORIG_URI" > exit $? > fi > >@@ -516,7 +522,7 @@ > # > output "${GREEN}Searching for a previously downloaded file in ${YELLOW}${DISTDIR}\n" > >-first_chars=$(sed 's/[[:digit:]][[:print:]]*$//' <<< $NEW_FILE) >+first_chars=$(sed 's/[[:digit:]][[:print:]]*$//' <<< "$NEW_FILE") > length_first_chars=${#first_chars} > [ $length_first_chars -lt 3 ] && first_chars="${NEW_FILE:0:2}" > >@@ -527,7 +533,7 @@ > let len1=${#mask} > filelist="" > >-for name in $( ls ${first_chars}* 2>/dev/null ) >+for name in $( ls -- "${first_chars}"* 2>/dev/null ) > do > mask2=$(mask_name "${name}") > # add any file, that results in the same mask or differ not more than two letters >@@ -582,7 +588,7 @@ > > # find matching part of filename - first: frontmatch > x=0; >- a=($NEW_FILE $filelist) >+ a=("$NEW_FILE" $filelist) > match="" > while [ -z "$match" ] > do >@@ -657,7 +663,7 @@ > FILE_IS_CORRUPT=false > if $CHECK_OLD_FILE > then >- file_digest=$(grep -h ${best_candidate} ${FILESDIR}/digest-* | sed -n 1p) >+ file_digest=$(grep -h ${best_candidate} "${FILESDIR}"/digest-* | sed -n 1p) > if [ "$file_digest" ] > then > file_md5=$(cut -d ' ' -f2 <<< "$file_digest") >@@ -669,7 +675,7 @@ > FILE_IS_CORRUPT=true > fi > else >- if [ $(rev <<< ${best_candidate} | cut -d. -f2 | rev) = "tar" ] >+ if [ $(rev <<< "${best_candidate}" | cut -d. -f2 | rev) = "tar" ] > then > output "${YELLOW}Could not find a digest-file for ${CYAN}${best_candidate}${YELLOW}. Testing file integrity with tar.\n" > if ! tar -tf ${best_candidate} >/dev/null >@@ -698,17 +704,16 @@ > > # Remember where we are, and go to a new dir there we can work > tmp_dwn_dest="${DISTDIR}/.getdelta-`date +%N`-tmp" >- mkdir ${tmp_dwn_dest} >+ mkdir -- "${tmp_dwn_dest}" > # If user abort Ctrl+C (signal 2), remove tmp-dir; enabable trap again and send it again to stop wget >- trap "rm -r ${tmp_dwn_dest}; trap 2; kill -2 $$" 2 >- pushd ${tmp_dwn_dest} >/dev/null 2>&1 >+ trap 'rm -r -- "${tmp_dwn_dest}"; trap 2; kill -2 '$$ 2 >+ pushd -- "${tmp_dwn_dest}" >/dev/null 2>&1 > > # thanks to MATSUI Fe2+ Tetsushi for idea and patch > FILESIZE=$(stat -c %s "${DISTDIR}/${best_candidate}") > let TIMELIMIT=${FILESIZE}/${BANDWIDTH} > [[ $TIMELIMIT -lt $QUEUETIMEOUT ]] && QUEUETIMEOUT=$TIMELIMIT >- >- if $FETCH "${DELTUP_SERVER}${query}" >+ if $FETCH "${DELTUP_SERVER}${query}" -O ${best_candidate}-${NEW_FILE}.dtu > then > # thanks to deelkar for this much more elegant solution to the "broken pipe" problem with "head -n1" > GOTFILE=$(ls -c | sed -n 1p) >@@ -718,15 +723,15 @@ > # may have sento to us. > > # first: the request have been queued >- if [ "${GOTFILE}" = "deltup-queued" ] >+# if [ "${GOTFILE}" = "deltup-queued" ] >+ if [[ "$(file -bi ${GOTFILE}|cut -d ";" -f1)" != "application/x-bzip2" && "$(cat ${GOTFILE}|cut -d "," -f1)" != "sorry" ]] > then > let QTMOUT=$(date +%s)+QUEUETIMEOUT >- while [ -f deltup-queued ] >+ while [ "$(file -bi ${GOTFILE}|cut -d ";" -f1)" != "application/x-bzip2" ] > do > output "${GREEN}destination file: ${CYAN}${NEW_FILE}\n" >- output "${YELLOW}$(cat deltup-queued)" >- QUEUEPOS=$(grep "has been queued" deltup-queued | cut -d. -f2 | cut -d")" -f1) >- rm -f deltup-queued >+ output "${YELLOW}$(cat ${GOTFILE})" >+ QUEUEPOS=$(grep "has been queued" ${GOTFILE} | cut -d. -f2 | cut -d")" -f1) > TSTAMP=$(date +%s) > if ((TSTAMP<QTMOUT)) && ((QUEUEPOS<=MAXIMUM_ACCEPTABLE_QUEUEPOS)) > then >@@ -741,7 +746,7 @@ > sleep 1 > done > echo -n -e "${NORMAL}" >- $FETCH "${DELTUP_SERVER}${query}" >+ $FETCH "${DELTUP_SERVER}${query}" -O ${best_candidate}-${NEW_FILE}.dtu > GOTFILE=$(ls -c | sed -n 1p) > else > if ((TSTAMP>=QTMOUT)) >@@ -761,20 +766,20 @@ > done > fi > >- if [ -f ${best_candidate}-${NEW_FILE}.failed ] >+ if [ "$(cat ${GOTFILE}|cut -d "," -f1)" = "sorry" ] > then > output "\n${RED}The server could not build the dtu-file for ${NEW_FILE}\n" >- output "${YELLOW}reason:\n${RED}$(cat ${best_candidate}-${NEW_FILE}.failed)\n" >- rm -rf ${best_candidate}-${NEW_FILE}.failed >+ output "${YELLOW}reason:\n${RED}$(cat ${GOTFILE})\n" >+ rm -rf -- "${GOTFILE}" > fi > >- if [ -f ${best_candidate}-${NEW_FILE}.dtu ] >+ if [ -f "${best_candidate}-${NEW_FILE}.dtu" ] > then > output "${GREEN}Successfully fetched the dtu-file - let's build ${NEW_FILE}...\n" >- downloadsize=$(stat -c %s ${best_candidate}-${NEW_FILE}.dtu) >- if deltup -p -v -D ${DISTDIR} ${best_candidate}-${NEW_FILE}.dtu >+ downloadsize=$(stat -c %s "${best_candidate}-${NEW_FILE}.dtu") >+ if deltup -p -v -D "${DISTDIR}" "${best_candidate}-${NEW_FILE}.dtu" > then >- newsize=$(stat -c %s ${NEW_FILE}) >+ newsize=$(stat -c %s "${NEW_FILE}") > let savedsize=${newsize}-${downloadsize} > let percent=${savedsize}*100/${newsize} > unit="bytes" >@@ -791,8 +796,8 @@ > esac > output "${YELLOW}This dtu-file saved ${UCOLOR}${savedsize} ${unit} (${percent}%)${YELLOW} download size.\n" > fi >- mv -f ${NEW_FILE} ${DISTDIR} && >- ${REMOVE_OLD} && remove "${best_candidate}" >+ mv -f -- "${NEW_FILE}" "${DISTDIR}" && >+ ${REMOVE_OLD} && remove ${best_candidate} > fi > > fi # if $FETCH "${DELTUP_SERVER}${query}" >@@ -812,7 +817,7 @@ > read > fi > popd >/dev/null 2>&1 >- rm -rf ${tmp_dwn_dest} >+ rm -rf -- "${tmp_dwn_dest}" > #stop respond to trap2 > trap 2 > fi # if ! FILE_IS_CORRUPT >@@ -824,10 +829,10 @@ > > # Ok, once we are here, we should have got the delta (and used it) > # or we still have to download the full file >-if ! [ -f ${DISTDIR}/${NEW_FILE} ] >+if ! [ -f "${DISTDIR}/${NEW_FILE}" ] > then > output "${RED}The dtu could not be fetched,${YELLOW} downloading full file from original URL\n" >- $FETCH $ORIG_URI >+ $FETCHNAME "$NEW_FILE" "$ORIG_URI" > # remember we had a fallback to use correct exitcode for portage > FALLBACK=$? > fi
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 239439
:
167093
|
167251
|
205456
|
205457
|
232297
|
233785
|
244655
|
244765
|
244785
|
244945
|
244965