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/)

vivanguarda 11-10-2013 06:43 AM

Take easy, phenixia2003!

Community know your work. Alien Bob's blog there is a coorect credit too.

Thanks you a lot!

samac 11-10-2013 03:35 PM

Quick question.

I'm trying to list the packages in ktown that I've got installed. I'm using
Code:

slackpkg search ktown | grep installed
but it brings up installed and uninstalled.

Any suggestions on how to list just the installed packages.

samac

phenixia2003 11-10-2013 03:55 PM

Hello,

Quote:

Originally Posted by samac (Post 5062091)
Quick question.

I'm trying to list the packages in ktown that I've got installed. I'm using
Code:

slackpkg search ktown | grep installed
but it brings up installed and uninstalled.

Any suggestions on how to list just the installed packages.

samac

slackpkg search ktown | grep -w installed

--
SeB

samac 11-10-2013 04:00 PM

@phenixia2003

Thank you

samac

zerouno 11-11-2013 04:45 AM

@phenixia2003, I'm sorry.

This weekend I read the topic without without a pc (with smartphone) and I was unable to read all well.

Also in the weekend I had the opportunity to consider sometime.

The 'impulsive' thoughts was past.
However:
1) never I thoughts that slackpkg+ is full mine. Who think that are very wronging. Mine is the starting idea and few other. Most of code is a your creation. And I see from the code-style that you are a good developer. I have always defined myself a 'draft-code' writer. So the of bugs is related on my part of code. But in effect the rc versions was to test it!
2) never I thoughts to really reject the 'notify' function (that I like) but only ritard the inserting. The consideration (on "it broke the slackware phylosophy?") came from the my attemping to add a feature, failed becouse it may broke the slackware phylosophy. So I was led to make considerations before insert other code.
3) yes, the typos you have reported has not been corrected from the git-version of slackpkg+, that corrects the documentation only.
4) yes, slackpkg+ is not libreoffice :), so I may postpone the release of a few hours and insert the new code.

For multilib there is some considerations to do (premise that I do not use it but a my custom method that is offtopic here).
- Regardless the message "When you see NEW packages with 'slackpkg install-new' command, ...", in setupmultilib.sh, I limited it for the '-current' tree only becouse in a -stable tree the command 'install-new' always give a null output, so I think (tell me If is wrong) that also in multilib-stable tree there are not new packages, so slackpkg upgrade-all is sufficient.
- In a non-full installation of slackware, slackpkg install multilib propose to install all multilib packages, even if the related 64bit-package is not installed.


So an idea may be
1) the setupmultilib.sh in line 77
slackpkg install multilib
may be replaced by
slackpkg install `all multilib packages related to the current /var/log/packages/*`
2) the function 'slackpkg install-new' for multilib removed at post #126 may be reinserted or substituted from the last your idea:
Code:

NOTIFYMSG[on_upgrade@.*-compat32$]="The 32-bit compatibility layer has been updated.\n\
\n\
Keep in mind that, for better 32-bit support, packages will be added to this layer as\
 needed. To track down those changes, and so keep your multilib up to date, you should\
 run the commands below on a regular basis :\n\
    $ slackpkg update && slackpkg install multilib"

but suggesting not 'install multilib' but 'install <new-installed-packages>-compat32' with 'on_install' instead 'on_upgrade', and only related to the official slackware packages.

what do you think?

zerouno 11-11-2013 08:35 AM

Slackpkg+ 1.0 released!

Code:

Version 1.0 - 11/Nov/2013
  - slackpkg+ 1.0 stable finally relased
  - All repositories aligned to newest slackware version
  - Documentation reformatting and some typo fix (thanx to idlemoor)
  - Added function 'notification on event' that allow to insert reminders
    when you install/ugrade/remove some packages. See slackpkgplus.conf samples.
    (thanks to phenixia2003)


phenixia2003 11-11-2013 10:42 AM

Quote:

Originally Posted by zerouno (Post 5062409)
@phenixia2003, I'm sorry.

This weekend I read the topic without without a pc (with smartphone) and I was unable to read all well.

Also in the weekend I had the opportunity to consider sometime.

The 'impulsive' thoughts was past.
However:
1) never I thoughts that slackpkg+ is full mine. Who think that are very wronging. Mine is the starting idea and few other. Most of code is a your creation. And I see from the code-style that you are a good developer. I have always defined myself a 'draft-code' writer. So the of bugs is related on my part of code. But in effect the rc versions was to test it!
2) never I thoughts to really reject the 'notify' function (that I like) but only ritard the inserting. The consideration (on "it broke the slackware phylosophy?") came from the my attemping to add a feature, failed becouse it may broke the slackware phylosophy. So I was led to make considerations before insert other code.
3) yes, the typos you have reported has not been corrected from the git-version of slackpkg+, that corrects the documentation only.
4) yes, slackpkg+ is not libreoffice :), so I may postpone the release of a few hours and insert the new code.

