Hello,
Quote:
Code:
if [ "$CMD" == "install-new" ] ; then -- SeB |
Thanks for suggests.
Remain to solve the upgrade&upgrade-all problem. If a package X is present both in slackware and in alienbob repository, and I install it from alienbob, next an upgrade-all should upgrade it only if change in alienbob repository and not in slackware. I think that the suffix (1mt 1sl 1alien ... ) is sufficient to know the repository |
Hello,
Quote:
Code:
repository_name:pattern Code:
# Found packages in repository. Code:
if [ "$CMD" == "install" ] || [ "$CMD" == "upgrade" ] ; then For instance if the user want apache-ant from slacky, and openjdk from alienbob, it will defines this inside slackpkgplus.conf : Code:
PKGS_PRIORITY=( slacky:apache-ant alienbob:openjdk ) Code:
for pp in ${PKGS_PRIORITY[*]} ; do Code:
$ slackpkg install apache-ant And, when the user will issue the commands : Code:
$ slackpkg upgrade apache-ant Note, the user can always install/upgrade another version using the extension I suggest. For instance, the command : Code:
$ slackpkg install slacky:openjdk However, since PKGS_PRIORITY includes "alienbob:openjdk", the commands : Code:
$ slackpkg upgrade openjdk Well, this starts to be a bit complex, so, to summarize you will find the full code (and a version of slackpkgplus.conf that includes the variable PKGS_PRIORITY) below : Code:
Code:
SLACKPKGPLUS=on -- SeB |
Hello,
I slightly modified the function givepriority() so that it is now possible to use regexp in enhanced priority rules. With that, you can give priority for an entire repository through the variable PKGS_PRIORITY. For instance, to give priority to the multilib repository, you simply have to add this in slackpkgplus.conf : Code:
PKGS_PRIORITY=( multilib:.* ) Here is the full code (changes in bold) : Code:
-- SeB |
I want to repackage slackpkg+
Eric, what do you think of the phenixia2003 ideas? |
I have not implemented phenixia2003's ideas here locally, yet. But his ideas sound good and would give slackpkg+ some needed flexibility.
One thing that I would implement but my ARM port does not leave me any time: to allow more than just the Slackware GPG key. It would be very welcome if slackpg+ would be able to use a separate GPG key for every repository. Other than that, I have been using slackpkg+ on my desktop machine (with a lot of alien and SBo packages, and multilib) without a single issues (except the failure to use GPG checking). Eric |
Eric, have you "modularized" the "Restricted-SlackBuilds" repository?
|
Quote:
Eric |
Hello,
Quote:
First, you have to add the array MIRRORPLUSKEY in slackpkgplus.conf. In this array you must declare the key of each repositories declared into MIRRORPLUS. When a repository does not provide a GPG-KEY, then you must use the keyword NULL. Here is the slackpkgplus.conf I use. Code:
SLACKPKGPLUS=on Code:
declare -A MIRRORPLUS Now, with this new version, if you install apache-ant from alienbob repository you will get this : Code:
slackpkg -batch=on -default_answer=y install alienbob:apache-ant Greetings. -- SeB |
Quote:
Eric |
Quote:
Quote:
Eric |
2 Attachment(s)
Hello,
Quote:
I also made some changes to get something better. First, I think that's not a good idea to have one array for the urls of repositories, and another for the keys. So, I choose to merge these data into the array MIRRORPLUS. Now, when you declare a new repository you will have to supply the key through a field "?key=<key>" right after the url. For instance, now my slackpkgplus.conf is as below : Code:
SLACKPKGPLUS=on At runtime, slackpkgplus.sh parses the array MIRRORPLUS to extract the urls and keys of the defined repositories. When a repository has no key, and you run "slackpkg update gpg" with CHECKGPG turned on, then a warning is printed on the standard output : Code:
(WARNING) ************************************************************************************ Greetings. -- SeB |
phenixia2003: I have copied your script (of course with removing the .txt) to /usr/libexec/slackpkg/functions.d and the config file to /etc/slackpkg/, then I have edited the config file so that it points to my local mirrors and commented out the repos I don't use. Is there anything else I have to do to make that work?
Code:
slackpkg update |
2 Attachment(s)
Hello,
Quote:
To declare a local mirror In slackpkgplus.conf, you must prepend its url by "file:". For instance, if you have a local mirror in /home/myname/myrepository/14.0", you must declare it as below : Code:
I tested this with a local copy of Eric's multilib repository (with -checkmd5=off since there's no md5 for the .asc files on this repository). If you run into any trouble, let me know. Greetings. -- SeB |
Quote:
Quote:
Eric |
All times are GMT -5. The time now is 01:12 PM. |