LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   [ANN] compat32pkg-1.3.110319 is out ! (http://www.linuxquestions.org/questions/slackware-14/%5Bann%5D-compat32pkg-1-3-110319-is-out-869831/)

phenixia2003 03-20-2011 02:54 PM

[ANN] compat32pkg-1.3.110319 is out !
 
Hello Slackers,

I come today with a new version of compat32pkg, which corrects the design flaw pointed out by tobyl here, includes a new feature,
and, the latest revision of the configuration file for the "layer-32", which comes with the latest changes made by Eric Hameleers
to the "32-bit part of the multilib".

You can grab this new revision at compat32pkg's website or using this direct link.

________________________________________

So, compat32pkg had a design flaw ?

Yes, that's right !

In fact, the update mechanism was designed to search updates for installed packages only, which, in the case of the "layer-32", was
an error. This was corrected in this new revision, and, now, the update mechanism for the "layer-32", recognizes as an update :
(1) any new version of any installed package of the "32-bit part of the multilib", and, (2) any package of the "32-bit part of the multilib"
which is not installed, nor blacklisted, nor excluded. This implies that any addition (of package) into the configuration file for the "layer-32"
is handled as an update.

So, if we try this new compat32pkg, in mode --list-updates for example, on a slackware whose the "layer-32" is not fully installed, it will report
the found updates which includes a certain amount of new packages, like below:

Code:

$ compat32pkg --mirror @WorldWide-13.1 --list-updates layer-32

compat32pkg ver. 1.3.110319 (stable)

(INFO) No default mirror was defined in configuration's script /etc/compat32pkg/compat32pkg.conf
[--list-updates] Started on Sun Mar 20 12:24:05 2011                                             
[--list-updates]  Using mirror ftp://mirrors.kernel.org/slackware/slackware-13.1
[--list-updates]  Local system is Slackware/x86_64 version 13.1.0
[--list-updates]  Mirrored system is Slackware/i486 version 13.1
[--list-updates]  Slackware-32 packages will be stored into /var/cache/compat32pkg/slackware-32
[--list-updates]  compat32 packages will be stored into /var/cache/compat32pkg/compat-32
[--list-updates]  Configuration file for "layer-32" : /etc/compat32pkg/multilib-32bit-packages.lst version 1.3.110319
                                                                                   
[--list-updates]  13 update(s) were found [ 6 package(s) to upgrade, 7 package(s) to add ] (1,674 sec.)

[ package-basename                ] [ installed version                ]    [ update version                  ]
  aaa_elflibs                          ** NOT INSTALLED **                -->  13.1 build 1                   
  bzip2                                1.0.5 build 1                      -->  1.0.6 build 1_slack13.1       
  cups                                1.4.4 build 1_slack13.1            -->  1.4.5 build 2_slack13.1       
  expat                                2.0.1 build 1                      -->  2.0.1 build 2_slack13.1       
  openssl                              0.9.8n build 1                    -->  0.9.8r build 1_slack13.1       
  openssl-solibs                      0.9.8n build 1                    -->  0.9.8r build 1_slack13.1       
  seamonkey-solibs                    2.0.6 build 1_slack13.1            -->  2.0.12 build 1_slack13.1       
  gst-plugins-base                    ** NOT INSTALLED **                -->  0.10.29 build 1               
  gst-plugins-good                    ** NOT INSTALLED **                -->  0.10.22 build 1               
  gstreamer                            ** NOT INSTALLED **                -->  0.10.29 build 1               
  libieee1284                          ** NOT INSTALLED **                -->  0.2.11 build 2                 
  libusb                              ** NOT INSTALLED **                -->  1.0.6 build 1                 
  sane                                ** NOT INSTALLED **                -->  1.0.21 build 1                 

[--list-updates] Ended on Sun Mar 20 12:24:09 2011

This new version of compat32pkg comes also with the new feature --layer 32-config, which allows, when needed, updating of configuration file for the "layer-32"
to the latest revision available on an updates-site dedicated to compat32pkg.

This was designed so that users can take advantage of any changes made to the "layer-32" as quickly and as easily as possible.

For example, to test whether the installed configuration file for the "layer-32" is up to date, compat32pkg will have to be used this way :

Code:


$ compat32pkg --layer-32-config check-update

$ compat32pkg --layer-32-config check-update http://3rd-party.compat32pkg.updates-sites.url

Here is an example of the output of this feature when an update is available :

Code:


$ compat32pkg --layer-32-config check-update

compat32pkg ver. 1.3.110319 (stable)

(INFO) No default mirror was defined in configuration's script /etc/compat32pkg/compat32pkg.conf
[--layer-32-config] Started on Sun 20 Mar 2011 08:33:27 PM CET
[--layer-32-config]  Working in mode check-update
[--layer-32-config]  Local configuration file for "layer-32" is multilib-32bit-packages.lst version 1.3.110317

[--layer-32-config]  Using updates-site http://sourceforge.net/projects/compat32pkg/files/updates-site
[--layer-32-config]    -> Available configuration file for "layer-32" is multilib-32bit-packages.lst version 1.3.110319 

[--layer-32-config]  An update is available.

[--layer-32-config] -------------------------------------------------------------------
[--layer-32-config] !                Changes since revision 1.2.110112                !
[--layer-32-config] !-------------------------------------------------------------------!
[--layer-32-config] !    Package          ! Note      !      affected multilib        !
[--layer-32-config] !                    !            !  13.0  !  13.1  ! -current !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! a/util-linux        ! added (1)  !          !          !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/libmpc            ! added      !          !          !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/libpcap          ! added      !          !          !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/libsndfile        ! added      !          !          !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/libieee1284      ! added      !    X    !    X    !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/libusb            ! added      !    X    !    X    !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/gstreamer        ! added      !    X    !    X    !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/gst-plugins-base  ! added      !    X    !    X    !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/gst-plugins-good  ! added      !          !    X    !    X    !
[--layer-32-config] -------------------------------------------------------------------
[--layer-32-config] (1) util-linux-ng was renamed util-linux. However as this package
[--layer-32-config] is not available for 13.0 and 13.1, util-linux-ng remains into
[--layer-32-config] the file that describes the "layer-32" for compatibility reason.

[--layer-32-config] Ended on Sun 20 Mar 2011 08:33:35 PM CET


When an update is available, compat32pkg will have to be used as below to upgrade the installed configuration file for "layer-32" to the latest revision :

Code:


$ compat32pkg --layer-32-config update

$ compat32pkg --layer-32-config update http://3rd-party.compat32pkg.updates-sites.url

Here is an example of updating the configuration file for "layer-32" :

Code:

$ compat32pkg --layer-32-config update

compat32pkg ver. 1.3.110319 (stable)

(INFO) No default mirror was defined in configuration's script /etc/compat32pkg/compat32pkg.conf
[--layer-32-config] Started on Sun 20 Mar 2011 08:34:45 PM CET
[--layer-32-config]  Working in mode update
[--layer-32-config]  Local configuration file for "layer-32" is multilib-32bit-packages.lst version 1.3.110317

[--layer-32-config]  Using updates-site http://sourceforge.net/projects/compat32pkg/files/updates-site
[--layer-32-config]    -> Available configuration file for "layer-32" is multilib-32bit-packages.lst version 1.3.110319 

[--layer-32-config]  An update is available.

[--layer-32-config] -------------------------------------------------------------------
[--layer-32-config] !                Changes since revision 1.2.110112                !
[--layer-32-config] !-------------------------------------------------------------------!
[--layer-32-config] !    Package          ! Note      !      affected multilib        !
[--layer-32-config] !                    !            !  13.0  !  13.1  ! -current !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! a/util-linux        ! added (1)  !          !          !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/libmpc            ! added      !          !          !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/libpcap          ! added      !          !          !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/libsndfile        ! added      !          !          !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/libieee1284      ! added      !    X    !    X    !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/libusb            ! added      !    X    !    X    !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/gstreamer        ! added      !    X    !    X    !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/gst-plugins-base  ! added      !    X    !    X    !    X    !
[--layer-32-config] !---------------------+------------+----------+----------+----------!
[--layer-32-config] ! l/gst-plugins-good  ! added      !          !    X    !    X    !
[--layer-32-config] -------------------------------------------------------------------
[--layer-32-config] (1) util-linux-ng was renamed util-linux. However as this package
[--layer-32-config] is not available for 13.0 and 13.1, util-linux-ng remains into
[--layer-32-config] the file that describes the "layer-32" for compatibility reason.
                                                                                                                   
[--layer-32-config]  Backing up of previous version into /etc/compat32pkg/multilib-32bit-packages.lst.bak_20110320
[--layer-32-config]  Configuration file for "layer-32" updated to revision 1.3.110319

[--layer-32-config] Ended on Sun 20 Mar 2011 08:34:54 PM CET

Hoping this release will be as useful as possible ...

Cheers !

--
SeB

chrisretusn 03-21-2011 07:32 PM

Thanks!:hattip:

For those upgrading, don't forget to check those *.new config files, like I did. :doh:

tobyl 03-24-2011 03:29 PM

SeB,

Nice work!
I have not tested to destruction, but as far as I can tell, the new version works flawlessly.
I used compat32pkg to install the recent updates, and also removed a package to see if compat32pkg could inform me of the missing package, and it was successful.
I didn't prove the config update because I had already updated.

chrisretusn: when using slackpkg, you are automatically reminded of .new files, keeping current on -current has never been easier.

tobyl

chrisretusn 03-24-2011 06:36 PM

Quote:

Originally Posted by tobyl (Post 4302157)
chrisretusn: when using slackpkg, you are automatically reminded of .new files

Yes but, upgrading compat32pkg package does not involve running slackpkg. :)