I'm sorry too. My words was inappropriate.



Quote:

Originally Posted by zerouno (Post 5062409)
For multilib there is some considerations to do (premise that I do not use it but a my custom method that is offtopic here).
- Regardless the message "When you see NEW packages with 'slackpkg install-new' command, ...", in setupmultilib.sh, I limited it for the '-current' tree only becouse in a -stable tree the command 'install-new' always give a null output, so I think (tell me If is wrong) that also in multilib-stable tree there are not new packages, so slackpkg upgrade-all is sufficient.

New packages can be included even in multilib-stable. For instance, Eric recently added the packages 'a/attr' and 'l/giflib' in multilib-current, multilib-14.0 and multilib-13.37. Here is a snippet from mutlilib's changelog :

Code:

+--------------------------+
Sun Oct 20 14:09:19 UTC 2013
13.37/compat32-tools-3.1-noarch-2alien.tgz:  See below.
14.0/compat32-tools-3.1-noarch-2alien.tgz:  See below.
current/compat32-tools-3.1-noarch-2alien.tgz:  In massconvert32.sh, added
  'a/attr' and 'l/giflib' for better Wine/pipelight support .
13.37/slackware64-compat32:  Refreshed the *compat32 packages.
14.0/slackware64-compat32:  Refreshed the *compat32 packages.
current/slackware64-compat32:  Refreshed the *compat32 packages.

Therefore, 'slackpkg upgrade-all' (nor slackpkg upgrade multilib') is not sufficient to keep the multilib up to date. At a certain point, and more precisely right after 'slackpkg update', users should run 'slackpkg install multilib' to grab the newly added packages to the multilib, if any.


Quote:

Originally Posted by zerouno (Post 5062409)
- In a non-full installation of slackware, slackpkg install multilib propose to install all multilib packages, even if the related 64bit-package is not installed.

So an idea may be
1) the setupmultilib.sh in line 77
slackpkg install multilib
may be replaced by
slackpkg install `all multilib packages related to the current /var/log/packages/*`


Yes this could be done. But, I think that implies extra work that could be counterproductive: There could be a 32-bit software that requires one of the compat32 package which has not be installed because its 64-bit counterpart is not installed.


Quote:

Originally Posted by zerouno (Post 5062409)
2) the function 'slackpkg install-new' for multilib removed at post #126 may be reinserted or substituted from the last your idea:
Code:

NOTIFYMSG[on_upgrade@.*-compat32$]="The 32-bit compatibility layer has been updated.\n\
\n\
Keep in mind that, for better 32-bit support, packages will be added to this layer as\
 needed. To track down those changes, and so keep your multilib up to date, you should\
 run the commands below on a regular basis :\n\
    $ slackpkg update && slackpkg install multilib"

but suggesting not 'install multilib' but 'install <new-installed-packages>-compat32' with 'on_install' instead 'on_upgrade', and only related to the official slackware packages.

The 'slackpkg install-new' that was removed at post #126 could be re-integrated. You're right this would be better than relying on "slackpkg install multilib" to install newly added packages to the multilib. It needs to be rewritten to select the new packages only. I have some ideas to check before going further.


Cheers.

--
SeB

zerouno 11-12-2013 04:03 AM

Quote:

Originally Posted by phenixia2003 (Post 5062596)
New packages can be included even in multilib-stable.

Ok, I did not know that.

Quote:

Therefore, 'slackpkg upgrade-all' (nor slackpkg upgrade multilib') is not sufficient to keep the multilib up to date.
but is sufficient to keep update the already installed compat32 packages.
Quote:

At a certain point, and more precisely right after 'slackpkg update', users should run 'slackpkg install multilib' to grab the newly added packages to the multilib, if any.
unless slackpkg install-new manage it (I have not yet had the opportunity to review the past code removed)




Quote:

Quote:

So an idea may be
1) the setupmultilib.sh in line 77
slackpkg install multilib
may be replaced by
slackpkg install `all multilib packages related to the current /var/log/packages/*`
Yes this could be done. But, I think that implies extra work that could be counterproductive: There could be a 32-bit software that requires one of the compat32 package which has not be installed because its 64-bit counterpart is not installed.
I dont understand.
Exactly I think that:
Code:

      ### very draft
      COMPATPKGS=$(
        cd /var/log/packages
        ls | rev |cut -f4- -d-|rev|sed -e 's/^/^slackware64 /' -e 's/$/ /' > /tmp/installed_packages1
        grep -f /tmp/installed_packages1 /var/lib/slackpkg/pkglist|awk '{print "SLACKPKGPLUS_multilib "$2"-compat32 "}' > /tmp/installed_packages2
        grep -f /tmp/installed_packages2 /var/lib/slackpkg/pkglist|awk '{print "multilib:"$2}'
        )
        echo slackpkg install $COMPATPKGS

