Add a configuration file upgrade script
This isn't ready for distribution but allows users of the -git version of calcurse to easily update their configuration files without having to edit them manually. Following things are still missing here: * A command line parameter to specify a custom data directory. * A backup file that is created automatically before upgrading. * Debug output. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
parent
a5eea86a07
commit
afa57d77c0
@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS= foreign
|
|||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
SUBDIRS = po src test
|
SUBDIRS = po src test scripts
|
||||||
|
|
||||||
if ENABLE_DOCS
|
if ENABLE_DOCS
|
||||||
SUBDIRS += doc
|
SUBDIRS += doc
|
||||||
|
@ -145,8 +145,8 @@ AM_XGETTEXT_OPTION([--no-location --keyword=_ --keyword=N_])
|
|||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
# Create Makefiles
|
# Create Makefiles
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
AC_OUTPUT(Makefile doc/Makefile src/Makefile test/Makefile po/Makefile.in \
|
AC_OUTPUT(Makefile doc/Makefile src/Makefile test/Makefile scripts/Makefile \
|
||||||
po/Makefile)
|
po/Makefile.in po/Makefile)
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
# Summary
|
# Summary
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
3
scripts/Makefile.am
Normal file
3
scripts/Makefile.am
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
AUTOMAKE_OPTIONS = foreign
|
||||||
|
|
||||||
|
dist_bin_SCRIPTS = calcurse-upgrade
|
67
scripts/calcurse-upgrade
Normal file
67
scripts/calcurse-upgrade
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
CONFFILE=$HOME/.calcurse/conf
|
||||||
|
|
||||||
|
if grep -q -e '^auto_save=' -e '^auto_gc=' -e '^periodic_save=' \
|
||||||
|
-e '^confirm_quit=' -e '^confirm_delete=' -e '^skip_system_dialogs=' \
|
||||||
|
-e '^skip_progress_bar=' -e '^calendar_default_view=' \
|
||||||
|
-e '^week_begins_on_monday=' -e '^color-theme=' -e '^layout=' \
|
||||||
|
-e '^side-bar_width=' -e '^notify-bar_show=' -e '^notify-bar_date=' \
|
||||||
|
-e '^notify-bar_clock=' -e '^notify-bar_warning=' -e '^notify-bar_command=' \
|
||||||
|
-e '^notify-all=' -e '^output_datefmt=' -e '^input_datefmt=' \
|
||||||
|
-e '^notify-daemon_enable=' -e '^notify-daemon_log=' "$CONFFILE"; then
|
||||||
|
|
||||||
|
tmpfile="${TMPDIR:-/tmp}/calcurse-upgrade.$!"
|
||||||
|
[ -e "$tmpfile" ] && exit 1
|
||||||
|
|
||||||
|
sed -e 's/^auto_save=/general.autosave=/' \
|
||||||
|
-e 's/^auto_gc=/general.autogc=/' \
|
||||||
|
-e 's/^periodic_save=/general.periodicsave=/' \
|
||||||
|
-e 's/^confirm_quit=/general.confirmquit=/' \
|
||||||
|
-e 's/^confirm_delete=/general.confirmdelete=/' \
|
||||||
|
-e 's/^skip_system_dialogs=/general.systemdialogs=/' \
|
||||||
|
-e 's/^skip_progress_bar=/general.progressbar=/' \
|
||||||
|
-e 's/^calendar_default_view=/appearance.calendarview=/' \
|
||||||
|
-e 's/^week_begins_on_monday=/general.firstdayofweek=/' \
|
||||||
|
-e 's/^color-theme=/appearance.theme=/' \
|
||||||
|
-e 's/^layout=/appearance.layout=/' \
|
||||||
|
-e 's/^side-bar_width=/appearance.sidebarwidth=/' \
|
||||||
|
-e 's/^notify-bar_show=/appearance.notifybar=/' \
|
||||||
|
-e 's/^notify-bar_date=/format.notifydate=/' \
|
||||||
|
-e 's/^notify-bar_clock=/format.notifytime=/' \
|
||||||
|
-e 's/^notify-bar_warning=/notification.warning=/' \
|
||||||
|
-e 's/^notify-bar_command=/notification.command=/' \
|
||||||
|
-e 's/^notify-all=/notification.notifyall=/' \
|
||||||
|
-e 's/^output_datefmt=/format.outputdate=/' \
|
||||||
|
-e 's/^input_datefmt=/format.inputdate=/' \
|
||||||
|
-e 's/^notify-daemon_enable=/daemon.enable=/' \
|
||||||
|
-e 's/^notify-daemon_log=/daemon.log=/' "$CONFFILE" > "$tmpfile" || exit 1
|
||||||
|
mv "$tmpfile" "$CONFFILE" || exit 1
|
||||||
|
|
||||||
|
if grep -q -e '^[^#=][^#=]*$' -e '^[^#=][^#=]*#.*$' "$CONFFILE"; then
|
||||||
|
sed -e '/^general.autosave=/{N;s/\n//}' \
|
||||||
|
-e '/^general.autogc=/{N;s/\n//}' \
|
||||||
|
-e '/^general.periodicsave=/{N;s/\n//}' \
|
||||||
|
-e '/^general.confirmquit=/{N;s/\n//}' \
|
||||||
|
-e '/^general.confirmdelete=/{N;s/\n//}' \
|
||||||
|
-e '/^general.systemdialogs=/{N;s/\n//}' \
|
||||||
|
-e '/^general.progressbar=/{N;s/\n//}' \
|
||||||
|
-e '/^appearance.calendarview=/{N;s/\n//}' \
|
||||||
|
-e '/^general.firstdayofweek=/{N;s/\n//}' \
|
||||||
|
-e '/^appearance.theme=/{N;s/\n//}' \
|
||||||
|
-e '/^appearance.layout=/{N;s/\n//}' \
|
||||||
|
-e '/^appearance.sidebarwidth=/{N;s/\n//}' \
|
||||||
|
-e '/^appearance.notifybar=/{N;s/\n//}' \
|
||||||
|
-e '/^format.notifydate=/{N;s/\n//}' \
|
||||||
|
-e '/^format.notifytime=/{N;s/\n//}' \
|
||||||
|
-e '/^notification.warning=/{N;s/\n//}' \
|
||||||
|
-e '/^notification.command=/{N;s/\n//}' \
|
||||||
|
-e '/^notification.notifyall=/{N;s/\n//}' \
|
||||||
|
-e '/^format.outputdate=/{N;s/\n//}' \
|
||||||
|
-e '/^format.inputdate=/{N;s/\n//}' \
|
||||||
|
-e '/^daemon.enable=/{N;s/\n//}' \
|
||||||
|
-e '/^daemon.log=/{N;s/\n//}' "$CONFFILE" > "$tmpfile" || exit 1
|
||||||
|
mv "$tmpfile" "$CONFFILE" || exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user