Title: [opsview-base] [11] prepare opsview-base as standalone package
- Revision
- 11
- Author
- aburzynski
- Date
- 2012-07-30 13:41:03 +0100 (Mon, 30 Jul 2012)
Log Message
prepare opsview-base as standalone package
Modified Paths
Added Paths
Removed Paths
Modified: trunk/Makefile
===================================================================
--- trunk/Makefile 2012-07-30 12:32:22 UTC (rev 10)
+++ trunk/Makefile 2012-07-30 12:41:03 UTC (rev 11)
@@ -22,9 +22,51 @@
# If you run "make install DESTDIR=/tmp/build", then will install files into /tmp/build for packaging
# Check that /usr/local/nagios does not have any files in there
-# Expects VERSION to be set
-RELEASE = 1
+VERSION = 4.2.0
+REVISION := $(shell ./utils/get_version)
+RELEASE=1
+WORKDIR := $(shell pwd)
+ifneq ($(origin REVISION),undefined)
+ BUILD := ${VERSION}.${REVISION}
+else
+ BUILD := ${VERSION}
+endif
+
+ARCH = $(shell uname -m)
+DIST = $(shell lsb_release -si)
+DISTRIB = $(shell echo $$os | sed -e 's/^rh//' -e 's/centos/ct/')
+IS_LINUX = 0
+
+# Do calculations for build purposes
+ifeq ($(DIST),Debian)
+ PACKAGE_MACRO=debpkg
+ PACKAGE_UPLOAD_FILES=../*.deb ../*.changes
+ IS_LINUX=1
+else ifeq ($(DIST),Ubuntu)
+ PACKAGE_MACRO=debpkg
+ PACKAGE_UPLOAD_FILES=../*.deb ../*.changes
+ IS_LINUX=1
+else ifeq ($(DIST),RedHatEnterpriseServer)
+ PACKAGE_MACRO=rpmpkg
+ PACKAGE_UPLOAD_FILES=${WORKDIR}/rpmbuild-files/*/opsview-base-*.rpm ${WORKDIR}/rpmbuild-files/*/*/opsview-base-*.rpm
+ RPMBUILD_DEFINE_EXTRA=--define "rhel_version 1"
+ IS_LINUX=1
+else ifeq ($(DIST),CentOS)
+ PACKAGE_MACRO=rpmpkg
+ PACKAGE_UPLOAD_FILES=${WORKDIR}/rpmbuild-files/*/opsview-base-*.rpm ${WORKDIR}/rpmbuild-files/*/*/opsview-base-*.rpm
+ RPMBUILD_DEFINE_EXTRA=--define "centos_version 1"
+ IS_LINUX=1
+else ifeq ($(DIST),SUSE LINUX)
+ PACKAGE_MACRO=rpmpkg
+ PACKAGE_UPLOAD_FILES=${WORKDIR}/rpmbuild-files/*/opsview-base-*.rpm ${WORKDIR}/rpmbuild-files/*/*/opsview-base-*.rpm
+ IS_LINUX=1
+else # Catches Solaris
+ PACKAGE_MACRO=solpkg
+ PACKAGE_UPLOAD_FILES=${WORKDIR}/opsview-base-*.pkg.gz
+endif
+
+
NAGIOS = nagios-3.2.3
NAGIOSPLUG = nagios-plugins-1.4.15
NAGIOSPLUG_CONFIGURE_PERL_MODULES = --enable-perl-modules
@@ -169,7 +211,7 @@
$(MAKE) install
version:
- perl -pe 's/%VERSION%/${VERSION}/g;' [email protected] > $@
+ echo ${BUILD} > version
debpkg:
cp debian/changelog.in debian/changelog
@@ -183,7 +225,7 @@
mksolpkg -b -s /tmp/opsview-base
rpmpkg: tar
- sudo rpmbuild -ta --clean ../opsview-base-${VERSION}.tar.gz
+ sudo rpmbuild -ta --clean ../opsview-base-${BUILD}.tar.gz
allmibs.tar.gz:
cd mibs && tar --gzip -cf ../allmibs.tar.gz *
@@ -207,24 +249,24 @@
${INSTALL} -d -o $(NAGIOS_USER) -g $(NAGIOS_GROUP) -m 0775 ${DESTDIR}/${LIB_DIR}
tar: opsview-base.spec
- if [ x${VERSION} = "x" ] ; then echo "Need version" ; false; fi
+ if [ x${BUILD} = "x" ] ; then echo "Need version" ; false; fi
$(MAKE) clean
$(MAKE) opsview-base.spec version
- rm -f ../opsview-base-${VERSION}
- cd .. && ln -s opsview-base opsview-base-${VERSION}
- cd .. && tar -h -cf opsview-base-${VERSION}.tar --exclude=.svn --exclude=".git*" --exclude=windows_agent_pkg opsview-base-${VERSION}
- cd .. && gzip -f opsview-base-${VERSION}.tar
- cd .. && rm opsview-base-${VERSION}
+ rm -f ../opsview-base-${BUILD}
+ cd .. && ln -s opsview-base opsview-base-${BUILD}
+ cd .. && tar -h -cf opsview-base-${BUILD}.tar --exclude=.svn --exclude=".git*" --exclude=windows_agent_pkg opsview-base-${BUILD}
+ cd .. && gzip -f opsview-base-${BUILD}.tar
+ cd .. && rm opsview-base-${BUILD}
agent-tar: opsview-agent.spec
- if [ x${VERSION} = "x" ] ; then echo "Need version" ; false; fi
+ if [ x${BUILD} = "x" ] ; then echo "Need version" ; false; fi
$(MAKE) clean
$(MAKE) opsview-agent.spec version
- rm -f ../opsview-agent-${VERSION}
- cd .. && ln -s opsview-base opsview-agent-${VERSION}
- cd .. && tar -h -cf opsview-agent-${VERSION}.tar --exclude=.svn --exclude=".git*" opsview-agent-${VERSION}
- cd .. && gzip opsview-agent-${VERSION}.tar
- cd .. && rm opsview-agent-${VERSION}
+ rm -f ../opsview-agent-${BUILD}
+ cd .. && ln -s opsview-base opsview-agent-${BUILD}
+ cd .. && tar -h -cf opsview-agent-${BUILD}.tar --exclude=.svn --exclude=".git*" opsview-agent-${BUILD}
+ cd .. && gzip opsview-agent-${BUILD}.tar
+ cd .. && rm opsview-agent-${BUILD}
agent: ${NAGIOSPLUG} ${NRPE} nrpe.cfg
@@ -312,10 +354,10 @@
$(MAKE) DESTDIR=${DESTDIR} nrpe.cfg-install
opsview-base.spec: opsview-base.spec.in
- perl -pe 's/%VERSION%/${VERSION}/g; s/%RELEASE%/${RELEASE}/g' opsview-base.spec.in > opsview-base.spec
+ perl -pe 's/%VERSION%/${BUILD}/g; s/%RELEASE%/${RELEASE}/g' opsview-base.spec.in > opsview-base.spec
opsview-agent.spec: opsview-agent.spec.in
- perl -pe 's/%VERSION%/${VERSION}/g; s/%RELEASE%/${RELEASE}/g' opsview-agent.spec.in > opsview-agent.spec
+ perl -pe 's/%VERSION%/${BUILD}/g; s/%RELEASE%/${RELEASE}/g' opsview-agent.spec.in > opsview-agent.spec
nagios: ${NAGIOS}
@@ -969,5 +1011,4 @@
uninstall:
build-aux/fladmin -r ${DESTDIR} uninstall filelist
-# We remove this so that the version file is only generated once
-#.PHONY: version
+.PHONY: version
Added: trunk/utils/get_version
===================================================================
--- trunk/utils/get_version (rev 0)
+++ trunk/utils/get_version 2012-07-30 12:41:03 UTC (rev 11)
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+#
+# small script to get svn version number out of either svn or git local
+# repository, depending on how code has been checked out
+#
+use strict;
+use warnings;
+use Cwd;
+
+if ( -d cwd() . '/.svn' ) {
+ my $svnrevision = qx/ svnversion . /;
+ chomp($svnrevision);
+
+ if ( $svnrevision !~ m/exported/xsm ) {
+ $svnrevision =~ s/.*://;
+ $svnrevision =~ s/M//;
+ print $svnrevision, $/;
+ }
+
+}
+elsif ( -d cwd() . '/.git' ) {
+
+ my @svnlog = qx/git svn log --limit=1/;
+ my ($revision) = $svnlog[1] =~ m/^r(\d+)\s/xsm;
+
+ if ( !$revision ) {
+ die 'Unable to parse revision number out of git', $/;
+ }
+ print $revision, $/;
+
+}
+else {
+ print '0', $/;
+}
Property changes on: trunk/utils/get_version
___________________________________________________________________
Added: svn:executable
+ *
Deleted: trunk/version.in
===================================================================
--- trunk/version.in 2012-07-30 12:32:22 UTC (rev 10)
+++ trunk/version.in 2012-07-30 12:41:03 UTC (rev 11)
@@ -1 +0,0 @@
-%VERSION%
_______________________________________________
Opsview-checkins mailing list
[email protected]
http://lists.opsview.org/lists/listinfo/opsview-checkins