aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonan Le Martret <ronan.lemartret@iot.bzh>2018-05-15 17:18:06 +0200
committerRonan Le Martret <ronan.lemartret@iot.bzh>2018-05-15 17:30:52 +0200
commit72c9174cecdfbe4cde9baa71c0c02d0bee753224 (patch)
treed7a92e6a059398d1c98666052cbed826b2064139
parentf7993c2552f007f34bfbd1865951d9243923276e (diff)
Add packaging files
* it's easier to manage native build package. Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
-rw-r--r--conf.d/packaging/deb/agl-xds-agent.dsc11
-rw-r--r--conf.d/packaging/deb/agl-xds-agent.install1
-rw-r--r--conf.d/packaging/deb/debian.changelog5
-rw-r--r--conf.d/packaging/deb/debian.compat1
-rw-r--r--conf.d/packaging/deb/debian.control13
-rw-r--r--conf.d/packaging/deb/debian.rules111
-rw-r--r--conf.d/packaging/obs/_service.in20
-rw-r--r--conf.d/packaging/rpm/agl-xds-agent.spec81
8 files changed, 243 insertions, 0 deletions
diff --git a/conf.d/packaging/deb/agl-xds-agent.dsc b/conf.d/packaging/deb/agl-xds-agent.dsc
new file mode 100644
index 0000000..7034c51
--- /dev/null
+++ b/conf.d/packaging/deb/agl-xds-agent.dsc
@@ -0,0 +1,11 @@
+Format: 1.0
+Source: agl-xds-agent
+Binary: agl-xds-agent
+Architecture: any
+Version: 1.1.1
+Maintainer: Sebastien Douheret <sebastien@iot.bzh>
+Standards-Version: 3.8.2
+Homepage: https://github.com/iotbzh/xds-agent.git
+Build-Depends: debhelper (>= 5),
+ unzip
+Debtransform-Tar: xds-agent_linux-amd64-v1.1.1_2018-04-05_112625.zip
diff --git a/conf.d/packaging/deb/agl-xds-agent.install b/conf.d/packaging/deb/agl-xds-agent.install
new file mode 100644
index 0000000..6399692
--- /dev/null
+++ b/conf.d/packaging/deb/agl-xds-agent.install
@@ -0,0 +1 @@
+/opt/AGL/*
diff --git a/conf.d/packaging/deb/debian.changelog b/conf.d/packaging/deb/debian.changelog
new file mode 100644
index 0000000..321b83b
--- /dev/null
+++ b/conf.d/packaging/deb/debian.changelog
@@ -0,0 +1,5 @@
+agl-xds-agent (0.0.1-0) unstable; urgency=low
+
+ * init build
+
+ -- Sebastien Douheret <sebastien@iot.bzh> Tue, 27 Jun 2017 10:50:38 +0100
diff --git a/conf.d/packaging/deb/debian.compat b/conf.d/packaging/deb/debian.compat
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ b/conf.d/packaging/deb/debian.compat
@@ -0,0 +1 @@
+8
diff --git a/conf.d/packaging/deb/debian.control b/conf.d/packaging/deb/debian.control
new file mode 100644
index 0000000..afe4157
--- /dev/null
+++ b/conf.d/packaging/deb/debian.control
@@ -0,0 +1,13 @@
+Priority: optional
+Maintainer: Sebastien Douheret <sebastien@iot.bzh>
+Source: agl-xds-agent
+Build-Depends: debhelper (>= 5),
+ unzip
+Standards-Version: 3.8.2
+Homepage: https://github.com/iotbzh/xds-agent.git
+
+Package: agl-xds-agent
+Section: libs
+Architecture: any
+Description: agl-xds-agent
+
diff --git a/conf.d/packaging/deb/debian.rules b/conf.d/packaging/deb/debian.rules
new file mode 100644
index 0000000..b768ce6
--- /dev/null
+++ b/conf.d/packaging/deb/debian.rules
@@ -0,0 +1,111 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Uncomment this to turn on verbose mode.
+export DH_VERBOSE=1
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -O0
+else
+ CFLAGS += -O2
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+ INSTALL_PROGRAM += -s
+endif
+
+configure: configure-stamp
+configure-stamp:
+ dh_testdir
+ #
+ touch configure-stamp
+
+build: build-stamp
+build-stamp: configure-stamp
+ dh_testdir
+ touch build-stamp
+
+clean:
+ #dh_testdir
+ dh_testroot
+ rm -f configure-stamp build-stamp
+ [ ! -f Makefile ] || $(MAKE) distclean
+ #dh_clean
+
+
+NAME=agl-xds-agent
+INSTALL_XDS_DIR=/opt/AGL/xds/agent
+INSTALL_BIN_DIR=/opt/AGL/bin
+
+DEB_BASE_DIR=debian/$(NAME)
+DEB_INSTALL_XDS_DIR=$(DEB_BASE_DIR)/$(INSTALL_XDS_DIR)
+DEB_INSTALL_BIN_DIR=$(DEB_BASE_DIR)/$(INSTALL_BIN_DIR)
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_installdirs
+ # Add here commands to install the package into debian/tmp
+ mkdir -p $(DEB_INSTALL_XDS_DIR) $(DEB_INSTALL_BIN_DIR)
+ find . -maxdepth 1 ! -name debian -exec cp -r {} $(DEB_INSTALL_XDS_DIR) \;
+ rm -fr $(DEB_INSTALL_XDS_DIR)/debian $(DEB_INSTALL_XDS_DIR)/*-stamp
+ cd $(DEB_INSTALL_BIN_DIR) && ln -s ../xds/agent/xds-agent
+ # Install service files
+ mkdir -p $(DEB_BASE_DIR)/usr/lib/systemd/user
+ cp $(DEB_INSTALL_XDS_DIR)/conf.d/usr/lib/systemd/user/xds-agent.service $(DEB_BASE_DIR)/usr/lib/systemd/user
+ mkdir -p $(DEB_BASE_DIR)/etc/default $(DEB_BASE_DIR)/etc/xds/agent
+ cp $(DEB_INSTALL_XDS_DIR)/conf.d/etc/default/xds-agent $(DEB_BASE_DIR)/etc/default/
+ cp $(DEB_INSTALL_XDS_DIR)/conf.d/etc/xds/agent/* $(DEB_BASE_DIR)/etc/xds/agent/
+ mkdir -p $(DEB_BASE_DIR)/etc/systemd/user/multi-user.target.wants
+ ln -s /usr/lib/systemd/user/xds-agent.service $(DEB_BASE_DIR)/etc/systemd/user/multi-user.target.wants/
+
+ # Add XDS in user's PATH
+ mkdir -p $(DEB_BASE_DIR)/etc/profile.d
+ sed -e "s;@XDS_INSTALL_BIN_DIR@;$(INSTALL_BIN_DIR);g" $(DEB_INSTALL_XDS_DIR)/conf.d/etc/profile.d/xds-agent.sh > $(DEB_BASE_DIR)/etc/profile.d/$(NAME).sh
+
+ # Cleanup
+ rm -rf $(DEB_INSTALL_XDS_DIR)/conf.d
+
+ # Move all files in their corresponding package
+ dh_install --list-missing -s --sourcedir=debian/tmp
+
+postinst: install
+ if [ -f "/etc/xds-agent/config.json" ]; then
+ install -b -S .rpmsave /etc/xds-agent/config.json /etc/xds/agent/agent-config.json
+ fi
+
+prerm:
+ rm -f /etc/xds-agent/*.rpm*
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs
+ dh_installdocs
+ dh_installexamples
+ dh_installman
+ dh_link
+ dh_strip
+ dh_compress
+ dh_fixperms
+ dh_makeshlibs -V
+ dh_installdeb
+ #dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install
diff --git a/conf.d/packaging/obs/_service.in b/conf.d/packaging/obs/_service.in
new file mode 100644
index 0000000..795d0c6
--- /dev/null
+++ b/conf.d/packaging/obs/_service.in
@@ -0,0 +1,20 @@
+<services>
+ <service name="tar_scm">
+ <param name="url">https://gerrit.automotivelinux.org/gerrit/src/xds/xds-agent</param>
+ <param name="scm">git</param>
+ <param name="version">@VERSION@</param>
+ <param name="revision">@REVISION@</param>
+ <param name="extract">conf.d/packaging/rpm/agl-xds-agent.spec</param>
+ <param name="extract">conf.d/packaging/deb/agl-xds-agent.dsc</param>
+ <param name="extract">conf.d/packaging/deb/agl-xds-agent.install</param>
+ <param name="extract">conf.d/packaging/deb/debian.changelog</param>
+ <param name="extract">conf.d/packaging/deb/debian.compat</param>
+ <param name="extract">conf.d/packaging/deb/debian.control</param>
+ <param name="extract">conf.d/packaging/deb/debian.rules</param>
+ </service>
+ <service name="recompress">
+ <param name="compression">gz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" />
+</services>
diff --git a/conf.d/packaging/rpm/agl-xds-agent.spec b/conf.d/packaging/rpm/agl-xds-agent.spec
new file mode 100644
index 0000000..b6e3fff
--- /dev/null
+++ b/conf.d/packaging/rpm/agl-xds-agent.spec
@@ -0,0 +1,81 @@
+#
+# spec file for package agl-xds-agent
+#
+
+%define _prefix /opt/AGL
+%global debug_package %{nil}
+
+Name: agl-xds-agent
+Version: 1.1.1
+Release: 0
+License: Apache-2.0
+Summary: XDS agent/client tool
+Url: https://github.com/iotbzh/xds-agent.git
+Source0: xds-agent_linux-amd64-v%{version}_2018-04-05_112625.zip
+BuildRequires: unzip
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+# currently embedded with xds
+# Requires: syncthing
+
+
+%description
+XDS-agent is an client tool that must run on your local machine when you use XDS
+
+%prep
+%setup -q -n xds-agent
+
+%build
+
+%install
+mkdir -p %{?buildroot}%{_prefix}/xds/agent %{?buildroot}%{_bindir}
+cp -r * %{?buildroot}%{_prefix}/xds/agent
+rm -rf %{?buildroot}%{_prefix}/xds/agent/conf.d
+ln -s ../xds/agent/xds-agent %{?buildroot}%{_bindir}/xds-agent
+
+mkdir -p %{?buildroot}%{_userunitdir}
+cp ./conf.d/usr/lib/systemd/user/xds-agent.service %{?buildroot}%{_userunitdir}
+
+mkdir -p %{?buildroot}/%{_sysconfdir}/default
+cp ./conf.d/etc/default/xds-agent %{?buildroot}/%{_sysconfdir}/default/
+
+mkdir -p %{?buildroot}/%{_sysconfdir}/xds/agent
+cp ./conf.d/etc/xds/agent/* %{?buildroot}/%{_sysconfdir}/xds/agent/
+
+mkdir -p %{?buildroot}%{_userunitdir}/default.target.wants && ln -s ../xds-agent.service %{?buildroot}%{_userunitdir}/default.target.wants/
+
+mkdir -p %{?buildroot}%{_sysconfdir}/profile.d
+sed -e "s;@XDS_INSTALL_BIN_DIR@;%{_bindir};g" ./conf.d/etc/profile.d/xds-agent.sh > %{buildroot}%{_sysconfdir}/profile.d/%{name}.sh
+
+
+%files
+%defattr(-,root,root)
+%dir %{_prefix}
+%dir %{_bindir}
+%dir %{_prefix}/xds
+%dir %{_prefix}/xds/agent
+%{_prefix}/xds/agent/*
+%{_bindir}/xds-agent
+%dir %{_sysconfdir}/xds
+%dir %{_sysconfdir}/xds/agent
+%config %{_sysconfdir}/default/xds-agent
+%config %{_sysconfdir}/xds/agent/agent-config.json
+%config %{_sysconfdir}/profile.d/%{name}.sh
+%dir %{_userunitdir}
+%{_userunitdir}/xds-agent.service
+%dir %{_userunitdir}/default.target.wants
+%{_userunitdir}/default.target.wants/xds-agent.service
+
+%post
+if [ "$1" -ge 2 ]; then
+ if [ -f "${_sysconfdir}/xds-agent/config.json" ]; then
+ install -b -S .rpmsave ${_sysconfdir}/xds-agent/config.json ${_sysconfdir}/xds/agent/agent-config.json
+ fi
+fi
+exit 0
+
+%preun
+if [ "$1" -ge 2 ]; then
+ rm -f %{_sysconfdir}/xds-agent/*.rpm*
+fi
+exit 0