From 91e90e59a593bea0ef1771a860140ae347692910 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Thu, 25 Oct 2018 11:38:38 +0200 Subject: Add packaging materials Files used by an OBS server to be able to build deb and rpm packages. The afb-test binding could be then used in a native environment. Change-Id: Ifd5ab363c90269bed949ff63315d228017de7d05 Signed-off-by: Romain Forlot --- conf.d/packaging/deb/agl-app-afb-test.dsc | 22 +++++ .../deb/debian.agl-app-afb-test-bin.install | 2 + .../deb/debian.agl-app-afb-test-dev.install | 1 + conf.d/packaging/deb/debian.changelog | 5 ++ conf.d/packaging/deb/debian.compat | 1 + conf.d/packaging/deb/debian.control | 20 +++++ conf.d/packaging/deb/debian.rules | 85 +++++++++++++++++++ conf.d/packaging/project_version.patch | 13 +++ conf.d/packaging/rpm/agl-app-afb-test.spec | 94 ++++++++++++++++++++++ 9 files changed, 243 insertions(+) create mode 100644 conf.d/packaging/deb/agl-app-afb-test.dsc create mode 100644 conf.d/packaging/deb/debian.agl-app-afb-test-bin.install create mode 100644 conf.d/packaging/deb/debian.agl-app-afb-test-dev.install create mode 100644 conf.d/packaging/deb/debian.changelog create mode 100644 conf.d/packaging/deb/debian.compat create mode 100644 conf.d/packaging/deb/debian.control create mode 100644 conf.d/packaging/deb/debian.rules create mode 100644 conf.d/packaging/project_version.patch create mode 100644 conf.d/packaging/rpm/agl-app-afb-test.spec diff --git a/conf.d/packaging/deb/agl-app-afb-test.dsc b/conf.d/packaging/deb/agl-app-afb-test.dsc new file mode 100644 index 0000000..ee57c95 --- /dev/null +++ b/conf.d/packaging/deb/agl-app-afb-test.dsc @@ -0,0 +1,22 @@ +Format: 1.0 +Source: agl-app-afb-test +Binary: agl-app-afb-test-bin, agl-app-afb-test-dev +Architecture: any +Version: 2.0-0 +Maintainer: unknown +Standards-Version: 3.8.2 +Homepage: https://gerrit.automotivelinux.org/gerrit/apps/app-afb-test +Build-Depends: debhelper (>= 5), + pkg-config, + dpkg-dev, + cmake, + agl-app-framework-binder-bin, + agl-app-framework-binder-dev, + gcc-c++, + lua5.3, + liblua5.3-dev, + libjson-c-dev, + libsystemd-dev, +DEBTRANSFORM-RELEASE: 1 +Files: + app-afb-test_2.0.tar.gz diff --git a/conf.d/packaging/deb/debian.agl-app-afb-test-bin.install b/conf.d/packaging/deb/debian.agl-app-afb-test-bin.install new file mode 100644 index 0000000..4a7a01e --- /dev/null +++ b/conf.d/packaging/deb/debian.agl-app-afb-test-bin.install @@ -0,0 +1,2 @@ +/opt/AGL/afm/applications/afTest/* +/opt/AGL/bin/afm-test diff --git a/conf.d/packaging/deb/debian.agl-app-afb-test-dev.install b/conf.d/packaging/deb/debian.agl-app-afb-test-dev.install new file mode 100644 index 0000000..699f573 --- /dev/null +++ b/conf.d/packaging/deb/debian.agl-app-afb-test-dev.install @@ -0,0 +1 @@ +/opt/AGL/lib/pkgconfig/*.pc diff --git a/conf.d/packaging/deb/debian.changelog b/conf.d/packaging/deb/debian.changelog new file mode 100644 index 0000000..552fc6d --- /dev/null +++ b/conf.d/packaging/deb/debian.changelog @@ -0,0 +1,5 @@ +agl-app-afb-test (2.0-0) unstable; urgency=low + + * init build + + -- Romain Forlot Thu, 25 Oct 2018 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..ec63514 --- /dev/null +++ b/conf.d/packaging/deb/debian.compat @@ -0,0 +1 @@ +9 diff --git a/conf.d/packaging/deb/debian.control b/conf.d/packaging/deb/debian.control new file mode 100644 index 0000000..feffc1b --- /dev/null +++ b/conf.d/packaging/deb/debian.control @@ -0,0 +1,20 @@ +Priority: optional +Maintainer: unknown +Source: agl-app-afb-test +Build-Depends: + debhelper (>= 5), + pkg-config, + cmake, +Standards-Version: 3.8.2 +Homepage: https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/app-afb-test + +Package: agl-app-afb-test-bin +Section: libs +Architecture: any +Description: agl-app-afb-test + +Package: agl-app-afb-test-dev +Section: libs +Architecture: any +Depends: agl-app-afb-test-bin +Description: agl-app-afb-test-devel diff --git a/conf.d/packaging/deb/debian.rules b/conf.d/packaging/deb/debian.rules new file mode 100644 index 0000000..5a71d2a --- /dev/null +++ b/conf.d/packaging/deb/debian.rules @@ -0,0 +1,85 @@ +#!/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 + patch -p1 < ../SOURCES/project_version.patch + mkdir -p build + export PKG_CONFIG_PATH=/opt/AGL/lib/$(DEB_HOST_MULTIARCH)/pkgconfig + cd build && \ + cmake -DCMAKE_INSTALL_PREFIX:PATH=/opt/AGL -DCMAKE_BUILD_TYPE=DEBUG .. && \ + $(MAKE) + touch build-stamp + +clean: + #dh_testdir + dh_testroot + rm -f configure-stamp build-stamp + [ ! -f Makefile ] || $(MAKE) distclean + #dh_clean + +install: build + dh_testdir + dh_testroot + dh_prep + dh_installdirs + # Add here commands to install the package into debian/tmp + cd build && \ + make install DESTDIR=/usr/src/packages/BUILD/debian/tmp + mkdir -p /usr/src/packages/BUILD/debian/tmp/opt/AGL/afm/applications/ + mv /usr/src/packages/BUILD/debian/tmp/opt/AGL/afTest /usr/src/packages/BUILD/debian/tmp/opt/AGL/afm/applications/ + # Move all files in their corresponding package + dh_install --list-missing -a --sourcedir=debian/tmp + # empty dependency_libs in .la files + +# 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/project_version.patch b/conf.d/packaging/project_version.patch new file mode 100644 index 0000000..0e9ab8f --- /dev/null +++ b/conf.d/packaging/project_version.patch @@ -0,0 +1,13 @@ +diff --git a/conf.d/app-templates/cmake/common.cmake b/conf.d/app-templates/cmake/common.cmake +index 77ecd3f..f17a567 100644 +--- a/conf.d/app-templates/cmake/common.cmake ++++ b/conf.d/app-templates/cmake/common.cmake +@@ -100,7 +100,7 @@ configure_files_in_dir(${PROJECT_APP_TEMPLATES_DIR}/${ENTRY_POINT}/template.d) + configure_files_in_dir($ENV{HOME}/.config/app-templates/scripts) + configure_files_in_dir(/etc/app-templates/scripts) + +-check_version() ++#check_version() + project_targets_populate() + remote_targets_populate() + project_package_build() diff --git a/conf.d/packaging/rpm/agl-app-afb-test.spec b/conf.d/packaging/rpm/agl-app-afb-test.spec new file mode 100644 index 0000000..bf02a07 --- /dev/null +++ b/conf.d/packaging/rpm/agl-app-afb-test.spec @@ -0,0 +1,94 @@ +# +# spec file for package app-afb-test +# + +%define _prefix /opt/AGL +%define __cmake cmake + +%if 0%{?fedora_version} +%global debug_package %{nil} +%endif + +Name: agl-app-afb-test +# WARNING {name} is not used for tar file name in source nor for setup +# Check hard coded values required to match git directory naming +Version: 2.0 +Release: 0 +License: Apache-2.0 +Summary: AGL app-afb-test +Group: Development/Libraries/C and C++ +Url: https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/app-afb-test +Source: app-afb-test-%{version}.tar.gz +Patch0: project_version.patch +BuildRequires: pkgconfig(lua) >= 5.3 +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: pkgconfig(json-c) +BuildRequires: pkgconfig(afb-daemon) +BuildRequires: pkgconfig(libsystemd) >= 222 + +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +This is a migration of former app-templates git submodule which let you ease the +development of apps and widget building. + +%package devel +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} +Provides: pkgconfig(%{name}) = %{version} +Summary: AGL app-afb-test-devel +%description devel +This is a migration of former app-templates git submodule which let you ease the +development of apps and widget building. + +%prep +%setup -q -n app-afb-test-%{version} +%patch0 -p1 + +%build +export PKG_CONFIG_PATH=%{_libdir}/pkgconfig +[ ! -d build ] && mkdir build +cd build +cmake -DCMAKE_BUILD_TYPE=DEBUG .. +%__make %{?_smp_mflags} + +%install +[ -d build ] && cd build +%make_install +mkdir -p %{buildroot}%{_prefix}/afm/applications/afTest/%{version} +mv %{buildroot}%{_prefix}/afTest/* %{buildroot}/%{_prefix}/afm/applications/afTest/%{version} +rmdir %{buildroot}/%{_prefix}/afTest + +%post + +%postun + +%files +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_bindir} +%{_bindir}/afm-test +%dir %{_prefix}/afm/ +%dir %{_prefix}/afm/applications/ +%dir %{_prefix}/afm/applications/afTest/ +%dir %{_prefix}/afm/applications/afTest/%{version}/ +%dir %{_prefix}/afm/applications/afTest/%{version}/etc +%{_prefix}/afm/applications/afTest/%{version}/etc/aft-afbtest.json +%dir %{_prefix}/afm/applications/afTest/%{version}/bin +%dir %{_prefix}/afm/applications/afTest/%{version}/lib +%{_prefix}/afm/applications/afTest/%{version}/lib/aft.so +%dir %{_prefix}/afm/applications/afTest/%{version}/htdocs +%dir %{_prefix}/afm/applications/afTest/%{version}/var +%{_prefix}/afm/applications/afTest/%{version}/var/aft.lua +%{_prefix}/afm/applications/afTest/%{version}/var/luaunit.lua + +%files devel +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_libdir}/pkgconfig +%{_libdir}/pkgconfig/*.pc + +%changelog +* Thu Oct 25 2018 Romain +- initial creation -- cgit 1.2.3-korg