public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download: 
* [gentoo-dev] News item for uclibc-ng
@ 2017-02-08 19:37 99% Anthony G. Basile
  0 siblings, 0 replies; 1+ results
From: Anthony G. Basile @ 2017-02-08 19:37 UTC (permalink / raw
  To: Gentoo Development

[-- Attachment #1: Type: text/plain, Size: 282 bytes --]

Hi everyone,

Attached you'll find a news item for uclibc-ng.  I'd like to push it out
in a few days.

-- 
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail    : blueness@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA

[-- Attachment #2: 2017-02-10-upgrade-to-sys-libs_uclibc-ng-1.0.22.en.txt --]
[-- Type: text/plain, Size: 2859 bytes --]

Title: Upgrade to =sys-libs/uclibc-ng-1.0.22
Author: Anthony G. Basile <blueness@gentoo.org>
Content-Type: text/plain
Posted: 2017-02-10
Revision: 1
News-Item-Format: 1.0
Display-If-Installed: sys-libs/uclibc-ng
Display-If-Profile: default/linux/uclibc/amd64
Display-If-Profile: hardened/linux/uclibc/amd64
Display-If-Profile: default/linux/uclibc/arm/armv7a
Display-If-Profile: hardened/linux/uclibc/arm/armv7a
Display-If-Profile: default/linux/uclibc/mips
Display-If-Profile: hardened/linux/uclibc/mips
Display-If-Profile: default/linux/uclibc/mips/mipsel
Display-If-Profile: hardened/linux/uclibc/mips/mipsel
Display-If-Profile: default/linux/uclibc/ppc
Display-If-Profile: hardened/linux/uclibc/ppc
Display-If-Profile: default/linux/uclibc/x86
Display-If-Profile: hardened/linux/uclibc/x86

There have been two major changes in uclibc-ng which need special
attention when upgrading. Version 1.0.19 restructured the breakout
libraries, libcrypt.so.0, libdl.so.0, and friends.  The functions in
those libraries are now included in libuClibc-0.1.0.19.so.  Version
1.0.21 and above removed libc support for obstack, expecting packages to
use their bundled GNU lib code. Both changes require special upgrade
procedures which we outline below: 

0. Because of changes in the library structure in previous versions,
make sure you are working with 1.0.19 and rebuild world using

    emerge -evq @world

This will make sure all executables link directly against libc.so.0 (as
reported by `readelf -d`) rather than via sym links like libdl.so.0 ->
libc.so.0.  Then upgrade from 1.0.19 to 1.0.20 without symlink-combat:

    USE=“-symlink-compat" emerge =sys-libs/uclibc-ng-1.0.20

1. Get rid of the obstack.h header since its used by configure scripts
to look for function prototypes and macros.

    mv /usr/include/obstack.h ~

2. We also need to force the use of any bundled gnu lib code.  We can do
this by removing the definition of _GNU_OBSTACK_INTERFACE_VERSION from
gnu-version.h

    cp /usr/include/gnu-versions.h ~
    sed -i -e '/#define _GNU_OBSTACK/d' /usr/include/gnu-versions.h

3. We need to tell stdio.h that __UCLIBC_HAS_OBSTACK__ is false.  We do
this via the uClibc_config.h file.

    cp /usr/include/bits/uClibc_config.h ~
    sed -i -e '/__UCLIBC_HAS_OBSTACK__/ s/1/0/' \
     /usr/include/bits/uClibc_config.h

4. To be safe, you may want to back up your entire /lib directory so
you can fall back should something go wrong:

    cp -a /lib /lib.bak

5. Now when we rebuild @world, all packages will use their bundled
obstack code rather than depending on libc to provide it.

    ac_cv_func_obstack_vprintf=no emerge --keep-going --exclude \
     sys-libs/uclibc-ng -evq @world

6. Finally updated uclibc-ng to the latest

    emerge =sys-libs/uclibc-ng-1.0.22

7. For good measure, rebuild the entire system

    emerge —evq @world


^ permalink raw reply	[relevance 99%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2017-02-08 19:37 99% [gentoo-dev] News item for uclibc-ng Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox