[Mageia-sysadm] Mass rebuild

Pascal Terjan pterjan at gmail.com
Wed Dec 5 23:57:06 CET 2012


On Wed, Dec 5, 2012 at 9:50 PM, nicolas vigier <boklm at mars-attacks.org> wrote:
> On Wed, 05 Dec 2012, Pascal Terjan wrote:
>
>> I was thinking about it tonight
>>
>> Rebuilding everything takes 1 week building one package at a time
>>
>> If we temporarily added sucuk and rabbit as build nodes (twice each
>> like the two other) and submitted all packages, it would take less
>> than 24h.
>
> Good idea.
>
>> The hardest part being to bump the release in all specs (not sure how
>> many have some strange way to set the release)
>
> By the way I have added yesterday a script that can be used to rebuild
> a list of packages :
> http://svnweb.mageia.org/soft/release/trunk/rebuild-packages?revision=6577&view=markup
>
> It will keep at most 6 packages in todo queue so that other people can
> still submit packages without waiting too much. And it is using
> Youri::Package::RPM::Updater to bump the release in the spec before
> submitting. According to module documentation it supports cases like :
>
>   Release:   x
>
> and :
>
>   %define release x
>   Release: %{release}
>
> but not more complex cases. I don't know if a lot of packages use
> something more complex to set release.

I am testing it, there are not that many failing but I guess that will
be over a hundred so it would be good to test in the code if it
succeeded

Good news is that several of them does not seem to have ever been
uploaded so they don't matter

Some of them have release %mkrel 0 and the code fails to handle that
but this should be easy to fix (Unable to extract release number from
value '0'), that would fix a lot of the ones in the list

        croak "Unable to extract release number from value '$value'"
            unless $number;

Changing it to unless defined($number); should do the trick

Beginning of the list (until c) with unpatched code:

[pterjan at chopin cauldron-auto]$ for s in */*.spec; do perl
-mYouri::Package::RPM::Updater -e
"Youri::Package::RPM::Updater->new()->update_from_spec('$s')"
>/dev/null 2>&1 ; svn diff $s | grep -q . || echo $s; done
CharLS/CharLS.spec
akonadi/akonadi.spec
alsa-oss/alsa-oss.spec
antlr3/antlr3.spec
avant-window-navigator/avant-window-navigator.spec
awn-extras-applets/awn-extras-applets.spec
axis14/axis14.spec
b43-tools/b43-tools.spec
barbecue/barbecue.spec
biew/biew.spec
cagibi/cagibi.spec
ceylon/ceylon.spec
cglib21/cglib21.spec
chmsee/chmsee.spec
cnetworkmanager/cnetworkmanager.spec
create/create.spec
cross-mipsel-gcc/cross-mipsel-gcc.spec
cross-ppc-binutils/cross-ppc-binutils.spec

Same after adding defined():

[pterjan at chopin cauldron-auto]$ for s in */*.spec; do perl
-mYouri::Package::RPM::Updater -e
"Youri::Package::RPM::Updater->new()->update_from_spec('$s')"
>/dev/null 2>&1 ; svn diff $s | grep -q . || echo $s; done
alsa-oss/alsa-oss.spec
antlr3/antlr3.spec
axis14/axis14.spec
b43-tools/b43-tools.spec
biew/biew.spec
chmsee/chmsee.spec
cross-mipsel-gcc/cross-mipsel-gcc.spec
cross-ppc-binutils/cross-ppc-binutils.spec


More information about the Mageia-sysadm mailing list