From 5ee19714e835b9aa115e2ae2fa6ca954a6926322 Mon Sep 17 00:00:00 2001 From: dolik Date: Tue, 30 Mar 2010 21:08:52 +0000 Subject: [PATCH] .lpbuild: clean-up & optimization, documentation pdated and converted to T++ git-svn-id: svn://ultimatepp.org/upp/trunk@2290 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppbox/lpbuild/dopack-stub | 6 +- uppbox/lpbuild/lpbuild | 321 ++++++++++---------- uppbox/lpbuild/lpbuild.upp | 2 +- uppbox/lpbuild/srcdoc.tpp/lpbuild$en-us.tpp | 272 +++++++++++++++++ uppbox/lpbuild/users.lst | 1 + 5 files changed, 439 insertions(+), 163 deletions(-) create mode 100644 uppbox/lpbuild/srcdoc.tpp/lpbuild$en-us.tpp diff --git a/uppbox/lpbuild/dopack-stub b/uppbox/lpbuild/dopack-stub index e1bfe1746..b80cdd4bb 100644 --- a/uppbox/lpbuild/dopack-stub +++ b/uppbox/lpbuild/dopack-stub @@ -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 diff --git a/uppbox/lpbuild/lpbuild b/uppbox/lpbuild/lpbuild index bfac7981a..1a2a51df5 100644 --- a/uppbox/lpbuild/lpbuild +++ b/uppbox/lpbuild/lpbuild @@ -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 -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 `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 ' -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 +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 `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 ' -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!" diff --git a/uppbox/lpbuild/lpbuild.upp b/uppbox/lpbuild/lpbuild.upp index 7437fcc6a..3d6c65b27 100644 --- a/uppbox/lpbuild/lpbuild.upp +++ b/uppbox/lpbuild/lpbuild.upp @@ -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; diff --git a/uppbox/lpbuild/srcdoc.tpp/lpbuild$en-us.tpp b/uppbox/lpbuild/srcdoc.tpp/lpbuild$en-us.tpp new file mode 100644 index 000000000..737cae820 --- /dev/null +++ b/uppbox/lpbuild/srcdoc.tpp/lpbuild$en-us.tpp @@ -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`_.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`_.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`_`_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`_`_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 &] +[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 +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; ] \ No newline at end of file diff --git a/uppbox/lpbuild/users.lst b/uppbox/lpbuild/users.lst index 38b894bf1..7ba622c15 100644 --- a/uppbox/lpbuild/users.lst +++ b/uppbox/lpbuild/users.lst @@ -1,3 +1,4 @@ cxl Mirek Fidler koldo Koldo Ramirez rylek Tomas Rylek +dolik Jan Dolinar