diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /metadata/news/2014-10-22-upgrading-to-musl-1_1_5 |
reinit the tree, so we can have metadata
Diffstat (limited to 'metadata/news/2014-10-22-upgrading-to-musl-1_1_5')
2 files changed, 74 insertions, 0 deletions
diff --git a/metadata/news/2014-10-22-upgrading-to-musl-1_1_5/2014-10-22-upgrading-to-musl-1_1_5.en.txt b/metadata/news/2014-10-22-upgrading-to-musl-1_1_5/2014-10-22-upgrading-to-musl-1_1_5.en.txt new file mode 100644 index 000000000000..77372bdf4547 --- /dev/null +++ b/metadata/news/2014-10-22-upgrading-to-musl-1_1_5/2014-10-22-upgrading-to-musl-1_1_5.en.txt @@ -0,0 +1,57 @@ +Title: Upgrading to musl 1.1.5 +Author: Anthony G. Basile <blueness@gentoo.org> +Content-Type: text/plain +Posted: 2014-10-22 +Revision: 1 +News-Item-Format: 1.0 +Display-If-Installed: sys-libs/musl + +Versions 1.1.4 and above of musl provide Native Language Support (nls). Up +till now, Gentoo musl stages have used GNU gettext to provide nls via libintl.so +and linked applications against it. Beginning with musl-1.1.5 we are switching +to nls provided by musl. Since musl is experimental, you are better off starting +with a new stage3 dated later than 2014-10-20. However, if you wish to upgrade +an existing system, you can proceed as follows: + +1. Remove any references to -lintl from /etc/portage/package.env and +/etc/portage/env/*. If you did not modify these from the original stage3 +then you can just do `rm -rf /etc/portage/package.env /etc/portage/env` + +2. Update your system, except for musl: + + emerge --exclude musl -uvNDq world + +3. Remove the libintl header belonging to gettext: + + rm -f /usr/include/libintl.h + +4. Now you can update musl without a file collision: + + emerge -1q =sys-libs/musl-1.1.5 + +5. We need to turn USE=nls off in gettext: + + echo "=sys-devel/gettext-0.19.3" >> /etc/portage/package.accept_keywords + echo "sys-devel/gettext -nls" >> /etc/portage/package.use + emerge -1 gettext + +6. Rebuild any packages that might be linking against libintl.so: + + USE=-nls emerge -uvDNq world + +7. The previous step probably missed some executables, so find them all: + + for i in /bin/* /sbin/ /usr/bin/* /usr/sbin/* ; do + readelf -d $i 2>&1 | grep -q libintl.so && echo $i + done + +You can identify what packages these belong to uing `equery b <exe>` Rebuild +those packages. + +8. At this point you can remove /usr/lib/libintl.so*. To be safe, check that +all your coreutils utilities (like mv, cp, ls, etc.) really aren't linking +against libintl.so as described in the previous step and then mv that library +out of the dynamic linker's search path. + +9. While not strictly necessary, you can rebuild your entire system to make +sure everything links nicely against the new libc.so: emerge -evq world diff --git a/metadata/news/2014-10-22-upgrading-to-musl-1_1_5/2014-10-22-upgrading-to-musl-1_1_5.en.txt.asc b/metadata/news/2014-10-22-upgrading-to-musl-1_1_5/2014-10-22-upgrading-to-musl-1_1_5.en.txt.asc new file mode 100644 index 000000000000..f6b6ead14e4f --- /dev/null +++ b/metadata/news/2014-10-22-upgrading-to-musl-1_1_5/2014-10-22-upgrading-to-musl-1_1_5.en.txt.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQIcBAABCAAGBQJUSC5tAAoJEJOE+m71LUu6nowP/3NwBCvL6JZ6Kgel4qRsPL9b +fGZ8jlwK22XUv23GZ0M2QpEqov7CzBuCwiIboghdIsZfspEEmYqiwSM3fwDJBtLS +I8kGuK16eSDTiW2Nzbm67OMBHZiyg6sigbUPI18hxzQB2TBmk/X26GCJUo3BsZwS +htWwWphQnT6kWH9InurGdz6XJ5bnVy49ZNEXOf5ixGB/KECYX2hsox/xLiwSkWo7 +bw8CoKI+hzmMYsTC5XUqr9Yex27SEkYiR/FTL2Gu3A0WxyGmySI0k6ZSxD+i+81a +IbuesjEwXCD4M27UtJpP6dAwjWzVr0hztgsg7Hcx1YVrMYxwkaWfrBAZgcHZDv+F +5lYoM+V8uMbkKINWStD5iOC3oCwnIq9wa3dJ18gDJhbFmDwdaEtyHWoFUbpPLMOz +VBXyltxFBTZ/D3R2IT4ygDgOHm5xXT7JIhtk2mC8d0v0CUnIpsoCwe5iMyrOce9N +D/a/b3ip91Yttl0bfmWk7Couv6o67trwG8+hv7QYsSdJVfcLdDy8V2jUb3KZdI4F +iE78TZxlLBUUMdB6nChEKL3qa63+c2eYLSjjYxnJ+OaI43IndTEl05I/z0M+JS+D +3c15dKJpSX10EudmIJIoh8Q/YQpvV9/Cq0gC3iFngbKyvC+cCUpm+M0wU4zFYhFV +fCOtboRffXp8xiXQ4A76 +=Axqr +-----END PGP SIGNATURE----- |