[Mageia-sysadm] Packages SVN

Michael Scherer misc at zarb.org
Tue Nov 2 00:24:09 CET 2010


Le lundi 01 novembre 2010 à 16:25 +0100, nicolas vigier a écrit :
> Hello,
> 
> To avoid the problem of a growing svn repository full of old tarballs, I
> think it is a good time to start using separate repositories for binary
> files.
> 
> repsys has a branch called "binrepo-svn" with support for separate
> binary repositories :
> http://git.mandriva.com/?p=projects/repsys.git;a=summary
> The README file is interesting :
> http://git.mandriva.com/?p=projects/repsys.git;a=blob;f=BRANCH;h=ebb87c7d6d20daa476ed49990b150ac45b02ddf4;hb=binrepo-svn
> 
> About packages import, I would not import a copy of Mandriva svn, but
> instead do something like this :
>   for file in *.src.rpm
>   do
>     mdvsys import $file
>   done
> We lose all svn history, but it allows us to have a much smaller
> repository (without all the tarballs history), and we can keep a
> readonly copy of Mandriva repository somewhere for reference.
> 
> What do you think ?

My main fear would be that this code is basically untested. So could we
please do a full test run before ( like let people test the repository
at least once before declaring this is "production" )
?

We should write a test procedure, with error cases :
= import =
 - import a package
 - import a binary rpm
 - import a random file ( and see it doesn't work ) 
 - reimport a rpm already present
= checkout = 
 - checkout a package 
 - checkout a package that do not exist yet
 - commit a change
 - commit something that violate something fobidden by hook
 - change the tarball and commit it
  
= submit  
 - submit it
 - submit a non existing rpm 
 - submit a rpm with some problem in the srpm 
  - missing macros
 - submit a rpm without increasing the release/version
 - submit a older rpm 
 - submit a rpm that violate some youri rules ( or rpmlint one )

= build =
 - build a rpm
 - build a rpm that do not work
   - missing builddeps ( ie, at rpm level )
   - error in the build ( segfault, missing file )
   - over capacity ( memory, disk space )
 - build a backport
 - build a update
 - build a rpm  with arch and noarch
 - build rpm with ArchExcluded
 - build a rpm for only one of the 2 arch ( or even no valid arch, like
sparc )

and maybe test the robustness of every component ( ie, how does the
server react if we stop ecosse/jonund, how does the main scheduler work
if we stop something else, etc ).

I tried to be exhaustive, but I guess I wasn't, so do not hesitate to
complete :)

-- 
Michael Scherer



More information about the Mageia-sysadm mailing list