USM Skirting Sync Issue

Technical issues/questions of an intermediate or advanced nature.
Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

USM Skirting Sync Issue

Post#1 by Bogomips » 31 May 2017, 17:13

Heuristic Fix/Workaround of Sync Issue

Lacking enthusiastic response, this is about the best i'll do in sharing. :)

Used in CLI mode, Fix:

Code: Select all

[[ -e /usr/share/usm/funcpackageGet.bak ]] || sudo cp -p /usr/share/usm/funcpackageGet  /usr/share/usm/funcpackageGet.bak  # Save original
cp   /Path/to/funcpackageGet.hic    /usr/share/usm/funcpackageGet
If app superseded, may have to rename module folder or module to newer version.

Examples
  • Superseded
    • Normal

      Code: Select all

      root@porteus:/home/guest# usm -g vlc
      
       The following items were found.
       Choose an number to confirm. 
       ctrl+c to quit
      
      1) vlc-2.2.4-x86_64-1alien.txz    3) vlc-2.2.4-x86_64-8_slonly.txz
      2) vlc-2.2.4-x86_64-1gv.txz
      #? 1
      
      Processing:   vlc-2.2.4-x86_64-1alien.txz 
      PKG='vlc-2.2.4-x86_64-1alien.txz'
      Ignored libraries: 
      
      Libraries required:  122
      Libraries found in system: 119
      Libraries to resolve: 3
      
      Processing library: libvlc.so.5
      
       More than one package contains:  libvlc.so.5
      vlc-20170406_8268fe0-x86_64-1_slonly.txz  9668K   slackonly
      vlc-2.2.4-x86_64-1gv.txz                  39676K  alien
      vlc-2.2.6-x86_64-1alien.txz               39676K  alien
      
       The following items were found.
       Choose an number to confirm. 
       ctrl+c to quit
      
      1) vlc-20170406_8268fe0-x86_64-1_slonly.txz
      2) vlc-2.2.4-x86_64-1gv.txz
      3) vlc-2.2.6-x86_64-1alien.txz
      #? 3
      Processing library: libvlc_vdpau.so.0
      Processing library: libvlccore.so.8
      
      
      Processing:   vlc-2.2.6-x86_64-1alien.txz 
      PKG='vlc-2.2.6-x86_64-1alien.txz'
                
      
      ==============================================================================
      WARNING!        WARNING!        WARNING!        WARNING!        WARNING!
      ==============================================================================
      One or more errors occurred while usm was running:                       
       
      FATAL ERROR!
       resolve_deps 392
      Please wait 6 hours for the next database update. Could not find: LIBS.TXT
       
      ============================================================================== 
      
    • Heuristic

      Code: Select all

      oot@porteus:/home/guest# usm -g vlc
      
       The following items were found.
       Choose an number to confirm. 
       ctrl+c to quit
      
      1) vlc-2.2.4-x86_64-1alien.txz    3) vlc-2.2.4-x86_64-8_slonly.txz
      2) vlc-2.2.4-x86_64-1gv.txz
      #? 1
      
      Processing:   vlc-2.2.4-x86_64-1alien.txz 
      Ignored libraries: 
      
      Libraries required:  122
      Libraries found in system: 119
      Libraries to resolve: 3
      
      Processing library: libvlc.so.5
      
       More than one package contains:  libvlc.so.5
      vlc-20170406_8268fe0-x86_64-1_slonly.txz  9668K   slackonly
      vlc-2.2.4-x86_64-1gv.txz                  39676K  alien
      vlc-2.2.6-x86_64-1alien.txz               39676K  alien
      
       The following items were found.
       Choose an number to confirm. 
       ctrl+c to quit
      
      1) vlc-20170406_8268fe0-x86_64-1_slonly.txz
      2) vlc-2.2.4-x86_64-1gv.txz
      3) vlc-2.2.6-x86_64-1alien.txz
      #? 3
      Processing library: libvlc_vdpau.so.0
      Processing library: libvlccore.so.8
      
      
      Processing:   vlc-2.2.6-x86_64-1alien.txz 
      
      =============
      HEURISTIC USM
      =============
      
      vlc-2.2.4-x86_64-1alien.txz superseded by vlc-2.2.6-x86_64-1alien.txz
      
       The following packages are required. 
      vlc-2.2.6-x86_64-1alien.txz [39676K] [not installed]
      vlc-2.2.6-x86_64-1alien.txz [39676K] [not installed]
      
      Total size: 79 MB
      
       Multiple packages were detected.
       Would you like to merge the packages into one module? [y/n]
       Would you like to create a subfolder for the files? [y/n]
       Would you like to install the package/s? (custom paths are supported) [y/n]
      
       Press [r] to remove packages, [q] to quit, or enter to start downloading.
      vlc-2.2.6-x86_64-1alien.txz exists. Symlink created.
      vlc-2.2.6-x86_64-1alien.txz already exists
      vlc-2.2.6-x86_64-1alien.txz already exists
      vlc-2.2.6-x86_64-1alien.txz already exists
      
      guest@porteus:~$ ls -l $g/tmp64/usm/vlc-2.2.6-x86_64-1alien.txz
      lrwxrwxrwx 1 root root 67 May 31 15:50 p10/Por/tmp64/usm/vlc-2.2.6-x86_64-1alien.txz -> /home/guest/p10/Por/tmp64/usm/vlc-2.2.4/vlc-2.2.6-x86_64-1alien.txz
      
  • Missing Package
    • Not to be had?

      Code: Select all

      root@porteus:/home/guest# usm -g inkscape
      
       The following items were found.
       Choose an number to confirm. 
       ctrl+c to quit
      
      1) inkscape-0.91-x86_64-3dj.txz         3) inkscape-0.92.1-x86_64-2_slonly.txz
      2) inkscape-0.92.0-x86_64-1ponce.txz
      #? 1
      
      Processing:   inkscape-0.91-x86_64-3dj.txz 
      Ignored libraries: 
      
      Libraries required:  49
      Libraries found in system: 47
      Libraries to resolve: 2
      
      Processing library: libaspell.so.15
      Processing library: libgtkspell.so.0
      
      
      Processing:   aspell-0.60.6.1-x86_64-1.txz 
      Ignored libraries: 
      
      Libraries required:  6
      Libraries found in system: 5
      Libraries to resolve: 1
      
      Processing library: libaspell.so.15
      
      
      Processing:   gtkspell-2.0.16-x86_64-3.txz 
      Ignored libraries: 
      
      Libraries required:  54
      Libraries found in system: 53
      Libraries to resolve: 1
      
      Processing library: libenchant.so.1
      
      
      Processing:   enchant-1.6.0-x86_64-1.txz 
      Ignored libraries: 
      
      Libraries required:  11
      Libraries found in system: 9
      Libraries to resolve: 2
      
      Processing library: libaspell.so.15
      Processing library: libenchant.so.1
      
      
      =============
      HEURISTIC USM
      =============
      
      
       The following packages are required. 
      aspell-0.60.6.1-x86_64-1.txz [588K] [not installed]
      enchant-1.6.0-x86_64-1.txz [64K] [not installed]
      gtkspell-2.0.16-x86_64-3.txz [36K] [not installed]
      inkscape-0.91-x86_64-3dj.txz [] [not installed]
      
      Total size: 688 KB
      
       Multiple packages were detected.
       Would you like to merge the packages into one module? [y/n]
       Would you like to create a subfolder for the files? [y/n]
       Would you like to install the package/s? (custom paths are supported) [y/n]
      
       Press [r] to remove packages, [q] to quit, or enter to start downloading.
      
    • Check

      Code: Select all

      oot@porteus:/home/guest# usm -g inkscape nodeps
      
       The following items were found.
       Choose an number to confirm.
       ctrl+c to quit
      
      1) inkscape-0.91-x86_64-3dj.txz         3) inkscape-0.92.1-x86_64-2_slonly.txz
      2) inkscape-0.92.0-x86_64-1ponce.txz
      #? 1
      
      =============
      HEURISTIC USM
      =============
      
      
       The following packages are required.
      inkscape-0.91-x86_64-3dj.txz [] [not installed]
      
      Total size: 0 KB
      
       Press [r] to remove packages, [q] to quit, or enter to start downloading.
      
      root@porteus:/home/guest# usm -g inkscape nodeps
      
       The following items were found.
       Choose an number to confirm.
       ctrl+c to quit
      
      1) inkscape-0.91-x86_64-3dj.txz         3) inkscape-0.92.1-x86_64-2_slonly.txz
      2) inkscape-0.92.0-x86_64-1ponce.txz
      #? 2
      
      =============
      HEURISTIC USM
      =============
      
      
       The following packages are required.
      inkscape-0.92.0-x86_64-1ponce.txz [19632K] [not installed]
      
      Total size: 19 MB
      
       Press [r] to remove packages, [q] to quit, or enter to start downloading.
      
    • Alternative Possibility

      Code: Select all

      root@porteus:/home/guest# usm -g inkscape
      
       The following items were found.
       Choose an number to confirm. 
       ctrl+c to quit
      
      1) inkscape-0.91-x86_64-3dj.txz         3) inkscape-0.92.1-x86_64-2_slonly.txz
      2) inkscape-0.92.0-x86_64-1ponce.txz
      #? 2
      
      Processing:   inkscape-0.92.0-x86_64-1ponce.txz 
      Ignored libraries: 
      
      Libraries required:  101
      Libraries found in system: 98
      Libraries to resolve: 3
      
      Processing library: libaspell.so.15
      Processing library: libenchant.so.1
      Processing library: libgtkspell.so.0
      
      
      Processing:   aspell-0.60.6.1-x86_64-1.txz 
      Ignored libraries: 
      
      Libraries required:  6
      Libraries found in system: 5
      Libraries to resolve: 1
      
      Processing library: libaspell.so.15
      
      
      Processing:   enchant-1.6.0-x86_64-1.txz 
      Ignored libraries: 
      
      Libraries required:  11
      Libraries found in system: 9
      Libraries to resolve: 2
      
      Processing library: libaspell.so.15
      Processing library: libenchant.so.1
      
      
      Processing:   gtkspell-2.0.16-x86_64-3.txz 
      Ignored libraries: 
      
      Libraries required:  54
      Libraries found in system: 53
      Libraries to resolve: 1
      
      Processing library: libenchant.so.1
      
      
      =============
      HEURISTIC USM
      =============
      
      
       The following packages are required.
      aspell-0.60.6.1-x86_64-1.txz [588K] [not installed]
      enchant-1.6.0-x86_64-1.txz [64K] [not installed]
      gtkspell-2.0.16-x86_64-3.txz [36K] [not installed]
      inkscape-0.92.0-x86_64-1ponce.txz [19632K] [not installed]
      
      Total size: 20 MB
      
       Multiple packages were detected.
       Would you like to merge the packages into one module? [y/n]
       Would you like to create a subfolder for the files? [y/n]
       Would you like to install the package/s? (custom paths are supported) [y/n]
      
       Press [r] to remove packages, [q] to quit, or enter to start downloading.
      
