On 09/10/13 12:54, Allan McRae wrote:
> On 02/10/13 03:23, Lukáš Jirkovský wrote:
>> Previously, the sources in $srcdir were always removed prior building.
>>
>> After this change the sources are only updated. This makes
>> incremental builds possible. Also this goes in line with the current 
>> behaviour
>> for other types of sources, where the sources are just being overwritten 
>> without
>> being removed first.
>> ---
> 
> Patch seems to be broken:
> 
> makepkg: line 586: unexpected EOF while looking for matching ``'
> makepkg: line 3188: syntax error: unexpected end of file
> 

This is all due to the use of backticks noted below and how they get
mangled when using m4.

>>  scripts/makepkg.sh.in | 34 ++++++++++++++++++++++------------
>>  1 file changed, 22 insertions(+), 12 deletions(-)
>>
>> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
>> index 67ec240..90df60c 100644
>> --- a/scripts/makepkg.sh.in
>> +++ b/scripts/makepkg.sh.in
>> @@ -516,9 +516,11 @@ extract_bzr() {
>>  
>>      msg2 "$(gettext "Creating working copy of %s %s repo...")" "${repo}" 
>> "bzr"
>>      pushd "$srcdir" &>/dev/null
>> -    rm -rf "${dir##*/}"
>>  
>> -    if ! { bzr checkout "$dir" "${revision[@]}" --lightweight &&
>> +    if [[ -d "${dir##*/}" ]]; then
>> +            cd_safe "${dir##*/}"
>> +            bzr update
>> +    elif ! { bzr checkout "$dir" "${revision[@]}" --lightweight &&
>>              ( cd "$repo" && bzr pull "$dir" -q --overwrite "${revision[@]}" 
>> ); }; then
>>              error "$(gettext "Failure while creating working copy of %s %s 
>> repo")" "${repo}" "bzr"
>>              plain "$(gettext "Aborting...")"
>> @@ -580,9 +582,12 @@ extract_git() {
>>  
>>      msg2 "$(gettext "Creating working copy of %s %s repo...")" "${repo}" 
>> "git"
>>      pushd "$srcdir" &>/dev/null
>> -    rm -rf "${dir##*/}"
>> -
>> -    if ! git clone "$dir"; then
>> +    if [[ -d "${dir##*/}" ]]; then
>> +            pushd `pwd` &>/dev/null
> 
> Why is the pushd/popd needed here?   And backticks are bad.
> 
>> +            cd_safe "${dir##*/}"
>> +            git pull
>> +            popd &>/dev/null
>> +    elif ! git clone "$dir"; then
>>              error "$(gettext "Failure while creating working copy of %s %s 
>> repo")" "${repo}" "git"
>>              plain "$(gettext "Aborting...")"
>>              exit 1
>> @@ -607,7 +612,7 @@ extract_git() {
>>      fi
>>  
>>      if [[ -n $ref ]]; then
>> -            if ! git checkout -b makepkg $ref; then
>> +            if ! git checkout -B makepkg $ref; then
>>                      error "$(gettext "Failure while creating working copy 
>> of %s %s repo")" "${repo}" "git"
>>                      plain "$(gettext "Aborting...")"
>>                      exit 1
>> @@ -662,7 +667,6 @@ extract_hg() {
>>  
>>      msg2 "$(gettext "Creating working copy of %s %s repo...")" "${repo}" 
>> "hg"
>>      pushd "$srcdir" &>/dev/null
>> -    rm -rf "${dir##*/}"
>>  
>>      local ref
>>      if [[ -n $fragment ]]; then
>> @@ -677,7 +681,10 @@ extract_hg() {
>>              esac
>>      fi
>>  
>> -    if ! hg clone "${ref[@]}" "$dir" "${dir##*/}"; then
>> +    if [[ -d "${dir##*/}" ]]; then
>> +            cd_safe "${dir##*/}"
>> +            hg pull -u
>> +    elif ! hg clone "${ref[@]}" "$dir" "${dir##*/}"; then
>>              error "$(gettext "Failure while creating working copy of %s %s 
>> repo")" "${repo}" "hg"
>>              plain "$(gettext "Aborting...")"
>>              exit 1
>> @@ -739,7 +746,6 @@ extract_svn() {
>>  
>>      msg2 "$(gettext "Creating working copy of %s %s repo...")" "${repo}" 
>> "svn"
>>      pushd "$srcdir" &>/dev/null
>> -    rm -rf "${dir##*/}"
>>  
>>      local ref
>>      if [[ -n $fragment ]]; then
>> @@ -754,16 +760,20 @@ extract_svn() {
>>              esac
>>      fi
>>  
>> -    cp -a "$dir" .
>> -
>>      if [[ -n ${ref} ]]; then
>> -            cd_safe "$(get_filename "$netfile")"
>> +            cd_safe "$dir"
>>              if ! svn update -r ${ref}; then
>>                      error "$(gettext "Failure while creating working copy 
>> of %s %s repo")" "${repo}" "svn"
>>                      plain "$(gettext "Aborting...")"
>>              fi
>>      fi
>>  
>> +    if [[ -d "${dir##*/}" ]]; then
>> +            cp -au "$dir" "$srcdir"
>> +    else
>> +            cp -a "$dir" .
>> +    fi
>> +
>>      popd &>/dev/null
>>  }
>>  
>>
> 
> 
> 
> 


Reply via email to