Yes I know I can run "slackpkg new-config" after running "upgradepkg compat32pkg".

In my excitement to test out the new compat32pkg I simply forgot to merge the changes to the configuration files and first (listing) run of comat32pkg did not show as expected. That is the reason for the :doh: moment.

phenixia2003 03-25-2011 06:24 AM

Hello,

Quote:

Originally Posted by tobyl (Post 4302157)
Nice work!
I have not tested to destruction, but as far as I can tell, the new version works flawlessly.
I used compat32pkg to install the recent updates, and also removed a package to see if compat32pkg could inform me of the missing package, and it was successful.

:D Pleased to see that all is doing well !


Quote:

Originally Posted by tobyl (Post 4302157)
I didn't prove the config update because I had already updated.

You can (safely) test this by doing one of the following:
  • remove (or rename) /etc/compat32pkg/multilib-32bit-packages.lst
  • remove the version information (ie given in first line) into /etc/compat32pkg/multilib-32bit-packages.lst
  • change the version information into /etc/compat32pkg/multilib-32bit-packages.lst. If you set this version to an older one (ie < 1.3.110319),
    the update mechanism should tell you that an update is available, otherwise it should not.

I made the update mechanism for this file as simple as possible. On the "updates-site" there must be two files. (1) the latest revision of
multilib-32bit-packages.lst, and (2) an information file called multilib-32bit-packages.lst.infos which must contains the following data :
  1. The version number of the "new" multilib-32bit-packages.lst given into a field named "version" as below :
    Code:

            version = 1.3.110601
  2. The md5sum of the "new" multilib-32bit-packages.lst given into a field named "version" as below :
    Code:

            md5sum = 6f7d19e164201754d28a66c59913afed
  3. The description of changes since the previous revision, given into lines starting by a character ":", as below :
    Code:

              :This is the description of changes since the previous revision of the file
              :that describes the layer-32.
              :  + package X was added. This does not affect the multilib for 13.0


The default "updates-site" is at http://sourceforge.net/projects/comp...s/updates-site. The "alternate updates-site" at
http://compat32pkg.sourceforge.net/updates-site (clicking on this will give you a 403 error) can be passed in argument
of layer-32-config as below:

Code:

  $ compat32pkg --layer-32-config check-update http://compat32pkg.sourceforge.net/updates-site
____________________

Quote:

Originally Posted by chrisretusn (Post 4298599)
For those upgrading, don't forget to check those *.new config files, like I did.

Well, I wanted to add something into the "doinst.sh" to prevent that kind of problem, but, I changed my mind
at the last time because I thought I was the only one to forgot to check this. :p


Cheers !
--
SeB

chrisretusn 03-25-2011 06:55 AM

I'm willing to bet we are not alone. ;)

phenixia2003 03-27-2011 01:02 PM

Hello,

An update is available for the file that describes the layer-32. Users of 1.3.110319 can check-update/update
for this one as below :

Code:

compat32pkg --layer-32-config check-update
compat32pkg --layer-32-config update

P.S:there's a tiny bug into the code that extract informations about latest update. So you're going to see
some truncated lines into the description of changes made since the latest revision. I will publish a new
revision of compat32pkg (1.3.110319 build 4) tomorrow.


P.S: Well, the 1.3.110319 build 4 is now online.

--
SeB


All times are GMT -5. The time now is 12:57 PM.