LinuxQuestions.org
Review your favorite Linux distribution.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 12-16-2015, 12:25 PM   #316
zerouno
Member
 
Registered: Oct 2009
Location: Italy
Distribution: Slackware
Posts: 568

Rep: Reputation: 161Reputation: 161

good.
I'm seeing that.



Tell me also if may be or not may be an idea to support case-insensitive search (only in slackpkg search or install/upgrade or both)

Code:
# slackpkg search mplayer

DONE

The list below shows all packages with name matching "mplayer".

[ Status           ] [ Repository               ] [ Package                                  ]
  uninstalled                                       mplayerplug-in-3.55-i486-1                
   installed                                        mplayerthumbs-4.14.3-i586-2               
  upgrade              ktown                        mplayerthumbs-4.14.3-i586-2 --> mplayerthumbs-15.08.3-i486-1alien  
  uninstalled          alienbob                     gnome-mplayer-1.0.9-i486-1alien           
  uninstalled          slackonly                    gnome-mplayer-1.0.8-i586-1_slack          
  uninstalled          slackonly                    smplayer-15.9.0-i586-1_slack              
  uninstalled          slackonly                    umplayer-0.97-i586-1_slack                
  uninstalled          slackonly                    vitunes-mplayer-2.3-i586-1_slack          

You can search specific files using "slackpkg file-search file".


# slackpkg search MPlayer

DONE

The list below shows all packages with name matching "MPlayer".

[ Status           ] [ Repository               ] [ Package                                  ]
   installed                                        MPlayer-20150721-i586-3                   
  uninstalled          slackonly                    Ater-MPlayer-skin-1.2-i586-1_slack        

You can search specific files using "slackpkg file-search file".

P.S.: if you follow the devel branch on github, you can see I had made some new commit in these days that I'm testing, but I want to close the givepriority() problem before do it.

Last edited by zerouno; 12-16-2015 at 01:26 PM.
 
Old 12-16-2015, 01:25 PM   #317
zerouno
Member
 
Registered: Oct 2009
Location: Italy
Distribution: Slackware
Posts: 568

Rep: Reputation: 161Reputation: 161
still remains a bug that slackpkg install show some packages matching pattern from other repositories different from the explicitly specified (I have PKGS_PRIORITY=( ktown ) in configuration):

Code:

# slackpkg -dialog=off install vlc           

Looking for vlc in package list. Please wait... DONE

-[ Repository               ] [ Package                                  ]
  alienbob                     npapi-vlc-20150301-i486-1alien.txz        
  ktown                        phonon-vlc-0.8.2-i486-2alien.txz          
  alienbob                     vlc-2.2.1-i486-4alien.txz                 

Total package(s): 3

Do you wish to install selected packages (Y/n)? n

# slackpkg -dialog=off install restricted:vlc

Looking for vlc in package list. Please wait... DONE

[ Repository               ] [ Package                                  ]
  restricted                   npapi-vlc-20150301-i486-1alien.txz        
  ktown                        phonon-vlc-0.8.2-i486-2alien.txz          
  restricted                   vlc-2.2.1-i486-4alien.txz                 

Total package(s): 3

Do you wish to install selected packages (Y/n)? n

# slackpkg -dialog=off install alienbob:vlc

Looking for vlc in package list. Please wait... DONE

[ Repository               ] [ Package                                  ]
  alienbob                     npapi-vlc-20150301-i486-1alien.txz        
  ktown                        phonon-vlc-0.8.2-i486-2alien.txz          
  alienbob                     vlc-2.2.1-i486-4alien.txz                 

Total package(s): 3

Do you wish to install selected packages (Y/n)? n
 
Old 12-17-2015, 10:16 AM   #318
phenixia2003
Member
 
Registered: May 2006
Location: France
Distribution: Slackware
Posts: 876

Rep: Reputation: 760Reputation: 760Reputation: 760Reputation: 760Reputation: 760Reputation: 760Reputation: 760
Hello,

Quote:
Originally Posted by zerouno View Post
still remains a bug that slackpkg install show some packages matching pattern from other repositories different from the explicitly specified (I have PKGS_PRIORITY=( ktown ) in configuration):
The patch priority-fix-beta2.diff.txt (for this version of slackpkgplus.sh from github) should fix that. This is always beta quality and needs to be tested and reviewed.
Code:
--- slackpkgplus.sh.github	2015-12-17 11:43:14.400468572 +0100
+++ slackpkgplus.sh	2015-12-17 17:00:15.451498248 +0100
@@ -401,41 +401,78 @@
     for CPRIORITY in ${PRIORITY[@]} ; do
       [ "$PKGDATA" ] && break
 
