SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I've just upgraded to Slackware current. I cleaned up all third-party packages during the upgrade and I'm now slowly adding back some of them using stable slackpkg+ 1.6.1p2.
I get the error message when running "slackpkg install rhino":
Quote:
ERROR - Package not installed! md5sum error!
It's strange because I can install other packages from the repository (so it's not a GPG key issue). Also when I download manually the tgz, asc and md5 files, the checks are correct.
Could it be an issue with the stable version of slackpkg+?
Version 1.7.0rc1 - 19/May/2016
- WW_FILE_SEARCH did affect file search AND package search
- fixed warning in update when one repository does not have the changelog
- ignore the package extension in package selection
- fixed a regression in dir: repository
this should solve, but I dont known if it generate some regression:
Code:
--- a/src/slackpkgplus.sh
+++ b/src/slackpkgplus.sh
@@ -14,7 +14,8 @@ SLACKDIR_REGEXP="^((slackware)|(slackware64)|(extra)|(pasture)|(patches)|(testin
# CLOG_PKGREGEX : regular expression used to find package entry in ChangeLog files
# CLOG_SEPREGEX : regular expression that match the "standard" entry separator in a ChangeLog file
-CLOG_PKGREGEX="[.]t[blxg]z[:][ ]+(added|moved|rebuilt|upgraded)"
+#CLOG_PKGREGEX="[.]t[blxg]z[:][ ]+(added|moved|rebuilt|upgraded)"
+CLOG_PKGREGEX="^[^ ]*:[ ]+(added|moved|rebuilt|upgraded)"
CLOG_SEPREGEX="^[+][-]+[+][ ]*$"
if [ -e $CONF/slackpkgplus.conf ];then
phenixia2003 what do you think?
I'm ok with that. I did some tests with the attached script and all seems ok. This script downloads a slackware changelog, extract the packages informations using the old and new regex and show the diff (in vim) between these two set of data.
for instance, if you want to see the impact of the new regex for slackware64-current, run it as below :
Code:
$ sh show-clog-diff.sh.txt current 64
Downloading Slackware64-current ChangeLog.txt
extracting infos from ChangeLog64.current using NEW regex in Infos64-NEW-regex.current ...
3351/3352
extracting infos from ChangeLog64.current using OLD regex in Infos64-OLD-regex.current ...
3351/3352
prepare diff between Infos64-OLD-regex.current and Infos64-NEW-regex.current ...
hit return to see diff in vim ...
27:qt5-webkit: added v5.6.0 - this is a component of Qt5 which was split off
30:libxkbcommon: added v0.5.0 - a dependency for the qt5 package.
67:heimdall: Upgraded to 1.4.1 for Slackware 14.2. This package no longer
...
I don't think that this can cause problems or regressions in changelog search code but I must to consider that possibility.
27:qt5-webkit: added v5.6.0 - this is a component of Qt5 which was split off
30:libxkbcommon: added v0.5.0 - a dependency for the qt5 package.
67:heimdall: Upgraded to 1.4.1 for Slackware 14.2. This package no longer
...
I don't think that this can cause problems or regressions in changelog search code but I must to consider that possibility.
This will cause no problems, nor regressions. showChangeLogInfos() uses the index to only get informations (start position in changelog, pathname, status) about the packages listed in file TMPDIR/dialog.out, which, contains package names (ie. basename-version-arch-build.t[gx]z) only. But, if you want to avoid this, you can use the "old" regular-expression to create the index at line #646-#648 (slackpkg/devel).
Current code:
Code:
646:for PREPO in slackware ${REPOPLUS[*]} ; do
647: grep -inE "$CLOG_PKGREGEX" ${TMPDIR}/ChangeLogs/$PREPO.txt > ${TMPDIR}/ChangeLogs/$PREPO.idx
648:done
New code:
Code:
646:for PREPO in slackware ${REPOPLUS[*]} ; do
647: grep -inE "[.]t[blxg]z?[ ]*[:][ ]+(added|moved|rebuilt|upgraded)" ${TMPDIR}/ChangeLogs/$PREPO.txt > ${TMPDIR}/ChangeLogs/$PREPO.idx
648:done
Note, that the regular expression above is a bit different from the one currently used by slackpkg+ :
1. I added "[ ]*" after "t[blxg]z" because I've found an entry (in slackware 13.0 changelog) which match this particular case.
2. the "z?" is to prevent the malformed entries, like those you mentioned earlier (ie.n/openssl-1.0.1j-x86_64-1.tx and xap/seamonkey-2.26-x86_64-1.tx: )
I've no a computer in this moment, but I don't think that we must manage the exceptions to the normality.
The best way is to report the bug to Patrick (but that problem is about two years old).
Sometime a user may not see a changelog, this is not a real problem.
does not means exactly "remove first line and insert TEXT instead it", so if both expressions start with the same number, the line is dropped instead replaced.
So if $LINEIDX == $PRIORITYIDX the selected package is dropped from pkglist in givepriority():
Code:
sed --expression "${LINEIDX}d" --expression "${PRIORITYIDX}i${PKGDATA[*]}" ${TMPDIR}/pkglist.old > ${TMPDIR}/pkglist
They have a similar case when using "slackpkg upgrade file:./package-1-x86-1.txz"; the package is added on top of pkglist and that sed drop it.
Seems that
Code:
sed -e 1iTEXT -e 1d filename
does work, but I'm not sure that
Code:
sed --expression "${PRIORITYIDX}i${PKGDATA[*]}" --expression "${LINEIDX}d" ${TMPDIR}/pkglist.old > ${TMPDIR}/pkglist
does work for any $PRIORITYIDX and for any $LINEIDX
currently I've solved with
Code:
if [ ${PRIORITYIDX} -ne ${LINEIDX} ];then
mv ${TMPDIR}/pkglist ${TMPDIR}/pkglist.old
sed --expression "${LINEIDX}d" --expression "${PRIORITYIDX}i${PKGDATA[*]}" ${TMPDIR}/pkglist.old > ${TMPDIR}/pkglist
fi
since it is not useful to remove and reinsert the same line at the same point
install the bash-completation package, then copy following code in /etc/bash_completion.d/slackpkg the close and reopen the shell, then test and give me feedback.
Code:
# Slackware slackpkg(8) completion -*- shell-script -*-
_slackpkg()
{
local cur prev words cword
_init_completion || return
local special i
for (( i=0; i < ${#words[@]}-1; i++ )); do
if [[ ${words[i]} == @(upgrade|install|remove|update) ]]; then
special=${words[i]}
fi
done
if [[ -n $special ]]; then
case $special in
upgrade|remove)
COMPREPLY=( $( cd /var/log/packages; ls $cur*|rev|cut -f4- -d-|rev ) )
return 0
;;
update) COMPREPLY=( gpg )
return 0
;;
install)
COMPREPLY=( $( cd /var/log/packages
grep "^[^ ]* $cur" /var/lib/slackpkg/pkglist|awk '{print $2}'|
grep -v -f <(ls $cur*|rev|cut -f4- -d-|rev|sed -r "s/^/^/")
) )
return 0
;;
update)
COMPREPLY=( gpg )
return 0
;;
esac
fi
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '
-delall=off -checkmd5=off -checkgpg=off -checksize=on
-postinst=off -onoff=off -download_all=off -dialog=off
-batch=on -only_new_dotnew=on
-use_includes=off -spinning=off -default_answer=yes
' -- "$cur" ) )
else
COMPREPLY=( $( compgen -W 'install remove search upgrade reinstall
clean-system upgrade-all install-new
search file-search
info update new-config check-updates
- ' -- "$cur" ) )
fi
return 0
} &&
complete -F _slackpkg slackpkg
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.