** Description changed: [ Impact ] - * This bug in the breezy package all in the supported Ubuntu series - newer than 23.04 i.e., 24.04, 25.04, and the current devel series - 25.10, prevents bzr users from fetching private bzr branches hosted - on Launchpad using the `lp:branch-name` syntax shown on all - Launchpad bzr branch pages. While there is the workaround - of using the expanded version of `lp:` that `bzr`/`brz` get - using the Launchpad API an using it with a `bzr+ssh://` format - repository URL, it is not obvious or easy for users to figure - out the expanded version without using the Launchpad API. + * The breezy package all in the supported Ubuntu series + newer than 23.04 i.e., 24.04, 25.04, and the current devel series + 25.10, prevents bzr users from fetching private bzr branches hosted + on Launchpad using the `lp:branch-name` syntax shown on all + Launchpad bzr branch pages. While there is the workaround + of using the expanded version of `lp:` that `bzr`/`brz` get + using the Launchpad API an using it with a `bzr+ssh://` format + repository URL, it is not obvious or easy for users to figure + out the expanded version without using the Launchpad API. - With the upcoming shutdown of the bzr codehosting feature in - Launchpad, this bug inconveniences users who try to migrate - their private branches off Launchpad bzr. + With the upcoming shutdown of the bzr codehosting feature in + Launchpad, this bug inconveniences users who try to migrate + their private branches off Launchpad bzr. - * The SRU upload (to be provided) backports the fix merged - upstream for this issue in https://github.com/breezy-team/breezy/pull/253. - The fix skips the construction of public HTTP URLs for private - bzr branches because Launchpad provides access to private bzr - branches only over SSH and not HTTP(S). The fix does not change - any other behaviour in the breezy package. + * The SRU upload (to be provided) backports the fix merged + upstream for this issue in https://github.com/breezy-team/breezy/pull/253. + The fix skips the construction of public HTTP URLs for private + bzr branches because Launchpad provides access to private bzr + branches only over SSH and not HTTP(S). The fix does not change + any other behaviour in the breezy package. [ Test Plan ] - * With the `breezy` package installed on all of the currently - supported Ubuntu releases and the devel release, log in to Launchpad - using the `brz launchpad-login <launchpad username>` command. Then try - running a command like `bzr branch lp:name-of-private-branch`. The - command will fail with an error that also contains evidence that Launchpad - returned a 500 error. The breezy self-test test suite provided by the - `python3-breezy.tests` package via the `brz selftest` command should be - run to verify that the test suite passes in spite of this bug. + * With the `breezy` package installed on all of the currently + supported Ubuntu releases and the devel release, log in to Launchpad + using the `brz launchpad-login <launchpad username>` command. Then try + running a command like `bzr branch lp:name-of-private-branch`. The + command will fail with an error that also contains evidence that Launchpad + returned a 500 error. The breezy self-test test suite provided by the + `python3-breezy.tests` package via the `brz selftest` command should be + run to verify that the test suite passes in spite of this bug. - * With updated package with the fix, running the same command should - work without any errors on all the supported Ubuntu releases and the - devel release and pull down the bzr branch. The `brz selftest` - command should be run to verify that there are no test suite failures - in the updated package too. The fix upstream has no accompanying tests - included because there are no existing tests covering any of the relevant - code in the Launchpad breezy plugin and it was merged as-is upstream. + * With updated package with the fix, running the same command should + work without any errors on all the supported Ubuntu releases and the + devel release and pull down the bzr branch. The `brz selftest` + command should be run to verify that there are no test suite failures + in the updated package too. The fix upstream has no accompanying tests + included because there are no existing tests covering any of the relevant + code in the Launchpad breezy plugin and it was merged as-is upstream. - * The fix will be submitted to the current devel release, questing. Once it - is verified to work okay and not cause any issues or regressions, it will - be backported to all the supported Ubuntu releases. + * The fix is in the process of being submitted to the questing, the current + devel release. - * The https://launchpad.net/~lgp171188/+archive/ubuntu/breezy-private-branch-fix PPA - has the fixed version of the `breezy` package for plucky and has - been verified to work by multiple users. + * The https://launchpad.net/~lgp171188/+archive/ubuntu/breezy-private-branch-fix PPA + has the fixed version of the `breezy` package for plucky and has + been verified to work by multiple users. [ Where problems could occur ] - * If this SRU introduces any unexpected bugs in the `breezy` package, - it could prevent users from using `bzr` to fetch and work with bzr - branches hosted on Launchpad. The impact is limited to Launchpad-hosted - bzr branches as the fix is in the Launchpad bzr plugin. + * If this SRU introduces any unexpected bugs in the `breezy` package, + it could prevent users from using `bzr` to fetch and work with bzr + branches hosted on Launchpad. The fix is in the Launchpad directory + discovery code which is used by brz to expand the `lp:` prefix in the + `brz` command. So if this fix causes any problem, there is a risk of + the automatic directory discovery feature not working in `brz` for all + Launchpad-hosted bzr branches, both public and private. However, since + the directory service only provides the URL expansion, it is possible + to work around any regressions in the directory service by using + the direct repository URLs of the format `bzr+ssh://[email protected]/~branch-owner/path/to/branch` for private + branches and for write operations. For public branches and read-only + operations, the pre-expanded URLs of the format, `http://bazaar.launchpad.net/~branch-owner/path/to/branch` will work. As the bzr + codebrowse service in Launchpad has been shut down in preparation for + the upcoming bzr codehosting service shutdown, it is necessary to use + the Launchpad API to perform the repository path expansion. + + For instance, if the command to get a copy of bzr branch is + `bzr branch lp:lpbuildbot` and it fails because of some regression in this + fix breaking the Launchpad directory service lookup, one can use the + Launchpad API to get the expanded URL like + + >>> branch = lp.branches.getByPath("lpbuildbot") + >>> branch.composePublicURL(scheme="http") + 'http://bazaar.launchpad.net/~canonical-launchpad-branches/lpbuildbot/public' + >>> branch.composePublicURL(scheme="bzr+ssh") + 'bzr+ssh://bazaar.launchpad.net/~canonical-launchpad-branches/lpbuildbot/public' + + Note that the "http" scheme in the example above will work only for public + bzr branches and for private bzr branches, only "bzr+ssh" works and that + needs to be used similar to what the fix does. [ Other Info ] - * This fix (submitted via https://salsa.debian.org/breezy-team/breezy/-/merge_requests/1) - has been rejected by the Debian maintainer (also the upstream maintainer) - because of there being a workaround and the plans to remove support for - Launchpad in breezy upstream. Some changes have already been merged upstream - towards this. See https://github.com/breezy-team/breezy/pull/300. + * This fix (submitted via https://salsa.debian.org/breezy-team/breezy/-/merge_requests/1) + has been rejected by the Debian maintainer (also the upstream maintainer) + because of there being a workaround and the plans to remove support for + Launchpad in breezy upstream. Some changes have already been merged upstream + towards this. See https://github.com/breezy-team/breezy/pull/300. - * This bug has been reported in the past in https://bugs.launchpad.net/ubuntu/+source/breezy/+bug/2038613 - and https://bugs.launchpad.net/brz/+bug/2039396. + * This bug has been reported in the past in https://bugs.launchpad.net/ubuntu/+source/breezy/+bug/2038613 + and https://bugs.launchpad.net/brz/+bug/2039396.
** Description changed: [ Impact ] * The breezy package all in the supported Ubuntu series newer than 23.04 i.e., 24.04, 25.04, and the current devel series 25.10, prevents bzr users from fetching private bzr branches hosted on Launchpad using the `lp:branch-name` syntax shown on all Launchpad bzr branch pages. While there is the workaround of using the expanded version of `lp:` that `bzr`/`brz` get using the Launchpad API an using it with a `bzr+ssh://` format repository URL, it is not obvious or easy for users to figure out the expanded version without using the Launchpad API. With the upcoming shutdown of the bzr codehosting feature in Launchpad, this bug inconveniences users who try to migrate their private branches off Launchpad bzr. * The SRU upload (to be provided) backports the fix merged upstream for this issue in https://github.com/breezy-team/breezy/pull/253. The fix skips the construction of public HTTP URLs for private bzr branches because Launchpad provides access to private bzr branches only over SSH and not HTTP(S). The fix does not change any other behaviour in the breezy package. [ Test Plan ] * With the `breezy` package installed on all of the currently supported Ubuntu releases and the devel release, log in to Launchpad using the `brz launchpad-login <launchpad username>` command. Then try running a command like `bzr branch lp:name-of-private-branch`. The command will fail with an error that also contains evidence that Launchpad returned a 500 error. The breezy self-test test suite provided by the `python3-breezy.tests` package via the `brz selftest` command should be run to verify that the test suite passes in spite of this bug. * With updated package with the fix, running the same command should work without any errors on all the supported Ubuntu releases and the devel release and pull down the bzr branch. The `brz selftest` command should be run to verify that there are no test suite failures in the updated package too. The fix upstream has no accompanying tests included because there are no existing tests covering any of the relevant code in the Launchpad breezy plugin and it was merged as-is upstream. * The fix is in the process of being submitted to the questing, the current - devel release. + devel release. * The https://launchpad.net/~lgp171188/+archive/ubuntu/breezy-private-branch-fix PPA has the fixed version of the `breezy` package for plucky and has been verified to work by multiple users. [ Where problems could occur ] * If this SRU introduces any unexpected bugs in the `breezy` package, it could prevent users from using `bzr` to fetch and work with bzr branches hosted on Launchpad. The fix is in the Launchpad directory - discovery code which is used by brz to expand the `lp:` prefix in the - `brz` command. So if this fix causes any problem, there is a risk of - the automatic directory discovery feature not working in `brz` for all - Launchpad-hosted bzr branches, both public and private. However, since - the directory service only provides the URL expansion, it is possible - to work around any regressions in the directory service by using - the direct repository URLs of the format `bzr+ssh://[email protected]/~branch-owner/path/to/branch` for private - branches and for write operations. For public branches and read-only - operations, the pre-expanded URLs of the format, `http://bazaar.launchpad.net/~branch-owner/path/to/branch` will work. As the bzr - codebrowse service in Launchpad has been shut down in preparation for - the upcoming bzr codehosting service shutdown, it is necessary to use - the Launchpad API to perform the repository path expansion. + discovery code which is used by brz to expand the `lp:` prefix in the + `brz` command. So if this fix causes any problem, there is a risk of + the automatic directory discovery feature not working in `brz` for all + Launchpad-hosted bzr branches, both public and private. However, since + the directory service only provides the URL expansion, it is possible + to work around any regressions in the directory service by using + the direct repository URLs of the format `bzr+ssh://[email protected]/~branch-owner/path/to/branch` for private + branches and for write operations. For public branches and read-only + operations, the pre-expanded URLs of the format, `http://bazaar.launchpad.net/~branch-owner/path/to/branch` will work. As the bzr + codebrowse service in Launchpad has been shut down in preparation for + the upcoming bzr codehosting service shutdown, it is necessary to use + the Launchpad API to perform the repository path expansion. - For instance, if the command to get a copy of bzr branch is - `bzr branch lp:lpbuildbot` and it fails because of some regression in this - fix breaking the Launchpad directory service lookup, one can use the - Launchpad API to get the expanded URL like + For instance, if the command to get a copy of bzr branch is + `bzr branch lp:lpbuildbot` and it fails because of some regression in this + fix breaking the Launchpad directory service lookup, one can use the + Launchpad API to get the expanded URL like - >>> branch = lp.branches.getByPath("lpbuildbot") - >>> branch.composePublicURL(scheme="http") - 'http://bazaar.launchpad.net/~canonical-launchpad-branches/lpbuildbot/public' - >>> branch.composePublicURL(scheme="bzr+ssh") - 'bzr+ssh://bazaar.launchpad.net/~canonical-launchpad-branches/lpbuildbot/public' + >>> branch = lp.branches.getByPath("lpbuildbot") + >>> branch.composePublicURL(scheme="http") + 'http://bazaar.launchpad.net/~canonical-launchpad-branches/lpbuildbot/public' + >>> branch.composePublicURL(scheme="bzr+ssh") + 'bzr+ssh://bazaar.launchpad.net/~canonical-launchpad-branches/lpbuildbot/public' - Note that the "http" scheme in the example above will work only for public - bzr branches and for private bzr branches, only "bzr+ssh" works and that - needs to be used similar to what the fix does. + Note that the "http" scheme in the example above will work only for public + bzr branches and for private bzr branches, only "bzr+ssh" works and that + needs to be used similar to what the fix does. + + Then one can run a command like + + bzr branch http://bazaar.launchpad.net/~canonical-launchpad- + branches/lpbuildbot/public lpbuildbot + + or + + bzr branch bzr+ssh://bazaar.launchpad.net/~canonical-launchpad- + branches/lpbuildbot/public lpbuildbot + + to get a copy of a bzr branch without using the Launchpad directory service + and the corresponding plugin in the breezy package. [ Other Info ] * This fix (submitted via https://salsa.debian.org/breezy-team/breezy/-/merge_requests/1) has been rejected by the Debian maintainer (also the upstream maintainer) because of there being a workaround and the plans to remove support for Launchpad in breezy upstream. Some changes have already been merged upstream towards this. See https://github.com/breezy-team/breezy/pull/300. * This bug has been reported in the past in https://bugs.launchpad.net/ubuntu/+source/breezy/+bug/2038613 and https://bugs.launchpad.net/brz/+bug/2039396. ** Description changed: [ Impact ] * The breezy package all in the supported Ubuntu series newer than 23.04 i.e., 24.04, 25.04, and the current devel series 25.10, prevents bzr users from fetching private bzr branches hosted on Launchpad using the `lp:branch-name` syntax shown on all Launchpad bzr branch pages. While there is the workaround of using the expanded version of `lp:` that `bzr`/`brz` get using the Launchpad API an using it with a `bzr+ssh://` format repository URL, it is not obvious or easy for users to figure out the expanded version without using the Launchpad API. With the upcoming shutdown of the bzr codehosting feature in Launchpad, this bug inconveniences users who try to migrate their private branches off Launchpad bzr. * The SRU upload (to be provided) backports the fix merged upstream for this issue in https://github.com/breezy-team/breezy/pull/253. The fix skips the construction of public HTTP URLs for private bzr branches because Launchpad provides access to private bzr branches only over SSH and not HTTP(S). The fix does not change any other behaviour in the breezy package. [ Test Plan ] * With the `breezy` package installed on all of the currently supported Ubuntu releases and the devel release, log in to Launchpad using the `brz launchpad-login <launchpad username>` command. Then try running a command like `bzr branch lp:name-of-private-branch`. The command will fail with an error that also contains evidence that Launchpad returned a 500 error. The breezy self-test test suite provided by the `python3-breezy.tests` package via the `brz selftest` command should be run to verify that the test suite passes in spite of this bug. * With updated package with the fix, running the same command should work without any errors on all the supported Ubuntu releases and the devel release and pull down the bzr branch. The `brz selftest` command should be run to verify that there are no test suite failures in the updated package too. The fix upstream has no accompanying tests included because there are no existing tests covering any of the relevant code in the Launchpad breezy plugin and it was merged as-is upstream. * The fix is in the process of being submitted to the questing, the current devel release. * The https://launchpad.net/~lgp171188/+archive/ubuntu/breezy-private-branch-fix PPA has the fixed version of the `breezy` package for plucky and has been verified to work by multiple users. [ Where problems could occur ] * If this SRU introduces any unexpected bugs in the `breezy` package, - it could prevent users from using `bzr` to fetch and work with bzr + it could prevent users from using `bzr` to fetch and work with **all** bzr branches hosted on Launchpad. The fix is in the Launchpad directory discovery code which is used by brz to expand the `lp:` prefix in the `brz` command. So if this fix causes any problem, there is a risk of the automatic directory discovery feature not working in `brz` for all Launchpad-hosted bzr branches, both public and private. However, since the directory service only provides the URL expansion, it is possible to work around any regressions in the directory service by using the direct repository URLs of the format `bzr+ssh://[email protected]/~branch-owner/path/to/branch` for private branches and for write operations. For public branches and read-only operations, the pre-expanded URLs of the format, `http://bazaar.launchpad.net/~branch-owner/path/to/branch` will work. As the bzr codebrowse service in Launchpad has been shut down in preparation for the upcoming bzr codehosting service shutdown, it is necessary to use the Launchpad API to perform the repository path expansion. For instance, if the command to get a copy of bzr branch is `bzr branch lp:lpbuildbot` and it fails because of some regression in this fix breaking the Launchpad directory service lookup, one can use the Launchpad API to get the expanded URL like >>> branch = lp.branches.getByPath("lpbuildbot") >>> branch.composePublicURL(scheme="http") 'http://bazaar.launchpad.net/~canonical-launchpad-branches/lpbuildbot/public' >>> branch.composePublicURL(scheme="bzr+ssh") 'bzr+ssh://bazaar.launchpad.net/~canonical-launchpad-branches/lpbuildbot/public' Note that the "http" scheme in the example above will work only for public bzr branches and for private bzr branches, only "bzr+ssh" works and that needs to be used similar to what the fix does. - Then one can run a command like + Then one can run a command like - bzr branch http://bazaar.launchpad.net/~canonical-launchpad- + bzr branch http://bazaar.launchpad.net/~canonical-launchpad- branches/lpbuildbot/public lpbuildbot - or + or - bzr branch bzr+ssh://bazaar.launchpad.net/~canonical-launchpad- + bzr branch bzr+ssh://bazaar.launchpad.net/~canonical-launchpad- branches/lpbuildbot/public lpbuildbot - to get a copy of a bzr branch without using the Launchpad directory service - and the corresponding plugin in the breezy package. + to get a copy of a bzr branch without using the Launchpad directory service + and the corresponding plugin in the breezy package. [ Other Info ] * This fix (submitted via https://salsa.debian.org/breezy-team/breezy/-/merge_requests/1) has been rejected by the Debian maintainer (also the upstream maintainer) because of there being a workaround and the plans to remove support for Launchpad in breezy upstream. Some changes have already been merged upstream towards this. See https://github.com/breezy-team/breezy/pull/300. * This bug has been reported in the past in https://bugs.launchpad.net/ubuntu/+source/breezy/+bug/2038613 and https://bugs.launchpad.net/brz/+bug/2039396. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2121884 Title: [SRU] Error getting a copy of a private bzr branch on Launchpad To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/breezy/+bug/2121884/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
