#!/bin/bash

#---------------------------------------------------#
#													#
#		SCRIPT FOR RE-INSTALL PACKAGE OFFLINE		#
#													#
#									by julioverne	#
#													#
#---------------------------------------------------#

PACKAGE_ID=$1

FILES=$(dpkg-query -L $PACKAGE_ID)

if [ -z "$FILES" ]; then
	echo "Package not installed.."
	exit 0
fi

CONTROL=$(dpkg-query -s $PACKAGE_ID)
EXTRA_LIST=$(dpkg-query --control-list $PACKAGE_ID)

WORK_PATH="/var/jb/CT5.tmp/deb"
rm -rf "$WORK_PATH"

mkdir -p "$WORK_PATH"
mkdir -p "$WORK_PATH/DEBIAN/"

printf "$CONTROL" | grep -v Status >>"$WORK_PATH"/DEBIAN/control

for line_now in $EXTRA_LIST; do
	if [ "$line_now" = "md5sums" ];	then
		continue
	fi
	EXTRA_FILE=$(dpkg-query -c $PACKAGE_ID $line_now)
	if [ -f "$EXTRA_FILE" ]; then
		cp -fp $EXTRA_FILE "$WORK_PATH/DEBIAN/$line_now"
	fi
done

for line_now in $FILES; do
	if [ "$line_now" = "/." ]; then
		continue
	fi
	if [ -d "$line_now" ]; then
		mkdir -p $WORK_PATH$line_now
	elif [ -f "$line_now" ]; then
		cp -fp $line_now $WORK_PATH$line_now
	fi
done

if [ -f "/var/jb/CT5.tmp/repack_script" ]; then
	chmod 755 /var/jb/CT5.tmp/repack_script
	chown 0:0 /var/jb/CT5.tmp/repack_script
	/var/jb/CT5.tmp/repack_script "$PACKAGE_ID"
fi

dpkg-deb -Zgzip -b "$WORK_PATH"
rm -rf "$WORK_PATH"

if [ -f "$WORK_PATH.deb" ]; then
	dpkg -i "$WORK_PATH.deb"
	rm -rf "$WORK_PATH.deb"
fi

exit 0