From: Ronan Le Martret Date: Wed, 7 Jun 2017 12:49:12 +0000 (+0200) Subject: fix local rpm build X-Git-Tag: 4.99.3~71^2 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=fbc5ea2207be7c8f3200de6c14ee8729c723c2fb;p=apps%2Fagl-service-unicens.git fix local rpm build Signed-off-by: Ronan Le Martret --- 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/unicens-agent.spec similarity index 70% rename from conf.d/packaging/rpm-unicens-agent.spec rename to conf.d/packaging/unicens-agent.spec index 3942fbc..09a1fae 100644 --- a/conf.d/packaging/rpm-unicens-agent.spec +++ b/conf.d/packaging/unicens-agent.spec @@ -23,21 +23,30 @@ 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 -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) +BuildRequires: cmake +BuildRequires: gcc gcc-c++ +BuildRequires: , pkgconfig(libsystemd), pkgconfig(libmicrohttpd), pkgconfig(afb-daemon), pkgconfig(json-c), pkgconfig(mxml) -BuildRoot:/home/fulup/Workspace/AGL-AppFW/unicens2-binding/build +BuildRoot:%{_tmppath}/%{name}-%{version}-build %description Expose MicroChip UnicensV2 through AGL AppFw %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}/*/* 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}/*/*