Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
f02f83b6a9 | |||
f029628842 | |||
a11e8330c0 | |||
df51893d22 | |||
13cb96df04 | |||
4e84af0217 | |||
|
d43995befa |
78
src/glacier
78
src/glacier
@ -16,22 +16,28 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with Glacier. If not, see <https://www.gnu.org/licenses/>.
|
# along with Glacier. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
source /etc/glacier/hooks
|
. /etc/glacier/hooks
|
||||||
|
|
||||||
get_pkg() {
|
get_pkg() {
|
||||||
printf "$blue[ i ]$reset Downloading archive for package '$2'...\n"
|
printf "$blue[ i ]$reset Downloading archive for package '$2'...\n"
|
||||||
$GLACIER_DOWNLOAD_BACKEND $GREPO1/$2.tar.gz || $GLACIER_DOWNLOAD_BACKEND $GREPO2/$2.tar.gz || $GLACIER_DOWNLOAD_BACKEND $GREPO3/$2.tar.gz || $GLACIER_DOWNLOAD_BACKEND $GREPO4/$2.tar.gz || $GLACIER_DOWNLOAD_BACKEND $GREPO5/$2.tar.gz || $GLACIER_DOWNLOAD_BACKEND $GREPO6/$2.tar.gz || $GLACIER_DOWNLOAD_BACKEND $GREPO7/$2.tar.gz || $GLACIER_DOWNLOAD_BACKEND $GREPO8/$2.tar.gz
|
for r in ${ALLOWED_REPOS[@]}; do
|
||||||
|
$GLACIER_DOWNLOAD_BACKEND $GREPO/${r}/$2.tar.gz
|
||||||
|
done
|
||||||
|
find $2.tar.gz
|
||||||
if [ "$?" != "0" ]; then
|
if [ "$?" != "0" ]; then
|
||||||
printf "$red[ $error ]$reset Package '$2' not found.\n"
|
printf "$red[ $error ]$reset Package '$2' not found.\n"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
$GLACIER_DOWNLOAD_BACKEND $GREPO1/$2.checksum || $GLACIER_DOWNLOAD_BACKEND $GREPO2/$2.checksum || $GLACIER_DOWNLOAD_BACKEND $GREPO3/$2.checksum || $GLACIER_DOWNLOAD_BACKEND $GREPO4/$2.checksum || $GLACIER_DOWNLOAD_BACKEND $GREPO5/$2.checksum || $GLACIER_DOWNLOAD_BACKEND $GREPO6/$2.checksum || $GLACIER_DOWNLOAD_BACKEND $GREPO7/$2.checksum || $GLACIER_DOWNLOAD_BACKEND $GREPO8/$2.tar.gz
|
printf "$blue[ i ]$reset Downloading checksum for package '$2'...\n"
|
||||||
|
for r in ${ALLOWED_REPOS[@]}; do
|
||||||
|
$GLACIER_DOWNLOAD_BACKEND $GREPO/${r}/$2.checksum
|
||||||
|
done
|
||||||
|
find $2.checksum
|
||||||
if [ "$?" != "0" ]; then
|
if [ "$?" != "0" ]; then
|
||||||
printf "$red[ $error ]$reset Package checksum not found.\n"
|
printf "$red[ $error ]$reset Package checksum not found.\n"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
int_check() {
|
int_check() {
|
||||||
if [ "$GLACIER_DO_INT_CHECK" = "true" ]; then
|
if [ "$GLACIER_DO_INT_CHECK" = "true" ]; then
|
||||||
printf "$blue[ i ]$reset Checking package integrity...\n"
|
printf "$blue[ i ]$reset Checking package integrity...\n"
|
||||||
@ -127,7 +133,7 @@ clear_cache() {
|
|||||||
#
|
#
|
||||||
|
|
||||||
debug_info() {
|
debug_info() {
|
||||||
printf "$blue>> Glacier v3.2.1$reset\n"
|
printf "$blue>> Glacier v3.3.0$reset\n"
|
||||||
printf ">> Checking for valid download backend...\n"
|
printf ">> Checking for valid download backend...\n"
|
||||||
whereis wget
|
whereis wget
|
||||||
whereis curl
|
whereis curl
|
||||||
@ -217,15 +223,24 @@ pre_op_hooks() {
|
|||||||
/etc/glacier/pre-hooks
|
/etc/glacier/pre-hooks
|
||||||
}
|
}
|
||||||
|
|
||||||
post_hooks () {
|
post_hooks() {
|
||||||
printf "$blue[ i ]$reset Executing post-operation hooks...\n"
|
printf "$blue[ i ]$reset Executing post-operation hooks...\n"
|
||||||
/etc/glacier/post-hooks
|
/etc/glacier/post-hooks
|
||||||
}
|
}
|
||||||
|
|
||||||
|
search_for_local_pkg() {
|
||||||
|
printf "$blue[ i ]$reset Searching working directory for package $2...\n"
|
||||||
|
find $2.tar.gz
|
||||||
|
if [ "$?" != 0 ]; then
|
||||||
|
printf "$red[ $error ]$reset Package $2 not found.\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
-h|--help)
|
-h|--help)
|
||||||
printf "$blue[ * ] Glacier - Manage installed packages on the system$reset\n"
|
printf "$blue[ * ] Glacier - Manage installed packages on the system$reset\n"
|
||||||
printf "usage: glacier [-f] [-u] [-x] [-q] [-c] [-ci] [-cc] [--debuginfo]\n"
|
printf "usage: glacier [-f] [-u] [-x] [-q] [-c] [-ci] [-cc] [-li] [--debuginfo]\n"
|
||||||
printf "\n"
|
printf "\n"
|
||||||
printf "$blue=== Information ===$reset\n"
|
printf "$blue=== Information ===$reset\n"
|
||||||
printf "glacier {-h/--help} - Show this message and exit\n"
|
printf "glacier {-h/--help} - Show this message and exit\n"
|
||||||
@ -239,6 +254,7 @@ case $1 in
|
|||||||
printf "glacier {-c/cache} - Download a package to the cache\n"
|
printf "glacier {-c/cache} - Download a package to the cache\n"
|
||||||
printf "glacier {-ci/cache-install} - Install a package from the cache\n"
|
printf "glacier {-ci/cache-install} - Install a package from the cache\n"
|
||||||
printf "glacier {-cc/cache-clear} - Clear the cache\n"
|
printf "glacier {-cc/cache-clear} - Clear the cache\n"
|
||||||
|
printf "glacier {-li/local-install} - Install a package from a local directory\n"
|
||||||
printf "\n"
|
printf "\n"
|
||||||
printf "$blue=== Debugging ===$reset\n"
|
printf "$blue=== Debugging ===$reset\n"
|
||||||
printf "glacier {--debuginfo} - Show debugging information\n"
|
printf "glacier {--debuginfo} - Show debugging information\n"
|
||||||
@ -250,12 +266,12 @@ case $1 in
|
|||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
-v|--version)
|
-v|--version)
|
||||||
printf "${blue}Glacier v3.2.1${reset}\n"
|
printf "${blue}Glacier v3.3.0${reset}\n"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
-f|install)
|
-f|install)
|
||||||
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
||||||
printf "$red[ $error ]$reset Please run Glacier as root.\n"
|
printf "$red[ $error ]$reset Failed to commit to transaction - permission denied. Are you root?\n"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -287,7 +303,7 @@ case $1 in
|
|||||||
;;
|
;;
|
||||||
-u|update)
|
-u|update)
|
||||||
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
||||||
printf "$red[ $error ]$reset Please run Glacier as root.\n"
|
printf "$red[ $error ]$reset Failed to commit to transaction - permission denied. Are you root?\n"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -319,7 +335,7 @@ case $1 in
|
|||||||
;;
|
;;
|
||||||
-x|remove)
|
-x|remove)
|
||||||
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
||||||
printf "$red[ $error ]$reset Please run Glacier as root.\n"
|
printf "$red[ $error ]$reset Failed to commit to transaction - permission denied. Are you root?\n"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -356,7 +372,7 @@ case $1 in
|
|||||||
;;
|
;;
|
||||||
-c|cache)
|
-c|cache)
|
||||||
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
||||||
printf "$red[ $error ]$reset Please run Glacier as root.\n"
|
printf "$red[ $error ]$reset Failed to commit to transaction - permission denied. Are you root?\n"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -382,7 +398,7 @@ case $1 in
|
|||||||
;;
|
;;
|
||||||
-ci|cache-install)
|
-ci|cache-install)
|
||||||
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
||||||
printf "$red[ $error ]$reset Please run Glacier as root.\n"
|
printf "$red[ $error ]$reset Failed to commit to transaction - permission denied. Are you root?\n"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -414,7 +430,7 @@ case $1 in
|
|||||||
;;
|
;;
|
||||||
-cc|cache-clear)
|
-cc|cache-clear)
|
||||||
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
||||||
printf "$red[ $error ]$reset Please run Glacier as root.\n"
|
printf "$red[ $error ]$reset Failed to commit to transaction - permission denied. Are you root?\n"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -422,6 +438,40 @@ case $1 in
|
|||||||
printf "$green[ $check ]$reset Operation completed.\n"
|
printf "$green[ $check ]$reset Operation completed.\n"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
-li|local-install)
|
||||||
|
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
|
||||||
|
printf "$red[ $error ]$reset Failed to commit to transaction - permission denied. Are you root?\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$2" == "" ]; then
|
||||||
|
printf "$red[ $error ]$reset No package name was supplied.\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
search_for_local_pkg "$@"
|
||||||
|
|
||||||
|
printf "$blue[ i ]$reset Installing package '$2' from local file.\n"
|
||||||
|
read -p "$(printf "$blue[ ? ]$reset Proceed with this operation? (y/n) ")" -n 1 -r
|
||||||
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||||
|
cp $2.tar.gz /opt/glacier/workspace
|
||||||
|
cd /opt/glacier/workspace
|
||||||
|
printf "\n"
|
||||||
|
pre_hooks "$@"
|
||||||
|
unpack_pkg "$@"
|
||||||
|
pre_op_hooks "$@"
|
||||||
|
installpkg "$@"
|
||||||
|
post_hooks "$@"
|
||||||
|
cleanup_keep_rm "$@"
|
||||||
|
printf "$green[ $check ]$reset Operation completed.\n"
|
||||||
|
exit 0
|
||||||
|
elif [[ $REPLY =~ ^[Nn]$ ]]; then
|
||||||
|
printf "\n"
|
||||||
|
printf "$red[ $error ]$reset Aborting.\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
--debuginfo)
|
--debuginfo)
|
||||||
debug_info "$@"
|
debug_info "$@"
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -3,31 +3,10 @@
|
|||||||
# For more information on each of these options, see https://git.everest
|
# For more information on each of these options, see https://git.everest
|
||||||
#
|
#
|
||||||
|
|
||||||
# Repositories Glacier will use
|
# Repository Glacier will download programs from
|
||||||
|
|
||||||
#[world]
|
export GREPO="https://git.everestlinux.org/EverestLinux/glacier-pkgs/raw/branch/main"
|
||||||
export GREPO1="https://git.everestlinux.org/EverestLinux/glacier-pkgs/raw/branch/main/world" # System Software
|
export ALLOWED_REPOS=("world" "galaxy" "universe" "multiverse")
|
||||||
|
|
||||||
#[galaxy]
|
|
||||||
export GREPO2="https://git.everestlinux.org/EverestLinux/glacier-pkgs/raw/branch/main/galaxy" # GPL Only Software
|
|
||||||
|
|
||||||
#[universe]
|
|
||||||
export GREPO3="https://git.everestlinux.org/EverestLinux/glacier-pkgs/raw/branch/main/universe" # All Open Source Software
|
|
||||||
|
|
||||||
#[multiverse]
|
|
||||||
#export GREPO4=https://git.everestlinux.org/EverestLinux/glacier-pkgs/raw/branch/main/multiverse # Proprietary Software
|
|
||||||
|
|
||||||
#[world-testing]
|
|
||||||
#export GREPO5=https://git.everestlinux.org/EverestLinux/glacier-pkgs/raw/branch/main/world-testing
|
|
||||||
|
|
||||||
#[galaxy-testing]
|
|
||||||
#export GREPO6=https://git.everestlinux.org/EverestLinux/glacier-pkgs/raw/branch/main/galaxy-testing
|
|
||||||
|
|
||||||
#[universe-testing]
|
|
||||||
#export GREPO7=https://git.everestlinux.org/EverestLinux/glacier-pkgs/raw/branch/main/universe-testing
|
|
||||||
|
|
||||||
#[multiverse-testing]
|
|
||||||
#export GREPO8=https://git.everestlinux.org/EverestLinux/glacier-pkgs/raw/branch/main/multiverse-testing
|
|
||||||
|
|
||||||
# Define colors and unicode symbols to be used
|
# Define colors and unicode symbols to be used
|
||||||
export red="\033[1;31m"
|
export red="\033[1;31m"
|
||||||
@ -47,8 +26,8 @@
|
|||||||
#export GLACIER_DOWNLOAD_BACKEND="aria2c"
|
#export GLACIER_DOWNLOAD_BACKEND="aria2c"
|
||||||
|
|
||||||
# Enable/disable package integrity checking
|
# Enable/disable package integrity checking
|
||||||
# This option requires Python to be installed
|
|
||||||
# WARNING: Keeping this enabled is strongly recommended.
|
# WARNING: Keeping this enabled is strongly recommended.
|
||||||
|
# This option ensures all packages from the repositories are genuine.
|
||||||
|
|
||||||
export GLACIER_DO_INT_CHECK="true"
|
export GLACIER_DO_INT_CHECK="true"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user