+      DIR=$(echo "$CPRIORITY" | cut -f1 -d":")
+      PAT=$(echo "$CPRIORITY" | cut -s -f2- -d":")
+      REPOSITORY=$(echo "${DIR}" | sed "s/SLACKPKGPLUS_//")
+
+	# pass to the next iteration when there are priority filters and the
+	# current repository is not accepted by the defined filter rules ...
+      if [ -s ${TMPDIR}/priority.filters ] \
+	&& ! grep -q -E "^([.][*]|${REPOSITORY}) " ${TMPDIR}/priority.filters ; then
+	continue
+      fi
+
       if echo "$CPRIORITY " | grep -q "[a-zA-Z0-9]\+[:]" ; then
-        DIR=$(echo "$CPRIORITY" | cut -f1 -d":")
-        PAT=$(echo "$CPRIORITY" | cut -f2- -d":")
 
-        # ARGUMENT is always a basename. But PAT can be:
-        #   1. a regular expression (ie .*)
-        #   2. a basename (openjdk)
-        #   3. a partial (or complete) package name (vlc-2.0.6, ).
-        #
-        # The current "enhanced priority rule" is applied :
-        #   + In case (1) and (2) when ARGUMENT contains the pattern PAT
-        #   + In the case (3) when ARGUMENT starts the pattern PAT.
-        #
-        if echo "$ARGUMENT" | grep -q "$PAT" || echo "$PAT" | grep "^$ARGUMENT" ; then
-          PKGDATA=""
-          PKGINFOS=$(grep -n -m 1 "^${DIR} ${ARGUMENT} " ${TMPDIR}/pkglist)
-
-          if [ ! -z "$PKGINFOS" ] ; then
-            LINEIDX=$(echo "$PKGINFOS" | cut -f1 -d":")
-              PKGDATA=( $(echo "$PKGINFOS" | cut -f2- -d":") )
-
-              # -- move the line at #LINEIDX to #PRIORITYIDX and
-              #    increment PRIORITYIDX
-              #
-              sed -i --expression "${LINEIDX}d" --expression "${PRIORITYIDX}i${PKGDATA[*]}" ${TMPDIR}/pkglist
-              (( PRIORITYIDX++ ))
-          fi
+	  # [Reminder] ARGUMENT is always a basename, but PAT can be :
+	  #    1. a basename (ie. gcc, glibc-solibs)
+	  #    2. a regular expression (ie. .*)
+	  #    3. a (in)complete package name (ie. vlc-2, vlc-2.0.6, 1.0.3)
+	  #
+	PKGDATA=""
+	LINEIDX=""
+	PKGINFOS=$(grep -n "^${DIR} " ${TMPDIR}/pkglist | grep -w "${PAT}" | grep -m 1 "^[[:digit:]]\+:${DIR} ${ARGUMENT}")
+
+        if [ ! -z "$PKGINFOS" ] ; then
+	  LINEIDX=$(echo "$PKGINFOS" | cut -f1 -d":")
+	  PKGDATA=( $(echo "$PKGINFOS" | cut -f2- -d":") )
         fi
       else
-        PKGDATA=( $(grep "^${CPRIORITY} ${ARGUMENT} " ${TMPDIR}/pkglist) )
+	  # $CPRIORITY is of kind "repository" (ie. slackware, extra, patches,...)
+	REPOSITORY="${CPRIORITY}"
+        PKGDATA=( $(grep -n -m 1 "^${REPOSITORY} ${ARGUMENT} " ${TMPDIR}/pkglist) )
       fi
 
+
       if [ "$PKGDATA" ]; then
         NAME=${PKGDATA[1]}
         FULLNAME=$(echo "${PKGDATA[5]}.${PKGDATA[7]}")
+
+	if [ -s ${TMPDIR}/priority.filters ] ; then
+	    # there are priority filters set. Ensure the current selected
+	    # package is accepted by the defined filter rules. Otherwise,
+	    # reset PKGDATA and LINEIDX
+	    #
+
+	    # extract patterns from prioriy.filters whose 1st FIELD match ${REPOSITORY},
+	    # and, if there are filter of type .*:P, add their patterns too ...
+	  grep "^${REPOSITORY} " ${TMPDIR}/priority.filters | cut -f2 -d" " > ${TMPDIR}/filter.patterns
+	  grep "^[.][*] " ${TMPDIR}/priority.filters | cut -f2 -d" " >> ${TMPDIR}/filter.patterns
+
+	    # If no filter patterns were found, or if the selected package does not
+	    # match any of the filter patterns, the selected package is rejected...
+	  if [ ! -s ${TMPDIR}/filter.patterns ] || ! echo "${PKGDATA[5]}.${PKGDATA[7]}" | grep -q -f ${TMPDIR}/filter.patterns ;  then
+	    PKGDATA=""
+	    LINEIDX=""
+	    NAME=""
+	    FULLNAME=""
+	  fi
+	fi
+      fi
+
+      if [ ! -z "$LINEIDX" ] ; then
+	  # CPRIORITY is of kind reponame:pattern. The selected package is at line #LINEIDX. To
+	  # ensure that slackpkg (ie. core code) will install|upgrade this (exact) package, the
+	  # line which describes it (ie. in TMPDIR/pkglist) must be moved at line #PRIORITYIDX.
+          #
+	  # Without this move, slackpkg could install|upgrade the wrong package. For instance,
+	  # if there are 2 repositories R1 and R2 which have two differents version of the
+	  # same package (ie. built with different options) but which have the same name P, if 
+	  # R1:P is before R2:P in pkglist, and the user issue install|upgrade R2:P, slackpkg
+	  # will install R1:P instead.
+	  #
+	sed -i --expression "${LINEIDX}d" --expression "${PRIORITYIDX}i${PKGDATA[*]}" ${TMPDIR}/pkglist
+	(( PRIORITYIDX++ ))
       fi
     done
   } # END givepriority()
