Add packaging files 99/13999/1
authorRonan Le Martret <ronan.lemartret@iot.bzh>
Tue, 15 May 2018 16:10:19 +0000 (18:10 +0200)
committerRonan Le Martret <ronan.lemartret@iot.bzh>
Tue, 15 May 2018 16:10:45 +0000 (18:10 +0200)
 * it's easier to manage native build package.

Change-Id: I358a07f2569ac52c792443345244d3294a1c3b8b
Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
conf.d/packaging/deb/agl-xds-server.dsc [new file with mode: 0644]
conf.d/packaging/deb/agl-xds-server.install [new file with mode: 0644]
conf.d/packaging/deb/debian.changelog [new file with mode: 0644]
conf.d/packaging/deb/debian.compat [new file with mode: 0644]
conf.d/packaging/deb/debian.control [new file with mode: 0644]
conf.d/packaging/deb/debian.rules [new file with mode: 0644]
conf.d/packaging/obs/_service [new file with mode: 0644]
conf.d/packaging/rpm/agl-xds-server.spec [new file with mode: 0644]

diff --git a/conf.d/packaging/deb/agl-xds-server.dsc b/conf.d/packaging/deb/agl-xds-server.dsc
new file mode 100644 (file)
index 0000000..2dd2119
--- /dev/null
@@ -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 (file)
index 0000000..6399692
--- /dev/null
@@ -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 (file)
index 0000000..3f15144
--- /dev/null
@@ -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 (file)
index 0000000..45a4fb7
--- /dev/null
@@ -0,0 +1 @@
+8
diff --git a/conf.d/packaging/deb/debian.control b/conf.d/packaging/deb/debian.control
new file mode 100644 (file)
index 0000000..8d29279
--- /dev/null
@@ -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 (file)
index 0000000..2be0c7e
--- /dev/null
@@ -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 (file)
index 0000000..a28cd50
--- /dev/null
@@ -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 (file)
index 0000000..74e5b33
--- /dev/null
@@ -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