Mailing List Archive

Any showstoppers with uclibc-ng-1.0.22 upgrade?
I'm installing uclibc-ng Gentoo on an old Atom netbook. I saw the
news item about uclibc-ng upgrade and wanted to do the switchover during
the install. This way "emerge -e @world" has to do "only" 153 packages
...3 times ...over ten hours each time on the ancient netbook. I
finished step 5, and need to do only...

> 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 ?<80><94>e @world

uclibc-ng-1.0.22 is "masked by missing keywords"...

# grep KEYWORDS /usr/portage/sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild
#KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
KEYWORDS=""

This is usually done for a reason. Are there any showstoppers with
uclibc-ng-1.0.22 and should I wait at uclibc-ng-1.0.20? Or is it OK to
tweak the ebuild and finish the upgrade?

--
Walter Dnes <waltdnes@waltdnes.org>
Re: Any showstoppers with uclibc-ng-1.0.22 upgrade? [ In reply to ]
On 2/16/17 2:19 PM, Walter Dnes wrote:
> I'm installing uclibc-ng Gentoo on an old Atom netbook. I saw the
> news item about uclibc-ng upgrade and wanted to do the switchover during
> the install. This way "emerge -e @world" has to do "only" 153 packages
> ...3 times ...over ten hours each time on the ancient netbook. I
> finished step 5, and need to do only...
>
>> 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 ?<80><94>e @world
> uclibc-ng-1.0.22 is "masked by missing keywords"...
>
> # grep KEYWORDS /usr/portage/sys-libs/uclibc-ng/uclibc-ng-1.0.22.ebuild
> #KEYWORDS="-* ~amd64 ~arm ~mips ~ppc ~x86"
> KEYWORDS=""
>
> This is usually done for a reason. Are there any showstoppers with
> uclibc-ng-1.0.22 and should I wait at uclibc-ng-1.0.20? Or is it OK to
> tweak the ebuild and finish the upgrade?
>
You need to be careful because obstack support has been dropped in
uclibc-ng-1.0.22. This means that if you directly upgrade to 1.0.22
without first rebuilding your systems (including the toolchain) without
obstack support, you will have a severely broken system. The news item
specifies the steps by which you can rebuild @world without depending on
uclibc-ng to provide obstack, and then upgrading uclibc-ng.

I've still got things masked because I'm giving people some time. I'm
going to stabilize 1.0.20 today-ish and then 1.0.22 later this month.

--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail : basile@freeharbor.net
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA
GnuPG ID : F52D4BBA
Re: Any showstoppers with uclibc-ng-1.0.22 upgrade? [ In reply to ]
On Sat, Feb 18, 2017 at 09:59:56AM -0500, Anthony G. Basile wrote

> You need to be careful because obstack support has been dropped in
> uclibc-ng-1.0.22. This means that if you directly upgrade to 1.0.22
> without first rebuilding your systems (including the toolchain) without
> obstack support, you will have a severely broken system. The news item
> specifies the steps by which you can rebuild @world without depending on
> uclibc-ng to provide obstack, and then upgrading uclibc-ng.
>
> I've still got things masked because I'm giving people some time. I'm
> going to stabilize 1.0.20 today-ish and then 1.0.22 later this month.

OK, I see. You didn't want people on unstable to break their systems.
Some ideas for sanity checking before you go ahead with 1.0.22. Can an
ebuild script execute system commands? Possibilities...

* if =sys-libs/uclibc-ng-1.0.20 is not installed and running, have the
1.0.22 ebuild die, and point to https://www.gentoo.org/support/news-items/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1.0.22.html
If they tried upgrading this way, they may have missed the news item
and purged it.

* If "find /usr/include/ -name obstack.h" succeeds, die and point to
https://www.gentoo.org/support/news-items/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1.0.22.html

* If /usr/include/bits/uClibc_config.h has the wrong value for
__UCLIBC_HAS_OBSTACK__ die with error and point to
https://www.gentoo.org/support/news-items/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1.0.22.html

I followed the instructions, finished the basic install, and it boots.
Now to install X and some apps.

--
Walter Dnes <waltdnes@waltdnes.org>
Re: Any showstoppers with uclibc-ng-1.0.22 upgrade? [ In reply to ]
On 2/18/17 9:22 PM, Walter Dnes wrote:
> On Sat, Feb 18, 2017 at 09:59:56AM -0500, Anthony G. Basile wrote
>
>> You need to be careful because obstack support has been dropped in
>> uclibc-ng-1.0.22. This means that if you directly upgrade to 1.0.22
>> without first rebuilding your systems (including the toolchain) without
>> obstack support, you will have a severely broken system. The news item
>> specifies the steps by which you can rebuild @world without depending on
>> uclibc-ng to provide obstack, and then upgrading uclibc-ng.
>>
>> I've still got things masked because I'm giving people some time. I'm
>> going to stabilize 1.0.20 today-ish and then 1.0.22 later this month.
> OK, I see. You didn't want people on unstable to break their systems.
> Some ideas for sanity checking before you go ahead with 1.0.22. Can an
> ebuild script execute system commands? Possibilities...
>
> * if =sys-libs/uclibc-ng-1.0.20 is not installed and running, have the
> 1.0.22 ebuild die, and point to https://www.gentoo.org/support/news-items/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1.0.22.html
> If they tried upgrading this way, they may have missed the news item
> and purged it.
>
> * If "find /usr/include/ -name obstack.h" succeeds, die and point to
> https://www.gentoo.org/support/news-items/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1.0.22.html

I might add this, eerror() and die in pkg_preinst(). Its a safeguard in
case someone is being casual, but this is a complex upgrade and its not
a good idea to automate too much because of differences on people's
systems. Don't forget, uclibc is configurable, so people might already
have systems with obstack off.

>
> * If /usr/include/bits/uClibc_config.h has the wrong value for
> __UCLIBC_HAS_OBSTACK__ die with error and point to
> https://www.gentoo.org/support/news-items/2017-02-10-upgrade-to-sys-libs_uclibc-ng-1.0.22.html
>
> I followed the instructions, finished the basic install, and it boots.
> Now to install X and some apps.
>


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