This is an automated email from the git hooks/post-receive script.
teigland pushed a commit to branch master in repository sanlock.
commit 371e11a9ec05f4a5c235b8ca07371086a7d411dd Author: Nir Soffer nsoffer@redhat.com AuthorDate: Sun Mar 24 19:41:33 2019 +0200
Add minimal development build
Add minimal build system for making it easy to create rpms for development.
When building from annotated tag, create clean rpm name:
sanlock-3.7.0-0.fc28.src.rpm
If we are past an annotated tag, add the number of commits since the last tag and the git hash to the release:
sanlock-3.7.0-5.g569c1fc.fc28.src.rpm
Signed-off-by: Nir Soffer nsoffer@redhat.com --- .gitignore | 2 + Makefile | 38 ++++++++ sanlock.spec.in | 283 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 323 insertions(+)
diff --git a/.gitignore b/.gitignore index d46effb..dec4e89 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ tests/sanlk_client tests/sanlk_load tests/sanlk_path tests/__pycache__/ +sanlock.spec +*.tar diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bc1b3ce --- /dev/null +++ b/Makefile @@ -0,0 +1,38 @@ +version := $(shell cat VERSION) + +ifeq ($(shell git describe --exact-match 2>/dev/null),) +# sanlock-3.7.0-5-g11fb098 -> 5.g11fb098 +release := $(shell git describe --tags | awk -F- '{print $$(NF-1) "." $$(NF)}') +else +release := 0 +endif + +distname := sanlock-$(version) +tarball := $(distname).tar.gz + +all: + $(MAKE) -C wdmd + $(MAKE) -C src + $(MAKE) -C python inplace + +clean: + $(MAKE) -C wdmd clean + $(MAKE) -C src clean + $(MAKE) -C python clean + +dist: spec + rm -f $(tarball) + git archive --prefix=$(distname)/ HEAD > $(distname).tar + tar rf $(distname).tar --transform="s|^|$(distname)/&|" sanlock.spec + gzip $(distname).tar + +srpm: dist + rpmbuild -ts $(tarball) + +rpm: dist + rpmbuild -ta $(tarball) + +spec: + sed -e 's/@VERSION@/$(version)/g' \ + -e 's/@RELEASE@/$(release)/g' \ + sanlock.spec.in > sanlock.spec diff --git a/sanlock.spec.in b/sanlock.spec.in new file mode 100644 index 0000000..de72863 --- /dev/null +++ b/sanlock.spec.in @@ -0,0 +1,283 @@ +Name: sanlock +Version: @VERSION@ +Release: @RELEASE@%{?dist} +Summary: A shared storage lock manager + +License: GPLv2 and GPLv2+ and LGPLv2+ +URL: https://pagure.io/sanlock/ +BuildRequires: gcc +BuildRequires: libblkid-devel libaio-devel python2 python2-devel +BuildRequires: systemd-units +Requires: %{name}-lib = %{version}-%{release} +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(post): systemd-units +Requires(post): systemd-sysv +Requires(preun): systemd-units +Requires(postun): systemd-units +Source0: https://releases.pagure.org/sanlock/%%7Bname%7D-%%7Bversion%7D.tar.gz + +%description +The sanlock daemon manages leases for applications on hosts using shared storage. + +%prep +%setup -q + +%build +%set_build_flags +# upstream does not require configure +# upstream does not support _smp_mflags +CFLAGS=$RPM_OPT_FLAGS make -C wdmd +CFLAGS=$RPM_OPT_FLAGS make -C src +CFLAGS=$RPM_OPT_FLAGS make -C python +CFLAGS=$RPM_OPT_FLAGS make -C reset + +%install +rm -rf $RPM_BUILD_ROOT +make -C src \ + install LIBDIR=%{_libdir} \ + DESTDIR=$RPM_BUILD_ROOT +make -C wdmd \ + install LIBDIR=%{_libdir} \ + DESTDIR=$RPM_BUILD_ROOT +make -C python \ + install LIBDIR=%{_libdir} \ + DESTDIR=$RPM_BUILD_ROOT +make -C reset \ + install LIBDIR=%{_libdir} \ + DESTDIR=$RPM_BUILD_ROOT + + +install -D -m 0644 init.d/sanlock.service.native $RPM_BUILD_ROOT/%{_unitdir}/sanlock.service +install -D -m 0755 init.d/wdmd $RPM_BUILD_ROOT/usr/lib/systemd/systemd-wdmd +install -D -m 0644 init.d/wdmd.service.native $RPM_BUILD_ROOT/%{_unitdir}/wdmd.service +install -D -m 0644 init.d/sanlk-resetd.service $RPM_BUILD_ROOT/%{_unitdir}/sanlk-resetd.service + +install -D -m 0644 src/logrotate.sanlock \ + $RPM_BUILD_ROOT/etc/logrotate.d/sanlock + +install -D -m 0644 src/sanlock.conf \ + $RPM_BUILD_ROOT/etc/sanlock/sanlock.conf + +install -D -m 0644 init.d/wdmd.sysconfig \ + $RPM_BUILD_ROOT/etc/sysconfig/wdmd + +install -Dd -m 0755 $RPM_BUILD_ROOT/etc/wdmd.d +install -Dd -m 0775 $RPM_BUILD_ROOT/%{_localstatedir}/run/sanlock +install -Dd -m 0775 $RPM_BUILD_ROOT/%{_localstatedir}/run/sanlk-resetd + +%pre +getent group sanlock > /dev/null || /usr/sbin/groupadd \ + -g 179 sanlock +getent passwd sanlock > /dev/null || /usr/sbin/useradd \ + -u 179 -c "sanlock" -s /sbin/nologin -r \ + -g 179 -d /var/run/sanlock sanlock +/usr/sbin/usermod -a -G disk sanlock + +%post +%systemd_post wdmd.service sanlock.service + +%preun +%systemd_preun wdmd.service sanlock.service + +%postun +%systemd_postun + +%files +/usr/lib/systemd/systemd-wdmd +%{_unitdir}/sanlock.service +%{_unitdir}/wdmd.service +%{_sbindir}/sanlock +%{_sbindir}/wdmd +%dir %{_sysconfdir}/wdmd.d +%dir %{_sysconfdir}/sanlock +%dir %attr(-,sanlock,sanlock) %{_localstatedir}/run/sanlock +%{_mandir}/man8/wdmd* +%{_mandir}/man8/sanlock* +%config(noreplace) %{_sysconfdir}/logrotate.d/sanlock +%config(noreplace) %{_sysconfdir}/sanlock/sanlock.conf +%config(noreplace) %{_sysconfdir}/sysconfig/wdmd +%doc init.d/sanlock +%doc init.d/sanlock.service +%doc init.d/wdmd.service + +%package lib +Summary: A shared storage lock manager library + +%description lib +The %{name}-lib package contains the runtime libraries for sanlock, +a shared storage lock manager. +Hosts connected to a common SAN can use this to synchronize their +access to the shared disks. + +%ldconfig_scriptlets lib + +%files lib +%{_libdir}/libsanlock.so.* +%{_libdir}/libsanlock_client.so.* +%{_libdir}/libwdmd.so.* + +%package -n python2-sanlock +%{?python_provide:%python_provide python2-sanlock} +# Remove before F30 +Provides: %{name}-python = %{version}-%{release} +Provides: %{name}-python%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-python < %{version}-%{release} +Summary: Python bindings for the sanlock library +Requires: %{name}-lib = %{version}-%{release} + +%description -n python2-sanlock +The %{name}-python package contains a module that permits applications +written in the Python programming language to use the interface +supplied by the sanlock library. + +%files -n python2-sanlock +%{python2_sitearch}/sanlock_python-*.egg-info +%{python2_sitearch}/sanlock.so + +%package devel +Summary: Development files for %{name} +Requires: %{name}-lib = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%files devel +%{_libdir}/libwdmd.so +%{_includedir}/wdmd.h +%{_libdir}/libsanlock.so +%{_libdir}/libsanlock_client.so +%{_includedir}/sanlock.h +%{_includedir}/sanlock_rv.h +%{_includedir}/sanlock_admin.h +%{_includedir}/sanlock_resource.h +%{_includedir}/sanlock_direct.h +%{_libdir}/pkgconfig/libsanlock.pc +%{_libdir}/pkgconfig/libsanlock_client.pc + +%package -n sanlk-reset +Summary: Host reset daemon and client using sanlock +Requires: sanlock = %{version}-%{release} +Requires: sanlock-lib = %{version}-%{release} + +%description -n sanlk-reset +The sanlk-reset package contains the reset daemon and client. +A cooperating host running the daemon can be reset by a host +running the client, so long as both maintain access to a +common sanlock lockspace. + +%files -n sanlk-reset +%{_sbindir}/sanlk-reset +%{_sbindir}/sanlk-resetd +%{_unitdir}/sanlk-resetd.service +%dir %attr(-,root,root) %{_localstatedir}/run/sanlk-resetd +%{_mandir}/man8/sanlk-reset* + + +%changelog +* Wed Mar 20 2019 Nir Soffer nsoffer@redhat.com - 3.7.0-1 +- remove unneeded with_systemd macro +- update to sanlock 3.7.0 + +* Sat Feb 2 2019 Nir Soffer nsoffer@redhat.com - 3.6.0-8 +- fix build on Fedora rawhide + +* Thu Jan 24 2019 David Teigland teigland@redhat.com - 3.6.0-7 +- lockfile ownership + +* Sat Jul 14 2018 Fedora Release Engineering releng@fedoraproject.org - 3.6.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Apr 12 2018 Iryna Shcherbina shcherbina.iryna@gmail.com - 3.6.0-5 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Wed Mar 14 2018 David Teigland teigland@redhat.com - 3.6.0-4 +- change makefile flags + +* Wed Mar 14 2018 David Teigland teigland@redhat.com - 3.6.0-3 +- rebuild with set_build_flags + +* Fri Feb 09 2018 Fedora Release Engineering releng@fedoraproject.org - 3.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Dec 12 2017 David Teigland teigland@redhat.com - 3.6.0-1 +- Update to sanlock-3.6.0, drop fence_sanlock + +* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl - 3.5.0-6 +- Add Provides for the old name without %%_isa + +* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl - 3.5.0-5 +- Add Provides for the old name without %%_isa + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl - 3.5.0-4 +- Python 2 binary package renamed to python2-sanlock + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Thu Aug 03 2017 Fedora Release Engineering releng@fedoraproject.org - 3.5.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering releng@fedoraproject.org - 3.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon May 01 2017 David Teigland teigland@redhat.com - 3.5.0-1 +- Update to sanlock-3.5.0 + +* Sat Feb 11 2017 Fedora Release Engineering releng@fedoraproject.org - 3.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jul 19 2016 Fedora Release Engineering rel-eng@lists.fedoraproject.org - 3.4.0-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Pac... + +* Fri Jun 10 2016 David Teigland teigland@redhat.com - 3.4.0-1 +- Update to sanlock-3.4.0 + +* Tue Feb 23 2016 David Teigland teigland@redhat.com - 3.3.0-2 +- remove exclusive arch + +* Mon Feb 22 2016 David Teigland teigland@redhat.com - 3.3.0-1 +- Update to sanlock-3.3.0 + +* Tue Dec 01 2015 David Teigland teigland@redhat.com - 3.2.4-2 +- wdmd: prevent probe while watchdog is used + +* Fri Jun 19 2015 David Teigland teigland@redhat.com - 3.2.4-1 +- Update to sanlock-3.2.4 + +* Fri May 22 2015 David Teigland teigland@redhat.com - 3.2.3-2 +- add pkgconfig files + +* Wed May 20 2015 David Teigland teigland@redhat.com - 3.2.3-1 +- Update to sanlock-3.2.3 + +* Thu Oct 30 2014 David Teigland teigland@redhat.com - 3.2.2-2 +- checksum endian fix + +* Mon Sep 29 2014 David Teigland teigland@redhat.com - 3.2.2-1 +- Update to sanlock-3.2.2 + +* Thu Aug 21 2014 David Teigland teigland@redhat.com - 3.2.1-1 +- Update to sanlock-3.2.1 + +* Mon Aug 18 2014 David Teigland teigland@redhat.com - 3.2.0-1 +- Update to sanlock-3.2.0 + +* Wed Jan 29 2014 David Teigland teigland@redhat.com - 3.1.0-2 +- version interface + +* Tue Jan 07 2014 David Teigland teigland@redhat.com - 3.1.0-1 +- Update to sanlock-3.1.0 + +* Fri Dec 27 2013 Daniel Mach dmach@redhat.com - 3.0.1-3 +- Mass rebuild 2013-12-27 + +* Thu Aug 01 2013 David Teigland teigland@redhat.com - 3.0.1-2 +- use /usr/lib instead of /lib + +* Wed Jul 31 2013 David Teigland teigland@redhat.com - 3.0.1-1 +- Update to sanlock-3.0.1 + +* Wed Jul 24 2013 David Teigland teigland@redhat.com - 3.0.0-1 +- Update to sanlock-3.0.0 +
sanlock-devel@lists.fedorahosted.org