LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   slackpkg vs. third-party package repository (https://www.linuxquestions.org/questions/slackware-14/slackpkg-vs-third-party-package-repository-4175427364/)

gegechris99 11-14-2013 04:07 PM

user feedback
 
@phenixia2003: Thanks for answering my questions.

Regarding improvement of "install-new" function to support 3rd-party repositories, I would definitely prefer option (2): i.e. make it optional so user has to manually select in config file which repository(ies) to be added to appear in "install-new".

Quote:

In case of (2). Do you want the list of changes found in repositories to be :

a) never printed
c) part of the output of "slackpkg update"
d) part of the output of "slackpkg check-update"
To stay consistent with what slackpkg does with the official Slackware repository, I would vote for option a). List of new packages in a 3rd-party repository would only be listed with command "slackpkg install-new" ,of course the repository must first have been "selected" for "install-new". I'm not aware of another way to list the new Slackware packages using slackpkg.

zerouno 11-15-2013 04:44 AM

Notice that the official install-new shown all new packages from the previous stable release to the latest new package, and not from the latest slackpkg update command or the latest install-new command unless you install or blacklist the new packages.

If you do that for a thirdy party repository started empty, slackpkg install-new will show the same output of slackpkg install repository that is not useful becouse I dont think that a user want install an entire repository that contains heterogeneous or conflicting packages. A similar install-new may be useful for repositories that suppose you want fully install as multilib, ktown, gsb... that contains multiple package for a single purpose; if you run slackpkg upgrade ktown may be needed to run slackpkg install ktown. If you run slackpkg upgrade alienbob I don't think that you need to run slackpkg install alienbob.

Alien Bob 11-15-2013 07:36 AM

Quote:

Originally Posted by zerouno (Post 5064877)
slackpkg install-new will show the same output of slackpkg install repository that is not useful

Again, be very careful not to mess with the default behaviour of slackpkg.

Eric

phenixia2003 11-15-2013 10:21 AM

Hello,

Quote:

Originally Posted by zerouno (Post 5064877)
Notice that the official install-new shown all new packages from the previous stable release to the latest new package, and not from the latest slackpkg update command or the latest install-new command unless you install or blacklist the new packages.

Just an idea: For a given repository, all the changes collected when running "slackpkg update" could be merged, version by version :

Code:

Repository R-14.1

changeset1(add:a,b,c) =>
  R-14.1.latest-added-packages=(a,b,c)
  R-14.1.added-packages=(a,b,c)

changeset2(add:d,e,f) =>
  R-14.1.latest-added-packages=(d,e,f)
  R-14.1.added-packages=(a,b,c,d,e,f)
...

Quote:

Originally Posted by zerouno (Post 5064877)
If you do that for a thirdy party repository started empty, slackpkg install-new will show the same output of slackpkg install repository

What do you mean by "third party repository started empty ?" A repository with 0 packages, then you add 10, etc

For a given repository R, "slackpkg install R" will only show the uninstalled packages, and, slackpkg install-new, will only show the packages identified as new.

For a repository R, when you run "slackpkg update", a snapshot of available packages is taken, then the data are fetched from the repository, and a new snapshot is taken. When these snapshots are different, the changes are collected :
Code:

R=(no packages) => slackpkg update => no new packages found in R => install-new will show nothing from R
R=(a,b,c)      => slackpkg update => new(a,b,c) found in R      => install-new will show (a,b,c) from R
R=(a,b,c,d)    => slackpkg update => new(d) found in R          => install-new will show (d) from R
R=(a,b,c,d)    => slackpkg update => no change found            => install-new will show (d) from R
...




Important:
Keep in mind that implementation of "install-new" I sent last day is incomplete and must be (really) considered as a work in progress. It needs more attention, because it does not take care of defined priorities, nor the packages that could have been installed manually or by any other ways.

Cheers.

--
SeB

zerouno 11-15-2013 10:44 AM

For info, I will continue developing next monday. This weekend I've not my pc, and I may not read the forum.

zerouno 11-19-2013 07:32 AM

regarding the install-new functionality for now I would wait.

In the development tree I added other features.

All feature from the stable and now:

- Added ALLOW32BIT flag to allow to install 32bit packages on a 64bit system
- Added an install log in /var/lib/slackpkg/install.log; launching "/usr/libexec/slackpkg/makeinstlog.sh -t" TRY to detect the repository from which the packages was installed
- Added WGETOPTS
- Added the greylist

Are all embrional code

zerouno 11-19-2013 07:55 AM

well... the install.log function is bugged :) when you install multiple packages!
Code:

2013/11/19 11:29:00 upgraded:    seamonkey-solibs-2.22-x86_64-1.txz  [slackware64]  (was mozilla-firefox-24.1.0esr-x86_64-1)
2013/11/19 11:29:02 upgraded:    openssh-6.4p1-x86_64-1.txz  [slackware64]  (was mozilla-firefox-24.1.0esr-x86_64-1)
2013/11/19 11:29:08 upgraded:    php-5.4.22-x86_64-1.txz  [slackware64]  (was mozilla-firefox-24.1.0esr-x86_64-1)
2013/11/19 11:29:16 upgraded:    samba-4.1.1-x86_64-1.txz  [slackware64]  (was mozilla-firefox-24.1.0esr-x86_64-1)
2013/11/19 11:29:29 upgraded:    mozilla-firefox-25.0.1-x86_64-1.txz  [slackware64]  (was mozilla-firefox-24.1.0esr-x86_64-1)

due a VERY BAD cut/paste ;)

phenixia2003 11-19-2013 08:00 AM

Hello,

Quote:

Originally Posted by zerouno (Post 5067229)
regarding the install-new functionality for now I would wait.

I totally agree.


--
SeB

phenixia2003 11-19-2013 08:24 AM

Hello,

Quote:

Originally Posted by zerouno (Post 5067229)
- Added ALLOW32BIT flag to allow to install 32bit packages on a 64bit system

About this, It would be great to automatically put 32-bit packages on greylist (I didn't check if this can be done at runtime) when user runs "slackpkg upgrade" / "slackpkg upgrade-all". With that, the user would have to explicitly select the 32-bit packages he wants to upgrade, and this will prevent him to mistakenly upgrade some of installed packages with 32-bit version.


--
SeB

zerouno 11-19-2013 08:47 AM

Yes it's possible.
slackpkg+-20131119.3-noarch-1mt.txz do that.
Code:

                                                  │ │[ ] libmspack-0.3alpha-i486-1sl.txz                slacky      │ │ 
                                                  │ │[ ] libnice-0.1.3-i486-1sl.txz                      slacky      │ │ 
                                                  │ │[*] libreoffice-4.1.3-x86_64-1dj.txz                salixos    │ │ 
                                                  │ │[*] libreoffice-l10n-it-4.1.3-x86_64-1rl.txz        salixos    │ │ 
                                                  │ │[ ] libsigc++-2.2.11-i486-1sl.txz                  slacky      │ │ 
                                                  │ │[ ] libva-1.1.0-i486-1sl.txz                        slacky      │ │


phenixia2003 11-19-2013 08:55 AM

Hello,

Quote:

Originally Posted by zerouno (Post 5067270)
Yes it's possible.
slackpkg+-20131119.3-noarch-1mt.txz do that.
Code:

                                                  │ │[ ] libmspack-0.3alpha-i486-1sl.txz                slacky      │ │ 
                                                  │ │[ ] libnice-0.1.3-i486-1sl.txz                      slacky      │ │ 
                                                  │ │[*] libreoffice-4.1.3-x86_64-1dj.txz                salixos    │ │ 
                                                  │ │[*] libreoffice-l10n-it-4.1.3-x86_64-1rl.txz        salixos    │ │ 
                                                  │ │[ ] libsigc++-2.2.11-i486-1sl.txz                  slacky      │ │ 
                                                  │ │[ ] libva-1.1.0-i486-1sl.txz                        slacky      │ │


Good job :cool:

Cheers.

--
SeB

phenixia2003 04-04-2014 10:02 AM

3 Attachment(s)
Hello,

I wrote a small patch for slackpkg+ (Attachment 15163) which solves this small bug, and adds a small improvement so that the command slackpkg check-updates reports the repositories which have been changed since the last update.

Here is an example of the new output of check-updates :
Code:

$ /usr/sbin/slackpkg check-updates

News on ChangeLog.txt

  [ Repository              ] [ Status              ]
    slackware                    AVAILABLE UPDATES   
    slackpkgplus                    Up to date       
    restricted                      Up to date       
    alienbob                    AVAILABLE UPDATES               
    multilib                        Up to date

The name of each updated repository is saved in ~/.slackpkg/updated-repos.txt. When there's no update, this file is empty.

With that, you can create a crontab entry to be notified through a tooltip inside your preferred DE when updates are available. For instance, to check updates every 2 hours at the top of the hour :

Code:

0 */2 * * * export DISPLAY=:0 && /usr/sbin/slackpkg &>/dev/null check-updates && [ -s ~/.slackpkg/updated-repos.txt ] && notify-send -i dialog-warning "[ S L A C K P K G + ]" "Available updates in repositories: $(cat ~/.slackpkg/updated-repos.txt|tr '\n' ','|sed 's/,$//' )"
Note: the crontab entry above is for non-root users only: notify-send does not work when run as root. To workaround this, users who really want to run notify-send as root, can use this wrapper.

Examples:

1. Kde
Attachment 15161

2. Xfce
Attachment 15162
Greetings.

--
SeB

zerouno 04-07-2014 02:50 AM

Good feature.

Currently I don't have my GPG-KEY ;), so I can't update the repository metadata (so it is not available with slackpkg upgrade slackpkg+), but I uploaded the new package on sourceforge.

gegechris99 04-10-2014 03:37 PM

Thank you phenixia2003 for this latest patch.

The DE notification is working fine except for the time details in the crontab entry.

Code:

* */1 * * *
runs the code every minute (i.e notification every minute).

I'm no crontab specialist, but to make it run once an hour, I would rather use something like that:

Every hour at 0 minute (ex: 21h00, 22h00....)
Code:

0 * * * *
Every 59 minutes (I don't know if 60 works here)
Code:

*/59 * * * *
For now, I've settled for every 55mn:
Code:

*/55 * * * *
I'm currently testing, so I will wait 55mn to confirm that this entry works. But at least, for now, I don't have the notification every minute :)

samac 04-11-2014 01:32 AM

Now that you have a notification you just need to add a quick start button that runs "slackpkg" update and upgrade, both graphically and automatically. Then you will have removed one of the "major fictions" of Slackware. That being, that it doesn't have a package manager.

samac


All times are GMT -5. The time now is 05:47 PM.