Skip to content

Commit

Permalink
Fix Makefile: update Variables for Installation Directories
Browse files Browse the repository at this point in the history
  • Loading branch information
hakavlad committed May 5, 2020
1 parent a794396 commit 784ddfd
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 50 deletions.
103 changes: 61 additions & 42 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,84 +1,103 @@
DESTDIR ?=
BINDIR ?= /usr/local/bin
CONFDIR ?= /usr/local/etc
SYSTEMDUNITDIR ?= /usr/local/lib/systemd/system
MANDIR ?= /usr/local/share/man/man1
PREFIX ?= /usr/local
SYSCONFDIR ?= /usr/local/etc
SYSTEMDUNITDIR ?= /usr/local/lib/systemd/system

LOGDIR ?= /var/log
LOGROTATECONFDIR ?= /etc/logrotate.d

BINDIR ?= $(PREFIX)/bin
SBINDIR ?= $(PREFIX)/sbin
DATADIR ?= $(PREFIX)/share
DOCDIR ?= $(DATADIR)/doc/nohang
MANDIR ?= $(DATADIR)/man

all:
@ echo "Use: make install, build_deb, make uninstall"

install:
install -d $(DESTDIR)$(SBINDIR)
install -m0755 nohang/nohang $(DESTDIR)$(SBINDIR)/nohang

install -d $(DESTDIR)$(BINDIR)
install -m0755 nohang/nohang $(DESTDIR)$(BINDIR)/nohang
install -m0755 tools/oom-sort $(DESTDIR)$(BINDIR)/oom-sort
install -m0755 tools/psi-top $(DESTDIR)$(BINDIR)/psi-top
install -m0755 tools/psi2log $(DESTDIR)$(BINDIR)/psi2log

install -d $(DESTDIR)$(CONFDIR)/nohang
install -d $(DESTDIR)$(SYSCONFDIR)/nohang
install -m0644 nohang/nohang.conf $(DESTDIR)$(SYSCONFDIR)/nohang/nohang.conf
install -m0644 nohang/nohang-desktop.conf $(DESTDIR)$(SYSCONFDIR)/nohang/nohang-desktop.conf

install -d $(DESTDIR)$(DATADIR)/nohang
install -m0644 nohang/nohang.conf $(DESTDIR)$(DATADIR)/nohang/nohang.conf
install -m0644 nohang/nohang-desktop.conf $(DESTDIR)$(DATADIR)/nohang/nohang-desktop.conf

-git describe --tags --long --dirty > version
-install -m0644 version $(DESTDIR)$(CONFDIR)/nohang/version
-install -m0644 version $(DESTDIR)$(DATADIR)/nohang/version
-rm -fv version

install -m0644 nohang/nohang.conf $(DESTDIR)$(CONFDIR)/nohang/nohang.conf
install -m0644 nohang/nohang-desktop.conf $(DESTDIR)$(CONFDIR)/nohang/nohang-desktop.conf
install -d $(DESTDIR)$(MANDIR)/man1
gzip -c nohang/nohang.1 > $(DESTDIR)$(MANDIR)/man1/nohang.1.gz
gzip -c tools/oom-sort.1 > $(DESTDIR)$(MANDIR)/man1/oom-sort.1.gz
gzip -c tools/psi-top.1 > $(DESTDIR)$(MANDIR)/man1/psi-top.1.gz
gzip -c tools/psi2log.1 > $(DESTDIR)$(MANDIR)/man1/psi2log.1.gz

install -d $(DESTDIR)$(CONFDIR)/nohang/defaults
install -m0644 nohang/nohang.conf $(DESTDIR)$(CONFDIR)/nohang/defaults/nohang.conf
install -m0644 nohang/nohang-desktop.conf $(DESTDIR)$(CONFDIR)/nohang/defaults/nohang-desktop.conf
install -d $(DESTDIR)$(DOCDIR)
install -m0644 README.md $(DESTDIR)$(DOCDIR)/README.md
install -m0644 CHANGELOG.md $(DESTDIR)$(DOCDIR)/CHANGELOG.md

install -d $(DESTDIR)$(LOGROTATECONFDIR)
install -m0644 nohang/nohang.logrotate $(DESTDIR)$(LOGROTATECONFDIR)/nohang

install -d $(DESTDIR)$(MANDIR)
gzip -c nohang/nohang.1 > $(DESTDIR)$(MANDIR)/nohang.1.gz
gzip -c tools/oom-sort.1 > $(DESTDIR)$(MANDIR)/oom-sort.1.gz
gzip -c tools/psi-top.1 > $(DESTDIR)$(MANDIR)/psi-top.1.gz
gzip -c tools/psi2log.1 > $(DESTDIR)$(MANDIR)/psi2log.1.gz

