## START: Set by rpmautospec
## (rpmautospec version 0.3.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 2;
    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

%bcond_without tests
Name:             fossil
Version:          2.22
Release:          %autorelease
Summary:          A distributed SCM with bug tracking and wiki

License:          BSD
URL:              https://www.fossil-scm.org/
Source0:          %{URL}home/tarball/version-%{version}/fossil-src-%{version}.tar.gz
Source1:          template.config
Source2:          fossil-doc
Source3:          fossil-doc-README

BuildRequires:    gcc-c++
BuildRequires:    zlib-devel
BuildRequires:    openssl-devel
BuildRequires:    tcl
BuildRequires:    make
BuildRequires:    sqlite
Provides:         bundled(sqlite) = 3.38.0

%description
Fossil is a simple, high-reliability, distributed software configuration
management with distributed bug tracking, distributed wiki and built-in web
interface.

%package doc
Summary:          Fossil documentation

Requires:         fossil

%description doc
Documentation in repository format for %{name}. Users can run `fossil ui`
in %{_docdir}/%{name}-doc folder to view documents in browser.

%prep
%autosetup -n fossil-src-%{version}

# Update config.guess/sub to fix builds on new architectures (aarch64/ppc64le)
for conf in /usr/lib/rpm/config.*; do [ -z "${f}" ] && break; cp "${f}" autosetup; done

%build
%set_build_flags
# This gives configure-without-libdir-spec, but this is done because this is not generated by autoconf (but by autosetup)
# Because of this, it does not support the --host= argument like expected, and as such %%configure cannot be used
./configure --build=%{_build} \
  --disable-dependency-tracking \
  --prefix=%{_prefix} \
  --exec-prefix=%{_exec_prefix} \
  --bindir=%{_bindir} \
  --sbindir=%{_sbindir} \
  --sysconfdir=%{_sysconfdir} \
  --datadir=%{_datadir} \
  --includedir=%{_includedir} \
  --libdir=%{_libdir} \
  --libexecdir=%{_libexecdir} \
  --localstatedir=%{_localstatedir} \
  --sharedstatedir=%{_sharedstatedir} \
  --mandir=%{_mandir} \
  --infodir=%{_infodir} \
  --with-openssl=auto \
  --json

%make_build
# fix spurious-executable-perm
chmod -x www/collisions.ipynb
# fix env-script-interpreter
sed -i "s:^#\!/usr/bin/env\s\+tclsh\s\?$:#!%_bindir/tclsh:" www/mkindex.tcl

%install
%make_install
install -D -m 0644 -t %{buildroot}%{_mandir}/man1 fossil.1


%check
%if %{with tests}
tclsh test/tester.tcl %{buildroot}%{_bindir}/%name
%endif


# create a fossil repository for documents with default settings
%{buildroot}%{_bindir}/%name init --admin-user %name %name-doc.fossil
%{buildroot}%{_bindir}/%name open --force %name-doc.fossil
%{buildroot}%{_bindir}/%name configuration import %{SOURCE1}
sqlite3 %name-doc.fossil "REPLACE INTO config(name,value,mtime) VALUES('doc-glob','*.wiki,*.html,*.md,*.txt',1608172730);"
%{buildroot}%{_bindir}/%name add www
%{buildroot}%{_bindir}/%name commit --user %name --force --comment '%name-doc initial commit'
%{buildroot}%{_bindir}/%name fts-config enable d
%{buildroot}%{_bindir}/%name fts-config index on

install -m 0755 -p -D %{SOURCE2} %{buildroot}%{_bindir}
cp %{SOURCE3} README

%files
%license COPYRIGHT-BSD2.txt
%{_bindir}/%name
%{_mandir}/man1/%name.1*

%files doc
%{_bindir}/%name-doc
%doc %name-doc.fossil
%doc README

%changelog
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.22-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Sat Jun 03 2023 Jonathan Schleifer <js@nil.im> - 2.22-1
- New upstream release 2.22

* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Sun Jul 24 2022 Sheng Mao <shngmao@gmail.com> - 2.19-1
- New upstream release 2.19

