[pkg-horde] TLA primer

Lionel Elie Mamane lionel at mamane.lu
Sat Dec 24 18:30:26 UTC 2005


Hi,

Here's a small "HOWTO" on using tla within pkg-horde (meant in
particular for you, Jose).

Please tell me whether I'm being clear on how to do things.

INTRODUCTION
============

You have to do the following one time only (on every machine you want
to use tla), replace YOUR NAME and YOUR.EMAIL at DOMAIN.TLD with ... your
name and email address.

 Install a recent version of tla and tla-load-dirs (in
 Debian). (Preferably tla tla-1.3.3-2 or newer)

 tla my-id "YOUR NAME <YOUR.EMAIL at DOMAIN.TLD>"

 tla register-archive sftp://arch.debian.org/arch/pkg-horde/2006/
 tla my-default-archive pkg-horde-hackers at lists.alioth.debian.org--2006

 #If you don't have a lightning fast Internet connection:
 # this will create a local cache of what you access
 mdkir ~/arch-revlib/
 tla my-revision-library ~/arch-revlib/


A NEW DEBIAN REVISION
=====================

First, if you don't already have one, get a tla-ised copy of the "sid"
branch of the thing you are going to work on. E.g. if you are going to
work on nag2, do:

 tla get nag--sid--2 nag--sid--2

Then make your changes (replace $EDITOR with your favourite editor:
vim, emacs, ...):

 cd nag--sid--2
 # Here, make one change
 $EDITOR `tla make-log`
 # describe the change in the file that gets opened
 tla commit
 # Here, make one change
 $EDITOR `tla make-log`
 # describe the change in the file that gets opened
 tla commit
 # Here, make one change
 $EDITOR `tla make-log`
 # describe the change in the file that gets opened
 tla commit
 # Repeat as often as necessary


A NEW UPSTREAM RELEASE
======================

First, if you don't already have one, get a tla-ised copy of the
upstream _and_ sid branches of the thing you are going to work
on. E.g. if you are going to work on nag2, do:

 tla get nag--upstream--2 nag--upstream--2
 tla get nag--sid--2 nag--sid--2

unpack the new upstream revision somewhere, e.g.:

 tar xfz nag-h3-2.0.5.tar.gz
 #get unpacked in nag-h3-2.0.5

and import it into our "upstream" branch

 cd nag--upstream--2
 tla_load_dirs -s'Import upstream nag 2.0.5' ../nag-h3-2.0.5

and then merge the changes into our sid branch:
 cd ../nag--sid--2
 # The following means "all changes made to nag--upstream--2 that were
 # not done here, do them"
 tla star-merge nag--upstream--2
 # Here, either everything goes well or you get conflicts. Conflicts
 # mean that Debian made changes and that upstream changed the same
 # lines of code in another way. If you have conflicts, you get files
 # named "foo.rej", which means a conflict occurred in file
 # "foo". These files contain the upstream changes that could not be
 # applied. Apply them by hand, or confirm that we don't want these
 # changes at all. Delete a .rej file after having handled it.
 #
 # "tla tree-lint" will list any .rej file that may be there.
 #
 # Once you have handled all .rej files (or there were none), commit
 # the changes:
 $EDITOR `tla make-log`
 # describe the change in the file that gets opened, something like:
 # Summary: Merge with upstream branch.
 tla commit
 # Edit debian/changelog and do any other work that needs to be done,
 # like in the section "A NEW DEBIAN REVISION"


BUILDING A PACKAGE FOR UPLOAD/TEST
==================================

First, if you don't already have one, get a tla-ised copy of the "sid"
branch of the thing you are going to work on. E.g. if you are going to
work on nag2, do:

 tla get nag--sid--2 nag--sid--2

Then, create a source package:

 cd nag--sid--2
 debuild -S -i

and build that source package in the usual way (pbuilder if you use
pbuilder, ...). E.g.:

 cd ..
 pbuilder build nag2_2.0.5-18.dsc


-- 
Lionel



More information about the pkg-horde-hackers mailing list