paul@5 | 1 | Shed Skin Packaging for Debian
|
paul@5 | 2 | ==============================
|
paul@5 | 3 |
|
paul@49 | 4 | Firstly, download the latest upstream source release. Although it might be
|
paul@49 | 5 | desirable to get the latest code from the repository, Debian will eventually
|
paul@59 | 6 | be using the actual source releases specified in the watch file. Here's how
|
paul@59 | 7 | to download using the watch file:
|
paul@59 | 8 |
|
paul@59 | 9 | uscan --force-download --destdir=..
|
paul@49 | 10 |
|
paul@59 | 11 | The --force-download option is required when --download indicates that the
|
paul@59 | 12 | package is up-to-date. This will make the necessary symbolic link for the
|
paul@82 | 13 | shedskin_0.9.3.orig.tar.gz archive that must be present when building the
|
paul@59 | 14 | package.
|
paul@59 | 15 |
|
paul@74 | 16 | Unpack the archive as follows:
|
paul@74 | 17 |
|
paul@74 | 18 | cd ..
|
paul@82 | 19 | tar zxf shedskin-0.9.3.tgz
|
paul@74 | 20 |
|
paul@59 | 21 | Using the Upstream Repository
|
paul@59 | 22 | -----------------------------
|
paul@59 | 23 |
|
paul@59 | 24 | One can also try and persuade Gitorious to yield a file by visiting the
|
paul@49 | 25 | following address:
|
paul@5 | 26 |
|
paul@82 | 27 | http://gitorious.org/shedskin/mainline/archive-tarball/0.9.3
|
paul@54 | 28 |
|
paul@19 | 29 | The idea is then to combine the snapshot with this packaging infrastructure.
|
paul@5 | 30 |
|
paul@38 | 31 | Unpack the archive:
|
paul@5 | 32 |
|
paul@25 | 33 | cd ..
|
paul@82 | 34 | tar zxf shedskin-mainline-0.9.3.tar.gz
|
paul@82 | 35 | mv shedskin-mainline shedskin_0.9.3
|
paul@38 | 36 |
|
paul@38 | 37 | Make a copy of the archive for Debian non-native packaging purposes:
|
paul@38 | 38 |
|
paul@82 | 39 | tar zcf shedskin_0.9.3.orig.tar.gz shedskin_0.9.3
|
paul@38 | 40 |
|
paul@59 | 41 | Building the Package
|
paul@59 | 42 | --------------------
|
paul@59 | 43 |
|
paul@38 | 44 | Move into the sources directory:
|
paul@38 | 45 |
|
paul@82 | 46 | cd shedskin_0.9.3
|
paul@5 | 47 |
|
paul@5 | 48 | Now, copy the debian directory from this directory into the export directory:
|
paul@5 | 49 |
|
paul@5 | 50 | cp -R ../shedskin-packaging/debian/ .
|
paul@5 | 51 |
|
paul@40 | 52 | There are patches in debian/patches which should be applied when pbuilder is
|
paul@40 | 53 | run. These should not need to be applied manually.
|
paul@21 | 54 |
|
paul@5 | 55 | Using pbuilder, try and build the package (this example is using my signing
|
paul@5 | 56 | key):
|
paul@5 | 57 |
|
paul@5 | 58 | pdebuild --auto-debsign --debsign-k 9F308B3C
|
paul@5 | 59 |
|
paul@38 | 60 | Add extra options for the first packaging of a new release:
|
paul@38 | 61 |
|
paul@38 | 62 | pdebuild --auto-debsign --debsign-k 9F308B3C --debbuildopts -sa
|
paul@38 | 63 |
|
paul@38 | 64 | This makes sure that the original source archive is produced and referenced in
|
paul@38 | 65 | the changes file (used by dput when uploading a package to a Debian package
|
paul@38 | 66 | repository/archive).
|
paul@38 | 67 |
|
paul@40 | 68 | For a different distribution:
|
paul@40 | 69 |
|
paul@40 | 70 | pdebuild --auto-debsign --debsign-k 9F308B3C --debbuildopts -sa \
|
paul@40 | 71 | -- --distribution squeeze
|
paul@40 | 72 |
|
paul@5 | 73 | Some files will appear in /var/cache/pbuilder/result/ (such as the binary
|
paul@5 | 74 | package files), whereas others will appear in the parent directory.
|
paul@10 | 75 |
|
paul@62 | 76 | Uploading the Package
|
paul@62 | 77 | ---------------------
|
paul@62 | 78 |
|
paul@62 | 79 | With an appropriate .dput.cf file, the following command can be used to upload
|
paul@62 | 80 | package files to the Debian Mentors service:
|
paul@62 | 81 |
|
paul@82 | 82 | dput debexpo /var/cache/pbuilder/result/shedskin_0.9.3-1_i386.changes
|
paul@62 | 83 |
|
paul@21 | 84 | Maintenance Notes
|
paul@21 | 85 | -----------------
|
paul@21 | 86 |
|
paul@21 | 87 | When packaging a new release, update the release history below along with the
|
paul@21 | 88 | debian/changelog file:
|
paul@21 | 89 |
|
paul@82 | 90 | debchange -v 0.9.3-1 -D unstable
|
paul@38 | 91 |
|
paul@38 | 92 | The "-n" part of the version number causes a non-native Debian package to be
|
paul@38 | 93 | produced.
|
paul@21 | 94 |
|
paul@21 | 95 | Shed Skin Release History
|
paul@21 | 96 | =========================
|
paul@10 | 97 |
|
paul@25 | 98 | Release Git Changeset
|
paul@25 | 99 | ------- -------------
|
paul@82 | 100 | 0.9.3 8bd94f658bd4a82e04a6dca7d8cc8b19302c8006
|
paul@79 | 101 | 0.9.2 bdd827253d37650ad6986dd2fd16d28058fd7a81
|
paul@74 | 102 | 0.9.1 5834046e821b8f2e6526815084220260e3db6420
|
paul@69 | 103 | 0.9-1 a3f8f54590d4099c4ec66669296d5169a7f652ff
|
paul@58 | 104 | 0.9 31b8214b451d87fae5ec7194a7b4430daa3f49ce
|
paul@43 | 105 | 0.8-1 d7cf784f5e12952a5630f6b78b3155995c825a38
|
paul@36 | 106 | 0.8 7f7388c3dfab40dc1776cfd6334dd41bdaa62beb
|
paul@34 | 107 | 0.7.1 d35a07c99c29618e0dad6d31a3cf01599c0d758a
|
paul@31 | 108 | 0.7 8fc85b49137a79ca9acc5e63fa9fdfbb50751907
|
paul@25 | 109 | 0.6 1e6708d49e9092a7949ed74b7e339c5245bb6661
|
paul@25 | 110 |
|
paul@10 | 111 | Release Subversion Revision
|
paul@10 | 112 | ------- -------------------
|
paul@21 | 113 | 0.5 1507
|
paul@19 | 114 | 0.4 1363
|
paul@14 | 115 | 0.3-2 1165
|
paul@10 | 116 | 0.3-1 1165
|