@@ -953,6 +990,8 @@
     fi
   done
 
+  touch ${TMPDIR}/priority.filters
+
   if [[ "$CMD" == "upgrade" || "$CMD" == "upgrade-all" ]] && [ "$ALLOW32BIT" == "on" ] ; then
        ARCH="\($ARCH\)\|\([i]*[3456x]86[^_]*\)"
        echo -e "i[3456]86\nx86" > $TMPDIR/greylist.32bit
@@ -964,6 +1003,7 @@
     PRIORITYLIST=""
 
     for pref in $INPUTLIST ; do
+      PRIORITY_FILTER_RULE=""
 
       # You can specify 'slackpkg install .' that is an alias of 'slackpkg install dir:./'
       if [ "$pref" == "." ];then
@@ -986,6 +1026,9 @@
 	REPOPLUS=( ${repository} ${REPOPLUS[*]} )
 	package=$(cutpkg $package)
 
+	  # require to add rule "$repository $package" in the priority filter
+	PRIORITY_FILTER_RULE="${repository} ${package}"
+
       # You can specify 'slackpkg install dir:directory' on local disk, where 'directory' have a relative or absolute path
       elif [ "${pref:0:4}" = "dir:" ]; then
         localpath=$(echo "$pref" | cut -f2- -d":"|sed 's_/$__')
@@ -1004,6 +1047,9 @@
 	REPOPLUS=( ${repository} ${REPOPLUS[*]} )
         package=SLACKPKGPLUS_$repository
 
+	  # require to add rule "$repository .*" in the priority filter
+	PRIORITY_FILTER_RULE="${repository} .*"
+
       # You can specify 'slackpkg install http://mysite.org/myrepo/package-1.0-noarch-1my.txz' to install a package from remote path
       # without manual download. You can use http,https,ftp repositories
       elif echo "$pref" | egrep -q "^(https?|ftp)://.*/.*-[^-]+-[^-]+-[^\.]+\.t.z$" ;then
@@ -1016,6 +1062,9 @@
 	REPOPLUS=( ${repository} ${REPOPLUS[*]} )
 	package=$(cutpkg $package)
 
+	  # require to add rule "${repository} ${package}" in the priority filter
+	PRIORITY_FILTER_RULE="${repository} ${package}"
+
       # You can specify 'slackpkg install http://mysite.org/myrepo' to list remote directory
       elif echo "$pref" | egrep -q "^(https?|ftp)://.*/.*" ;then
 	repository=$(echo "$pref" | cut -f1 -d":")
@@ -1027,6 +1076,9 @@
 	REPOPLUS=( ${repository} ${REPOPLUS[*]} )
 	package=SLACKPKGPLUS_$repository
 
+	  # require to add rule "${repository} .*" in the priority filter
+	PRIORITY_FILTER_RULE="${repository} .*"
+
       # You can specify 'slackpkg install reponame:packagename'
       elif echo "$pref" | grep -q "[a-zA-Z0-9]\+[:][a-zA-Z0-9]\+" ; then
 
@@ -1034,6 +1086,9 @@
           repository=$(echo "$pref" | cut -f1 -d":")
           package=$(echo "$pref" | cut -f2- -d":")
 
+	    # require to add rule "${repository} ${package}" in the priority filter
+	  PRIORITY_FILTER_RULE="${repository} ${package}"
+
           if ! echo "$repository" | grep -qwE "$SLACKDIR_REGEXP" ; then
 	    repository="SLACKPKGPLUS_${repository}"
 	  fi
@@ -1055,6 +1110,9 @@
           fi
         fi
 
+	  # require to add rule "${pref} .*" in the priority filter
+	PRIORITY_FILTER_RULE="${pref} .*"
+
         package="SLACKPKGPLUS_${pref}"
         PRIORITYLIST=( ${PRIORITYLIST[*]} SLACKPKGPLUS_${pref}:.* )
 
@@ -1075,8 +1133,14 @@
         #
         package="^${pref}"
 
+	  # require to add rule "${pref} .*" in the priority filter
+	PRIORITY_FILTER_RULE="${pref} .*"
+
       # You can specify 'slackpkg install argument' where argument is a package name, part of package name, directory name in repository
       else
