diff --git a/Makefile b/Makefile index 2095335..23701e6 100644 --- a/Makefile +++ b/Makefile @@ -25,15 +25,24 @@ base: install -m0755 tools/psi2log $(DESTDIR)$(BINDIR)/psi2log 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 + + sed "s|:TARGET_DATADIR:|$(DATADIR)|" nohang/nohang.conf.in > nohang.conf + sed "s|:TARGET_DATADIR:|$(DATADIR)|" nohang/nohang-desktop.conf.in > nohang-desktop.conf + + install -m0644 nohang.conf $(DESTDIR)$(SYSCONFDIR)/nohang/nohang.conf + install -m0644 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 + + install -m0644 nohang.conf $(DESTDIR)$(DATADIR)/nohang/nohang.conf + install -m0644 nohang-desktop.conf $(DESTDIR)$(DATADIR)/nohang/nohang-desktop.conf + -git describe --tags --long --dirty > version - -install -m0644 version $(DESTDIR)$(DATADIR)/nohang/version - -rm -fv version + install -m0644 version $(DESTDIR)$(DATADIR)/nohang/version + + rm -fv nohang.conf + rm -fv nohang-desktop.conf + rm -fv version install -d $(DESTDIR)$(MANDIR)/man1 gzip -c nohang/nohang.1 > $(DESTDIR)$(MANDIR)/man1/nohang.1.gz @@ -49,13 +58,13 @@ base: install -m0644 nohang/nohang.logrotate $(DESTDIR)$(LOGROTATECONFDIR)/nohang units: - -install -d $(DESTDIR)$(SYSTEMDUNITDIR) - -sed "s|:TARGET_SBINDIR:|$(SBINDIR)|g;s|:TARGET_SYSCONFDIR:|$(SYSCONFDIR)|g" nohang/nohang.service.in > nohang.service - -sed "s|:TARGET_SBINDIR:|$(SBINDIR)|g;s|:TARGET_SYSCONFDIR:|$(SYSCONFDIR)|g" 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 + install -d $(DESTDIR)$(SYSTEMDUNITDIR) + sed "s|:TARGET_SBINDIR:|$(SBINDIR)|; s|:TARGET_SYSCONFDIR:|$(SYSCONFDIR)|" nohang/nohang.service.in > nohang.service + sed "s|:TARGET_SBINDIR:|$(SBINDIR)|; s|:TARGET_SYSCONFDIR:|$(SYSCONFDIR)|" 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: -chcon -t systemd_unit_file_t $(DESTDIR)$(SYSTEMDUNITDIR)/nohang.service @@ -77,13 +86,14 @@ openrc: install-openrc: base openrc -uninstall: - # 'make uninstall' must not fail with error if systemctl is unavailable or returns error - -systemctl stop nohang.service || true - -systemctl stop nohang-desktop.service || true - -systemctl disable nohang.service || true - -systemctl disable nohang-desktop.service || true - -systemctl daemon-reload +uninstall-openrc: uninstall + # 'make uninstall-openrc' must not fail with error if openrc is unavailable or returns error + -rc-service nohang-desktop stop || true + -rc-service nohang stop || true + -rm -fv /etc/init.d/nohang-desktop + -rm -fv /etc/init.d/nohang + +uninstall-base: rm -fv $(DESTDIR)$(SBINDIR)/nohang rm -fv $(DESTDIR)$(BINDIR)/oom-sort rm -fv $(DESTDIR)$(BINDIR)/psi-top @@ -92,17 +102,19 @@ uninstall: 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)$(SYSCONFDIR)/nohang/ rm -fvr $(DESTDIR)$(LOGROTATECONFDIR)/nohang - rm -fvr $(DESTDIR)$(LOGDIR)/nohang/ rm -fvr $(DESTDIR)$(DOCDIR)/ + rm -fvr $(DESTDIR)$(LOGDIR)/nohang/ rm -fvr $(DESTDIR)$(DATADIR)/nohang/ + rm -fvr $(DESTDIR)$(SYSCONFDIR)/nohang/ -uninstall-openrc: uninstall - # 'make uninstall-openrc' must not fail with error if openrc is unavailable or returns error - -rc-service nohang-desktop stop || true - -rc-service nohang stop || true - rm -fv /etc/init.d/nohang-desktop - rm -fv /etc/init.d/nohang +uninstall-units: + # 'make uninstall' must not fail with error if systemctl is unavailable or returns error + -systemctl stop nohang.service || true + -systemctl stop nohang-desktop.service || true + -systemctl disable nohang.service || true + -systemctl disable nohang-desktop.service || true + -rm -fv $(DESTDIR)$(SYSTEMDUNITDIR)/nohang.service + -rm -fv $(DESTDIR)$(SYSTEMDUNITDIR)/nohang-desktop.service + +uninstall: uninstall-base uninstall-units daemon-reload uninstall-openrc diff --git a/README.md b/README.md index acf0a88..48ca189 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ Of course, you can also [download more RAM](https://downloadmoreram.com/), tune - Low memory warnings (displays available memory). - [zram](https://www.kernel.org/doc/Documentation/blockdev/zram.txt) support (`mem_used_total` as a trigger); - [PSI](https://lwn.net/Articles/759658/) ([pressure stall information](https://facebookmicrosites.github.io/psi/)) support; -- Easy configuration with a commented [config file](https://github.com/hakavlad/nohang/blob/master/nohang/nohang.conf). +- Easy configuration with a commented [config file](https://github.com/hakavlad/nohang/blob/master/nohang/nohang.conf.in). ## Demo @@ -197,7 +197,7 @@ optional arguments: ## How to configure -The program can be configured by editing the [config file](https://github.com/hakavlad/nohang/blob/master/nohang/nohang.conf). The configuration includes the following sections: +The program can be configured by editing the [config file](https://github.com/hakavlad/nohang/blob/master/nohang/nohang.conf.in). The configuration includes the following sections: 1. Common zram settings 2. Common PSI settings diff --git a/nohang/nohang-desktop.conf b/nohang/nohang-desktop.conf.in similarity index 99% rename from nohang/nohang-desktop.conf rename to nohang/nohang-desktop.conf.in index 2195aac..d057260 100644 --- a/nohang/nohang-desktop.conf +++ b/nohang/nohang-desktop.conf.in @@ -22,6 +22,8 @@ TODO: improve descriptions + You can find the file with default values here: :TARGET_DATADIR:/nohang/nohang-desktop.conf + ############################################################################### 1. Common zram settings diff --git a/nohang/nohang.conf b/nohang/nohang.conf.in similarity index 99% rename from nohang/nohang.conf rename to nohang/nohang.conf.in index 3e04a46..89e0416 100644 --- a/nohang/nohang.conf +++ b/nohang/nohang.conf.in @@ -22,6 +22,8 @@ TODO: improve descriptions + You can find the file with default values here: :TARGET_DATADIR:/nohang/nohang.conf + ############################################################################### 1. Common zram settings