## START: Set by rpmautospec ## (rpmautospec version 0.6.0) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 5; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # All package versioning is found here: # the actual version is composed from these below # bzrmajor: main bzr version # Version: bzr version, add subrelease version here %global brzmajor 3.3 %global brzminor .3 Name: breezy Version: %{brzmajor}%{?brzminor} Release: %autorelease Summary: Friendly distributed version control system # breezy is GPL-2.0-or-later, but it has Rust dependencies # see packaged LICENSE.dependencies for details License: GPL-2.0-or-later AND (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND Apache-2.0 AND MIT AND (Unlicense OR MIT) URL: http://www.breezy-vcs.org/ Source0: https://launchpad.net/brz/%{brzmajor}/%{version}%{?brzrc}/+download/%{name}-%{version}%{?brzrc}.tar.gz Source1: https://launchpad.net/brz/%{brzmajor}/%{version}%{?brzrc}/+download/%{name}-%{version}%{?brzrc}.tar.gz.asc Source2: brz-icon-64.png BuildRequires: python3-devel BuildRequires: rust-packaging >= 21 BuildRequires: zlib-devel BuildRequires: gcc BuildRequires: gettext BuildRequires: make # This is the name of the command, note that it is brz, not bzr Provides: brz = %{version}-%{release} # breezy is a fork of bzr and replaces it Provides: bzr = %{version}-%{release} Obsoletes: bzr < 3 Provides: git-remote-bzr = %{version}-%{release} Obsoletes: git-remote-bzr < 3 # This is needed for launchpad support Recommends: python3-launchpadlib # Docs are not needed, but some might want them Suggests: %{name}-doc = %{version}-%{release} %description Breezy (brz) is a decentralized revision control system, designed to be easy for developers and end users alike. By default, Breezy provides support for both the Bazaar and Git file formats. %package doc Summary: Documentation for Breezy License: GPL-2.0-or-later BuildArch: noarch %description doc This package contains the documentation for the Breezy version control system. %prep %autosetup -p0 -n %{name}-%{version}%{?brzrc} %cargo_prep # Remove unused shebangs sed -i '1{/#![[:space:]]*\/usr\/bin\/\(python\|env\)/d}' \ breezy/__main__.py \ breezy/git/git_remote_helper.py \ breezy/git/tests/test_git_remote_helper.py \ breezy/plugins/bash_completion/bashcomp.py \ breezy/plugins/zsh_completion/zshcomp.py \ breezy/tests/ssl_certs/create_ssls.py \ contrib/brz_access # Remove Cython generated .c files find . -name '*_pyx.c' -exec rm \{\} \; %generate_buildrequires %cargo_generate_buildrequires %pyproject_buildrequires -x doc %build %py3_build chmod a-x contrib/bash/brzbashprompt.sh # Build documents make docs-sphinx PYTHON=%{__python3} rm doc/*/_build/html/.buildinfo rm -f doc/*/_build/html/_static/*/Makefile pushd doc for dir in *; do test -d $dir/_build/html && mv $dir/_build/html ../$dir done popd # Add Rust licenses %{cargo_license} > LICENSE.dependencies %install %py3_install chmod -R a+rX contrib chmod 0644 contrib/debian/init.d chmod 0644 contrib/bzr_ssh_path_limiter # note the bzr here chmod 0644 contrib/brz_access chmod 0755 %{buildroot}%{python3_sitearch}/%{name}/*.so install -Dpm 0644 contrib/bash/brz %{buildroot}%{bash_completions_dir}/brz rm contrib/bash/brz install -d %{buildroot}%{_datadir}/pixmaps install -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/pixmaps/brz.png # weird man page location mv %{buildroot}%{_prefix}/man %{buildroot}%{_datadir} # move git-remote-bzr to avoid conflict mv %{buildroot}%{_bindir}/git-remote-bzr %{buildroot}%{_bindir}/git-remote-brz mv %{buildroot}%{_mandir}/man1/git-remote-bzr.1 %{buildroot}%{_mandir}/man1/git-remote-brz.1 # backwards compatible symbolic links ln -s brz %{buildroot}%{_bindir}/bzr ln -s git-remote-brz %{buildroot}%{_bindir}/git-remote-bzr echo ".so man1/brz.1" > %{buildroot}%{_mandir}/man1/bzr.1 echo ".so man1/git-remote-brz.1" > %{buildroot}%{_mandir}/man1/git-remote-bzr.1 # locales: all the .po files have empty msgstrs, so this doesn't do anything #mv %%{name}/locale %%{buildroot}%%{_datadir} #%%find_lang %%{name} %files # ... -f %%{name}.lang %license COPYING.txt LICENSE.dependencies %doc NEWS README.rst TODO contrib/ %{_bindir}/brz %{_bindir}/bzr-*-pack %{_bindir}/git-remote-brz %{_bindir}/bzr %{_bindir}/git-remote-bzr %{_mandir}/man1/* %{python3_sitearch}/%{name}/ %{python3_sitearch}/*.egg-info/ %{bash_completions_dir}/brz %{_datadir}/pixmaps/brz.png %files doc %license COPYING.txt LICENSE.dependencies %doc en developers %changelog ## START: Generated by rpmautospec * Tue Jan 23 2024 Fedora Release Engineering - 3.3.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jan 19 2024 Fedora Release Engineering - 3.3.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Mon Jul 24 2023 Ondrej Pohorelsky - 3.3.3-1 - Update to 3.3.3 - Modernizes specfile, now using automatic buildrequires - Resolves: #2219952, #2133259 * Sun Jul 23 2023 Python Maint - 3.2.2-10 - Rebuilt for Python 3.12 * Wed Jul 19 2023 Fedora Release Engineering - 3.2.2-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Mon Jun 26 2023 Ondrej Pohorelsky - 3.2.2-8 - Migrate license to SPDX format * Wed Jan 18 2023 Fedora Release Engineering - 3.2.2-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Wed Jul 20 2022 Fedora Release Engineering - 3.2.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Mon Jun 13 2022 Python Maint - 3.2.2-5 - Rebuilt for Python 3.11 * Tue Jun 07 2022 Ondrej Pohorelsky - 3.2.2-4 - Update to 3.2.2 - Resolves: #2070029 * Wed Jan 19 2022 Fedora Release Engineering - 3.2.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Wed Jul 21 2021 Fedora Release Engineering - 3.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Jul 13 2021 Ondrej Pohorelsky - 3.2.1-1 - Update to 3.2.1 - Resolves: #1980401 * Fri Jun 04 2021 Python Maint - 3.2.0-2 - Rebuilt for Python 3.10 * Wed May 05 2021 Ondrej Pohorelsky - 3.2.0-1 - Update to 3.2.0 * Tue Jan 26 2021 Fedora Release Engineering - 3.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Mon Oct 26 2020 Ondrej Pohorelsky - 3.1.0-1 - Update to 3.1.0 * Thu Oct 22 2020 Miro Hrončok - 3.0.2-5 - Replace bazaar in ELN as well * Mon Jul 27 2020 Fedora Release Engineering - 3.0.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Sat May 23 2020 Miro Hrončok - 3.0.2-3 - Rebuilt for Python 3.9 * Tue Jan 28 2020 Fedora Release Engineering - 3.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Sun Dec 01 2019 Miro Hrončok - 3.0.2-1 - Update to 3.0.2 * Thu Oct 24 2019 Miro Hrončok - 3.0.1-4 - On Fedora 32+, replace bazaar with breezy https://fedoraproject.org/wiki/Changes/ReplaceBazaarWithBreezy * Thu Oct 17 2019 Miro Hrončok - 3.0.1-3 - Reenable all extension modules * Thu Oct 10 2019 Miro Hrončok - 3.0.1-2 - Disable the _static_tuple_c extension module to workaround Python 3.8 problems (#1760260) - Other disabled modules depending on the above: _chk_map_pyx, _dirstate_helpers_pyx, _bencode_pyx, _btree_serializer_pyx * Wed Sep 04 2019 Miro Hrončok - 3.0.1-1 - Package breezy ## END: Generated by rpmautospec