Update for LSB compliance

Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
This commit is contained in:
jcsiadal
2022-03-09 07:32:02 +00:00
parent 3ad6c49a3e
commit 8827937a9d
5 changed files with 19 additions and 18 deletions

View File

@@ -3,7 +3,8 @@
-include Defaults.mk -include Defaults.mk
# Linux distro (try and set to /etc/os-release ID) # Linux distro (try and set to /etc/os-release ID)
OS ?= $(sed -n "s/^ID\s*=\s*['"\""]\(.*\)['"\""]/\1/p" /etc/os-release) OS_REL := $(shell sed -n "s/^ID\s*=\s*['"\""]\(.*\)['"\""]/\1/p" /etc/os-release)
OS ?= $(OS_REL)
# List of variables to save and replace in files # List of variables to save and replace in files
VARLIST := OS VARLIST := OS
@@ -14,7 +15,7 @@ WAREWULF ?= warewulf
VERSION ?= 4.2.0 VERSION ?= 4.2.0
GIT_TAG := $(shell test -e .git && git describe --tags --long --first-parent --always) GIT_TAG := $(shell test -e .git && git describe --tags --long --first-parent --always)
ifndef $(GIT_TAG) ifndef GIT_TAG
ifdef $(filter $(OS),ubuntu debian) ifdef $(filter $(OS),ubuntu debian)
RELEASE ?= 1.git_$(subst -,+,$(GIT_TAG)) RELEASE ?= 1.git_$(subst -,+,$(GIT_TAG))
else else
@@ -30,12 +31,12 @@ ifneq ($(OS),)
endif endif
# Always default to GNU autotools default paths if PREFIX has been redefined # Always default to GNU autotools default paths if PREFIX has been redefined
ifndef $(PREFIX) ifdef PREFIX
USE_LSB_PATHS := false USE_LSB_PATHS := false
endif endif
# System directory paths # System directory paths
VARLIST += PREFIX BINDIR SYSCONFDIR SRVDIR DATADIR MANDIR DOCDIR LOCALSTATEDIR SHAREDSTATEDIR VARLIST += PREFIX BINDIR SYSCONFDIR SRVDIR DATADIR MANDIR DOCDIR LOCALSTATEDIR
PREFIX ?= /usr/local PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin BINDIR ?= $(PREFIX)/bin
SYSCONFDIR ?= $(PREFIX)/etc SYSCONFDIR ?= $(PREFIX)/etc
@@ -46,11 +47,9 @@ DOCDIR ?= $(DATADIR)/doc
ifeq ($(USE_LSB_PATHS),true) ifeq ($(USE_LSB_PATHS),true)
SRVDIR ?= /srv SRVDIR ?= /srv
LOCALSTATEDIR ?= /var/local LOCALSTATEDIR ?= /var/local
SHAREDSTATEDIR ?= /var/lib
else else
SRVDIR ?= $(PREFIX)/srv SRVDIR ?= $(PREFIX)/srv
LOCALSTATEDIR ?= $(PREFIX)/var LOCALSTATEDIR ?= $(PREFIX)/var
SHAREDSTATEDIR ?= $(PREFIX)/com
endif endif
# OS-Specific Service Locations # OS-Specific Service Locations
@@ -70,9 +69,9 @@ TFTPDIR ?= /var/lib/tftpboot
# Warewulf directory paths # Warewulf directory paths
VARLIST += WWCLIENTDIR WWCONFIGDIR WWPROVISIONDIR WWOVERLAYDIR WWCHROOTDIR WWTFTPDIR WWDOCDIR WWDATADIR VARLIST += WWCLIENTDIR WWCONFIGDIR WWPROVISIONDIR WWOVERLAYDIR WWCHROOTDIR WWTFTPDIR WWDOCDIR WWDATADIR
WWCONFIGDIR := $(SYSCONFDIR)/$(WAREWULF) WWCONFIGDIR := $(SYSCONFDIR)/$(WAREWULF)
WWPROVISIONDIR := $(LOCALSTATEDIR)$(WAREWULF) WWPROVISIONDIR := $(LOCALSTATEDIR)/$(WAREWULF)
WWOVERLAYDIR := $(LOCALSTATEDIR)$(WAREWULF)/overlays WWOVERLAYDIR := $(LOCALSTATEDIR)/$(WAREWULF)/overlays
WWCHROOTDIR := $(LOCALSTATEDIR)$(WAREWULF)/chroots WWCHROOTDIR := $(LOCALSTATEDIR)/$(WAREWULF)/chroots
WWTFTPDIR := $(TFTPDIR)/$(WAREWULF) WWTFTPDIR := $(TFTPDIR)/$(WAREWULF)
WWDOCDIR := $(DOCDIR)/$(WAREWULF) WWDOCDIR := $(DOCDIR)/$(WAREWULF)
WWDATADIR := $(DATADIR)/$(WAREWULF) WWDATADIR := $(DATADIR)/$(WAREWULF)
@@ -169,6 +168,7 @@ files: all
install -d -m 0755 $(DESTDIR)$(WWDOCDIR) install -d -m 0755 $(DESTDIR)$(WWDOCDIR)
install -d -m 0755 $(DESTDIR)$(FIREWALLDDIR) install -d -m 0755 $(DESTDIR)$(FIREWALLDDIR)
install -d -m 0755 $(DESTDIR)$(SYSTEMDDIR) install -d -m 0755 $(DESTDIR)$(SYSTEMDDIR)
install -d -m 0755 $(DESTDIR)$(WWDATADIR)
test -f $(DESTDIR)$(WWCONFIGDIR)/warewulf.conf || install -m 644 etc/warewulf.conf $(DESTDIR)$(WWCONFIGDIR) test -f $(DESTDIR)$(WWCONFIGDIR)/warewulf.conf || install -m 644 etc/warewulf.conf $(DESTDIR)$(WWCONFIGDIR)
test -f $(DESTDIR)$(WWCONFIGDIR)/nodes.conf || install -m 644 etc/nodes.conf $(DESTDIR)$(WWCONFIGDIR) test -f $(DESTDIR)$(WWCONFIGDIR)/nodes.conf || install -m 644 etc/nodes.conf $(DESTDIR)$(WWCONFIGDIR)
cp -r etc/examples $(DESTDIR)$(WWCONFIGDIR)/ cp -r etc/examples $(DESTDIR)$(WWCONFIGDIR)/

View File

@@ -63,7 +63,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
return errors.New("found pidfile " + PIDFile + " not starting") return errors.New("found pidfile " + PIDFile + " not starting")
} }
if os.Args[0] == path.Join(buildconfig.WWCLIENTLOC(), "wwclient") { if os.Args[0] == path.Join(buildconfig.WWCLIENTDIR(), "wwclient") {
err := os.Chdir("/") err := os.Chdir("/")
if err != nil { if err != nil {
wwlog.Printf(wwlog.ERROR, "failed to change dir: %s", err) wwlog.Printf(wwlog.ERROR, "failed to change dir: %s", err)
@@ -75,7 +75,7 @@ func CobraRunE(cmd *cobra.Command, args []string) error {
} else { } else {
fmt.Printf("Called via: %s\n", os.Args[0]) fmt.Printf("Called via: %s\n", os.Args[0])
fmt.Printf("Runtime overlay is being put in '/warewulf/wwclient-test' rather than '/'\n") fmt.Printf("Runtime overlay is being put in '/warewulf/wwclient-test' rather than '/'\n")
fmt.Printf("For full functionality call with: %s\n", path.Join(buildconfig.WWCLIENTLOC(), "wwclient")) fmt.Printf("For full functionality call with: %s\n", path.Join(buildconfig.WWCLIENTDIR(), "wwclient"))
err := os.MkdirAll("/warewulf/wwclient-test", 0755) err := os.MkdirAll("/warewulf/wwclient-test", 0755)
if err != nil { if err != nil {
wwlog.Printf(wwlog.ERROR, "failed to create dir: %s", err) wwlog.Printf(wwlog.ERROR, "failed to create dir: %s", err)

View File

@@ -15,7 +15,7 @@ var (
wwprovisiondir string = "UNDEF" wwprovisiondir string = "UNDEF"
version string = "UNDEF" version string = "UNDEF"
release string = "UNDEF" release string = "UNDEF"
wwclientloc string = "UNDEF" wwclientdir string = "UNDEF"
datadir string = "UNDEF" datadir string = "UNDEF"
) )
@@ -84,7 +84,7 @@ func RELEASE() string {
return release return release
} }
func WWCLIENTLOC() string { func WWCLIENTDIR() string {
wwlog.Printf(wwlog.DEBUG, "WWCLIENTLOC = '%s'\n", wwclientloc) wwlog.Printf(wwlog.DEBUG, "WWCLIENTDIR = '%s'\n", wwclientdir)
return wwclientloc return wwclientdir
} }

View File

@@ -14,5 +14,5 @@ func init() {
wwprovisiondir = "@WWPROVISIONDIR@" wwprovisiondir = "@WWPROVISIONDIR@"
version = "@VERSION@" version = "@VERSION@"
release = "@RELEASE@" release = "@RELEASE@"
wwclientloc = "@WWCLIENTLOC@" wwclientdir = "@WWCLIENTDIR@"
} }

View File

@@ -61,12 +61,13 @@ system for large clusters of bare metal and/or virtual systems.
%build %build
# Install to sharedstatedir by redirecting LOCALSTATEDIR
make genconfig \ make genconfig \
PREFIX=%{_prefix} \ PREFIX=%{_prefix} \
BINDIR=%{_bindir} \ BINDIR=%{_bindir} \
SYSCONFDIR=%{_sysconfdir} \ SYSCONFDIR=%{_sysconfdir} \
DATADIR=%{_datadir} \ DATADIR=%{_datadir} \
LOCALSTATEDIR=%{_localstatedir} \ LOCALSTATEDIR=%{_sharedstatedir} \
SHAREDSTATEDIR=%{_sharedstatedir} \ SHAREDSTATEDIR=%{_sharedstatedir} \
MANDIR=%{_mandir} \ MANDIR=%{_mandir} \
INFODIR=%{_infodir} \ INFODIR=%{_infodir} \
@@ -76,7 +77,7 @@ make genconfig \
SYSTEMDDIR=%{_unitdir} \ SYSTEMDDIR=%{_unitdir} \
BASHCOMPDIR=/etc/bash_completion.d/ \ BASHCOMPDIR=/etc/bash_completion.d/ \
FIREWALLDDIR=/usr/lib/firewalld/services \ FIREWALLDDIR=/usr/lib/firewalld/services \
WWCLIENTDIR=%{_libexecdir}/warewulf WWCLIENTDIR=/warewulf
make make