funcpackageGet.hic

Code: Select all

#!/bin/bash

silent_check_update(){
if [ ! -e $TMPDIR/checked ]; then
if [ -e $TMPDIR/vercheck.txt ]; then
	DBVER1=`awk -F= '/DBVER=/{print$NF}' $VERTXT`
	DBVER2=`awk -F= '/DBVER=/{print$NF}' $TMPDIR/vercheck.txt` || return
	USMVER1=`awk -F= '/USMVER=/{print$NF}' $VERTXT`
	USMVER2=`awk -F= '/USMVER=/{print$NF}' $TMPDIR/vercheck.txt` || return
	[ $DBVER2 -gt $DBVER1 ] && HAVEUPDATES=0 && DBSTATUS=available || DBSTATUS="not required"
	[ $USMVER2 -gt $USMVER1 ] && HAVEUPDATES=0 && USMSTATUS=available || USMSTATUS="not required"
	if [ $HAVEUPDATES ]; then
		if [ $CLI ]; then
			echo
			cyan "`gettext "Updates are available."`" $rst
			echo " `gettext "Program update: "`" $txtbld "$USMSTATUS" $rst
			echo " `gettext "Database update:"`" $txtbld "$DBSTATUS" $rst
			echo -e " `gettext "Please run:"`" $txtgreen "usm -u all" $rst "and/or" $txtgreen "usm -u usm" $rst
			echo " This message can be disabled in $CONF"
			red "`gettext "###############################"`"
			sleep 3
		else
			gtk_message "`gettext "Updates are available"`" "Program update: $USMSTATUS --- Database update: $DBSTATUS" \
			"`gettext "Please run the relevant update from the update menu. This automatic update check can be turned off in the settings/preferences menu."`" gtk-yes 500
			echo checked > $TMPDIR/checked
		fi
	fi
fi
fi
}; export -f silent_check_update

title()			# 2015-04-23 21:09:32
{
  local t; local l; local u;
  [[ ! $eqs ]] &&
  eqs="============================================================"
  l=${#1}; u=${eqs:0:l}; t="$'\n'$u$'\n'${1:0:l}$'\n'$u$'\n'"
  eval echo $t
}

package_get(){
if [ "`awk -F= '/^AUTOCHECK=/{print$NF}' $CONF`" == "true" ]; then
	rm $TMPDIR/vercheck.txt 2>/dev/null
	silent_download $UPDLINK/configs/vercheck.txt $TMPDIR &
fi

if [ $CLI ]; then
	find -L $DBDIR -type f -name "LIBS.TXT"|xargs grep -i "^$1.*"|sed 's/ //g' > $TMPDIR/search.tmp

	[ `wc -l < $TMPDIR/search.tmp` -eq 0 ] && { echo; red "`gettext "Nothing found for: "`" "$1"; cleanup; }

	RESULT=`awk -F: '{print$NF}' $TMPDIR/search.tmp|sort -u`
	menu_from_variable $RESULT
else
	CHOICE=$1
	grep "test-package-name" <<<$CHOICE && return
fi

ORIGINAL=${CHOICE}
if [ -z $NODEPS ]; then
	if [ `awk -F= /RESOLVE/'{print$2}' $CONF` = "true" ]; then
		resolve_deps $CHOICE
		[ $GUI ] && kill `pgrep -f GTK_TAILBOXNB`
	else
		PKGLIST+=($CHOICE)
	fi
	local ORIGSHORT=${ORIGINAL%-*-*-*}
	EDEPS=`grep -A1 "^#.* $ORIGSHORT" $CONFDIR/extra-deps.txt|tail -n1`
	if [ "$EDEPS" ]; then
		for getit in `echo $EDEPS|tr ',' '\n'`; do
			if [[ ! `ls /var/log/packages|grep "^${getit}-[0-9]"` ]]; then
				ITEXISTS=`find -L $DBDIR -type f -name "PACKAGES.TXT"|xargs grep "PACKAGE NAME:.* ${getit}-[0-9]"|awk '{print$NF}'|head -n1`
				if [ "$ITEXISTS" ]; then
					PKGLIST+=($ITEXISTS) || UNRES+=($ITEXISTS)
				fi
			fi
		done
	fi
else
	PKGLIST+=($CHOICE)
fi

PKGLIST=( `printf '%s\n' ${PKGLIST[@]}|sort -u` )


if [ ${#UNRES[@]} -gt 0 ]; then
	echo
	pink "`gettext "WARNING: unresolved dependencies remain."`" | tee -a $TMPDIR/.stream
	printf -- '%s\n' ${UNRES[@]}
fi

declare -i TSIZE=0

[ "$ARCH" = "x86_64" ] && ARCHI="x86_64" || ARCHI="x86" # Make an exception for alien repo
# Bogomips 30-5-17
title "HEURISTIC USM"; dbg=0;
for ((i=0; i<${#PKGLIST[*]}; i++)); do  pkg=${PKGLIST[i]};
#for pkg in ${PKGLIST[@]}; do
	local LONG=`find -L $DBDIR -type f -name "OPTIFEST"|xargs grep -i "Package: $pkg"`
((dbg)) && echo "pkg='$pkg' LONG='$LONG'"
	[[ $LONG ]] || {
	# Heuristic fix Dependent upon Tag Id or Lack of, for picking Distro
    #   REGEX DISTINGUISHING SUFFIX
    s=${pkg%-*-*-*}; [[ ${pkg#$s} =~ ^-.*-.*-[0-9]+(.+).t[xg]z$ ]] && c=${BASH_REMATCH[1]} || c=[0-9];
	# GREP
    local LONG=$(find -L $DBDIR -type f -name "OPTIFEST" | xargs grep -i  "Package: ${pkg%-*-*-*}-[^-]*-[^-]*-[0-9]*$c.t[xg]z$")
((dbg)) && echo "LONG='$LONG' pkg='${LONG##* }'  DBDIR='$DBDIR' c='$c'"
    pkg=${LONG##* }; echo -e ${PKGLIST[i]} "\033[1msuperseded\033[0m" by $pkg; PKGLIST[i]=$pkg;
    }
	local DIST=`cut -d':' -f1 <<<$LONG|awk -F/ '{print $(NF-1)}'`
((dbg)) && echo "PKGLIST[$i]='${PKGLIST[i]}'";
	local PKGSHORT=${pkg%-*-*-*}
	local LNKREPO=`grep -m1 -e "^\([a-z]\)" $CONFDIR/mirrors-$DIST.txt`
	local MID=`grep -A3 "NAME:  $pkg" $DBDIR/$DIST/PACKAGES.TXT|awk '/LOCATION:/{print$NF}'|sed  's ..  '`

	[ "$DIST" = "slackware" ] && local EXTRA=slackware$SLACKSUFFIX-$SLACKVER
	[ "$DIST" = "slackwarepatches" ] && local EXTRA=slackware$SLACKSUFFIX-$SLACKVER
	[ "$DIST" = "slacky" ] && local EXTRA=slackware$SLACKSUFFIX-$SLACKVER
	[ "$DIST" = "alien" ] && local EXTRA=$SLACKVER/$ARCHI
	[ "$DIST" = "salix" ] && local EXTRA=$ARCH/$SLACKVER
	[ "$DIST" = "ponce" ] && { unset EXTRA; local MID="slackware${SLACKSUFFIX}-$SLACKVER/packages"; }
	[ "$DIST" = "slackonly" ] && local EXTRA=$SLACKVER-$ARCHI
	local LINK=$LNKREPO/$EXTRA/$MID/$pkg
	LINKS+=( $LINK )
	local HSIZE=`grep -A3 "NAME:  $pkg" $DBDIR/$DIST/PACKAGES.TXT|grep -i "(compressed)"|awk -F: '{ gsub (" ", "", $0); print$NF}'`
	declare -i CSIZE=`tr -d [:alpha:] <<<$HSIZE`
	let TSIZE=( $TSIZE+$CSIZE )
	check_installed $pkg
	DISP+=( "$pkg [$HSIZE] [$pstatus]" )
done

[ $TSIZE -gt 1024 ] && { TSIZE=$((TSIZE / 10**3)); DSIZE="$TSIZE MB"; } || DSIZE="$TSIZE KB"

[ ${#LINKS[@]} -gt 1 ] && MULTIPKG=true || unset MULTIPKG

TXTREPLINE1="`gettext "The following packages are required."`"
TXTREPLINE2="`gettext "Total size:"`"
if [ $CLI ]; then
	echo
	echo $txtblue "$TXTREPLINE1" $rst
	printf -- '%s\n' "${DISP[@]}"
	echo
	echo "$TXTREPLINE2" "$DSIZE"
else
	local CHKBOXFILE=$TMPDIR/.menudeselect
	printf '%s\n' ${LINKS[@]}|awk -F/ '{print$NF}' > $CHKBOXFILE
	gtk_menu_deselect "$TXTREPLINE1 Total size: $DSIZE. Deselect any packages you do not want and click Download."
	FINALPKGS=`awk -F= /true/'{print$1}' ${CHKBOXFILE}.dmp`
	MAKESUBFOLDER=`awk -F'"' /chkSubFolder/'{print$2}' ${CHKBOXFILE}.dmp`
	CONVERTPKGS=`awk -F'"' /chkConvert/'{print$2}' ${CHKBOXFILE}.dmp`
	rm $CHKBOXFILE*
fi

[ ${#LINKS[@]} -gt 1 ] && MULTIPKG=true || unset MULTIPKG

if [ $CLI ]; then
	[ $LINKSONLY ] && { echo && printf '%s\n' ${LINKS[@]}; cleanup; exit; }
	FINALPKGS=${LINKS[@]}
fi

if [ $CLI ]; then
	if [ $MULTIPKG ]; then
		if [ `awk '/^NOPROMPTS/ && /false/' $CONF` ]; then
		echo
			if [ -f /etc/porteus-version ]; then
			echo "`gettext " Multiple packages were detected."`"
			read -p "`gettext " Would you like to merge the packages into one module? [y/n]"`" -n 1 -r -s && echo
				if [[ $REPLY =~ ^[Yy]$ ]]; then
					MERGE=true
						else
					unset MERGE
					if [ "$SUBFOLDERPROMPT" == "true" ]; then
						read -p "`gettext " Would you like to create a subfolder for the files? [y/n]"`" -n 1 -r -s && echo
						[[ $REPLY =~ ^[Yy]$ ]] && MAKESUBFOLDER=true
					fi
				fi
			fi
		fi
	fi
	[ "$MERGE" == "false" ] && unset MERGE
	if [ -z $MERGE ] && [ `awk '/^NOPROMPTS/ && /false/' $CONF` ]; then
		read -p "`gettext " Would you like to install the package/s? (custom paths are supported) [y/n]"`" -n 1 -r -s && echo
		[[ $REPLY =~ ^[Yy]$ ]] && { installpackages=true; ACTIVATEMOD=false; } || unset installpackages
	fi
fi
unset REPLY

ORIGLNK=`printf '%s\n' ${LINKS[@]}|grep $ORIGINAL`
ORIGPKG=${ORIGLNK##*/}
SHNAME=${ORIGPKG%-*-*}

if [ `awk '/^NOPROMPTS/ && /false/' $CONF` ]; then
	if [ "$MAKESUBFOLDER" = "true" ]; then
		SUBFOLDER="/$SHNAME"
		[ ! -d "$STORAGE$SUBFOLDER" ] && mkdir -p "$STORAGE$SUBFOLDER"
		STORAGE="$STORAGE$SUBFOLDER"
	fi
fi

if [ $CLI ]; then
	if [ `awk '/^NOPROMPTS/ && /false/' $CONF` ]; then
		echo
		read -p "`gettext " Press [r] to remove packages, [q] to quit, or enter to start downloading."`" -n 1 -r -s && echo
		[[ $REPLY =~ ^[Qq]$ ]] && cleanup
		if [[ $REPLY =~ ^[Rr]$ ]]; then
			for a in ${LINKS[@]}; do shlink=${a##*/}; tLINKS+=( $shlink ); done
			if [ ${#tLINKS[@]} -lt 10 ];then
				frompackageGet=0
				menu_deselect "${tLINKS[@]}"
				unset tLINKS
					else
				frompackageGet=0
				menu_deselect_plusten "${tLINKS[@]}"
			fi
		fi
	fi
fi

unset frompackageGet
if [ "$FINALPKGS" ]; then
	for a in $FINALPKGS; do
		grep -q $a <<<${LINKS[@]} && pLINKS+=( `printf '%s\n' ${LINKS[@]}|grep $a` )
	done
	LINKS=("${pLINKS[@]}") && unset pLINKS
else
	unset LINKS
	echo $txtbld "`gettext "Nothing to do. Exiting."`" $rst
	cleanup
fi

[ ${#LINKS[@]} -gt 1 ] && MULTIPKG=true || unset MULTIPKG

if [ "`awk -F= '/AUTOCHECK=/{print$NF}' $CONF`" == "true" ]; then
	silent_check_update
fi

if [ $GUI ]; then
	echo `basename ${LINKS[0]}` > $TMPDIR/.message
	gtk_download
fi

for a in ${LINKS[@]}; do
	local shorty=${a##*/}
	if [ -e $STORAGE/$shorty ]; then
		[ $CLI ] && echo "$shorty" "`gettext "already exists"`"
		continue
	else
		local itexists=`find $(awk -F= '/STORAGE=/{print$NF}' $CONF) -type f -name "$shorty"`
		if [ "$itexists" ] && [ `awk -F= '/MAKELINKS=/{print$NF}' $CONF` = "true" ]; then
			ln -sf $itexists $STORAGE/$shorty
			echo "`gettext "$shorty exists. Symlink created."`"
			continue
		else
			dloadInProgress=$shorty
			[ $GUI ] && echo $shorty > $TMPDIR/.message && wget $a -o $TMPDIR/.progress -P $STORAGE
			[ $CLI ] && download $a $STORAGE
			[ $CLI ] && [ ! -e $STORAGE/$shorty ] && { echo $txtbld "`gettext "There was a problem downloading the file:"`" $rst "$shorty"; continue; }
			unset dloadInProgress
		fi
	fi
done
[ -e $TMPDIR/.progress ] && rm $TMPDIR/.progress
[ -e $TMPDIR/.message ] && rm $TMPDIR/.message
wait

if [ -e /etc/porteus-version ]; then
	if [ $GUI ]; then
		if [ `grep -o "MERGE=true" $CONF` ]; then
			rm -rf $TMPDIR/merge 2>/dev/null
			mkdir $TMPDIR/merge
			rm -f $TMPDIR/.stream 2>/dev/null
			touch $TMPDIR/.stream
			gtk_tailboxnb 400 &
			for a in ${LINKS[@]}; do
				local mpkg=${a##*/}
				echo "Merging: $mpkg" >> $TMPDIR/.stream
				installpkg --terse -root $TMPDIR/merge $STORAGE/$mpkg
			done
			kill `pgrep -f GTK_TAILBOXNB` 2>/dev/null
			rm $TMPDIR/.stream
			export STATE=BUILDMODULES
			touch $TMPDIR/proglock
			gtk_progress "Merging bundle now"
			local bundlepkg=${ORIGPKG}
			local bundlename=${bundlepkg%-*}-bundle.xzm
			dir2xzm $TMPDIR/merge $STORAGE/$bundlename > $TMPDIR/.progress
			[ "$ACTIVATEMOD" = "true" ] && activate $STORAGE/$bundlename
			rm $TMPDIR/proglock
			sleep 0.4
			kill_progress 2>/dev/null
			sleep 1
		else
		if [ "$CONVERTPKGS" == "true" ];then
			export STATE=BUILDMODULES
			touch $TMPDIR/proglock
			gtk_progress "Converting"
			for a in ${LINKS[@]}; do
				local shorty=${a##*/}
				echo "$shorty" > $TMPDIR/.message
				txz2xzm $STORAGE/$shorty > $TMPDIR/.progress
				modcon=${shorty%.*}.xzm
				if [ "$MERGE" != "true" ]; then
					[ "$ACTIVATEMOD" = "true" ] && activate $STORAGE/$modcon
				fi
			done
			rm $TMPDIR/proglock
			sleep 0.4
			kill_progress 2>/dev/null
			sleep 1
		fi fi
	else
		if [ $MULTIPKG ]; then
			if [ $MERGE ]; then
				mkdir $STORAGE/merged
				for a in ${LINKS[@]}; do
					mpkg=${a##*/}
					installpkg --terse -root $STORAGE/merged $STORAGE/$mpkg
				done
				local bundlepkg=${ORIGPKG}
				local bundlename=${bundlepkg%-*}-bundle.xzm
				dir2xzm $STORAGE/merged $STORAGE/$bundlename
				[ "$ACTIVATEMOD" = "true" ] && activate $STORAGE/$bundlename
				rm -rf $STORAGE/merged
				echo
				echo "$STORAGE/$bundlename is ready."
			fi
		fi
		if [ `awk -F= /MODULES/'{print$2}' $CONF` == "true" ]; then
			if [ -z $MERGE ]; then
				echo
				bold "Commencing package conversion ..."
				sleep 2
				for a in ${LINKS[@]}; do
					local shorty=${a##*/}
					txz2xzm $STORAGE/$shorty
					modcon=${shorty%.*}.xzm
					[ "$ACTIVATEMOD" = "true" ] && activate $STORAGE/$modcon
				done
			fi
		fi

	fi
fi

if [ $installpackages ]; then
	echo "`gettext " Enter a custom path to install packages to or press enter to install to the system: "`"
	read -e -p ">" installpath
	[ "$installpath" == "" ] && installpath=/ && echo "Installing to system" || echo "Installing to: $installpath"
	[ ! -d $installpath ] && mkdir -p $installpath
	for a in $FINALPKGS; do
		local b=${a##*/}
		#installpkg --terse --root $installpath $STORAGE/$b
		ROOT=$installpath upgradepkg --install-new $STORAGE/$b
	done
fi

[ "$REMOVETXZ" = "true" ] && remove_packages

if [ $GUI ]; then
	if [ `awk '/^NOPROMPTS/ && /false/' $CONF` ]; then
		gtk_yesno "`gettext "Your files are ready"`" "`gettext "Would you like to open the storage folder now?"`"
		if [ `grep -o Yes $TMPDIR/.yesno` ]; then dbus-launch $FILEMANAGER $STORAGE; fi
	fi
fi
unset LINKS LINK DISP FINALPKGS STATE MERGE STORAGE installpath
}

resolve_deps(){
# Debugging Switch      Bogomips
dbg=0;
PKGQ+=( "${1##*/}" )

PKGLIST+=( "${1##*/}" )

if [ $GUI ]; then
	echo "${PKG[0]}" > $TMPDIR/.stream
	[ ! `pgrep -f GTK_TAILBOXNB` ] && gtk_tailboxnb 80 &
fi

# Get the depth of dep resolution
[ "$DEPTH" ] && dlimit=${DEPTH}

# Set depth loop
dloop=0

until [ ${#PKGQ[@]} -eq 0 ]; do
	local PKG=${PKGQ[0]}
	if [ $CLI ] && [ $DEPTH ]; then
		[ $dloop -eq $dlimit ] && { echo "Depth $dlimit of resolution reached. Exiting."; cleanup; }
	fi
	{ echo; echo "`gettext "Processing: "`" $txtbld "$PKG" $rst; } | tee $TMPDIR/.stream
	sleep 2
	# Bogonips 31-5-17
	# Making two assumptions for Newer Version
	# 1. Tag Id stays the same     2. Dependencies remain Unchanged
	e=$(find -L $DBDIR -type f -name "LIBS.TXT" | xargs grep -i "^$PKG" | head -n1);
((dbg)) && echo "PKG='$PKG' e='$e' DBDIR='$DBDIR'"
    [[ $e ]] || {
    #   REGEX DISTINGUISHING SUFFIX
    s=${PKG%-*-*-*}; [[ ${PKG#$s} =~ ^-.*-.*-[0-9]+(.+).t[xg]z$ ]] && c=${BASH_REMATCH[1]} || c=[0-9];
	# GREP
    e=$(find -L $DBDIR -type f -name "LIBS.TXT" | xargs grep -i "^${PKG%-*-*-*}-[^-]*-[^-]*-[0-9]*$c.t[xg]z$" | head -n1);
((dbg)) && echo "s='$s' c='$c' e='$e'"
    }
    TARGLIB=${e%%:*};
#	TARGLIB=`find -L $DBDIR -type f -name "LIBS.TXT" | xargs grep -i "^$PKG" | head -n1 | awk -F: '{print$1}'`
	[ $CLI ] && [ -z $TARGLIB ] && fatality "$SCRIPT $FUNCNAME $LINENO" "`gettext "Please wait 6 hours for the next database update. Could not find:"`" "LIBS.TXT"
	[ $GUI ] && [ -z $TARGLIB ] && { echo "`gettext "Please wait 6 hours for the next database update. Could not find:"`" "LIBS.TXT" > $TMPDIR/.stream; gtk_message2 "`gettext "Fatal error"`" "LIBS.TXT"; exit; }
	HASDEPS=`grep -A1 "$PKG" $TARGLIB|tail -n1|grep -v ".*\.t.z"`
	if [[ ! -z $HASDEPS ]]; then
		ALLDEPS=`sed 's@,@@g' <<<$HASDEPS`

		iPKGSHORT=${PKG%-*-*-*}
		IGDEPS=`grep -A1 "^#.* $iPKGSHORT" $CONFDIR/ignore-deps.txt|tail -n1`
		echo "Ignored libraries: $IGDEPS"
		if [ "$IGDEPS" ]; then
			for ignoreit in `echo $IGDEPS|tr ',' '\n'`; do
				ALLDEPS2=`echo $ALLDEPS|tr ' ' '\n'|grep -v $ignoreit`
				ALLDEPS=$ALLDEPS2 && unset ALLDEPS2
			done
		fi
		LIBCNT=`wc -w <<<$ALLDEPS`
		declare -i RESCNT=0
		[ $CLI ] && { echo; echo "`gettext "Libraries required: "`" "$LIBCNT"; }

		for a in $ALLDEPS; do
			if [[ `grep $a $LOCALDB/libs.txt` ]]; then
				ALLDEPS=${ALLDEPS/$a/}
				(( RESCNT++ ))
			fi
		done

		[ $CLI ] && echo "`gettext "Libraries found in system:"`" "$RESCNT"
		[ $CLI ] && { echo "`gettext "Libraries to resolve:"`" "`wc -w <<<$ALLDEPS`"; echo; }

		for a in $ALLDEPS; do
			[ $CLI ] && echo "`gettext "Processing library:"`" "$a"
			local MOTHERPKG=`find -L $DBDIR -name OPTIFEST|xargs tac|sed -n "/$a/,/Package:/p"|awk /Package:/'{print$NF}'`
			if [[ "$MOTHERPKG" ]]; then
				if [ ${#PKGLIST[@]} -ne 0 ]; then
					for HAVEIT in $MOTHERPKG; do
						if [[ `echo ${PKGLIST[@]}|grep -o $HAVEIT` ]]; then
							continue 2
						fi
					done
				fi
				declare -i MPKGCNT=`wc -w <<<$MOTHERPKG`
				if [ $MPKGCNT -gt 1 ]; then
					for dup in $MOTHERPKG; do
						shortv=${dup%-*-*}
						if [ `grep -c $shortv <<<"$MOTHERPKG"` -gt 1 ]; then
							REDUCETO1=`grep $shortv <<<"$MOTHERPKG"|sort -V|head -n1`
							MOTHERPKG2="`tr " " "\n" <<<$MOTHERPKG|sed '/'$shortv'/d'` $REDUCETO1"
							MOTHERPKG=$MOTHERPKG2
						fi
					done
					if [ `wc -w <<<$MOTHERPKG` -eq 1 ]; then
						PKGQ+=( "$MOTHERPKG" )
						PKGLIST+=( "$MOTHERPKG" )
						continue
					fi
					for b in $MOTHERPKG; do
						MSHORT=${MOTHERPKG%-*-*-*}
						local SIZELONG=`find -L $DBDIR -name PACKAGES.TXT|xargs grep -A5 $b|awk "/\(compressed/"`
						[ `wc -c <<<$SIZELONG` -lt 3 ] && local SIZELONG=`find -L $DBDIR -name PACKAGES.TXT|xargs grep -A5 "PACKAGE NAME:  $MSHORT$"|awk "/\(compressed/"`
						local PKGSIZE=`echo ${SIZELONG##*:}|sed 's/ //g'`
						local PKGDIST=`echo ${SIZELONG%-*}|awk -F/ '{print $(NF-1)}'`
						DISPLAYIT+=( "$b $PKGSIZE $PKGDIST" )
					done
					export RESULT="$MOTHERPKG"
					TXTMULTIPKG="`gettext "More than one package contains:"`"
					if [ $CLI ]; then
						echo
						echo $txtcyan "$TXTMULTIPKG" $rst "$a"
						printf '%s\n' "${DISPLAYIT[@]}"|column -t
						menu_from_variable $RESULT
						unset DISPLAYIT
					else
						gtk_menu_from_variable "$TXTMULTIPKG $a"
					fi
					PKGQ+=( $CHOICE )
					PKGLIST+=( $CHOICE ) && unset CHOICE
				else
					PKGQ+=( "$MOTHERPKG" )
					PKGLIST+=( "$MOTHERPKG" )
				fi
			else
				UNRES+=( $a )
			fi
		done
		PKGQ=("${PKGQ[@]:1}")

		PKGQ2=( `printf '%s\n' ${PKGQ[@]}|awk '!x[$0]++'` )
		PKGQ=("${PKGQ2[@]}") && unset PKGQ2
		echo
		(( dloop++ ))
		continue
	else
	PKGQ=("${PKGQ[@]:1}")
	fi
	(( dloop++ ))
done # Ends while loop for ${#PKGQ[@]}
}

function check_installed(){
local fpkg=$1
local fpwv="${fpkg%-*-*}"
local fp=${fpkg%-*-*-*}-
isinstalled=`ls -1 /var/log/packages|grep "^$fp"`
if [ "$isinstalled" ]; then
	local lpwv=${isinstalled%-*-*}
	if [ "$fpwv" == "$lpwv" ]; then
		pstatus="installed"
	elif [ "`echo $fpwv $lpwv|tr ' ' '\n'|sort -V|tail -n1`" == "$fpwv" ]; then
		pstatus="upgrade"
	else
		pstatus="downgrade"
	fi
else
	pstatus="not installed"
fi
}; export -f check_installed

function convert_size(){
declare -i GSIZE=$1
[ $GSIZE -gt 1024 ] && OSIZE="`echo "scale=2; $GSIZE/1024"|bc` MB" || OSIZE="${GSIZE} KB"
unset GSIZE
}

function package_get_link(){
[ "$ARCH" = "x86_64" ] && ARCHI=x86_64 || ARCHI=x86

declare -i TSIZE=0
for pkg in $1; do
    local LONG=`find -L $DBDIR -type f -name "OPTIFEST"|xargs grep -i "Package: $pkg"|head -n1`
    local DIST=`cut -d':' -f1 <<<$LONG|awk -F/ '{print $(NF-1)}'`
    local PKGSHORT=${pkg%-*-*-*}

    local LNKREPO=`grep -m1 -e "^\([a-z]\)" $CONFDIR/mirrors-$DIST.txt`
    [ "$ARCH" = "x86_64" ] && ARCHI="x86_64" || ARCHI="x86"
    [ "$DIST" = "slackware" ] && local EXTRA=slackware$SLACKSUFFIX-$SLACKVER
    [ "$DIST" = "slackwarepatches" ] && local EXTRA=slackware$SLACKSUFFIX-$SLACKVER/patches
    [ "$DIST" = "slacky" ] && local EXTRA=slackware$SLACKSUFFIX/$SLACKVER
    [ "$DIST" = "alien" ] && local EXTRA=$SLACKVER/$ARCHI
    [ "$DIST" = "salix" ] && local EXTRA=$ARCH/$SLACKVER/salix
    [ "$DIST" = "ponce" ] && local EXTRA=slackware$SLACKSUFFIX-$SLACKVER
    [ "$DIST" = "slackonly" ] && local EXTRA=$SLACKVER-$ARCHI
    local MID=`grep -A3 "NAME:  $pkg" $DBDIR/$DIST/PACKAGES.TXT|awk '/LOCATION:/{print$NF}'|sed  's ..  '`
    [ "$DIST" = "ponce" ] && local MID=packages
    local LINK=$LNKREPO/$EXTRA/$MID/$pkg
    LINKS+=( $LINK )
    local HSIZE=`grep -A3 "NAME:  $pkg" $DBDIR/$DIST/PACKAGES.TXT|grep "(comp"|awk -F: '{ gsub (" ", "", $0); print$NF}'`
    declare -i CSIZE=`tr -d [:alpha:] <<<$HSIZE`
    convert_size $CSIZE # Returns $OSIZE as MB or KB depending on value given in CSIZE
    DISP+=( "$pkg [$OSIZE]" )
done
}

function remove_packages(){
for a in ${LINKS[@]}; do
	b=${a##*/}
	rm $STORAGE/$b
done
}
Enjoy!
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

User avatar
Ed_P
Contributor
Contributor
Posts: 8315
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

Re: USM Skirting Sync Issue

Post#2 by Ed_P » 31 May 2017, 18:17

Bogomips wrote:Heuristic Fix/Workaround of Sync Issue

Lacking enthusiastic response, this is about the best i'll do in sharing. 8)

funcpackageGet.hic
:shock:
In layman terms how/what does the .hic script do? :pardon:


Also, it might be good to add this line after the "#!/bin/bash" one.

Code: Select all

# https://forum.porteus.org/viewtopic.php?f=140&t=6966&p=55563#p55563
:wink:
Ed

Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

Re: USM Skirting Sync Issue

Post#3 by Bogomips » 31 May 2017, 18:30

Ed_P wrote:In layman terms how/what does the .hic script do? :pardon:
It's the function funcpackageGet patched to function heuristically when out of sync situation arises. Put extension ,hic so as to avoid confusion with the original funcpackageGet script. The two patched areas are adequately commented, one being the LIBS.TXT not found ~#390 (finding LIBS.TXT repo), and the other ~#90 the 0B package (thru being superseded).
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

User avatar
Ed_P
Contributor
Contributor
Posts: 8315
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

Re: USM Skirting Sync Issue

Post#4 by Ed_P » 31 May 2017, 21:21

Bogomips wrote:It's the function funcpackageGet patched to function heuristically
Oh! OK. So it's not something you wrote from scratch to fix the problem but rather a patch of the problem. OK. :good:

"A heuristic is a rule or method that helps you solve problems faster than you would if you did all the computing. " :D file

Does it run brokenman's script to rebuild the LIBS.TXT files?

Thank you Bogomips. :)
Ed

Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

Re: USM Skirting Sync Issue

Post#5 by Bogomips » 31 May 2017, 21:38

Ed_P wrote:Does it run brokenman's script to rebuild the LIBS.TXT files?
Which script is that? Do not as a rule touch anything, except problem at hand. So if such a script exists, can try running it as first resort. ;)
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

User avatar
Ed_P
Contributor
Contributor
Posts: 8315
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

Re: USM Skirting Sync Issue

Post#6 by Ed_P » 31 May 2017, 22:21

Bogomips wrote:Which script is that? Do not as a rule touch anything, except problem at hand. So if such a script exists, can try running it as first resort. ;)
This one:
brokenman wrote: It then unpacks each and every slackware package and runs a check on which libraries are contained within after which it creates the file LIBS.TXT.
Ed

Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

Re: USM Skirting Sync Issue

Post#7 by Bogomips » 01 Jun 2017, 00:34

^ Without distinct script name, too much hassle! Just tiding over while brokenman fixes sync. Point of diminishing returns. :wall:
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

USM Skirting Sync Issue

Post#8 by Bogomips » 20 Jun 2017, 18:22

Relevant Example
  • Before doctoring USM

    Code: Select all

    root@porteus:/home/guest# usm -g kodi
    
     The following items were found.
     Choose an number to confirm. 
     ctrl+c to quit
    
    1) kodi-16.1-x86_64-1gv.txz
    2) kodi-17.3-x86_64-1_slonly.txz
    #? 2
    
    Processing:   kodi-17.3-x86_64-1_slonly.txz 
    ...
    Processing:   judy-1.0.5-x86_64-1.txz 
    
     WARNING: unresolved dependencies remain. 
    libsasl2.so.2
    awk: cmd. line:1: (FILENAME=- FNR=1) fatal: attempt to access field -1
    grep: /etc/usm/mirrors-.txt: No such file or directory
    grep: /home/guest/p10/Por/var64/usm//PACKAGES.TXT: No such file or directory
    grep: /home/guest/p10/Por/var64/usm//PACKAGES.TXT: No such file or directory
    
     The following packages are required. 
    crossguid-20160705-x86_64-1_slonly.txz [12K] [not installed]
    judy-1.0.5-x86_64-1.txz [132K] [not installed]
    kodi-17.3-x86_64-1_slonly.txz [] [not installed]
    libmicrohttpd-0.9.42-x86_64-1_slonly.txz [224K] [not installed]
    mariadb-10.0.30-x86_64-1_slack14.2.txz [25952K] [not installed]
    tinyxml-2.6.2-x86_64-2ponce.txz [56K] [not installed]
    yajl-2.1.0-x86_64-2ponce.txz [40K] [not installed]
    
    Total size: 26 MB
    
     Multiple packages were detected.
     Would you like to merge the packages into one module? [y/n]
     Would you like to create a subfolder for the files? [y/n]
     Would you like to install the package/s? (custom paths are supported) [y/n]
    
     Press [r] to remove packages, [q] to quit, or enter to start downloading.
    
  • Doctoring and After

    Code: Select all

    root@porteus:/home/guest# cp -r /usr/share/usm/funcpackageGet /usr/share/usm/funcpackageGet.bak
    root@porteus:/home/guest# cp $g/usm/funcpackageGet.hic /usr/share/usm/funcpackageGet
    
    root@porteus:/home/guest# usm -g kodi
    
     The following items were found.
     Choose an number to confirm. 
     ctrl+c to quit
    
    1) kodi-16.1-x86_64-1gv.txz
    2) kodi-17.3-x86_64-1_slonly.txz
    #? 2
    
    Processing:   kodi-17.3-x86_64-1_slonly.txz 
    Ignored libraries: 
    
    Libraries required:  69
    Libraries found in system: 64
    Libraries to resolve: 5
    
    Processing library: libcrossguid.so.0
    Processing library: libmicrohttpd.so.10
    Processing library: libmysqlclient.so.18
    
     More than one package contains:  libmysqlclient.so.18
    mariadb-10.0.26-x86_64-1.txz            25836K  slackware
    mariadb-10.0.30-x86_64-1_slack14.2.txz  25952K  slackwarepatches
    
     The following items were found.
     Choose an number to confirm. 
     ctrl+c to quit
    
    1) mariadb-10.0.26-x86_64-1.txz
    2) mariadb-10.0.30-x86_64-1_slack14.2.txz
    #? 2
    Processing library: libtinyxml.so.0
    Processing library: libyajl.so.2
    
    
    Processing:   crossguid-20160705-x86_64-1_slonly.txz 
    Ignored libraries: 
    
    Libraries required:  4
    Libraries found in system: 4
    Libraries to resolve: 0
    
    
    
    Processing:   libmicrohttpd-0.9.42-x86_64-1_slonly.txz 
    Ignored libraries: 
    
    Libraries required:  15
    Libraries found in system: 13
    Libraries to resolve: 2
    
    Processing library: libmicrospdy.so.0
    Processing library: libsasl2.so.2
    
    
    Processing:   mariadb-10.0.30-x86_64-1_slack14.2.txz 
    Ignored libraries: 
    
    Libraries required:  17
    Libraries found in system: 16
    Libraries to resolve: 1
    
    Processing library: libJudy.so.1
    
    
    Processing:   tinyxml-2.6.2-x86_64-2ponce.txz 
    Ignored libraries: 
    
    Libraries required:  3
    Libraries found in system: 3
    Libraries to resolve: 0
    
    
    
    Processing:   yajl-2.1.0-x86_64-2ponce.txz 
    Ignored libraries: 
    
    Libraries required:  1
    Libraries found in system: 1
    Libraries to resolve: 0
    
    
    
    Processing:   judy-1.0.5-x86_64-1.txz 
    
     WARNING: unresolved dependencies remain. 
    libsasl2.so.2
    
    =============
    HEURISTIC USM
    =============
    
    kodi-17.3-x86_64-1_slonly.txz superseded by kodi-17.3-x86_64-2_slonly.txz
    
     The following packages are required. 
    crossguid-20160705-x86_64-1_slonly.txz [12K] [not installed]
    judy-1.0.5-x86_64-1.txz [132K] [not installed]
    kodi-17.3-x86_64-2_slonly.txz [33540K] [not installed]
    libmicrohttpd-0.9.42-x86_64-1_slonly.txz [224K] [not installed]
    mariadb-10.0.30-x86_64-1_slack14.2.txz [25952K] [not installed]
    tinyxml-2.6.2-x86_64-2ponce.txz [56K] [not installed]
    yajl-2.1.0-x86_64-2ponce.txz [40K] [not installed]
    
    Total size: 59 MB
    
     Multiple packages were detected.
     Would you like to merge the packages into one module? [y/n]
     Would you like to create a subfolder for the files? [y/n]
     Would you like to install the package/s? (custom paths are supported) [y/n]
    
     Press [r] to remove packages, [q] to quit, or enter to start downloading.
    
     Updates are available.
     Program update:   not required
     Database update:  available
     Please run:  usm -u all  and/or  usm -u usm
     This message can be disabled in /etc/usm/usm.conf
     ###############################
    crossguid-20160705-x86_64-1_slonly.txz exists. Symlink created.
    judy-1.0.5-x86_64-1.txz exists. Symlink created.
    Downloading: kodi-17.3-x86_64-2_slonly.txz  DONE
    libmicrohttpd-0.9.42-x86_64-1_slonly.txz exists. Symlink created.
    Downloading: mariadb-10.0.30-x86_64-1_slack14.2.txz  DONE
    tinyxml-2.6.2-x86_64-2ponce.txz exists. Symlink created.
    yajl-2.1.0-x86_64-2ponce.txz exists. Symlink created.
    
    root@porteus:/home/guest# ls -lh $g/tmp64/usm/kodi-1
    kodi-16.1/                     kodi-17.3-x86_64-2_slonly.txz
    root@porteus:/home/guest# ls -lh $g/tmp64/usm/kodi-17.3-x86_64-2_slonly.txz
    -rw-r--r-- 1 root root 33M Jun 12 02:04 p10/Por/tmp64/usm/kodi-17.3-x86_64-2_slonly.txz
    
;)
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

User avatar
Ed_P
Contributor
Contributor
Posts: 8315
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

USM Skirting Sync Issue

Post#9 by Ed_P » 10 Aug 2017, 02:53

Bogomips wrote:
31 May 2017, 17:13
Heuristic Fix/Workaround of Sync Issue

Lacking enthusiastic response, this is about the best i'll do in sharing. 8)

Used in CLI mode, Fix:

Code: Select all

[[ -e /usr/share/usm/funcpackageGet.bak ]] || sudo cp -p /usr/share/usm/funcpackageGet  /usr/share/usm/funcpackageGet.bak  # Save original
cp   /Path/to/funcpackageGet.hic    /usr/share/usm/funcpackageGet
I found that the latter cp needed to be a:

Code: Select all

sudo cp   /Path/to/funcpackageGet.hic    /usr/share/usm/funcpackageGet
The same as the backup command.
Ed

Post Reply