mirror of
https://github.com/owntone/owntone-server.git
synced 2024-12-29 08:33:23 -05:00
8c9a164c4a
If --enable-install-user set add owntone system user and group (unless other user/group specified with --with-user or --with-group). The user will be added to pulse-access if the group is present. Don't overwrite config, it's a pita. Use same solution as shairport-sync where distros can use --disable-install_conf_file if required. A './configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var' will result in service files in /etc/systemd/system, which seems sensible. Package builds can specify other location, e.g. --with-systemdir=/lib/systemd/system, or ship their own service file and use --disable-install-systemd. Also added more cleanup on uninstall - before we where leaving stuff in /var/cache/owntone + the logs + the pid files.
84 lines
2.7 KiB
Makefile
84 lines
2.7 KiB
Makefile
if COND_LIBRESPOTC
|
|
LIBRESPOTC_SUBDIR=src/inputs/librespot-c
|
|
endif
|
|
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
RPM_SPEC_FILE = owntone.spec
|
|
CONF_FILE = owntone.conf
|
|
SYSTEMD_SERVICE_FILE = owntone.service
|
|
|
|
if COND_INSTALL_SYSTEMD
|
|
systemddir = $(SYSTEMD_DIR)
|
|
systemd_DATA = $(SYSTEMD_SERVICE_FILE)
|
|
endif
|
|
|
|
BUILT_SOURCES = $(CONF_FILE) $(SYSTEMD_SERVICE_FILE)
|
|
|
|
SUBDIRS = $(LIBRESPOTC_SUBDIR) sqlext src htdocs
|
|
|
|
dist_man_MANS = owntone.8
|
|
|
|
nobase_dist_doc_DATA = \
|
|
UPGRADING \
|
|
README.md \
|
|
README_JSON_API.md \
|
|
README_PULSE.md \
|
|
README_ALSA.md \
|
|
README_SMARTPL.md \
|
|
README_PLAYER_WEBINTERFACE.md \
|
|
README_RADIO_STREAMS.md \
|
|
scripts/pairinghelper.sh
|
|
|
|
EXTRA_DIST = \
|
|
$(CONF_FILE).in \
|
|
$(SYSTEMD_SERVICE_FILE).in \
|
|
$(RPM_SPEC_FILE)
|
|
|
|
install-data-hook:
|
|
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log"
|
|
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run"
|
|
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/$(PACKAGE)"
|
|
if COND_INSTALL_USER
|
|
( $(GETENT) group $(OWNTONE_GROUP) &> /dev/null || $(GROUPADD) --system $(OWNTONE_GROUP) )
|
|
( $(GETENT) passwd $(OWNTONE_USER) &> /dev/null || $(USERADD) --system --no-create-home --gid $(OWNTONE_GROUP) --groups audio --shell /usr/sbin/nologin $(OWNTONE_USER) )
|
|
( ! $(GETENT) group pulse-access &> /dev/null || $(USERMOD) --append --groups pulse-access $(OWNTONE_USER) )
|
|
$(CHOWN) $(OWNTONE_USER).$(OWNTONE_GROUP) "$(DESTDIR)$(localstatedir)/cache/$(PACKAGE)"
|
|
endif
|
|
if COND_LIBSPOTIFY
|
|
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/$(PACKAGE)/libspotify"
|
|
endif
|
|
# we do this manually instead of using sysconf_DATA because it overwrites existing config
|
|
if COND_INSTALL_CONF_FILE
|
|
$(MKDIR_P) "$(DESTDIR)$(sysconfdir)"
|
|
[ -f $(DESTDIR)$(sysconfdir)/$(CONF_FILE) ] || $(INSTALL_DATA) $(CONF_FILE) $(DESTDIR)$(sysconfdir)/$(CONF_FILE)
|
|
endif
|
|
|
|
uninstall-hook:
|
|
( cd "$(DESTDIR)$(localstatedir)/cache" && rm -rf $(PACKAGE) )
|
|
( cd "$(DESTDIR)$(localstatedir)/log" && rm -f "$(PACKAGE).log*" )
|
|
( cd "$(DESTDIR)$(localstatedir)/run" && rm -f "$(PACKAGE).pid" )
|
|
if COND_INSTALL_USER
|
|
( ! $(GETENT) passwd $(OWNTONE_USER) &> /dev/null || $(USERDEL) $(OWNTONE_USER) )
|
|
endif
|
|
if COND_INSTALL_CONF_FILE
|
|
( cd "$(DESTDIR)$(sysconfdir)" && rm -f $(CONF_FILE) )
|
|
endif
|
|
|
|
CLEANFILES = $(BUILT_SOURCES)
|
|
|
|
do_subst = $(SED) -e 's|@sbindir[@]|$(sbindir)|g' \
|
|
-e 's|@localstatedir[@]|$(localstatedir)|g' \
|
|
-e 's|@PACKAGE[@]|$(PACKAGE)|g' \
|
|
-e 's|@OWNTONE_USER[@]|$(OWNTONE_USER)|g'
|
|
|
|
# these files use $prefix, which is determined at build (not configure) time
|
|
$(CONF_FILE) $(SYSTEMD_SERVICE_FILE): Makefile
|
|
$(AM_V_at)rm -f $@ $@-t
|
|
$(AM_V_GEN)$(do_subst) "$(srcdir)/$@.in" > $@-t
|
|
$(AM_V_at)mv $@-t $@
|
|
|
|
$(CONF_FILE): $(srcdir)/$(CONF_FILE).in
|
|
|
|
$(SYSTEMD_SERVICE_FILE): $(srcdir)/$(SYSTEMD_SERVICE_FILE).in
|