diff options
author | Ronan Le Martret <ronan.lemartret@iot.bzh> | 2018-05-15 17:18:06 +0200 |
---|---|---|
committer | Ronan Le Martret <ronan.lemartret@iot.bzh> | 2018-05-15 17:30:52 +0200 |
commit | 72c9174cecdfbe4cde9baa71c0c02d0bee753224 (patch) | |
tree | d7a92e6a059398d1c98666052cbed826b2064139 | |
parent | f7993c2552f007f34bfbd1865951d9243923276e (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.dsc | 11 | ||||
-rw-r--r-- | conf.d/packaging/deb/agl-xds-agent.install | 1 | ||||
-rw-r--r-- | conf.d/packaging/deb/debian.changelog | 5 | ||||
-rw-r--r-- | conf.d/packaging/deb/debian.compat | 1 | ||||
-rw-r--r-- | conf.d/packaging/deb/debian.control | 13 | ||||
-rw-r--r-- | conf.d/packaging/deb/debian.rules | 111 | ||||
-rw-r--r-- | conf.d/packaging/obs/_service.in | 20 | ||||
-rw-r--r-- | conf.d/packaging/rpm/agl-xds-agent.spec | 81 |
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 |