+	  # require to add rule ".* ${pref}" in the priority filter
+	PRIORITY_FILTER_RULE=".* ${pref}"
+
         package=$pref
         AUTOPRIORITY=" $AUTOPRIORITY -e $package "
       fi
@@ -1085,6 +1149,8 @@
 	package=$(echo $package|sed 's/\.t[blxg]z$//')
       fi
 
+      [ ! -z "${PRIORITY_FILTER_RULE}" ] && echo "${PRIORITY_FILTER_RULE}" >> ${TMPDIR}/priority.filters
+
       # -- only insert "package" if not in NEWINPUTLIST
       echo "$NEWINPUTLIST" | grep -qw "${package}" || NEWINPUTLIST="$NEWINPUTLIST $package"
     done
@@ -1114,7 +1180,6 @@
     fi
   fi
 
-
   if [ "$CMD" == "search" ] || [ "$CMD" == "file-search" ] ; then
     PATTERN=$(echo $ARG | sed -e 's/\+/\\\+/g' -e 's/\./\\\./g' -e 's/ /\|/g')
     searchPackages $PATTERN
Some use cases. PKGS_PRIORITY=( multilib alienbob restricted ktown ) :

Code:
slackpkg -dialog=off install restricted:vlc

Looking for vlc in package list. Please wait... 
DONE

[ Repository               ] [ Package                                  ]
  restricted                   npapi-vlc-20150301-x86_64-1alien.txz      
  restricted                   vlc-2.2.1-x86_64-1alien.txz               

Total package(s): 2
Code:
slackpkg -dialog=off install restricted:vlc ktown:vlc

Looking for vlc in package list. Please wait... 
DONE

[ Repository               ] [ Package                                  ]
  restricted                   npapi-vlc-20150301-x86_64-1alien.txz      
  ktown                        phonon-vlc-0.8.1-x86_64-1alien.txz        
  restricted                   vlc-2.2.1-x86_64-1alien.txz               

Total package(s): 3
Code:
slackpkg -dialog=off install testing:0.6.0

Looking for 0.6.0 in package list. Please wait... 
DONE

[ Repository               ] [ Package                                  ]
  testing                      efibootmgr-0.6.0-x86_64-1.txz
--
SeB
 
Old 12-17-2015, 10:24 AM   #319
zerouno
Member
 
Registered: Oct 2009
Location: Italy
Distribution: Slackware
Posts: 568

Rep: Reputation: 161Reputation: 161
thankyou.
unfortunately today I can't see/test it.
I will see it tomorrow.
 
Old 12-17-2015, 03:40 PM   #320
zerouno
Member
 
Registered: Oct 2009
Location: Italy
Distribution: Slackware
Posts: 568

Rep: Reputation: 161Reputation: 161
Seems to be a good way to solve the problem.

I made some - non exaustive - test, all with success, but I think that the only way to test it is to release it and wait for feedback.
 
Old 12-18-2015, 04:00 AM   #321
phenixia2003
Member
 
Registered: May 2006
Location: France
Distribution: Slackware
Posts: 876

Rep: Reputation: 760Reputation: 760Reputation: 760Reputation: 760Reputation: 760Reputation: 760Reputation: 760
Quote:
Originally Posted by zerouno View Post
good.
I'm seeing that.



Tell me also if may be or not may be an idea to support case-insensitive search (only in slackpkg search or install/upgrade or both)
That's a good idea. That can be done directly in case of search (see patch below), but in case of install|upgrade (and even download,...) this would imply to import makelist (190 lines) from core-functions.sh and change 3/4 lines.

Here is the patch search-nocaseopt-github.diff.txt (compatible with slackpkg from github and the latest public version 1.5.1-mt2) to support case-insentitive search|file-search:
Code:
--- slackpkgplus.sh.github	2015-12-17 11:43:14.400468572 +0100
+++ slackpkgplus.sh	2015-12-18 10:13:09.872209173 +0100
@@ -11,7 +11,7 @@
 SLACKDIR_REGEXP="(slackware)|(slackware64)|(extra)|(pasture)|(patches)|(testing)"
 
 if [ -e $CONF/slackpkgplus.conf ];then
-  # You can override GREYLIST WGETOPTS SLACKPKGPLUS VERBOSE USEBL ALLOW32BIT from command-line
+  # You can override GREYLIST WGETOPTS SLACKPKGPLUS VERBOSE USEBL ALLOW32BIT SENSITIVE_SEARCH from command-line
   EXTGREYLIST=$GREYLIST
   EXTALLOW32BIT=$ALLOW32BIT
   EXTSLACKPKGPLUS=$SLACKPKGPLUS
@@ -20,6 +20,7 @@
   EXTWGETOPTS=$WGETOPTS
   EXTDOWNLOADCMD=$DOWNLOADCMD
   EXTTAG_PRIORITY=$TAG_PRIORITY
