summarylogtreecommitdiffstats
path: root/pacback.install
blob: 5dd735a0a5fe2189f34742e0700193b20f7faf7f (plain)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Maintainer: Attila Greguss <floyd0122[at]gmail[dot]com>
# Co-Maintainer/Author: Justin Timperio <justintimperio[at]gmail[dot]com>

post_install() {
    # Installs Snapshot Hook
    pacback -ih
    
    # Make Base Dirs
    mkdir -p /var/lib/pacback
    mkdir -p /var/lib/pacback/restore-points
    mkdir -p /var/lib/pacback/snapshots
}

post_upgrade() {
    ## Patch pacman Hook Location
    if [ -f "/etc/pacman.d/hooks/pacback.hook" ]; then
      mv /etc/pacman.d/hooks/pacback.hook /usr/share/libalpm/hooks/pacback.hook
    fi

    ## Fix For Broken Pacakge Versions
    mkdir -p /var/lib/pacback
    mkdir -p /var/lib/pacback/restore-points
    mkdir -p /var/lib/pacback/snapshots
    
    ## Run Alpha Upgrade
    # Fix First Line
    find /var/lib/pacback -type f -name '*.meta' -exec sed -i '1 s/^====== Pacback RP.*/======= Pacback Info =======/' {} +

    # Fix Version Field
    find /var/lib/pacback -type f -name '*.meta' -exec sed -i 's/^Pacback Version:/Version:/' {} +

    # Add Type Fields
    find /var/lib/pacback -type f -name '*.meta' -exec sed -i '/^Time Created:.*/a Type: Restore Point' {} +
    find /var/lib/pacback -type f -name '*.meta' -exec sed -i 's/^Packages in RP: 0/SubType: Light/' {} +

    # Remove Fields If No Packages Are Cached
    find /var/lib/pacback -type f -name '*.meta' -exec sed -i '/^Size of Packages in RP: 0B/d' {} +

    # Add SubType Field
    find /var/lib/pacback -type f -name '*.meta' -exec sed -i '/^Packages in RP:.*/i SubType: Full' {} +

    # Fix Fields If Package Are Cached
    find /var/lib/pacback -type f -name '*.meta' -exec sed -i 's/^Packages in RP:/Packages Cached:/' {} +
    find /var/lib/pacback -type f -name '*.meta' -exec sed -i 's/^Size of Packages in RP:/Package Cache Size:/' {} +

    # Fix Custom Dir Fields
    find /var/lib/pacback -type f -name '*.meta' -exec sed -i 's/^Dirs /Dir /' {} +

    # Change Package Cache Folder Name
    find /var/lib/pacback/restore-points -type d -name 'pac_cache' -exec rename 'pac_cache' 'pkg-cache' {} +
}

pre_remove() {
    # Removes Snapshot Hook
    pacback -rh
}

post_remove() {
    # Removes Cached User Data
    rm -Rf /var/lib/pacback
}