On 2018-03-28 20:12, Sven Joachim wrote: > On 2018-03-28 19:46 +0200, Mikhail Morfikov wrote: > >> On 2018-03-28 19:29, Sven Joachim wrote: >>> On 2018-03-28 18:29 +0200, Mikhail Morfikov wrote: >>> >>>> I have some packages, for instance firefox, which need a little bit of >>>> customization from a user side. So basically when I install the new >>>> version of >>>> firefox, I also have to do some extra steps and so far I've been doing it >>>> manually because I don't know any better way. >>>> >>>> In the case of firefox, I have to create some hard links. Those hard links >>>> are >>>> used as additional executable files to be profiled in AppArmor. But when I >>>> upgrade my system, and firefox is on the package list, the hard links >>>> basically >>>> stop working and they have to be removed and recreated manually after the >>>> upgrade is done. >>>> >>>> Is there a way to pass some extra commands/script to apt/aptitude so when >>>> the >>>> firefox package is to be upgraded, it would recreate the links >>>> automatically? >>> >>> You could use a dpkg trigger for that, a short intro how to do this is >>> on stackoverflow[1]. See also deb-triggers(5). >> Is this a solution for a user or rather for maintainer of the package? I >> think >> it's the second one and hence I can't use it. > > It requires you to create your own package (since there is no other way > to register triggers in dpkg), but it does not have to contain any > files, you only need to include the triggers list and a postinst script > which manages the links. > > An alternative is to use the dpkg's post-invoke option, but that is > rather inefficient, since it will be run on every dpkg invocation and > not only when one of the packages which interest you is > updated/installed/removed. > > Cheers, > Sven > I really thought there's some easy way to include user's scripts when you want to make some additional changes to the upgraded packages, but it looks like the apt mechanism is a little bit limited. But I will try to do something with the trigger and see how that will work.
signature.asc
Description: OpenPGP digital signature