190 lines
7.1 KiB
Makefile
190 lines
7.1 KiB
Makefile
NAME = tuned
|
|
VERSION = $(shell awk '/^Version:/ {print $$2}' tuned.spec)
|
|
RELEASE = $(shell awk '/^Release:/ {print $$2}' tuned.spec)
|
|
VERSIONED_NAME = $(NAME)-$(VERSION)
|
|
|
|
DESTDIR = /
|
|
MANDIR = /usr/share/man/
|
|
GITTAG = v$(VERSION)
|
|
|
|
DIRS = doc doc/examples contrib tuningplugins monitorplugins ktune udev libexec
|
|
FILES = tuned tuned.spec Makefile tuned.py tuned.initscript tuned.conf tuned-adm tuned_adm.py tuned-adm.pam tuned-adm.consolehelper tuned_nettool.py tuned_logging.py tuned.bash tuned.tmpfiles tuned.service
|
|
FILES_doc = doc/DESIGN.txt doc/README.utils doc/TIPS.txt doc/tuned.8 doc/tuned.conf.5 doc/tuned-adm.1 doc/README.scomes doc/diskdevstat.8 doc/netdevstat.8 doc/scomes.8 doc/varnetload.8 doc/tuned-profiles.7 doc/tuned-profiles-sap.7 doc/tuned-profiles-sap-hana.7 doc/tuned-profiles-oracle.7
|
|
FILES_examples = ktune/sysctl.ktune
|
|
FILES_contrib = contrib/diskdevstat contrib/netdevstat contrib/scomes contrib/varnetload
|
|
FILES_tuningplugins = tuningplugins/cpu.py tuningplugins/disk.py tuningplugins/net.py tuningplugins/__init__.py
|
|
FILES_monitorplugins = monitorplugins/cpu.py monitorplugins/disk.py monitorplugins/net.py monitorplugins/__init__.py
|
|
FILES_ktune = ktune/ktune.init ktune/ktune.sysconfig ktune/README.ktune
|
|
FILES_udev_rules = udev/80-tuned-iosched.rules udev/80-tuned-mpath-iosched.rules udev/81-tuned-add-disk.rules
|
|
FILES_udev_scripts = udev/tuned-mpath-iosched udev/tuned-request-ktune-restart
|
|
FILES_libexec = libexec/pmqos-static.py
|
|
DOCS = AUTHORS ChangeLog COPYING INSTALL NEWS README
|
|
|
|
DEFAULT_PROFILE = default
|
|
|
|
INITSYSTEM = sysvinit
|
|
|
|
distarchive: tag archive
|
|
|
|
archive:
|
|
rm -rf $(VERSIONED_NAME)
|
|
mkdir -p $(VERSIONED_NAME)
|
|
cp $(FILES) $(VERSIONED_NAME)/
|
|
cp $(DOCS) $(VERSIONED_NAME)/
|
|
for dir in $(DIRS); do \
|
|
mkdir -p $(VERSIONED_NAME)/$$dir; \
|
|
done;
|
|
cp $(FILES_doc) $(VERSIONED_NAME)/doc
|
|
cp $(FILES_examples) $(VERSIONED_NAME)/doc/examples
|
|
cp $(FILES_contrib) $(VERSIONED_NAME)/contrib
|
|
cp $(FILES_tuningplugins) $(VERSIONED_NAME)/tuningplugins
|
|
cp $(FILES_monitorplugins) $(VERSIONED_NAME)/monitorplugins
|
|
cp $(FILES_ktune) $(VERSIONED_NAME)/ktune
|
|
cp $(FILES_udev_rules) $(FILES_udev_scripts) $(VERSIONED_NAME)/udev
|
|
cp $(FILES_libexec) $(VERSIONED_NAME)/libexec
|
|
cp -a tune-profiles $(VERSIONED_NAME)/tune-profiles
|
|
|
|
tar cjf $(VERSIONED_NAME).tar.bz2 $(VERSIONED_NAME)
|
|
ln -fs $(VERSIONED_NAME).tar.bz2 latest-archive
|
|
|
|
tag:
|
|
git tag -f $(GITTAG)
|
|
git push --tags
|
|
|
|
srpm: archive
|
|
rm -rf rpm-build-dir
|
|
mkdir rpm-build-dir
|
|
rpmbuild --define "_sourcedir `pwd`/rpm-build-dir" --define "_srcrpmdir `pwd`/rpm-build-dir" \
|
|
--define "_specdir `pwd`/rpm-build-dir" --nodeps -ts $(VERSIONED_NAME).tar.bz2
|
|
|
|
build:
|
|
# Nothing to build
|
|
|
|
install: install-base install-parts-$(INITSYSTEM)
|
|
|
|
install-base:
|
|
mkdir -p $(DESTDIR)
|
|
|
|
# Install the binaries
|
|
mkdir -p $(DESTDIR)/usr/sbin/
|
|
install -m 0755 tuned $(DESTDIR)/usr/sbin/
|
|
install -m 0755 tuned-adm $(DESTDIR)/usr/sbin/
|
|
|
|
# Install the consolehelper files
|
|
mkdir -p $(DESTDIR)/etc/pam.d/
|
|
install -m 0644 tuned-adm.pam $(DESTDIR)/etc/pam.d/tuned-adm
|
|
mkdir -p $(DESTDIR)/etc/security/console.apps/
|
|
install -m 0644 tuned-adm.consolehelper $(DESTDIR)/etc/security/console.apps/tuned-adm
|
|
mkdir -p $(DESTDIR)/usr/bin/
|
|
ln -s consolehelper $(DESTDIR)/usr/bin/tuned-adm
|
|
|
|
# Install the plugins and classes
|
|
mkdir -p $(DESTDIR)/usr/share/$(NAME)/
|
|
mkdir -p $(DESTDIR)/usr/share/$(NAME)/tuningplugins
|
|
mkdir -p $(DESTDIR)/usr/share/$(NAME)/monitorplugins
|
|
install -m 0644 tuned.py $(DESTDIR)/usr/share/$(NAME)/
|
|
install -m 0644 tuned_adm.py $(DESTDIR)/usr/share/$(NAME)/
|
|
install -m 0644 tuned_nettool.py $(DESTDIR)/usr/share/$(NAME)/
|
|
install -m 0644 tuned_logging.py $(DESTDIR)/usr/share/$(NAME)/
|
|
for file in $(FILES_tuningplugins); do \
|
|
install -m 0644 $$file $(DESTDIR)/usr/share/$(NAME)/tuningplugins; \
|
|
done
|
|
for file in $(FILES_monitorplugins); do \
|
|
install -m 0644 $$file $(DESTDIR)/usr/share/$(NAME)/monitorplugins; \
|
|
done
|
|
|
|
# Install contrib systemtap scripts
|
|
for file in $(FILES_contrib); do \
|
|
install -m 0755 $$file $(DESTDIR)/usr/sbin/; \
|
|
done
|
|
|
|
# Install config file
|
|
mkdir -p $(DESTDIR)/etc
|
|
ln -s /etc/tune-profiles/$(DEFAULT_PROFILE)/tuned.conf $(DESTDIR)/etc/tuned.conf
|
|
|
|
mkdir -p $(DESTDIR)/etc/tune-profiles/
|
|
|
|
# Install manpages
|
|
mkdir -p $(DESTDIR)/usr/share/man/man8
|
|
install -m 0644 doc/tuned.8 $(DESTDIR)/usr/share/man/man8
|
|
install -m 0644 doc/diskdevstat.8 $(DESTDIR)/usr/share/man/man8
|
|
install -m 0644 doc/netdevstat.8 $(DESTDIR)/usr/share/man/man8
|
|
install -m 0644 doc/scomes.8 $(DESTDIR)/usr/share/man/man8
|
|
install -m 0644 doc/varnetload.8 $(DESTDIR)/usr/share/man/man8
|
|
mkdir -p $(DESTDIR)/usr/share/man/man5
|
|
install -m 0644 doc/tuned.conf.5 $(DESTDIR)/usr/share/man/man5
|
|
mkdir -p $(DESTDIR)/usr/share/man/man1
|
|
install -m 0644 doc/tuned-adm.1 $(DESTDIR)/usr/share/man/man1
|
|
mkdir -p $(DESTDIR)/usr/share/man/man7
|
|
install -m 0644 doc/tuned-profiles.7 $(DESTDIR)/usr/share/man/man7
|
|
install -m 0644 doc/tuned-profiles-sap.7 $(DESTDIR)/usr/share/man/man7
|
|
install -m 0644 doc/tuned-profiles-sap-hana.7 $(DESTDIR)/usr/share/man/man7
|
|
install -m 0644 doc/tuned-profiles-oracle.7 $(DESTDIR)/usr/share/man/man7
|
|
|
|
# Install ktune configuration
|
|
install -m 755 -d $(DESTDIR)/etc
|
|
install -m 755 -d $(DESTDIR)/etc/ktune.d
|
|
install -m 755 -d $(DESTDIR)/etc/sysconfig
|
|
ln -s /etc/tune-profiles/$(DEFAULT_PROFILE)/ktune.sysconfig $(DESTDIR)/etc/sysconfig/ktune
|
|
ln -s /etc/tune-profiles/$(DEFAULT_PROFILE)/sysctl.ktune $(DESTDIR)/etc/ktune.d/tunedadm.conf
|
|
|
|
# Install tune-profiles
|
|
install -m 755 -d $(DESTDIR)/etc/tune-profiles
|
|
cp -a tune-profiles/* $(DESTDIR)/etc/tune-profiles
|
|
echo -n $(DEFAULT_PROFILE) >$(DESTDIR)/etc/tune-profiles/active-profile
|
|
|
|
# Install bash completion
|
|
mkdir -p $(DESTDIR)/etc/bash_completion.d
|
|
install -m 0644 tuned.bash $(DESTDIR)/etc/bash_completion.d/tuned.bash
|
|
|
|
# Create log directory
|
|
mkdir -p $(DESTDIR)/var/log/tuned
|
|
|
|
# Create runtime directory
|
|
mkdir -p $(DESTDIR)/var/run/tuned
|
|
|
|
# Install udev rules and scripts
|
|
install -m 755 -d $(DESTDIR)/lib/udev/rules.d
|
|
for file in $(FILES_udev_rules); do \
|
|
install -m 0644 $$file $(DESTDIR)/lib/udev/rules.d/; \
|
|
done
|
|
for file in $(FILES_udev_scripts); do \
|
|
install -m 0755 $$file $(DESTDIR)/lib/udev/; \
|
|
done
|
|
|
|
# Install libexec scripts
|
|
install -m 0755 -d $(DESTDIR)/usr/libexec/tuned
|
|
for file in $(FILES_libexec); do \
|
|
install -m 0755 $$file $(DESTDIR)/usr/libexec/tuned; \
|
|
done
|
|
|
|
install-parts-sysvinit:
|
|
# initscripts
|
|
mkdir -p $(DESTDIR)/etc/rc.d/init.d
|
|
install -m 0755 tuned.initscript $(DESTDIR)/etc/rc.d/init.d/tuned
|
|
install -m 0755 ktune/ktune.init $(DESTDIR)/etc/rc.d/init.d/ktune
|
|
|
|
install-parts-systemd:
|
|
# Setup runtime directory autocreation for tmpfs
|
|
mkdir -p $(DESTDIR)/etc/tmpfiles.d
|
|
install -m 0644 tuned.tmpfiles $(DESTDIR)/etc/tmpfiles.d/tuned.conf
|
|
|
|
# systemd units
|
|
mkdir -p $(DESTDIR)/usr/lib/systemd/system
|
|
install -m 0644 tuned.service $(DESTDIR)/usr/lib/systemd/system
|
|
|
|
# ktune: sysvinit compatiblity
|
|
mkdir -p $(DESTDIR)/etc/rc.d/init.d
|
|
install -m 0755 ktune/ktune.init $(DESTDIR)/etc/rc.d/init.d/ktune
|
|
|
|
changelog:
|
|
git log > ChangeLog
|
|
|
|
test:
|
|
./tests/tuned-test.py
|
|
|
|
clean:
|
|
rm -rf *.pyc monitorplugins/*.pyc tuningplugins/*.pyc $(VERSIONED_NAME) rpm-build-dir
|
|
|
|
.PHONY: clean archive srpm tag
|
|
|