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.
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.
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.