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

Re: RFH: Where/How to setup RCS for new libfuse-ocaml package



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: