From: Henning Schild <henning.schild@siemens.com>
To: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
Cc: isar-users@googlegroups.com
Subject: Re: apt-mark hold package within postinst
Date: Fri, 23 Sep 2022 12:56:48 +0200 [thread overview]
Message-ID: <20220923125648.798e010a@md1za8fc.ad001.siemens.net> (raw)
In-Reply-To: <CAJGKYO7OiLv02apDSrTzo=gRM4fBapOEBUhPtOOF--MVnBfPsA@mail.gmail.com>
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.
Henning
> This seems quite sane but it keeps the package in hold even if the
> users lately decide to upgrade it (possibly with a fixed version).
>
> echo 'APT::Update::Post-Invoke { "apt-mark hold pippo || true"; };' >>
> /etc/apt/apt.conf.d/99isar-repackage-hold
>
> My first try was to fork a process in post that waits the
> installation ends and then marks the package in hold.
>
> Opinions about?
>
> Best regards, R.
>
next prev parent reply other threads:[~2022-09-23 10:56 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-23 9:22 Roberto A. Foglietta
2022-09-23 9:58 ` Roberto A. Foglietta
2022-09-23 10:56 ` Henning Schild [this message]
2022-09-24 20:53 ` Roberto A. Foglietta
2022-09-26 7:09 ` Henning Schild
2022-09-26 7:53 ` Roberto A. Foglietta
2022-09-26 12:27 ` Henning Schild
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220923125648.798e010a@md1za8fc.ad001.siemens.net \
--to=henning.schild@siemens.com \
--cc=isar-users@googlegroups.com \
--cc=roberto.foglietta@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox