Re: Downgrading glibc from Rawhide removed /bin/sh (!)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/8/19 2:29 PM, Panu Matilainen wrote:
On 3/8/19 1:54 PM, Florian Weimer wrote:
* Panu Matilainen:

On 3/7/19 5:52 PM, Florian Weimer wrote:
* Panu Matilainen:

On 3/7/19 1:13 PM, Florian Weimer wrote:
* Richard W. M. Jones:

$ sudo dnf install glibc-headers.i686
Downgrading:

That looks like a bug in itself.

The last time I looked at something similar, I saw this: RPM would not
adjust a pre-existing symbolic link to a new target very late in the
transaction.  Like deleting old files which are gone in an update or
downgrade, this does *not* happen when the unpacking of the replacement package happens, but towards the conclusion of the transaction. In the
meantime, scriptlets run with the broken file system.

In your case, maybe one of the scriptlet errors prevented the final step
with the adjustment of the symbolic link by RPM.

(Just to be clear, the symbolic link is regularly packaged, it's not
something that we manage using scripts.)

IIRC the issue is that at when ldconfig runs from the package scripts,
on downgrade the newer file is still on disk and thus ldconfig leaves
the link the way it is, but at the end of transaction it'll be gone
and symlinks can be broken.

Is there a chance that RPM will be changed to run more scriptlets with
the final disk contents?

There's %transfiletriggerin, %transfiletriggerpostun and %posttrans
that run after the entire transaction, and then the individual
postun-type scripts/triggers. What is it that you're missing?

Correct symbolic links.

If the symbolic links are not installed as they are in the packaged
contents before running scriptlets (any scriptlets), we need to bring
back the ldconfig scriptlets.  This is not just a problem for glibc.


Ehm? Symlinks are installed just like any other content, and rpm has no reason to mess with them. Like I said above, the problem is almost certainly a mistimed ldconfig causing the links changed back to the version that is about to get removed.

Hmm, except that in this particular there shouldn't be any mistimed ldconfigs present. Perhaps I should take a closer look.

Note that the scenario with ldconfig is very real though, as long as *any* package runs ldconfig in middle of a transaction involving downgrades, the links can get misadjusted to version(s) that will be removed, and unless ldconfig is run again after that removal, things will be broken. Back when each and every library package ran ldconfig in its post and postun, things also got fixed right away. Now that some do and others dont, its more of a mixed bag. Either ldconfig should only run once at the very end, or it should run after each library package.

	- Panu -

	- Panu -
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux