.lpbuild: clean-up & optimization, documentation pdated and converted to T++

git-svn-id: svn://ultimatepp.org/upp/trunk@2290 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
dolik 2010-03-30 21:08:52 +00:00
parent 952303a006
commit 5ee19714e8
5 changed files with 439 additions and 163 deletions

View file

@ -26,7 +26,7 @@ echo "Destination path of package is '$DEST_PATH'"
#create package tree
tmp=$outtmp/deb
mkdir $tmp{,/DEBIAN,/usr{,/bin,/share}}
mkdir $tmp{,/usr{,/bin,/share}}
mkdir $tmp/usr/share/{applications,doc{,/$PKG},man{,/man1},pixmaps,$PKG}
# move theide executable into the package directory structure
@ -213,11 +213,9 @@ dpkg-shlibdeps $tmp/usr/bin/theide
# strip symbols from executable
strip --strip-all --remove-section=.comment --remove-section=.note $tmp/usr/bin/theide
#get the installed size (approx...)
size=`du -s $tmp/usr |sed 's/[^0-9].*$//'`
#create md5sums file
cd $tmp
mkdir $tmp/DEBIAN
find ./ -type f -exec md5sum {} \; | sed s/.[/]// >> $outtmp/md5sums
mv $outtmp/md5sums $tmp/DEBIAN/md5sums

View file

@ -1,158 +1,163 @@
#!/bin/bash
#setup some variables, paths, etc. first:
#upp server setting guesses:
THEIDE="/home/upp/bin/theide" # where is theide executable
SRC_PATH="/home/upp/upp.tmp/u" # where to look for sources
BM="GCCMK" # what build method to use
ASEMBLY="uppsrc" # just in case we wan't to build from different assembly
VER="`svnversion /home/upp/upp.src`" # this is obvious, isn't it?
BUILD="1" # increment this when building version which is already in launchpad (BUGGY! do not touch, please)
SERIES=( hardy intrepid jaunty karmic lucid )
# my local setup (for debuging)
#~ THEIDE="/tmp/theide"
#~ SRC_PATH="/media/data/temp/uppsvn"
#~ BM="GCC"
#~ ASEMBLY="uppsrc-svn"
#~ VER="`svnversion $SRC_PATH`"
#~ VER="2050"
#~ BUILD="1"
#~ SERIES=( karmic )
echo "Checking whether gpg-agent is running..."
if test -f $HOME/.gpg-agent-info &&
kill -0 'cut -d: -f 2 $HOME/.gpg-agent-info' 2>/dev/null; then
GPG_AGENT_INFO='cat $HOME/.gpg-agent-info'
export GPG_AGENT_INFO
echo "...it is"
else
echo "Starting gpg-agent"
eval 'gpg-agent --daemon'
echo $GPG_AGENT_INFO >$HOME/.gpg-agent-info
fi
echo "Debian source package builder"
echo "written by Jan Dolinar (dolik.rce), 2010"
# setup some variables for later
tmpdir="/home/upp/lpbuild.tmp"
tmp=$tmpdir/upp-$VER
orig="$tmp/../upp_$VER.orig.tar.gz"
scriptpath="$(cd "${0%/*}" 2>/dev/null; echo "$PWD"/"${0##*/}")" #not from my head:-)
scriptdir=`dirname "$scriptpath"`
subfolders=( uppsrc examples tutorial reference bazaar )
# clean up temporary files
echo "Cleaning up previous run..."
rm -rf $tmpdir
# create dir for sources
mkdir $tmpdir
mkdir $tmp
# copy source files to tmp folder
# rsync takes care about .svn subdirs
echo -n "copying sources:"
for folder in ${subfolders[@]}
do
echo -n " $folder"
rsync -rl --exclude '.svn' $SRC_PATH/$folder $tmp > /dev/null
done
echo
# create Makefile for theide
echo "Creating makefile ..."
$THEIDE $ASEMBLY ide $BM ">GUI,MT" -srxM $tmp/uppsrc
# get changelog from svn
echo "Creating changelog ..."
cd $SRC_PATH
svn --limit 100 --xml -v log ~/upp.src|python $scriptdir/svn2log.py \
-u $scriptdir/users.lst -P upp -L -d ultimatepp.org -S all -p /trunk/ \
-i "`echo ${subfolders[@]} |tr \" \" ,`" -o $tmp/changelog
# Patch the version.h for original tarball
mv $tmp/uppsrc/ide/version.h $tmpdir/version.h.backup
echo "#define IDE_VERSION \"$VER\"" > $tmp/uppsrc/ide/version.h
# compress the sources and Makefile to get orig.tar.gz
echo "Compressing original source tarball ..."
cd $tmp
tar -czf $orig ${subfolders[@]} #Makefile
# restore backed-up ide/version.h
rm $tmp/uppsrc/ide/version.h
mv $tmpdir/version.h.backup $tmp/uppsrc/ide/version.h
# prepare architecture independent part of debian directory:
echo "Debianizing source tree ..."
mkdir $tmp/debian
# copy maintainer scripts and control file
cp $scriptdir/{postinst,prerm,control,rules,theide.desktop,theide.1} $tmp/debian
chmod +x $scriptdir/{postinst,prerm,rules}
# generate copyrightfile
cat > $tmp/debian/copyright << EOF
This package was debianized by Jan Dolinar <dolik.rce@seznam.cz>
on `date -R`.
Copyright © 1999-2010 Ultimate++ team (http://ultimatepp.org)
Authors: Mirek Fidler, Tomas Rylek, Daniel Kos
License: BSD (please see /usr/share/common-licenses/BSD).
EOF
# cycle through series to build and call archdep to prepare the
# architecture depedent stuff
for dist in ${SERIES[@]}
do
version=$VER"~ppa"$BUILD"~"$dist"1"
# save complete version string to ide/version.h
mv $tmp/uppsrc/ide/version.h $tmpdir/version.h.backup
echo "#define IDE_VERSION \"$version\"" > $tmp/uppsrc/ide/version.h
# generate changelog (with changes in packaging, not in sources!)
cat > "$tmp/debian/changelog" << EOF
upp ($version) $dist; urgency=low
* Updated to version $VER
-- Jan Dolinar <dolik.rce@seznam.cz> `date -R`
EOF
# generate debian/dopack script
cat > "$tmp/debian/dopack" << EOF
#!/bin/bash
VERSION="$VER"
MAINTAINER="Jan Dolinar"
EMAIL="dolik.rce@seznam.cz"
SERIES="$dist"
BUILD="$BUILD"
release="$version"
EOF
cat "$scriptdir/dopack-stub" >> $tmp/debian/dopack
# call debuild to create the package
echo "Packaging upp $version ..."
cd $tmp
debuild --no-lintian -k0CE4194D -m'Jan Dolinar <dolik.rce@seznam.cz>' -sgpg -p/home/upp/bin/gpg-extpass -S
# upload to launchpad ("-s"=simulate, use for debugging)
echo "Uploading upp $version ..."
cd $tmpdir
dput "upp-$dist" "upp_"$version"_source.changes"
# remove architecture dependent files
rm $tmp/debian/{dopack,changelog}
#restore backed-up ide/version.h
rm $tmp/uppsrc/ide/version.h
mv $tmpdir/version.h.backup $tmp/uppsrc/ide/version.h
done
echo "FINISHED!"
#!/bin/bash
#setup some variables, paths, etc. first:
#upp server setting guesses:
THEIDE="/home/upp/bin/theide" # where is theide executable
SRC_PATH="/home/upp/upp.tmp/u" # where to look for sources
BM="GCCMK" # what build method to use
ASEMBLY="uppsrc" # just in case we wan't to build from different assembly
SVN_PATH="/home/upp/upp.src" # path to svn working copy
VER="`svnversion $SVN_PATH`" # this is obvious, isn't it?
BUILD="1" # increment this when building version which is already in launchpad (BUGGY! do not touch, please)
GPG_PROG="/home/upp/bin/gpg-extpass" # what program to use for signing (in this case a wrapper that supplies passphrase)
GPG_KEY="0CE4194D" # gpg key fingerprint to use
TMPDIR="/home/upp/lpbuild.tmp" # directory for temporary files (defaults to /tmp/lpbuild.tmp)
SERIES=( hardy intrepid jaunty karmic lucid )
# my local setup (for debuging)
#THEIDE="/usr/bin/theide"
#SRC_PATH="/media/data/temp/uppsvn"
#SVN_PATH="$SRC_PATH"
#BM="GCC"
#ASEMBLY="uppsrc-svn"
#VER="`svnversion $SVN_PATH`"
#VER="2285"
#BUILD="1"
#GPG_PROG="/usr/bin/gpg-extpass"
#GPG_KEY="E0962C7A"
#TMPDIR="" # use default
#SERIES=( karmic )
echo "Checking whether gpg-agent is running..."
if test -f $HOME/.gpg-agent-info &&
kill -0 'cut -d: -f 2 $HOME/.gpg-agent-info' 2>/dev/null; then
GPG_AGENT_INFO='cat $HOME/.gpg-agent-info'
export GPG_AGENT_INFO
echo "...it is"
else
echo "Starting gpg-agent"
eval 'gpg-agent --daemon'
echo $GPG_AGENT_INFO >$HOME/.gpg-agent-info
fi
echo "Debian source package builder"
echo "written by Jan Dolinar (dolik.rce), 2010"
# setup some variables for later
if [ -z "$TMPDIR" ]
then
tmpdir="/tmp/lpbuild.tmp"
else
tmpdir="$TMPDIR"
fi
tmp=$tmpdir/upp-$VER
orig="$tmpdir/upp_$VER.orig.tar.gz"
scriptpath="$(cd "${0%/*}" 2>/dev/null; echo "$PWD"/"${0##*/}")" #not from my head:-)
scriptdir=`dirname "$scriptpath"`
subfolders=( uppsrc examples tutorial reference bazaar )
# clean up temporary files
if [ -d $tmpdir ]
then
echo "Cleaning up previous run..."
rm -rf $tmpdir
fi
# create dir for sources
mkdir $tmpdir
mkdir $tmp
# copy source files to tmp folder
# rsync takes care about .svn subdirs
echo -n "copying sources:"
for folder in ${subfolders[@]}
do
echo -n " $folder"
rsync -rl --exclude '.svn' $SRC_PATH/$folder $tmp > /dev/null
done
echo
# create Makefile for theide
echo "Creating makefile ..."
$THEIDE $ASEMBLY ide $BM ">GUI,MT" -srxM $tmp/uppsrc
# get changelog from svn
echo "Creating changelog ..."
cd $SRC_PATH
svn --limit 100 --xml -v log $SVN_PATH|python $scriptdir/svn2log.py \
-u $scriptdir/users.lst -P upp -L -d ultimatepp.org -S all -p /trunk/ \
-i "`echo ${subfolders[@]} |tr \" \" ,`" -o $tmp/changelog
# Patch the version.h for curent version
echo "#define IDE_VERSION \"$VER\"" > $tmp/uppsrc/ide/version.h
# compress the sources and Makefile to get orig.tar.gz
echo "Compressing original source tarball ..."
cd $tmp
tar -czf $orig ${subfolders[@]} #Makefile
# prepare architecture independent part of debian directory:
echo "Debianizing source tree ..."
mkdir $tmp/debian
# copy maintainer scripts and control file
cp $scriptdir/{postinst,prerm,control,rules,theide.desktop,theide.1} $tmp/debian
chmod +x $scriptdir/{postinst,prerm,rules}
# generate copyrightfile
cat > $tmp/debian/copyright << EOF
This package was debianized by Jan Dolinar <dolik.rce@seznam.cz>
on `date -R`.
Copyright © 1999-2010 Ultimate++ team (http://ultimatepp.org)
Authors: Mirek Fidler, Tomas Rylek, Daniel Kos
License: BSD (please see /usr/share/common-licenses/BSD).
EOF
# cycle through $SERIES and prepare the architecture depedent files
for dist in ${SERIES[@]}
do
version=$VER"~ppa"$BUILD"~"$dist"1"
# save complete version string to ide/version.h
echo "#define IDE_VERSION \"$version\"" > $tmp/uppsrc/ide/version.h
# generate changelog (with changes in packaging, not in sources!)
cat > "$tmp/debian/changelog" << EOF
upp ($version) $dist; urgency=low
* Updated to version $VER
-- Jan Dolinar <dolik.rce@seznam.cz> `date -R`
EOF
# generate debian/dopack script
cat > "$tmp/debian/dopack" << EOF
#!/bin/bash
VERSION="$VER"
MAINTAINER="Jan Dolinar"
EMAIL="dolik.rce@seznam.cz"
SERIES="$dist"
BUILD="$BUILD"
release="$version"
EOF
cat "$scriptdir/dopack-stub" >> $tmp/debian/dopack
# call debuild to create the package
echo "Packaging upp $version ..."
cd $tmp
debuild --no-lintian -k$GPG_KEY -m'Jan Dolinar <dolik.rce@seznam.cz>' -sgpg -p$GPG_PROG -S
# upload to launchpad ("-s"=simulate, use for debugging)
echo "Uploading upp $version ..."
cd $tmpdir
dput "upp-$dist" "upp_"$version"_source.changes"
# remove architecture dependent files
rm $tmp/debian/{dopack,changelog}
done
echo "FINISHED!"

View file

@ -1,4 +1,5 @@
file
srcdoc.tpp,
dopack-stub,
control,
theide.1,
@ -7,7 +8,6 @@ file
qp_xml.py,
users.lst,
rules,
README,
prerm,
postinst,
lpbuild;

View file

@ -0,0 +1,272 @@
topic "DEBIAN PACKAGING SCRIPTS";
[2 $$0,0#00000000000000000000000000000000:Default]
[l288;i1120;a17;O9;~~~.1408;2 $$1,0#10431211400427159095818037425705:param]
[a83;*R6 $$2,5#31310162474203024125188417583966:caption]
[H4;b83;*4 $$3,5#07864147445237544204411237157677:title]
[i288;O9;C2 $$4,6#40027414424643823182269349404212:item]
[b42;a42;2 $$5,5#45413000475342174754091244180557:text]
[l288;b17;a17;2 $$6,6#27521748481378242620020725143825:desc]
[l321;C@5;1 $$7,7#20902679421464641399138805415013:code]
[b2503;2 $$8,0#65142375456100023862071332075487:separator]
[*@(0.0.255)2 $$9,0#83433469410354161042741608181528:base]
[C2 $$10,0#37138531426314131251341829483380:class]
[l288;a17;*1 $$11,11#70004532496200323422659154056402:requirement]
[i417;b42;a42;O9;~~~.416;2 $$12,12#10566046415157235020018451313112:tparam]
[b167;C2 $$13,13#92430459443460461911108080531343:item1]
[i288;a42;O9;C2 $$14,14#77422149456609303542238260500223:item2]
[*@2$(0.128.128)2 $$15,15#34511555403152284025741354420178:NewsDate]
[l321;*C$7;2 $$16,16#03451589433145915344929335295360:result]
[l321;b83;a83;*C$7;2 $$17,17#07531550463529505371228428965313:result`-line]
[l160;*C+117 $$18,5#88603949442205825958800053222425:package`-title]
[2 $$19,0#53580023442335529039900623488521:gap]
[C2 $$20,20#70211524482531209251820423858195:class`-nested]
[b50;2 $$21,21#03324558446220344731010354752573:Par]
[a83;*R+117 $$22,5#42088232341956832190183349731322:subcaption]
[{_}%EN-US
[s3; DEBIAN PACKAGING SCRIPTS DOCUMENTATION&]
[s5; &]
[s22; Contents:&]
[s0;l224;i150;O1; About&]
[s0;l224;i150;O1; Debian source package `- dsc&]
[s0;l224;i150;O1; Debian binary package `- deb&]
[s0;l224;i150;O1; Packaging utilities&]
[s0;l224;i150;O1; Basic outline of U`+`+ packaging scripts&]
[s0;l224;i150;O1; Additional notes&]
[s0; &]
[s22; About&]
[s0; This file is just a summary of notes about different parts of
debian &]
[s0; packaging process, intended mainly to ease authors work on packaging
&]
[s0; scripts for U`+`+. Most of the knowledge here comes from [^http`:`/`/www`.debian`.org`/doc`/debian`-policy^ D
ebian Policy ]&]
[s0; [^http`:`/`/www`.debian`.org`/doc`/debian`-policy^ Manual]. Also
[^http`:`/`/www`.debian`.org`/doc`/maint`-guide^ Debian New Maintainers
Guide] is a helpful source of information.&]
[s0; &]
[s0; If you want to know how the upp packaging implementation works,
see the scripts in this package, most of them are heavily commented.&]
[s0; &]
[s22; Debian source package `- dsc&]
[s0; Source package actually consist of several files. For package
`"upp`" there are:&]
[ {{4167:5833<224;h1;^ [s0; [* File]]
:: [s0; [* Content]]
:: [s0; upp`_<version>.orig.tar.gz]
:: [s0; Holds all the original upstream sources `- do not ever modify
that! (Actually we create it, but we get to that later...)]
:: [s0; upp`_<version>.diff.gz]
:: [s0; Here come all the changes to original source tree in the form
of gzipped diff (includes also debian directory, see below)]
:: [s0; upp`_<version>`_source.dsc]
:: [s0; Information about package (name, version, dependencies, maintainer,
etc.) and SHA sums of the two previously mentioned files&]
[s11; must be signed]
:: [s0; upp`_<version>`_source.changes]
:: [s0; Changlog and some additional info&]
[s11; must be signed]}}&]
[s0; &]
[s22; How to prepare all this?&]
[s0; In few simple steps. Given you have original sources from upstream:&]
[s0;i150;O1; Unpack `*.orig.tar.gz&]
[s0;i150;O1; Add debian directory in the unpacked source tree&]
[s0;i150;O1; Create following files in debian directory:&]
[s0;l256;i150;O0; [_ debian/rules]:&]
[s0;l480; Basically a makefile. Following structure is minimal required:&]
[s7;l480; #!/usr/bin/make `-f&]
[s7;l480; &]
[s7;l480; clean:&]
[s7;l480; -|&]
[s7;l480; build:&]
[s7;l480; -|&]
[s7;l480; binary`-indep:&]
[s7;l480; &]
[s7;l480; binary`-arch: &]
[s7;l480; -|#here we must produce .deb in `$(CURDIR)/..&]
[s7;l480; &]
[s7;l480; binary: binary`-indep binary`-arch &]
[s7;l480; &]
[s7;l480; .PHONY: build binary`-arch binary install&]
[s0;l480; &]
[s0;l256;i150;O0; [_ debian/control]:&]
[s0;l480; Information about package. example follows. There can be
multiple binary sections if package produces more packages from
the same sources.&]
[s7;l480; Source: upp&]
[s7;l480; Section: devel&]
[s7;l480; Priority: optional&]
[s7;l480; Maintainer: Jan Dolinar <dolik.rce`@seznam.cz>&]
[s7;l480; Standards`-Version: 3.8.3.0&]
[s7;l480; Build`-Depends: libx11`-dev (>`= 1.0.0), libxft`-dev (>`=
2.1.8), libpng12`-dev (>`= 1.2.8), g`+`+, libgtk2.0`-dev (>`=
2.8.17), libnotify`-dev, rsync&]
[s7;l480; &]
[s7;l480; Package: upp&]
[s7;l480; Architecture: any&]
[s7;l480; Depends: libx11`-dev (>`= 1.0.0), libxft`-dev (>`= 2.1.8),
libpng12`-dev (>`= 1.2.8), g`+`+, libgtk2.0`-dev (>`= 2.8.17),
libnotify`-dev&]
[s7;l480; Description: C`+`+ library for cross`-platform development
with IDE&]
[s7;l480; Ultimate`+`+ is a radical and innovative GUI toolkit whose
number one priority&]
[s7;l480; is programmer productivity. C`+`+ is a great programming
language but&]
[s7;l480; C`+`+ programmers are sometimes hampered by the lack of
effective libraries.&]
[s7;l480; U`+`+ libraries enable genuine productivity gains with
shorter development&]
[s7;l480; times and greatly reduced application source code size.&]
[s0;l480; &]
[s0;l256;i150;O0; [_ debian/copyright]:&]
[s0;l480; This will later became /usr/share/doc/package/copyright-|in
final users machine. The format should be like this:&]
[s7;l480; This package was debianized by Jan Dolinar <dolik.rce`@seznam.cz>
on&]
[s7;l480; Fri, 15 Jan 2010 17:30:00 `+0100.&]
[s7;l480; &]
[s7;l480; Copyright © 1999`-2010 Ultimate`+`+ team (http://ultimatepp.org)&]
[s7;l480; Authors: Mirek Fídler, Tomáš Rylek, Daniel Kos&]
[s7;l480; &]
[s7;l480; License: BSD (please see /usr/share/common`-licenses/BSD).&]
[s0;l480; &]
[s0;l256;i150;O0; [_ debian/changelog]:&]
[s0;l480; Info about packaging process, not the original source.
The build scripts read distribution info from here! Exact format
decribed in [^http`:`/`/www`.debian`.org`/doc`/debian`-policy`/ch`-source`.html`#s`-dpkgchangelog^ h
ttp://www.debian.org/doc/debian`-policy/ch`-source.html].&]
[s0;l480; &]
[s0;i150;O1; Run debuild `-S inside this directory structure&]
[s0; &]
[s22; Debian binary package `- deb&]
[s0; Single archive (i.e. can be opened by most of compressing software)
containing following three files:&]
[ {{2408:7592<224;h1;^ [s0; [* File]]
:: [s0; [* Content]]
:: [s0; debian`-binary]
:: [s0; Just string with version of packaging standards]
:: [s0; data.tar.gz]
:: [s0; complete directory structure as it will be installed on end`-users
root partition]
:: [s0; control.tar.gz]
:: [s0; control file, md5sums and any maintainer scripts (postinst,
prerm, etc.)]}}&]
[s0; &]
[s0; More about how to create deb file will be covered later.&]
[s0; &]
[s22; Packaging utilities&]
[s0; There is a number of utilities to ease the creation of debian
packages. Most of them can be fond in your repositories in packages
devscripts and dpkg`-dev. In lpbuild scripts, we use some of
them:&]
[ {{2292:7708<192;h1;^ [s0; Command]
:: [s0; Comments]
:: [s0; dpkg`-architecture]
:: [s0;i96;O9; Usefull to get architecture info during the build.&]
[s0;i96;O9; Option `"`-L`" lists all possible architectures]
:: [s0; dpkg`-deb]
:: [s0;i96;O9; Option `"`-b src dest.deb`" builds deb from src diretory
tree&]
[s0;i96;O9; Files in DEBIAN will become control.tar.gz, the rest
goes to data.tar.gz]
:: [s0; dpkg`-gencontrol]
:: [s0;i96;O9; Creates control file in DEBIAN directory when building
deb, based on debian/control from source package]
:: [s0; dpkg`-shlibdeps]
:: [s0;i96;O9; Scans binary (or shared lib) for dependencies, which
are then stored as field shlibs:Depend in debian/substvar and
later used for substitutions (by dpkg`-gencontrol) when building
the package.]
:: [s0; debuild]
:: [s0;i96;O9; Option `"`-S`" builds .dsc in .. from files in current
directory&]
[s0;i96;O9; Option `"`-k12456789`" might be needed to correctly sign
the files where 123456789 is gpg fingerprint (see gpg `-`-fingerprint)
alternatively specify the key in gpg config file&]
[s0;i96;O9; Options `-us `-uc can be used to prevent signing, if
you want to do it later for security reasons.]
:: [s0; dput]
:: [s0; Used to upload dsc to launchpad ppa (or to debian, if you are
a maintainer)&]
[s0;i96;O9; Correct configuration in `~/.dput.cf is required]
:: [s0; fakeroot]
:: [s0;i96;O9; Not really part of debian packaging tools, but it is
used by debuild and therefore recommended to install.]}}&]
[s0; &]
[s0; For better informations on those tools, read their man pages
or search the web...&]
[s0; &]
[s22; Basic outline of U`+`+ packaging scripts&]
[s0; [_ Dsc building] (local part):&]
[s0;l128;i150;O1; Clean up destination folder&]
[s0;l128;i150;O1; Acquire sources&]
[s0;l128;i150;O1; Generate Makefile&]
[s0;l128;i150;O1; Generate changelog (using svn2log.py)&]
[s0;l128;i150;O1; Compress source into orig.tar.gz&]
[s0;l128;i150;O1; Create debian directory&]
[s0;l128;i150;O1; Create distro independent files&]
[s0;l320;i150;O0; debian/control&]
[s0;l320;i150;O0; debian/copyright&]
[s0;l320;i150;O0; debian/postinst&]
[s0;l320;i150;O0; debian/prerm&]
[s0;l320;i150;O0; debian/rules&]
[s0;l320;i150;O0; debian/theide.desktop&]
[s0;l320;i150;O0; debian/theide.1&]
[s0;l128;i150;O1; For distributions in supported distro list`{&]
[s0;l320;i150;O0; Create distribution dependent files`{&]
[s0;l512;i150;O3; debian/changelog&]
[s0;l512;i150;O3; debian/dopack&]
[s0;l320;i150;O0; Call debuild `-S to build dsc&]
[s0;l320;i150;O0; Call dput to upload dsc to launchpad&]
[s0;l320;i150;O0; Clean`-up distribution dependent files&]
[s0; &]
[s0; [_ Deb building] (serverside `- launchpad):&]
[s0; (from our point of view, it starts in debian/rules, when buildd
system launches target binary`-arch)&]
[s0;l128;i160;O1; Copy theide (already build by buildd by calling
debian/rules build)&]
[s0;l128;i160;O1; Determine architecture&]
[s0;l128;i160;O1; Create temporary directory&]
[s0;l128;i160;O1; Create directory structure&]
[s0;l128;i160;O1; Copy source files in tmp/usr/share/upp/&]
[s0;l128;i160;O1; Create icon&]
[s0;l128;i160;O1; Copy .desktop entry, copyright, manual and changelog&]
[s0;l128;i160;O1; Generate dependencies (using dpkg`-shlibs)&]
[s0;l128;i160;O1; Strip theide executable&]
[s0;l128;i160;O1; Create DEBIAN directory&]
[s0;l128;i160;O1; Calculate md5 sums for all files (DEBIAN/md5sums)&]
[s0;l128;i160;O1; Generate control file (using dpkg`-gencontrol)&]
[s0;l128;i160;O1; Copy maintenance scripts (postinst,prerm)&]
[s0;l128;i160;O1; Call dpkg`-deb `-b to build deb&]
[s0; &]
[s22; Additional notes&]
[s0; U`+`+ build dependencies: &]
[s0;l288; libx11`-dev (>`= 1.0.0)&]
[s0;l288; libxft`-dev (>`= 2.1.8)&]
[s0;l288; libpng12`-dev (>`= 1.2.8)&]
[s0;l288; libgtk2.0`-dev (>`= 2.8.17)&]
[s0;l288; libnotify`-dev&]
[s0;l288; rsync #used in scripts&]
[s0;l288; svn #used for log generation&]
[s0;l288; theide #exports Makefile&]
[s0; &]
[s0; U`+`+ deb/runtime dependencies&]
[s0;l288; gtk&]
[s0;l288; libx11`-dev (>`= 1.0.0)&]
[s0;l288; libxft`-dev (>`= 2.1.8)&]
[s0;l288; libpng12`-dev (>`= 1.2.8)&]
[s0;l288; libgtk2.0`-dev (>`= 2.8.17)&]
[s0;l288; libnotify`-dev&]
[s0; &]
[s0; Signing:&]
[s0;l288; Launchpad is pretty carefull about the signing. The signature
must be registred with ppa and added to ubuntu keyserver. &]
[s0; &]
[s0; How to get package to Debian:&]
[s0;l288; http://people.debian.org/`~mpalmer/debian`-mentors`_FAQ.html&]
[s0; &]
[s0; How to get package to Ubuntu:&]
[s0;l288; https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages&]
[s0;l288; Actualy it seems that easiest way is to push it to Debian
first :`-)&]
[s0; ]

View file

@ -1,3 +1,4 @@
cxl Mirek Fidler <cxl@ntllib.org>
koldo Koldo Ramirez <koldo.ramirez@gmail.com>
rylek Tomas Rylek <rylek@volny.cz>
dolik Jan Dolinar <dolik.rce@seznam.cz>