[arch-dev-public] [Patch] dbscripts: fix for any arch support

Eric Bélanger snowmaniscool at gmail.com
Tue Aug 18 21:22:55 EDT 2009


On Tue, Aug 18, 2009 at 7:22 PM, Aaron Griffin<aaronmgriffin at gmail.com> wrote:
> On Fri, Aug 14, 2009 at 8:44 PM, Eric Bélanger<snowmaniscool at gmail.com> wrote:
>> Hi,
>>
>> Here is a patch (only provided inline) to fix any arch support to the
>> dbscripts. It will add any support for the sourceball script and
>> probably fix the clean up scripts. It also set the BUILDSCRIPT as it
>> will be no longer defined in makepkg.conf as of pacman 3.3.  The patch
>> for db-update is required as the any arch is treated as a special case
>> (and db-update works with current /arch/config ).
>>
>> Eric
>>
>> --- /arch/config        2009-08-03 12:31:28.000000000 -0400
>> +++ config      2009-08-14 18:32:02.000000000 -0400
>> @@ -8,6 +8,5 @@
>>
>>  STAGING="$HOME/staging"
>>  TMPDIR="/srv/tmp"
>> -ARCHES=(i686 x86_64)
>> -# To be used if $BUILDSCRIPT is removed from makepkg.conf
>> -#BUILDSCRIPT="PKGBUILD"
>> +ARCHES=(i686 x86_64 any)
>> +BUILDSCRIPT="PKGBUILD"
>>
>> --- /arch/db-update     2009-08-03 12:31:28.000000000 -0400
>> +++ db-update   2009-08-14 19:59:27.000000000 -0400
>> @@ -106,6 +106,7 @@
>>
>>  for current_arch in ${ARCHES[@]}; do
>>
>> +    if [ "$current_arch" != "any" ]; then
>>        ftppath="$FTP_BASE/$reponame/os/$current_arch"
>>        ftppath_any="$FTP_BASE/$reponame/os/any"
>>
>> @@ -226,6 +227,7 @@
>>        fi
>>
>>        repo_unlock $reponame $current_arch
>> +    fi
>>  done
>>
>>  if [ -n "$to_add_any" ]; then
>
> Hmmm, In theory this shouldn't be needed, right?
> The db-update script processes the any arch separately, and the
> sourceballs script runs through actual package files
>
> There may be issues with -f checks and the like and symlinks, but I'd
> rather solve it that way. Considering it just loops through every
> package file, it should pick up the symlinks too. If it's not picking
> those up, let's try to fix it there
>
> I just pushed a handful of changes to git, including a change to
> support split packages here... using pkgbase instead of pkgname.
> Untested, of course
>

I think it's needed. The sourceball script use the arch to get the
sourceball name:

    for arch in ${ARCHES[@]}; do
...

srcpkg="${srcpkg//-$arch/}"

About db-update, you could go throught the loops and add tests so that
adding any to ARCHES doen't break anything.

AFAICS, SRCEXT is no longer defined. You should add it to /arch/config


More information about the arch-dev-public mailing list