## 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

Name:           nbd
Version:        3.25
Release:        %autorelease
Summary:        Network Block Device user-space tools (TCP version)
# SPDX migration
License:        GPL-2.0-only
URL:            https://github.com/NetworkBlockDevice/nbd
Source0:        https://github.com/NetworkBlockDevice/nbd/releases/download/nbd-%{version}/nbd-%{version}.tar.xz
Source1:        nbd-server.service
Source2:        nbd-server.sysconfig

BuildRequires: make
BuildRequires:  gcc
BuildRequires:  glib2-devel >= 2.26
BuildRequires:  gnutls-devel
BuildRequires:  zlib-devel
BuildRequires:  libnl3-devel
BuildRequires:  bison
BuildRequires:  systemd
%{?systemd_requires}

%description
Tools for the Linux Kernel's network block device, allowing you to use
remote block devices over a TCP/IP network.

%prep
%autosetup -p1
# wait longer for nbd-server to fully start,
# five seconds may not be enough on Fedora building infra
sed -i 's/tv_sec = 5/tv_sec = 30/' tests/run/nbd-tester-client.c

%build
%configure --enable-syslog --enable-lfs
%make_build

%install
%make_install
install -pDm644 systemd/nbd@.service %{buildroot}%{_unitdir}/nbd@.service
mkdir -p %{buildroot}%{_unitdir}/nbd@.service.d
cat > %{buildroot}%{_unitdir}/nbd@.service.d/modprobe.conf <<EOF
[Service]
ExecStartPre=/sbin/modprobe nbd
EOF
install -pDm644 %{S:1} %{buildroot}%{_unitdir}/nbd-server.service
install -pDm644 %{S:2} %{buildroot}%{_sysconfdir}/sysconfig/nbd-server

%check
# wait longer for nbd-server to fully start,
# one second may not be enough on Fedora building infra
DELAY=10 make check

%post
%systemd_post nbd-server.service

%preun
%systemd_preun nbd-server.service

%postun
%systemd_postun nbd-server.service

%files
%doc README.md doc/*.md doc/todo.txt
%license COPYING
%{_bindir}/nbd-server
%{_bindir}/nbd-trdump
%{_bindir}/nbd-trplay
%{_mandir}/man*/nbd*
%{_sbindir}/nbd-client
%{_sbindir}/min-nbd-client
%config(noreplace) %{_sysconfdir}/sysconfig/nbd-server
%{_unitdir}/nbd-server.service
%{_unitdir}/nbd@.service
%{_unitdir}/nbd@.service.d

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

* Wed May 03 2023 Robin Lee <cheeselee@fedoraproject.org> - 3.25-1
- New release 3.25 with obsoleted gznbd disabled

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

