[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Workflow with debian/ in VCS

Nikolaus Rath <Nikolaus@rath.org> writes:

> I'm having trouble coming up with a decent workflow for creating
> packages. I am managing the debian/ directory in a mercurial
> repository,

Contrary to other replies in this thread, I find that to be a cleaner
setup: manage just ‘debian/’ in a VCS repository, and build packages
with ‘${VCS}-buildpackage’.

> and at the moment my steps for releasing a new version are:
> 1. Download the new upstream source
> 2. Rename to .orig.tar.bz2, extract, rename created directory

These two steps should be automated with ‘uscan(1)’. Configure it for
your package with the ‘debian/watch’ file.

> 3. Copy debian/ from repo into extracted directory
> 5. Run debuild

These two steps are what ‘${VCS}-buildpackage’ does. You don't have to
have the build artefacts cluttering up your working tree; it does its
work elsewhere.

In my case, ‘bzr-buildpackage --source --merge’ creates a Debian source
package merging my ‘debian/’ with the upstream source, extracted as
needed from the tarball retrieved via ‘uscan’.

> 6. Copy debian back into repo

Obviated by having the repositories separate, and automatically combined
when needed.

> 7. Commit changes

Yay VCS!

> Somehow this seems overly complicated, and I think there is probably a
> more automated way to do this. I have looked into uscan and uupdate, but
> neither of them seem to work very well with a VCS managed debian/.
> Am I missing a tool? Or is a bad idea to try to manage debian/ in a
> VCS?

It's good, and the ‘${VCS}-buildpackage’ tools specifically take that
workflow into account.

Hope that helps.

 \         “A child of five could understand this. Fetch me a child of |
  `\                                              five.” —Groucho Marx |
_o__)                                                                  |
Ben Finney

Reply to: