From 1b55141645578f554abe3167fb6bea1b52120056 Mon Sep 17 00:00:00 2001 From: Nathaniel Clark Date: Tue, 8 Jan 2019 16:42:33 -0500 Subject: [PATCH] Allow easier rpm building (#60) Package all neccissary sources in package build with setup.py sdist, to build rpm. Allow rpmbuild -ta iml-agent-$VERSION.tar.gz Add Makefile to allow "make rpms" to work Signed-off-by: Nathaniel Clark --- .gitignore | 1 + MANIFEST.in | 5 +++++ Makefile | 18 ++++++++++++++++++ python-iml-agent.spec | 17 ++++++----------- 4 files changed, 30 insertions(+), 11 deletions(-) create mode 100644 Makefile diff --git a/.gitignore b/.gitignore index 7516ed4..0a60d9b 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ chroma_agent.egg-info/ _topdir/ tags settings.json +*.rpm diff --git a/MANIFEST.in b/MANIFEST.in index 5de2a36..f47d6af 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,6 +2,11 @@ include LICENSE.txt include Target include ZFS include logrotate.cfg +include chroma-agent.service +include 50-chroma-agent.preset +include iml-storage-server.target +include 10-device-scanner.target.conf +include python-iml-agent.spec include chroma_agent/templates/corosync.conf include chroma_agent/templates/ifcfg-nic include chroma_agent/templates/chroma-copytool diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e91dc57 --- /dev/null +++ b/Makefile @@ -0,0 +1,18 @@ +rpms:: + rm -rf _topdir *.rpm + mkdir -p _topdir/SOURCES/ + python setup.py sdist -d _topdir/SOURCES/ + rpmbuild -ba -D "%_topdir ${PWD}/_topdir" python-iml-agent.spec + cp -l _topdir/RPMS/*/*.rpm ./ + +repo:: rpms + (cd _topdir/RPMS; createrepo .) + +clean:: + python setup.py clean + rm -f *~ + +extraclean:: clean + python setup.py clean --all + rm -rf _topdir/ dist/ + rm -f *.rpm diff --git a/python-iml-agent.spec b/python-iml-agent.spec index a64e427..b12e278 100644 --- a/python-iml-agent.spec +++ b/python-iml-agent.spec @@ -20,11 +20,6 @@ Summary: IML Agent License: MIT URL: https://pypi.python.org/pypi/%{pypi_name} Source0: %{source} -Source1: %{unit_name} -Source2: 50-chroma-agent.preset -Source3: logrotate.cfg -Source4: iml-storage-server.target -Source5: 10-device-scanner.target.conf Group: Development/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Prefix: %{_prefix} @@ -103,15 +98,15 @@ rm -rf %{buildroot} mkdir -p $RPM_BUILD_ROOT/usr/sbin/ mv $RPM_BUILD_ROOT/usr/{,s}bin/fence_chroma mv $RPM_BUILD_ROOT/usr/{,s}bin/chroma-copytool-monitor -mkdir -p %{buildroot}%{_unitdir}/ +mkdir -p %{buildroot}%{_unitdir}/device-scanner.target.d/ +install -m 644 %{unit_name} %{buildroot}%{_unitdir}/ +install -m 644 iml-storage-server.target %{buildroot}%{_unitdir}/iml-storage-server.target +install -m 644 10-device-scanner.target.conf %{buildroot}%{_unitdir}/device-scanner.target.d/10-device-scanner.target.conf mkdir -p %{buildroot}%{_presetdir} -install -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/ -install -m 644 %{SOURCE2} %{buildroot}%{_presetdir}/ +install -m 644 50-chroma-agent.preset %{buildroot}%{_presetdir}/ mkdir -p $RPM_BUILD_ROOT/etc/{init,logrotate}.d/ -install -m 644 %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/chroma-agent -install -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/iml-storage-server.target +install -m 644 logrotate.cfg $RPM_BUILD_ROOT/etc/logrotate.d/chroma-agent mkdir -p %{buildroot}%{_unitdir}/device-scanner.target.d/ -install -m 644 %{SOURCE5} %{buildroot}%{_unitdir}/device-scanner.target.d/10-device-scanner.target.conf touch management.files cat <>management.files