From fbc5ea2207be7c8f3200de6c14ee8729c723c2fb Mon Sep 17 00:00:00 2001 From: Ronan Le Martret Date: Wed, 7 Jun 2017 14:49:12 +0200 Subject: fix local rpm build Signed-off-by: Ronan Le Martret --- README.md | 6 ++-- conf.d/.gitignore | 1 + conf.d/packaging/rpm-unicens-agent.spec | 43 --------------------------- conf.d/packaging/unicens-agent.spec | 52 +++++++++++++++++++++++++++++++++ conf.d/templates/cmake/common.cmake | 7 +++-- conf.d/templates/rpm/rpm-config.spec.in | 19 ++++++++---- 6 files changed, 74 insertions(+), 54 deletions(-) create mode 100644 conf.d/.gitignore delete mode 100644 conf.d/packaging/rpm-unicens-agent.spec create mode 100644 conf.d/packaging/unicens-agent.spec diff --git a/README.md b/README.md index bf82f3f..2610ed9 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ AFB_daemon dependency on Standard Linux Distributions libopenssl-devel libgcrypt-devel libgnutls-devel (optional but requested by libmicrohttpd for https) OpenSuse >=42.2 - zypper in gcc5 gdb gcc5-c++ git make ElectricFence systemd-devel libopenssl-devel libuuid-devel alsa-devel libgcrypt-devel libgnutls-devel libjson-c-devel file-devel mxml-devel + zypper in gcc5 gdb gcc5-c++ git cmake make ElectricFence systemd-devel libopenssl-devel libuuid-devel alsa-devel libgcrypt-devel libgnutls-devel libjson-c-devel file-devel mxml-devel Ubuntu >= 16.4 libuuid-devel apt-get install cmake git electric-fence libsystemd-dev libssl-dev uuid-dev libasound2-dev libgcrypt20-dev libgnutls-dev libgnutls-dev libjson-c-dev libmagic-dev libmxml-dev @@ -53,7 +53,7 @@ AFB_daemon dependency on Standard Linux Distributions git clone https://gerrit.automotivelinux.org/gerrit/src/app-framework-binder # Warning: previous GCC options should be set before initial cmake (clean Build/*) - cd app-framework-binder; mkdir build; cd build + cd app-framework-binder; mkdir -p build; cd build cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX .. make make install @@ -64,7 +64,7 @@ AFB_daemon dependency on Standard Linux Distributions ``` source ~/.bashrc # or any other file where your have place your compilation preferences - mkdir build + mkdir -p build cd build cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX .. make diff --git a/conf.d/.gitignore b/conf.d/.gitignore new file mode 100644 index 0000000..335ec95 --- /dev/null +++ b/conf.d/.gitignore @@ -0,0 +1 @@ +*.tar.gz diff --git a/conf.d/packaging/rpm-unicens-agent.spec b/conf.d/packaging/rpm-unicens-agent.spec deleted file mode 100644 index 3942fbc..0000000 --- a/conf.d/packaging/rpm-unicens-agent.spec +++ /dev/null @@ -1,43 +0,0 @@ -########################################################################### -# 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: unicens-agent -Version: 0.1 -Release: 1 -License: Apache-V2 -Summary: Expose MicroChip UnicensV2 through AGL AppFw -Url: https://github.com/iotbzh/unicens-agent - -Provides: unicens-agent -Prefix: /opt/unicens-agent -BuildRequires: pkg-config , pkgconfig(libsystemd>=222), pkgconfig(libmicrohttpd>=0.9.54), pkgconfig(afb-daemon), pkgconfig(json-c), pkgconfig(mxml) - -BuildRoot:/home/fulup/Workspace/AGL-AppFW/unicens2-binding/build - -%description -Expose MicroChip UnicensV2 through AGL AppFw - -%prep - -%build -(mkdir -p build; cd build; cmake ..; make) - -%install -(cd build; make populate DESTDIR=%{buildroot}) - diff --git a/conf.d/packaging/unicens-agent.spec b/conf.d/packaging/unicens-agent.spec new file mode 100644 index 0000000..09a1fae --- /dev/null +++ b/conf.d/packaging/unicens-agent.spec @@ -0,0 +1,52 @@ +########################################################################### +# 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: unicens-agent +Version: 0.1 +Release: 1 +License: Apache-V2 +Summary: Expose MicroChip UnicensV2 through AGL AppFw +Url: https://github.com/iotbzh/unicens-agent +Source0: %{name}_%{version}.orig.tar.gz + +Prefix: /opt/unicens-agent +BuildRequires: cmake +BuildRequires: gcc gcc-c++ +BuildRequires: , pkgconfig(libsystemd), pkgconfig(libmicrohttpd), pkgconfig(afb-daemon), pkgconfig(json-c), pkgconfig(mxml) + +BuildRoot:%{_tmppath}/%{name}-%{version}-build + +%description +Expose MicroChip UnicensV2 through AGL AppFw + +%prep +%setup -q + +%build +%cmake -DBINDINGS_INSTALL_PREFIX:PATH=%{_libdir} +%__make %{?_smp_mflags} + +%install +[ -d build ] && cd build +%make_install + +%files +%defattr(-,root,root) +%dir %{_prefix}/* +%{_prefix}/*/* diff --git a/conf.d/templates/cmake/common.cmake b/conf.d/templates/cmake/common.cmake index 25a665d..b46e809 100644 --- a/conf.d/templates/cmake/common.cmake +++ b/conf.d/templates/cmake/common.cmake @@ -207,11 +207,12 @@ macro(rpm_package_build) endforeach() # build rpm spec file from template - configure_file(${RPM_TEMPLATE_DIR}/rpm-config.spec.in ${SPEC_DIR}/rpm-${PROJECT_NAME}.spec) + configure_file(${RPM_TEMPLATE_DIR}/rpm-config.spec.in ${SPEC_DIR}/${PROJECT_NAME}.spec) add_custom_command(OUTPUT ${PROJECT_NAME}.rpm DEPENDS ${PROJECT_TARGETS} - COMMAND rpmbuild -ba ${SPEC_DIR}/rpm-${PROJECT_NAME}.spec + COMMAND git --git-dir=${CMAKE_CURRENT_SOURCE_DIR}/.git archive --format=tar.gz --prefix=${PROJECT_NAME}-${PROJECT_VERSION}/ HEAD -o ${SPEC_DIR}/${PROJECT_NAME}_${PROJECT_VERSION}.orig.tar.gz + COMMAND rpmbuild --define=\"%_sourcedir ${SPEC_DIR}\" -ba ${SPEC_DIR}/${PROJECT_NAME}.spec ) add_custom_target(rpm DEPENDS ${PROJECT_NAME}.rpm) @@ -379,4 +380,4 @@ macro(project_closing_msg) endmacro() # Add RSYSTARGET -remote_targets_populate() \ No newline at end of file +remote_targets_populate() diff --git a/conf.d/templates/rpm/rpm-config.spec.in b/conf.d/templates/rpm/rpm-config.spec.in index dce9c22..950c9d2 100644 --- a/conf.d/templates/rpm/rpm-config.spec.in +++ b/conf.d/templates/rpm/rpm-config.spec.in @@ -23,21 +23,30 @@ Release: 1 License: @PROJECT_LICENCE@ Summary: @PROJECT_DESCRIPTION@ Url: @PROJECT_URL@ +Source0: %{name}_%{version}.orig.tar.gz -Provides: @PROJECT_NAME@ Prefix: /opt/@PROJECT_NAME@ -BuildRequires: pkg-config @RPM_PKG_DEPS@ +BuildRequires: cmake +BuildRequires: gcc gcc-c++ +BuildRequires: @RPM_PKG_DEPS@ -BuildRoot:@CMAKE_CURRENT_BINARY_DIR@ +BuildRoot:%{_tmppath}/%{name}-%{version}-build %description @PROJECT_DESCRIPTION@ %prep +%setup -q %build -(mkdir -p build; cd build; cmake ..; make) +%cmake -DBINDINGS_INSTALL_PREFIX:PATH=%{_libdir} +%__make %{?_smp_mflags} %install -(cd build; make populate DESTDIR=%{buildroot}) +[ -d build ] && cd build +%make_install +%files +%defattr(-,root,root) +%dir %{_prefix}/* +%{_prefix}/*/* -- cgit 1.2.3-korg