mirror of
https://github.com/MinecraftServerControl/mscs.git
synced 2024-11-14 22:38:18 -07:00
Makefile: add update functions
This commit is contained in:
parent
c3aa5b9c1e
commit
f38a3fe53e
5
Makefile
5
Makefile
@ -8,6 +8,8 @@ MSCS_INIT_D := /etc/init.d/mscs
|
||||
MSCS_SERVICE := /etc/systemd/system/mscs.service
|
||||
MSCS_COMPLETION := /etc/bash_completion.d/mscs
|
||||
|
||||
UPDATE_D := $(wildcard update.d/*)
|
||||
|
||||
.PHONY: install update clean
|
||||
|
||||
install: $(MSCS_HOME) update
|
||||
@ -27,6 +29,9 @@ update:
|
||||
if which systemctl; then \
|
||||
cp mscs.service $(MSCS_SERVICE); \
|
||||
fi
|
||||
@for script in $(UPDATE_D); do \
|
||||
sh $$script; \
|
||||
done; true;
|
||||
|
||||
clean:
|
||||
if which systemctl; then \
|
||||
|
85
update.d/10-old-defaults
Normal file
85
update.d/10-old-defaults
Normal file
@ -0,0 +1,85 @@
|
||||
#!/bin/sh
|
||||
|
||||
convert_defaults() {
|
||||
printf "Converting defaults file: $1\n"
|
||||
# Copy the old defaults file to the new location.
|
||||
cp $1 $2
|
||||
# Edit the defaults file in place at its new location.
|
||||
perl -i -ne '
|
||||
%mscs = (
|
||||
"LOCATION" => "mscs-location",
|
||||
"WORLDS_LOCATION" => "mscs-worlds-location",
|
||||
"MINECRAFT_VERSIONS_URL" => "mscs-versions-url",
|
||||
"VERSIONS_JSON" => "mscs-versions-json",
|
||||
"VERSIONS_DURATION" => "mscs-versions-duration",
|
||||
"DETAILED_LISTING_PROPERTIES" => "mscs-detailed-listing",
|
||||
"DEFAULT_WORLD" => "mscs-default-world",
|
||||
"DEFAULT_PORT" => "mscs-default-port",
|
||||
"DEFAULT_IP" => "mscs-default-ip",
|
||||
"DEFAULT_VERSION_TYPE" => "mscs-default-version-type",
|
||||
"DEFAULT_CLIENT_VERSION" => "mscs-default-client-version",
|
||||
"DEFAULT_CLIENT_JAR" => "mscs-default-client-jar",
|
||||
"DEFAULT_CLIENT_URL" => "mscs-default-client-url",
|
||||
"DEFAULT_CLIENT_LOCATION" => "mscs-default-client-location",
|
||||
"DEFAULT_SERVER_VERSION" => "mscs-default-server-version",
|
||||
"DEFAULT_SERVER_JAR" => "mscs-default-server-jar",
|
||||
"DEFAULT_SERVER_URL" => "mscs-default-server-url",
|
||||
"DEFAULT_SERVER_ARGS" => "mscs-default-server-args",
|
||||
"DEFAULT_INITIAL_MEMORY" => "mscs-default-initial-memory",
|
||||
"DEFAULT_MAXIMUM_MEMORY" => "mscs-default-maximum-memory",
|
||||
"DEFAULT_SERVER_LOCATION" => "mscs-default-server-location",
|
||||
"DEFAULT_SERVER_COMMAND" => "mscs-default-server-command",
|
||||
"BACKUP_LOCATION" => "mscs-backup-location",
|
||||
"BACKUP_LOG" => "mscs-backup-log",
|
||||
"BACKUP_DURATION" => "mscs-backup-duration",
|
||||
"LOG_DURATION" => "mscs-log-duration",
|
||||
"ENABLE_MIRROR" => "mscs-enable-mirror",
|
||||
"MIRROR_PATH" => "mscs-mirror-path",
|
||||
"OVERVIEWER_BIN" => "mscs-overviewer-bin",
|
||||
"OVERVIEWER_URL" => "mscs-overviewer-url",
|
||||
"MAPS_LOCATION" => "mscs-maps-location",
|
||||
"MAPS_URL" => "mscs-maps-url"
|
||||
);
|
||||
# Strip CR and LF.
|
||||
$_ =~ s/[\r\n]//g;
|
||||
# Look for recognized key/value sets and other patterns to convert the
|
||||
# old defaults file to the new format.
|
||||
if ($_ =~ /^\s*(\w+)\s*=\s*(.*)/) {
|
||||
# Found a key/value set, test to see if it is one that can be converted.
|
||||
if (defined $mscs{$1}) {
|
||||
# Convert this key/value set.
|
||||
print "$mscs{$1}=$2\n";
|
||||
}
|
||||
else {
|
||||
# Turn this unrecognized key/value set into a comment.
|
||||
print "\x23 $_\n";
|
||||
}
|
||||
}
|
||||
elsif ($_ =~ /^\s*\x23/) {
|
||||
# Found a comment, print the line as is.
|
||||
print "$_\n";
|
||||
}
|
||||
elsif (length $_ > 0) {
|
||||
# Turn this unrecognized line into a comment.
|
||||
print "\x23 $_\n";
|
||||
}
|
||||
else {
|
||||
# Line was blank.
|
||||
print "\n"
|
||||
}
|
||||
' $2
|
||||
# Add a comment to the new defaults file.
|
||||
printf "# Automatically updated with old-defaults on %s\n%s\n" \
|
||||
"$(date)" "$(cat $2)" > $2
|
||||
# Remove the old defaults file.
|
||||
rm $1
|
||||
}
|
||||
|
||||
test -s /etc/default/mscs && \
|
||||
convert_defaults /etc/default/mscs /opt/mscs/mscs.defaults
|
||||
|
||||
test -s ~/mscs.conf && \
|
||||
convert_defaults ~/mscs.conf ~/mscs.defaults
|
||||
|
||||
test -s ~/.config/mscs/mscs.conf && \
|
||||
convert_defaults ~/.config/mscs/mscs.conf ~/.config/mscs/mscs.defaults
|
Loading…
Reference in New Issue
Block a user