launch it in my full installation the output is
Code:

# slackpkg install multilib:aaa_elflibs-compat32 multilib:attr-compat32 multilib:bzip2-compat32 multilib:cups-compat32 multilib:cxxlibs-compat32 multilib:dbus-compat32 multilib:e2fsprogs-compat32 multilib:openssl-solibs-compat32 multilib:util-linux-compat32 multilib:flac-compat32 multilib:mariadb-compat32 multilib:mpg123-compat32 multilib:sqlite-compat32 multilib:libtool-compat32 multilib:alsa-lib-compat32 multilib:alsa-oss-compat32 multilib:atk-compat32 multilib:audiofile-compat32 multilib:cairo-compat32 multilib:dbus-glib-compat32 multilib:esound-compat32 multilib:expat-compat32 multilib:freetype-compat32 multilib:fribidi-compat32 multilib:gamin-compat32 multilib:gdk-pixbuf2-compat32 multilib:giflib-compat32 multilib:glib2-compat32 multilib:gmp-compat32 multilib:gst-plugins-base-compat32 multilib:gst-plugins-good-compat32 multilib:gstreamer-compat32 multilib:gtk+2-compat32 multilib:harfbuzz-compat32 multilib:icu4c-compat32 multilib:jasper-compat32 multilib:lcms-compat32 multilib:lcms2-compat32 multilib:lesstif-compat32 multilib:libart_lgpl-compat32 multilib:libelf-compat32 multilib:libexif-compat32 multilib:libffi-compat32 multilib:libglade-compat32 multilib:libgphoto2-compat32 multilib:libidn-compat32 multilib:libieee1284-compat32 multilib:libjpeg-compat32 multilib:libmng-compat32 multilib:libmpc-compat32 multilib:libogg-compat32 multilib:libpcap-compat32 multilib:libpng-compat32 multilib:libsamplerate-compat32 multilib:libsndfile-compat32 multilib:libtermcap-compat32 multilib:libtiff-compat32 multilib:libusb-compat32 multilib:libvorbis-compat32 multilib:libxml2-compat32 multilib:libxslt-compat32 multilib:ncurses-compat32 multilib:pango-compat32 multilib:popt-compat32 multilib:qt-compat32 multilib:readline-compat32 multilib:sdl-compat32 multilib:seamonkey-solibs-compat32 multilib:startup-notification-compat32 multilib:svgalib-compat32 multilib:v4l-utils-compat32 multilib:zlib-compat32 multilib:curl-compat32 multilib:cyrus-sasl-compat32 multilib:gnutls-compat32 multilib:libgcrypt-compat32 multilib:libgpg-error-compat32 multilib:nettle-compat32 multilib:openldap-client-compat32 multilib:openssl-compat32 multilib:p11-kit-compat32 multilib:fontconfig-compat32 multilib:glew-compat32 multilib:glu-compat32 multilib:libFS-compat32 multilib:libICE-compat32 multilib:libSM-compat32 multilib:libX11-compat32 multilib:libXScrnSaver-compat32 multilib:libXau-compat32 multilib:libXaw-compat32 multilib:libXcomposite-compat32 multilib:libXcursor-compat32 multilib:libXdamage-compat32 multilib:libXdmcp-compat32 multilib:libXevie-compat32 multilib:libXext-compat32 multilib:libXfixes-compat32 multilib:libXfont-compat32 multilib:libXfontcache-compat32 multilib:libXft-compat32 multilib:libXi-compat32 multilib:libXinerama-compat32 multilib:libXmu-compat32 multilib:libXp-compat32 multilib:libXpm-compat32 multilib:libXrandr-compat32 multilib:libXrender-compat32 multilib:libXres-compat32 multilib:libXt-compat32 multilib:libXtst-compat32 multilib:libXv-compat32 multilib:libXvMC-compat32 multilib:libXxf86dga-compat32 multilib:libXxf86misc-compat32 multilib:libXxf86vm-compat32 multilib:libdmx-compat32 multilib:libdrm-compat32 multilib:libfontenc-compat32 multilib:libpciaccess-compat32 multilib:libxcb-compat32 multilib:mesa-compat32 multilib:pixman-compat32 multilib:xcb-util-compat32 multilib:sane-compat32 multilib:xsane-compat32
That launched is
Code:

