Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Add an admittedly poor RPM spec to build an admittedly poor RPM.

Fixes welcome...
  • Loading branch information...
commit 300486fd2e9b67cb42410b17a4bfd16ce12da253 1 parent 5aeb55e
@jschauma authored
Showing with 96 additions and 0 deletions.
  1. +18 −0 rpm/build
  2. +78 −0 rpm/scanmaster.spec
View
18 rpm/build
@@ -0,0 +1,18 @@
+#!/bin/sh
+#
+# A silly little helper script to build the RPM.
+set -e
+
+name=${1:?"Usage: build <toolname>"}
+sourcedir=$(rpm --showrc | awk '/sourcedir/ { print $NF }')
+rpmdir="$(rpm --showrc | awk '/^rpmdir/ { print $NF }')/noarch"
+version=$(awk '/define version/ { print $NF }' ${name}.spec)
+tdir=${TMPDIR:-/tmp}/${name}-${version}
+mkdir -p ${tdir}
+echo "=> Copying sources..."
+( cd .. && pax -rw . ${tdir}/ )
+echo "=> Creating source tarball under ${sourcedir}..."
+( cd ${tdir}/.. && tar zcf ${sourcedir}/${name}-${version}.tar.gz ${name}-${version} )
+echo "=> Building RPM..."
+rpm --quiet --buildarch noarch --clean -bb ${name}.spec
+echo "=> RPM built: ${rpmdir}/$(ls -rt ${rpmdir} | tail -1)"
View
78 rpm/scanmaster.spec
@@ -0,0 +1,78 @@
+%define name scanmaster
+%define release 1
+%define version 3.3.0
+%define mybuilddir %{builddir}/%{name}-%{version}-root
+
+BuildRoot: %{mybuilddir}
+Summary: the scanmaster suite of scripts
+License: BSD
+Name: %{name}
+Version: %{version}
+Release: %{release}
+Source: %{name}-%{version}.tar.gz
+Prefix: /usr
+Group: Development/Tools
+
+Requires: expect python
+
+%description
+scanmaster is a set of scripts that allow you to ssh to a very large
+number of hosts in parallel to run an arbitrary script on the remote side.
+It works best if the scans can take advantage of a set of scanslave nodes
+with access to shared NFS space, though that is not a hard requirement.
+
+This is an admittedly poor RPM. Fixes and corrections would be most
+welcome. Please contact jschauma@netmeister.org.
+
+%prep
+%setup -q
+
+%build
+mkdir -p %{mybuilddir}/usr/local/bin
+mkdir -p %{mybuilddir}/usr/local/share/man/man1
+mkdir -p %{mybuilddir}/usr/local/share/scanmaster/helpers
+
+%install
+install -c -m 555 src/autopw %{mybuilddir}/usr/local/bin/autopw
+install -c -m 555 src/checkhosts %{mybuilddir}/usr/local/bin/checkhosts
+install -c -m 555 src/scanhosts %{mybuilddir}/usr/local/bin/scanhosts
+install -c -m 555 src/scanmaster %{mybuilddir}/usr/local/bin/scanmaster
+install -c -m 555 src/scanslave %{mybuilddir}/usr/local/bin/scanslave
+install -c -m 555 src/tkill.py %{mybuilddir}/usr/local/bin/tkill
+
+install -c -m 555 helpers/generic-aggregator %{mybuilddir}/usr/local/share/scanmaster/helpers/generic-aggregator
+install -c -m 555 helpers/generic-post %{mybuilddir}/usr/local/share/scanmaster/helpers/generic-post
+
+install -c -m 444 doc/autopw.1 %{mybuilddir}/usr/local/share/man/man1/autopw.1
+install -c -m 444 doc/checkhosts.1 %{mybuilddir}/usr/local/share/man/man1/checkhosts.1
+install -c -m 444 doc/scanhosts.1 %{mybuilddir}/usr/local/share/man/man1/scanhosts.1
+install -c -m 444 doc/scanmaster.1 %{mybuilddir}/usr/local/share/man/man1/scanmaster.1
+install -c -m 444 doc/scanslave.1 %{mybuilddir}/usr/local/share/man/man1/scanslave.1
+install -c -m 444 doc/tkill.1 %{mybuilddir}/usr/local/share/man/man1/tkill.1
+
+install -c -m 444 CHANGES %{mybuilddir}/usr/local/share/scanmaster/CHANGES
+install -c -m 444 LICENSE %{mybuilddir}/usr/local/share/scanmaster/LICENSE
+install -c -m 444 README %{mybuilddir}/usr/local/share/scanmaster/README
+
+%files
+%defattr(0444,root,root)
+%attr(0555,root,root) /usr/local/bin/autopw
+%attr(0555,root,root) /usr/local/bin/checkhosts
+%attr(0555,root,root) /usr/local/bin/scanhosts
+%attr(0555,root,root) /usr/local/bin/scanmaster
+%attr(0555,root,root) /usr/local/bin/scanslave
+%attr(0555,root,root) /usr/local/bin/tkill
+
+%attr(0555,root,root) /usr/local/share/scanmaster/helpers/generic-aggregator
+%attr(0555,root,root) /usr/local/share/scanmaster/helpers/generic-post
+
+%doc /usr/local/share/man/man1/autopw.1
+%doc /usr/local/share/man/man1/checkhosts.1
+%doc /usr/local/share/man/man1/scanhosts.1
+%doc /usr/local/share/man/man1/scanmaster.1
+%doc /usr/local/share/man/man1/scanslave.1
+%doc /usr/local/share/man/man1/tkill.1
+
+%doc /usr/local/share/scanmaster/CHANGES
+%doc /usr/local/share/scanmaster/LICENSE
+%doc /usr/local/share/scanmaster/README
Please sign in to comment.
Something went wrong with that request. Please try again.