+  EXTSENSITIVE_SEARCH=$SENSITIVE_SEARCH
 
   . $CONF/slackpkgplus.conf
 
@@ -31,6 +32,7 @@
   WGETOPTS=${EXTWGETOPTS:-$WGETOPTS}
   DOWNLOADCMD=${EXTDOWNLOADCMD:-$DOWNLOADCMD}
   TAG_PRIORITY=${EXTTAG_PRIORITY:-$TAG_PRIORITY}
+  SENSITIVE_SEARCH=${EXTSENSITIVE_SEARCH:-$SENSITIVE_SEARCH}
 
   USEBLACKLIST=true
   if [ "$USEBL" == "0" ];then
@@ -442,8 +444,9 @@
 
   function searchPackages() {
     local i
+    local GREPOPTS=""
 
-    INPUTLIST=$@
+    SEARCHSTR=$@
 
     grep -vE "(^#|^[[:blank:]]*$)" ${CONF}/blacklist > ${TMPDIR}/blacklist
     if echo $CMD | grep -q install ; then
@@ -455,6 +458,8 @@
 
     touch ${TMPDIR}/waiting
 
+    [ "$SENSITIVE_SEARCH" = "off" ] && GREPOPTS="--ignore-case"
+
     # -- PKGLIST:
     #      temporary file used to store data about packages. It uses
     #      the following format:
@@ -478,7 +483,7 @@
         #  for the fields: version(3) arch(4) build(5), path(7),
         #  extension(8)
         #
-        zegrep -w "${INPUTLIST}" ${WORKDIR}/${DIR}-filelist.gz | \
+        zegrep ${GREPOPTS} -w "${SEARCHSTR}" ${WORKDIR}/${DIR}-filelist.gz | \
           cut -d" " -f 1 | rev | cut -f2- -d"." | cut -f1 -d"/" | rev |\
           awk '{
                   l_pname=$0
@@ -491,7 +496,7 @@
           }' l_dir=${DIR} > $PKGINFOS
 
       else # -- CMD==search
-        grep "^${DIR}.*${PATTERN}" "${TMPDIR}/pkglist" > $PKGINFOS
+        grep ${GREPOPTS} "^${DIR}.*${SEARCHSTR}" "${TMPDIR}/pkglist" > $PKGINFOS
       fi
 
       while read PKG ; do
Note:At first, I didn't understand why searchPackages() was refering to the variable PATTERN. In fact, this variable is declared by the caller, and passed in argument to searchPackages(). Therefore, to prevent any (possible) side-effect I modified that accordingly.

The case-sensitivity is controlled by the environment variable SENSITIVE_SEARCH which can be on|off. In slackpkgplus.conf, it must be defined as below :
Code:
# Defines if commands 'search' and 'file-search' are case-sensitive (on) or not (off). Default to "on"
SENSITIVE_SEARCH=on
This variable can be specified at runtime too :
Code:
$ SENSITIVE_SEARCH=off slackpkg search mplayer
DONE

The list below shows all packages with name matching "mplayer".

[ Status           ] [ Repository               ] [ Package                                  ]
  uninstalled                                       mplayerplug-in-3.55-x86_64-1              
   installed                                        mplayerthumbs-4.10.5-x86_64-1             
   installed                                        phonon-mplayer-1b1fd1f_20110823git-x86_64-1  
   installed                                        MPlayer-1.1_20130819-x86_64-2             
  uninstalled          alienbob                     gnome-mplayer-1.0.9-x86_64-1alien         
  upgrade              ktown                        mplayerthumbs-4.10.5-x86_64-1 --> mplayerthumbs-4.14.3-x86_64-1alien  

You can search specific files using "slackpkg file-search file".
--
SeB
 
Old 12-20-2015, 12:52 PM   #322
phenixia2003
Member
 
Registered: May 2006
Location: France
Distribution: Slackware
Posts: 876

Rep: Reputation: 760Reputation: 760Reputation: 760Reputation: 760Reputation: 760Reputation: 760Reputation: 760
Hello,

@Zerouno

Seems the patch attached to this post, which fix that kind of issue, has not been applied.


--
SeB
 
Old 12-20-2015, 01:37 PM   #323
zerouno
Member
 
Registered: Oct 2009
Location: Italy
Distribution: Slackware
Posts: 568

Rep: Reputation: 161Reputation: 161
Sorry, I forgot it.

But the issue affects also the 'install' command.

Code:
diff --git a/src/slackpkgplus.sh b/src/slackpkgplus.sh
index 9b131e0..78b5f02 100755
--- a/src/slackpkgplus.sh
+++ b/src/slackpkgplus.sh
@@ -441,7 +441,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
          #
        PKGDATA=""
        LINEIDX=""
