s243a icon

sync_file_lists.sh (Draft #1)

s243a | PRO | 02/16/21 06:20:43 AM UTC | 0 ⭐ | 1727 👁️ | Never ⏰ | []
Bash |

1.26 KB

|

None

|

0 👍

/

0 👎

#/bin/bash
CHROOT_DIR="${CHROOT_DIR:-/mnt/+aufs+devsave+test_save+ext2/Kali/kalipup_CLI.tar.gz.extracted/kalipup/puppy_upupgg+d_20.10.sfs.extracted/kali}"
DISTRO_PKGS_SPECS="${CHROOT_DIR}/var/packages/DISTRO_PKGS_SPECS"
mkdir -p "$CHROOT_DIR"/var/packages/builtin-breakout
ADMIN_DIR=/var/lib/dpkg
mkdir -p "$CHROOT_DIR/${ADMIN_DIR}"/info
 
 
while read line; do
  [[ ! "$line" = 'yes|'*'|'*'|'* ]] && continue
  pkg_grp="$(echo "$line" | cut -f2 -d'|')"
  cd "$CHROOT_DIR"/var/packages/builtin-breakout
  [ ! -e ../builtin_files/"$pkg_grp" ] && continue
  pkgs_str="$(echo "$line" | cut -f3 -d'|')"
  pkgs=(${pkgs_str//,/" "})
  cd "$CHROOT_DIR"/var/packages/builtin-breakout
  
  if [ ${#pkgs[@]} -eq 1 ]; then
    [ ! -e "${pkgs[0]}" ] && ln ../builtin_files/"$pkg_grp" "${pkgs[0]}"
    cd "$CHROOT_DIR/${ADMIN_DIR}"/info
    [ ! -e "${pkgs[0]}".list ] && ln "${pkgs[0]}" "$CHROOT_DIR"/${ADMIN_DIR}/info/"${pkgs[0]}".list
  else
    for a_pkg in "${pkgs[0]}"; do
      [ ! -e "${a_pkg}" ] && ln -s ../builtin_files/"$pkg_grp" "${a_pkg}"
      cd "$CHROOT_DIR/${ADMIN_DIR}"/info
      [ ! -e "${a_pkg}".list ] && ln -s ../../../packages/builtin-breakout/"${a_pkg}" "$CHROOT_DIR"/${ADMIN_DIR}/info/"${a_pkg}".list
    done
  fi 
done < <(cat "$DISTRO_PKGS_SPECS")
 

Comments