blino's website

Free software developer and more

Importing an existing source rpm to repsys

Using /usr/local/bin/srpm2svn.sh on the cluster (written by Frederic Lepied).

srpm2svn.sh /SRPMS/contrib/qtparted-0.4.4-6mdk.src.rpm

My version control layout

mkdir -p ~/vc/mandriva/packages/cooker
ln -s ~/vc/mandriva/packages/cooker ~/

Getting package sources from repsys

svn co svn+ssh://svn.mandriva.com/svn/packages/cooker/qtparted ~/cooker

Updating the package source

http://qa.mandriva.com/twiki/bin/view/Main/RepositorySystem#Changing_a_package

cd ~/cooker/qtparted/current
svn up
cp ~/qtparted-0.4.5.tar.bz2 SOURCES
svn add SOURCES/qtparted-0.4.5.tar.bz2
svn rm SOURCES/qtparted-0.4.4.tar.bz2 
# update version in rpm spec file
emacs SPECS/qtparted.spec
# check changes
svn status
svn diff
# commit on svn
svn commit -m "0.4.5"

Testing the package build

http://qa.mandriva.com/twiki/bin/view/Main/RepositorySystem#Testing_a_package

cd ~/cooker/qtparted/current
svn up
# bm basically allows to build the package in current directory
# instead of default rpm top dir
# use -l to see rpm build logs
bm -l

Adding a patch

cd ~/cooker/qtparted/current
svn up
# unpack sources and run %prep
bm -l -p

# do some changes to support parted 1.7
pushd BUILD/qtparted-0.4.5/src
cp -a qp_fswrap.cpp qp_fswrap.cpp.parted1.7
emacs qp_fswrap.cpp
popd

# the following step should be automated
# a "bm_gendiff parted1.7" should be enough
pushd BUILD
gendiff qtparted-0.4.5 .parted1.7 > ../SOURCES/qtparted-0.4.5-parted1.7.patch
popd

svn add SOURCES/qtparted-0.4.5-parted1.7.patch
# add patch field, and "patchX -p1 -b .parted1.7"
emacs SPECS/qtparted.spec
# check changes
svn status
svn diff
# commit on svn
svn commit -m "parted 1.7.x support"

Uploading the package

http://qa.mandriva.com/twiki/bin/view/Main/RepositorySystemSubmitting

Simple way:

Upload qtparted

Detailled process:

repsys getsrpm qtparted
rpm --rebuild @38790:qtparted-0.4.5-1mdv2007.0.src.rpm
youri cooker @38790:qtparted-0.4.5-1mdv2007.0.src.rpm <generated packages>

References

http://qa.mandriva.com/twiki/bin/view/Main/RepositorySystem#Sample_build_session



blosxom Optimised for standards.
Olivier Blin (2005)