v2.0 reorganises where files live so that each kind of thing has one obvious
home. The .menu / .form / .item file formats are unchanged — only
the directories move. A fresh install.sh (or a package) lays everything out
correctly; this note is for upgrading an existing 1.x install and for anyone
who keeps personal menus.
| Thing | 1.x location | 2.0 location |
|---|---|---|
| Perl program | <prefix>/bin/ccfe |
unchanged |
| Perl modules | <prefix>/lib/perl5/CCFE/ |
unchanged |
| System menus & forms | <prefix>/lib/ccfe/ |
<prefix>/share/ccfe/objects/ccfe/ |
| Themes | (doc samples) | <prefix>/share/ccfe/themes/ |
| System config | <prefix>/etc/ccfe.conf |
unchanged |
| Per-user menus | ~/.ccfe/<name>/ |
~/.local/share/ccfe/<name>/ (XDG) |
| Per-user config | ~/.ccfe/<name>.conf |
~/.config/ccfe/<name>.conf (XDG) |
~/.ccfe/ is still searched as a fallback, so existing personal menus keep
working until you move them. XDG_DATA_HOME / XDG_CONFIG_HOME are honoured
if set.
-
Reinstall over the same prefix (system menus/forms/themes land in the new
share/ccfe/locations):cd src && sh install.sh -b -p "<prefix>"
-
Move your personal menus and config to the XDG dirs (optional — the
~/.ccfe/fallback keeps them working meanwhile):mkdir -p ~/.local/share/ccfe ~/.config/ccfe mv ~/.ccfe/ccfe ~/.local/share/ccfe/ # your menu tree(s) mv ~/.ccfe/*.conf ~/.config/ccfe/ # your per-user config
-
Plugins: packaged plugins that discover the menu directory should read
OBJ_DIRfromccfe -c(it falls back to the oldLIB_DIRname for 1.x). The bundledccfe-plugin-sysmon/install.shshows the pattern.
ccfe -cnow printsOBJ_DIR(menus/forms) andTHEME_DIRin addition toLIB_DIR.LIB_DIRis retained for older plugin scripts.- The
CCFE_OBJ_DIRenvironment variable overrides the objects directory; the oldCCFE_LIB_DIRis still honoured. - Paths are now resolved at runtime from the program's own location, so
the installed
ccfeis byte-identical to the source and the whole install is relocatable — move the prefix and it still works. A split (FHS-style) layout is selected with environment variables:CCFE_PREFIX,CCFE_ETC_DIR,CCFE_MSG_DIR,CCFE_LOG_DIR,CCFE_OBJ_DIR,CCFE_THEME_DIR(e.g.CCFE_ETC_DIR=/etc/ccfe). - Nothing about the
.menu/.form/.item/.confsyntax changed.