LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   slackpkg vs. third-party package repository (https://www.linuxquestions.org/questions/slackware-14/slackpkg-vs-third-party-package-repository-4175427364/)

zerouno 12-16-2015 12:25 PM

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.

zerouno 12-16-2015 01:25 PM

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


phenixia2003 12-17-2015 10:16 AM

1 Attachment(s)
Hello,

Quote:

Originally Posted by zerouno (Post 5465168)
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 Attachment 20317 (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

zerouno 12-17-2015 10:24 AM

thankyou.
unfortunately today I can't see/test it.
I will see it tomorrow.

zerouno 12-17-2015 03:40 PM

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.

phenixia2003 12-18-2015 04:00 AM

1 Attachment(s)
Quote:

Originally Posted by zerouno (Post 5465154)
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 Attachment 20321 (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

phenixia2003 12-20-2015 12:52 PM

Hello,

@Zerouno

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


--
SeB

zerouno 12-20-2015 01:37 PM

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.

zerouno 12-21-2015 04:56 PM

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.

bamunds 12-23-2015 07:19 PM

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.

Hangaber 12-23-2015 09:29 PM

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.

bamunds 12-23-2015 10:05 PM

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.
:

zerouno 12-23-2015 10:47 PM

Thanks.

Please post your configuration file.

Try to rollback to the -3mt package from sourceforge.

bamunds 12-23-2015 11:00 PM

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}/

bamunds 12-23-2015 11:13 PM

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
---------------------------------


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