Am Fri, 23 Sep 2022 11:58:53 +0200
schrieb "Roberto A. Foglietta" <roberto.foglietta@gmail.com>:
> Il Ven 23 Set 2022, 11:22 Roberto A. Foglietta
> <roberto.foglietta@gmail.com> ha scritto:
>
> > Hi all,
> >
> > .deb repackaged should not upgrade with any external source so they
> > should marked on hold. Easy but not possible to do within postinst
> > obviously. Not in a straight way, at least. Am I wrong?
> >
I you rebuild you should add some suffix to PV
CHANGELOG_V ?= "${PV}+roberto"
During installation of isar itself your rebuilt package will win
anyways. Make sure to add it to IMAGE_INSTALL instead of PREINSTALL, or
make sure to have a bitbake DEPENDS if it comes in via a debian dep
chain.
But during lifetime any apt-get upgrade could replace yours when debian
brings an update. To deal with that it is best to deploy a preferences
file with some dpkg-raw configuration package.
roberto-pin_0.1.bb:
inherit dpkg-raw
do_install() {
echo -e "Package: *\nPin: version *+roberto*\nPin-Priority: 1000" >
${D}/etc/apt/preferences.d/${PN}
}
With this all packages that have the roberto suffix will become
non-replaceable ... unless someone uses that same suffix.
Generally you want to try and mainline all your changes to avoid local
rebuilds.
Another trick would be an empty package that conflicts with anything
greater than "${PV}+roberto", that should also prevent updates. Not
sure which way is better.
We mostly build images that are replaces as a whole and will not get
much "apt-get" during their life. Note that kernel updates with apt-get
will not easily work in an isar built image. It will depend on your
bootloader whether it might work, and you might have to add scripts
that update bootloader configs after kernel install.
Dear Henning,
first of all, thank you for your explanation. I think about it and I arrived to the conclusion that your solution is good but top definitive for my need/goals.
The problem is 1. that even wintout any update available the original packages are seen as updates and 2. I wish to avoid that the user upgrade the repackaged packages installing the dependencies I removed.
However, I am not interested in make their upgrade difficult. Probably, I will keep only hold the packages at the installation but even remove the holding as configuration.
Just a way to avoid that kids break up the system just with a basic admin operation without further complications.
Best regards, R-