From 6a13fe4ece2ffdd7544a266b685610abb1c837cb Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 19 Apr 2020 10:46:19 +0200 Subject: [PATCH 1/3] bazaar: remove Bazaar is deprecated in favour of Breezy, which is backward compatible Python 3 fork of the original VCS. --- .../bazaar/CVE-2017-14176.patch | 149 ------------------ .../bazaar/add_certificates.patch | 11 -- .../version-management/bazaar/default.nix | 36 ----- .../version-management/bazaar/tools.nix | 20 --- pkgs/top-level/aliases.nix | 2 + pkgs/top-level/all-packages.nix | 5 - 6 files changed, 2 insertions(+), 221 deletions(-) delete mode 100644 pkgs/applications/version-management/bazaar/CVE-2017-14176.patch delete mode 100644 pkgs/applications/version-management/bazaar/add_certificates.patch delete mode 100644 pkgs/applications/version-management/bazaar/default.nix delete mode 100644 pkgs/applications/version-management/bazaar/tools.nix diff --git a/pkgs/applications/version-management/bazaar/CVE-2017-14176.patch b/pkgs/applications/version-management/bazaar/CVE-2017-14176.patch deleted file mode 100644 index a34ab0c6eb10..000000000000 --- a/pkgs/applications/version-management/bazaar/CVE-2017-14176.patch +++ /dev/null @@ -1,149 +0,0 @@ -diff --git a/bzrlib/tests/test_ssh_transport.py b/bzrlib/tests/test_ssh_transport.py -index 9e37c3b..fe9f219 100644 ---- a/bzrlib/tests/test_ssh_transport.py -+++ b/bzrlib/tests/test_ssh_transport.py -@@ -22,6 +22,7 @@ from bzrlib.transport.ssh import ( - SSHCorpSubprocessVendor, - LSHSubprocessVendor, - SSHVendorManager, -+ StrangeHostname, - ) - - -@@ -161,6 +162,19 @@ class SSHVendorManagerTests(TestCase): - - class SubprocessVendorsTests(TestCase): - -+ def test_openssh_command_tricked(self): -+ vendor = OpenSSHSubprocessVendor() -+ self.assertEqual( -+ vendor._get_vendor_specific_argv( -+ "user", "-oProxyCommand=blah", 100, command=["bzr"]), -+ ["ssh", "-oForwardX11=no", "-oForwardAgent=no", -+ "-oClearAllForwardings=yes", -+ "-oNoHostAuthenticationForLocalhost=yes", -+ "-p", "100", -+ "-l", "user", -+ "--", -+ "-oProxyCommand=blah", "bzr"]) -+ - def test_openssh_command_arguments(self): - vendor = OpenSSHSubprocessVendor() - self.assertEqual( -@@ -171,6 +185,7 @@ class SubprocessVendorsTests(TestCase): - "-oNoHostAuthenticationForLocalhost=yes", - "-p", "100", - "-l", "user", -+ "--", - "host", "bzr"] - ) - -@@ -184,9 +199,16 @@ class SubprocessVendorsTests(TestCase): - "-oNoHostAuthenticationForLocalhost=yes", - "-p", "100", - "-l", "user", -- "-s", "host", "sftp"] -+ "-s", "--", "host", "sftp"] - ) - -+ def test_openssh_command_tricked(self): -+ vendor = SSHCorpSubprocessVendor() -+ self.assertRaises( -+ StrangeHostname, -+ vendor._get_vendor_specific_argv, -+ "user", "-oProxyCommand=host", 100, command=["bzr"]) -+ - def test_sshcorp_command_arguments(self): - vendor = SSHCorpSubprocessVendor() - self.assertEqual( -@@ -209,6 +231,13 @@ class SubprocessVendorsTests(TestCase): - "-s", "sftp", "host"] - ) - -+ def test_lsh_command_tricked(self): -+ vendor = LSHSubprocessVendor() -+ self.assertRaises( -+ StrangeHostname, -+ vendor._get_vendor_specific_argv, -+ "user", "-oProxyCommand=host", 100, command=["bzr"]) -+ - def test_lsh_command_arguments(self): - vendor = LSHSubprocessVendor() - self.assertEqual( -@@ -231,6 +260,13 @@ class SubprocessVendorsTests(TestCase): - "--subsystem", "sftp", "host"] - ) - -+ def test_plink_command_tricked(self): -+ vendor = PLinkSubprocessVendor() -+ self.assertRaises( -+ StrangeHostname, -+ vendor._get_vendor_specific_argv, -+ "user", "-oProxyCommand=host", 100, command=["bzr"]) -+ - def test_plink_command_arguments(self): - vendor = PLinkSubprocessVendor() - self.assertEqual( -diff --git a/bzrlib/transport/ssh.py b/bzrlib/transport/ssh.py -index eecaa26..6f22341 100644 ---- a/bzrlib/transport/ssh.py -+++ b/bzrlib/transport/ssh.py -@@ -46,6 +46,10 @@ else: - from paramiko.sftp_client import SFTPClient - - -+class StrangeHostname(errors.BzrError): -+ _fmt = "Refusing to connect to strange SSH hostname %(hostname)s" -+ -+ - SYSTEM_HOSTKEYS = {} - BZR_HOSTKEYS = {} - -@@ -360,6 +364,11 @@ class SubprocessVendor(SSHVendor): - # tests, but beware of using PIPE which may hang due to not being read. - _stderr_target = None - -+ @staticmethod -+ def _check_hostname(arg): -+ if arg.startswith('-'): -+ raise StrangeHostname(hostname=arg) -+ - def _connect(self, argv): - # Attempt to make a socketpair to use as stdin/stdout for the SSH - # subprocess. We prefer sockets to pipes because they support -@@ -424,9 +433,9 @@ class OpenSSHSubprocessVendor(SubprocessVendor): - if username is not None: - args.extend(['-l', username]) - if subsystem is not None: -- args.extend(['-s', host, subsystem]) -+ args.extend(['-s', '--', host, subsystem]) - else: -- args.extend([host] + command) -+ args.extend(['--', host] + command) - return args - - register_ssh_vendor('openssh', OpenSSHSubprocessVendor()) -@@ -439,6 +448,7 @@ class SSHCorpSubprocessVendor(SubprocessVendor): - - def _get_vendor_specific_argv(self, username, host, port, subsystem=None, - command=None): -+ self._check_hostname(host) - args = [self.executable_path, '-x'] - if port is not None: - args.extend(['-p', str(port)]) -@@ -460,6 +470,7 @@ class LSHSubprocessVendor(SubprocessVendor): - - def _get_vendor_specific_argv(self, username, host, port, subsystem=None, - command=None): -+ self._check_hostname(host) - args = [self.executable_path] - if port is not None: - args.extend(['-p', str(port)]) -@@ -481,6 +492,7 @@ class PLinkSubprocessVendor(SubprocessVendor): - - def _get_vendor_specific_argv(self, username, host, port, subsystem=None, - command=None): -+ self._check_hostname(host) - args = [self.executable_path, '-x', '-a', '-ssh', '-2', '-batch'] - if port is not None: - args.extend(['-P', str(port)]) diff --git a/pkgs/applications/version-management/bazaar/add_certificates.patch b/pkgs/applications/version-management/bazaar/add_certificates.patch deleted file mode 100644 index 18fac36daec5..000000000000 --- a/pkgs/applications/version-management/bazaar/add_certificates.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -ru orig/bzrlib/transport/http/_urllib2_wrappers.py bzr-2.7.0/bzrlib/transport/http/_urllib2_wrappers.py ---- orig/bzr-2.7.0/bzrlib/transport/http/_urllib2_wrappers.py 2016-02-01 20:49:17.000000000 +0100 -+++ bzr-2.7.0/bzrlib/transport/http/_urllib2_wrappers.py 2016-06-18 23:15:21.089511349 +0200 -@@ -95,6 +95,7 @@ - u"/usr/local/share/certs/ca-root-nss.crt", # FreeBSD - # XXX: Needs checking, can't trust the interweb ;) -- vila 2012-01-25 - u'/etc/openssl/certs/ca-certificates.crt', # Solaris -+ u'@certPath@', - ] - - diff --git a/pkgs/applications/version-management/bazaar/default.nix b/pkgs/applications/version-management/bazaar/default.nix deleted file mode 100644 index fa0009d3ef03..000000000000 --- a/pkgs/applications/version-management/bazaar/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv, fetchurl, python2Packages -, withSFTP ? true - }: - -python2Packages.buildPythonApplication rec { - version = "2.7"; - release = ".0"; - name = "bazaar-${version}${release}"; - - src = fetchurl { - url = "https://launchpad.net/bzr/${version}/${version}${release}/+download/bzr-${version}${release}.tar.gz"; - sha256 = "1cysix5k3wa6y7jjck3ckq3abls4gvz570s0v0hxv805nwki4i8d"; - }; - - doCheck = false; - - propagatedBuildInputs = [] - ++ stdenv.lib.optionals withSFTP [ python2Packages.paramiko ]; - - patches = [ - # Bazaar can't find the certificates alone - ./add_certificates.patch - ./CVE-2017-14176.patch - ]; - postPatch = '' - substituteInPlace bzrlib/transport/http/_urllib2_wrappers.py \ - --subst-var-by certPath /etc/ssl/certs/ca-certificates.crt - ''; - - meta = with stdenv.lib; { - homepage = "http://bazaar-vcs.org/"; - description = "A distributed version control system that Just Works"; - platforms = platforms.unix; - license = licenses.gpl2Plus; - }; -} diff --git a/pkgs/applications/version-management/bazaar/tools.nix b/pkgs/applications/version-management/bazaar/tools.nix deleted file mode 100644 index d76260ad4be7..000000000000 --- a/pkgs/applications/version-management/bazaar/tools.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ stdenv, fetchurl, python2Packages }: - -python2Packages.buildPythonApplication rec { - pname = "bzr-tools"; - version = "2.6.0"; - - src = fetchurl { - url = "https://launchpad.net/bzrtools/stable/${version}/+download/bzrtools-${version}.tar.gz"; - sha256 = "0n3zzc6jf5866kfhmrnya1vdr2ja137a45qrzsz8vz6sc6xgn5wb"; - }; - - doCheck = false; - - meta = with stdenv.lib; { - description = "Bazaar plugins"; - homepage = "http://wiki.bazaar.canonical.com/BzrTools"; - platforms = platforms.unix; - license = licenses.gpl2; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 5eb7c2011832..a01f5a9a3408 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -50,6 +50,8 @@ mapAliases ({ bar-xft = lemonbar-xft; # added 2015-01-16 bashCompletion = bash-completion; # Added 2016-09-28 batti = throw "batti has been removed from nixpkgs, as it was unmaintained"; # added 2019-12-10 + bazaar = throw "bazaar has been deprecated by breezy."; # added 2020-04-19 + bazaarTools = throw "bazaar has been deprecated by breezy."; # added 2020-04-19 beegfs = throw "beegfs has been removed."; # added 2019-11-24 bluezFull = bluez; # Added 2019-12-03 bridge_utils = bridge-utils; # added 2015-02-20 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5ed66b372678..8d905e880bab 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18735,11 +18735,6 @@ in baudline = callPackage ../applications/audio/baudline { }; - - bazaar = callPackage ../applications/version-management/bazaar { }; - - bazaarTools = callPackage ../applications/version-management/bazaar/tools.nix { }; - bb = callPackage ../applications/misc/bb { }; berry = callPackage ../applications/window-managers/berry { }; From aee614c9964369737c73d191f074984cd6ba38d0 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 19 Apr 2020 10:48:42 +0200 Subject: [PATCH 2/3] treewide: replace bazaar with breezy --- nixos/modules/services/misc/redmine.nix | 4 ++-- pkgs/applications/misc/ikiwiki/default.nix | 8 ++++---- pkgs/applications/version-management/cvs2svn/default.nix | 4 ++-- .../version-management/reposurgeon/default.nix | 4 ++-- pkgs/build-support/fetchbzr/default.nix | 4 ++-- pkgs/development/tools/flatpak-builder/default.nix | 4 ++-- pkgs/development/tools/misc/hydra/common.nix | 6 +++--- pkgs/development/tools/vcstool/default.nix | 4 ++-- .../package-management/nix-prefetch-scripts/default.nix | 4 ++-- 9 files changed, 21 insertions(+), 21 deletions(-) diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix index 1febdba0c8f9..0e71cf925692 100644 --- a/nixos/modules/services/misc/redmine.nix +++ b/nixos/modules/services/misc/redmine.nix @@ -26,7 +26,7 @@ let scm_mercurial_command: ${pkgs.mercurial}/bin/hg scm_git_command: ${pkgs.gitAndTools.git}/bin/git scm_cvs_command: ${pkgs.cvs}/bin/cvs - scm_bazaar_command: ${pkgs.bazaar}/bin/bzr + scm_bazaar_command: ${pkgs.breezy}/bin/bzr scm_darcs_command: ${pkgs.darcs}/bin/darcs ${cfg.extraConfig} @@ -297,7 +297,7 @@ in environment.SCHEMA = "${cfg.stateDir}/cache/schema.db"; path = with pkgs; [ imagemagick - bazaar + breezy cvs darcs gitAndTools.git diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix index 1515b4b0f99d..0c2abbd9f588 100644 --- a/pkgs/applications/misc/ikiwiki/default.nix +++ b/pkgs/applications/misc/ikiwiki/default.nix @@ -2,7 +2,7 @@ , gitSupport ? false, git ? null , docutilsSupport ? false, python ? null, docutils ? null , monotoneSupport ? false, monotone ? null -, bazaarSupport ? false, bazaar ? null +, bazaarSupport ? false, breezy ? null , cvsSupport ? false, cvs ? null, cvsps ? null , subversionSupport ? false, subversion ? null , mercurialSupport ? false, mercurial ? null @@ -12,7 +12,7 @@ assert docutilsSupport -> (python != null && docutils != null); assert gitSupport -> (git != null); assert monotoneSupport -> (monotone != null); -assert bazaarSupport -> (bazaar != null); +assert bazaarSupport -> (breezy != null); assert cvsSupport -> (cvs != null && cvsps != null && perlPackages.Filechdir != null); assert subversionSupport -> (subversion != null); assert mercurialSupport -> (mercurial != null); @@ -39,7 +39,7 @@ stdenv.mkDerivation { ++ lib.optionals docutilsSupport [python docutils] ++ lib.optionals gitSupport [git] ++ lib.optionals monotoneSupport [monotone] - ++ lib.optionals bazaarSupport [bazaar] + ++ lib.optionals bazaarSupport [breezy] ++ lib.optionals cvsSupport [cvs cvsps perlPackages.Filechdir] ++ lib.optionals subversionSupport [subversion] ++ lib.optionals mercurialSupport [mercurial]; @@ -64,7 +64,7 @@ stdenv.mkDerivation { wrapProgram $a --suffix PERL5LIB : $PERL5LIB --prefix PATH : ${perlPackages.perl}/bin:$out/bin \ ${lib.optionalString gitSupport ''--prefix PATH : ${git}/bin \''} ${lib.optionalString monotoneSupport ''--prefix PATH : ${monotone}/bin \''} - ${lib.optionalString bazaarSupport ''--prefix PATH : ${bazaar}/bin \''} + ${lib.optionalString bazaarSupport ''--prefix PATH : ${breezy}/bin \''} ${lib.optionalString cvsSupport ''--prefix PATH : ${cvs}/bin \''} ${lib.optionalString cvsSupport ''--prefix PATH : ${cvsps}/bin \''} ${lib.optionalString subversionSupport ''--prefix PATH : ${subversion.out}/bin \''} diff --git a/pkgs/applications/version-management/cvs2svn/default.nix b/pkgs/applications/version-management/cvs2svn/default.nix index 68c4e72e5319..ae1929565b6e 100644 --- a/pkgs/applications/version-management/cvs2svn/default.nix +++ b/pkgs/applications/version-management/cvs2svn/default.nix @@ -1,6 +1,6 @@ { lib, fetchurl, makeWrapper , python2Packages -, cvs, subversion, git, bazaar +, cvs, subversion, git, breezy }: python2Packages.buildPythonApplication rec { @@ -14,7 +14,7 @@ python2Packages.buildPythonApplication rec { buildInputs = [ makeWrapper ]; - checkInputs = [ subversion git bazaar ]; + checkInputs = [ subversion git breezy ]; checkPhase = "python run-tests.py"; diff --git a/pkgs/applications/version-management/reposurgeon/default.nix b/pkgs/applications/version-management/reposurgeon/default.nix index fb5b72be4eb8..f52fd30d8391 100644 --- a/pkgs/applications/version-management/reposurgeon/default.nix +++ b/pkgs/applications/version-management/reposurgeon/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, makeWrapper, python27Packages, git , docbook_xml_dtd_412, docbook_xsl, asciidoc, xmlto, pypy -, bazaar ? null, cvs ? null, darcs ? null, fossil ? null +, breezy ? null, cvs ? null, darcs ? null, fossil ? null , mercurial ? null, monotone ? null, rcs ? null , subversion ? null, cvs_fast_export ? null }: @@ -42,7 +42,7 @@ in mkDerivation rec { let binpath = makeBinPath ( filter (x: x != null) - [ out git bazaar cvs darcs fossil mercurial + [ out git breezy cvs darcs fossil mercurial monotone rcs src subversion cvs_fast_export ] ); pythonpath = makeSearchPathOutput "lib" python.sitePackages ( diff --git a/pkgs/build-support/fetchbzr/default.nix b/pkgs/build-support/fetchbzr/default.nix index f9250de4ee07..2cf169de7a52 100644 --- a/pkgs/build-support/fetchbzr/default.nix +++ b/pkgs/build-support/fetchbzr/default.nix @@ -1,11 +1,11 @@ -{ stdenvNoCC, bazaar }: +{ stdenvNoCC, breezy }: { url, rev, sha256 }: stdenvNoCC.mkDerivation { name = "bzr-export"; builder = ./builder.sh; - nativeBuildInputs = [ bazaar ]; + nativeBuildInputs = [ breezy ]; outputHashAlgo = "sha256"; outputHashMode = "recursive"; diff --git a/pkgs/development/tools/flatpak-builder/default.nix b/pkgs/development/tools/flatpak-builder/default.nix index 32519594e4f0..85b68cff20d8 100644 --- a/pkgs/development/tools/flatpak-builder/default.nix +++ b/pkgs/development/tools/flatpak-builder/default.nix @@ -15,7 +15,7 @@ , xmlto , acl -, bazaar +, breezy , binutils , bzip2 , coreutils @@ -89,7 +89,7 @@ in stdenv.mkDerivation rec { ./respect-xml-catalog-files-var.patch (substituteAll { src = ./fix-paths.patch; - bzr = "${bazaar}/bin/bzr"; + bzr = "${breezy}/bin/bzr"; cp = "${coreutils}/bin/cp"; patch = "${patch}/bin/patch"; tar = "${gnutar}/bin/tar"; diff --git a/pkgs/development/tools/misc/hydra/common.nix b/pkgs/development/tools/misc/hydra/common.nix index 75a9689267a1..4e9daab9bf1c 100644 --- a/pkgs/development/tools/misc/hydra/common.nix +++ b/pkgs/development/tools/misc/hydra/common.nix @@ -1,6 +1,6 @@ { stdenv, nix, perlPackages, buildEnv, fetchFromGitHub , makeWrapper, autoconf, automake, libtool, unzip, pkgconfig, sqlite, libpqxx -, gitAndTools, mercurial, darcs, subversion, bazaar, openssl, bzip2, libxslt +, gitAndTools, mercurial, darcs, subversion, breezy, openssl, bzip2, libxslt , guile, perl, postgresql, nukeReferences, git, boehmgc, nlohmann_json , docbook_xsl, openssh, gnused, coreutils, findutils, gzip, lzma, gnutar , rpm, dpkg, cdrkit, pixz, lib, boost, autoreconfHook, src ? null, version ? null @@ -79,7 +79,7 @@ in stdenv.mkDerivation rec { buildInputs = [ makeWrapper autoconf automake libtool unzip nukeReferences sqlite libpqxx - gitAndTools.top-git mercurial /*darcs*/ subversion bazaar openssl bzip2 libxslt + gitAndTools.top-git mercurial /*darcs*/ subversion breezy openssl bzip2 libxslt perlDeps perl nix postgresql # for running the tests nlohmann_json @@ -88,7 +88,7 @@ in stdenv.mkDerivation rec { hydraPath = lib.makeBinPath ( [ sqlite subversion openssh nix coreutils findutils pixz - gzip bzip2 lzma gnutar unzip git gitAndTools.top-git mercurial /*darcs*/ gnused bazaar + gzip bzip2 lzma gnutar unzip git gitAndTools.top-git mercurial /*darcs*/ gnused breezy ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] ); nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/development/tools/vcstool/default.nix b/pkgs/development/tools/vcstool/default.nix index bab3ebd57573..c4a1cf739870 100644 --- a/pkgs/development/tools/vcstool/default.nix +++ b/pkgs/development/tools/vcstool/default.nix @@ -1,5 +1,5 @@ { stdenv, python3Packages -, git, bazaar, subversion }: +, git, breezy, subversion }: with python3Packages; @@ -14,7 +14,7 @@ buildPythonApplication rec { propagatedBuildInputs = [ pyyaml setuptools ]; - makeWrapperArgs = ["--prefix" "PATH" ":" (stdenv.lib.makeBinPath [ git bazaar subversion ])]; + makeWrapperArgs = ["--prefix" "PATH" ":" (stdenv.lib.makeBinPath [ git breezy subversion ])]; doCheck = false; # requires network diff --git a/pkgs/tools/package-management/nix-prefetch-scripts/default.nix b/pkgs/tools/package-management/nix-prefetch-scripts/default.nix index 2c5781a95b8c..bab12ca8e8df 100644 --- a/pkgs/tools/package-management/nix-prefetch-scripts/default.nix +++ b/pkgs/tools/package-management/nix-prefetch-scripts/default.nix @@ -1,5 +1,5 @@ { stdenv, makeWrapper, buildEnv, - bazaar, coreutils, cvs, findutils, gawk, git, gnused, mercurial, nix, subversion + breezy, coreutils, cvs, findutils, gawk, git, gnused, mercurial, nix, subversion }: let mkPrefetchScript = tool: src: deps: @@ -26,7 +26,7 @@ let mkPrefetchScript = tool: src: deps: }; }; in rec { - nix-prefetch-bzr = mkPrefetchScript "bzr" ../../../build-support/fetchbzr/nix-prefetch-bzr [ bazaar ]; + nix-prefetch-bzr = mkPrefetchScript "bzr" ../../../build-support/fetchbzr/nix-prefetch-bzr [ breezy ]; nix-prefetch-cvs = mkPrefetchScript "cvs" ../../../build-support/fetchcvs/nix-prefetch-cvs [ cvs ]; nix-prefetch-git = mkPrefetchScript "git" ../../../build-support/fetchgit/nix-prefetch-git [ coreutils findutils gawk git ]; nix-prefetch-hg = mkPrefetchScript "hg" ../../../build-support/fetchhg/nix-prefetch-hg [ mercurial ]; From 201bf4bfb885f9e530b57c97e7a3f8d30ea9abda Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 5 May 2020 15:02:59 +0200 Subject: [PATCH 3/3] nixos/release-notes: document bazaar removal --- nixos/doc/manual/release-notes/rl-2009.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index 41f9665a3cd5..3bbb7d71d491 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -400,6 +400,21 @@ systemd.services.nginx.serviceConfig.ReadWritePaths = [ "/var/www" ]; The rkt module has been removed, it was archived by upstream. + + + The Bazaar VCS is + unmaintained and, as consequence of the Python 2 EOL, the packages + bazaar and bazaarTools were + removed. Breezy, the backward compatible fork of Bazaar (see the + announcement), + was packaged as breezy and can be used instead. + + + Regarding Nixpkgs, fetchbzr, + nix-prefetch-bzr and Bazaar support in Hydra will + continue to work through Breezy. + +