Bug 1981793 - glibc: Removal of glibc-gconv-extra results in errors
Summary: glibc: Removal of glibc-gconv-extra results in errors
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Siddhesh Poyarekar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-07-13 12:11 UTC by Florian Weimer
Modified: 2021-07-19 04:26 UTC (History)
12 users (show)

Fixed In Version: glibc-2.33.9000-43.fc35
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-07-19 04:26:07 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Florian Weimer 2021-07-13 12:11:42 UTC
Erasing          : glibc-gconv-extra-2.33.9000-39.fc35.i686                                                                                                                                                                                                                           5/5 
  Running scriptlet: glibc-gconv-extra-2.33.9000-39.fc35.i686                                                                                                                                                                                                                           5/5 
/usr/sbin/iconvconfig: failed to open gconv configuration files in `/usr/lib/gconv': No such file or directory
/usr/sbin/iconvconfig: ensure that the directory contains either a valid gconv-modules file or a gconv-modules.d directory with configuration files with names ending in .conf.
/usr/sbin/iconvconfig: no output file produced because warnings were issued
warning: %postun(glibc-gconv-extra-2.33.9000-39.fc35.i686) scriptlet failed, exit status 1

Currently this is only visible on an x86_64 system when removing glibc.i686, due to the hard dependency on glibc-gconv-extra. But once the dependency is weakened, this error can occur in more cases.

Comment 1 Carlos O'Donell 2021-07-13 13:13:53 UTC
The earlier related code is a bit more complicated, but we would still issue a warning.

2054 -- (4) Update gconv modules cache.
2055 -- If the /usr/lib/gconv/gconv-modules.cache exists, then update it
2056 -- with the latest set of modules that were just installed.
2057 -- We assume that the cache is in _libdir/gconv and called
2058 -- "gconv-modules.cache".
2059 
2060 local iconv_dir = "%{_libdir}/gconv"
2061 local iconv_cache = iconv_dir .. "/gconv-modules.cache"
2062 if (posix.utime (iconv_cache) == 0) then
2063   post_exec ("%{_prefix}/sbin/iconvconfig",
2064              "-o", iconv_cache,
2065              "--nostdlib",
2066              iconv_dir)
2067 else
2068   io.stdout:write ("Error: Missing " .. iconv_cache .. " file.\n")
2069 end

We must resolve this before we weaken the dependency.

Comment 3 Siddhesh Poyarekar 2021-07-14 10:52:59 UTC
I don't think this will occur on dependency loosening; that error occurred specifically because both glibc.i686 and glibc-gconv-extra.i686 were removed and there was no /usr/lib/gconv left.  That is %postun iconvconfig failing for glibc-gconv-extra.  That said, I do need to tighten the check so that postun does not fail with an error if /usr/lib/gconv is empty.


Note You need to log in before you can comment on or make changes to this bug.