On Wed, Oct 25, 2017 at 12:39:45AM +0200, Axel Burri wrote:
> Here's a quick summary of the btrbk dependencies:
> 
> all versions of btrbk >= 0.23.0 require btrfs-progs >= 3.18.2
> 
> btrbk-0.25.0 supports ALL versions of btrfs-progs <= 4.11.1
> btrbk-0.25.1 supports ALL versions of btrfs-progs <= 4.13.1
> btrbk-0.26.0 supports ALL versions of btrfs-progs >= 3.18.2
> 
> 
> > To prevent this, please provide a bpo of btrbk-0.25.1.
> 
> Unfortunately I'm not a debian user myself and don't know much about all
> this. If I understand it correctly, this is not needed now?

If you'd like to support all Debian users of btrbk, then it is
needed, but if you don't want to maintain a backported package please
let me know, so I can forward this info to debian-backports.  Here is
the rationale:

Currently in stretch/stable: btrfs-progs-4.7.3-1 and btrbk-0.24.0-1
  * no problems
Currently in sid/unstable: btrfs-progs-4.13.3-1 and btrbk-0.26.0-1
  * no problems
Stretch user with btrfs-progs-4.9.1~bpo9+1 and btrbk-0.24.0-1
  * no problems (I think)
Stretch user who has btrfs-progs-4.9.1~bpo9+1, who receives automatic
upgrade to btrfs-progs-4.13.3~bpo9+1, or who enables stretch-backports
specifically to install a newer btrfs-progs (this is recommended by
upstream btrfs devs, as I'm sure you know ;-) )
  - has btrbk-0.24.0-1
  - Dependency resolution does one of these, because "Breaks" was
    added to btrfs-progs:
      1) blocks upgrade to btrfs-progs-4.13.3~bpo9+1
      2) removes btrbk-0.24.0-1 (btrbk is uninstalled but not purged)
      3) user forces upgrade, breaking dependency resolution and
         backups stop working.
      4) installs btrbk-0.26.0-1~bpo9+1
      * Apt will chose #4 as the optimal resolution 100% of the time
        if a bpo of btrbk is available.  I believe #1 is its first
        choice if a bpo of btrbk is not available and #2 would be the
        second choice resolution offered by aptitude.  Additionally, I
        think that apt will also put btrfs-progs-4.9.1~bpo9+1 into the
        "held state" if a bpo of btrbk is not available.
      
If a backport of btrbk-0.26.0 is made, a user can use
btrfs-progs-4.7.3-1 from stable with btrbk-0.26.0-1~bpo9+1.  So there
is always one reason (or three reasons, depending on how you count)
why a backport is needed, and no reasons against.

If you don't tag Debian releases then you can merge commit@point to
a stretch-backports branch.  I like to use tags, because then I don't
have to remember which commit I uploaded to unstable.  You can even
script it.  eg, after the stretch-backports branch is set up:

#!/bin/sh
git tag -l
echo -n "what is the version in testing? "
read testing_version
git merge debian/$testing_version
git mergetool
dch --bpo
# remove extra line that looks like "  *                           "
git add debian/changelog
git commit
echo -n "what is version in backports, or in stable if NEW"
read bpo_version
# copy and paste the tag you want
gbp buildpackage --git-pbuilder \
    --git-debian-branch=stretch-backports \
    --git-dist=stretch-backports \
    --git-tag \
    -v${bpo_version}
# I think the following will also work, but I haven't tested it
# dpkg-buildpackage -v${bpo_version}
# git clean -fd
# head -1 debian/changelog
# echo -n "what is the new version? "
# read new_version
# paste the version from first entry of changelog
# new_version=$(echo $new_version | sed s:\~:_:)
# git tag debian/$new_version


Cheers,
Nicholas

Attachment: signature.asc
Description: PGP signature

Reply via email to