dev-vcs/bzr is depending on python 2 which have been EOL in 2020-01-01, Breezy should be used as a replacement (which distros like Fedora and Debian have done). Reproducible: Always
Created attachment 616558 [details] dev-vcs/breezy ebuild This is a draft ebuild for dev-vcs/breezy. Other attachments will follow. In particular virtual/bzr to install dev-vcs/breezy as a drop-in replacement of dev-vcs/bzr. Please, amend as needed. NOTES: Some symlinks are created to use `bzr` rather than `brz` (see dosym in the ebuild). I didn't test any PYTHON_REQ_USE values (dev-vcs/bzr uses PYTHON_REQ_USE="threads,ssl,xml"). As of now, all tests are run when the test useflag is used. Some of them may skip/fail. I'm aware of only dev-python/testtools as requirement. It would also be possible to use the already built html docs (without installing dev-python/sphinx and dev-python/sphinx-epytext, and not calling `emake docs`), or to install just the txt docs when the doc useflag isn't used. dev-python/cython is not necessary for release tarballs, as they already contain the C files that Cython is needed to create. I tried to manually remove the C files, to force the use of Cython, and I got for some of them an error asking to use the option '--allow-python-fallback': `python setup.py install build_ext --allow-python-fallback` WARNINGS DURING COMPILATION: brz: warning: some compiled extensions could not be loaded; see ``brz help missing-extensions`` warning: no files found matching 'tools/bzr_epydoc' warning: no files found matching 'breezy/plugins/grep/.bzrignore' warning: no files found matching 'breezy/plugins/grep/NEWS' DEVELOPERS NOTES: https://www.breezy-vcs.org/developers/testing.html By default Breezy uses apport to report program crashes. In developing Breezy it’s normal and expected to have it crash from time to time, at least because a test failed if for no other reason. Therefore you should probably add debug_flags = no_apport to your breezy.conf file (in ~/.config/breezy/ on Unix), so that failures just print a traceback rather than writing a crash file.
Created attachment 616560 [details] dev-vcs/breezy metadata.xml
Created attachment 616562 [details] dev-vcs/breezy Manifest
Created attachment 616566 [details] dev-vcs/breezy files (emacs site file)
Created attachment 616568 [details] virtual/bzr ebuild Programs depending on dev-vcs/bzr should rather use virtual/bzr, which allows to install dev-vcs/breezy as a drop-in replacement of dev-vcs/bzr.
Created attachment 616570 [details] virtual/bzr metadata.xml
Created attachment 616574 [details] app-portage/layman ebuild (depends on virtual/bzr) This is also a draft ebuild that may be used as reference. I didn't test for compatibility with dev-vcs/breezy, though. I did a simple grep to find ebuilds depending on (or mentioning) dev-vcs/bzr. This is to prepare alternative ebuilds depending on virtual/bzr (to allow dev-vcs/breezy as a drop-in replacement). $ find /usr/portage/ -type f -name '*.ebuild' | xargs -I {} grep -H 'dev-vcs/bzr' {} /usr/portage/app-portage/layman/layman-2.4.2-r1.ebuild: bazaar? ( dev-vcs/bzr ) /usr/portage/app-portage/layman/layman-2.4.2-r2.ebuild: bazaar? ( dev-vcs/bzr ) /usr/portage/app-portage/layman/layman-9999.ebuild: bazaar? ( dev-vcs/bzr ) /usr/portage/dev-python/vcstools/vcstools-0.1.42.ebuild: dev-vcs/bzr /usr/portage/dev-qt/qt-creator/qt-creator-4.10.1.ebuild: bazaar? ( dev-vcs/bzr ) /usr/portage/dev-qt/qt-creator/qt-creator-4.8.2.ebuild: bazaar? ( dev-vcs/bzr ) /usr/portage/dev-qt/qt-creator/qt-creator-9999.ebuild: bazaar? ( dev-vcs/bzr ) /usr/portage/dev-util/rosinstall/rosinstall-0.7.8.ebuild: dev-vcs/bzr /usr/portage/dev-util/rosinstall/rosinstall-9999.ebuild: dev-vcs/bzr /usr/portage/dev-util/wstool/wstool-0.1.18.ebuild: dev-vcs/bzr /usr/portage/dev-util/wstool/wstool-9999.ebuild: dev-vcs/bzr /usr/portage/dev-vcs/bzr-rewrite/bzr-rewrite-0.6.3.ebuild: !<dev-vcs/bzr-svn-0.6" /usr/portage/dev-vcs/bzr-rewrite/bzr-rewrite-0.6.3.ebuild: !dev-vcs/bzr-rebase" /usr/portage/dev-vcs/bzr-rewrite/bzr-rewrite-0.6.3.ebuild:DEPEND=">=dev-vcs/bzr-2.5.0 /usr/portage/dev-vcs/bzr-xmloutput/bzr-xmloutput-0.8.8-r3.ebuild: dev-vcs/bzr[${PYTHON_MULTI_USEDEP}] /usr/portage/dev-vcs/bzrtools/bzrtools-2.5.ebuild:RDEPEND=">=dev-vcs/bzr-2.4" /usr/portage/dev-vcs/cvs2svn/cvs2svn-2.4.0-r1.ebuild: bazaar? ( >=dev-vcs/bzr-1.13 ) /usr/portage/dev-vcs/cvs2svn/cvs2svn-2.5.0.ebuild: bazaar? ( >=dev-vcs/bzr-1.13 ) /usr/portage/kde-apps/dolphin-plugins-bazaar/dolphin-plugins-bazaar-19.08.3.ebuild: dev-vcs/bzr /usr/portage/kde-apps/dolphin-plugins-bazaar/dolphin-plugins-bazaar-19.12.2.ebuild: dev-vcs/bzr /usr/portage/sys-apps/etckeeper/etckeeper-1.18.6.ebuild: elog " dev-vcs/bzr" /usr/portage/sys-apps/etckeeper/etckeeper-1.18.6.ebuild: elog "For dev-vcs/bzr you need to enable 'bazaar' useflag." /usr/portage/sys-apps/etckeeper/etckeeper-1.18.6.ebuild:DEPEND="bazaar? ( dev-vcs/bzr )" /usr/portage/sys-apps/etckeeper/etckeeper-1.18.8.ebuild: elog " dev-vcs/bzr" /usr/portage/sys-apps/etckeeper/etckeeper-1.18.8.ebuild: elog "For dev-vcs/bzr you need to enable 'bazaar' useflag." /usr/portage/sys-apps/etckeeper/etckeeper-1.18.8.ebuild:DEPEND="bazaar? ( dev-vcs/bzr[${PYTHON_USEDEP}] )" /usr/portage/x11-misc/zim/zim-0.71.1-r1.ebuild: elog " dev-vcs/bzr" /usr/portage/x11-misc/zim/zim-0.72.0.ebuild: elog " dev-vcs/bzr" /usr/portage/x11-misc/zim/zim-0.72.1-r1.ebuild: elog " dev-vcs/bzr"
Is it 100% API compatible or not?
(In reply to Michał Górny from comment #8) > Is it 100% API compatible or not? Going by this mailing list posting, it isn't: https://lists.ubuntu.com/archives/bazaar/2019q4/076358.html So presumably, reverse dependencies will have to be checked one by one.
Very well. I've masked dev-vcs/bzr now. If someone wants to package breezy instead, be my guest. I've added individual package.use.mask entries for the few packages optionally using bzr, so you can test them one by one and unmask once they're fixed to work with brz.
Created attachment 633128 [details] dev-vcs/breezy-3.0.2_p5.ebuild Bump version.
Created attachment 633130 [details] dev-vcs/breezy Manifest Update Manifest file.
(In reply to mehw from comment #11) > Created attachment 633128 [details] > dev-vcs/breezy-3.0.2_p5.ebuild > > Bump version. Would you be willing to be the (proxied) maintainer of this package? It would be greatly appreciated. In that case, we would need either of these: - "git format-patch" of the commits adding the package, and update of its reverse dependencies, or - a pull request on github. If not, we would at least need a copyright sign-off for your ebuild, so that someone else can pick it up. (You can post the "Signed-off-by:" line as a comment in this bug.) See GLEP 76 for details: https://www.gentoo.org/glep/glep-0076.html#certificate-of-origin
I'd like to do both. I could be a proxied maintainer until the ebuild is taken under the wing of an experienced Gentoo maintainer, and in the meantime do a ("Signed-off-by:") PR on github about the ebuild and its reverse dependencies. I just need some time to organize. PS: Should I change anything in the metadata.xml file?
(In reply to mehw from comment #14) > PS: Should I change anything in the metadata.xml file? Yes, list yourself and proxy-maint as maintainers.
Created attachment 643870 [details] missing bzr.eclass In the meantime... here is the missing bzr.eclass recovered from the portage tree... https://github.com/gentoo-mirror/gentoo/commit/79a3d7f7c3ca5f1af64f0d5e60cd490ca62f3c05
Version 3.1.0 is out, renaming and adjusting the SRC_URI works fine.
Thanks for the build! bzr was a major blocker for me upgrading several systems. Is the cython dependency actually required at run-time instead of just build-time? I tried uninstalling cython, and have seen no problems using breezy so far.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b57ebe2ee33ede5c82d04965840436d3876c647 commit 0b57ebe2ee33ede5c82d04965840436d3876c647 Author: Arthur Zamarin <arthurzam@gentoo.org> AuthorDate: 2021-09-25 06:57:22 +0000 Commit: Arthur Zamarin <arthurzam@gentoo.org> CommitDate: 2021-09-25 07:00:36 +0000 dev-vcs/breezy: initial packaging (v3.2.1) Some notes for this package: - has huge test suite, around ~30,000. Sadly some of them need disabling (0.8%) - takes ~24 minutes per python target - installs aliases for old bzr bin names - anyone can help and improve the ebuild Closes: https://bugs.gentoo.org/705018 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org> dev-vcs/breezy/Manifest | 1 + dev-vcs/breezy/breezy-3.2.1.ebuild | 86 ++++++++++++++++++++++++++++++++++++++ dev-vcs/breezy/metadata.xml | 13 ++++++ 3 files changed, 100 insertions(+)