-install -d $(DESTDIR)$(SYSTEMDUNITDIR)
env BINDIR=$(BINDIR) CONFDIR=$(CONFDIR) envsubst < nohang/nohang.service.in > nohang.service
env BINDIR=$(BINDIR) CONFDIR=$(CONFDIR) envsubst < nohang/nohang-desktop.service.in > nohang-desktop.service
env BINDIR=$(BINDIR) SYSCONFDIR=$(SYSCONFDIR) envsubst < nohang/nohang.service.in > nohang.service
env BINDIR=$(BINDIR) SYSCONFDIR=$(SYSCONFDIR) envsubst < nohang/nohang-desktop.service.in > nohang-desktop.service
-install -m0644 nohang.service $(DESTDIR)$(SYSTEMDUNITDIR)/nohang.service
-install -m0644 nohang-desktop.service $(DESTDIR)$(SYSTEMDUNITDIR)/nohang-desktop.service
-rm -fv nohang.service
-rm -fv nohang-desktop.service

-chcon -t systemd_unit_file_t $(DESTDIR)$(SYSTEMDUNITDIR)/nohang.service
-chcon -t systemd_unit_file_t $(DESTDIR)$(SYSTEMDUNITDIR)/nohang-desktop.service
-systemctl daemon-reload

build_deb:
install -d $(DESTDIR)$(SBINDIR)
install -m0755 nohang/nohang $(DESTDIR)$(SBINDIR)/nohang

install -d $(DESTDIR)$(BINDIR)
install -m0755 nohang/nohang $(DESTDIR)$(BINDIR)/nohang
install -m0755 tools/oom-sort $(DESTDIR)$(BINDIR)/oom-sort
install -m0755 tools/psi-top $(DESTDIR)$(BINDIR)/psi-top
install -m0755 tools/psi2log $(DESTDIR)$(BINDIR)/psi2log

install -d $(DESTDIR)$(CONFDIR)/nohang
install -d $(DESTDIR)$(SYSCONFDIR)/nohang
install -m0644 nohang/nohang.conf $(DESTDIR)$(SYSCONFDIR)/nohang/nohang.conf
install -m0644 nohang/nohang-desktop.conf $(DESTDIR)$(SYSCONFDIR)/nohang/nohang-desktop.conf

install -d $(DESTDIR)$(DATADIR)/nohang
install -m0644 nohang/nohang.conf $(DESTDIR)$(DATADIR)/nohang/nohang.conf
install -m0644 nohang/nohang-desktop.conf $(DESTDIR)$(DATADIR)/nohang/nohang-desktop.conf

-git describe --tags --long --dirty > version
-install -m0644 version $(DESTDIR)$(CONFDIR)/nohang/version
-install -m0644 version $(DESTDIR)$(DATADIR)/nohang/version
-rm -fv version

install -m0644 nohang/nohang.conf $(DESTDIR)$(CONFDIR)/nohang/nohang.conf
install -m0644 nohang/nohang-desktop.conf $(DESTDIR)$(CONFDIR)/nohang/nohang-desktop.conf
install -d $(DESTDIR)$(MANDIR)/man1
gzip -c nohang/nohang.1 > $(DESTDIR)$(MANDIR)/man1/nohang.1.gz
gzip -c tools/oom-sort.1 > $(DESTDIR)$(MANDIR)/man1/oom-sort.1.gz
gzip -c tools/psi-top.1 > $(DESTDIR)$(MANDIR)/man1/psi-top.1.gz
gzip -c tools/psi2log.1 > $(DESTDIR)$(MANDIR)/man1/psi2log.1.gz

install -d $(DESTDIR)$(CONFDIR)/nohang/defaults
install -m0644 nohang/nohang.conf $(DESTDIR)$(CONFDIR)/nohang/defaults/nohang.conf
install -m0644 nohang/nohang-desktop.conf $(DESTDIR)$(CONFDIR)/nohang/defaults/nohang-desktop.conf
install -d $(DESTDIR)$(DOCDIR)
install -m0644 README.md $(DESTDIR)$(DOCDIR)/README.md
install -m0644 CHANGELOG.md $(DESTDIR)$(DOCDIR)/CHANGELOG.md

