Skip to content

Commit 68320d9

Browse files
committed
lcov: Update installation mechanism
Change default installation location to /usr/local to prevent conflicts with files installed by package managers (reported by Gregory Fong). To achieve this, rename PREFIX to DESTDIR and introduce actual PREFIX Makefile variable and update spec file to install packaged files to previous locations. Also fix spec file to not announce ownership of system directories (reported by and based on patch by Jiri Kastner <[email protected]>). Signed-off-by: Peter Oberparleiter <[email protected]>
1 parent 04a3c0e commit 68320d9

File tree

5 files changed

+56
-43
lines changed

5 files changed

+56
-43
lines changed

Makefile

Lines changed: 41 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@ VERSION := $(shell bin/get_version.sh --version)
1515
RELEASE := $(shell bin/get_version.sh --release)
1616
FULL := $(shell bin/get_version.sh --full)
1717

18+
PREFIX := /usr/local
19+
1820
CFG_DIR := $(PREFIX)/etc
19-
BIN_DIR := $(PREFIX)/usr/bin
20-
MAN_DIR := $(PREFIX)/usr/share/man
21+
BIN_DIR := $(PREFIX)/bin
22+
MAN_DIR := $(PREFIX)/share/man
2123
TMP_DIR := $(shell mktemp -d)
2224
FILES := $(wildcard bin/*) $(wildcard man/*) README Makefile \
2325
$(wildcard rpm/*) lcovrc
@@ -28,8 +30,8 @@ all: info
2830

2931
info:
3032
@echo "Available make targets:"
31-
@echo " install : install binaries and man pages in PREFIX (default /)"
32-
@echo " uninstall : delete binaries and man pages from PREFIX (default /)"
33+
@echo " install : install binaries and man pages in DESTDIR (default /)"
34+
@echo " uninstall : delete binaries and man pages from DESTDIR (default /)"
3335
@echo " dist : create packages (RPM, tarball) ready for distribution"
3436

3537
clean:
@@ -38,43 +40,43 @@ clean:
3840
make -C example clean
3941

4042
install:
41-
bin/install.sh bin/lcov $(BIN_DIR)/lcov -m 755
42-
bin/install.sh bin/genhtml $(BIN_DIR)/genhtml -m 755
43-
bin/install.sh bin/geninfo $(BIN_DIR)/geninfo -m 755
44-
bin/install.sh bin/genpng $(BIN_DIR)/genpng -m 755
45-
bin/install.sh bin/gendesc $(BIN_DIR)/gendesc -m 755
46-
bin/install.sh man/lcov.1 $(MAN_DIR)/man1/lcov.1 -m 644
47-
bin/install.sh man/genhtml.1 $(MAN_DIR)/man1/genhtml.1 -m 644
48-
bin/install.sh man/geninfo.1 $(MAN_DIR)/man1/geninfo.1 -m 644
49-
bin/install.sh man/genpng.1 $(MAN_DIR)/man1/genpng.1 -m 644
50-
bin/install.sh man/gendesc.1 $(MAN_DIR)/man1/gendesc.1 -m 644
51-
bin/install.sh man/lcovrc.5 $(MAN_DIR)/man5/lcovrc.5 -m 644
52-
bin/install.sh lcovrc $(CFG_DIR)/lcovrc -m 644
53-
bin/updateversion.pl $(BIN_DIR)/lcov $(VERSION) $(RELEASE) $(FULL)
54-
bin/updateversion.pl $(BIN_DIR)/genhtml $(VERSION) $(RELEASE) $(FULL)
55-
bin/updateversion.pl $(BIN_DIR)/geninfo $(VERSION) $(RELEASE) $(FULL)
56-
bin/updateversion.pl $(BIN_DIR)/genpng $(VERSION) $(RELEASE) $(FULL)
57-
bin/updateversion.pl $(BIN_DIR)/gendesc $(VERSION) $(RELEASE) $(FULL)
58-
bin/updateversion.pl $(MAN_DIR)/man1/lcov.1 $(VERSION) $(RELEASE) $(FULL)
59-
bin/updateversion.pl $(MAN_DIR)/man1/genhtml.1 $(VERSION) $(RELEASE) $(FULL)
60-
bin/updateversion.pl $(MAN_DIR)/man1/geninfo.1 $(VERSION) $(RELEASE) $(FULL)
61-
bin/updateversion.pl $(MAN_DIR)/man1/genpng.1 $(VERSION) $(RELEASE) $(FULL)
62-
bin/updateversion.pl $(MAN_DIR)/man1/gendesc.1 $(VERSION) $(RELEASE) $(FULL)
63-
bin/updateversion.pl $(MAN_DIR)/man5/lcovrc.5 $(VERSION) $(RELEASE) $(FULL)
43+
bin/install.sh bin/lcov $(DESTDIR)$(BIN_DIR)/lcov -m 755
44+
bin/install.sh bin/genhtml $(DESTDIR)$(BIN_DIR)/genhtml -m 755
45+
bin/install.sh bin/geninfo $(DESTDIR)$(BIN_DIR)/geninfo -m 755
46+
bin/install.sh bin/genpng $(DESTDIR)$(BIN_DIR)/genpng -m 755
47+
bin/install.sh bin/gendesc $(DESTDIR)$(BIN_DIR)/gendesc -m 755
48+
bin/install.sh man/lcov.1 $(DESTDIR)$(MAN_DIR)/man1/lcov.1 -m 644
49+
bin/install.sh man/genhtml.1 $(DESTDIR)$(MAN_DIR)/man1/genhtml.1 -m 644
50+
bin/install.sh man/geninfo.1 $(DESTDIR)$(MAN_DIR)/man1/geninfo.1 -m 644
51+
bin/install.sh man/genpng.1 $(DESTDIR)$(MAN_DIR)/man1/genpng.1 -m 644
52+
bin/install.sh man/gendesc.1 $(DESTDIR)$(MAN_DIR)/man1/gendesc.1 -m 644
53+
bin/install.sh man/lcovrc.5 $(DESTDIR)$(MAN_DIR)/man5/lcovrc.5 -m 644
54+
bin/install.sh lcovrc $(DESTDIR)$(CFG_DIR)/lcovrc -m 644
55+
bin/updateversion.pl $(DESTDIR)$(BIN_DIR)/lcov $(VERSION) $(RELEASE) $(FULL)
56+
bin/updateversion.pl $(DESTDIR)$(BIN_DIR)/genhtml $(VERSION) $(RELEASE) $(FULL)
57+
bin/updateversion.pl $(DESTDIR)$(BIN_DIR)/geninfo $(VERSION) $(RELEASE) $(FULL)
58+
bin/updateversion.pl $(DESTDIR)$(BIN_DIR)/genpng $(VERSION) $(RELEASE) $(FULL)
59+
bin/updateversion.pl $(DESTDIR)$(BIN_DIR)/gendesc $(VERSION) $(RELEASE) $(FULL)
60+
bin/updateversion.pl $(DESTDIR)$(MAN_DIR)/man1/lcov.1 $(VERSION) $(RELEASE) $(FULL)
61+
bin/updateversion.pl $(DESTDIR)$(MAN_DIR)/man1/genhtml.1 $(VERSION) $(RELEASE) $(FULL)
62+
bin/updateversion.pl $(DESTDIR)$(MAN_DIR)/man1/geninfo.1 $(VERSION) $(RELEASE) $(FULL)
63+
bin/updateversion.pl $(DESTDIR)$(MAN_DIR)/man1/genpng.1 $(VERSION) $(RELEASE) $(FULL)
64+
bin/updateversion.pl $(DESTDIR)$(MAN_DIR)/man1/gendesc.1 $(VERSION) $(RELEASE) $(FULL)
65+
bin/updateversion.pl $(DESTDIR)$(MAN_DIR)/man5/lcovrc.5 $(VERSION) $(RELEASE) $(FULL)
6466

6567
uninstall:
66-
bin/install.sh --uninstall bin/lcov $(BIN_DIR)/lcov
67-
bin/install.sh --uninstall bin/genhtml $(BIN_DIR)/genhtml
68-
bin/install.sh --uninstall bin/geninfo $(BIN_DIR)/geninfo
69-
bin/install.sh --uninstall bin/genpng $(BIN_DIR)/genpng
70-
bin/install.sh --uninstall bin/gendesc $(BIN_DIR)/gendesc
71-
bin/install.sh --uninstall man/lcov.1 $(MAN_DIR)/man1/lcov.1
72-
bin/install.sh --uninstall man/genhtml.1 $(MAN_DIR)/man1/genhtml.1
73-
bin/install.sh --uninstall man/geninfo.1 $(MAN_DIR)/man1/geninfo.1
74-
bin/install.sh --uninstall man/genpng.1 $(MAN_DIR)/man1/genpng.1
75-
bin/install.sh --uninstall man/gendesc.1 $(MAN_DIR)/man1/gendesc.1
76-
bin/install.sh --uninstall man/lcovrc.5 $(MAN_DIR)/man5/lcovrc.5
77-
bin/install.sh --uninstall lcovrc $(CFG_DIR)/lcovrc
68+
bin/install.sh --uninstall bin/lcov $(DESTDIR)$(BIN_DIR)/lcov
69+
bin/install.sh --uninstall bin/genhtml $(DESTDIR)$(BIN_DIR)/genhtml
70+
bin/install.sh --uninstall bin/geninfo $(DESTDIR)$(BIN_DIR)/geninfo
71+
bin/install.sh --uninstall bin/genpng $(DESTDIR)$(BIN_DIR)/genpng
72+
bin/install.sh --uninstall bin/gendesc $(DESTDIR)$(BIN_DIR)/gendesc
73+
bin/install.sh --uninstall man/lcov.1 $(DESTDIR)$(MAN_DIR)/man1/lcov.1
74+
bin/install.sh --uninstall man/genhtml.1 $(DESTDIR)$(MAN_DIR)/man1/genhtml.1
75+
bin/install.sh --uninstall man/geninfo.1 $(DESTDIR)$(MAN_DIR)/man1/geninfo.1
76+
bin/install.sh --uninstall man/genpng.1 $(DESTDIR)$(MAN_DIR)/man1/genpng.1
77+
bin/install.sh --uninstall man/gendesc.1 $(DESTDIR)$(MAN_DIR)/man1/gendesc.1
78+
bin/install.sh --uninstall man/lcovrc.5 $(DESTDIR)$(MAN_DIR)/man5/lcovrc.5
79+
bin/install.sh --uninstall lcovrc $(DESTDIR)$(CFG_DIR)/lcovrc
7880

7981
dist: lcov-$(VERSION).tar.gz lcov-$(VERSION)-$(RELEASE).noarch.rpm \
8082
lcov-$(VERSION)-$(RELEASE).src.rpm

bin/genhtml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,9 @@ if (defined($opt_config_file)) {
350350
elsif (-r "/etc/lcovrc")
351351
{
352352
$config = read_config("/etc/lcovrc");
353+
} elsif (-r "/usr/local/etc/lcovrc")
354+
{
355+
$config = read_config("/usr/local/etc/lcovrc");
353356
}
354357

355358
if ($config || %opt_rc)

bin/geninfo

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,9 @@ if (defined($opt_config_file)) {
304304
elsif (-r "/etc/lcovrc")
305305
{
306306
$config = read_config("/etc/lcovrc");
307+
} elsif (-r "/usr/local/etc/lcovrc")
308+
{
309+
$config = read_config("/usr/local/etc/lcovrc");
307310
}
308311

309312
if ($config || %opt_rc)

bin/lcov

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,9 @@ if (defined($opt_config_file)) {
243243
elsif (-r "/etc/lcovrc")
244244
{
245245
$config = read_config("/etc/lcovrc");
246+
} elsif (-r "/usr/local/etc/lcovrc")
247+
{
248+
$config = read_config("/usr/local/etc/lcovrc");
246249
}
247250

248251
if ($config || %opt_rc)

rpm/lcov.spec

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,20 @@ exit 0
2424

2525
%install
2626
rm -rf $RPM_BUILD_ROOT
27-
make install PREFIX=$RPM_BUILD_ROOT
27+
make install DESTDIR=$RPM_BUILD_ROOT PREFIX=/usr CFG_DIR=/etc
2828

2929
%clean
3030
rm -rf $RPM_BUILD_ROOT
3131

3232
%files
3333
%defattr(-,root,root)
34-
/usr/bin
35-
/usr/share
36-
/etc
34+
/usr/bin/*
35+
/usr/share/man/man*/*
36+
/etc/*
3737

3838
%changelog
39+
* Mon Aug 22 2016 Peter Oberparleiter ([email protected])
40+
- updated "make install" call to work with PREFIX Makefile changes
3941
* Mon May 07 2012 Peter Oberparleiter ([email protected])
4042
- added dependency on perl 5.8.8 for >>& open mode support
4143
* Wed Aug 13 2008 Peter Oberparleiter ([email protected])

0 commit comments

Comments
 (0)