summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriele Santomaggio <G.santomaggio@gmail.com>2016-11-05 11:28:52 +0100
committerGitHub <noreply@github.com>2016-11-05 11:28:52 +0100
commit3465a0374db63f00211732f5341297e00159fad4 (patch)
tree0139d43b4964467e6c62c2abf9293beb5ef25d08
parentcf15c34405b92d337aa0559cc094adef6dc9268a (diff)
parent25d13f437923a9f5d6290f16ac5f2a651ff098a9 (diff)
downloaderlang-sd_notify-3465a0374db63f00211732f5341297e00159fad4.tar.gz
Merge pull request #19 from systemd/erlang-sd_notify-7
Add spec for Centos
-rw-r--r--Makefile3
-rw-r--r--README.md8
-rw-r--r--packaging/centos/Makefile36
-rw-r--r--packaging/centos/erlang-sd_notify.spec70
-rw-r--r--src/sd_notify.app.src2
5 files changed, 112 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index d1dd742..476f80e 100644
--- a/Makefile
+++ b/Makefile
@@ -18,3 +18,6 @@ dialyzer:
deb:
cd packaging/deb && $(MAKE) TOPDIR=$(PWD) deb
+
+rpm:
+ cd packaging/centos && $(MAKE) TOPDIR=$(PWD) rpm
diff --git a/README.md b/README.md
index 295e60b..74d6a15 100644
--- a/README.md
+++ b/README.md
@@ -11,11 +11,7 @@ Installation
On Fedora/CentOS
```bash
- extract the tar.gz
- mkdir -p /usr/lib64/erlang/lib/sd_notify-{version}/priv/
- mkdir -p /usr/lib64/erlang/lib/sd_notify-{version}/ebin/
- cp priv/* /usr/lib64/erlang/lib/sd_notify-{version}/priv/
- cp ebin/* /usr/lib64/erlang/lib/sd_notify-{version}/ebin/
+ rpm -i erlang-sd_notify-{version}-1.el7.centos.x86_64.rpm
```
On Debian/Ubuntu
@@ -38,7 +34,7 @@ Centos
```bash
docker build -t build_centos_{version} docker/centos_{version}/
- docker run -v {sd_notify_dir}:/home/sd/ build_centos_{version} /bin/sh -c "cd /home/sd/; make all"
+ docker run -v {sd_notify_dir}:/home/sd/ build_centos_{version} /bin/sh -c "cd /home/sd/; make rpm"
```
Example
diff --git a/packaging/centos/Makefile b/packaging/centos/Makefile
new file mode 100644
index 0000000..e1f75d0
--- /dev/null
+++ b/packaging/centos/Makefile
@@ -0,0 +1,36 @@
+FINAL_OUTPUT_DIR=FINAL_RPMS
+
+
+
+VERSION=0.12
+
+# Directory names
+RPM_BUILD_DIR=rpm-build
+PKG_NAME=erlang-sd_notify
+RPM_SOURCE_DIR=$(PKG_NAME)-$(VERSION)
+
+TOP_DIR=$(shell pwd)
+
+TARBALL_DIR=$(TOPDIR)
+SOURCE_TGZ=$(PKG_NAME)-$(VERSION).tar.gz
+TARGET_DIR=$(TARGET_TOP)/usr/lib/erlang/lib/sd_notify-$(VERSION)
+
+
+DEFINES=--define '_topdir $(TOP_DIR)' --define '_tmppath $(TOP_DIR)/tmp' --define '_sysconfdir /etc' --define '_localstatedir /var'
+
+rpm: clean erlang-sd_notify
+
+prepare:
+ mkdir -p BUILD SOURCES SPECS SRPMS RPMS tmp dist $(TARBALL_DIR)
+ tar czf $(TARBALL_DIR)/$(SOURCE_TGZ) -C $(TOPDIR) src/ c_src/ rebar.config LICENSE
+ cp $(TOPDIR)/$(SOURCE_TGZ) SOURCES
+ rm $(TOPDIR)/$(SOURCE_TGZ)
+ cp erlang-sd_notify.spec SPECS
+
+erlang-sd_notify: prepare
+ mkdir -p $(FINAL_OUTPUT_DIR)
+ rpmbuild -vvv -bb --nodeps SPECS/erlang-sd_notify.spec $(DEFINES)
+ find RPMS -name "*.rpm" -exec sh -c 'mv {} `echo {} | sed 's#^RPMS\/noarch#$(FINAL_OUTPUT_DIR)#'`' ';'
+
+clean:
+ rm -rf BUILDROOT BUILD SOURCES SPECS SRPMS RPMS tmp $(FINAL_OUTPUT_DIR) dist
diff --git a/packaging/centos/erlang-sd_notify.spec b/packaging/centos/erlang-sd_notify.spec
new file mode 100644
index 0000000..2dd4442
--- /dev/null
+++ b/packaging/centos/erlang-sd_notify.spec
@@ -0,0 +1,70 @@
+%global realname sd_notify
+%global upstream systemd
+%global upstream_version 0.12
+
+
+
+Name: erlang-%{realname}
+Version: %{upstream_version}
+Release: 1%{?dist}
+Summary: Erlang interface to systemd notify subsystem
+License: MIT
+URL: https://github.com/%{upstream}/%{realname}
+VCS: scm:git:https://github.com/%{upstream}/%{realname}.git
+Source0: https://github.com/%{upstream}/%{realname}/archive/%{version}/erlang-%{realname}-%{version}.tar.gz
+Source1: erlang-sd_notify-rebar.config
+BuildRequires: erlang-rebar
+BuildRequires: systemd-devel
+%{?__erlang_nif_version:Requires: %{__erlang_nif_version}}
+
+
+%description
+%{summary}.
+
+%prep
+%setup -c .
+
+%build
+rebar compile
+
+
+%install
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{realname}-%{version}/{ebin,priv}
+install -m 644 -p ebin/%{realname}.app $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{realname}-%{version}/ebin
+install -m 644 -p ebin/%{realname}.beam $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{realname}-%{version}/ebin
+install -m 755 -p priv/%{realname}_drv.so $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{realname}-%{version}/priv
+
+
+%files
+%doc LICENSE
+%dir %{_libdir}/erlang/lib/%{realname}-%{version}/
+%dir %{_libdir}/erlang/lib/%{realname}-%{version}/ebin/
+%dir %{_libdir}/erlang/lib/%{realname}-%{version}/priv/
+%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/%{realname}.app
+%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/%{realname}.beam
+%{_libdir}/erlang/lib/%{realname}-%{version}/priv/%{realname}_drv.so
+
+
+%changelog
+* Sat Oct 29 2016 Gabriele Santomaggio <g.santomaggio@gmail.com> - 0.12
+- build for 0.12
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Tue Nov 04 2014 Peter Lemenkov <lemenkov@gmail.com> - 0.1-5
+- Rebuild with Erlang 17.3.3
+
+* Thu Oct 2 2014 John Eckersberg <eck@redhat.com> - 0.1-4
+- Explicitly link shared library with libsystemd (#1148604)
+
+* Thu Aug 28 2014 Peter Lemenkov <lemenkov@gmail.com> - 0.1-3
+- Rebuild with Erlang 17.2.1
+
+* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Tue Jun 03 2014 Peter Lemenkov <lemenkov@gmail.com> - 0.1-1
+- initial build
+
+
diff --git a/src/sd_notify.app.src b/src/sd_notify.app.src
index a795541..da3ae2f 100644
--- a/src/sd_notify.app.src
+++ b/src/sd_notify.app.src
@@ -1,7 +1,7 @@
{application, sd_notify,
[
{description, "Erlang sd_notify NIF"},
- {vsn, git},
+ {vsn, "git"},
{registered, []},
{applications, [
kernel,