From ec59d20bafb3acaaff2bbcab185a074825319e20 Mon Sep 17 00:00:00 2001 From: Ronan Le Martret Date: Mon, 12 Jun 2017 11:17:04 +0200 Subject: Update package * use sub module for ucs2-lib (tmp fork from IoT.bzh github) * add packaging for native build Signed-off-by: Ronan Le Martret --- conf.d/app-templates | 1 + conf.d/config.cmake | 38 +++++++++-------- conf.d/packaging/debian.changelog | 5 +++ conf.d/packaging/debian.compat | 1 + conf.d/packaging/debian.control | 20 +++++++++ conf.d/packaging/debian.rules | 87 +++++++++++++++++++++++++++++++++++++++ conf.d/templates | 1 - 7 files changed, 134 insertions(+), 19 deletions(-) create mode 160000 conf.d/app-templates 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 delete mode 160000 conf.d/templates (limited to 'conf.d') diff --git a/conf.d/app-templates b/conf.d/app-templates new file mode 160000 index 0000000..3e30ff5 --- /dev/null +++ b/conf.d/app-templates @@ -0,0 +1 @@ +Subproject commit 3e30ff523d1f55f68f66d41ddff29a309abdfa45 diff --git a/conf.d/config.cmake b/conf.d/config.cmake index 530950a..5dfb013 100644 --- a/conf.d/config.cmake +++ b/conf.d/config.cmake @@ -26,12 +26,12 @@ set(PROJECT_URL "https://github.com/iotbzh/unicens-agent") set(PROJECT_ICON "icon.png") set(PROJECT_AUTHOR "Fulup, Ar Foll") set(PROJECT_AUTHOR_MAIL "fulup@iot.bzh") -set(PROJECT_LICENCE "Apache-V2") +set(PROJECT_LICENSE "Apache-V2") set(PROJECT_LANGUAGES,"C") # Where are stored default templates files from submodule or subtree app-templates in your project tree # relative to the root project directory -set(PROJECT_APP_TEMPLATES_DIR "conf.d/templates") +set(PROJECT_APP_TEMPLATES_DIR "conf.d/app-templates") # Where are stored your external libraries for your project. This is 3rd party library that you don't maintain # but used and must be built and linked. @@ -50,41 +50,43 @@ set(CMAKE_BUILD_TYPE "DEBUG") # Kernel selection if needed. Impose a minimal version. # NOTE FOR NOW IT CHECKS KERNEL Yocto SDK Kernel version # else only HOST VERSION -# ------------------------------------------------------ +# ----------------------------------------------- #set (kernel_minimal_version 4.8) -# Compiler selection if needed. Overload the detected compiler. +# Compiler selection if needed. Impose a minimal version. # ----------------------------------------------- set (gcc_minimal_version 4.9) -#set(CMAKE_C_COMPILER "gcc") -#set(CMAKE_CXX_COMPILER "g++") # PKG_CONFIG required packages # ----------------------------- set (PKG_REQUIRED_LIST - libsystemd - libmicrohttpd - afb-daemon - json-c mxml + json-c + libsystemd>=222 + afb-daemon + libmicrohttpd>=0.9.55 ) -# LANG Specific compile flags set for all build types -# set(CMAKE_C_FLAGS "") -# set(CMAKE_CXX_FLAGS "") - +# Static constante definition +# ----------------------------- +add_compile_options() # Define CONTROL_CDEV_NAME should match MOST driver values # --------------------------------------------------------- - add_compile_options(-DCONTROL_CDEV_TX="/dev/inic-usb-ctx") - add_compile_options(-DCONTROL_CDEV_RX="/dev/inic-usb-crx") +add_compile_options(-DCONTROL_CDEV_TX="/dev/inic-usb-ctx") +add_compile_options(-DCONTROL_CDEV_RX="/dev/inic-usb-crx") + +# LANG Specific compile flags set for all build types +set(CMAKE_C_FLAGS "") +set(CMAKE_CXX_FLAGS "") # Print a helper message when every thing is finished # ---------------------------------------------------- set(CLOSING_MESSAGE "Test with: afb-daemon --ldpaths=. --port=1234 --workdir=.. --roothttp=./htdocs --tracereq=common --token='' --verbose") +#set(PACKAGE_MESSAGE "Install widget file using in the target : afm-util install ${PROJECT_NAME}.wgt") # (BUG!!!) as PKG_CONFIG_PATH does not work [should be an env variable] # --------------------------------------------------------------------- -set(INSTALL_PREFIX $ENV{HOME}/opt) +set(CMAKE_INSTALL_PREFIX $ENV{HOME}/opt) set(CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}/lib64/pkgconfig ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig) set(LD_LIBRARY_PATH ${CMAKE_INSTALL_PREFIX}/lib64 ${CMAKE_INSTALL_PREFIX}/lib) @@ -149,4 +151,4 @@ set(WIDGET_ENTRY_POINT lib/afb-ucs2.so) # This include is mandatory and MUST happens at the end # of this file, else you expose you to unexpected behavior # ----------------------------------------------------------- -include(${PROJECT_APP_TEMPLATES_DIR}/cmake/common.cmake) +include(${PROJECT_APP_TEMPLATES_DIR}/cmake/common.cmake) \ No newline at end of file diff --git a/conf.d/packaging/debian.changelog b/conf.d/packaging/debian.changelog new file mode 100644 index 0000000..c302c3f --- /dev/null +++ b/conf.d/packaging/debian.changelog @@ -0,0 +1,5 @@ +agl-unicens-agent (0.1-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..ccf6f4c --- /dev/null +++ b/conf.d/packaging/debian.control @@ -0,0 +1,20 @@ +Priority: optional +Maintainer: Fulup, Ar Foll +Source: agl-unicens-agent +Build-Depends: debhelper (>= 5), + pkg-config, + cmake, + gcc, + g++, + libmxml-dev , + libjson-c-dev , + libsystemd-dev (>= 222), + agl-app-framework-binder-dev , + libmicrohttpd-dev (>= 0.9.55) +Standards-Version: 3.8.2 +Homepage: https://github.com/iotbzh/unicens-agent + +Package: agl-unicens-agent +Section: libs +Architecture: any +Description: Expose Microchip UNICENS v2 through AGL AppFw diff --git a/conf.d/packaging/debian.rules b/conf.d/packaging/debian.rules new file mode 100644 index 0000000..b98f7e5 --- /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/UNICENS-agent -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/UNICENS-agent;cd build;make populate;cp -r package/* ../debian/tmp/opt/AGL/UNICENS-agent/ + mkdir -p debian/tmp/etc/profile.d + echo '#---------- AGL UNICENS-agent options Start ---------" ' > debian/tmp/etc/profile.d/AGL_UNICENS-agent.sh + echo '# Object: AGL cmake option for binder/bindings' >> debian/tmp/etc/profile.d/AGL_UNICENS-agent.sh + echo 'export LD_LIBRARY_PATH=/opt/AGL/UNICENS-agent/lib/$(DEB_HOST_MULTIARCH):$$LD_LIBRARY_PATH' >> debian/tmp/etc/profile.d/AGL_UNICENS-agent.sh + echo 'export LIBRARY_PATH=/opt/AGL/UNICENS-agent/lib/$(DEB_HOST_MULTIARCH):$$LIBRARY_PATH' >> debian/tmp/etc/profile.d/AGL_UNICENS-agent.sh + echo 'export PATH=/opt/AGL/UNICENS-agent/bin:$$PATH' >> debian/tmp/etc/profile.d/AGL_UNICENS-agent.sh + echo '#---------- AGL options End ---------' >> debian/tmp/etc/profile.d/AGL_UNICENS-agent.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 diff --git a/conf.d/templates b/conf.d/templates deleted file mode 160000 index 36271aa..0000000 --- a/conf.d/templates +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 36271aa4cb701d635e08ee5c8bd48830bd2d266e -- cgit 1.2.3-korg