diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-12-01 03:04:39 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-12-01 03:04:39 +0000 |
commit | 407525b571b48cfd65e1ad7a02d250a927c967c9 (patch) | |
tree | 844bea44d85dc7218f54970af1c42cc9d55c3f1a /metadata/news/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22 | |
parent | 89c6c06b8c42107dd231687a1012354e7d3039fc (diff) |
gentoo resync : 01.12.2017
Diffstat (limited to 'metadata/news/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22')
2 files changed, 93 insertions, 0 deletions
diff --git a/metadata/news/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22.en.txt b/metadata/news/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22.en.txt new file mode 100644 index 000000000000..b413ce40a58b --- /dev/null +++ b/metadata/news/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22.en.txt @@ -0,0 +1,77 @@ +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 -e @world + +This will make sure all the executables link directly against libc.so.0 +(as reported by `readelf -d`) rather than via symlinks like libdl.so.0 +-> libc.so.0. Then upgrade from 1.0.19 to 1.0.20 without symlink-compat: + + USE="-symlink-compat" emerge =sys-libs/uclibc-ng-1.0.20 + +1. Get rid of the obstack.h header since it's 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 -e @world + +6. Finally update uclibc-ng to the latest + + emerge =sys-libs/uclibc-ng-1.0.22 + +7. For good measure, rebuild the entire system + + emerge —e @world + diff --git a/metadata/news/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22.en.txt.asc b/metadata/news/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22.en.txt.asc new file mode 100644 index 000000000000..9670121f9e98 --- /dev/null +++ b/metadata/news/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1_0_22.en.txt.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABCAAGBQJYnbfjAAoJENe4dETWg5zIJggQAJmR5WLPqG3IjEWRLzaCmWts +cHNlSALbtM4SECSVPnTL3G+41rukc/3H+59H1AuWkH/vb7KaTd9ZGQFF96vzJhxE +1zSxkW9nKKaGDw8fEJnQ3R7qjRPdnNjUf9Xwn3Z09uj1hT2KnSHtPZIzuk4GF+nY +UvYO0tSq0oUlW6HxNh+zUa5t43CqFV5+oxCxbukBbZbzvUuv0p2caiA2pxMVSaS/ +FlP0bTpoDV86mNZvuCaAPctCumyzQP7hj5ZJpXNfNslcYoHwwZxWN9o/+CIuvZsK +fhsIHdxuDEwZJrlFJ/otsu8AnXYtpXVrHM6Yj9AE6M0q4p6NjNY/lBAw0ev49Bzx +tpyZ9zuPU37Qm7thYol55U4lfN/tPKR2glj24ULP/N20f1Ekame0TL0eFDoJh+qp +Ska0YjPyzs2hufC6LS26uTR9VCl+MQse43C57srjZkA1z03TOvtEJatNrl66MAj7 +H9ihJ6Q2orr/2FBZBvvV/hhvH95cbMw/Yoc9AOAEYtMiwi3IaJiy+DHG5XrtiTa2 +LiCpqzW5ucf9sO6ynMIohSaLoSOvVN7uITMGJvdKPpdXMf4IYceI+P+iRNTClix5 ++zz+iB+1xOQImMeDnomuxtFb8O+OdgoQ67Ab+vD7Lm+4MZabOi5XTSMFx+OJDEPk +mQiHcIFqMSrCgNsqamW/ +=W101 +-----END PGP SIGNATURE----- |