Change svn.debian.org to anonscm.debian.org
|Deletions are marked like this.||Additions are marked like this.|
|Line 10:||Line 10:|
|Line 21:||Line 21:|
|Line 41:||Line 41:|
|Line 52:||Line 52:|
|Line 55:||Line 55:|
|Line 80:||Line 80:|
|Line 94:||Line 94:|
|Setting the svn-bp:origURL is set svn-buildpackage will automatically download the tarball.||Setting the svn-bp:origURL is set svn-buildpackage will automatically download the tarball.|
|Line 100:||Line 100:|
|Line 159:||Line 159:|
|svn mkdir svn+ssh://svn.debian.org/svn/pkg-games/packages/tags/<package>||svn mkdir svn+ssh://anonscm.debian.org/svn/pkg-games/packages/tags/<package>|
The SVN repository may be browsed online using a browser via the following link:
The base URI of the repository for authorised SVN access is
To import your package to SVN
apt-get install svn-buildpackage # Import only the files that are touched # by the .diff.gz svn-inject -o -l 2 <package_dsc_file>.dsc \ svn+ssh://anonscm.debian.org/svn/pkg-games/packages/
NOTE: The -l 2 option for svn-inject specifies layout two. You must have svn-buildpackage (>= 0.6.16) to use this option. Another thing to note is bug 411666 - /usr/bin/svn-inject: initial checkout fails. If your package doesn't exist in the SVN, this bug may affect you. The best thing to do is to use svn-buildpackage (>= 0.6.22).
In very seldom cases (like dead upstream) you would probably want the full source in svn instead just of the contents of the .diff.gz. In that case, remove the -o parameter from the command.
Uploading the Source Tarball
Upload the orig tarball for every package that you maintain to the pkg-games' canonical place for them. They will be uploaded and viewable from http://pkg-games.alioth.debian.org/tarballs/
scp <package_name_and_version>.orig.tar.gz \ alioth.debian.org:/home/groups/pkg-games/htdocs/tarballs/
- Next, set the property svn-bp:origUrl of the debian folder of the package to point to the corresponding orig tarball
svn co \ svn+ssh://anonscm.debian.org/svn/pkg-games/packages/trunk/<package_name> cd <package_name> svn propset svn-bp:origUrl \ "http://pkg-games.alioth.debian.org/tarballs/<package_name_and_version>.orig.tar.gz" debian svn ci -N debian -m "origUrl property set for <package_name_and_version>"
To Checkout A Project
svn co \ svn+ssh://anonscm.debian.org/svn/pkg-games/packages/trunk/"packageName"
# Place the .orig.tar.gz in ../tarballs/ # Build the package svn-buildpackage -rfakeroot # or, if you want to make it the build before uploading, and # have svn-buildpackage make a svn tag for you svn-buildpackage --svn-tag -rfakeroot # if you have local changes in your working copy and want to # run a test-build, use the `--svn-ignore' switch like so: svn-buildpackage --svn-ignore -rfakeroot
# example for freecol: $ svn proplist -v debian Properties on 'debian': svn-bp:origUrl : http://pkg-games.alioth.debian.org/tarballs/freecol_0.7.2.orig.tar.gz mergeWithUpstream : 1
To build using pbuilder
pbuilder is a great tool to check that your package will build in a basic Debian system with the proper build-dependencies. It's also useful in avoiding having to install a package's build-dependencies on your system.
First, you will have to setup pbuilder on your system. The HOWTO at https://wiki.ubuntu.com/PbuilderHowto provides a good guide and some good tips in setting up pbuilder.
Afterwards, it should be just a matter of using the --svn-builder option. For example, to use pdebuild and ignore all .svn directories, use:
svn-buildpackage --svn-dont-clean --svn-builder='pdebuild --debbuildopts "-i\.svn/ -I.svn"'
Setting the svn-bp:origURL is set svn-buildpackage will automatically download the tarball.
Alternatively, you can use a simple script as svn-builder. Here's a script taken from the examples from the git-buildpackage package that's been modified to work in the case of svn-buildpackage.
#!/bin/sh # # pbuilder helper from git-buildpackage # use this as "svn-builder" in ~/.svn-buildpackage.conf set -e # pass all options to dpkg-buildpackage: pdebuild $PBUILDER_OPTS --debbuildopts "-i\.svn/ -I.svn $*"
Create a file called svn-pdebuild under /usr/local/bin and add the contents of the above script into the file. Then you can just run:
svn-buildpackage --svn-builder=svn-pdebuild --svn-dont-clean
You can also specify svn-builder using a configuration file at ~/.svn-buildpackage.conf. Create a file at ~/.svn-buildpackage.conf and add this snippet.
Then just run:
Finally, if you need to specify more options for pdebuild's --debbuildopts option, just add them in like you would normally do for --debbuildopts. Here's an example that works using the method that uses ~/.svn-buildpackage.conf.
svn-buildpackage -sa -us -uc
svn-buildpackage will pass any options it doesn't recognize onto whatever command was specified as svn-builder. If you need to specify options for pbuilder, assign each option to PBUILDER_OPTS.
NOTE: The svn-dont-clean option is used since the Debian Games team SVN won't contain upstream source files.
In order to have a lower threshold for someone to step in to help in for a game, some guide lines should be followed when working with the games maintained in our repository.
Thus, here are a few simple rules that should make our lives a little better.
- when a package version it is not released, the topmost entry in the debian/changelog file should contain the string "UNRELEASED" instead of unstable or other valid suite name
# example: boson-base changelog between the released version 0.11-2 and the to be relased 0.11-3 $ head -n1 boson-base/trunk/debian/changelog boson-base (0.11-3) UNRELEASED; urgency=low
This can be acomplished if svn-buildpackage is used when handling releases.
Before releasing, please check that your package is lintian clean.
Due to bug 433536 in svn-buildpackage (which should be fixed in release 0.6.22), the "tags" directory was not created for packages injected using layout 2, the layout used by our team. If you are using an older version of svn-buildpackage or not at all, please make sure that the tags directory for your package exists under the "tags" directory in SVN:
svn mkdir svn+ssh://anonscm.debian.org/svn/pkg-games/packages/tags/<package>
Then you will be able to tag a release.
# make a final build for a package $ svn-buildpackage --svn-tag
If your package is accepted into the Debian archive already, you can save some time by just tagging the release.
svn-buildpackage --svn-tag-only --svn-noautodch
The --svn-noautodch will prevent the changelog from being tagged UNRELEASED.