aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonan Le Martret <ronan.lemartret@iot.bzh>2017-06-07 14:49:12 +0200
committerRonan Le Martret <ronan.lemartret@iot.bzh>2017-06-07 14:49:12 +0200
commitfbc5ea2207be7c8f3200de6c14ee8729c723c2fb (patch)
treee58fa59771825187d1030be6b2adeb30ac3890f9
parentb19816ca72db0dd66d820dc2afaa3a5c0cc67fa0 (diff)
fix local rpm build
Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
-rw-r--r--README.md6
-rw-r--r--conf.d/.gitignore1
-rw-r--r--conf.d/packaging/unicens-agent.spec (renamed from conf.d/packaging/rpm-unicens-agent.spec)19
-rw-r--r--conf.d/templates/cmake/common.cmake7
-rw-r--r--conf.d/templates/rpm/rpm-config.spec.in19
5 files changed, 36 insertions, 16 deletions
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
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}/*/*