# 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
}
