![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
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 <systemd/sd-daemon.h> -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 <g.santomaggio@gmail.com> - 1.0 +- build for 1.0 + +* Wed Dec 14 2016 Gabriele Santomaggio <g.santomaggio@gmail.com> - 0.14 +- build for 0.14 + +* Sat Nov 5 2016 Gabriele Santomaggio <g.santomaggio@gmail.com> - 0.13 +- build for 0.13 + +* 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 -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 <g.santomaggio@gmail.com> 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: <g.santomaggio@gmail.com> +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(_) -> + [].