[Mageia-sysadm] Mass rebuild

Pascal Terjan pterjan at gmail.com
Thu Dec 6 14:26:29 CET 2012


On Thu, Dec 6, 2012 at 12:59 PM, nicolas vigier <boklm at mars-attacks.org> wrote:
> On Wed, 05 Dec 2012, Pascal Terjan wrote:
>
>>
>> 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
>
> Most of them seems to have a release like this :
>
>   Release:      %mkrel 0.7.git%{git_commit_date}
>
> or :
>
>   %define something %mkrel 7
>   Release: %something
>
> (with %something other than %release or %rel)
>
> Maybe we can change those packages to always have a %rel or %release
> macro defined for the part that needs to be bumped in case of rebuild ?
>
> For b43-tools this would be :
>
> Index: SPECS/b43-tools.spec
> ===================================================================
> --- SPECS/b43-tools.spec        (revision 40891)
> +++ SPECS/b43-tools.spec        (working copy)
> @@ -3,10 +3,11 @@
>  %define git_commit 8dc01d7b658dc04c5c500640854c6dba547a3118
>  %define git_commit_date 20090125
>
> +%define rel 7
>
>  Name:          b43-tools
>  Version:       0
> -Release:       %mkrel 0.7.git%{git_commit_date}
> +Release:       %mkrel 0.%{rel}.git%{git_commit_date}
>  Summary:       Tools for the Broadcom 43xx series WLAN chip
>  Group:         System/Configuration/Networking
>  # assembler — GPLv2

Some have different Release scheme dependinf if it is a snapshot or not:

%if %beta
Release:        %mkrel 0.%{pre}
%else
Release:        %mkrel 1
%endif

But same thing seems to work:

[pterjan at chopin cauldron-auto]$ svn diff alsa-oss/alsa-oss.spec
Index: alsa-oss/alsa-oss.spec
===================================================================
--- alsa-oss/alsa-oss.spec      (revision 327057)
+++ alsa-oss/alsa-oss.spec      (working copy)
@@ -4,6 +4,7 @@

 %define lib_major 0
 %define pre rc4
+%define rel 1

 %define lib_name %mklibname %name %lib_major
 %define develname %mklibname -d %name
@@ -17,9 +18,9 @@
 Name:          %name
 Version:       %version
 %if %beta
-Release:       %mkrel 0.%{pre}
+Release:       %mkrel 0.%{pre}.%rel
 %else
-Release:       %mkrel 1
+Release:       %mkrel %rel
 %endif
 Epoch:         1
 Source0:       ftp://ftp.alsa-project.org/pub/oss-lib/%fname.tar.bz2

Was properly updated to have %define rel 2 but good news is that this
package is not on the mirrors :)

I will publish a (quite short) list of packages that can't be updated
and are on the mirrors


More information about the Mageia-sysadm mailing list