Looking for aaa_elflibs-compat32 attr-compat32 bzip2-compat32 cups-compat32 cxxlibs-compat32 dbus-compat32 e2fsprogs-compat32 openssl-solibs-compat32 util-linux-compat32 flac-compat32 mariadb-compat32 mpg123-compat32 sqlite-compat32 libtool-compat32 alsa-lib-compat32 alsa-oss-compat32 atk-compat32 audiofile-compat32 cairo-compat32 dbus-glib-compat32 esound-compat32 expat-compat32 freetype-compat32 fribidi-compat32 gamin-compat32 gdk-pixbuf2-compat32 giflib-compat32 glib2-compat32 gmp-compat32 gst-plugins-base-compat32 gst-plugins-good-compat32 gstreamer-compat32 gtk+2-compat32 harfbuzz-compat32 icu4c-compat32 jasper-compat32 lcms-compat32 lcms2-compat32 lesstif-compat32 libart_lgpl-compat32 libelf-compat32 libexif-compat32 libffi-compat32 libglade-compat32 libgphoto2-compat32 libidn-compat32 libieee1284-compat32 libjpeg-compat32 libmng-compat32 libmpc-compat32 libogg-compat32 libpcap-compat32 libpng-compat32 libsamplerate-compat32 libsndfile-compat32 libtermcap-compat32 libtiff-compat32 libusb-compat32 libvorbis-compat32 libxml2-compat32 libxslt-compat32 ncurses-compat32 pango-compat32 popt-compat32 qt-compat32 readline-compat32 sdl-compat32 seamonkey-solibs-compat32 startup-notification-compat32 svgalib-compat32 v4l-utils-compat32 zlib-compat32 curl-compat32 cyrus-sasl-compat32 gnutls-compat32 libgcrypt-compat32 libgpg-error-compat32 nettle-compat32 openldap-client-compat32 openssl-compat32 p11-kit-compat32 fontconfig-compat32 glew-compat32 glu-compat32 libFS-compat32 libICE-compat32 libSM-compat32 libX11-compat32 libXScrnSaver-compat32 libXau-compat32 libXaw-compat32 libXcomposite-compat32 libXcursor-compat32 libXdamage-compat32 libXdmcp-compat32 libXevie-compat32 libXext-compat32 libXfixes-compat32 libXfont-compat32 libXfontcache-compat32 libXft-compat32 libXi-compat32 libXinerama-compat32 libXmu-compat32 libXp-compat32 libXpm-compat32 libXrandr-compat32 libXrender-compat32 libXres-compat32 libXt-compat32 libXtst-compat32 libXv-compat32 libXvMC-compat32 libXxf86dga-compat32 libXxf86misc-compat32 libXxf86vm-compat32 libdmx-compat32 libdrm-compat32 libfontenc-compat32 libpciaccess-compat32 libxcb-compat32 mesa-compat32 pixman-compat32 xcb-util-compat32 sane-compat32 xsane-compat32 in package list. Please wait... DONE

aaa_elflibs-compat32-14.1-x86_64-3compat32.txz
attr-compat32-2.4.46-x86_64-1compat32.txz
bzip2-compat32-1.0.6-x86_64-1compat32.txz
cups-compat32-1.5.4-x86_64-3compat32.txz
cxxlibs-compat32-6.0.18-x86_64-1compat32.txz
dbus-compat32-1.6.12-x86_64-1compat32.txz
e2fsprogs-compat32-1.42.8-x86_64-2compat32.txz
openssl-solibs-compat32-1.0.1e-x86_64-1compat32.txz
util-linux-compat32-2.21.2-x86_64-6compat32.txz
flac-compat32-1.2.1-x86_64-3compat32.txz
mariadb-compat32-5.5.32-x86_64-1compat32.txz
mpg123-compat32-1.15.4-x86_64-1compat32.txz
sqlite-compat32-3.7.17-x86_64-1compat32.txz
libtool-compat32-2.4.2-x86_64-2compat32.txz
alsa-lib-compat32-1.0.27.2-x86_64-1compat32.txz
alsa-oss-compat32-1.0.25-x86_64-1compat32.txz
atk-compat32-2.8.0-x86_64-1compat32.txz
audiofile-compat32-0.3.6-x86_64-1compat32.txz
cairo-compat32-1.12.14-x86_64-1compat32.txz
dbus-glib-compat32-0.100.2-x86_64-1compat32.txz
esound-compat32-0.2.41-x86_64-2compat32.txz
expat-compat32-2.1.0-x86_64-1compat32.txz
freetype-compat32-2.5.0.1-x86_64-1compat32.txz
fribidi-compat32-0.19.2-x86_64-3compat32.txz
gamin-compat32-0.1.10-x86_64-5compat32.txz
gdk-pixbuf2-compat32-2.28.2-x86_64-1compat32.txz
giflib-compat32-4.1.6-x86_64-1compat32.txz
glib2-compat32-2.36.4-x86_64-1compat32.txz
gmp-compat32-5.1.3-x86_64-1compat32.txz
gst-plugins-base-compat32-0.10.36-x86_64-2compat32.txz
gst-plugins-good-compat32-0.10.31-x86_64-5compat32.txz
gstreamer-compat32-0.10.36-x86_64-2compat32.txz
gtk+2-compat32-2.24.20-x86_64-1compat32.txz
harfbuzz-compat32-0.9.16-x86_64-1compat32.txz
icu4c-compat32-51.2-x86_64-1compat32.txz
jasper-compat32-1.900.1-x86_64-3compat32.txz
lcms-compat32-1.19-x86_64-2compat32.txz
lcms2-compat32-2.4-x86_64-1compat32.txz
lesstif-compat32-0.95.2-x86_64-1compat32.txz
libart_lgpl-compat32-2.3.21-x86_64-1compat32.txz
libelf-compat32-0.8.13-x86_64-2compat32.txz
libexif-compat32-0.6.21-x86_64-1compat32.txz
libffi-compat32-3.0.13-x86_64-2compat32.txz
libglade-compat32-2.6.4-x86_64-4compat32.txz
libgphoto2-compat32-2.5.2-x86_64-1compat32.txz
libidn-compat32-1.25-x86_64-2compat32.txz
libieee1284-compat32-0.2.11-x86_64-3compat32.txz
libjpeg-compat32-v8a-x86_64-1compat32.txz
libmng-compat32-1.0.10-x86_64-2compat32.txz
libmpc-compat32-0.8.2-x86_64-2compat32.txz
libogg-compat32-1.3.0-x86_64-1compat32.txz
libpcap-compat32-1.4.0-x86_64-1compat32.txz
libpng-compat32-1.4.12-x86_64-1compat32.txz
libsamplerate-compat32-0.1.8-x86_64-1compat32.txz
libsndfile-compat32-1.0.25-x86_64-1compat32.txz
libtermcap-compat32-1.2.3-x86_64-7compat32.txz
libtiff-compat32-3.9.7-x86_64-1compat32.txz
libusb-compat32-1.0.9-x86_64-1compat32.txz
libvorbis-compat32-1.3.3-x86_64-1compat32.txz
libxml2-compat32-2.9.1-x86_64-1compat32.txz
libxslt-compat32-1.1.28-x86_64-1compat32.txz
ncurses-compat32-5.9-x86_64-2compat32.txz
pango-compat32-1.34.1-x86_64-1compat32.txz
popt-compat32-1.16-x86_64-2compat32.txz
qt-compat32-4.8.5-x86_64-2compat32.txz
readline-compat32-5.2-x86_64-4compat32.txz
sdl-compat32-1.2.15-x86_64-1compat32.txz
seamonkey-solibs-compat32-2.21-x86_64-1compat32.txz
startup-notification-compat32-0.12-x86_64-2compat32.txz
svgalib-compat32-1.9.25-x86_64-2compat32.txz
v4l-utils-compat32-0.9.5-x86_64-1compat32.txz
zlib-compat32-1.2.8-x86_64-1compat32.txz
curl-compat32-7.31.0-x86_64-1compat32.txz
cyrus-sasl-compat32-2.1.23-x86_64-5compat32.txz
gnutls-compat32-3.1.16-x86_64-1compat32.txz
libgcrypt-compat32-1.5.3-x86_64-1compat32.txz
libgpg-error-compat32-1.11-x86_64-1compat32.txz
nettle-compat32-2.7.1-x86_64-1compat32.txz
openldap-client-compat32-2.4.31-x86_64-2compat32.txz
openssl-compat32-1.0.1e-x86_64-1compat32.txz
p11-kit-compat32-0.16.4-x86_64-1compat32.txz
fontconfig-compat32-2.10.93-x86_64-1compat32.txz
glew-compat32-1.9.0-x86_64-1compat32.txz
glu-compat32-9.0.0-x86_64-1compat32.txz
libFS-compat32-1.0.5-x86_64-1compat32.txz
libICE-compat32-1.0.8-x86_64-1compat32.txz
libSM-compat32-1.2.2-x86_64-1compat32.txz
libX11-compat32-1.6.2-x86_64-1compat32.txz
libXScrnSaver-compat32-1.2.2-x86_64-1compat32.txz
libXau-compat32-1.0.8-x86_64-1compat32.txz
libXaw-compat32-1.0.12-x86_64-1compat32.txz
libXcomposite-compat32-0.4.4-x86_64-1compat32.txz
libXcursor-compat32-1.1.14-x86_64-1compat32.txz
libXdamage-compat32-1.1.4-x86_64-1compat32.txz
libXdmcp-compat32-1.1.1-x86_64-1compat32.txz
libXevie-compat32-1.0.3-x86_64-1compat32.txz
libXext-compat32-1.3.2-x86_64-1compat32.txz
libXfixes-compat32-5.0.1-x86_64-1compat32.txz
libXfont-compat32-1.4.6-x86_64-1compat32.txz
libXfontcache-compat32-1.0.5-x86_64-1compat32.txz
libXft-compat32-2.3.1-x86_64-1compat32.txz
libXi-compat32-1.7.2-x86_64-1compat32.txz
libXinerama-compat32-1.1.3-x86_64-1compat32.txz
libXmu-compat32-1.1.2-x86_64-1compat32.txz
libXp-compat32-1.0.2-x86_64-1compat32.txz
libXpm-compat32-3.5.11-x86_64-1compat32.txz
libXrandr-compat32-1.4.2-x86_64-1compat32.txz
libXrender-compat32-0.9.8-x86_64-1compat32.txz
libXres-compat32-1.0.7-x86_64-1compat32.txz
libXt-compat32-1.1.4-x86_64-1compat32.txz
libXtst-compat32-1.2.2-x86_64-1compat32.txz
libXv-compat32-1.0.10-x86_64-1compat32.txz
libXvMC-compat32-1.0.8-x86_64-1compat32.txz
libXxf86dga-compat32-1.1.4-x86_64-1compat32.txz
libXxf86misc-compat32-1.0.3-x86_64-1compat32.txz
libXxf86vm-compat32-1.1.3-x86_64-1compat32.txz
libdmx-compat32-1.1.3-x86_64-1compat32.txz
libdrm-compat32-2.4.46-x86_64-1compat32.txz
libfontenc-compat32-1.1.2-x86_64-1compat32.txz
libpciaccess-compat32-0.13.2-x86_64-1compat32.txz
libxcb-compat32-1.9.1-x86_64-1compat32.txz
mesa-compat32-9.1.7-x86_64-1compat32.txz
pixman-compat32-0.30.2-x86_64-1compat32.txz
xcb-util-compat32-0.3.9-x86_64-1compat32.txz
sane-compat32-1.0.24-x86_64-1compat32.txz
xsane-compat32-0.998-x86_64-3compat32.txz

Total package(s): 126

Do you wish to install selected packages (Y/n)? n


phenixia2003 11-12-2013 08:39 AM

Quote:

Originally Posted by zerouno (Post 5063041)
but is sufficient to keep update the already installed compat32 packages.

Yes.

Quote:

Originally Posted by zerouno (Post 5063041)
unless slackpkg install-new manage it (I have not yet had the opportunity to review the past code removed)

I removed the old code because it installs all the uninstalled compat32 packages, and not only the new packages. This is not consistent with slackpkg's man page :

Quote:

install-new
This action installs any new packages that are added to [...] If you want to install all uninstalled [...] packages onto your system, use the following command
instead of the install-new action:

# slackpkg install [...]

Quote:

Originally Posted by zerouno (Post 5063041)
I dont understand.
Exactly I think that:
Code:

      ### very draft
      COMPATPKGS=$(
        cd /var/log/packages
        ls | rev |cut -f4- -d-|rev|sed -e 's/^/^slackware64 /' -e 's/$/ /' > /tmp/installed_packages1
        grep -f /tmp/installed_packages1 /var/lib/slackpkg/pkglist|awk '{print "SLACKPKGPLUS_multilib "$2"-compat32 "}' > /tmp/installed_packages2
        grep -f /tmp/installed_packages2 /var/lib/slackpkg/pkglist|awk '{print "multilib:"$2}'
        )
        echo slackpkg install $COMPATPKGS


Correct me if I'm wrong, but I guess that you want to install only the compat32 packages for which a 64-bit version is installed. For instance, if the 64-bit package "qt" is not installed, you do not install the package "qt-compat32". You can do that, but it will be better to let the user choose if he wants a full-multilib or a customized (or a shrinked to system) multilib.

Keep in mind that you have no guarantee that all the 32-bit softwares that user could install will not require one of the compat32 packages which have not be installed because its 64-bit counterpart is not installed.

Here is an example (a bit dumb): Imagine a user who has not installed "kde" nor the package "l/qt". He installs the multilib, but, given the package "qt" is not installed, the qt-compat32 will not be installed. After that, he installs the 32-bit google-earth, but this software requires the 32-bit qt, which is not installed because the 64-bit version is not installed ...


--
SeB

zerouno 11-12-2013 09:42 AM

Quote:

Originally Posted by phenixia2003 (Post 5063160)
I removed the old code because it installs all the uninstalled compat32 packages, and not only the new packages. This is not consistent with slackpkg's man page

this is true. It's also true that run 'slackpkg install multilib' then search manually for new packages and deselect all unwanted 32bit libraries AND all 32bit packages not installed becouse isn't installed the relative 64bit package EACH time isn't really practice. The new 'slackpkg install-new' should install only the 32bit libraries related to the installed 64bit installed packages so I only need to deselect unwanted 32bit libraries.


A feature that I want to add from a lot of time ago was the ability to construct a custom changelog for thirdy party repository as follow:
on every slackpkg update, for each repository:
- the downloaded CHECKSUMS.md5 is not removed but stored in /var/lib/slackpkg
- the new CHECKSUMS.md5 is comparated with the old
- the diff is stored in the changelog reformatted with Added,Upgraded,Rebuilt,Removed tags
- the downloaded CHECKSUMS.md5 override the older.
so the user will have a changelog for all repositories.

That changelog may be used from install-new for the multilib repository.




Quote:

Correct me if I'm wrong, but I guess that you want to install only the compat32 packages for which a 64-bit version is installed.
Yes. At least as starting installation.
Then if a user want to add/remove other 32bit library can add/remote it with slackpkg install/remove package-compat32.
A slackpkg install multilib need that the user search manually all not needed 32bit packages unwanted.
This is better than use slackpkg install multilib and deselect all unwanted 32bit packages.

Quote:

Keep in mind that you have no guarantee that all the 32-bit softwares that user could install will not require one of the compat32 packages which have not be installed because its 64-bit counterpart is not installed.
Tipically a compat32 library NEED the 64bit conterpart becouse the compat32 packages install only the usr/lib/ files and few other.
the qt original package contains many file in /usr/share and /etc not presents in qt-compat32.
I dont tried, but I doubt that the qt-compat32 work fine without that files.

Who really want to use 32bit qt without 64bit qt simply run slackpkg install qt-compat32 manually.

kikinovak 11-12-2013 10:16 AM

Hi,

I have a little problem with slackpkg+, so I guess I'd post it here.

When I do 'slackpkg update' with a third-party repo configured, slackpkg keeps complaining about a missing MANIFEST.bz2 and concludes with:

Code:

PACKAGES.TXT: download error
The thing is, the distant repo does have these two files. See here for example:

http://www.microlinux.fr/slackware/server-14.0-32bit/

Despite the error message, downloading and installing packages using slackpkg works fine.

Another thing: zerouno, I'm currently reorganizing all my software repositories. I prefer doing this now, and then keep them that way for the coming years. The structure wasn't very flexible.

zerouno 11-12-2013 10:26 AM

Post slackpkgplus.conf and the entire output of slackpkg update (I've a 64bit system so I can't test).

kikinovak 11-12-2013 11:18 AM

Quote:

Originally Posted by zerouno (Post 5063203)
Post slackpkgplus.conf and the entire output of slackpkg update (I've a 64bit system so I can't test).

Before I do that, you can give the 64bit repo a spin and see if it's OK on your side:

http://www.microlinux.fr/slackware/server-14.0-64bit/

phenixia2003 11-12-2013 01:52 PM

Hello,

Quote:

Originally Posted by zerouno (Post 5063181)
this is true. It's also true that run 'slackpkg install multilib' then search manually for new packages and deselect all unwanted 32bit libraries AND all 32bit packages not installed becouse isn't installed the relative 64bit package EACH time isn't really practice.

The new 'slackpkg install-new' should install only the 32bit libraries related to the installed 64bit installed packages so I only need to deselect unwanted 32bit libraries.

If you want only the 32-bit packages related to the installed 64-bit packages, you can simply blacklist all the 32-bit packages you don't want, and this can be automated at runtime with the "internal blacklist". sample code (not fully tested) :

(somewhere in slackpkgplus.conf)
Code:

  ADAPTATIVE_MULTILIB=true

(slackpkgplus.sh, inside 'if [ "$CMD" =="install" ] ...' )
Code:

  if $ADAPTATIVE_MULTILIB ; then
    grep "^SLACKPKGPLUS_multilib .*-compat32[ ]" ${WORKDIR}/pkglist | cut -f2 -d" " | sort > ${TMPDIR}/packages.32bit
    ls -1 /var/log/packages | rev | cut -f4- -d- | rev | grep -v "[-]compat32$" | sort > ${TMPDIR}/packages.64bit
    cat ${TMPDIR}/packages.32bit | rev | cut -f2- -d- | rev | sort > ${TMPDIR}/packages.64bit.filter
    comm -1 -2 ${TMPDIR}/packages.64bit ${TMPDIR}/packages.64bit.filter | sed "s/.*/&-compat32/g" | sort > ${TMPDIR}/packages.32bit.filter
    comm -3 ${TMPDIR}/packages.32bit ${TMPDIR}/packages.32bit.filter > ${TMPDIR}/blacklist.slackpkgplus
  fi


Quote:

Originally Posted by zerouno (Post 5063181)
A feature that I want to add from a lot of time ago was the ability to construct a custom changelog for thirdy party repository as follow:
on every slackpkg update, for each repository:
- the downloaded CHECKSUMS.md5 is not removed but stored in /var/lib/slackpkg
- the new CHECKSUMS.md5 is comparated with the old
- the diff is stored in the changelog reformatted with Added,Upgraded,Rebuilt,Removed tags
- the downloaded CHECKSUMS.md5 override the older.
so the user will have a changelog for all repositories.

That changelog may be used from install-new for the multilib repository.

This would be useful.

I wrote this to ensure slackpkg install-new to only install the new packages. That seems to work, but this really needs to be tested, and surely to be reviewed.

Code:

  echo "${PKGS_PRIORITY}" | grep -q "multilib:[.][*]" && MULTILIB_ENABLED=true || MULTILIB_ENABLED=false

  if [ "$CMD" == "update" ] ; then
        if $MULTILIB_ENABLED ; then
                if [ ! -e ${WORKDIR}/compat32-list.previous ] && [ -e ${WORKDIR}/pkglist ] ; then
                        grep "^SLACKPKGPLUS_multilib .*-compat32[ ]" ${WORKDIR}/pkglist | cut -f2 -d" " | sort > ${WORKDIR}/compat32-list.previous
                fi
        else
                rm -f ${WORKDIR}/compat32-list.*
        fi 
  fi
 
  if [ "$CMD" == "install-new" ] && $MULTILIB_ENABLED ; then
 
        if [ -e ${WORKDIR}/compat32-list.previous ] ; then
                grep "^SLACKPKGPLUS_multilib .*-compat32[ ]" ${WORKDIR}/pkglist | cut -f2 -d" " | sort > ${WORKDIR}/compat32-list.latest
               
                ls -1 /var/log/packages/*compat32 | rev | cut -f1 -d/ | cut -f4- -d- | rev | sort > ${WORKDIR}/compat32-list.installed
               
                comm -1 -3 ${WORKDIR}/compat32-list.previous ${WORKDIR}/compat32-list.latest | sort > ${WORKDIR}/compat32-list.new
               
                comm -1 -3 ${WORKDIR}/compat32-list.installed ${WORKDIR}/compat32-list.new |sort > ${WORKDIR}/compat32-list.new.2
               
                mv ${WORKDIR}/compat32-list.new.2 ${WORKDIR}/compat32-list.new
                               
                rm ${WORKDIR}/compat32-list.previous ${WORKDIR}/compat32-list.latest ${WORKDIR}/compat32-list.installed
        fi
 
 
        if [ -s ${WORKDIR}/compat32-list.new ] ; then
                echo "(DEBUG) including new mutlilib packages : $(cat ${WORKDIR}/compat32-list.new | tr "\n" " ") "

                LIST=""
                for PKG in $(< ${WORKDIR}/compat32-list.new) ; do
                        LIST="$LIST $(grep " ${PKG} " $WORKDIR/pkglist | cut -f6,8 -d" " --output-delimiter=".")"
                done
        fi
  fi

Quote:

Originally Posted by zerouno (Post 5063181)
Tipically a compat32 library NEED the 64bit conterpart becouse the compat32 packages install only the usr/lib/ files and few other.
the qt original package contains many file in /usr/share and /etc not presents in qt-compat32.
I dont tried, but I doubt that the qt-compat32 work fine without that files.

I tried. I removed 64-bit "qt" and google-earth works. It spits some error but I'm not sure whether it's because 64-bit qt is not installed :
Code:

$ google-earth
[1112/185237:ERROR:net_util.cc(2195)] Not implemented reached in bool net::HaveOnlyLoopbackAddresses()
[1112/185238:ERROR:nss_ocsp.cc(581)] No URLRequestContext for OCSP handler.
[1112/185238:ERROR:nss_ocsp.cc(581)] No URLRequestContext for OCSP handler.
...

--
SeB

zerouno 11-12-2013 02:36 PM

sorry. I wrote a wrong post.
Tomorrow I will test the code


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