* Thu Feb 24 2022 Dan Čermák <dan.cermak@cgc-instruments.com> - 2.18-1
- New upstream release 2.18

* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.17-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Sat Dec 04 2021 Jonathan Schleifer <js@nil.im> - 2.17-1
- Upgrade to fossil 2.17
- Change upstream URL to match FreeBSD, Homebrew, pkgsrc etc. so hashes can be
  compared
- Switch to vendored SQLite as Fossil releases regularly require unreleased
  SQLite versions and both are from the same upstream anyway

* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 2.16-3
- Rebuilt with OpenSSL 3.0.0

* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.16-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Sun Jul 04 2021 Sheng Mao <shngmao@gmail.com> - 2.16-1
- Upgrade to fossil 2.16
- Fixes rhbz#1921136, rhbz#1980049

* Wed Jan 27 2021 Sheng Mao <shngmao@gmail.com> - 2.14-1
- Upgrade to fossil 2.14

* Wed Dec 16 2020 Sheng Mao <shngmao@gmail.com> - 2.13-2
- Enable fossil-doc with searching feature

* Mon Dec 14 2020 Sheng Mao <shngmao@gmail.com> - 2.13-1
- Upgrade to fossil 2.13

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Nov 25 2020 Sheng Mao <shngmao@gmail.com> - 2.12.1-2
- Organize fossil documents in fossil repository format rhbz#1839024

* Mon Oct 19 2020 Sheng Mao <shngmao@gmail.com> - 2.12.1-1
- Upgrade to fossil 2.12.1 after adding FTS4 to system-wide sqlite (rhbz#1887106)
  rhbz#1863577, rhbz#1870790

* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-5
- Second attempt - Rebuilt for
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Thu Jul 04 2019 Filipe Rosset <rosset.filipe@gmail.com> - 2.8-1
- Update to 2.8 fixes rhbz#1581180 rhbz#1603993 rhbz#1674893 and rhbz#1524335
- Removed upstreamed patch
- Bug 1524335 - CVE-2017-17459 fossil: Command injection via malicious ssh URLs [fedora-all]
- Bug 1581180 - Update fossil version to 2.6 (currently is 2.2)
- Bug 1603993 - fossil: FTBFS in Fedora rawhide
- Bug 1674893 - fossil: FTBFS in Fedora rawhide/f30

* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Apr 28 2017 Patrick Uiterwijk <puiterwijk@redhat.com> - 2.2-2
- Update source URL
- Add patch to drop extra groups

* Fri Apr 28 2017 Patrick Uiterwijk <puiterwijk@redhat.com> - 2.2-1
- Rebase to 2.2

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.34-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Sun Mar 20 2016 Divya Cote <divya.hariomtatsat@gmail.com> - 1.34-1
- Update to latest release

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.33-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.33-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Wed May 27 2015 Patrick Uiterwijk <puiterwijk@redhat.com> - 1.33-1
- Update to latest release

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.28-4.20140127173344
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Mon Jun 16 2014 Peter Robinson <pbrobinson@fedoraproject.org> 1.28-3.20140127173344
- Update config.guess/sub to fix ftbfs on new architectures (aarch64/ppc64le)

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.28-2.20140127173344
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Wed Jan 29 2014 Patrick Uiterwijk <puiterwijk@redhat.com> - 1.28-1.20140127173344
- Update to 1.28
- Remove patch to use system sqlite

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.25-3.20130216000435
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Tue May 07 2013 Patrick Uiterwijk <puiterwijk@gmail.com> - 1.25-2.20130216000435
- Update file permissions for bin/fossil

* Fri May 03 2013 Patrick Uiterwijk <puiterwijk@gmail.com> - 1.25-1.20130216000435
- Update packaging

* Tue Sep 08 2009 Silas Sewell <silas@sewell.ch> - 0.0-0.2.20090828225927
- Add doc subpackage and make optflags

* Mon Sep 07 2009 Silas Sewell <silas@sewell.ch> - 0.0-0.1.20090828225927
- Initial package