Compare commits

..

6 Commits

Author SHA1 Message Date
f3b9e04edd Glacier v4 testing 2023-02-03 11:32:29 -05:00
927b02c0f3 ok 2023-02-01 16:43:14 -05:00
5b93cb7aba merge conflict moment 2023-02-01 16:39:28 -05:00
87b85db1ce hi 2023-02-01 16:33:21 -05:00
66611d0b70 Glacier v3.3.0 2023-02-01 16:16:55 -05:00
9c59513859 Glacier v3.3.0 - Improvements to downloads 2023-02-01 12:47:08 -05:00
9 changed files with 126 additions and 14 deletions

8
install/post-install-2-1-23.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
WORKING_DIR=$(pwd)
SRC_DIR=$(pwd)/../src
mv /etc/glacier.conf /etc/glacier.conf.old
echo "WARNING: /etc/glacier.conf saved as /etc/glacier.conf.old\n"
mv $SRC_DIR/glacier.conf /etc

5
src/glacier-v4/glacier4 Executable file
View File

@ -0,0 +1,5 @@
#!/bin/sh
. /etc/glacier/hooks
get_pkg()

8
src/glacier-v4/input-test Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
. /etc/glacier/hooks
for r in ${ALLOWED_REPOS[@]}; do
DOWNLOAD_REPO(1 2 3 4 5 6 7 8)=$GREPO/$r
echo $DOWNLOAD_REPO
done

8
src/glacier-v4/input-test-2 Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
. /etc/glacier/hooks
for r in ${ALLOWED_REPOS[@]}; do
set REPO${ALLOWED_REPOS[@]}=$GREPO/${r}
echo ${REPO}${ALLOWED_REPOS[@]}
done

5
src/glacier-v4/input-test-3 Executable file
View File

@ -0,0 +1,5 @@
#!/bin/sh
for i; do
echo $1
done

5
src/test/array-test.sh Normal file
View File

@ -0,0 +1,5 @@
array=("world" "galaxy" "universe" "multiverse")
for i in "${array[@]}"; do
echo "$i"
done

37
src/test/glacier.conf Executable file
View File

@ -0,0 +1,37 @@
# /etc/glacier.conf
# The settings stored in this file will be loaded when Glacier is called
# For more information on each of these options, see https://git.everest
#
# Repository Glacier will download programs from
export GREPO="https://git.everestlinux.org/EverestLinux/glacier-pkgs/raw/branch/main"
export ALLOWED_REPOS=("world" "galaxy" "universe" "multiverse")
# Define colors and unicode symbols to be used
export red="\033[1;31m"
export green="\033[1;32m"
export yellow="\033[1;33m"
export blue="\033[1;34m"
export reset="\033[m"
export check="\xE2\x9C\x93"
export error="\xE2\x9C\x95"
export warning="\x21"
export question="\x3F"
# Which backend Glacier will use to download files
# Selecting more than one backend will cause breakage
export GLACIER_DOWNLOAD_BACKEND="wget --quiet --show-progress"
#export GLACIER_DOWNLOAD_BACKEND="curl --output $2.tar.gz"
#export GLACIER_DOWNLOAD_BACKEND="aria2c"
# Enable/disable package integrity checking
# WARNING: Keeping this enabled is strongly recommended.
# This option ensures all packages from the repositories are genuine.
export GLACIER_DO_INT_CHECK="true"
#
# end /etc/glacier.conf
#

View File

@ -1,33 +1,64 @@
#!/bin/sh
# Glacier - manage installed packages on a Linux system
# This program is free software - you can distribute it
# under the terms of the GNU General Public License v3.0,
# or at your option, any later version.
#
# This file is part of Glacier.
#
# Glacier is free software: you can redistribute it
# and/or modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation, either version 3
# of the License, or (at your option) any later version.
#
# Glacier is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.
# A copy of the GNU General Public License should have been
# recieved along with this program. If not, see
# <https://www.gnu.org/licenses>
# You should have received a copy of the GNU General Public License
# along with Glacier. If not, see <https://www.gnu.org/licenses/>.
source $(pwd)/glacier.conf
source $(pwd)/hooks-test
#get_pkg() {
# 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
# if [ "$?" != "0" ]; then
# printf "$red[ $error ]$reset Package '$2' not found.\n"
# exit 1
# 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
# if [ "$?" != "0" ]; then
# printf "$red[ $error ]$reset Package checksum not found.\n"
# exit 1
# fi
#}
get_pkg() {
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
printf "$red[ $error ]$reset Package '$2' not found.\n"
exit 1
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
printf "$red[ $error ]$reset Package checksum not found.\n"
exit 1
fi
}
int_check() {
if [ "$GLACIER_DO_INT_CHECK" = "true" ]; then
printf "$blue[ i ]$reset Checking package integrity...\n"
/usr/bin/glacier-integrity-check
mv *.checksum local_sum
sha256sum *.tar.gz > pkg_sum
/usr/bin/glacier-integrity-check local_sum pkg_sum
if [ "$?" != "0" ]; then
printf "$red[ $error ]$reset Integrity check failed.\n"
exit 1
@ -41,7 +72,7 @@ int_check() {
unpack_pkg() {
printf "$blue[ i ]$reset Unpacking $2.tar.gz...\n"
mkdir $2 && mv $2.tar.gz $2 && cd $2
tar -xf $2.tar.gz
pv $2.tar.gz | tar -xz
if [ "$?" != "0" ]; then
printf "$red[ $error ]$reset Could not unpack $2.tar.gz.\n"
cd .. && rm -rf $2
@ -117,7 +148,7 @@ clear_cache() {
#
debug_info() {
printf "$blue>> Glacier v3.2.0$reset\n"
printf "$blue>> Glacier v3.3.0$reset\n"
printf ">> Checking for valid download backend...\n"
whereis wget
whereis curl
@ -240,7 +271,7 @@ case $1 in
exit 0
;;
-v|--version)
printf "${blue}Glacier v3.2.0${reset}\n"
printf "${blue}Glacier v3.3.0${reset}\n"
exit 0
;;
-f|install)

5
src/test/hooks-test Executable file
View File

@ -0,0 +1,5 @@
#!/bin/sh
# Glacier Preloading Hooks
source /etc/make.conf
source $(pwd)/glacier.conf