Differences between revisions 14 and 15
Revision 14 as of 2005-07-19 15:37:22
Size: 5100
Editor: anonymous
Comment:
Revision 15 as of 2009-03-16 03:29:59
Size: 5212
Editor: anonymous
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
 * [http://ftp.debian.org/debian/pool/main/d/dpatch/ Packages for Sid and Sarge]  * [[http://ftp.debian.org/debian/pool/main/d/dpatch/|Packages for Sid and Sarge]]
Line 7: Line 7:
 * [http://alioth.debian.org/projects/dpatch/ Alioth Project Home Page]
 * [http://lists.alioth.debian.org/mailman/listinfo/dpatch-maintainers Maintainers Mailing List]
 * [wiki:Self:PkgDpatchBugsClassification Bugs Classification Page]
 * [http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=dpatch BTS]
 * [http://packages.qa.debian.org/dpatch PTS]
 * [[http://alioth.debian.org/projects/dpatch/|Alioth Project Home Page]]
 * [[http://lists.alioth.debian.org/mailman/listinfo/dpatch-maintainers|Maintainers Mailing List]]
 * [[PkgDpatchBugsClassification|Bugs Classification Page]]
 * [[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=dpatch|BTS]]
 * [[http://packages.qa.debian.org/dpatch|PTS]]

Dpatch Packages for Debian

User Information

Developer Information

Arch Repository

  • For arch, every commit needs to be gpg-signed. There is no verification done on the keys, so you can create a new key that doesn't need any connection to the web of trust.

     ~/.arch-params/signing/dpatch\@packages.qa.debian.org--archive

should contain a command that the stuff to sign gets piped to.

 gpg --clearsign --secret-keyring ~/.gnupg/dpatch-arch_sec.gpg --keyring ~/.gnupg/dpatch-arch_pub.gpg

does this, with a custom keyring.

  • Making a new release is composed of the following steps:
    • create a so-called config file (this is arch terminology)
    • do a fresh checkout
    • do a make tla-release
    • extract the result
    • launch dpkg-buildpackage
  • This process is now automated by the script do-release in the dpatch-configs tree:

     ./do-release -c -d [/path/to/dpatch-tree] -- [debuild options]
    • This script is to be run from a dpatch--configs--2.0 checkout
    • the dpatch tree it uses must be an arch checkout, ready to release, with all local changes committed.
    • By default do-release looks for dpatch sources in dpatch-mainline.
    • It then creates a new arch config for it,
    • and builds the package using debuild.
    • After this, one should commit the new config the script created (a simple file addition) by committing the changes to the current directory, being a checkout of the dpatch--configs--2.0 tree.
    • Optionally, the script can cache the arch revision it built the package from (recommended, use the --cacherev or -c option to do-release).
    • The package version is extracted from debian/changelog in the dpatch source tree.
    • If the build fails, its remains can be removed by killing the appropriate file from configs/releases/dpatch-$VERSION.
  • Set your identity

     tla my-id "Realname <mail@domain.example>"
  • Hook Script: Place

     . /path/to/dpatch/tools/dpatch.hook

in ~/.arch-params/hook will send e-mail to dpatch_cvs@packages.qa.d.o on commit, with the log and the diff.

  • Register read-only

     tla register-archive http://arch.debian.org/arch/dpatch/dpatch@packages.qa.debian.org--archive/
  • Register read-write

     tla register-archive -f sftp://arch.debian.org/arch/dpatch/dpatch@packages.qa.debian.org--archive
  • Checkout

     tla get dpatch@packages.qa.debian.org--archive/dpatch--mainline--2.0 dpatch
     tla get dpatch@packages.qa.debian.org--archive/dpatch--configs--2.0 dpatch-configs
     cd dpatch-configs
     tla buildcfg dpatch-mainline
  • Edit Log

     $EDITOR $(tla make-log)
  • Commit

     tla commit
  • If you want to check out a specific dpatch release, do this:

     $ tla get dpatch@packages.qa.debian.org--archive/dpatch--configs--2.0
     $ tla buildcfg releases/dpatch-VERSION # eg, dpatch-2.0.0
  • tla add filename adds a file to the repository. This can also be done automatically by putting an arch-tag: line into the file itself.
  • tla update updates your checked-out tree
  • tla inventory -s can be used to see which files tla recognized.
  • tla changes shows which files have been changed locally since the last checkout/update
  • tla file-diff gives the diff for a given file.
  • How is a complete diff against the last checkout/update done?
  • The arch repository is pull-mirrored by http://sourcecontrol.net/.

Arch information

Arch Q&A

Q: When invoking tla changes, I get the following:

 $ tla changes
 * looking for dpatch@packages.qa.debian.org--archive/dpatch--mainline--2.0--patch-111 to compare with
 PANIC: invoke_tar_extract: execve for hook script returned to caller
 tla: error running hook `make-pristine' (2)
 $

What am I doing wrong?

A: ~/.arch-params/hook is missing the starting #! line


Q: After trying to commit without having GPG set up, further commit attempts fail:

 arch_commit: unable to acquire revision lock (internal error in archive-pfs.c(pfs_lock_revision))
    tree: /home/mh/dpatch/dpatch
    revision: dpatch@packages.qa.debian.org--archive/dpatch--mainline--2.0--patch-112

A: Break the lock using

 tla lock-revisions -b dpatch@packages.qa.debian.org--archive/dpatch--mainline--2.0--patch-112

In some circumstances, you need to break the lock on the preceding revision as well.