Commit 44ae84ba authored by Vitaly Lipatov's avatar Vitaly Lipatov

commit packed 3.21.0

parent eb193fcb
...@@ -378,11 +378,14 @@ withtimeout() ...@@ -378,11 +378,14 @@ withtimeout()
set_eatmydata() set_eatmydata()
{ {
# don't use eatmydata (useless)
return 0
# skip if disabled # skip if disabled
[ -n "$EPMNOEATMYDATA" ] && return [ -n "$EPMNOEATMYDATA" ] && return
# use if possible # use if possible
which eatmydata >/dev/null 2>/dev/null || return which eatmydata >/dev/null 2>/dev/null || return
set_sudo set_sudo
# FIXME: check if SUDO already has eatmydata
[ -n "$SUDO" ] && SUDO="$SUDO eatmydata" || SUDO="eatmydata" [ -n "$SUDO" ] && SUDO="$SUDO eatmydata" || SUDO="eatmydata"
[ -n "$verbose" ] && info "Uwaga! eatmydata is installed, we will use it for disable all sync operations." [ -n "$verbose" ] && info "Uwaga! eatmydata is installed, we will use it for disable all sync operations."
return 0 return 0
...@@ -1503,8 +1506,10 @@ epm_changelog() ...@@ -1503,8 +1506,10 @@ epm_changelog()
# File bin/epm-check: # File bin/epm-check:
epm_check() epm_check()
{ {
update_repo_if_needed
case $PMTYPE in case $PMTYPE in
apt-rpm) apt-rpm)
#sudocmd apt-get check || exit #sudocmd apt-get check || exit
...@@ -1517,12 +1522,6 @@ case $PMTYPE in ...@@ -1517,12 +1522,6 @@ case $PMTYPE in
#sudocmd apt-get update || exit #sudocmd apt-get update || exit
sudocmd apt-get -f install || return sudocmd apt-get -f install || return
;; ;;
apt-dpkg)
#sudocmd apt-get update || exit
#sudocmd apt-get check || exit
sudocmd apt-get -f install || return
#sudocmd apt-get autoremove
;;
packagekit) packagekit)
docmd pkcon repair docmd pkcon repair
;; ;;
...@@ -3098,12 +3097,19 @@ epm_install_files() ...@@ -3098,12 +3097,19 @@ epm_install_files()
# FIXME: return false in case no install and in case install with broken deps # FIXME: return false in case no install and in case install with broken deps
sudocmd dpkg $DPKGOPTIONS -i $@ sudocmd dpkg $DPKGOPTIONS -i $@
local RES=$? local RES=$?
# if run with --nodeps, do not fallback on hi level
# if run with --nodeps, do not fallback on hi level in any case
[ -n "$nodeps" ] && return $RES [ -n "$nodeps" ] && return $RES
# fall to apt-get -f install for fix deps # return OK if all is OK
# can't use APTOPTIONS with empty install args [ "$RES" = "0" ] && return $RES
epm_install_names -f
epm_install_names "$@"
return
# TODO: workaround with epm-check needed only for very old apt
# run apt -f install if there are were some errors during install
epm_check
# repeat install for get correct status # repeat install for get correct status
sudocmd dpkg $DPKGOPTIONS -i $@ sudocmd dpkg $DPKGOPTIONS -i $@
...@@ -4962,9 +4968,9 @@ __do_short_query() ...@@ -4962,9 +4968,9 @@ __do_short_query()
*-rpm) *-rpm)
CMD="rpm -qf --queryformat %{NAME}\n" CMD="rpm -qf --queryformat %{NAME}\n"
;; ;;
NOapt-dpkg) apt-dpkg)
showcmd dpkg -S "$1" showcmd dpkg -S "$1"
dpkg_print_name_version "$(dpkg -S $1 | sed -e "s|:.*||" | grep -v "^diversion by")" a= dpkg -S $1 | sed -e "s|:.*||"
return ;; return ;;
NOemerge) NOemerge)
assure_exists equery assure_exists equery
...@@ -6345,7 +6351,7 @@ __epm_split_by_pkg_type() ...@@ -6345,7 +6351,7 @@ __epm_split_by_pkg_type()
for pkg in "$@" ; do for pkg in "$@" ; do
[ "$(get_package_type "$pkg")" = "$type" ] || return 1 [ "$(get_package_type "$pkg")" = "$type" ] || return 1
[ -e "$pkg" ] || fatal "Can't read $pkg" [ -e "$pkg" ] || fatal "Can't read $pkg"
split_replaced_pkgs="$split_target_pkgs $(realpath "$pkg")" split_replaced_pkgs="$split_target_pkgs $pkg"
done done
[ -n "$split_replaced_pkgs" ] [ -n "$split_replaced_pkgs" ]
...@@ -6354,6 +6360,7 @@ __epm_split_by_pkg_type() ...@@ -6354,6 +6360,7 @@ __epm_split_by_pkg_type()
__epm_repack_rpm_to_deb() __epm_repack_rpm_to_deb()
{ {
local pkg local pkg
local rpmpkgs="$1"
assure_exists alien assure_exists alien
assure_exists fakeroot assure_exists fakeroot
...@@ -6362,25 +6369,27 @@ __epm_repack_rpm_to_deb() ...@@ -6362,25 +6369,27 @@ __epm_repack_rpm_to_deb()
repacked_debs='' repacked_debs=''
local TDIR=$(mktemp -d) local TDIR=$(mktemp -d)
cd $TDIR || fatal
for pkg in $rpmpkgs ; do for pkg in $rpmpkgs ; do
pkg="$(realpath "$pkg")"
cd $TDIR || fatal
showcmd_store_output fakeroot alien -d -k $scripts "$pkg" showcmd_store_output fakeroot alien -d -k $scripts "$pkg"
local DEBCONVERTED=$(grep "deb generated" $RC_STDOUT | sed -e "s| generated||g") local DEBCONVERTED=$(grep "deb generated" $RC_STDOUT | sed -e "s| generated||g")
repacked_debs="$repacked_rpms $(realpath $DEBCONVERTED)" repacked_debs="$repacked_rpms $(realpath $DEBCONVERTED)"
to_remove_pkg_files="$to_remove_pkg_files $(realpath $DEBCONVERTED)" to_remove_pkg_files="$to_remove_pkg_files $(realpath $DEBCONVERTED)"
clean_store_output clean_store_output
cd - >/dev/null
done done
# TODO: move it to exit handler # TODO: move it to exit handler
if [ -z "$DEBUG" ] ; then #if [ -z "$DEBUG" ] ; then
# TODO: reinvent # # TODO: reinvent
[ -n "$to_remove_pkg_files" ] && rm -f $to_remove_pkg_files # [ -n "$to_remove_pkg_files" ] && rm -f $to_remove_pkg_files
[ -n "$to_remove_pkg_files" ] && rmdir $(dirname $to_remove_pkg_files | head -n1) 2>/dev/null # [ -n "$to_remove_pkg_files" ] && rmdir $(dirname $to_remove_pkg_files | head -n1) 2>/dev/null
[ -n "$to_remove_pkg_dirs" ] && rmdir $to_remove_pkg_dirs # [ -n "$to_remove_pkg_dirs" ] && rmdir $to_remove_pkg_dirs
fi #fi
cd - >/dev/null #cd - >/dev/null
return 0 return 0
} }
...@@ -8732,7 +8741,12 @@ warmup_hibase ...@@ -8732,7 +8741,12 @@ warmup_hibase
case $PMTYPE in case $PMTYPE in
apt-rpm) apt-rpm)
sudocmd apt-get update || return # TODO: hack against cd to cwd in apt-get on ALT
cd /
sudocmd apt-get update
local ret="$?"
cd - >/dev/null
return $ret
#sudocmd apt-get -f install || exit #sudocmd apt-get -f install || exit
;; ;;
apt-dpkg) apt-dpkg)
...@@ -9086,7 +9100,7 @@ internal_distr_info() ...@@ -9086,7 +9100,7 @@ internal_distr_info()
# You can set ROOTDIR to root system dir # You can set ROOTDIR to root system dir
#ROOTDIR= #ROOTDIR=
PROGVERSION="20220718" PROGVERSION="20220719"
# TODO: check /etc/system-release # TODO: check /etc/system-release
...@@ -9128,8 +9142,13 @@ override_distrib() ...@@ -9128,8 +9142,13 @@ override_distrib()
{ {
[ -n "$1" ] || return [ -n "$1" ] || return
VENDOR_ID='' VENDOR_ID=''
DISTRIB_ID="$(echo "$1" | sed -e 's|/.*||')" PRETTY_NAME=''
DISTRIB_RELEASE="$(echo "$1" | sed -e 's|.*/||')" local name="$(echo "$1" | sed -e 's|x86_64/||')"
[ "$name" = "$1" ] && DIST_ARCH="x86" || DIST_ARCH="x86_64"
DISTRIB_ID="$(echo "$name" | sed -e 's|/.*||')"
DISTRIB_RELEASE="$(echo "$name" | sed -e 's|.*/||')"
[ "$DISTRIB_ID" = "$DISTRIB_RELEASE" ] && DISTRIB_RELEASE=''
} }
# Translate DISTRIB_ID to vendor name (like %_vendor does or package release name uses), uses VENDOR_ID by default # Translate DISTRIB_ID to vendor name (like %_vendor does or package release name uses), uses VENDOR_ID by default
...@@ -9535,10 +9554,6 @@ fi ...@@ -9535,10 +9554,6 @@ fi
fill_distr_info fill_distr_info
[ -n "$DISTRIB_ID" ] || DISTRIB_ID="Generic" [ -n "$DISTRIB_ID" ] || DISTRIB_ID="Generic"
if [ -z "$PRETTY_NAME" ] ; then
PRETTY_NAME="$DISTRIB_ID $DISTRIB_RELEASE"
fi
get_uname() get_uname()
{ {
tolower $(uname $1) | tr -d " \t\r\n" tolower $(uname $1) | tr -d " \t\r\n"
...@@ -9790,6 +9805,10 @@ get_service_manager() ...@@ -9790,6 +9805,10 @@ get_service_manager()
print_pretty_name() print_pretty_name()
{ {
if [ -z "$PRETTY_NAME" ] ; then
PRETTY_NAME="$DISTRIB_ID $DISTRIB_RELEASE"
fi
echo "$PRETTY_NAME" echo "$PRETTY_NAME"
} }
...@@ -9851,6 +9870,7 @@ case $1 in ...@@ -9851,6 +9870,7 @@ case $1 in
exit 0 exit 0
;; ;;
--pretty) --pretty)
override_distrib "$2"
print_pretty_name print_pretty_name
;; ;;
--distro-arch) --distro-arch)
...@@ -9864,9 +9884,12 @@ case $1 in ...@@ -9864,9 +9884,12 @@ case $1 in
exit 0 exit 0
;; ;;
-d) -d)
override_distrib "$2"
echo $DISTRIB_ID echo $DISTRIB_ID
;; ;;
-a) -a)
override_distrib "$2"
[ -n "$DIST_ARCH" ] && echo "$DIST_ARCH" && exit 0
get_arch get_arch
;; ;;
-b) -b)
...@@ -9888,6 +9911,7 @@ case $1 in ...@@ -9888,6 +9911,7 @@ case $1 in
get_base_os_name get_base_os_name
;; ;;
-v) -v)
override_distrib "$2"
echo $DISTRIB_RELEASE echo $DISTRIB_RELEASE
;; ;;
-s|-n) -s|-n)
...@@ -9903,9 +9927,11 @@ case $1 in ...@@ -9903,9 +9927,11 @@ case $1 in
exit 0 exit 0
;; ;;
-e) -e)
override_distrib "$2"
print_name_version print_name_version
;; ;;
*) *)
override_distrib "$1"
print_total_info print_total_info
;; ;;
esac esac
...@@ -10872,7 +10898,7 @@ Examples: ...@@ -10872,7 +10898,7 @@ Examples:
print_version() print_version()
{ {
echo "EPM package manager version 3.20.0 https://wiki.etersoft.ru/Epm" echo "EPM package manager version 3.21.0 https://wiki.etersoft.ru/Epm"
echo "Running on $($DISTRVENDOR -e) ('$PMTYPE' package manager uses '$PKGFORMAT' package format)" echo "Running on $($DISTRVENDOR -e) ('$PMTYPE' package manager uses '$PKGFORMAT' package format)"
echo "Copyright (c) Etersoft 2012-2021" echo "Copyright (c) Etersoft 2012-2021"
echo "This program may be freely redistributed under the terms of the GNU AGPLv3." echo "This program may be freely redistributed under the terms of the GNU AGPLv3."
...@@ -10882,7 +10908,7 @@ print_version() ...@@ -10882,7 +10908,7 @@ print_version()
Usage="Usage: epm [options] <command> [package name(s), package files]..." Usage="Usage: epm [options] <command> [package name(s), package files]..."
Descr="epm - EPM package manager" Descr="epm - EPM package manager"
EPMVERSION=3.20.0 EPMVERSION=3.21.0
verbose=$EPM_VERBOSE verbose=$EPM_VERBOSE
quiet= quiet=
nodeps= nodeps=
......
...@@ -369,11 +369,14 @@ withtimeout() ...@@ -369,11 +369,14 @@ withtimeout()
set_eatmydata() set_eatmydata()
{ {
# don't use eatmydata (useless)
return 0
# skip if disabled # skip if disabled
[ -n "$EPMNOEATMYDATA" ] && return [ -n "$EPMNOEATMYDATA" ] && return
# use if possible # use if possible
which eatmydata >/dev/null 2>/dev/null || return which eatmydata >/dev/null 2>/dev/null || return
set_sudo set_sudo
# FIXME: check if SUDO already has eatmydata
[ -n "$SUDO" ] && SUDO="$SUDO eatmydata" || SUDO="eatmydata" [ -n "$SUDO" ] && SUDO="$SUDO eatmydata" || SUDO="eatmydata"
[ -n "$verbose" ] && info "Uwaga! eatmydata is installed, we will use it for disable all sync operations." [ -n "$verbose" ] && info "Uwaga! eatmydata is installed, we will use it for disable all sync operations."
return 0 return 0
...@@ -1293,7 +1296,7 @@ internal_distr_info() ...@@ -1293,7 +1296,7 @@ internal_distr_info()
# You can set ROOTDIR to root system dir # You can set ROOTDIR to root system dir
#ROOTDIR= #ROOTDIR=
PROGVERSION="20220718" PROGVERSION="20220719"
# TODO: check /etc/system-release # TODO: check /etc/system-release
...@@ -1335,8 +1338,13 @@ override_distrib() ...@@ -1335,8 +1338,13 @@ override_distrib()
{ {
[ -n "$1" ] || return [ -n "$1" ] || return
VENDOR_ID='' VENDOR_ID=''
DISTRIB_ID="$(echo "$1" | sed -e 's|/.*||')" PRETTY_NAME=''
DISTRIB_RELEASE="$(echo "$1" | sed -e 's|.*/||')" local name="$(echo "$1" | sed -e 's|x86_64/||')"
[ "$name" = "$1" ] && DIST_ARCH="x86" || DIST_ARCH="x86_64"
DISTRIB_ID="$(echo "$name" | sed -e 's|/.*||')"
DISTRIB_RELEASE="$(echo "$name" | sed -e 's|.*/||')"
[ "$DISTRIB_ID" = "$DISTRIB_RELEASE" ] && DISTRIB_RELEASE=''
} }
# Translate DISTRIB_ID to vendor name (like %_vendor does or package release name uses), uses VENDOR_ID by default # Translate DISTRIB_ID to vendor name (like %_vendor does or package release name uses), uses VENDOR_ID by default
...@@ -1742,10 +1750,6 @@ fi ...@@ -1742,10 +1750,6 @@ fi
fill_distr_info fill_distr_info
[ -n "$DISTRIB_ID" ] || DISTRIB_ID="Generic" [ -n "$DISTRIB_ID" ] || DISTRIB_ID="Generic"
if [ -z "$PRETTY_NAME" ] ; then
PRETTY_NAME="$DISTRIB_ID $DISTRIB_RELEASE"
fi
get_uname() get_uname()
{ {
tolower $(uname $1) | tr -d " \t\r\n" tolower $(uname $1) | tr -d " \t\r\n"
...@@ -1997,6 +2001,10 @@ get_service_manager() ...@@ -1997,6 +2001,10 @@ get_service_manager()
print_pretty_name() print_pretty_name()
{ {
if [ -z "$PRETTY_NAME" ] ; then
PRETTY_NAME="$DISTRIB_ID $DISTRIB_RELEASE"
fi
echo "$PRETTY_NAME" echo "$PRETTY_NAME"
} }
...@@ -2058,6 +2066,7 @@ case $1 in ...@@ -2058,6 +2066,7 @@ case $1 in
exit 0 exit 0
;; ;;
--pretty) --pretty)
override_distrib "$2"
print_pretty_name print_pretty_name
;; ;;
--distro-arch) --distro-arch)
...@@ -2071,9 +2080,12 @@ case $1 in ...@@ -2071,9 +2080,12 @@ case $1 in
exit 0 exit 0
;; ;;
-d) -d)
override_distrib "$2"
echo $DISTRIB_ID echo $DISTRIB_ID
;; ;;
-a) -a)
override_distrib "$2"
[ -n "$DIST_ARCH" ] && echo "$DIST_ARCH" && exit 0
get_arch get_arch
;; ;;
-b) -b)
...@@ -2095,6 +2107,7 @@ case $1 in ...@@ -2095,6 +2107,7 @@ case $1 in
get_base_os_name get_base_os_name
;; ;;
-v) -v)
override_distrib "$2"
echo $DISTRIB_RELEASE echo $DISTRIB_RELEASE
;; ;;
-s|-n) -s|-n)
...@@ -2110,9 +2123,11 @@ case $1 in ...@@ -2110,9 +2123,11 @@ case $1 in
exit 0 exit 0
;; ;;
-e) -e)
override_distrib "$2"
print_name_version print_name_version
;; ;;
*) *)
override_distrib "$1"
print_total_info print_total_info
;; ;;
esac esac
...@@ -2222,7 +2237,7 @@ print_version() ...@@ -2222,7 +2237,7 @@ print_version()
local on_text="(host system)" local on_text="(host system)"
local virt="$($DISTRVENDOR -i)" local virt="$($DISTRVENDOR -i)"
[ "$virt" = "(unknown)" ] || [ "$virt" = "(host system)" ] || on_text="(under $virt)" [ "$virt" = "(unknown)" ] || [ "$virt" = "(host system)" ] || on_text="(under $virt)"
echo "Service manager version 3.20.0 https://wiki.etersoft.ru/Epm" echo "Service manager version 3.21.0 https://wiki.etersoft.ru/Epm"
echo "Running on $($DISTRVENDOR -e) $on_text with $SERVICETYPE" echo "Running on $($DISTRVENDOR -e) $on_text with $SERVICETYPE"
echo "Copyright (c) Etersoft 2012-2021" echo "Copyright (c) Etersoft 2012-2021"
echo "This program may be freely redistributed under the terms of the GNU AGPLv3." echo "This program may be freely redistributed under the terms of the GNU AGPLv3."
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment