Hello community,
here is the log from the commit of package erlang-sd_notify for openSUSE:Factory checked in at 2018-04-19 15:29:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/erlang-sd_notify (Old)
and /work/SRC/openSUSE:Factory/.erlang-sd_notify.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "erlang-sd_notify"
Thu Apr 19 15:29:18 2018 rev:2 rq:597198 version:1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/erlang-sd_notify/erlang-sd_notify.changes 2016-05-26 23:54:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.erlang-sd_notify.new/erlang-sd_notify.changes 2018-04-19 15:29:18.495498258 +0200
@@ -1,0 +2,60 @@
+Mon Apr 16 18:29:07 UTC 2018 - matwey.kornilov@gmail.com
+
+- sd_pid_notify_with_fds() function is available in systemd v219
+
+-------------------------------------------------------------------
+Mon Apr 16 18:08:12 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 1.0:
+ * docker build and rebar config
+ * add tag
+ * Update README.md
+ * Update README.md
+ * update readme
+ * Update the CentOS build for sd_notify to support Debian.
+ * Use "git" as version in app-file
+ * Update 18.3.1
+ * Update 18.3.1
+ * Update 18.3.1 fix
+ * Fix rabbitmq installation link
+ * update debian package
+ * update README
+ * added sd_pid_notify
+ * added sd_pid_notifyf
+ * cosmetics
+ * docker build
+ * update readme
+ * add docker for Erlang 19
+ * modified readme
+ * docker for 19
+ * Cosmetic
+ * Wrong array number
+ * Remove duplicated code
+ * Implement sd_pid_notify_with_fds
+ * Update README.md
+ * update for 19.1
+ * Add more files to ignore
+ * Change the docker image
+ * Add rpm spec for Centos
+ * Add rpm spec for Centos
+ * Restore history spec
+ * update to 0.13
+ * Add stub for NIF upgrade
+ * Fix another one typo
+ * Remove whitespace
+ * Remove bogus test stub
+ * Add basic test
+ * Make alias - make check -> make test
+ * change version to 0.14
+ * Run tests only if Erlang ver. is 19
+ * Enable testing
+ * List available Erlang versions
+ * Add more Erlang versions
+ * test systemd
+ * Move test message creation to where it belongs
+ * Don't fake list of sockets
+ * Add docker image to test Erlang 19 on Ubuntu
+ * Update docker image to 19.3
+ * Change package version to 1.0
+
+-------------------------------------------------------------------
Old:
----
erlang-sd_notify-0.1.tar.gz
New:
----
_service
_servicedata
erlang-sd_notify-1.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ erlang-sd_notify.spec ++++++
--- /var/tmp/diff_new_pack.r5KzwT/_old 2018-04-19 15:29:19.155471245 +0200
+++ /var/tmp/diff_new_pack.r5KzwT/_new 2018-04-19 15:29:19.159471081 +0200
@@ -1,7 +1,7 @@
#
# spec file for package erlang-sd_notify
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,34 +15,31 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
%define app_name sd_notify
Name: erlang-%{app_name}
-Version: 0.1
-%define app_ver {%version}
+Version: 1.0
Release: 0
+%define app_ver {%version}
Summary: Erlang interface to systemd notify subsystem
License: MIT
Group: Development/Libraries/Other
-Url: https://github.com/lemenkov/erlang-sd_notify
-Source0: https://github.com/lemenkov/erlang-sd_notify/archive/%{version}/erlang-%{app_name}-%{version}.tar.gz
+Url: https://github.com/systemd/erlang-sd_notify
+Source0: erlang-%{app_name}-%{version}.tar.bz2
BuildRequires: erlang-rebar
-BuildRequires: systemd-devel
+BuildRequires: systemd-devel >= 219
Requires: erlang
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
-Erlang interface to systemd notify subsystem
+Erlang module for native access to the systemd-notify facilities.
%prep
%setup -q
%build
-%if 0%{?suse_version} > 1310
export LDFLAGS=-lsystemd
-%else
-export LDFLAGS=-lsystemd-daemon
-%endif
%rebar compile
%install
++++++ _service ++++++
<services>
<service name="tar_scm" mode="disabled">
<param name="url">https://github.com/systemd/erlang-sd_notify</param>
<param name="scm">git</param>
<param name="revision">v1.0</param>
<param name="versionformat">1.0</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">erlang-sd_notify-*.tar</param>
<param name="compression">bz2</param>
</service>
<service name="set_version" mode="disabled">
<param name="basename">erlang-sd_notify</param>
</service>
</services>
++++++ _servicedata ++++++
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/systemd/erlang-sd_notify</param>
<param name="changesrevision">f0ac281370a1351c14bc055e390dd1c0c08995d9</param></service></servicedata>++++++ erlang-sd_notify-0.1.tar.gz -> erlang-sd_notify-1.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/.gitignore new/erlang-sd_notify-1.0/.gitignore
--- old/erlang-sd_notify-0.1/.gitignore 2014-06-03 14:50:00.000000000 +0200
+++ new/erlang-sd_notify-1.0/.gitignore 1970-01-01 01:00:00.000000000 +0100
@@ -1,9 +0,0 @@
-*.diff
-*.orig
-*.patch
-*.rej
-*~
-*.o
-*.so
-.eunit/
-ebin/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/.travis.yml new/erlang-sd_notify-1.0/.travis.yml
--- old/erlang-sd_notify-0.1/.travis.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/.travis.yml 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,16 @@
+sudo: required
+
+services:
+- docker
+
+before_install:
+- docker build -t build_ubuntu_18_3 docker/ubuntu_18_3/
+- docker build -t build_ubuntu_19 docker/ubuntu_19/
+- docker build -t build_centos_18_3 docker/centos_18_3/
+- docker build -t build_centos_19 docker/centos_19/
+
+script:
+- docker run -v $TRAVIS_BUILD_DIR:/home/sd/ build_ubuntu_18_3 /bin/sh -c "cd /home/sd/; make all; make test"
+- docker run -v $TRAVIS_BUILD_DIR:/home/sd/ build_ubuntu_19 /bin/sh -c "cd /home/sd/; make all; make test"
+- docker run -v $TRAVIS_BUILD_DIR:/home/sd/ build_centos_18_3 /bin/sh -c "cd /home/sd/; make all; make test"
+- docker run -v $TRAVIS_BUILD_DIR:/home/sd/ build_centos_19 /bin/sh -c "cd /home/sd/; make all; make test"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/Makefile new/erlang-sd_notify-1.0/Makefile
--- old/erlang-sd_notify-0.1/Makefile 2014-06-03 14:50:00.000000000 +0200
+++ new/erlang-sd_notify-1.0/Makefile 2017-04-13 17:23:45.000000000 +0200
@@ -7,6 +7,7 @@
compile:
$(REBAR) compile $(REBAR_FLAGS)
+check: test
test: compile
$(REBAR) eunit $(REBAR_FLAGS)
@@ -15,3 +16,9 @@
dialyzer:
$(REBAR) dialyze $(REBAR_FLAGS)
+
+deb:
+ cd packaging/deb && $(MAKE) TOPDIR=$(PWD) deb
+
+rpm:
+ cd packaging/centos && $(MAKE) TOPDIR=$(PWD) rpm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/README.md new/erlang-sd_notify-1.0/README.md
--- old/erlang-sd_notify-0.1/README.md 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/README.md 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,61 @@
+
+Erlang systemd-notify
+===============
+Erlang module for native access to the `systemd-notify` facilities.
+
+Build status: [![Build Status](https://travis-ci.org/systemd/erlang-sd_notify.svg?branch=master)](https://travis-ci.org/systemd/erlang-sd_notify)
+
+Installation
+============
+
+On Fedora/CentOS
+
+```bash
+ rpm -i erlang-sd_notify-{version}-1.el7.centos.x86_64.rpm
+```
+
+On Debian/Ubuntu
+
+```bash
+ dpkg -i erlang-sd-notify_{version}-1_amd64.deb
+```
+
+Build from source using Docker
+===
+
+Ubuntu
+
+```bash
+ docker build -t build_ubuntu_{version} docker/ubuntu_{version}/
+ docker run -v {sd_notify_dir}:/home/sd/ build_ubuntu_{version} /bin/sh -c "cd /home/sd/; make deb"
+```
+
+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 rpm"
+```
+
+Example
+
+```bash
+ docker build -t build_ubuntu_19 docker/ubuntu_19/
+ docker run -v /home/gabriele/erlang-sd_notify:/home/sd/ build_ubuntu_19 /bin/sh -c "cd /home/sd/; make all"
+```
+
+Download Binaries
+===
+[Github Repository](https://github.com/systemd/erlang-sd_notify/releases)
+
+Usage
+=====
+
+Quick example:
+
+```bash
+ [root@a499ee66251a]# erl
+ ...
+ 1> sd_notify:sd_notify(0,"READY=1").
+ 0
+```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/c_src/sd_notify.c new/erlang-sd_notify-1.0/c_src/sd_notify.c
--- old/erlang-sd_notify-0.1/c_src/sd_notify.c 2014-06-03 14:50:00.000000000 +0200
+++ new/erlang-sd_notify-1.0/c_src/sd_notify.c 2017-04-13 17:23:45.000000000 +0200
@@ -24,25 +24,52 @@
#include "erl_nif.h"
#include
-static ERL_NIF_TERM sd_notify_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+static int upgrade(ErlNifEnv* env, void** priv, void** old_priv, ERL_NIF_TERM load_info)
{
- int unset_environment = 0;
- enif_get_int(env, argv[0], &unset_environment);
+ return 0;
+}
+static ERL_NIF_TERM sd_pid_notify_with_fds_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
+{
+ ERL_NIF_TERM head, tail;
unsigned int length = 0;
- enif_get_list_length(env, argv[1], &length);
+ pid_t pid = 0;
+ enif_get_int(env, argv[0], &pid);
+
+ int unset_environment = 0;
+ enif_get_int(env, argv[1], &unset_environment);
+
+ enif_get_list_length(env, argv[2], &length);
char* state = (char*)enif_alloc(++length);
- enif_get_string(env, argv[1], state, length, ERL_NIF_LATIN1);
- sd_notify(unset_environment, state);
+ enif_get_string(env, argv[2], state, length, ERL_NIF_LATIN1);
+
+ enif_get_list_length(env, argv[3], &length);
+ int* fds = (int*)enif_alloc(length * sizeof(int));
+ ERL_NIF_TERM list = argv[3];
+ int i = 0;
+ while(enif_get_list_cell(env, list, &head, &tail)) {
+ enif_get_int(env, head, &fds[i]);
+ i++;
+ list = tail;
+ }
+ int result = sd_pid_notify_with_fds(pid, unset_environment, state, fds, length);
+
+ enif_free(fds);
enif_free(state);
- return enif_make_atom(env, "ok");
+ return enif_make_int(env, result);
}
static ErlNifFunc nif_funcs[] =
{
- {"sd_notify", 2, sd_notify_nif}
+ {"sd_pid_notify_with_fds", 4, sd_pid_notify_with_fds_nif},
+
};
-ERL_NIF_INIT(sd_notify, nif_funcs, NULL, NULL, NULL, NULL);
+// Initialize this NIF library.
+//
+// Args: (MODULE, ErlNifFunc funcs[], load, reload, upgrade, unload)
+// Docs: http://erlang.org/doc/man/erl_nif.html#ERL_NIF_INIT
+
+ERL_NIF_INIT(sd_notify, nif_funcs, NULL, NULL, &upgrade, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/docker/centos_18_3/Dockerfile new/erlang-sd_notify-1.0/docker/centos_18_3/Dockerfile
--- old/erlang-sd_notify-0.1/docker/centos_18_3/Dockerfile 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/docker/centos_18_3/Dockerfile 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,22 @@
+FROM centos
+
+RUN yum -y update
+
+RUN yum install -y \
+ gcc \
+ systemd-devel \
+ make \
+ git \
+ wget \
+ which
+
+
+
+
+RUN wget https://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
+
+RUN rpm -i erlang-18.3-1.el7.centos.x86_64.rpm
+
+RUN wget https://github.com/rebar/rebar/wiki/rebar && chmod +x rebar
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/docker/centos_19/Dockerfile new/erlang-sd_notify-1.0/docker/centos_19/Dockerfile
--- old/erlang-sd_notify-0.1/docker/centos_19/Dockerfile 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/docker/centos_19/Dockerfile 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,28 @@
+FROM centos
+
+RUN yum -y update
+
+RUN yum install -y \
+ gcc \
+ systemd-devel \
+ make \
+ git \
+ wget \
+ which \
+ epel-release \
+ nano
+
+
+
+
+RUN wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
+
+RUN rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
+
+RUN yum update -y
+
+RUN yum install -y \
+ erlang-19.1-1.el7.centos.x86_64 \
+ rebar \
+ erlang-rebar \
+ rpm-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/docker/ubuntu_18_3/Dockerfile new/erlang-sd_notify-1.0/docker/ubuntu_18_3/Dockerfile
--- old/erlang-sd_notify-0.1/docker/ubuntu_18_3/Dockerfile 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/docker/ubuntu_18_3/Dockerfile 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,22 @@
+FROM ubuntu
+
+RUN apt-get -y update
+
+RUN apt-get install -y \
+ gcc \
+ make \
+ git \
+ wget \
+ erlang=1:18.3-dfsg-1ubuntu3 \
+ build-essential \
+ devscripts \
+ fakeroot \
+ debhelper \
+ erlang-dev \
+ libsystemd-dev\
+ erlang-eunit \
+ rebar
+
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/docker/ubuntu_19/Dockerfile new/erlang-sd_notify-1.0/docker/ubuntu_19/Dockerfile
--- old/erlang-sd_notify-0.1/docker/ubuntu_19/Dockerfile 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/docker/ubuntu_19/Dockerfile 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,23 @@
+FROM ubuntu
+
+RUN apt-get -y update
+
+RUN apt-get install -y \
+ gcc \
+ make \
+ git \
+ wget \
+ build-essential \
+ devscripts \
+ fakeroot \
+ debhelper \
+ libsystemd-dev\
+ rebar
+
+
+RUN wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
+RUN dpkg -i erlang-solutions_1.0_all.deb
+RUN apt-get update -y
+RUN apt-get install erlang=1:19.3-1 -y
+RUN apt-get install -y erlang-dev \
+ erlang-eunit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/packaging/centos/Makefile new/erlang-sd_notify-1.0/packaging/centos/Makefile
--- old/erlang-sd_notify-0.1/packaging/centos/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/packaging/centos/Makefile 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,36 @@
+FINAL_OUTPUT_DIR=FINAL_RPMS
+
+
+
+VERSION=1.0
+
+# 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/packaging/centos/erlang-sd_notify.spec new/erlang-sd_notify-1.0/packaging/centos/erlang-sd_notify.spec
--- old/erlang-sd_notify-0.1/packaging/centos/erlang-sd_notify.spec 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/packaging/centos/erlang-sd_notify.spec 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,76 @@
+%global realname sd_notify
+%global upstream systemd
+%global upstream_version 1.0
+
+
+
+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
+* Thu Apr 13 2017 Gabriele Santomaggio - 1.0
+- build for 1.0
+
+* Wed Dec 14 2016 Gabriele Santomaggio - 0.14
+- build for 0.14
+
+* Sat Nov 5 2016 Gabriele Santomaggio - 0.13
+- build for 0.13
+
+* Wed Jun 17 2015 Fedora Release Engineering - 0.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Tue Nov 04 2014 Peter Lemenkov - 0.1-5
+- Rebuild with Erlang 17.3.3
+
+* Thu Oct 2 2014 John Eckersberg - 0.1-4
+- Explicitly link shared library with libsystemd (#1148604)
+
+* Thu Aug 28 2014 Peter Lemenkov - 0.1-3
+- Rebuild with Erlang 17.2.1
+
+* Sat Aug 16 2014 Fedora Release Engineering
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Tue Jun 03 2014 Peter Lemenkov - 0.1-1
+- initial build
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/packaging/deb/Makefile new/erlang-sd_notify-1.0/packaging/deb/Makefile
--- old/erlang-sd_notify-0.1/packaging/deb/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/packaging/deb/Makefile 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,33 @@
+VERSION=1.0
+
+# Directory names
+DEB_BUILD_DIR=deb-build
+PKG_NAME=erlang-sd-notify
+DEB_SOURCE_DIR=$(PKG_NAME)-$(VERSION)
+
+#
+PKG_DEST=$(TOPDIR)/$(DEB_BUILD_DIR)/$(DEB_SOURCE_DIR)
+
+# Where to build the 'pristine' source files
+TARBALL_DIR=$(TOPDIR)/$(DEB_BUILD_DIR)
+SOURCE_TGZ=$(PKG_NAME)_$(VERSION).orig.tar.gz
+
+# Place to install the compiled files to
+TARGET_DIR=$(TARGET_TOP)/usr/lib/erlang/lib/sd_notify-$(VERSION)
+
+deb:
+ mkdir -p $(PKG_DEST)
+ tar -c -C $(TOPDIR) --exclude-from=$(TOPDIR)/.gitignore --exclude=.git . | tar -x -C $(PKG_DEST)
+ tar -zcf $(TARBALL_DIR)/$(SOURCE_TGZ) -C $(TARBALL_DIR) $(DEB_SOURCE_DIR)
+
+ tar -c debian | tar -x -C $(PKG_DEST)
+ cp $(TOPDIR)/LICENSE $(PKG_DEST)/debian/copyright
+ sed -i 's/%VERSION%/$(VERSION)/g' $(PKG_DEST)/debian/$(PKG_NAME).dirs
+
+ cd $(PKG_DEST) && debuild -us -uc
+
+deb-install:
+ pwd
+ install -o root -g root -t $(TARGET_DIR)/ebin ../../ebin/*.app
+ install -o root -g root -t $(TARGET_DIR)/ebin ../../ebin/*.beam
+ install -o root -g root -t $(TARGET_DIR)/priv ../../priv/*.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/packaging/deb/debian/changelog new/erlang-sd_notify-1.0/packaging/deb/debian/changelog
--- old/erlang-sd_notify-0.1/packaging/deb/debian/changelog 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/packaging/deb/debian/changelog 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,6 @@
+erlang-sd-notify (1.0-1) UNRELEASED; urgency=medium
+
+ * Update for stub for NIF upgrade improvement
+
+ -- Gabriele Santomaggio Thu, 13 Apr 2017 11:54:18 +0000
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/packaging/deb/debian/compat new/erlang-sd_notify-1.0/packaging/deb/debian/compat
--- old/erlang-sd_notify-0.1/packaging/deb/debian/compat 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/packaging/deb/debian/compat 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1 @@
+9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/packaging/deb/debian/control new/erlang-sd_notify-1.0/packaging/deb/debian/control
--- old/erlang-sd_notify-0.1/packaging/deb/debian/control 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/packaging/deb/debian/control 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,16 @@
+Source: erlang-sd-notify
+Maintainer:
+Section: misc
+Priority: optional
+Standards-Version: 3.9.2
+Build-Depends: debhelper (>= 9),
+ erlang-dev (>=17.3-dfsg-4),
+ libsystemd-dev (>=215),
+ rebar,
+
+Package: erlang-sd-notify
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ erlang-base (>=17.3) | erlang-base-hipe (>=17.3),
+ libsystemd0 (>=215),
+Description: Systemd notification support for Erlang.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/packaging/deb/debian/erlang-sd-notify.dirs new/erlang-sd_notify-1.0/packaging/deb/debian/erlang-sd-notify.dirs
--- old/erlang-sd_notify-0.1/packaging/deb/debian/erlang-sd-notify.dirs 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/packaging/deb/debian/erlang-sd-notify.dirs 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,2 @@
+usr/lib/erlang/lib/sd_notify-%VERSION%/ebin
+usr/lib/erlang/lib/sd_notify-%VERSION%/priv
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/packaging/deb/debian/rules new/erlang-sd_notify-1.0/packaging/deb/debian/rules
--- old/erlang-sd_notify-0.1/packaging/deb/debian/rules 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/packaging/deb/debian/rules 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,6 @@
+#!/usr/bin/make -f
+%:
+ dh $@
+
+override_dh_auto_install:
+ make -C packaging/deb TARGET_TOP=$(PWD)/debian/erlang-sd-notify deb-install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/packaging/deb/debian/source/format new/erlang-sd_notify-1.0/packaging/deb/debian/source/format
--- old/erlang-sd_notify-0.1/packaging/deb/debian/source/format 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/packaging/deb/debian/source/format 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1 @@
+3.0 (quilt)
Binary files old/erlang-sd_notify-0.1/rebar and new/erlang-sd_notify-1.0/rebar differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/rebar.config new/erlang-sd_notify-1.0/rebar.config
--- old/erlang-sd_notify-0.1/rebar.config 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/rebar.config 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,3 @@
+{port_env, [{"LDFLAGS", "$LDFLAGS -lsystemd"}]}.
+
+{erl_opts, [debug_info, warnings_as_errors]}.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/src/sd_notify.app.src new/erlang-sd_notify-1.0/src/sd_notify.app.src
--- old/erlang-sd_notify-0.1/src/sd_notify.app.src 2014-06-03 14:50:00.000000000 +0200
+++ new/erlang-sd_notify-1.0/src/sd_notify.app.src 2017-04-13 17:23:45.000000000 +0200
@@ -1,7 +1,7 @@
{application, sd_notify,
[
{description, "Erlang sd_notify NIF"},
- {vsn, "1"},
+ {vsn, "git"},
{registered, []},
{applications, [
kernel,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/src/sd_notify.erl new/erlang-sd_notify-1.0/src/sd_notify.erl
--- old/erlang-sd_notify-0.1/src/sd_notify.erl 2014-06-03 14:50:00.000000000 +0200
+++ new/erlang-sd_notify-1.0/src/sd_notify.erl 2017-04-13 17:23:45.000000000 +0200
@@ -27,7 +27,7 @@
-module(sd_notify).
--export([sd_notify/2, sd_notifyf/3]).
+-export([sd_notify/2, sd_notifyf/3, sd_pid_notify/3, sd_pid_notifyf/4, sd_pid_notify_with_fds/4]).
-on_load(init/0).
@@ -36,10 +36,6 @@
nif_stub_error(Line) ->
erlang:nif_error({nif_not_loaded,module,?MODULE,line,Line}).
--ifdef(TEST).
--include_lib("eunit/include/eunit.hrl").
--endif.
-
init() ->
PrivDir = case code:priv_dir(?MODULE) of
{error, bad_name} ->
@@ -51,21 +47,17 @@
end,
erlang:load_nif(filename:join(PrivDir, ?MODULE) ++ "_drv", 0).
-sd_notify(_, _) ->
- ?nif_stub.
-
-sd_notifyf(UnsetEnv, Format, Data) ->
- sd_notify(UnsetEnv, lists:flatten(io_lib:format(Format, Data))).
+sd_notify(UnsetEnv, Data) ->
+ sd_pid_notify_with_fds(0, UnsetEnv, Data, []).
-%% ===================================================================
-%% EUnit tests
-%% ===================================================================
--ifdef(TEST).
+sd_pid_notify(Pid, UnsetEnv, Data) ->
+ sd_pid_notify_with_fds(Pid, UnsetEnv, Data, []).
-sd_notify_test() ->
- ?assertEqual(ok, ok).
+sd_notifyf(UnsetEnv, Format, Data) ->
+ sd_pid_notify_with_fds(0, UnsetEnv, lists:flatten(io_lib:format(Format, Data)), []).
-sd_notifyf_test() ->
- ?assertEqual(ok, ok).
+sd_pid_notifyf(Pid, UnsetEnv, Format, Data) ->
+ sd_pid_notify_with_fds(Pid, UnsetEnv, lists:flatten(io_lib:format(Format, Data)), []).
--endif.
+sd_pid_notify_with_fds(_, _, _, _) ->
+ ?nif_stub.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/erlang-sd_notify-0.1/test/sd_notify_test.erl new/erlang-sd_notify-1.0/test/sd_notify_test.erl
--- old/erlang-sd_notify-0.1/test/sd_notify_test.erl 1970-01-01 01:00:00.000000000 +0100
+++ new/erlang-sd_notify-1.0/test/sd_notify_test.erl 2017-04-13 17:23:45.000000000 +0200
@@ -0,0 +1,33 @@
+-module(sd_notify_test).
+
+-include_lib("eunit/include/eunit.hrl").
+
+
+sd_notify_test_() ->
+ sd_notify_test_local(erlang:system_info(otp_release)).
+
+sd_notify_test_local("19") ->
+ {ok, CWD} = file:get_cwd(),
+ FakeNotifyUnixSockName = CWD ++ "/fake-sock-" ++ integer_to_list(erlang:phash2(make_ref())),
+ {ok, FakeNotifyUnixSock} = gen_udp:open(0, [{ifaddr, {local, FakeNotifyUnixSockName}}, {active, false}, list]),
+ os:putenv("NOTIFY_SOCKET", FakeNotifyUnixSockName),
+
+ {setup,
+ fun() -> ok end,
+ fun(_) -> ok = gen_udp:close(FakeNotifyUnixSock), ok = file:delete(FakeNotifyUnixSockName) end,
+ [
+ {
+ "Try sending message",
+ fun() ->
+ TestMessage = integer_to_list(erlang:phash2(make_ref())),
+ 1 = sd_notify:sd_pid_notify_with_fds(0, 0, TestMessage, []),
+ {ok, {_Address, _Port, Packet}} = gen_udp:recv(FakeNotifyUnixSock, length(TestMessage), 1000),
+ ?assertEqual(TestMessage, Packet)
+ end
+ }
+
+ ]
+
+ };
+sd_notify_test_local(_) ->
+ [].