Skip to content

Commit 7b0f53c

Browse files
committed
pcp2ganglia: make the build conditional on the Perl RRDs package being available
Really for Debian, needs back-porting to PCP 6.3.9 (I guess).
1 parent 9d792b4 commit 7b0f53c

10 files changed

Lines changed: 1170 additions & 1798 deletions

File tree

configure

Lines changed: 1132 additions & 1789 deletions
Large diffs are not rendered by default.

configure.ac

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1295,6 +1295,22 @@ AS_IF([test "x$do_perl" != "xno"], [
12951295
AC_SUBST(pcp_perl_prog)
12961296
AC_SUBST(have_perl)
12971297

1298+
dnl check for additional Perl modules for optional components
1299+
have_perl_rrds=false
1300+
if $have_perl
1301+
then
1302+
dnl RRDs module for ganglia2pcp
1303+
AC_MSG_CHECKING([if Perl RRDs module is installed])
1304+
$pcp_perl_prog -e "use RRDs" 2>/dev/null
1305+
if test $? -eq 0; then
1306+
have_perl_rrds=true
1307+
AC_MSG_RESULT([yes])
1308+
else
1309+
AC_MSG_RESULT([no])
1310+
fi
1311+
fi
1312+
AC_SUBST(have_perl_rrds)
1313+
12981314
AC_MSG_CHECKING([if the SNMP PMDA should be included])
12991315
pmda_snmp=false
13001316
AS_IF([test "x$do_pmdasnmp" = "xyes"], [pmda_snmp=true])

debian/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
pcp/
2+
pcp-import-ganglia2pcp.install
23
pcp-testsuite.install
34
pcp.preinst
45
pcp.preinst.head

debian/GNUmakefile

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,16 +115,15 @@ LDIRT = *.debhelper *.substvars *.log pcp files pcp.postrm \
115115
$(PCPIMPORTSAR) $(PCPIMPORTMRTG) $(PCPIMPORTSHEET) $(PCPIMPORTIOSTAT) \
116116
$(PCPIMPORTCOLLECTL) $(PCPIMPORTGANGLIA)
117117

118-
default: pcp.preinst pcp.postinst pcp.postrm rules pcp-gui.install
118+
default: pcp.preinst pcp.postinst pcp.postrm rules pcp-gui.install \
119+
pcp-testsuite.install pcp-import-ganglia2pcp.install
119120

120121
include $(BUILDRULES)
121122

122123
install: default
123-
cp pcp-testsuite.install.in pcp-testsuite.install
124124
ifeq ($(ENABLE_SYSTEMD),true)
125125
$(INSTALL) -m 644 pcp.sysusers $(PCP_SYSTEMDSYSUSERS_DIR)/pcp.conf
126126
$(INSTALL) -m 644 pcp-testsuite.sysusers $(PCP_SYSTEMDSYSUSERS_DIR)/pcp-testsuite.conf
127-
echo "usr/lib/sysusers.d/pcp-testsuite.conf" >>pcp-testsuite.install
128127
endif
129128
ifeq ($(PACKAGE_DISTRIBUTION), debian)
130129
$(INSTALL) -m 755 -d $(LINTDIR)
@@ -344,6 +343,19 @@ ifeq "$(ENABLE_QT3D)" "true"
344343
cat pcp-gui.install.pmview >>pcp-gui.install
345344
endif
346345

346+
# *.install files that have optional parts
347+
#
348+
pcp-testsuite.install: pcp-testsuite.install.in
349+
cp pcp-testsuite.install.in pcp-testsuite.install
350+
ifeq ($(ENABLE_SYSTEMD),true)
351+
echo "usr/lib/sysusers.d/pcp-testsuite.conf" >>pcp-testsuite.install
352+
endif
353+
pcp-import-ganglia2pcp.install: pcp-import-ganglia2pcp.install.in
354+
cp pcp-import-ganglia2pcp.install.in pcp-import-ganglia2pcp.install
355+
ifeq ($(HAVE_PERL_RRDs),true)
356+
echo "usr/bin/ganglia2pcp" >>pcp-import-ganglia2pcp.install
357+
endif
358+
347359
# only make control from control.* pieces in Makepkgs build
348360
#
349361
control:

debian/control.pcp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Homepage: https://pcp.io
55
Maintainer: PCP Development Team <pcp@groups.io>
66
Uploaders: Nathan Scott <nathans@debian.org>, Ken McDonell <kenj@kenj.id.au>
77
Rules-Requires-Root: no
8-
Build-Depends: bison, flex, gawk, procps, pkg-config, debhelper (>= 5), ?{perl (>= 5.6)}, libreadline-dev | libreadline5-dev | libreadline-gplv2-dev, chrpath, libbsd-dev [kfreebsd-any], libkvm-dev [kfreebsd-any], ?{python-all}, ?{python-dev}, python3-dev, python3-setuptools, libsasl2-dev, ?{libuv1-dev}, ?{libssl-dev}, libavahi-common-dev, ?{qt-dev}, autotools-dev, zlib1g-dev, autoconf, ?{libclass-dbi-perl}, ?{libdbd-mysql-perl}, ?{python-psycopg2}, ?{python-openpyxl}, ?{dh-python}, ?{libpfm4-dev}, libncurses5-dev, ?{python-six}, ?{python-requests}, ?{libextutils-autoinstall-perl}, ?{libxml-tokeparser-perl}, ?{librrds-perl}, ?{libjson-perl}, ?{libwww-perl}, ?{libnet-snmp-perl}, ?{liblzma-dev}, ?{systemd-pkgconfig}, ?{libsystemd-dev}, ?{python-bpfcc}, ?{bpftrace}, ?{clang}, ?{llvm}, ?{libibumad-dev}, ?{libibmad-dev}, ?{libibverbs-dev}, ?{libinih-dev}, ?{postfix}, ?{libxml-libxml-perl}, ?{libfile-slurp-perl}, ?{libyaml-libyaml-perl}, ?{python-rtslib-fb}, ?{python-libvirt}, ?{python-lxml}, ?{libdrm-dev}, ?{python-pymongo}, ?{python-urllib3}, ?{libdbi-perl}, ?{python-pyodbc}, manpages
8+
Build-Depends: bison, flex, gawk, procps, pkg-config, debhelper (>= 5), ?{perl (>= 5.6)}, libreadline-dev | libreadline5-dev | libreadline-gplv2-dev, chrpath, libbsd-dev [kfreebsd-any], libkvm-dev [kfreebsd-any], ?{python-all}, ?{python-dev}, python3-dev, python3-setuptools, libsasl2-dev, ?{libuv1-dev}, ?{libssl-dev}, libavahi-common-dev, ?{qt-dev}, autotools-dev, zlib1g-dev, autoconf, ?{libclass-dbi-perl}, ?{libdbd-mysql-perl}, ?{python-psycopg2}, ?{python-openpyxl}, ?{dh-python}, ?{libpfm4-dev}, libncurses5-dev, ?{python-six}, ?{python-requests}, ?{libextutils-autoinstall-perl}, ?{libxml-tokeparser-perl}, ?{libjson-perl}, ?{libwww-perl}, ?{libnet-snmp-perl}, ?{liblzma-dev}, ?{systemd-pkgconfig}, ?{libsystemd-dev}, ?{python-bpfcc}, ?{bpftrace}, ?{clang}, ?{llvm}, ?{libibumad-dev}, ?{libibmad-dev}, ?{libibverbs-dev}, ?{libinih-dev}, ?{postfix}, ?{libxml-libxml-perl}, ?{libfile-slurp-perl}, ?{libyaml-libyaml-perl}, ?{python-rtslib-fb}, ?{python-libvirt}, ?{python-lxml}, ?{libdrm-dev}, ?{python-pymongo}, ?{python-urllib3}, ?{libdbi-perl}, ?{python-pyodbc}, manpages
99
Standards-Version: 4.7.2
1010
X-Python3-Version: >= 3.6
1111

debian/control.perl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
(such as pmie, pmlogsummary, pmchart or pmdumptext).
7070

7171
Package: pcp-import-ganglia2pcp
72-
Depends: ${perl:Depends}, ${misc:Depends}, libpcp-import-perl, librrds-perl
72+
Depends: ${perl:Depends}, ${misc:Depends}, libpcp-import-perl
7373
Architecture: all
7474
Description: Tool for importing data from ganglia into PCP archive logs
7575
Performance Co-Pilot (PCP) front-end tool for importing data from ganglia

debian/fixcontrol

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,6 @@ then
230230
echo 's/?{libdbd-mysql-perl}, /libdbd-mysql-perl, /' >>$tmp.sed
231231
echo 's/?{libextutils-autoinstall-perl}, /libextutils-autoinstall-perl, /' >>$tmp.sed
232232
echo 's/?{libxml-tokeparser-perl}, /libxml-tokeparser-perl, /' >>$tmp.sed
233-
echo 's/?{librrds-perl}, /librrds-perl, /' >>$tmp.sed
234233
echo 's/?{libjson-perl}, /libjson-perl, /' >>$tmp.sed
235234
echo 's/?{libwww-perl}, /libwww-perl, /' >>$tmp.sed
236235
echo 's/?{libnet-snmp-perl}, /libnet-snmp-perl, /' >>$tmp.sed
@@ -240,7 +239,6 @@ else
240239
echo 's/?{libdbd-mysql-perl}, //' >>$tmp.sed
241240
echo 's/?{libextutils-autoinstall-perl}, //' >>$tmp.sed
242241
echo 's/?{libxml-tokeparser-perl}, //' >>$tmp.sed
243-
echo 's/?{librrds-perl}, //' >>$tmp.sed
244242
echo 's/?{libjson-perl}, //' >>$tmp.sed
245243
echo 's/?{libwww-perl}, //' >>$tmp.sed
246244
echo 's/?{libnet-snmp-perl}, //' >>$tmp.sed
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
usr/bin/ganglia2pcp
21
usr/share/man/man1/ganglia2pcp.1.gz

src/ganglia2pcp/GNUmakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ default:
2121
include $(BUILDRULES)
2222

2323
install: default
24-
ifeq "$(HAVE_PERL)" "true"
24+
ifeq "$(HAVE_PERL_RRDs)" "true"
2525
$(INSTALL) -m 755 ganglia2pcp $(PCP_BIN_DIR)/ganglia2pcp
2626
endif
2727

src/include/builddefs.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,9 @@ ENABLE_LZMA = @enable_lzma@
278278
# for code supporting any modern version of perl
279279
HAVE_PERL = @have_perl@
280280

281+
# optonal perl modules
282+
HAVE_PERL_RRDs = @have_perl_rrds@
283+
281284
# for code supporting any modern version of python3
282285
HAVE_PYTHON = @have_python@
283286

0 commit comments

Comments
 (0)