diff options
Diffstat (limited to 'debian/README.source.md')
-rw-r--r-- | debian/README.source.md | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/debian/README.source.md b/debian/README.source.md new file mode 100644 index 0000000..98234c8 --- /dev/null +++ b/debian/README.source.md @@ -0,0 +1,99 @@ +The packaging is kept in https://salsa.debian.org/samba-team/samba. + +The version in unstable is on the `master` branch, with the corresponding +upstream version in the `upstream_4.20` branch (with `pristine-tar` information +in the `pristine-tar` branch). + +It should be possible to build the package by just running `gbp buildpackage`. + +Building +======== + +The first time: + + sudo apt install git-buildpackage pristine-tar cowbuilder dh-python + DIST=sid ARCH=amd64 git-pbuilder create + git clone https://salsa.debian.org/samba-team/samba.git + +Each time: + + cd samba + git checkout master + gbp pull --track-missing + gbp buildpackage --git-pbuilder --git-dist=sid --git-arch=amd64 + +Alternatively, source-only: + + cd samba + git checkout master + dpkg-buildpackage -S -d + # build the resulting ../samba_*.dsc with other means + +Merging minor upstream releases +=============================== + +Importing a new upstream version can be done like this: + + # set target version + upstream_version=4.20.0 + # go to git repo + cd $GIT_DIR + # Import upstream + git remote add upstream https://git.samba.org/samba.git + git fetch upstream + # go to the Debian branch + git checkout master + # sync all required branches + gbp pull --track-missing + # Import latest version + gbp import-orig --uscan \ + -u "${upstream_version}+dfsg" \ + --upstream-vcs-tag "samba-${upstream_version}" \ + --merge-mode merge + # all done :) + + +Please note that there are some files that are not dfsg-free and they need to +be filtered. The settings in the `gpb.conf` configuration file should take +care of that. + +Merging major upstream releases +=============================== + +With a new major version, more work is needed. + +After `gbp pull`: + + major_version="$(echo $upstream_version | sed 's/.[^.]\+$//')" + # Edit gbp.conf's upstream-branch + editor debian/gbp.conf + # Edit debian/watch's major version + editor debian/watch + # Edit this file's major version + editor debian/README.source.md + # Commit + git commit -m"Update d/gbp.conf, d/watch and d/README.source for ${major_version}" debian/gbp.conf debian/watch debian/README.source.md + # Create the new upstream branch + git branch "upstream_${major_version}" samba-${upstream_version} + # Import latest version + gbp import-orig --uscan \ + -u "${upstream_version}+dfsg" \ + --upstream-vcs-tag "samba-${upstream_version}" \ + --merge-mode=replace + +Then several steps are needed: + +- Check patches: + + QUILT_PATCHES=debian/patches quilt push -a + # then update or drop patches as needed + +- Bump talloc, tdb, and tevent Build-Depends in debian/control, from lib/*/wscript + + grep ^VERSION lib/{talloc,tdb,tevent}/wscript + editor debian/control + +- Check if other Build-Depends need to be bumped + + git diff origin/master.."samba-${upstream_version}" \ + buildtools/wafsamba/samba_third_party.py |