-       PKGINFOS=$(grep -n "^${DIR} " ${TMPDIR}/pkglist | grep -w "${PAT}" | grep -m 1 "^[[:digit:]]\+:${DIR} ${ARGUMENT}")
+       PKGINFOS=$(grep -n "^${DIR} " ${TMPDIR}/pkglist | grep -w "${PAT}" | grep -m 1 "^[[:digit:]]\+:${DIR} ${ARGUMENT} ")
 
         if [ ! -z "$PKGINFOS" ] ; then
          LINEIDX=$(echo "$PKGINFOS" | cut -f1 -d":")
@@ -613,7 +613,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
       # First is the package already installed?
       # Amazing what a little sleep will do
       # exclusion is so much nicer :)
-      INSTPKG=$(ls -1 $ROOT/var/log/packages | grep -e "^${BASENAME}-[^-]\+-[^-]\+-[^-]\+")
+      INSTPKG=$(ls -1 $ROOT/var/log/packages | grep -e "^${BASENAME}-[^-]\+-[^-]\+-[^-]\+$")
       #INSTPKG=$(ls -1 $ROOT/var/log/packages | grep -e "^${BASENAME}-[^-]\+-\(${ARCH}\|fw\|noarch\)-[^-]\+")
 
       # INSTPKG is local version
(note that I made this patch just some minutes before your post, so I not applied your patch, so it misses the "$ALLOW32BIT" part, but it should work)

Thankyou.
 
Old 12-21-2015, 04:56 PM   #324
zerouno
Member
 
Registered: Oct 2009
Location: Italy
Distribution: Slackware
Posts: 568

Rep: Reputation: 161Reputation: 161
released this patch in slackpkg+-1.6.1-noarch-3mt that fix issues with TAG_PRIORITY=on
Also I found an important issue with SHOWORDER that under certains repository (slackware&extra) do not show some package (kernel-headers and xf86-video-nouveau), so I'd urgently disable it (until searching fix).

I'have fixed and re-enabled it in slackpkg+-1.6.1-noarch-4mt.
 
Old 12-23-2015, 07:19 PM   #325
bamunds
Member
 
Registered: Sep 2013
Location: Mounds View MN
Distribution: Slackware64-14.2 XDM/WMaker
Posts: 624

Rep: Reputation: 180Reputation: 180
I'm running slackpkg+-1.6.1-noarch-4mt on Slackware 64 14.1 with Multilib. Ever since I upgraded to the latest version, when I attempt to run slackpkg upgrade-all, it generates an error about missing arguments, ==============================================================================
WARNING! One or more errors occurred while slackpkg was running
------------------------------------------------------------------------------
DIALOG ERROR:
-------------

Error: Expected 4 arguments, found only 2.
Use --help to list options.


-------------
If you want to continue using slackpkg, disable the DIALOG option in
/etc/slackpkg/slackpkg.conf and try again.

Help us to make slackpkg a better tool - report bugs to the slackpkg
developers

"expected 4 received 2 has never appeared before. I have already turned cacheing off because it was giving an error that the tds.net repository didn't allow cacheing. I've also tested straight slackpkg by using the slackpkgplus on/off switch. If I turn slackpkgplus off, then slackpkg finds all the kde packages as changes since I run ktown. This points to slackpkgplus as being the culprit.

I suspect this error is an issue with the new switches that have been added and that during upgrade I "merged" my old slackpkgplus.conf with the new to save PKG_PRIORITY and MIRRORS settings, rather than accepting the new and modifying it? I'm wondering if anyone can show me the current correct version of slackpkgplus.conf so that I can compare to my current config to determine which arguments I might have 'merged" away. Thanks in advance.

Last edited by bamunds; 12-23-2015 at 09:38 PM.
 
Old 12-23-2015, 09:29 PM   #326
Hangaber
Member
 
Registered: Sep 2004
Location: USA
Distribution: Slackware
Posts: 154

Rep: Reputation: 47
Same error here.

To answer your question - 64bit slackpkgplus.conf sample file from the source.

No significant difference between my slackpkgplus.conf and the sample.

In slackpkg.conf, setting DIALOG=off allowed the text version to work.
 
Old 12-23-2015, 10:05 PM   #327
bamunds
Member
 
Registered: Sep 2013
Location: Mounds View MN
Distribution: Slackware64-14.2 XDM/WMaker
Posts: 624

Rep: Reputation: 180Reputation: 180
Thanks for the sample file and short-term solution to turn off the ncurses dialog. I did have multilib and ktown in both PKG_PRIORITY and in REPOPLUS of slackpkgplus.conf, took them out of REPOPLUS. The error is still occurring with DIALOG=on in slackpkg.conf. I'll send note to the maintainer for investigation and bug fix request.
:
 
Old 12-23-2015, 10:47 PM   #328
zerouno
Member
 
Registered: Oct 2009
Location: Italy
Distribution: Slackware
Posts: 568

Rep: Reputation: 161Reputation: 161
Thanks.

Please post your configuration file.

Try to rollback to the -3mt package from sourceforge.
 
Old 12-23-2015, 11:00 PM   #329
bamunds
Member
 
Registered: Sep 2013
Location: Mounds View MN
Distribution: Slackware64-14.2 XDM/WMaker
Posts: 624

Rep: Reputation: 180Reputation: 180
zerouno here is my config at this time. Since this seems to be a ncurses issue, could the problem be with slackpkg rather than slackpkgplus?

# Configuration for slackpkg+. See /usr/doc/slackpkg+-*/README for more details

# Enable (on) / Disable (off) slackpkg+
SLACKPKGPLUS=on

# set to '0' to never show the download progress bar
# set to '1' to show the bar only in download packages (default)
# set to '2' to always show the download bar
# set to '3' for a debug mode
VERBOSE=1

# By default slackpkg+ deny to install 32bit packages.
#
# Set this flag to 'on' allow slackpkg+ to install 32bit packages on a 64bit slackware
# installation (possibly unsafe). Please, do not install both 32 and 64bit of the same
# package to avoid problems, and NEVER upgrade existant 64bit packages with relative 32bit package.
# Do not forget to install the multilibs.
ALLOW32BIT=off

# Enable (1) / Disable (0) the official slackpkg blacklist. May be useful to temporarily skip
# the slackware blacklist. You can also override it from command line:
# 'USEBL=0 slackpkg upgrade-all'
USEBL=1

# Add custom option to 'wget'.
# You can solve the repository indisponibility issue by set a timeout here
WGETOPTS="--timeout=20 --tries=2"

# If you want replace wget with another downloader search DOWNLOADCMD in documentation
# at /usr/doc/slackpkg+-*/README
#DOWNLOADCMD="wget -O"

# Use the cache for metadata files (CHECKSUMS.md5,...). Enable it (on) to speedup the slackpkg update
# process by downloading just new files (see README). Disabled by default (off)
CACHEUPDATE=off

# You can download-only by setting DOWNLOADONLY to 'on'. You may (you should) also use it in commandline
# for example: "DOWNLOADONLY=on slackpkg upgrade-all". Useful for large upgrades.
#DOWNLOADONLY=off

# Enable (on) / Disable (off) notification events (see notifymsg.conf)
#ENABLENOTIFY=off

# Enable (on) / Disable (off) the greylist feature. See /etc/slackpkg/greylist
GREYLIST=on

# Defines if commands 'search' and 'file-search' are case-sensitive (on) or not (off). Default to "on"
SENSITIVE_SEARCH=on

# Select the show order in dialogbox. Available "package" "repository" "tag" "path" "arch"
SHOWORDER=package

# If two or more repositories contains some same packages, you can specify
# from which repository you prefer to search it.
# The syntax is "<repository_name>:<package_name>"
# Accepts regular expressions. To give priority to an entire repository use "<repository_name>"

# Examples:
#PKGS_PRIORITY=( restricted:vlc )
# OR
#PKGS_PRIORITY=( myrepo )
#
# if you have two reporitories to give priority you must set both in the same line
#PKGS_PRIORITY=( myrepo restricted:vlc )
#
# if you want to install 'ktown' repository you must set it here
#PKGS_PRIORITY=( ktown )
# and DO NOT MISS to read special instruction on /usr/doc/slackpkg+-*/repositories.txt
#
# If you want a multilib system, uncomment the multilib repository and set:
#PKGS_PRIORITY=( multilib )
#
# (Use /usr/doc/slackpkg+-*/setupmultilib.sh to setup a multilib configuration)
#
# For both multilib and ktown set
PKGS_PRIORITY=( multilib ktown )

# Otherwise you can try to upgrade a package from a repository that contains a package with the
# same tag of the already installed package. Tipically that means to upgrade a package from the
# same author of the already installed package.
# Note that this method may not works properly where two repositories contains a package with the
# same tag.
# Set TAG_PRIORITY to 'on' to enable this function
TAG_PRIORITY=off

# List repositories you want to use (defined below)
# remember to launch 'slackpkg update' if you modify that row.
REPOPLUS=( slackpkgplus restricted alienbob slacky )


# Define mirrors (uncomment one or more mirror; remember to add it to REPOPLUS)
# GPG Note: after adding a repository, you must to run 'slackpkg update gpg'
# some repositories as salixos or slackel, have a partial GPG support;
# for that repositories you may need to run slackpkg with 'slackpkg -checkgpg=off ...'

# Slackware 14.1 - x86_64
MIRRORPLUS['multilib']=http://taper.alienbase.nl/mirrors/people/alien/multilib/14.1/
MIRRORPLUS['alienbob']=http://taper.alienbase.nl/mirrors/people/alien/sbrepos/14.1/x86_64/
MIRRORPLUS['restricted']=http://taper.alienbase.nl/mirrors/people/alien/restricted_sbrepos/14.1/x86_64/
MIRRORPLUS['ktown']=http://taper.alienbase.nl/mirrors/alien-kde/14.1/4.14.3/x86_64/
MIRRORPLUS['slacky']=http://repository.slacky.eu/slackware64-14.1/

