else
VERSION=$(shell git describe)
endif
+MAINVER=$(shell echo $(VERSION) | cut -f1 -d'-')
+RELEASE=$(shell echo $(VERSION) | cut -f2- -d'-' | sed -e 's/-/./g')
mkinstalldirs = /usr/bin/mkdir -p
INSTALL = /usr/bin/install
RM = /usr/bin/rm -f
RMRF = /usr/bin/rm -Rf
RMDIR = /usr/bin/rmdir
+RPM = /usr/bin/rpm
+RPMBUILD = /usr/bin/rpmbuild
# Use python 2.6 if PYTHON environent is not set
ifeq ($(strip $(PYTHON)),)
PYTHON = /usr/bin/python2
endif
-SUBDIRS = po data
+SUBDIRS = po data rpm
DISTFILES = Authors \
VERSION \
$(RM) usr/share/time-slider/lib/plugin/*.pyc
$(RM) usr/share/time-slider/lib/plugin/rsync/*.pyc
$(RM) usr/share/time-slider/lib/plugin/zfssend/*.pyc
+ $(RM) rpm/time-slider.spec
all:
for subdir in $(SUBDIRS); do \
$(RM) $(DESTDIR)/var/svc/manifest/application/time-slider.xml
$(RM) $(DESTDIR)/var/svc/manifest/application/time-slider-plugin.xml
$(RM) $(DESTDIR)/var/svc/manifest/system/filesystem/auto-snapshot.xml
+
+
+rpm-local:
+ @(if test ! -x "${RPMBUILD}"; then \
+ echo -e "\n" \
+ "*** Required util ${RPMBUILD} missing. Please install the\n" \
+ "*** package for your distribution which provides ${RPMBUILD},\n" \
+ "*** re-run configure, and try again.\n"; \
+ exit 1; \
+ fi; \
+ mkdir -p $(rpmbuild)/TMP && \
+ mkdir -p $(rpmbuild)/BUILD && \
+ mkdir -p $(rpmbuild)/RPMS && \
+ mkdir -p $(rpmbuild)/SRPMS && \
+ mkdir -p $(rpmbuild)/SPECS && \
+ cp rpm/$(rpmspec) $(rpmbuild)/SPECS && \
+ mkdir -p $(rpmbuild)/SOURCES && \
+ cp time-slider-$(VERSION).tar.bz2 $(rpmbuild)/SOURCES)
+
+srpm: dist
+ @(dist=`$(RPM) --eval %{?dist}`; \
+ rpmpkg=time-slider-$(MAINVER)-0.$(RELEASE)$$dist*src.rpm; \
+ rpmspec=time-slider.spec; \
+ rpmbuild=`mktemp -t -d time-slider-build-$$USER-XXXXXXXX`; \
+ $(MAKE) \
+ rpmbuild="$$rpmbuild" \
+ rpmspec="$$rpmspec" \
+ rpm-local || exit 1; \
+ $(RPMBUILD) \
+ --define "_tmppath $$rpmbuild/TMP" \
+ --define "_topdir $$rpmbuild" \
+ $(def) -bs $$rpmbuild/SPECS/$$rpmspec || exit 1; \
+ cp $$rpmbuild/SRPMS/$$rpmpkg . || exit 1; \
+ rm -R $$rpmbuild)
+
+rpm: srpm
+ @(dist=`$(RPM) --eval %{?dist}`; \
+ rpmpkg=time-slider-$(MAINVER)-0.$(RELEASE)$$dist*src.rpm; \
+ rpmspec=time-slider.spec; \
+ rpmbuild=`mktemp -t -d time-slider-build-$$USER-XXXXXXXX`; \
+ $(MAKE) \
+ rpmbuild="$$rpmbuild" \
+ rpmspec="$$rpmspec" \
+ rpm-local || exit 1; \
+ ${RPMBUILD} \
+ --define "_tmppath $$rpmbuild/TMP" \
+ --define "_topdir $$rpmbuild" \
+ $(def) --rebuild $$rpmpkg || exit 1; \
+ cp $$rpmbuild/RPMS/*/* . || exit 1; \
+ rm -R $$rpmbuild)
--- /dev/null
+top_builddir = ..
+top_srcdir = ..
+SED = /usr/bin/sed
+INTLTOOL_MERGE = /usr/bin/intltool-merge
+spec_in_files = time-slider.spec.in
+spec_DATA = $(spec_in_files:.spec.in=.spec)
+
+ifeq ($(wildcard $(top_srcdir)/.git),)
+ include $(top_srcdir)/VERSION
+else
+ VERSION=$(shell git describe)
+endif
+MAINVER=$(shell echo $(VERSION) | cut -f1 -d'-')
+RELEASE=$(shell echo $(VERSION) | cut -f2- -d'-' | sed -e 's/-/./g')
+
+all: $(spec_DATA)
+
+$(spec_DATA):
+ $(SED) -e 's,\@VERSION\@,$(MAINVER),g' \
+ -e 's,\@RELEASE\@,$(RELEASE),g' \
+ -e 's,\@GITVER\@,$(VERSION),g' \
+ '$@.in' > '$@'
--- /dev/null
+%define gitver @GITVER@
+
+Name: time-slider
+Version: @VERSION@
+Release: 0.@RELEASE@%{?dist}
+Summary: The Solaris ZFS time slider package
+
+License: CDDL
+URL: none
+Source0: %{name}-%{gitver}.tar.bz2
+
+Requires: python(abi) < 3.0
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+Requires(post): systemd
+
+BuildRequires: python(abi) < 3.0
+BuildRequires: systemd
+
+BuildArch: noarch
+
+%description
+The Solaris time slider package for ZFS
+
+%prep
+%setup -q -n %{name}-%{gitver}
+
+%build
+
+%install
+rm -rf ${RPM_BUILD_ROOT}
+mkdir ${RPM_BUILD_ROOT}
+make DESTDIR=${RPM_BUILD_ROOT} install
+rm -rf ${RPM_BUILD_ROOT}{/var,/lib,/usr/bin,/usr/share/icons,/etc/xdg/,/usr/share/applications}
+%find_lang %{name}
+
+%files -f %{name}.lang
+%{_prefix}/lib/time-slider*
+%{_datadir}/time-slider
+%{_sysconfdir}/dbus-1/system.d/time-slider.conf
+%{_unitdir}/time-sliderd.service
+
+%post
+# run after an installation
+%systemd_post time-sliderd.service
+
+%preun
+# run before a package is removed
+%systemd_preun time-sliderd.service
+
+%postun
+# run after a package is removed
+%systemd_postun_with_restart time-sliderd.service
+
+
+%changelog