File: package_preinstall.sh.in

package info (click to toggle)
broccoli-python 0.62-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 460 kB
  • ctags: 105
  • sloc: python: 407; sh: 202; makefile: 21
file content (34 lines) | stat: -rwxr-xr-x 954 bytes parent folder | download | duplicates (18)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/sh

# This script is meant to be used by binary packages pre-installation.
# Variables between @ symbols are replaced by CMake at configure time.

configFiles="@INSTALLED_CONFIG_FILES@"
backupNamesFile=/tmp/bro_install_backups

# Checks if a config file exists in a default location and makes a backup
# so that a modified version is not clobbered
backupFile () {
    origFile="$1"

    if [ -e ${origFile} ]; then
        # choose a file suffix that doesn't already exist
        ver=1
        while [ -e ${origFile}.${ver} ]; do
            ver=$(( ver + 1 ))
        done

        backupFile=${origFile}.${ver}

        cp -p ${origFile} ${backupFile}

        # the post upgrade script will check whether the installed
        # config file actually differs from existing version
        # and delete unnecessary backups
        echo "${backupFile}" >> ${backupNamesFile}
    fi
}

for file in ${configFiles}; do
    backupFile "${file}"
done