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

Reply via email to