1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
Debian package building hints
Building the initial Debian package
-----------------------------------
Read the Debian Perl Policy at http://people.debian.org/~bod/perl-policy/
and do the following
cvs co -d libtext-unaccent-perl-1.08 Text-Unaccent
cd libtext-unaccent-perl-1.08
dh-make-perl --arch any
Note that there is a big difference between the architecture all (perl only
package) and any (some C code compiled in the module).
Then edit the debian/* files to fit exactly your needs.
Building a new Debian package from the CVS Tree
-----------------------------------------------
The debian related files and packaging are in the debian_branch branch
of the CVS tree. When a debian package is released the complete source
tree of the corresponding Text-Unaccent release is merged into the
debian_branch branch and tagged.
In addition a debian specific tag must be added to the regular version
tag of the main branch. It has the following form:
textunaccent_1_08 must be tagged upstream_version_1_08
In command line style, just after tagging the main Text-Unaccent release you
should do the following:
#
# Tag upstream version
#
cvs co Text-Unaccent
( cd Text-Unaccent ; cvs tag upstream_version_X_X )
#
# Copy the tarbal of the distribution to upper directory (make dist if
# necessary) and note that it must be renamed in conformance with
# the perl-policy (http://people.debian.org/~bod/perl-policy/)
# the alpha name (Text-Unaccent- becomes libtext-unaccent-perl_)
#
( cd Text-Unaccent ; make dist ; cp Text-Unaccent-X.X.tar.gz ../libtext-unaccent-perl_X.X.orig.tar.gz )
#
# Extract the debian branch.
# Name the directory according to upstream version otherwise debuild
# is confused
#
cvs co -r debian_branch -d Text-Unaccent-X.X Text-Unaccent
#
# Untar the distribution in the Debian branch. That will override
# files and add new ones. Using merge (cvs update -j) is not fit
# for this purpose because, for instance, the .version and the
# ChangeLog files will always conflict.
#
tar -zxvf libtext-unaccent-perl_X.X.orig.tar.gz
mv Text-Unaccent-X.X libtext-unaccent-perl-X.X
ln -s libtext-unaccent-perl-X.X Text-Unaccent-X.X
#
# Now we want to work within the cvs tree
#
cd libtext-unaccent-perl-X.X
#
# See which files have been removed from the upstream
#
diff --exclude=CVS --exclude '*.tar.gz' --exclude='.#*' --exclude '*~' --brief -r . ../Text-Unaccent
#
# Remove the files manualy by
# cvs delete -f file
# one by one.
#
cvs delete -f ...
#
# At that point a cvs update will show files with a question mark,
# those files were added since the last distribution and must also
# be added to the debian branch.
#
cvs add ...
#
# Update the changelog and review the other files
#
debchange --newversion X.X-1 "New upstream version"
#
# Finaly attempt to build the packages (binary + sources)
# The -i asks debuild to ignore CVS related files
# CHECK THE WARNINGS IN THE OUTPUT !!!!
#
debuild -uc -us -i'CVS|\.#|.cvsignore'
#
# Upload to debian or (if not debian dev) upload to ftp space and ring
# the bell of the debian developer (loic@debian.org or check
# http://packages.debian.org/unstable/interpreters/libtext-unaccent-perl.html
# to get the name of the current debian developer)
#
cvs commit -m 'New upstream version X.X'
cvs tag debian_version_X_X-1
#
# For paranoid checking, do the package building as instructed below
#
Package building
----------------
Make sure $HOME/local exists.
For savannah users:
CVS_RSH=ssh CVSROOT=subversions.gnu.org:/cvsroot/unac cvs-buildpackage -i'CVS|\.#|MANIFEST.SKIP|.cvsignore' -W$HOME/local/ports/tmp -MText-Unaccent -Plibtext-unaccent-perl -VX.X-X -rfakeroot
For anonymous users:
% export CVSROOT=:pserver:anoncvs@subversions.gnu.org:/cvsroot/unac
% cvs login
% cvs-buildpackage -i'CVS|\.#|MANIFEST.SKIP|.cvsignore' -W$HOME/local/ports/tmp -MText-Unaccent -Plibtext-unaccent-perl -VX.X-X -rfakeroot
% cvs logout
The resulting debian distribution is made of 2 debian packages (*.deb),
a .diff file that shows the differences between the debian CVS branch and
the main branch, a .dsc file, a .changes file. All are in $HOME/local/port/tmp.
The .deb and .diff files must be distributed all together, the .dsc and
.changes must be published on the debian page
|