Injecting a new package

Using svn-inject

ALIOTH_USER=foo-guest
DSC_FILE=bar_1.2-3.dsc
svn-inject -o ${DSC_FILE} svn+ssh://${ALIOTH_USER}@svn.debian.org/svn/python-apps/packages/

Manually

ALIOTH_USER=foo-guest
PACKAGE_NAME=bar
svn mkdir --parents svn+ssh://${ALIOTH_USER}@svn.debian.org/svn/python-apps/packages/${PACKAGE_NAME}/trunk
svn co svn+ssh://${ALIOTH_USER}@svn.debian.org/svn/python-apps/packages/${PACKAGE_NAME}/trunk ${PACKAGE_NAME}
cd ${PACKAGE_NAME}/

Put your debian directory here and all the other files

mkdir debian   # put other files in there
svn add debian
svn propset mergeWithUpstream 1 debian
svn ci

Building the package

svn co svn+ssh://${ALIOTH_USER}@svn.debian.org/svn/python-apps/packages/${PACKAGE_NAME}/trunk ${PACKAGE_NAME}
# or use the following if anonymous
# svn co svn.debian.org/svn/python-apps/packages/${PACKAGE_NAME}/trunk ${PACKAGE_NAME}
cd ${PACKAGE_NAME}/

Get the orig tarball and put it to ../tarballs and build it (you may also try --svn-download-orig option for svn-buildpackage):

svn-buildpackage -rfakeroot

Hint: put

alias svn-b='svn-buildpackage -rfakeroot --svn-ignore-new  -uc -us'

into your ~/.bashrc and use the svn-b command to build the package with local modification and without signing to test that everything works before a commit.

How to get the tarball with upstream sources?

If the package uses a watch file:

uscan --force-download --rename

Some packages need to get the DFSG-free tarball:

debian/rules get-orig-source

see debian/rules for details, usually it will download the original upstream tar.gz from the web, unpack it, delete non-free stuff and pack it again.

More information on svn-buildpackage

See:


CategoryPackageManagement CategoryPackaging