Re: RFH: Where/How to setup RCS for new libfuse-ocaml package
- To: debian-ocaml-maint@lists.debian.org
- Subject: Re: RFH: Where/How to setup RCS for new libfuse-ocaml package
- From: Goswin von Brederlow <goswin-v-b@web.de>
- Date: Fri, 06 Mar 2009 14:52:31 +0100
- Message-id: <87myby92sg.fsf@frosties.localdomain>
- In-reply-to: <20090304141030.GA12245@usha.takhisis.invalid> (Stefano Zacchiroli's message of "Wed, 4 Mar 2009 15:10:30 +0100")
- References: <877i38kor7.fsf@frosties.localdomain> <49ABF37B.7010504@glondu.net> <87k577g1sn.fsf@frosties.localdomain> <20090303095033.GA4437@usha.takhisis.invalid> <87zlg2aivm.fsf@frosties.localdomain> <20090303132524.GA17130@usha.takhisis.invalid> <871vtd5vxi.fsf@frosties.localdomain> <20090304141030.GA12245@usha.takhisis.invalid>
Hi,
for the benefit of anyone else that is upstream and debian maintainer
at the same time I thought I would write a little conclusion to the
thread. I caved in and made a non-native package now. But I've found a
way to make both sides happy. I now have a workflow that I think will
work that is near enough to what a native package would have:
- cd src/upstream/libfuse-ocaml
- start xemacs and hack away. I can edit both upstream and debian/*.
- debuild -us -uc -b && sudo dpkg -i ../*deb && test
- rince and repeat until satisfied
- git commit -a; ( cd ../../debin/libfuse-ocaml && git commit -a )
As you can see only the commit at the end differs from what a native
package would have. Here is how I do it:
upstream/libfuse-ocaml is a git repository with origin on
git.ocamlcore.org without a debian dir (in the repository) and
"debian" in .gitignore.
debian/libfuse-ocaml is a git repository with origin on git.debian.org
with upstream, pristine-tar and master branch as usual. I also created
a debian branch that has only the debian dir and nothing else. master
is a merge of upstream and debian. The current branch of the working
directory is always set to debian.
Now the trick. upstream/libfuse-ocaml/debian is a symlink to
../../debian/libfuse-ocaml/debian. Simple, isn't it?
This way "debuild -b" works in the upstream dir and I can edit both
upstream and debian/* from there. Altough if I change anything in
debian/* I have to remember to commit that as well.
Last here is how I plan to do a release:
upstream/libfuse-ocaml:
- dch (change UNRELEASED to unstable/experimental and check entries)
- do final test
- tag the source for release
- git push
- build libfuse-ocaml-x.y.tar.gz
debian/libfuse-ocaml:
- git-import-orig --pristine-tar ../../upstream/libfuse-ocaml-x.y.tar.gz
- git commit -a (for the changelog)
- git checkout master
- git merge upstream debian
- build, test and sign final package for upload
- tag for release
- git push
- git checkout debian
- dch -i (set distribution to UNRELEASED)
MfG
Goswin
Reply to: