[xml/sgml] cvs-buildpackage quickstart

Mark Johnson mrj@debian.org
Thu, 6 Nov 2003 22:39:30 -0500


Hi Ardo,

Would you be willing to write another 'cvs-buildpackage quickstart'
based on all the goodies you've added and shared with us?

Cheers,
Mark


On Thursday, November 6, Ardo van Rangelrooij wrote:
> Mark Johnson (mrj@debian.org) wrote:
> > > > P.S. If anyone needs help using cvs-buildpackage tools
> > > > to put the stuff under CVS, I can give a quick summary.
> > > 
> > > I would really appreciate that Mark, as working with cvs-buildpackage is
> > > not something I have done before.
> > 
> > Me neither, till yesterday.
> > 
> > I still haven't learned how to upgrade to a new upstream version, I'll
> > have to add that later.
> 
>     cvs-upgrade <package_name> <new_version> <old_version>
> 
> Actually, I'm using a home-grown script that also updates the local checked
> out version and updated the changelog:
> 
>     #!/bin/bash
>     ## ----------------------------------------------------------------------
>     ## src-upgrade : 
>     ## ----------------------------------------------------------------------
> 
>     ## ----------------------------------------------------------------------
>     set -e
> 
>     ## ----------------------------------------------------------------------
>     package=${1}
>     upstream=${2}
>     debian=${3}
> 
>     ## ----------------------------------------------------------------------
>     cvs-upgrade ${package} ${upstream} ${debian}
>     cvs upd -jupstream_version_${debian//\./_} -jupstream_version_${upstream//\./_}
>     debchange --preserve --newversion ${upstream}-1 'New upstream release'
> 
>     ## ----------------------------------------------------------------------
> 
> and it's called the same as cvs-upgrade:
> 
>     src-upgrade package_name new_version old_version
> 
> > BTW, this is from the HOWTO included with cvs-buildpackage: 
> > 
> > 1. Setting your environment
> > --------------------------
> > export CVS_RSH=ssh
> > export CVSROOT=:ext:USERNAME@cvs.alioth.debian.org:/cvsroot/debian-xml-sgml
> > 
> > 
> > 2. Defining modules
> > -------------------
> >    Checkout CVSROOT and add module entries for your packages. Note
> >    that this isn't necessary, just convenient. It allows you to
> >    checkout your package by typing 'cvs co libxslt'
> > 
> >    In the CVSROOT/modules file, add a line for each package:
> > 
> >    libxslt	packages/libxslt 
> > 
> >    Then check it back in:    cvs ci -m 'Added module for libxslt.
> > 
> > 
> > 3. Putting sources into CVS
> > ---------------------------
> > 
> >    Assuming you have created a set of files for upload, including the
> >    orig.tar.gz, the .dsc. and the diff.gz file, just type:
> > 
> > 	cvs-inject <path to .dsc file>
> 
> For initial packages just copy the upstream tarball to the .orig.tar.gz
> in /usr/local/src/Packages/<package_name> and use:
> 
>     cvs-upgrade <package_name> <upstream_version>
> 
> >   Expect to type your password a zillion times. I dunno how to get
> >   around this - maybe Ardo does. (Also, I'm not sure whether it
> 
> Did you put your public SSH key in ~/.ssh/authorized_keys on Alioth ???
> Just do 'ssh alioth.debian.org' and setup your home directory.
> 
> >   matters that /etc/cvsdeb.conf has 'conf_prefix=packages', but I'd
> >   check, just to be sure.)
> 
> My /etc/cvsdeb.conf doesn't have the prefix and I also don't like it.  It
> requires updating the CVSROOT/modules file.  I prefer the packages to be
> directly under the $ROOT.  Less hassle.
> 
> > 4. Check out your sources, make changes, check them in
> > ------------------------------------------------------
> >    
> > 	cvs co libxslt
> > 
> > 	[...make changes...]
> > 
> > 	cvs ci -m 'Checkin message'
> > 
> > 
> > 5. Build your packages from CVS
> > -------------------------------
> >    From the top level directory of your checked out package tree, type:
> > 
> > 	cvs-buildpackage -d -F -rfakeroot -kUSERNAME
> 
> You can put the following in your ~/.cvsdeb.conf so you don't have to type
> the '-rfakeroot' all the time:
> 
>     conf_rootcommand=fakeroot
> 
> Why do you use '-d'?  That tells me if I missed something needed for the
> build.
> 
> > 	- type password a few times, when prompted
> > 
> > 	Your package should be built in /usr/local/src/Packages/libxslt
> > 
> > 	Note: you might need to make the above directory first.
> > 
> > 
> > That's it. Now you can upload the package as usual.
> 
> Don't forget to run it through 'pbuilder' which nicely checks whether you've
> missed a build dependency.
> 
> Thanks,
> Ardo
> -- 
> Ardo van Rangelrooij
> home email: ardo@debian.org
> home page:  http://people.debian.org/~ardo
> GnuPG fp:   3B 1F 21 72 00 5C 3A 73  7F 72 DF D9 90 78 47 F9
> 
> _______________________________________________
> Debian-xml-sgml-devel mailing list
> Debian-xml-sgml-devel@lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/debian-xml-sgml-devel

-- 
_____________________________________
Mark Johnson        <mark@dulug.duke.edu>
Debian XML/SGML     <mrj@debian.org>
Home Page:          <http://dulug.duke.edu/~mark/>
GPG fp: 50DF A22D 5119 3485 E9E4  89B2 BCBC B2C8 2BE2 FE81