Debloc dependent of apt

This was needed for Ubuntu systems where dpkg don't hold all the
informations. Though, apt is not used when using $DEBIAN_DB.
This commit is contained in:
Geoffrey Frogeye 2016-11-20 19:53:27 +01:00
parent 00a814ab4c
commit 5db10a9724
3 changed files with 21 additions and 17 deletions

View file

@ -4,7 +4,7 @@
function debloc-custom-cli { function debloc-custom-cli {
# Utils # Utils
debloc-install moreutils screen ncdu htop sl proxytunnel pass debloc-install moreutils screen ncdu htop sl proxytunnel pass pv
# Text editor # Text editor
debloc-install vim exuberant-ctags debloc-install vim exuberant-ctags

View file

@ -6,7 +6,7 @@ DEBLOC_ROOT=$HOME/.debloc/$ARCH
if [ -z $DEBIAN_MIRROR ]; then if [ -z $DEBIAN_MIRROR ]; then
DEBIAN_MIRROR=$(cat /etc/apt/sources.list | grep '^deb ' | grep main | grep -v security | grep -v updates | grep -v backports) DEBIAN_MIRROR=$(cat /etc/apt/sources.list | grep '^deb ' | grep main | grep -v security | grep -v updates | grep -v backports)
DEBIAN_MIRROR=$(echo $DEBIAN_MIRROR | head -1 | cut -d ' ' -f 2 | sed 's/\w\+:\/\///') DEBIAN_MIRROR=$(echo $DEBIAN_MIRROR | head -1 | cut -d ' ' -f 2 | sed 's/\/$//')
fi fi
mkdir -p $DEBLOC_DB &> /dev/null mkdir -p $DEBLOC_DB &> /dev/null
@ -19,10 +19,10 @@ export QT_QPA_PLATFORM_PLUGIN_PATH="$DEBLOC_ROOT/usr/lib/x86_64-linux-gnu/qt5/pl
# Tell if a package exists # Tell if a package exists
function _debloc-exists { # package function _debloc-exists { # package
if [ -f $DEBIAN_DB ]; then if [[ -n $DEBIAN_DB && -f $DEBIAN_DB ]]; then
grep "^Package: $1\$" $DEBIAN_DB --quiet grep "^Package: $1\$" $DEBIAN_DB --quiet
else else
dpkg --status $1 &> /dev/null LANG=C apt-cache show $1 &> /dev/null
fi fi
if [ $? == 0 ]; then if [ $? == 0 ]; then
return 1 return 1
@ -51,7 +51,7 @@ function _debloc-filterVirtual { # package
# Tell if a package is installed via debloc # Tell if a package is installed via debloc
function _debloc-locallyInstalled { # package function _debloc-locallyInstalled { # package
if [ -e $DEBLOC_DB/$1 ]; then if [ -f $DEBLOC_DB/$1 ]; then
return 1 return 1
else else
return 0 return 0
@ -60,10 +60,18 @@ function _debloc-locallyInstalled { # package
# Tell if a package is installed system-wide # Tell if a package is installed system-wide
function _debloc-globallyInstalled { # package function _debloc-globallyInstalled { # package
dpkg --status $1 | grep '^Status:' | grep 'not-installed' --quiet STATUS=$(mktemp)
LANG=C dpkg --status $1 &> $STATUS
if [ $? != 0 ]; then if [ $? != 0 ]; then
rm -f $STATUS > /dev/null
return 0
fi
cat $STATUS | grep '^Status:' | grep 'not-installed' --quiet
if [ $? != 0 ]; then
rm -f $STATUS > /dev/null
return 1 return 1
else else
rm -f $STATUS > /dev/null
return 0 return 0
fi fi
} }
@ -81,7 +89,12 @@ function _debloc-packageShow { # package
done done
return 1 return 1
else else
dpkg --print-avail $pkg LANG=C apt-cache show $pkg | while read line; do
if [ -z "$line" ]; then
return 0
fi
echo $line
done
return 0 return 0
fi fi
} }
@ -145,10 +158,9 @@ function _debloc-installDeb { # path
function _debloc-install { # package function _debloc-install { # package
pkg=$1 pkg=$1
echo "→ Downloading"
url=${DEBIAN_MIRROR}/$(_debloc-packagePath $pkg) url=${DEBIAN_MIRROR}/$(_debloc-packagePath $pkg)
echo "→ Downloading $url"
DEB_FILE=$(mktemp) &> /dev/null DEB_FILE=$(mktemp) &> /dev/null
echo $url
wget "$url" --quiet -O $DEB_FILE wget "$url" --quiet -O $DEB_FILE
if [ $? != 0 ]; then if [ $? != 0 ]; then
echo "→ Failed!" echo "→ Failed!"

View file

@ -5,10 +5,6 @@ function proxy_set {
export https_proxy=$1 export https_proxy=$1
export ftp_proxy=$1 export ftp_proxy=$1
export rsync_proxy=$1 export rsync_proxy=$1
export HTTP_PROXY=$1
export HTTPS_PROXY=$1
export FTP_PROXY=$1
export RSYNC_PROXY=$1
echo "Proxy changed" echo "Proxy changed"
} }
@ -42,10 +38,6 @@ function proxy_off {
unset https_proxy unset https_proxy
unset ftp_proxy unset ftp_proxy
unset rsync_proxy unset rsync_proxy
unset HTTP_PROXY
unset HTTPS_PROXY
unset FTP_PROXY
unset RSYNC_PROXY
echo -e "Proxy removed" echo -e "Proxy removed"
} }