|
Bugzilla – Full Text Bug Listing |
| Summary: | glibc-locale.i686 doesn't contain /usr/lib/locale - conflicts with glibc-locale.i586 which does | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 12.2 | Reporter: | Jeff Mahoney <jeffm> |
| Component: | Basesystem | Assignee: | Andreas Schwab <schwab> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Critical | ||
| Priority: | P1 - Urgent | CC: | adrian.schroeter, aj, bruce.lilly, forgotten_o5N6HWuMhD, maintenance, mfrueh |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | i686 | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | Development | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
*** Bug 794565 has been marked as a duplicate of this bug. *** *** Bug 794630 has been marked as a duplicate of this bug. *** for reference, here's a diff of the glibc-locale installs on x64 & ix86 http://www.diffchecker.com/0snuVGsH as pointed out, /usr/lib/local/ is simply missing on ix86 ... This is an autogenerated message for OBS integration: This bug (794347) was mentioned in https://build.opensuse.org/request/show/145607 Maintenance / https://build.opensuse.org/request/show/145608 Maintenance / This is an autogenerated message for OBS integration: This bug (794347) was mentioned in https://build.opensuse.org/request/show/145664 Maintenance / Andreas, your submitted package for glibc.i686 doesn't build. It looks like that the _link is broken, because it points to glibc.i686 again and ends up in an "circular package link"-error (see the maintenance-incident https://build.opensuse.org/project/show?project=openSUSE%3AMaintenance%3A1176 ). Could you have a look at it please and submit a fixed package, please? Thanks. This is a bug in osc branch, it always creates this broken link for glibc.i686. Adrian ,could you fix this, please? This bug is causing DoS here (e.g. postgresql and other services that need locale data). IMO, the i686 glibc-locale package should be removed from the update servers until after it has been fixed and passes regression tests; zypper dup keeps trying to "upgrade" it from i586 to i686, which causes extensive problems. In the meantime, the i586 package works. Two 32-bit systems here: d220mt.blilly.net:/etc/ups # zypper se -i -s glibc-locale Loading repository data... Reading installed packages... S | Name | Type | Version | Arch | Repository --+--------------+---------+-------------+------+--------------- i | glibc-locale | package | 2.15-22.9.1 | i586 | updates_mirror d220mt.blilly.net:/etc/ups # locale -a | head C POSIX aa_DJ aa_DJ.utf8 aa_ER aa_ER@saaho aa_ET af_ZA af_ZA.utf8 am_ET e2300a.blilly.net:/root # zypper se -i -s glibc-locale Loading repository data... Reading installed packages... S | Name | Type | Version | Arch | Repository --+--------------+---------+-------------+------+--------------- i | glibc-locale | package | 2.15-22.9.1 | i686 | updates_mirror e2300a.blilly.net:/root # locale -a locale: Cannot set LC_CTYPE to default locale: No such file or directory C POSIX e2300a.blilly.net:/root # Maintenance team, could you remove the update - or at least the locale package, please? AJ, I'll remove the update from the test-channel. Bruce, thanks for bringing this up. branching fixed in git and on api.opensuse.org. (and test case created for the special glibc.i686 case). To fix the support problem this is causing around here, I'm going to push a zypper lock and a downgrade to all our x86 boxes. Unless ... this is about to drop into the actual production/update repos. Either as a fixed package, or as a removal of the broken one. Can anyone comment/speculate as to possible timing? Thanks. For clarification: The problem i686 package exists in the "updates" repository for openSUSE 12.2, i.e. rsync.opensuse.org::opensuse-updates/12.2 (and of course mirrors, and of course via other protocols). N.B. 12.2 release, not Factory or 12.3 RCs N.B. 12.2 release, not specifically 12.2-test # rsync --no-motd rsync.opensuse.org::opensuse-updates/12.2/i686/ ... -rw-r--r-- 129972 2012/12/12 12:51:36 glibc-locale-2.15-22.6.4_22.9.1.i686.drpm -rw-r--r-- 1730129 2012/12/12 08:11:06 glibc-locale-2.15-22.9.1.i686.rpm ... It affects production 32-bit systems running 12.2 with updates, e.g.: # uname -s -r -v -m -p -i -o Linux 3.4.11-2.16-desktop #1 SMP PREEMPT Sat Oct 13 10:24:51 EDT 2012 i686 i686 i386 GNU/Linux On those systems, 'zypper dup' (with the updates repository enabled), but not 'zypper up', yields: ... The following package is going to change architecture: glibc-locale i586 -> i686 and continuing installs the broken package with previously described adverse effects. i586 architecture package is fine. x86_64 architecture native package is fine. I haven't tried to test the -32bit x86_64 variant. Maintenance team, please remove the previous glibc update from *all* channels for now - and let's push this update quickly through to fix it. Andreas, seems that Benji removed your update - instead of the previous one. Could you submit again, please? A new submission is not necessary, I undeleted the project and will release it asap. I also removed the previous update from the update channel. I'm sorry I'm getting it wrong with deleting the package. The new update is released now, too. I'll mark the bug as resolved fixed. Feel free to reopen it, if something is still missing. openSUSE-RU-2012:1681-1: An update that has two recommended fixes can now be installed. Category: recommended (low) Bug References: 793619,794347 CVE References: Sources used: openSUSE 12.2 (src): glibc-2.15-22.17.1 |
mater:~ # locale -v locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory LANG=POSIX LC_CTYPE=en_US.UTF-8 LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= 3111 open("/usr/lib/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 3111 open("/usr/lib/locale/en_US.utf8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 3111 open("/usr/lib/locale/en_US/LC_CTYPE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 3111 open("/usr/lib/locale/en.UTF-8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 3111 open("/usr/lib/locale/en.utf8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 3111 open("/usr/lib/locale/en/LC_CTYPE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) It looks like this was a conscious change but I'm not sure how the .i686 package is supposed to work - or if it should even exist. ------------------------------------------------------------------- Mon Apr 16 14:31:38 UTC 2012 - aj@suse.de - Do not build locales and profile for i686 since we only ship the base and glibc-devel packages. %files locale -f libc.lang %defattr(-,root,root) %{_datadir}/locale/locale.alias %if %{build_locales} /usr/lib/locale %endif %{_libdir}/gconv -- Should that %if directive be around the entire %files section so the i586 version gets pulled in?