From 52523f2c4f1e83cb93d2ad804ddd1cf539576512 Mon Sep 17 00:00:00 2001 From: Ronan Le Martret Date: Thu, 31 Aug 2017 17:49:20 +0200 Subject: add packaging Signed-off-by: Ronan Le Martret --- conf.d/packaging/agl-afb-controller.dsc | 21 ++++++ conf.d/packaging/agl-afb-controller.spec | 68 +++++++++++++++++ conf.d/packaging/debian.agl-afb-controller.install | 2 + conf.d/packaging/debian.changelog | 5 ++ conf.d/packaging/debian.compat | 1 + conf.d/packaging/debian.control | 22 ++++++ conf.d/packaging/debian.rules | 87 ++++++++++++++++++++++ 7 files changed, 206 insertions(+) create mode 100644 conf.d/packaging/agl-afb-controller.dsc create mode 100644 conf.d/packaging/agl-afb-controller.spec create mode 100644 conf.d/packaging/debian.agl-afb-controller.install create mode 100644 conf.d/packaging/debian.changelog create mode 100644 conf.d/packaging/debian.compat create mode 100644 conf.d/packaging/debian.control create mode 100644 conf.d/packaging/debian.rules diff --git a/conf.d/packaging/agl-afb-controller.dsc b/conf.d/packaging/agl-afb-controller.dsc new file mode 100644 index 0000000..7ee03d6 --- /dev/null +++ b/conf.d/packaging/agl-afb-controller.dsc @@ -0,0 +1,21 @@ +Format: 1.0 +Source: agl-afb-controller +Binary: agl-afb-controller-bin +Architecture: any +Version: 2.0-0 +Maintainer: Fulup Ar Foll +Standards-Version: 3.8.2 +Homepage: https://github.com/iotbzh/controller-binding +Build-Depends: debhelper (>= 5), + pkg-config, + cmake, + gcc, + g++, + libjson-c-dev , + libsystemd-dev (>= 222), + agl-app-framework-binder-dev , + agl-libmicrohttpd-dev (>= 0.9.55), + agl-app-framework-binder-dev , + liblua5.3-dev (>= 5.3), + lua5.3 +Debtransform-Tar: agl-afb-controller_1.0.orig.tar.gz diff --git a/conf.d/packaging/agl-afb-controller.spec b/conf.d/packaging/agl-afb-controller.spec new file mode 100644 index 0000000..a3e9478 --- /dev/null +++ b/conf.d/packaging/agl-afb-controller.spec @@ -0,0 +1,68 @@ +########################################################################### +# Copyright 2015, 2016, 2017 IoT.bzh +# +# author: Fulup Ar Foll +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + + +Name: agl-afb-controller +Version: 1.0 +Release: 1 +Group: AGL +License: APL2.0 +Summary: Create controls that could be mapped to LUA functions, callback or API/VERB methods. +Url: https://github.com/iotbzh/controller-binding +Source0: %{name}_%{version}.orig.tar.gz + +BuildRequires: cmake +BuildRequires: gcc gcc-c++ +BuildRequires: pkgconfig(json-c) +BuildRequires: pkgconfig(libsystemd) >= 222 +BuildRequires: pkgconfig(afb-daemon) +BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.55 +BuildRequires: pkgconfig(libafbwsc) +BuildRequires: pkgconfig(lua) >= 5.3 + + +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%define _prefix /opt/AGL/afb-controller +%define __cmake cmake + +%description +Create controls that could be mapped to LUA functions, callback or API/VERB methods. + +%prep +%setup -q + +%build +%cmake -DCMAKE_INSTALL_PREFIX:PATH=%{_libdir} +make %{?_smp_mflags} + +%install +CURDIR=$(pwd) +[ -d build ] && cd build +make populate +mkdir -p %{?buildroot}%{_prefix} +cp -r package/* %{?buildroot}%{_prefix} + +cd $CURDIR +find %{?buildroot}%{_prefix} -type d -exec echo "%dir {}" \;>> pkg_file +find %{?buildroot}%{_prefix} -type f -exec echo "{}" \;>> pkg_file +sed -i 's@%{?buildroot}@@g' pkg_file + + +%files -f pkg_file +%defattr(-,root,root) diff --git a/conf.d/packaging/debian.agl-afb-controller.install b/conf.d/packaging/debian.agl-afb-controller.install new file mode 100644 index 0000000..5858efd --- /dev/null +++ b/conf.d/packaging/debian.agl-afb-controller.install @@ -0,0 +1,2 @@ +/opt/AGL/* +/etc/profile.d/* diff --git a/conf.d/packaging/debian.changelog b/conf.d/packaging/debian.changelog new file mode 100644 index 0000000..a97aeb1 --- /dev/null +++ b/conf.d/packaging/debian.changelog @@ -0,0 +1,5 @@ +agl-afb-controller (1.0-0) UNRELEASED; urgency=low + + * init build + + -- Fulup Ar Foll Mon, 25 Dec 2007 10:50:38 +0100 diff --git a/conf.d/packaging/debian.compat b/conf.d/packaging/debian.compat new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/conf.d/packaging/debian.compat @@ -0,0 +1 @@ +8 diff --git a/conf.d/packaging/debian.control b/conf.d/packaging/debian.control new file mode 100644 index 0000000..80c2931 --- /dev/null +++ b/conf.d/packaging/debian.control @@ -0,0 +1,22 @@ +Priority: optional +Maintainer: Fulup Ar Foll +Source: agl-afb-controller +Build-Depends: debhelper (>= 5), + pkg-config, + cmake, + gcc, + g++, + libjson-c-dev , + libsystemd-dev (>= 222), + agl-app-framework-binder-dev , + agl-libmicrohttpd-dev (>= 0.9.55), + agl-app-framework-binder-dev , + liblua5.3-dev (>= 5.3), + lua5.3 +Standards-Version: 3.8.2 +Homepage: https://github.com/iotbzh/controller-binding + +Package: agl-afb-controller +Section: libs +Architecture: any +Description: Create controls that could be mapped to LUA functions, callback or API/VERB methods. diff --git a/conf.d/packaging/debian.rules b/conf.d/packaging/debian.rules new file mode 100644 index 0000000..fb3c060 --- /dev/null +++ b/conf.d/packaging/debian.rules @@ -0,0 +1,87 @@ +#!/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 + mkdir -p build + cd build;cmake ../ -DCMAKE_INSTALL_PREFIX:PATH=/opt/AGL/afb-controller -DCMAKE_INSTALL_LIBDIR:PATH=lib/$(DEB_HOST_MULTIARCH);$(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 + mkdir -p debian/tmp/opt/AGL/afb-controller;cd build;make populate;cp -r package/* ../debian/tmp/opt/AGL/afb-controller/ + mkdir -p debian/tmp/etc/profile.d + echo '#---------- AGL afb-controller options Start ---------" ' > debian/tmp/etc/profile.d/AGL_afb-controller.sh + echo '# Object: AGL cmake option for binder/bindings' >> debian/tmp/etc/profile.d/AGL_afb-controller.sh + echo 'export LD_LIBRARY_PATH=/opt/AGL/afb-controller/lib/$(DEB_HOST_MULTIARCH):$$LD_LIBRARY_PATH' >> debian/tmp/etc/profile.d/AGL_afb-controller.sh + echo 'export LIBRARY_PATH=/opt/AGL/afb-controller/lib/$(DEB_HOST_MULTIARCH):$$LIBRARY_PATH' >> debian/tmp/etc/profile.d/AGL_afb-controller.sh + echo 'export PATH=/opt/AGL/afb-controller/bin:$$PATH' >> debian/tmp/etc/profile.d/AGL_afb-controller.sh + echo '#---------- AGL options End ---------' >> debian/tmp/etc/profile.d/AGL_afb-controller.sh + # Move all files in their corresponding package + dh_install --list-missing -s --sourcedir=debian/tmp + # empty dependency_libs in .la files + #sed -i "/dependency_libs/ s/'.*'/''/" `find debian/ -name '*.la'` + +# 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 --dpkg-shlibdeps-params=--ignore-missing-info + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install -- cgit 1.2.3-korg