VERSION = 3.13.1 REVISION := $(shell ./get_version) RELEASE=1 WORKDIR := $(shell pwd) ifneq ($(origin REVISION),undefined) BUILD := ${VERSION}.${REVISION} else BUILD := ${VERSION} endif PERLMODS = ./perlmods # NOTE: to install into different location use # 'make DESTDIR=/path/to/base' when running any of the options # If changing the destination ensure to run 'make clean' first prefix = /usr/local/nagios/perl #prefix = /opt/opsview/nagios/perl USER = nagios GROUP = nagios INSTALL = tools/install-sh GENERATED = opsview-perl.spec perlmoduledir = $(exec_prefix)/perl all: version expand patching DESTDIR=$(DESTDIR) ./tools/build_perl_modules -d $(prefix) -m ${PERLMODS} expand: DESTDIR=$(DESTDIR) ./tools/build_perl_modules -d $(prefix) -e ${PERLMODS} touch expand reexpand: rm -f expand devexpand $(MAKE) expand devexpand devpatching: # cd perlmods/Test-PerlTidy-20110323 && patch -p1 < ../../patches/Test-PerlTidy-with_excludes.patch # cd perlmods/Test-PerlTidy-20110323 && cp ../../patches/Test-PerlTidy-exclude_files.t t/exclude_files.t # cd perlmods/Test-PerlTidy-20110323 && cp ../../patches/Test-PerlTidy-exclude_perltidy.t t/exclude_perltidy.t # clean up any patch files to stop builds breaking find ${PERLMODS} -name "*.pm.orig" -exec rm -f {} \; -print touch devpatching patching: # Perform any required patching here, i.e. # cd perlmods/SQL_Abstract-[0-9]* && patch -p0 << ../../patches/sql_abstract.patch cd perlmods/Template-Toolkit-[0-9]*[0-9] && cp ../../patches/tt_defaults_file .defaults.cfg cd perlmods/EasyTCP-[0-9]*[0-9] && patch -p0 < ../../patches/Net-EasyTCP_internaldata_before_normal_data_lost.patch cd perlmods/EasyTCP-[0-9]*[0-9] && patch -p0 < ../../patches/Net-EasyTCP_with_bind_address.patch cd perlmods/Net-Dev-MIBLoadOrder-1.1.0 && patch -p0 < ../../patches/mibloadorder_emptydirs.patch cd perlmods/WWW-Mechanize-Timed-[0-9]*[0-9] && patch -p1 < ../../patches/WWW-Mechanize-Timed_compatibility.patch cd perlmods/Catalyst-Runtime-[0-9]*[0-9] && patch -p1 < ../../patches/catalyst_runtime_cgi_port_forwarding.patch cd perlmods/Catalyst-Engine-HTTP-Prefork-[0-9]*[0-9] && patch -p1 < ../../patches/Catalyst-Engine-HTTP-Prefork.patch cd perlmods/Catalyst-Runtime-[0-9]*[0-9] && patch -p1 < ../../patches/Catalyst-Runtime_immediate_fork.patch # Have submitted patch below to cat-dev, but on 2nd thoughts, probably best left elsewhere #cd perlmods/Catalyst-Plugin-I18N-[0-9]*[0-9] && patch -p1 < ../../patches/catalyst_plugin_i18n_languages_list.patch cd perlmods/Class-DBI-v[0-9]*[0-9] && patch -p1 < ../../patches/class_dbi_on_connect_do.patch # Change behaviour back to previous. t/800login.t fails if uses current behaviour # TODO: Understand if it is best as current behaviour with other checks around here to catch the exception cd perlmods/Catalyst-Plugin-Authentication-[0-9]* && patch -p1 < ../../patches/Catalyst-Plugin-Authentication_throw_exception_on_restoreable_failure.patch cd perlmods/Ima-DBI-[0-9]*[0-9] && patch -p1 < ../../patches/ima_dbi_on_connect_do.patch cd perlmods/Statistics-Lite-[0-9]*[0-9] && patch -p1 < ../../patches/Statistics-Lite_ignore_undef_values.patch cd perlmods/DateTime-Format-Duration-DurationString-[0-9]*[0-9] && patch -p1 < ../../patches/DateTime_Format_Duration_DurationString_moose.patch # cd perlmods/Catalyst-Model-HTML-FormFu-[0-9]*[0-9]/ && patch -p1 < ../../patches/Catalyst-Model-HTML-FormFu.patch # cd perlmods/HTML-FormFu-*[0-9] && patch -p1 < ../../patches/HTML-FormFu-Element-_Field.patch ##cd perlmods/Set-Object-*[0-9] && patch -p1 < ../../patches/Set-Object_bug_40356.patch # Below needs re-integration - TODO cd perlmods/HTML-TagCloud-[0-9]*[0-9] && patch -p1 < ../../patches/HTML_TagCloud_anchor_callback.patch cd perlmods/Catalyst-Action-REST-[0-9]*[0-9] && patch -p1 < ../../patches/catalyst_action_rest_safe_eval_extras.patch cd perlmods/Catalyst-Action-REST-[0-9]*[0-9] && patch -p0 < ../../patches/catalyst_action_rest_jsonp_windowname.patch cd perlmods/Catalyst-Action-REST-[0-9]*[0-9] && patch -p0 < ../../patches/catalyst_jsonp_callback.patch # clean up any patch files to stop builds breaking cd perlmods/SNMP_Session-[0-9]*[0-9] && patch -p1 < ../../patches/snmp_session_negative_request_ids.patch cd perlmods/Catalyst-Authentication-Store-LDAP-[0-9]*[0-9] && patch -p1 < ../../patches/catalyst_ldap_find_user_by_name.patch # Below is not necessary due to $$^S in $$SIGDIE - see https://rt.cpan.org/Ticket/Display.html?id=63874 #cd perlmods/DBIx-Class-[0-9]*[0-9] && patch -p1 < ../../patches/dbix_class_with_less_dies.patch cd perlmods/Net-Server-[0-9]*[0-9] && patch -p1 < ../../patches/Net-Server_log4perl_feature.patch cd perlmods/Net-Server-[0-9]*[0-9] && patch -p1 < ../../patches/Net-Server_log4perl_fix_daemon.patch cd perlmods/Catalyst-Runtime-[0-9]*[0-9] && patch -p1 < ../../patches/catalyst_runtime_background_flag.patch # Below in future Catalyst-Runtime cd perlmods/Catalyst-Runtime-[0-9]*[0-9] && patch -p1 < ../../patches/Catalyst-Runtime_detach_from_forwarded_auto_continues_processing.patch # Both below in future version of NRD cd perlmods/NRD-Daemon-[0-9]*[0-9] && patch -p1 < ../../patches/nrd_no_errors_when_testing_connectivity.patch cd perlmods/NRD-Daemon-[0-9]*[0-9] && patch -p0 < ../../patches/nrd_long_check_result_filename.patch cd perlmods/Crypt-SSLeay-[0-9]*[0-9] && patch -p1 < ../../patches/Crypt-SSLeay_solaris_csw_builds.patch cd perlmods/Nagios-Plugin-[0-9]*[0-9] && patch -p1 < ../../patches/Nagios_Plugin_multiple_check_values.patch find ${PERLMODS} -name "*.pm.orig" -exec rm -f {} \; -print touch patching devexpand: DESTDIR=$(DESTDIR) ./tools/build_perl_modules -s dev -d $(prefix) -e ${PERLMODS} touch devexpand dev: devexpand devpatching DESTDIR=$(DESTDIR) ./tools/build_perl_modules -s dev -d $(prefix) -m ${PERLMODS} version: echo ${BUILD} > version opsview-perl.spec: opsview-perl.spec.in perl -pe 's/%VERSION%/${BUILD}/g' opsview-perl.spec.in > opsview-perl.spec opsview-perl: opsview-perl-${BUILD}.tar.gz opsview-perl-${BUILD}.tar.gz: $(MAKE) tar VERSION=${VERSION} tar: opsview-perl.spec version rm -f ../opsview-perl-${BUILD}.tar ../opsview-perl-${BUILD}.tar.gz cd .. && ln -s ${WORKDIR} opsview-perl-${BUILD} cd .. && tar --gzip -h -cf opsview-perl-${BUILD}.tar.gz --exclude=.svn --exclude=opsview-perl-[0-9\.].tar.gz opsview-perl-${BUILD} mv ../opsview-perl-${BUILD}.tar.gz . rm ../opsview-perl-${BUILD} debpkg: cp debian/changelog.in debian/changelog dch --newversion="${BUILD}-${RELEASE}`lsb_release -cs`1" "Auto generated" dpkg-buildpackage -I.svn -i.svn -rfakeroot -uc -us solpkg: mksolpkg -b # Don't run test-debug differently here yet test: true #DESTDIR=$(DESTDIR) ./tools/build_perl_modules -d $(prefix) -t ${PERLMODS} dev-test: DESTDIR=$(DESTDIR) ./tools/build_perl_modules -s dev -d $(prefix) -t ${PERLMODS} reinstall: rm perlmods/*/installed make install install: $(INSTALL) -d -o ${USER} -g ${GROUP} -m 0775 $(DESTDIR)$(prefix) DESTDIR=${DESTDIR} ./tools/build_perl_modules -d $(prefix) -i ${PERLMODS} dev-install: DESTDIR=$(DESTDIR) ./tools/build_perl_modules -s dev -d $(prefix) -i ${PERLMODS} post-install-test: PERL5LIB=$(prefix)/lib prove -t t/*.t update_all: ./tools/update_mods ${PERLMODS} update_dev: ./tools/update_mods -s dev ${PERLMODS} clean: rm -f expand patching devpatching devexpand ./tools/update_mods -x ${PERLMODS} rm -f opsview-perl.spec rm -f debian/build/build-* rm -f build-stamp configure-stamp rm -rf debian/opsview-perl rm -f ../opsview-perl-[0-9]*.tar ../opsview-perl-[0-9]*.tar.gz rm -f opsview-perl-[0-9]*.tar opsview-perl-[0-9]*.tar.gz ( cd .. && test -h opsview-perl-[0-9]* && rm opsview-perl-[0-9]* ) || true DESTDIR=$(DESTDIR) ./tools/build_perl_modules -d $(prefix) -c ${PERLMODS} DESTDIR=$(DESTDIR) ./tools/build_perl_modules -s dev -d $(prefix) -c ${PERLMODS} rm -rf ${PERLMODS}/*[0-9] # catch older version dirs too svnclean: tools/delete_svn_unknowns .PHONY: version