fix local rpm build
authorRonan Le Martret <ronan.lemartret@iot.bzh>
Wed, 7 Jun 2017 12:49:12 +0000 (14:49 +0200)
committerRonan Le Martret <ronan.lemartret@iot.bzh>
Wed, 7 Jun 2017 12:49:12 +0000 (14:49 +0200)
Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
README.md
conf.d/.gitignore [new file with mode: 0644]
conf.d/packaging/unicens-agent.spec [moved from conf.d/packaging/rpm-unicens-agent.spec with 70% similarity]
conf.d/templates/cmake/common.cmake
conf.d/templates/rpm/rpm-config.spec.in

index bf82f3f..2610ed9 100644 (file)
--- 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 (file)
index 0000000..335ec95
--- /dev/null
@@ -0,0 +1 @@
+*.tar.gz
similarity index 70%
rename from conf.d/packaging/rpm-unicens-agent.spec
rename to conf.d/packaging/unicens-agent.spec
index 3942fbc..09a1fae 100644 (file)
@@ -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}/*/*
index 25a665d..b46e809 100644 (file)
@@ -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()
index dce9c22..950c9d2 100644 (file)
@@ -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}/*/*