diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2008-12-08 01:51:17 +0000 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2008-12-08 01:51:17 +0000 |
commit | 9fd2789785f0183ffcc4efa64af1227100644dda (patch) | |
tree | 9e4ec9b01c6c0faf09b4c2c6b25c58c060cb3806 /scripts/lib/ptxd_lib_cfgchg.sh | |
parent | 8c52c2abcd8daffb34669d97900ee088feed7405 (diff) | |
download | ptxdist-9fd2789785f0183ffcc4efa64af1227100644dda.tar.gz ptxdist-9fd2789785f0183ffcc4efa64af1227100644dda.tar.xz |
* bin/ptxdist, scripts/lib/ptxd_lib_cfgchg.sh:
activated reconfigure packet if config changed
git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@9196 33e552b5-05e3-0310-8538-816dae2090ed
Diffstat (limited to 'scripts/lib/ptxd_lib_cfgchg.sh')
-rw-r--r-- | scripts/lib/ptxd_lib_cfgchg.sh | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/scripts/lib/ptxd_lib_cfgchg.sh b/scripts/lib/ptxd_lib_cfgchg.sh index fbfcf0423..b7f5d82cf 100644 --- a/scripts/lib/ptxd_lib_cfgchg.sh +++ b/scripts/lib/ptxd_lib_cfgchg.sh @@ -1,7 +1,5 @@ #!/bin/bash -return 0 - ptxd_cfgchg_generate() { gawk ' @@ -22,13 +20,17 @@ ptxd_cfgchg_generate() opt = gensub(/[-\+](|# )PTXCONF_/, "", "g", $1); do { - if (opt in pkgs) - print opt, "state/" pkgs[opt] ".prepare"; - + if (opt in pkgs) { + pkgs_chged[opt] = pkgs[opt]; + break; + } } while (sub(/_+[^_]+$/, "", opt)); } END { + for (pkg in pkgs_chged) { + printf "'"${STATEDIR}/"'" pkgs_chged[pkg] ".prepare\0"; + } } ' \ @@ -39,7 +41,18 @@ ptxd_cfgchg_generate() ptxd_cfgchg() { - ptxd_cfgchg_generate + for cfg in PTXDIST_PTXCONFIG PTXDIST_PLATFORMCONFIG; do + local cfg_orig="${!cfg}" + local cfg_default="${cfg}_DEFAULT" + local cfg_old="${STATEDIR}/${!cfg_default#${PTXDIST_WORKSPACE}/}.deps_old" + + if [ -e "${cfg_old}" ]; then + diff -u "${cfg_old}" "${cfg_orig}" | \ + ptxd_cfgchg_generate | \ + xargs -0 -r rm + #check_pipe_status + fi + + cp "${cfg_orig}" "${cfg_old}" || return + done } - -cat | ptxd_cfgchg |