install -d $(DESTDIR)$(LOGROTATECONFDIR)
install -m0644 nohang/nohang.logrotate $(DESTDIR)$(LOGROTATECONFDIR)/nohang

install -d $(DESTDIR)$(MANDIR)
gzip -c nohang/nohang.1 > $(DESTDIR)$(MANDIR)/nohang.1.gz
gzip -c tools/oom-sort.1 > $(DESTDIR)$(MANDIR)/oom-sort.1.gz
gzip -c tools/psi-top.1 > $(DESTDIR)$(MANDIR)/psi-top.1.gz
gzip -c tools/psi2log.1 > $(DESTDIR)$(MANDIR)/psi2log.1.gz

-install -d $(DESTDIR)$(SYSTEMDUNITDIR)
env BINDIR=$(BINDIR) CONFDIR=$(CONFDIR) envsubst < nohang/nohang.service.in > nohang.service
env BINDIR=$(BINDIR) CONFDIR=$(CONFDIR) envsubst < nohang/nohang-desktop.service.in > nohang-desktop.service
env BINDIR=$(BINDIR) SYSCONFDIR=$(SYSCONFDIR) envsubst < nohang/nohang.service.in > nohang.service
env BINDIR=$(BINDIR) SYSCONFDIR=$(SYSCONFDIR) envsubst < nohang/nohang-desktop.service.in > nohang-desktop.service
-install -m0644 nohang.service $(DESTDIR)$(SYSTEMDUNITDIR)/nohang.service
-install -m0644 nohang-desktop.service $(DESTDIR)$(SYSTEMDUNITDIR)/nohang-desktop.service
-rm -fv nohang.service
Expand All @@ -91,16 +110,16 @@ uninstall:
-systemctl disable nohang.service || true
-systemctl disable nohang-desktop.service || true
-systemctl daemon-reload
rm -fv $(DESTDIR)$(BINDIR)/nohang
rm -fv $(DESTDIR)$(SBINDIR)/nohang
rm -fv $(DESTDIR)$(BINDIR)/oom-sort
rm -fv $(DESTDIR)$(BINDIR)/psi-top
rm -fv $(DESTDIR)$(BINDIR)/psi2log
rm -fv $(DESTDIR)$(MANDIR)/nohang.1.gz
rm -fv $(DESTDIR)$(MANDIR)/oom-sort.1.gz
rm -fv $(DESTDIR)$(MANDIR)/psi-top.1.gz
rm -fv $(DESTDIR)$(MANDIR)/psi2log.1.gz
rm -fv $(DESTDIR)$(MANDIR)/man1/nohang.1.gz
rm -fv $(DESTDIR)$(MANDIR)/man1/oom-sort.1.gz
rm -fv $(DESTDIR)$(MANDIR)/man1/psi-top.1.gz
rm -fv $(DESTDIR)$(MANDIR)/man1/psi2log.1.gz
rm -fv $(DESTDIR)$(SYSTEMDUNITDIR)/nohang.service
rm -fv $(DESTDIR)$(SYSTEMDUNITDIR)/nohang-desktop.service
rm -fvr $(DESTDIR)$(CONFDIR)/nohang/
rm -fvr $(DESTDIR)$(SYSCONFDIR)/nohang/
rm -fvr $(DESTDIR)$(LOGROTATECONFDIR)/nohang
rm -fvr $(DESTDIR)$(LOGDIR)/nohang/
9 changes: 4 additions & 5 deletions deb/build.sh
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
#!/bin/sh -v
mkdir deb/package
make build_deb \
make \
DESTDIR=deb/package \
BINDIR=/usr/bin \
CONFDIR=/etc \
PREFIX=/usr \
SYSCONFDIR=/etc \
SYSTEMDUNITDIR=/lib/systemd/system \
MANDIR=/usr/share/man/man1
build_deb
cd deb
cp -r DEBIAN package/
fakeroot dpkg-deb --build package
6 changes: 3 additions & 3 deletions nohang/nohang
Original file line number Diff line number Diff line change
Expand Up @@ -834,11 +834,11 @@ def log(*msg):
def print_version():
"""
"""
if os.path.exists('/usr/local/etc/nohang/version'):
v = rline1('/usr/local/etc/nohang/version')
if os.path.exists('/usr/local/share/nohang/version'):
v = rline1('/usr/local/share/nohang/version')
else:
try:
v = rline1('/etc/nohang/version')
v = rline1('/usr/share/nohang/version')
except FileNotFoundError:
v = None
if v is None:
Expand Down

0 comments on commit 784ddfd

Please sign in to comment.