Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 167093 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]
Patch to make getdelta.sh work with EAPI=2
getdelta-eapi2.patch (text/plain), 7.48 KB, created by
Martin Väth
on 2008-10-03 14:51:04 UTC
(
hide
)
Description:
Patch to make getdelta.sh work with EAPI=2
Filename:
MIME Type:
Creator:
Martin Väth
Created:
2008-10-03 14:51:04 UTC
Size:
7.48 KB
patch
obsolete
>--- getdelta.sh >+++ getdelta.sh >@@ -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,9 +468,10 @@ > 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) >+NEW_FILE=$2 >+[ -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 +480,7 @@ > # dtu files. > if [ "${NEW_FILE}" = "metadata.dtd" ] || [ "$GETDELTA" = "0" ] > then >- $FETCH $@ >+ $FETCHNAME "$NEW_FILE" "$ORIG_URI" > exit $? > fi > >@@ -516,7 +521,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 +532,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 +587,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 +662,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 +674,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,10 +703,10 @@ > > # 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}") >@@ -761,20 +766,20 @@ > done > fi > >- if [ -f ${best_candidate}-${NEW_FILE}.failed ] >+ if [ -f "${best_candidate}-${NEW_FILE}.failed" ] > 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 >+ rm -rf -- "${best_candidate}-${NEW_FILE}.failed" > 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