summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonan Le Martret <ronan.lemartret@iot.bzh>2018-05-15 18:10:19 +0200
committerRonan Le Martret <ronan.lemartret@iot.bzh>2018-05-15 18:10:45 +0200
commit78c901ea7029ad6c60b03ad0b20f8152854fac09 (patch)
tree623a749f966db09384040fa57f8129cceba376de
parente8a81fabbb36771125426454a6ba3b1e47e3a753 (diff)
Add packaging files
* it's easier to manage native build package. Change-Id: I358a07f2569ac52c792443345244d3294a1c3b8b Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
-rw-r--r--conf.d/packaging/deb/agl-xds-server.dsc11
-rw-r--r--conf.d/packaging/deb/agl-xds-server.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.rules116
-rw-r--r--conf.d/packaging/obs/_service20
-rw-r--r--conf.d/packaging/rpm/agl-xds-server.spec79
8 files changed, 246 insertions, 0 deletions
diff --git a/conf.d/packaging/deb/agl-xds-server.dsc b/conf.d/packaging/deb/agl-xds-server.dsc
new file mode 100644
index 0000000..2dd2119
--- /dev/null
+++ b/conf.d/packaging/deb/agl-xds-server.dsc
@@ -0,0 +1,11 @@
+Format: 1.0
+Source: agl-xds-server
+Binary: agl-xds-server
+Architecture: any
+Version: 1.1.1
+Maintainer: Sebastien Douheret <sebastien@iot.bzh>
+Standards-Version: 3.8.2
+Homepage: https://github.com/iotbzh/xds-server.git
+Build-Depends: debhelper (>= 5),
+ unzip
+Debtransform-Tar: xds-server_linux-amd64-v1.1.1_2018-04-05_111758.zip
diff --git a/conf.d/packaging/deb/agl-xds-server.install b/conf.d/packaging/deb/agl-xds-server.install
new file mode 100644
index 0000000..6399692
--- /dev/null
+++ b/conf.d/packaging/deb/agl-xds-server.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..3f15144
--- /dev/null
+++ b/conf.d/packaging/deb/debian.changelog
@@ -0,0 +1,5 @@
+agl-xds-server (0.0.1-0) unstable; urgency=low
+
+ * version 0.0.1
+
+ -- 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..8d29279
--- /dev/null
+++ b/conf.d/packaging/deb/debian.control
@@ -0,0 +1,13 @@
+Priority: optional
+Maintainer: Sebastien Douheret <sebastien@iot.bzh>
+Source: agl-xds-server
+Build-Depends: debhelper (>= 5),
+ unzip
+Standards-Version: 3.8.2
+Homepage: https://github.com/iotbzh/xds-server.git
+
+Package: agl-xds-server
+Section: libs
+Architecture: any
+Description: agl-xds-server
+
diff --git a/conf.d/packaging/deb/debian.rules b/conf.d/packaging/deb/debian.rules
new file mode 100644
index 0000000..2be0c7e
--- /dev/null
+++ b/conf.d/packaging/deb/debian.rules
@@ -0,0 +1,116 @@
+#!/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-server
+INSTALL_XDS_DIR=/opt/AGL/xds/server
+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
+
+ # Install xds-server into /opt/AGL/xds/server
+ 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/server/xds-server
+ cd $(DEB_INSTALL_BIN_DIR) && ln -s ../xds/server/syncthing
+ cd $(DEB_INSTALL_BIN_DIR) && ln -s ../xds/server/syncthing-inotify
+
+ # Install service files
+ mkdir -p $(DEB_BASE_DIR)/usr/lib/systemd/user
+ cp $(DEB_INSTALL_XDS_DIR)/conf.d/usr/lib/systemd/user/xds-server.service $(DEB_BASE_DIR)/usr/lib/systemd/user
+ mkdir -p $(DEB_BASE_DIR)/etc/default $(DEB_BASE_DIR)/etc/xds/server
+ cp $(DEB_INSTALL_XDS_DIR)/conf.d/etc/default/xds-server $(DEB_BASE_DIR)/etc/default/
+ cp $(DEB_INSTALL_XDS_DIR)/conf.d/etc/xds/server/* $(DEB_BASE_DIR)/etc/xds/server/
+ mkdir -p $(DEB_BASE_DIR)/etc/systemd/user/multi-user.target.wants
+ ln -s /usr/lib/systemd/user/xds-server.service $(DEB_BASE_DIR)/etc/systemd/user/multi-user.target.wants/
+ 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-server.sh > $(DEB_BASE_DIR)/etc/profile.d/$(NAME).sh
+
+ # Auto-enable xds-server systemd service
+ mkdir -p $(DEB_BASE_DIR)/usr/lib/systemd/user/default.target.wants && ln -s ../xds-server.service $(DEB_BASE_DIR)/usr/lib/systemd/user/default.target.wants/
+
+ # 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-server/config.json" ]; then
+ install -b -S .rpmsave /etc/xds-server/config.json /etc/xds/server/server-config.json
+ fi
+ echo "[XDS Server] To enable the service with your user session: systemctl --user enable xds-server"
+
+prerm:
+ rm -f /etc/xds-server/*.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 b/conf.d/packaging/obs/_service
new file mode 100644
index 0000000..a28cd50
--- /dev/null
+++ b/conf.d/packaging/obs/_service
@@ -0,0 +1,20 @@
+<services>
+ <service name="tar_scm">
+ <param name="url">https://gerrit.automotivelinux.org/gerrit/src/xds/xds-server</param>
+ <param name="scm">git</param>
+ <param name="version">@VERSION@</param>
+ <param name="revision">@REVISON@</param>
+ <param name="extract">conf.d/packaging/rpm/agl-xds-server.spec</param>
+ <param name="extract">conf.d/packaging/deb/agl-xds-server.dsc</param>
+ <param name="extract">conf.d/packaging/deb/agl-xds-server.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-server.spec b/conf.d/packaging/rpm/agl-xds-server.spec
new file mode 100644
index 0000000..74e5b33
--- /dev/null
+++ b/conf.d/packaging/rpm/agl-xds-server.spec
@@ -0,0 +1,79 @@
+#
+# spec file for package agl-xds-server
+#
+
+%define _prefix /opt/AGL
+%global debug_package %{nil}
+
+Name: agl-xds-server
+Version: 1.1.1
+Release: 0
+License: Apache-2.0
+Summary: XDS-server
+Url: https://github.com/iotbzh/xds-server.git
+Source0: xds-server_linux-amd64-v%{version}_2018-04-05_111758.zip
+BuildRequires: unzip
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+# for now still embedded with xds
+# Requires: syncthing
+
+%description
+xds-server is a web server that allows user to remotely cross build applications.
+
+%prep
+%setup -q -n xds-server
+
+%build
+
+%install
+mkdir -p %{?buildroot}%{_prefix}/xds/server %{?buildroot}%{_bindir}
+cp -r * %{?buildroot}%{_prefix}/xds/server/
+rm -rf %{?buildroot}%{_prefix}/xds/server/conf.d
+ln -s ../xds/server/xds-server %{?buildroot}%{_bindir}/xds-server
+ln -s ../xds/server/syncthing %{?buildroot}%{_bindir}/syncthing
+ln -s ../xds/server/syncthing-inotify %{?buildroot}%{_bindir}/syncthing-inotify
+mkdir -p %{?buildroot}%{_userunitdir}
+cp ./conf.d/usr/lib/systemd/user/xds-server.service %{?buildroot}%{_userunitdir}
+mkdir -p %{?buildroot}/%{_sysconfdir}/default
+cp ./conf.d/etc/default/xds-server %{?buildroot}/%{_sysconfdir}/default/
+mkdir -p %{?buildroot}/%{_sysconfdir}/xds/server
+cp ./conf.d/etc/xds/server/* %{?buildroot}/%{_sysconfdir}/xds/server/
+mkdir -p %{?buildroot}%{_userunitdir}/default.target.wants && ln -s ../xds-server.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-server.sh > %{buildroot}%{_sysconfdir}/profile.d/%{name}.sh
+
+%files
+%defattr(-,root,root)
+%dir %{_prefix}
+%dir %{_bindir}
+%dir %{_prefix}/xds
+%dir %{_prefix}/xds/server
+%{_prefix}/xds/server/*
+%{_bindir}/xds-server
+%{_bindir}/syncthing
+%{_bindir}/syncthing-inotify
+%dir %{_sysconfdir}/xds
+%dir %{_sysconfdir}/xds/server
+%{_sysconfdir}/default/xds-server
+%{_sysconfdir}/xds/server/*
+%config %{_sysconfdir}/profile.d/%{name}.sh
+%dir %{_userunitdir}
+%{_userunitdir}/xds-server.service
+%dir %{_userunitdir}/default.target.wants
+%{_userunitdir}/default.target.wants/xds-server.service
+
+
+%post
+if [ "$1" -ge 2 ]; then
+ if [ -f "${_sysconfdir}/xds-server/config.json" ]; then
+ install -b -S .rpmsave ${_sysconfdir}/xds-server/config.json ${_sysconfdir}/xds/server/server-config.json
+ fi
+fi
+exit 0
+
+%preun
+if [ "$1" -ge 2 ]; then
+ rm -f %{_sysconfdir}/xds-server/*.rpm*
+fi
+exit 0