[elbe-devel] Install newest available version of a package that belongs to the base system

Manuel Traut manuel.traut at linutronix.de
Wed Apr 4 17:16:02 CEST 2018


On Thu, Feb 08, 2018 at 12:48:58PM +0000, Lukasz Walewski wrote:
> >-----Ursprüngliche Nachricht-----
> >Von: John Ogness [mailto:john.ogness at linutronix.de]
> >Gesendet: Donnerstag, 8. Februar 2018 11:27
> >An: Lukasz Walewski
> >Cc: elbe-devel at linutronix.de
> >Betreff: Re: [elbe-devel] Install newest available version of a package
> >that belongs to the base system
> >
> >On 2018-02-08, Lukasz Walewski <lwalewski at s-can.at> wrote:
> >>>> How can I get the newest available version of a package that belongs
> >>>> to the base system?
> >>>
> >>> How about adding a finetuning command?
> >>>
> >>>    <command>apt-get -y upgrade</command>
> >>
> >> Yes, that (sort of) works! I came up with this idea myself, but I
> >> consider it to be a hack rather than a solution. The default behavior
> >> for base system packages is different from that for all other
> >> packages, which is extremely confusing: the user doesn't have to know
> >> which packages are "base system" and which are not. Besides, that
> >> might change without notice and is out of control of elbe.
> >>
> >> Another disadvantage of the above is that the version reported in the
> >> "Installed Packages List" section of elbe-report.txt is the "base
> >> system" version and not the actually installed version. In particular,
> >> the version reported there is wrong, if the package was upgraded in
> >> <finetuning/>.
> >>
> >> Any other ideas?
> >
> >Change elbe so that it automatically upgrades packages after completing
> >debootstrap.
> 
> Yes! That's the expected answer ;)
> 
> >Looking at the code, it might be enough to do something like this
> >(untested):
> >
> >--- a/elbepack/elbeproject.py
> >+++ b/elbepack/elbeproject.py
> >@@ -661,7 +661,7 @@ class ElbeProject (object):
> >             for p in self.xml.node("debootstrappkgs"):
> >                 debootstrap_pkgs.append(p.et.text)
> >
> >-            pkgs = self.buildenv.xml.get_target_packages()
> >+            pkgs = self.buildenv.xml.get_target_packages() +
> >debootstrap_pkgs
> >
> >             if buildenv:
> >                 pkgs = pkgs + self.buildenv.xml.get_buildenv_packages()
> 
> I can confirm, that the above patch fixes the problem described in my original question, i.e. at debootstrap time packages get installed from the main repo (not necessarily the newest versions available), but later - at <pkg-list/> time - they get upgraded to the newest versions available from secondary mirror(s).

The change is integrated in devel/elbe-3.0:
https://github.com/Linutronix/elbe/commit/aa01227cd5830416a5de9975ac0ea976fd755d5f

> I don't know, if the patch has side effects, e.g. related to the cdrom/iso stuff mentioned by Manuel in the other e-mail - I haven't tested that part. Nevertheless, it would be nice to have that patch merged to the current stable release...
 
However it can't be integrated into elbe stable. Because it might result in
a different RFS, even if the same XML file was used and the mirrors didn't
change. This is a no-go for a stable release.

It will be in the next elbe-testing release and in elbe 3.0 (stable).

> Best,
> Lukasz
> 
> PS There used to be a way to update elbe sources in the existing initvm without having to regenerate it from scratch, how is it accomplished nowadays?

elbe initvm attach
apt update / upgrade

or
elbe initvm create --devel
elbe initvm attach
cd /var/cache/elbe/devel
git pull

Thanks for your help!

  Manuel



More information about the elbe-devel mailing list