* Sat Aug 20 2022 Robin Lee <cheeselee@fedoraproject.org> - 3.24-3
- Further enlarge test timeout (RHBZ#2113543)

* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.24-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Tue Mar 08 2022 Robin Lee <cheeselee@fedoraproject.org> - 3.24-1
- Update to 3.24: fix CVE-2022-26495(RHBZ#2061541),
  CVE-2022-26496(RHBZ#2061542)

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

* Fri Nov 26 2021 Robin Lee <cheeselee@fedoraproject.org> - 3.23-1
- New release 3.23

* Tue Oct 12 2021 Robin Lee <cheeselee@fedoraproject.org> - 3.22-3
- Fix test failure on armv7hl, another try

* Mon Oct 11 2021 Robin Lee <cheeselee@fedoraproject.org> - 3.22-2
- Fix test failure on armv7hl

* Mon Oct 11 2021 Robin Lee <cheeselee@fedoraproject.org> - 3.22-1
- New release 3.22

* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.21-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

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

* Sun Jan 17 2021 Fedora Release Monitoring <release-monitoring@fedoraproject.org> - 3.21-1
- Update to 3.21 (#1917135)

* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.20-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Sat Sep 28 2019 Robin Lee <cheeselee@fedoraproject.org> - 3.20-1
- New upstream version 3.20 (RHBZ#1752353).

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

* Thu Feb  7 2019 Richard W.M. Jones <rjones@redhat.com> - 3.19-1
- New upstream version 3.19 (RHBZ#1671079).

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.18-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Sun Nov  4 2018 Robin Lee <cheeselee@fedoraproject.org> - 3.18-1
- Update to 3.18

* Sun Sep  2 2018 Richard W.M. Jones <rjones@redhat.com> - 3.17-3
- Add upstream fix for timeout issue which makes nbd-client almost unusable.

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

* Mon Apr  2 2018 Robin Lee <cheeselee@fedoraproject.org> - 3.17-1
- Update to 3.17

* Sat Mar 10 2018 Robin Lee <cheeselee@fedoraproject.org> - 3.16.2-3
- BR gcc for http://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot

* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.16.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Sat Sep 23 2017 Robin Lee <cheeselee@fedoraproject> - 3.16.2-1
- Update to 3.16.2 (BZ#1490655, BZ#1490039)
- nbd@.service would automatically modprobe nbd (BZ#1480986)
- Fix scriptlets

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.16.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

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

* Mon May 29 2017 Robin Lee <cheeselee@fedoraproject.org> - 3.16.1-1
- Update to 3.16.1

* Tue May 23 2017 Robin Lee <cheeselee@fedoraproject.org> - 3.15.3-1
- Update to 3.15.3

* Sun Feb 12 2017 Robin Lee <cheeselee@fedoraproject.org> - 3.15.1-1
- Update to 3.15.1

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

* Wed Aug 17 2016 Robin Lee <cheeselee@fedoraproject.org> - 3.14-2
- Install the nbd@.service systemd unit file (BZ#1367679)

* Sun Aug 14 2016 Robin Lee <cheeselee@fedoraproject.org> - 3.14-1
- Update to 3.14 (BZ#1279876)
- Enable gznbd
- Extend nbd-server waiting time during tests

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Sat Jul 11 2015 Christopher Meng <rpm@cicku.me> - 3.11-1
- Update to 3.11

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

* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

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

* Fri Mar 21 2014 Christopher Meng <rpm@cicku.me> - 3.8-1
- Update to 3.8

* Thu Jan 30 2014 Christopher Meng <rpm@cicku.me> - 3.7-2
- Patch to support systemd init system in order to avoid kernel panic.

* Mon Jan 27 2014 Christopher Meng <rpm@cicku.me> - 3.7-1
- Update to 3.7

* Sat Jan 04 2014 Christopher Meng <rpm@cicku.me> - 3.6-1
- Update to 3.6

* Mon Dec 02 2013 Christopher Meng <rpm@cicku.me> - 3.5-1
- Fix incorrect parsing of access control file in nbd-server(CVE-2013-6410).
- Add systemd support for nbd-server(BZ#877518).
- Enable logging to syslog.

* Tue Sep 17 2013 Christopher Meng <rpm@cicku.me> - 3.4-1
- Update to 3.4

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

* Fri Jun 07 2013 Richard W.M. Jones <rjones@redhat.com> - 3.3-1
- New upstream version 3.3.
- Modernize the spec file.
- There is a new program (nbd-trdump).

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.20-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.20-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.20-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Fri Feb 04 2011 Miloš Jakubíček <xjakub@fi.muni.cz> - 2.9.20-1
- Update to 2.9.20: fix CVE-2005-3534, BZ#673562

* Fri Mar 26 2010 Miloš Jakubíček <xjakub@fi.muni.cz> - 2.9.15-1
- Update to 2.9.15
- Remove file dep on stubs-32.h, doesn't seem to be necessary anymore

* Thu Aug  6 2009 Milos Jakubicek <xjakub@fi.muni.cz> - 2.9.13-1
- Update to 2.9.13
- Dropped nbd-module.patch (merged upstream)

* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Wed May 13 2009 Milos Jakubicek <xjakub@fi.muni.cz> - 2.9.12-1
- Update to 2.9.12 (resolves BZ#454099).
- Added nbd-module.patch (resolves BZ#496751).

* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Wed Apr 09 2008 Warren Togami <wtogami@redhat.com> - 2.9.10-1
- match nbd in kernel-2.6.24+
- remove 32bit crack from x86_64 that made no sense

* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.9.7-5
- Autorebuild for GCC 4.3

* Wed Nov 07 2007 Warren Togami <wtogami@redhat.com> 2.9.7-4
- include nbd-client i386 in x86-64 RPM because initrd images need it

* Sat Oct 13 2007 Eric Harrison <eharrison@mesd.k12.or.us> 2.9.7-3
- add buildrequires

* Sat Oct 13 2007 Eric Harrison <eharrison@mesd.k12.or.us> 2.9.7-2
- package cleanups

* Sat Oct 13 2007 Eric Harrison <eharrison@mesd.k12.or.us> 2.9.7-1
- update to 2.9.7