# use this to keep the slackpkg+ package updated
MIRRORPLUS['slackpkgplus']=http://slakfinder.org/slackpkg+/

# Slackware current - x86_64
#MIRRORPLUS['multilib']=http://taper.alienbase.nl/mirrors/people/alien/multilib/current/

# Local repository:
#MIRRORPLUS['alienbob']=file://repositories/alien/sbrepos/14.1/x86/
#
# Local packages (you do not need metadata nor 'slackpkg update' command):
#MIRRORPLUS['myrepo']=dir://repositories/mypackages/

#
# Supported Repositories (see /usr/doc/slackpkg+-* for details and notes):
#

#Supports GPG
#slackpkgplus: http://slakfinder.org/slackpkg+/
#multilib: http://taper.alienbase.nl/mirrors/people/alien/multilib/{13.37,14.0,14.1,current}/
#alienbob: http://taper.alienbase.nl/mirrors/people/alien/sbrepos/{13.37,14.0,14.1,current}/{x86,x86_64}/
#ktown: http://taper.alienbase.nl/mirrors/alien-kde/{13.37,14.0,14.1,current}/{latest,testing}/{x86,x86_64}/
#restricted: http://taper.alienbase.nl/mirrors/people/alien/restricted_sbrepos/{13.37,14.0,14.1,current}/{x86,x86_64}/
#slacky: http://repository.slacky.eu/slackware{,64}-{13.37,14.0,14.1}/
#mleddesktop: http://www.microlinux.fr/microlinux/desktop-{14.1,14.2}-{32,64}bit/
#mledextras: http://www.microlinux.fr/microlinux/extras-{14.1,14.2}-{32,64}bit/
#mles: http://www.microlinux.fr/microlinux/server-{14.0,14.1,14.2}-{32,64}bit/
#msb: http://slackware.org.uk/msb/{14.0,14.1,testing}/{1.6,1.8,1.10,1.12}/{x86,x86_64}/
#slackers: http://ponce.cc/slackers/repository/
#slacke17: http://ngc891.blogdns.net/pub/slacke17/slackware{,64,arm}-{14.0,14.1}/
#slacke18: http://ngc891.blogdns.net/pub/slacke18/slackware{,64,arm}-{14.0,14.1}/
#studioware: http://studioware.org/files/packages/slackware{,64}-{13.37,14.0,14.1}/
#slackonly: http://packages.slackonly.com/pub/packages/{14.1,current}-{x86,x86_64}/
#rlworkman: http://rlworkman.net/pkgs/{13.37,14.0,14.1,current}/
#slackel: http://www.slackel.gr/repo/{i486,x86_64}/{current,kde5}/
#
#Does NOT support GPG
#salixos(*): http://download.salixos.org/{i486,x86_64}/{13.37,14.0,14.1}/
 
Old 12-23-2015, 11:13 PM   #330
bamunds
Member
 
Registered: Sep 2013
Location: Mounds View MN
Distribution: Slackware64-14.2 XDM/WMaker
Posts: 624

Rep: Reputation: 180Reputation: 180
zerouno - I can use slackpkg with the ncurses dialog off while you look into what is causing this. The following are output of various slackpkg queries, and the info is the version in Slackware64-14.1 PACKAGES.TXT
Why does slackpkg return 2.81.1 when the installed version is 2.82.0?
Does that give you any clue's as to where the bug might be?
----------------------------------
root@Hicrest1:~# slackpkg info slackpkg
PACKAGE NAME: slackpkg-2.82.0-noarch-12.tgz
PACKAGE LOCATION: ./slackware64/ap
PACKAGE SIZE (compressed): 64 K
PACKAGE SIZE (uncompressed): 260 K
----------------------------------
root@Hicrest1:~# slackpkg search slackpkg
DONE
The list below shows all packages with name matching "slackpkg".
[ Status ] [ Repository ] [ Package ]
installed slackpkg-2.82.0-noarch-12
installed slackpkgplus slackpkg+-1.6.1-noarch-4mt
You can search specific files using "slackpkg file-search file.
------------------------------
root@Hicrest1:~# slackpkg --version
--version: Unknown option.
slackpkg - version 2.81.1
---------------------------------

Last edited by bamunds; 12-23-2015 at 11:19 PM.
 
  


Reply

Tags
slackpkg


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Holding a package update from slackpkg gazj Slackware 2 01-25-2011 04:58 PM
Where can I find a 3rd Party Repository for RHEL 5? tightlikethat Linux - Newbie 3 02-27-2010 08:46 PM
Best 3rd Party RPM Repository for FC9 kromberg Fedora 11 11-13-2008 08:04 PM
Package Kit Error-- "Cannot retrieve repository metadata (repomd.xml) for repository" mbvpixies78 Linux - Newbie 11 08-22-2008 07:20 PM
3rd party package managers? crontab Slackware 3 10-06-2007 10:34 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 09:09 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration