Hello,
Quote:
Quote:
Quote:
Code:
PKGS_PRIORITY=( patches slackpkgplus restricted mled ) SeB |
Quote:
|
I've just released a development release, with only SBo search and minor things.
ASAP I will check and apply the proposed patches. |
I'm trying the patches.
I never used templates, so I know it just now. I see that we never managed slackpkg remove <repository>:<package> Code:
if [ "$CMD" == "install" ] || [ "$CMD" == "upgrade" ] || [ "$CMD" == "reinstall" ] || [ "$CMD" == "remove" ] ; then If you run slackpkg remove <repository>:<package> slackpkg tells Code:
Looking for . .. in package list. Please wait... It's simple to solve, but what do you think: 1) slackpkg return an error since removing a package from a given repository may have no sense 2) slackpkg uninstall the package only if the package exists in pkglist and is present in the specified repository (if you specify a repository it should match and if the package is not present in specified repository it should not remove it) 3) slackpkg ignore the repository and remove the package I tell that becouse I saw that using remove-template seems that if a package is not in pkglist it will be not removed, but if it is present in a different repository it will be removed. What do you think? In effect I don't know why remove-template (in core-functions) calls givepriority. I do not finished to analyze all. |
Hello,
Quote:
Quote:
Quote:
-- SeB |
Hello,
Quote:
In fact, when I wrote the patch, I've read too fast the remove-template case in makelist (in core-functions.sh). As opposed to what I assumed, this part of code does not search the fullname returned by givepriority() in tmplist, but only the basename : Code:
remove-template) -- SeB |
mmm
if I understood the code, should be sufficient to modify, in givepriority, Code:
+ if echo "$ARGUMENT" | grep -qwE "(^$SLACKDIR_REGEXP)|(^SLACKPKGPLUS_)" ; then Code:
+ if echo "$ARGUMENT" | grep -qwE "(^$SLACKDIR_REGEXP)|(^SLACKPKGPLUS_)" ; then If it is not found the statement Code:
[ ! "$FULLNAME" ] && continue But I've not tested it. |
Hello,
Quote:
-- SeB |
Just a thing about slackware stable.
If the template contains slackware:mozilla-thunderbird at creation time, when I run install-template or remove-template I can found it in patches repository. So I think that slackware{,64} and patches should be considered as the same thing. |
this should solve (for template)
Code:
if [[ "$CMD" == "install-template" || "$CMD" == "remove-template" ]] && [[ "$ARGUMENT" =~ .*:.* ]] ; then If the template contains 'slackware64:libidn', slackpkg remove-template does show libidn-1.33-x86_64-1_slack14.2 on my system a similar thing for slackpkg remove I think that Code:
elif echo "$ARGUMENT" | grep -qwE "(^$SLACKDIR_REGEXP)|(^SLACKPKGPLUS_)" ; then Code:
elif echo "$ARGUMENT" | grep -qE "(^$SLACKDIR_REGEXP):|(^SLACKPKGPLUS_)" ; then Also we can think that a template generated in slackware64 may work for slackware32 and viceversa, so the template should not contain 'slackware64:libidn' but 'slackware:libidn' and slackpkg+ should convert it to slackware64 when needed. What do you think? |
Hello,
Quote:
Code:
$cat /etc/slackpkg/templates/test.template
To achieve this, I don't think it's a good idea to modify givepriority() again. The best would be to export in slackpkg+ the code from makelist() which handles "remove-template" as I suggested previously, and more precisely as below : Code:
remove-template) Quote:
The same way as for remove-template, install-template must strictly follow the rules defined in the template:
-- SeB |
I think that there is no reason, when I install a package, to explicitly choose 'patches' or 'slackware' repository.
In effect in a template the 'patches' repository should not be mentioned since 1) in the template is not specified the package version 2) patches is a subset of official slackware repository Also, when I generate a template, slackpkg does not know if an installed package is a patch or a main repository, but only in which repository the package is present according with the PRIORITY configuration. I think that we can't consider the 'patches' repository as another repository. Consider this steps running in a pure 14.2 installation: # slackpkg generate-template mytemplate # slackpkg upgrade-all # slackpkg remove-template mytemplate all patched packages will not be removed. # slackpkg upgrade-all # slackpkg generate-template mytemplate after some month run this on a new system # slackpkg install-template It will install some unpatched packages so next I have to run slackpkg upgrade-all Instead, the repository 'slackware' should be considered as the sum of slackware+patches. Without slackpkg+, slackpkg generate-template do not consider if you have installed or will install/remove a patch or an original packages, and I think that this is the correct behavior. Also without slackpkg+ a template working with slackware 64bit does work on a 32bit installation and viceversa. Another idea is that generate-template could add R:P only for non official packages, but I'm not sure. For the makelist() question, it is a large function and the core of slackpkg. Override this function change a lot of things. I don't know if it is a good idea. Also it does not solve the problem of remove-template since the problem is a conceptual problem. |
Hello,
Quote:
However, since users could want to write templates by hand, install-template must support syntax R:P for all packages. Quote:
Quote:
Code:
$ slackpkg -dialog=off -default_answer=yes -batch=on remove-template test Seb |
Ah, ok.
Well, I think that we can proceed with the specifications that install-template and remove-template support both R:P and P, and generate-template does generate a template with slackware/slackware64/patches stripped by default. If the user need it, he can edit the template. |
Hi, zerouno and phenixia2003
can you help me, I don't know why packages not found with this actions: slackpkgplus.conf Code:
SLACKPKGPLUS=on Code:
# slackpkg update Code:
# slackpkg install vlc-2.2.4 Code:
# removepkg vlc slackpkg+-1.7.0-noarch-4mt slackpkg+-1.7.0-noarch-3mt |
All times are GMT -5. The time now is 03:51 AM. |