LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Slackware64 + Multilib and glibc update for Fri Jun 30 21:14:15 UTC 2017 (https://www.linuxquestions.org/questions/slackware-14/slackware64-multilib-and-glibc-update-for-fri-jun-30-21-14-15-utc-2017-a-4175608956/)

kjhambrick 07-01-2017 06:10 AM

Slackware64 + Multilib and glibc update for Fri Jun 30 21:14:15 UTC 2017
 
All --

I am running Slackware64 14.2 + Multilib so I understand that I need to blacklist the following Packages from today's update ( Fri Jun 30 21:14:15 UTC 2017 ):
Code:

glibc-2.23-x86_64-2_slack14.2.txz
glibc-i18n-2.23-x86_64-2_slack14.2.txz
glibc-profile-2.23-x86_64-2_slack14.2.txz
glibc-solibs-2.23-x86_64-2_slack14.2.txz

Replacing them instead with:
Code:

glibc-2.23_multilib-x86_64-2alien
glibc-i18n-2.23_multilib-x86_64-2alien
glibc-profile-2.23_multilib-x86_64-2alien
glibc-solibs-2.23_multilib-x86_64-2alien

I've looked at Alien Bob's glibc-multilib.SlackBuild and it looks like it should work for me on my box with my local Slackware 14.2 mirror.

I am comfortable with 'rolling my own' ... but before I do ...

Does anyone have suggestions, hints, warnings or most importantly. OMG ! Don't Do This-or-That-or-The-Other-Thing ! for building my own glibc-*_multilib packages with Alien Bob's SlackBuild ?

Or would it be better to defer today's Slackware 14.2 update until Alien Bob has a chance to update his multilib glibc packages ?

Thank you in advance !

-- kjh

EDIT 1:

Scanning Alien Bob's SlackBuild for patches ( all of them are in function apply_patches() -- nice ! ).

There is one old patch in the Slackware14.2 32-bit source directory that is not being applied: glibc.make-3.82.diff.gz

Quote:


EDIT 2: Pat does not seem to apply the old glibc.make-3.82.diff.gz patch either. These are the patches in the official glibc.SlackBuild:

Code:

# grep '| *patch' glibc.SlackBuild |sort

  zcat $CWD/glibc-2.10-dns-no-gethostbyname4.diff.gz | patch -p0 --verbose || exit 1
  zcat $CWD/glibc-c-utf8-locale.patch.gz | patch -p1 --verbose || exit 1
  zcat $CWD/glibc.ldd.trace.through.dynamic.linker.diff.gz | patch -p1 --verbose || exit 1
  zcat $CWD/glibc.locale.no-archive.diff.gz | patch -p1 --verbose || exit 1
  zcat $CWD/glibc.revert.to.fix.build.breakages.diff.gz | patch -p1 -l --verbose || exit 1
  zcat $CWD/glibc.ru_RU.CP1251.diff.gz | patch -p1 --verbose || exit 1
  zcat $CWD/is_IS.diff.gz | patch -p1 --verbose || exit 1


Otherwise, all the glibc patches are either in the Slackware14.2 32-bit source directory or in Alien Bob's multilib source directory:

These are the Patches applied in glibc-multilib.SlackBuild

Code:

# grep '| *patch' /tmp/glibc-multilib.SlackBuild |sed -e 's/^ *//' |sort

zcat $CWD/glibc-2.10-dns-no-gethostbyname4.diff.gz | patch -p0 --verbose || exit 1
zcat $CWD/glibc-c-utf8-locale.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.ldd.trace.through.dynamic.linker.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.locale.no-archive.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.pthread-disable-forced-unwind-check.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.revert.to.fix.build.breakages.diff.gz | patch -p1 -l --verbose || exit 1
zcat $CWD/glibc.ru_RU.CP1251.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/is_IS.diff.gz | patch -p1 --verbose || exit 1

Note that glibc.pthread-disable-forced-unwind-check.diff.gz is found in Alien Bob's source directory.

Otherwise, these are the patches in the Slackware14.2 32-bit glibc source directory:

Code:

# pwd

/home/dld/slackware/slackware-14.2-32/source/l/glibc

# ls -1 *gz |grep -e diff -e patch |sort

glibc-2.10-dns-no-gethostbyname4.diff.gz
glibc-c-utf8-locale.patch.gz
glibc.ldd.trace.through.dynamic.linker.diff.gz
glibc.locale.no-archive.diff.gz
glibc.make-3.82.diff.gz
glibc.revert.to.fix.build.breakages.diff.gz
glibc.ru_RU.CP1251.diff.gz
is_IS.diff.gz

This ought to work :)

Alien Bob 07-01-2017 09:31 AM

You need to look here for the new glibc package sources: http://slackware.osuosl.org/slackwar.../source/glibc/

I will compile new glibc multilib packages for Slackware 14.2. I just uploaded the ones for -current but I have an upload speed of ~ 50 KB/sec or lower, something is the matter with my ISP. Takes all day to upload.

RadicalDreamer 07-01-2017 02:30 PM

The multilib packages for current are running good. I use slackpkg+ to update multilib:

Code:

bash-4.4# slackpkg search glibc

Looking for glibc in package list. Please wait... DONE

The list below shows all packages with name matching "glibc".

