LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   [ANN] mk-slack64-multilib : A tool to create slackware64+multilib tree/iso (http://www.linuxquestions.org/questions/slackware-14/%5Bann%5D-mk-slack64-multilib-a-tool-to-create-slackware64-multilib-tree-iso-4175442126/)

phenixia2003 12-19-2012 06:16 AM

[ANN] mk-slack64-multilib : A tool to create slackware64+multilib tree/iso
 
For my own use, I recently wrote a script which, I guess, could be useful for other. So, I published it at sourceforge (wow, I really don't like their new interface :o)

This script, which I called mk-slack64-multilib, creates from a Slackware64 tree and a multilib mirror a Slackware64+multilib tree, and optionnaly, a Slackware64+multilib ISO image.

For instance, if you have a Slackware64-14.0 ISO image, then you can create a Slackware64-14.0 + multilib ISO image as shown below :

1) mount the Slackware64-14.0 ISO image :

Code:

  $ mount /path/to/slackware64-14.0-install-dvd.iso /mnt/slackiso
2) Creates the Slackware64+multilib ISO image using mk-slack64-multilib :

Code:

  $ mk-slack64-multilib --input /mnt/slackiso --mirror http://taper.alienbase.nl/mirrors /people/alien/multilib --build-iso

Started on Wed 19 Dec 2012 11:45:07 AM CET

Pure Slackware64-14.0 tree found in /mnt/slackiso/
Slackware64-14.0+multilib tree will be stored in /home/seb/mk-slack64-multilib/slackware64-multilib
Using ftp/http multilib-mirror http://taper.alienbase.nl/mirrors/people/alien/multilib

