Skip to content

Commit

Permalink
Merge pull request #19 from systemd/erlang-sd_notify-7
Browse files Browse the repository at this point in the history
Add spec for Centos
  • Loading branch information
Gsantomaggio authored Nov 5, 2016
2 parents cf15c34 + 25d13f4 commit 3465a03
Show file tree
Hide file tree
Showing 5 changed files with 112 additions and 7 deletions.
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@ dialyzer:

deb:
cd packaging/deb && $(MAKE) TOPDIR=$(PWD) deb

rpm:
cd packaging/centos && $(MAKE) TOPDIR=$(PWD) rpm
8 changes: 2 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
36 changes: 36 additions & 0 deletions packaging/centos/Makefile
Original file line number Diff line number Diff line change
@@ -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
70 changes: 70 additions & 0 deletions packaging/centos/erlang-sd_notify.spec
Original file line number Diff line number Diff line change
@@ -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 <[email protected]> - 0.12
- build for 0.12

* Wed Jun 17 2015 Fedora Release Engineering <[email protected]> - 0.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Tue Nov 04 2014 Peter Lemenkov <[email protected]> - 0.1-5
- Rebuild with Erlang 17.3.3

* Thu Oct 2 2014 John Eckersberg <[email protected]> - 0.1-4
- Explicitly link shared library with libsystemd (#1148604)

* Thu Aug 28 2014 Peter Lemenkov <[email protected]> - 0.1-3
- Rebuild with Erlang 17.2.1

* Sat Aug 16 2014 Fedora Release Engineering <[email protected]>
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Tue Jun 03 2014 Peter Lemenkov <[email protected]> - 0.1-1
- initial build


2 changes: 1 addition & 1 deletion src/sd_notify.app.src
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{application, sd_notify,
[
{description, "Erlang sd_notify NIF"},
{vsn, git},
{vsn, "git"},
{registered, []},
{applications, [
kernel,
Expand Down

0 comments on commit 3465a03

Please sign in to comment.