[ Status          ] [ Repository              ] [ Package                                  ]
  installed              multilib                    glibc-2.25_multilib-x86_64-3alien       
  installed              multilib                    glibc-i18n-2.25_multilib-x86_64-3alien   
  installed              multilib                    glibc-profile-2.25_multilib-x86_64-3alien 
  installed              multilib                    glibc-solibs-2.25_multilib-x86_64-3alien 
  installed              slackware64                  glibc-zoneinfo-2017b-noarch-1           
  uninstalled(masked)      slackware64                  glibc-2.25-x86_64-3                     
  uninstalled(masked)      slackware64                  glibc-i18n-2.25-x86_64-3                 
  uninstalled(masked)      slackware64                  glibc-profile-2.25-x86_64-3             
  uninstalled(masked)      slackware64                  glibc-solibs-2.25-x86_64-3

It does a good job!

kjhambrick 07-02-2017 06:35 AM

Quote:

Originally Posted by Alien Bob (Post 5729459)
You need to look here for the new glibc package sources: http://slackware.osuosl.org/slackwar.../source/glibc/

I will compile new glibc multilib packages for Slackware 14.2. I just uploaded the ones for -current but I have an upload speed of ~ 50 KB/sec or lower, something is the matter with my ISP. Takes all day to upload.

Thank you Alien Bob for tapping me on the head with a clue stick :)

I was looking at the content of slackware64/source/l/glibc. rather than in patches/source/glibc/

There __ARE__ a few new patches for glibc-2.23 BUILD 2:

Code:

# grep '| *patch' /tmp/glibc-multilib.SlackBuild-BUILD2 |sed -e 's/^ *//' |sort
zcat $CWD/glibc-2.10-dns-no-gethostbyname4.diff.gz | patch -p0 --verbose || exit 1
zcat $CWD/glibc-c-utf8-locale.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.3776f38f.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.46703a39.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.CVE-2017-1000366.3c7cd212.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.adc7e06f.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.c69d4a0f.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.ldd.trace.through.dynamic.linker.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.locale.no-archive.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.pthread-disable-forced-unwind-check.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/glibc.revert.to.fix.build.breakages.diff.gz | patch -p1 -l --verbose || exit 1
zcat $CWD/glibc.ru_RU.CP1251.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/is_IS.diff.gz | patch -p1 --verbose || exit 1

I imagine rebuilding a multilib glibc from the original Slackware64 source directory without the new patches would have resulted in the same packages I am already running ! ( :) oops :) )

I also see that your Slackware 14.2 multilib glibc packages have been updated ( from your multilib ChangeLog.txt file )

Code:

Sat Jul  1 17:15:32 UTC 2017
14.2/glibc-2.23_multilib-x86_64-2alien.txz:  Rebuilt.
  Applied upstream security hardening patches from git.
  (* Security fix *)
14.2/glibc-i18n-2.23_multilib-x86_64-2alien.txz:  Rebuilt.
14.2/glibc-profile-2.23_multilib-x86_64-2alien.txz:  Rebuilt.
14.2/glibc-solibs-2.23_multilib-x86_64-2alien.txz:  Rebuilt.

Thank you very much for your work !

I'll report back after I've done the following and a reboot:

Code:

1. upgradepkg kernel-firmware-* kernel-headers-4.4.75-x86_64-1
2. upgradepkg glibc-*-2.23_multilib-x86_64-2alien
3. installpkg kernel-*-4.4.75-x86_64-1
4. mkintrd
5. vim /etc/lilo.conf
6. lilo
7. reboot

-- kjh

kjhambrick 07-02-2017 07:22 AM

Thank You Alien Bob !

Everything worked as expected.

What I did:

Code:

1. upgradepkg kernel-firmware-20170626git-noarch-1.txz      \
              kernel-headers-4.4.75-x86-1.txz

 2. upgradepkg glibc-2.23_multilib-x86_64-2alien.txz        \
              glibc-i18n-2.23_multilib-x86_64-2alien.txz    \
              glibc-profile-2.23_multilib-x86_64-2alien.txz \
              glibc-solibs-2.23_multilib-x86_64-2alien.txz 

 3. installpkg kernel-generic-4.4.75-x86_64-1.txz            \
              kernel-huge-4.4.75-x86_64-1.txz              \
              kernel-modules-4.4.75-x86_64-1.txz            \
              kernel-source-4.4.75-noarch-1.txz

 4. mkintrd                            # prepended intel-ucode
 5. vim /etc/lilo.conf                  # added stanzas for 4.4.75 GENERIC and 4.4.75 HUGE
 6. lilo                                #
 7. reboot 4.4.75 HUGE                  # VMWare rebuilt Kernel Modules during boot and then it started without error
 8. logged into init 3 session as root
 9. sh NVIDIA-Linux-x86_64-375.66.run  # nvidia offered to build 32-bit ( ! good ! )
10. reboot 4.4.75 HUGE + ucode          # booted fine
11. reboot 4.4.75 GENERIC + ucode      # booted fine

Here I am, running 4.4.75 GENERIC with your latest Multilib glibc ( BUILD=2 ):

Code:

# ver glibc
-rw-r--r-- 1 root root  32582 Jul  2 06:41 /var/log/packages/glibc-2.23_multilib-x86_64-2alien
-rw-r--r-- 1 root root 491578 Jul  2 06:41 /var/log/packages/glibc-i18n-2.23_multilib-x86_64-2alien
-rw-r--r-- 1 root root  1325 Jul  2 06:41 /var/log/packages/glibc-profile-2.23_multilib-x86_64-2alien
-rw-r--r-- 1 root root  15563 Jul  2 06:41 /var/log/packages/glibc-solibs-2.23_multilib-x86_64-2alien
-rw-r--r-- 1 root root  71588 Mar 24 06:25 /var/log/packages/glibc-zoneinfo-2017b-noarch-1_slack14.2

VMWare works, and everything else seems to be running great !

Thank you again for Multilib, Alien Bob !

Marking this one solved.

-- kjh


All times are GMT -5. The time now is 11:20 AM.