Hi, Am Donnerstag, den 28.03.2013, 13:37 -0400 schrieb Michael Alan Dorman: > [..] > > At least I learned a bit. ;) That’s the spirit! > Anyway, ISTM that these should be updated in experimental. I'm happy to > try and do this---that said, while I'm fluent in git, I'm a total newbie > in darcs. Don’t worry, it should not be too hard, as we are not doing too fancy things. > I've read the Darcs intro on the wiki, and I think there are some > unstated assumptions that are confusing me, so I wanted to confirm. Possibly. Please do improve the wiki page if your confusion is resolved. > First, do I understand correctly that the only thing being put into > darcs is the debian/ directory? So the .orig.tar.gz and other files > exist entirely elsewhere? Correct. > (This may seem obvious, but I'm used to a git+pristine-tar workflow that > keeps everything accessible from git.) I know, but I never liked that workflow. (Not that it matters here, but in case you are curious: Too much duplication of data, too much annoyance with trying git to manage three branches that should be in sync, bad experience with git-buildpackage suddendly creating a new .orig.tar.gz just because the pristine-tar branch was not checked out). And in our case all packages are available from a single consistent archive, so with uscan, this works great. > So to update a package would involve, say: > > apt-get source <pkg> > cd <src> > uupdate ../<new .tar.gz> > cd ../<new-src> > mv debian debian.updated > darcs get darcs.debian.org:/darcs/pkg-haskell/<pkg> > <maybe re-run cabal-debian, do any other updates, test build> > darcs record -a > <build and upload> > > Does that sound sensible at least? It does, but it it is easier to use the tools in http://darcs.debian.org/darcs/pkg-haskell/tools/ (which is a darcs repo itself). Here is one possible (untested) way: $ pkg-haskell-uupdate <pkg> # This checks out the debian/ dir, finds out the new version number from # hackage, and bumps it in debian/changelog $ pkg-haskell-checkout <pkg> $ cd <pkg> $ vim debian/control # Important: Adjust build dependencies to match the .cabal file. # Use http://hdiff.luite.com/cgit// for convenient review of the changes $ debcommit -m 'Adjusted build dependencies' $ dch -r '' -D experimental $ dpkg-buildpackage # or whatever you do $ debcommit -r $ debrelease $ darcs push --repo=debian And here is another one, which works well if you do not have to patch stuff but rather only work with the debian directory, as it never actually unpacks the upstream source, and scales well to dozends of packages (then also using mass-change.sh): $ darcs get darcs.debian.org:/darcs/pkg-haskell/<pkg> $ cd <pkg> $ firefox $(diff-upgrade.sh) # Shows the diff from the current to the newest version via hdiff $ mass-upgrade . $ vim control # adjust according to the diff $ darcs amend $ mass-release -D experimental . $ mass-build <sbuilder-name> .../build-output . # This build, and if it works, runs "debcommit -r" # upload in .../build-output as usual $ darcs push Also, I do not use cabal-debian but edit stuff by hand, using the template at http://anonscm.debian.org/darcs/pkg-haskell/tools/template-debian/ This is mostly out of habit and works-for-me, so I’m not speaking against cabal-debian. I’m just saying that I don’t guarantee for it, and I will nag about potentially issues, no matter whether you did them or cabal-debian did them for you :-) If you have any questions, just ask, Joachim -- Joachim "nomeata" Breitner Debian Developer nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata
Attachment:
signature.asc
Description: This is a digitally signed message part