Downloads the multilib for Slackware64-14.0. Please wait ...
------------------------------------------------------------------------
cd: received redirection to `http://taper.alienbase.nl/mirrors/people/alien/multilib/'
------------------------------------------------------------------------               
The multilib for Slackware64-14.0 has been downloaded.

Prepares Slackware64+multilib tree (copying files from pure Slackware64 tree). Please wait ...
  + 4143 files copied from /mnt/slackiso/ into /home/seb/mk-slack64-multilib/slackware64-multilib.

  + Removes excluded files from Slackware64+multilib tree...
      * File ./CHECKSUMS.md5.asc has been removed.
      * File ./slackware64/CHECKSUMS.md5.asc has been removed.


  + Integration of the multilib packages ...

    [ Multilib package                ] [ Note                                ] [ Integrated in... ]
      compat32-tools                      multilib tools                          Serie ap       
      gcc                                  Supersedes original gcc                  Serie d       
      gcc-g++                              Supersedes original gcc-g++              Serie d       
      gcc-gfortran                        Supersedes original gcc-gfortran        Serie d       
      gcc-gnat                            Supersedes original gcc-gnat            Serie d       
      gcc-go                              Supersedes original gcc-go              Serie d       
      gcc-java                            Supersedes original gcc-java            Serie d       
      gcc-objc                            Supersedes original gcc-objc            Serie d       
      glibc                                Supersedes original glibc                Serie l       
      glibc-i18n                          Supersedes original glibc-i18n          Serie l       
      glibc-profile                        Supersedes original glibc-profile        Serie l       
      glibc-solibs                        Supersedes original glibc-solibs        Serie a       
      glibc-zoneinfo                      Supersedes original glibc-zoneinfo      Serie a       
      aaa_elflibs-compat32                32-bit libraries                        Serie l       
      bzip2-compat32                      32-bit libraries                        Serie l       
      cups-compat32                        32-bit libraries                        Serie l       
      cxxlibs-compat32                    32-bit libraries                        Serie l       
      dbus-compat32                        32-bit libraries                        Serie l       
      e2fsprogs-compat32                  32-bit libraries                        Serie l       
      openssl-solibs-compat32              32-bit libraries                        Serie l       
      util-linux-compat32                  32-bit libraries                        Serie l       
      flac-compat32                        32-bit libraries                        Serie l       
      mpg123-compat32                      32-bit libraries                        Serie l       
      mysql-compat32                      32-bit libraries                        Serie l       
      sqlite-compat32                      32-bit libraries                        Serie l       
      libtool-compat32                    32-bit libraries                        Serie l       
      alsa-lib-compat32                    32-bit libraries                        Serie l       
      alsa-oss-compat32                    32-bit libraries                        Serie l       
      atk-compat32                        32-bit libraries                        Serie l       
      audiofile-compat32                  32-bit libraries                        Serie l       
      cairo-compat32                      32-bit libraries                        Serie l       
      dbus-glib-compat32                  32-bit libraries                        Serie l       
      esound-compat32                      32-bit libraries                        Serie l       
      expat-compat32                      32-bit libraries                        Serie l       
      freetype-compat32                    32-bit libraries                        Serie l       
      gamin-compat32                      32-bit libraries                        Serie l       
      gdk-pixbuf2-compat32                32-bit libraries                        Serie l       
      glib2-compat32                      32-bit libraries                        Serie l       
      gst-plugins-base-compat32            32-bit libraries                        Serie l       
      gst-plugins-good-compat32            32-bit libraries                        Serie l       
      gstreamer-compat32                  32-bit libraries                        Serie l       
      gtk+2-compat32                      32-bit libraries                        Serie l       
      jasper-compat32                      32-bit libraries                        Serie l       
      lcms-compat32                        32-bit libraries                        Serie l       
      lesstif-compat32                    32-bit libraries                        Serie l       
      libart_lgpl-compat32                32-bit libraries                        Serie l       
      libelf-compat32                      32-bit libraries                        Serie l       
      libexif-compat32                    32-bit libraries                        Serie l       
      libffi-compat32                      32-bit libraries                        Serie l       
      libglade-compat32                    32-bit libraries                        Serie l       
      libgphoto2-compat32                  32-bit libraries                        Serie l       
      libidn-compat32                      32-bit libraries                        Serie l       
      libieee1284-compat32                32-bit libraries                        Serie l       
      libjpeg-compat32                    32-bit libraries                        Serie l       
      libmng-compat32                      32-bit libraries                        Serie l       
      libmpc-compat32                      32-bit libraries                        Serie l       
      libogg-compat32                      32-bit libraries                        Serie l       
      libpcap-compat32                    32-bit libraries                        Serie l       
      libpng-compat32                      32-bit libraries                        Serie l       
      libsamplerate-compat32              32-bit libraries                        Serie l       
      libsndfile-compat32                  32-bit libraries                        Serie l       
      libtermcap-compat32                  32-bit libraries                        Serie l       
      libtiff-compat32                    32-bit libraries                        Serie l       
      libusb-compat32                      32-bit libraries                        Serie l       
      libvorbis-compat32                  32-bit libraries                        Serie l       
      libxml2-compat32                    32-bit libraries                        Serie l       
      libxslt-compat32                    32-bit libraries                        Serie l       
      ncurses-compat32                    32-bit libraries                        Serie l       
      pango-compat32                      32-bit libraries                        Serie l       
      popt-compat32                        32-bit libraries                        Serie l       
      qt-compat32                          32-bit libraries                        Serie l       
      readline-compat32                    32-bit libraries                        Serie l       
      sdl-compat32                        32-bit libraries                        Serie l       
      seamonkey-solibs-compat32            32-bit libraries                        Serie l       
      startup-notification-compat32        32-bit libraries                        Serie l       
      svgalib-compat32                    32-bit libraries                        Serie l       
      v4l-utils-compat32                  32-bit libraries                        Serie l       
      zlib-compat32                        32-bit libraries                        Serie l       
      curl-compat32                        32-bit libraries                        Serie l       
      cyrus-sasl-compat32                  32-bit libraries                        Serie l       
      gnutls-compat32                      32-bit libraries                        Serie l       
      libgcrypt-compat32                  32-bit libraries                        Serie l       
      libgpg-error-compat32                32-bit libraries                        Serie l       
      openldap-client-compat32            32-bit libraries                        Serie l       
      openssl-compat32                    32-bit libraries                        Serie l       
      fontconfig-compat32                  32-bit libraries                        Serie l       
      glew-compat32                        32-bit libraries                        Serie l       
      libFS-compat32                      32-bit libraries                        Serie l       
      libICE-compat32                      32-bit libraries                        Serie l       
      libSM-compat32                      32-bit libraries                        Serie l       
      libX11-compat32                      32-bit libraries                        Serie l       
      libXScrnSaver-compat32              32-bit libraries                        Serie l       
      libXau-compat32                      32-bit libraries                        Serie l       
      libXaw-compat32                      32-bit libraries                        Serie l       
      libXcomposite-compat32              32-bit libraries                        Serie l       
      libXcursor-compat32                  32-bit libraries                        Serie l       
      libXdamage-compat32                  32-bit libraries                        Serie l       
      libXdmcp-compat32                    32-bit libraries                        Serie l       
      libXevie-compat32                    32-bit libraries                        Serie l       
      libXext-compat32                    32-bit libraries                        Serie l       
      libXfixes-compat32                  32-bit libraries                        Serie l       
      libXfont-compat32                    32-bit libraries                        Serie l       
      libXfontcache-compat32              32-bit libraries                        Serie l       
      libXft-compat32                      32-bit libraries                        Serie l       
      libXi-compat32                      32-bit libraries                        Serie l       
      libXinerama-compat32                32-bit libraries                        Serie l       
      libXmu-compat32                      32-bit libraries                        Serie l       
      libXp-compat32                      32-bit libraries                        Serie l       
      libXpm-compat32                      32-bit libraries                        Serie l       
      libXrandr-compat32                  32-bit libraries                        Serie l       
      libXrender-compat32                  32-bit libraries                        Serie l       
      libXres-compat32                    32-bit libraries                        Serie l       
      libXt-compat32                      32-bit libraries                        Serie l       
      libXtst-compat32                    32-bit libraries                        Serie l       
      libXv-compat32                      32-bit libraries                        Serie l       
      libXvMC-compat32                    32-bit libraries                        Serie l       
      libXxf86dga-compat32                32-bit libraries                        Serie l       
      libXxf86misc-compat32                32-bit libraries                        Serie l       
      libXxf86vm-compat32                  32-bit libraries                        Serie l       
      libdmx-compat32                      32-bit libraries                        Serie l       
      libdrm-compat32                      32-bit libraries                        Serie l       
      libfontenc-compat32                  32-bit libraries                        Serie l       
      libpciaccess-compat32                32-bit libraries                        Serie l       
      libxcb-compat32                      32-bit libraries                        Serie l       
      mesa-compat32                        32-bit libraries                        Serie l       
      pixman-compat32                      32-bit libraries                        Serie l       
      xcb-util-compat32                    32-bit libraries                        Serie l       
      sane-compat32                        32-bit libraries                        Serie l       

  + Adding 3rd party tools compat32pkg and multilibpkg ...
------------------------------------------------------------------------
2012-12-19 11:53:54 URL:http://freefr.dl.sourceforge.net/project/compat32pkg/1.5.120822/compat32pkg-1.5.120822-noarch-6_SeB.tgz [139790/139790] -> "/home/seb/mk-slack64-multilib/slackware64-multilib/slackware64/ap/compat32pkg-1.5.120822-noarch-6_SeB.tgz" [1]
2012-12-19 11:53:56 URL:http://freefr.dl.sourceforge.net/project/multilibpkg/1.2.120824/multilibpkg-1.2.120824-noarch-1_SeB.tgz [68559/68559] -> "/home/seb/mk-slack64-multilib/slackware64-multilib/slackware64/ap/multilibpkg-1.2.120824-noarch-1_SeB.tgz" [1]
------------------------------------------------------------------------
    * 3rd party compat32pkg tools successfully added.
    * 3rd party multilibpkg tools successfully added.

  + Adding file README.multilib ...

  + Rebuild maketag and maketag.ez for SERIES AP D L A
    * Serie AP : maketag and maketag.ez rebuilt.
    * Serie D : maketag and maketag.ez rebuilt.
    * Serie L : maketag and maketag.ez rebuilt.
    * Serie A : maketag and maketag.ez rebuilt.

  + Updating /home/seb/mk-slack64-multilib/slackware64-multilib/slackware64/CHECKSUMS.md5. Please wait ...

  + Updating /home/seb/mk-slack64-multilib/slackware64-multilib/CHECKSUMS.md5. Please wait ...

The Slackware64-14.0/multilib tree is now ready !

Creates an ISO image from the Slackware64+multilib tree in /home/seb/mk-slack64-multilib/slackware64-multilib ...
------------------------------------------------------------------------
Warning: creating filesystem that does not conform to ISO-9660.
Setting input-charset to 'ISO-8859-1' from locale.
re-directing all messages to /home/seb/mk-slack64-multilib/mkisofs.log
------------------------------------------------------------------------
  + ISO image unofficial-slackware64-14.0_multilib-install-dvd.iso is now ready !

Ended on Wed 19 Dec 2012 11:54:33 AM CET

That's all.

mk-slack64-multilib is available here , and you can get it using this direct link.

Greetings.

--
SeB

phenixia2003 12-27-2012 08:53 AM

Hello,

mk-slack64-multilib has been updated to version 0.9.121227. It includes a new environment variable ADD_3RDPARTYTOOLS which allows to control integration of the 3rd party tools compat32pkg and multilibpkg. This variable can be set to "yes" (the default) or "no". When set to "yes" these tools are automatically integrated into the serie "ap" of Slackware64+multilib tree. Users who don't want these tools to be integrated must run mk-slack64-multilib as below :

Code:

$ ADD_3RDPARTYTOOLS=no mk-slack64-multilib --input /mnt/slackiso/ --mirror ~/mk-slack64-multilib/multilib-data/ --build-iso

mk-slack64-multilib ver. 0.9.121227

Started on Thu 27 Dec 2012 02:06:56 PM CET

Pure Slackware64-14.0 tree found in /mnt/slackiso/
Slackware64-14.0+multilib tree will be stored in /home/seb/mk-slack64-multilib/slackware64-multilib
Using local multilib-mirror /home/seb/mk-slack64-multilib/multilib-data/
3rd party tools multilibpkg/compat32pkg *will not be* integrated

...

The latest mk-slack64-multilib is available here, and you can download it using this direct link.

Greetings.

--
SeB

mattallmill 12-27-2012 10:41 AM

Thank you for the script. I promptly downloaded it. I probably will be using it sometime in the near future. In fact, I'm sure I will be. Thanks again.

tronayne 12-27-2012 11:15 AM

OK, so I'm being a little dumb here but I have to ask: I have Slackware 14.0 (64-bit) where the distribution is a two-sided DVD (I also have a couple of headless 32-bit servers). Suppose I want to use or install or whatever multilib on one of the 64-bit boxes; is that possible (by which I mean dirt easy) to do using the 32-bit ISO or the 32-bit packages (and the SlackBuild)?

You know, basically I don't want to do a hundreds of gigabytes of downloading if I don't have to (satellite service is fast, but it ain't that fast).

Just askin', thanks.

phenixia2003 12-28-2012 04:36 AM

Hello,

Quote:

Originally Posted by tronayne (Post 4857764)
Suppose I want to use or install or whatever multilib on one of the 64-bit boxes; is that possible (by which I mean dirt easy) to do using the 32-bit ISO or the 32-bit packages (and the SlackBuild)?

Yes, but you must, at least, download the multilib version of gcc/glibc and the package compat32-tools from Eric.

The easier way for you is, I guess, to use the tools multilibpkg (download) and compat32pkg (download).

multilibpkg will automate installation of the multilib version of gcc/glibc and of the package compat32-tools from Eric. compat32pkg will automate the generation and installation of the compat32-packages, using your 32-bit ISO/dvd as source.

Once you have installed multilibpkg and compat32pkg, you will proceed as below.

(1) run (as root) multilibpkg to install the multilib version of gcc/glibc and the package compat32-tools :
Code:

$ multilibpkg --mirror @alienbase.nl-14.0 --install         

multilibpkg ver. 1.2.120824 (stable)
(INFO) No default multilib-mirror was defined in configuration's script /etc/multilibpkg/multilibpkg.conf
(WARNING) You're using multilibpkg in mode --install, while the system is not                         
(WARNING) in run level 1: current runlevel is (3).

Do you want to continue (Y/N) ? Y

[--install] Started on Fri 28 Dec 2012 09:50:56 AM CET
[--install]  Using multilib-mirror http://taper.alienbase.nl/mirrors/people/alien/multilib/14.0
[--install]  Local system is Slackware/x86_64 version 14.0
[--install]  Mirrored multilib dedicated to Slackware/x86_64 version 14.0
[--install]  Downloaded packages will be stored into /var/cache/multilibpkg
                                                       
[--install]  13 package(s) were found (0,091 sec.)

[--install]  Downloading 64-bit multilib packages...
                           
[--install]    [ package                                                      ] [ download  ] [ signature  ]
[--install]      glibc-solibs-2.15_multilib-x86_64-7alien.txz                    OK            OK         
[--install]      glibc-2.15_multilib-x86_64-7alien.txz                            OK            OK         
[--install]      glibc-i18n-2.15_multilib-x86_64-7alien.txz                      OK            OK         
[--install]      glibc-profile-2.15_multilib-x86_64-7alien.txz                    OK            OK         
[--install]      glibc-zoneinfo-2012f_2012f_multilib-noarch-7alien.txz            OK            OK         
[--install]      gcc-4.7.1_multilib-x86_64-1alien.txz                            OK            OK         
[--install]      gcc-g++-4.7.1_multilib-x86_64-1alien.txz                        OK            OK         
[--install]      gcc-gfortran-4.7.1_multilib-x86_64-1alien.txz                    OK            OK         
[--install]      gcc-gnat-4.7.1_multilib-x86_64-1alien.txz                        OK            OK         
[--install]      gcc-go-4.7.1_multilib-x86_64-1alien.txz                          OK            OK         
[--install]      gcc-java-4.7.1_multilib-x86_64-1alien.txz                        OK            OK         
[--install]      gcc-objc-4.7.1_multilib-x86_64-1alien.txz                        OK            OK         
[--install]      compat32-tools-3.0-noarch-2alien.tgz                            OK            OK         

[--install]  Installing 64-bit multilib packages ...

[--install]    [ package                                              ] [ install  ] [ note                            ]
[--install]      glibc-solibs ver 2.15_multilib-7alien                    OK          supersedes ver. 2.15-7
[--install]      glibc ver 2.15_multilib-7alien                          OK          supersedes ver. 2.15-7
[--install]      glibc-i18n ver 2.15_multilib-7alien                      OK          supersedes ver. 2.15-7
[--install]      glibc-profile ver 2.15_multilib-7alien                  OK          supersedes ver. 2.15-7
[--install]      glibc-zoneinfo ver 2012f_2012f_multilib-7alien          OK          supersedes ver. 2012f_2012f-7
[--install]      gcc ver 4.7.1_multilib-1alien                            OK          supersedes ver. 4.7.1-1
[--install]      gcc-g++ ver 4.7.1_multilib-1alien                        OK          supersedes ver. 4.7.1-1
[--install]      gcc-gfortran ver 4.7.1_multilib-1alien                  OK          supersedes ver. 4.7.1-1
[--install]      gcc-gnat ver 4.7.1_multilib-1alien                      OK          supersedes ver. 4.7.1-1
[--install]      gcc-go ver 4.7.1_multilib-1alien                        OK          supersedes ver. 4.7.1-1
[--install]      gcc-java ver 4.7.1_multilib-1alien                      OK          supersedes ver. 4.7.1-1
[--install]      gcc-objc ver 4.7.1_multilib-1alien                      OK          supersedes ver. 4.7.1-1
[--install]      compat32-tools ver 3.0-2alien                            OK          added package

[--install] Ended on Fri 28 Dec 2012 09:56:23 AM CET

(2) mount your Slackware 32-bit ISO/dvd (/media/dvd for instance)

(3) run (as root) compat32pkg to generate and install the compat32-packages using your 32-bit ISO/dvd as source, like this:
Code:

$ compat32pkg --mirror /media/dvd --install layer-32

compat32pkg ver. 1.5.120822 (stable)

(INFO) No default mirror was defined in configuration's script /etc/compat32pkg/compat32pkg.conf
[--install] Started on Fri 28 Dec 2012 10:15:04 AM CET     
[--install]  Using mirror /media/dvd
[--install]  Local system is Slackware/x86_64 version 14.0
[--install]  Mirrored system is Slackware/i486 version 14.0
[--install]  Slackware-32 packages will be stored into /var/cache/compat32pkg/slackware-32
[--install]  compat32 packages will be stored into /var/cache/compat32pkg/compat-32
[--install]  Configuration file for "layer-32" : /etc/compat32pkg/multilib-32bit-packages.lst version 1.5.121120
[--install]  Trusted external commands : installpkg,upgradepkg,c32pkg-notify-send
                                                                   
[--install]  117 package(s) were found (0,157 sec.)
---------------------------------------------------------------------------------
 No. ! Packages                                          ! Status             
-----+----------------------------------------------------+----------------------
  1 ! aaa_elflibs-compat32 14.0-4                        ! installed                     
  2 ! bzip2-compat32 1.0.6-1                            ! installed                     
  3 ! cups-compat32 1.5.4-2                              ! installed                     
  4 ! cxxlibs-compat32 6.0.17-1                          ! installed                     
  5 ! dbus-compat32 1.4.20-3                            ! installed                     
  6 ! e2fsprogs-compat32 1.42.6-1                        ! installed                     
  7 ! openssl-solibs-compat32 1.0.1c-3                  ! installed                     
  8 ! util-linux-compat32 2.21.2-5                      ! installed                     
  9 ! flac-compat32 1.2.1-3                              ! installed                     
  10 ! mpg123-compat32 1.14.4-1                          ! installed                     
  11 ! mysql-compat32 5.5.27-1                            ! installed                     
  12 ! sqlite-compat32 3.7.13-1                          ! installed                     
  13 ! libtool-compat32 2.4.2-1                          ! installed                     
  14 ! alsa-lib-compat32 1.0.26-1                        ! installed                     
  15 ! alsa-oss-compat32 1.0.25-1                        ! installed                     
  16 ! atk-compat32 2.4.0-1                              ! installed                     
  17 ! audiofile-compat32 0.2.7-1                        ! installed                     
  18 ! cairo-compat32 1.10.2-2                            ! installed                     
  19 ! dbus-glib-compat32 0.98-1                          ! installed                     
  20 ! esound-compat32 0.2.41-1                          ! installed                     
01:11|P=117|D:117  (done)          |C:25    glib2.      (0K)|I:20  expat-co

That's all. Your Slackware64 should be multilib. To check this, you can, for instance, run /usr/bin/32/glxgears

If you use slackpkg to keep your system up to date, do not forget to blacklist the multilib version of gcc/glibc, otherwise they will be replaced by the pure 64-bit version on the next update. The easier is to add the single line below into /etc/slackpkg/blacklist :
Code:

[0-9]+alien
Hope this help.

Greetings.

--
SeB

tronayne 12-28-2012 06:42 AM

That makes it clear -- think I'll give it a shot (might be nice to have GoogleEarth around again, eh?).

Thank you and have a happy new year.


All times are GMT -5. The time now is 05:18 AM.