[edit] I wrote that before read latest phenixia2003 post.
The bug was introduced in Version 1.5.2 - 18/Dec/2015 I don't know why [[:digit:]] does not work as [0-9], and only if used together sudo su - Just what I know is that grep uses a limited set of regular expression (that is what we need in that part of code), and I don't know the limits. Some other (italian) user had the same problem, so I was able to compare more outputs and replicate on my machine (both slackware64-current multilib), and from experiment I discovered that [0-9] does work and [[:digit:]] does not. May be a grep or sudo or su or enviroment or permission or kernel bug. Or may not. slackpkg+-1.6.1-noarch-6mt.txz should fix. @Didier: I not missing to read your post about the a stable release (or an LTS release) of slackpkg+. I'm just thinking about the feasibility of that. @All: What do you think about the ConnochaetOS problem? I know nothing about legal pratices. The patch in post #356 (that is not pushed on github) disallow haary to use slackpkg+ unless he re-sign all slackware packages, and a patch that I have not posted deny to sign the official packages without the official slackware GPG key, disallowing haary to use slackpkg+ in a full-free distribution unless he does not use CHECKGPG=off. If a user import a key from another link than official, however he has imported one trusted key. We can add a slackpkgplus.conf directive that allow to download and install packages signed with external keys (that in effect is more secure than re-sign official packages with an non-official key, that means that a user must 'appropriate' himself package of other users) |
In any case maybe using GNU grep (but hey, that's what we have) can make hard to predict the results in some cases, as it lacks a "--posix" option as e.g. bash.
For instance I see in "man grep": Quote:
|
By further analisys, the grep that fails is not the latest but the second:
Code:
# grep -n '^SLACKPKGPLUS_multilib ' /tmp/slackpkg.rqANuJ/pkglist| grep -w '.*'| grep -m 1 '^[[:digit:]]\+:SLACKPKGPLUS_multilib gcc-java ' Code:
# grep -n '^SLACKPKGPLUS_multilib ' /tmp/slackpkg.rqANuJ/pkglist| strace -f grep -w '.*'| grep -m 1 '^[[:digit:]]\+:SLACKPKGPLUS_multilib gcc-java ' [edit2] and only if something break the pipe before output does not finish, for example with head -1 But the output is correct, so technically may be sufficient a 2>/dev/null after second grep (but will not be that the solution) |
the problem seems to be the "grep -w '.'"
cat anyfile|grep .|head -1 for 'anyfile' I ve tried a log of file from 5kB to 10kB seems to fail when first row match Code:
$ sudo su - when use 'su -' the grep is closed from SIGPIPE properly Code:
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9d3629e000 Code:
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa7b1e30000 boh!!!!! |
Probably nothing to do with that, but I'd tend to avoid an UUOC. Instead of:
Code:
cat /var/lib/slackpkg/pkglist|grep 7|head -1 Code:
</var/lib/slackpkg/pkglist grep 7|head -1 |
Yes, but slackpkg+ have not a cat but a grep. I post cat as a simulation of the real grep
|
OK but then can't this simulation change the behavior?
|
slackpkg+-1.6.1-noarch-7mt.txz released
|
Quote:
I never thought a my script (becouse that was slackpkg+sl at start) would become what it is now and that someone would have ever used. For that reason I add function when I need one (all, included remote and local repositories, are primarily added becouse I did need it). And I never thought that it could enter into a distribution. How do you think that I should proceed? The problem is that the community is not high for testing a development release; if most use the stable/LTS release, no one can test new feature; when I can consider it stable? There is on github the master and the devel branch. In past I did make packages "slackpkg+dev-...". But there was a moment when I was writing a large update; during this time was needed some bugfix on master branch and the devel branch was not ready to test patch to backport on stable tree. Also there was a moment when I had very few time (no time really) to developing slackpkg+. So master and devel tree diverged a lot, until the devel branch was oldest and bugged becouse the not backported patches from master. I reverted development tree aligning it to master. Currently devel and master diverge for a code restyling, but no function modifications, so to merge I was waiting to solve the 'write error' bug (that was not a real bug; all functionality was not impacted; just a non beautiful error on video). P.S.: In development tree, on github, I added slint repository. Note that you have a small bug in HOW-TO: MIRRORPLUS['slint']=http:/slint.fr/packages/14.1-i486/ should be MIRRORPLUS['slint']=http://slint.fr/packages/14.1-i486/ |
Hi Matteo,
Unfortunately I have no experience with respect to git repositories, thus I am not able to give you a valuable advice about the management of your two branches (master/devel) on github.com. However, from a user's point of view there have been recently a lot of updates in the "official" download location, i.e. sourceforge.net, and that can be slightly worrisome, at least for someone who doesn't follow this thread. To put it in simple terms I would suggest that you publish on Sourceforge only updates including major bug fixes and propose new features less frequently. Of course the definition of the "core" scope is only useful if you consider maintaining this tool on the long term with a possible inclusion in distributions. On the other hand if you only want to share a tool to which you continue adding features that you use for yourself my suggestion becomes moot. Only you can decide on that. I will make sure Slint stays compatible with usage of slackpkg+ and, at least in the next version, also provide an already configured slapt-get, as it is widely used in SlackLand and I wish to make sharing packages among Slackware and derivatives or spin-off as easy as possible. Thanks for adding the slint repositories in the development tree and for the heads-up about the bug in HOW-TO, now fixed. And of course, thanks for sharing slackpkg+! |
I would agree with Didier's suggestion. Only publish the stable version of slackpkg+. Then post on linuxquestions a test version, asking for testers. While I fully appreciate your patches and response to the bugs I found, I would have preferred to known the version was a testing version so I could decide if there was time in my work load to help with some testing. The current version (7mt) certainly seems to be stable as of today. Thank You for all you do to promote and extend Slackware. BrianA_MN
|
@haary: note: your slackware repository https://connochaetos.org/slack-n-fre...lackware-14.1/ does not contains the 'testing' directory (not tested the others).
Code:
Download file.. I'm developing a version that check the GPG-KEY, but allow to use the legacy mode with a configuration in slackpkgplus.conf. However (it is valid also with current version of slackpkg+) you must find a way to import the official gpg key. If you NEVER do a slackpkg update gpg using the offical mirror you will not import the slackware key, so you will not able to verify slackware signed packages in your replica-repository. @All I'm developing slackpkg+ 1.7; I will release that as a -beta, -rc, ... in the devel tree. After release -stable, I will try to make it an LTS release (*); all new functions will be freezed and developed in a >=1.8 version, and all bugfix will be backported in slackpkg+ 1.7 slackpkg+ 1.6 will be supported for bugfix backporting until slackpkg+ 1.7 will be released; after that it will be declared EOL. I ask you for more possible testing before releasing it. Currently the only new planned feature is the strict gpg check. (*) I will TRY that. Also depends for the time that I will find for developing it. [EDIT] Someone have never tested slackpkg+ for arm or other architectures or have a way to test it? slackpkg support it, and also some part of slackpkg+ code, but there are parts of code in very doubt. I saw somewhere a slackpkplus.conf customized for arm (but I cannot find it now) |
This is the first.
slackpkg+-1.7.a1-noarch-1mt.txz You can find it in http://slakfinder.org/slackpkg+all/ or setting MIRRORPLUS['slackpkgplus']=http://slakfinder.org/slackpkg+dev/ You can also download manually http://slakfinder.org/slackpkg+dev/src/slackpkgplus.sh or from github https://github.com/zuno/slackpkgplus...lackpkgplus.sh to install copy it in /usr/libexec/slackpkg/functions.d and remove zdialogplus.sh from the same directory. Also you must add in slackpkgplus.sh STRICTGPG=on Quote:
|
Hello,
@ZeroUno The patch to fix the grep error can causes noticeable slowdowns as you can see below : 1. current slackpkg+ Code:
$ slackpkg -dialog=off upgrade-all Code:
$ slackpkg -dialog=off upgrade-all Code:
PKGINFOS=$(grep -n "^${DIR} " ${TMPDIR}/pkglist | grep -w "${PAT}" | grep -m 1 "^[[:digit:]]\+:${DIR} ${ARGUMENT} ") Code:
if [ ! -e ${TMPDIR}/${REPOSITORY}-pkglist ] ; then Code:
$ slackpkg -dialog=off upgrade-all SeB |
Quote:
1.6.1-6mt Code:
# time echo n|slackpkg -dialog=off upgrade-all 2>&1|grep -v t.z 1.6.1-7mt Code:
# time echo n|slackpkg -dialog=off upgrade-all 2>&1|grep -v t.z also I tried mounting /tmp as tmpfs mount -t tmpfs tmpfs /tmp but I continue to no see differences Quote:
Quote:
Code:
real 0m24.837s Total package(s): 707 instead 708. Code:
# slackpkg -dialog=off upgrade-all >2 (new code) |
All times are GMT -5. The time now is 08:43 PM. |