regards the issue for dir:// repositories, I fixed it and substituted ls with find.
When I wrote it, I did not use find becouse I can't know the structure of the tree, and if it contains many subdir it can slow down the start of slackpkg in any command (search,upgrade,update,...). In effect, dir:// may be a dedicated directory containing just packages, but may be a directory containing any other things. So I tried to put dir://home/ as local repository (about 200.000 mixed files) It take about 10 seconds before start commands. I think that it is an acceptable time (how many people set the entire home as local repository? He does it at his own risk). please try it before I commit (apply to 1.7.b3): Code:
--- a/src/slackpkgplus.sh |
I'm reorganizing the slackpkg+ official repositories.
I want continue to support the -1.6 version for a lot. So I'm thinking that structure (that I will insert in repositories.txt in next commit) http://slakfinder.org/slackpkg+/ --> latest slackpkg+ stable version http://slakfinder.org/slackpkg+1.6/ --> the 1.6.x version; it will be supported for a lot http://slakfinder.org/slackpkg+1.7/ --> the 1.7.x version; the next stable version http://slakfinder.org/slackpkg+current/ --> the current version; use it to try new features http://slakfinder.org/slackpkg+dev/ --> the development version; use it to help the development currently slackpkg+1.6/ is a link to slackpkg+/ slackpkg+1.7/ and slackpkg+current/ is a link to slackpkg+dev/ When slackpkg+ 1.7 stable will be released, slackpkg+/ will be a link to slackpkg+1.7/, so all users automatically upgrade to it. Who want continue to use slackpkg+ 1.6 have to point to slackpkg+1.6/ directly. slackpkg+current/ will be a snapshot of slackpkg+dev/ tree slackpkg+1.6/ will be mantained for fixes slackpkg+1.7/ will be mantained for fixes and minor updates what do you think of that plan? Currently repositories.txt contains some 14.2 repository from microlinux. Someone are preparing some 14.2 repository? |
Quote:
Why not try to follow an approach similar to Slackware: One stable version + one development version? You could have slackpkg+/ link to the latest stable version (1.6 today and 1.7 when it's released). So I would see: slackpkg+dev/ will be the development tree (I would not name it "current" to avoid a possible confusion that it's a package for Slackware -current. It's not) slackpkg+/ will be a link to the latest stable version (slackpkg+1.6/ for now) slackpkg+1.7/ will be created when a new stable version is released based on dev tree. slackpkg+/ will then be changed to link to this latest stable version. |
In git, usually, the master branch is a development code, for stable versions you may use git tags and any non-master branches, and for testing new features you can use another branch(es). That will just simplify your work. Yes, I know, you prefer to do all the actions manually, but why you don't use git, I don't understand. IMO git is not so difficult to learn...
|
Quote:
The -current even if it is not a -stable tree, however should have less experiments. The reason for a public -dev is just becouse I want keep public all experiments. Quote:
Quote:
Quote:
Quote:
however for git I'm trying to reorganizing the ideas, and one it to put -current as master and -dev in another branch. Many time I used git reset and git push forced in a branch; the -master branch is not a good candidate for that operation. Quote:
Quote:
Also git give best results when a project has many indipendent files. Here I've a single big file that is not simple to manage (I already tried to cut in in multiple files, but it did not add many value). Here git is just used to 1) keep track of modifies 2) keep it public in a simplest way 3) allow me to work from many computers To discuss patches and bug the best way is linuxquestions (the real best place should be slacky.eu in italian language ;), but I cannot ask the moon :) ). |
4 Attachment(s)
Hello,
I have some new code (beta) that should be, I guess, useful. This is currently for slackpkg+/devel (ie. 1.7.b3), but could be backported to previous version(s), and even, to slackpkg. This is a simple extension to the dialog shown in response to commands install, upgrade, and upgrade-all, which allows users to check the changelog for the selected packages. To do that, I added a button, called ChangeLog, between the Ok and Cancel buttons of the packages selection dialog. For instance, running slackpkg upgrade patches will show this : Attachment 21108 When the button ChangeLog is clicked, a textbox is displayed with the changelog entries for the selected packages, like as below : Attachment 21109 When the changelog textbox is closed, the packages selection dialog is restored, with the exact same selection as before. For instance: Attachment 21110 The code is in beta stage and must be tested and reviewed by anyone interrested. Attachment 21111 Code:
--- slackpkgplus.sh.git.1.7.b3 2016-03-10 11:09:31.987399437 +0100 -- Seb |
Zerouno, do you want slackpkg+ "stable: questions/troubles here or in a separate thread?
|
Quote:
|
Quote:
|
Quote:
Version 1.7.b4 - 14/Mar/2016 - slackpkg search now search in dir:// repositories too. - subdirectory allowed in dir:// repositories. - slackpkg search honour correctly the '+' character - Added 'ChangeLog' dialog box to show the changelog of selected packages (thanks to phenixia2003) the dialog function(s) contain a bug regard the size of it. For the changelog, the dialog is 19x70, but the slackware changelog contains rows up to 79 columns. For package list, 'package name'+'repository name' may be longer than 70 characters. This is not a large problem since few packages have long name, and the changelog dialogbox is a non-critical feature, but I think it's the time to solve it. |
2 Attachment(s)
Hello,
Quote:
Quote:
_____________________ I did some change to the changelog viewer so that it can display changelog entries from 3rd party repositories, too. To achieve this, I modified getfile() so that, it downloads ChangeLog from 3rd party repositories, merges them with slackware changelog into a file called Unified-ChangeLog.txt, and, generates an index file called Unified-ChangeLog.idx. Notes:
Here is a screenshot of changelog viewer with changelog entries from 3rd party repositories : As I said earlier, when the repository don't follow the "standard" changelog format, some information can be truncated, which is the case for the entry compat32-tools in the screenshot above. The patch (Attachment 21154) is for slackpkg+/devel 1.7.b4 : Code:
--- slackpkgplus.sh.git.1.7.b4 2016-03-15 10:51:40.250215213 +0100 -- Seb |
I'm sorry for the time, but I'm a lot occupied this period.
Yes, I like the Changelog for 3th party repository, even if just few repositories has useful information (well, when I wrote slackpkg+ there was few repositories with CHECKSUMS.md5 and very few with the GPG-KEY; today all have it) and not all Changelog files have a slackware-compatible format. I dislike to search Changelog in parent directories becouse that means to go out the path specified from the user. I know the a lot o repositories have Changelog just in parent. So I think that we should add a setting in slackpkgplus.conf where the user explicitly allow to serch changelog in parent. The 404 problem reported from wget I think that should be managed but it is to review later becouse we have a lot of downloader 1) wget 2) wgetdebug 3) cacheddownloader (that also use curl to retrieve the headers) 4) custom $DOWNLOADCMD we have the same problem with some not existent MANIFEST.bz2 and other metadata that not all repositories have. Also I want to reintroduce the function that we removed a lot of time ago, regarding the install-new working for multilib. Everytime I run the install-new command I have to remember to run slackpkg install multilib; and if I have no a full slackware installation I have to remember which 32bit libraries I have to install. The idea is the same of years ago.. find for 32bit packages that have the corrispondent 64bit installed as setupmultilib.sh does. |
Hello,
Quote:
Quote:
Quote:
Quote:
-- SeB |
Sorry for absence..
On my office I've currently double work to do and a lot to do on my house. However if there are not other think to report, these days I will release beta5 with the only 3th party changelogs, and if it works well I think that we can release an rc release to freeze any other new feature and only fix current. If someone has something to say, speak now or forever hold your peace :D I have other ideas but I finished the time to elaborate it; I will add it in a further version. I whould some feedback from who think to put slackpkg in her own repository and from who asked for a stable release. My idea is to release slackpkg 1.7 stable before slackware 14.2 (that is currently -rc1) so to test it sufficiently to call it stable when slackware 14.2 will be release. |
I'm seeing the code for changelog and I found something to fix.
(aligned to latest patch excluding SEARCH_CLOG_INPARENT implementation) * row 1284 and 1343 Code:
if $CLogOpt ; then Code:
sed -i -e "/^$PKGS_REGEX/ s= off = on =" $TMPDIR/dialog.tmp dialog.tmp does not ends with blank space so dialog.tmp.off is always == dialog.tmp * row 1334 Code:
if [ -s $TMPDIR/dialog.out ] ; then I think that should appear a dialog with a similar of "Please, select at least a package" * row 1187 Code:
echo -e "\t$Cline" >> $TMPDIR/Packages.clog Currently I've not tried all, but it is a great work. Thankyou |
Quote:
Quote:
Code:
$ slackpkg upgrade kde-runtime kde-wallpapers kdelibs Quote:
Code:
if [ -s $TMPDIR/dialog.out ] ; then Quote:
-- SeB |
Quote:
There may have a different format. I have not a pc now to test. |
Quote:
So to fix the 1st problem, replace : Code:
cat $TMPDIR/dialog.tmp | sed "s/ on / off /g" > $TMPDIR/dialog.tmp.off Code:
# in case of install, dialog.tmp is to the format (1), otherwise the format (2) Code:
sed -i -e "/^$PKGS_REGEX/ s= off = on =" $TMPDIR/dialog.tmp Code:
# in case of install, dialog.tmp is to the format (1), otherwise the format (2) -- SeB |
slackpkg+-1.7.b4.1 released
I also removed some unuseful verbosity in cached_downloader for clarity and compact output. If you want some output set VERBOSE=2 or does not use the caching downoader |
May be useful to write - in the Unified-ChangeLog.idx - then repository name:
19127:slackpkgplus: pkg/slackpkg+-1.7.b4.2-noarch-2mt.txz: Rebuilt |
Only preparing the next slackpkg+ changelog I saw what we done in this release.
I needed a separated file to track all changes!! A very thanks to all contributing with code, bug reporting, idea or comments!!!! Now begins the bugfixing only. Code:
== From 1.6 and 1.7 == |
2 Attachment(s)
Hello,
Quote:
I looked at this, but this would be too tricky to do with the current code because of the way files Unified-ChangeLog.txt and Unified-ChangeLog.idx are generated. So to achieve this, I modified the code, so that, for each repository, there is a couple of files {<reponame>.txt, <reponame>.idx} stored in directory WORKDIR/ChangeLogs, and I updated the functions getfile() and showChangeLogInfo() accordingly. the patch Attachment 21586 is for slackpkg+/dev 1.7.b4.2 : Code:
--- slackpkgplus.sh.git.1.7.b4.2 2016-04-21 15:58:55.723360071 +0200 Cheers. -- SeB |
The ideas was to put repository name in Unified-ChangeLog.idx so to see it when opening manually that file, but it's a good idea to show it in dialog and put metadata in a dedicaded subdir.
I not jet merging that code, however I found a bug in the old code. Code:
# In effect at this point the $WORKDIR contains the older changelog, so if you run slackpkg update after a slackware update you does not have the new slackware changes in Unified-ChangeLog. The ChangeLog.txt is downloaded in $TMPDIR Code:
2016-04-28 09:43:20 URL:http://ftp.osuosl.org/.2/slackware/slackware64-current/ChangeLog.txt [298373/298373] -> "/tmp/slackpkg.9fNs11/ChangeLog.txt" [1] If you abort with ctrl+c the slackpkg update during changelog download, the older Unified-ChangeLog will be removed and the new is partial. |
Quote:
Quote:
Quote:
Quote:
1. Duplicate the code which handle the command "update" from original slackpkg, and add the required code to copy the ChangeLog from TMPDIR into WORKDIR : Code:
update) Code:
function cleanup() { Another point which has nothing to do with the last changes. This morning, when reading this thread, I've tried to run the command slackpkg search mozilla-firefox, but it returned nothing : Code:
$ slackpkg search mozilla-firefox Code:
$ ls /var/log/packages/mozilla-firefox-38.6.1esr-x86_64-1_slack14.1 Code:
grep ${GREPOPTS} "^$DIR" $WORKDIR/pkglist|grep ${GREPOPTS} "/SLACKPKGPLUS_$SEARCHSTR/\|/$SEARCHSTR/\|/$SEARCHSTR \| [^ /]*$SEARCHSTR[^ /]* " > $PKGINFOS Anyway, without these slash at line #920 : Code:
grep ${GREPOPTS} "^$DIR" ${WORKDIR}/pkglist ${TMPDIR}/pkglist-pre|grep -E ${GREPOPTS} "SLACKPKGPLUS_$SEARCHSTR|$SEARCHSTR|$SEARCHSTR | [^ ]*$SEARCHSTR[^ ]* " > $PKGINFOS Code:
slackpkg search mozilla-firefox -- SeB |
Now I've few time, so I reply quickly.
Quote:
Quote:
Code:
if [ "$CMD" == "update" ];then [quote] Code:
$ slackpkg search mozilla-firefox Quote:
|
1 Attachment(s)
Hello,
Quote:
Cheers. -- SeB |
uploaded.
Great work |
Hello,
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. Everything is OK except for one package from alienBOB current repository: rhino-1_7R3-noarch-1alien.tgz I get the error message when running "slackpkg install rhino": Quote:
Could it be an issue with the stable version of slackpkg+? |
the tgz package is not failing.
If you see entire output you can see that fails the asc file. Code:
2016-05-05 11:52:52 (45.6 MB/s) - '/var/cache/packages/./SLACKPKGPLUS_alienbob/rhino/rhino-1_7R3-noarch-1alien.tgz.asc' saved [198/198] Code:
$ wget http://bear.alienbase.nl/mirrors/people/alien/sbrepos/current/x86_64/CHECKSUMS.md5 |
Thanks zerouno for the explanation.
I left a message on alienBOB blog to make sure he notices. [EDIT] rhino package has been updated in alienBOB repository. No more problem, I could upgrade the package using slackpkg. [/EDIT] |
Quote:
:) |
rc1 is here
just some fix. Please test it Quote:
|
the regex for changelog detect does fail in some slackware update (Fri May 20 21:20:29 UTC 2016):
Code:
xap/vim-gvim-7.4.1832-i586-1.txz: Upgraded. Code:
slackware::xap/vim-gvim-7.4.1832-i586-1.txz: Upgraded. Code:
--- a/src/slackpkgplus.sh phenixia2003 what do you think? |
1 Attachment(s)
Hello,
Quote:
Quote:
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 SeB |
You are what an italian people call "Pazzo scatenato" :D
the script has found a bug in changelog :) Code:
n/openssl-1.0.1j-x86_64-1.tx: Upgraded. I've readapted the script for thirdy party repository. It has found other bugs in other changelogs. But as regression I intend another thing. With the new regex we have many other things in .idx file. slackware: Code:
29:xap/vim-gvim-7.4.1832-i586-1.txz: Upgraded. Code:
27:qt5-webkit: added v5.6.0 - this is a component of Qt5 which was split off I don't think that this can cause problems or regressions in changelog search code but I must to consider that possibility. |
Quote:
Quote:
Quote:
Current code: Code:
646:for PREPO in slackware ${REPOPLUS[*]} ; do Code:
646:for PREPO in slackware ${REPOPLUS[*]} ; do 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: ) Code:
$ CLOG_PKGREGEX="[.]t[blxg]z[:][ ]+(added|moved|rebuilt|upgraded)" -- SeB |
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. |
Patrik gave us a "Last call"
Quote:
|
Seems that
Code:
sed -e 1d -e 1iTEXT filename 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 Seems that Code:
sed -e 1iTEXT -e 1d filename Code:
sed --expression "${PRIORITYIDX}i${PKGDATA[*]}" --expression "${LINEIDX}d" ${TMPDIR}/pkglist.old > ${TMPDIR}/pkglist currently I've solved with Code:
if [ ${PRIORITYIDX} -ne ${LINEIDX} ];then |
1 Attachment(s)
Do you like bash-completation?
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 -*- |
Hello,
Quote:
Quote:
-- SeB |
Quote:
No one of the following statement respect what I thought. Code:
$ cat foo Quote:
|
Quote:
Quote:
|
Quote:
Code:
$ cat foo | sed -e '1d' | sed -e '3d' Quote:
Code:
$ cat foo |
Quote:
Code:
sed -e '1d' -e '4d' foo Code:
sed '1d;4d' foo Code:
sed '4d;1d' foo |
1 Attachment(s)
Someone has tested bash completation?
here another version (copy as /etc/bash-completation/slackpkg) Code:
# Slackware slackpkg(8) completion -*- shell-script -*- |
Through the years Slackpkg has become KISS. after that it is well not Slack it is just to much work trying to tell people like I like it.
so create your own repo. Your a slacker that's what it is about. And KISS the the work away. Some times you just have to do it by your self. :) |
slackpkg+ 1.7.0 is ready. I've just to reorder the changelog, adjust the slackbuild and my build/upload scripts.
Also I have to re-organize the github repository. The proposal is the following: https://github.com/zuno/testplus "devel" branch was removed and the "master" will be the main line (development) branch, as slackware-current does; and the branches "1.6" and "1.7" will be the stable packages (and the following backported patches from "master" branch) This means that I must do a forced commit to rename master to 1.6 and devel to master. However if I want to hold the current structure, the "devel" branch have to be merged in "master" branch, but the 'merge' command fails since the "stable" branch was merged in "master", so I must however do a forced commit with no-fastforward option (I'm not a git expert). |
Slackpkg+ 1.7.0 stable was released.
Currently http://slakfinder.org/slackpkg+/ contains the 1.6 and http://slakfinder.org/slackpkg+dev/ contains the 1.7.0rc3 You can find the new version in http://slakfinder.org/slackpkg+1.7/ I ask you to test it by configuring the 1.7 repository for last minute bug (packaging or uploading bugs; remember that the 1.7 was bird as a more tested release before the official release). this is the git branch https://github.com/zuno/slackpkgplus/tree/1.7 |
Thanks for the new stable version 1.7.0
I just installed it and ran an upgrade. It was OK and the changelog (from Slackware only for now) was correctly displayed. Using the default values for the new parameters, I tested the file search with incomplete/complete word (upgradep/upgradepkg), the case-sensitive search (MPlayer, mplayer and Mplayer) and got the expected results. The search of changelog.txt in parent directory for alienbob current repository worked. I'm just wondering if it's wise to show in the stderr log that there is an error when looking into the initial directory. I was a bit confused initially and thought that there was an issue with alienbob repository. Maybe the error message could be hidden and replaced by a warning when SEARCH_CLOG_INPARENT=on. Here are cosmetic comments: In slackpkgplus.conf: - the default value of SEARCH_CLOG_INPARENT is not mentioned in the comments - typo error in comments for STRICTGPG: heterogeneous In README: - there is no info for parameter SEARCH_CLOG_INPARENT Finally, I don't understand the verb "bird" in Quote:
Quote:
Thanks again to you and the other developers for this wonderful tool. |
All times are GMT -5. The time now is 03:04 AM. |