[elbe-devel] [PATCH 2/4] init: lock the elbe version to be installed into the initvm

Manuel Traut manut at linutronix.de
Thu Nov 22 15:50:28 CET 2018


On Thu, Nov 22, 2018 at 11:55:31AM +0100, Torben Hohn wrote:
> On Wed, Nov 21, 2018 at 04:23:03PM +0100, Manuel Traut wrote:
> > On Wed, Nov 21, 2018 at 03:43:56PM +0100, Torben Hohn wrote:
> > > On Fri, Nov 16, 2018 at 10:15:24AM +0100, Manuel Traut wrote:
> > > > On Mon, Nov 12, 2018 at 09:24:15AM +0100, Torben Hohn wrote:
> > > > > On Wed, Nov 07, 2018 at 11:09:57AM +0100, Manuel Traut wrote:
> > > > > > On Mon, Oct 01, 2018 at 04:37:46PM +0200, Torben Hohn wrote:
> > > > > > > specify elbe version, that should be installed into initvm using
> > > > > > > preseed. This requires us to lock the version for all elbe
> > > > > > > packages, which would normally be pulled as dependencies.
> > > > > > > 
> > > > > > > Signed-off-by: Torben Hohn <torben.hohn at linutronix.de>
> > > > > > >
> > > > > > > ---
> > > > > > >  elbepack/init/preseed.cfg.mako | 13 +++++++++++--
> > > > > > >  1 file changed, 11 insertions(+), 2 deletions(-)
> > > > > > > 
> > > > > > > diff --git a/elbepack/init/preseed.cfg.mako b/elbepack/init/preseed.cfg.mako
> > > > > > > index 052be882..529a1b0c 100644
> > > > > > > --- a/elbepack/init/preseed.cfg.mako
> > > > > > > +++ b/elbepack/init/preseed.cfg.mako
> > > > > > > @@ -6,6 +6,7 @@
> > > > > > >  ## SPDX-License-Identifier: GPL-3.0-or-later
> > > > > > >  ##
> > > > > > >  <%
> > > > > > > +  from elbepack.version import elbe_version
> > > > > > >    from elbepack.filesystem import size_to_int
> > > > > > >    swap = size_to_int(prj.text('swap-size', default=defs, key='swap-size')) / 1024 / 1024
> > > > > > >  %>
> > > > > > > @@ -135,8 +136,16 @@ apt-mirror-setup apt-setup/use_mirror boolean false
> > > > > > >          return pkgname + '/' + pkgrel
> > > > > > >  %>
> > > > > > >  d-i finish-install/reboot_in_progress note
> > > > > > > -d-i pkgsel/include string rng-tools btrfs-tools openssh-client\
> > > > > > > - debathena-transform-lighttpd elbe-soap python-elbe-buildenv\
> > > > > > > +d-i pkgsel/include string rng-tools \
> > > > > > > +                          btrfs-tools \
> > > > > > > +			  openssh-client \
> > > > > > > +                          debathena-transform-lighttpd \
> > > > > > > +			  python-elbe-buildenv=${elbe_version}* \
> > > > > > > +			  elbe-soap=${elbe_version}* \
> > > > > > > +			  python-elbe-common=${elbe_version}* \
> > > > > > > +			  elbe-daemon=${elbe_version}* \
> > > > > > > +			  elbe-schema=${elbe_version}* \
> > > > > > > +			  python-elbe-bin=${elbe_version}* \
> > > > > > 
> > > > > > hmm, should we go the old way for --devel  ?
> > > > > 
> > > > > i dont see a reason why ? 
> > > > > please elaborate.
> > > > 
> > > > Forget it. We need to fix the 'devel' mode instead to
> > > > add the runtime-depends from the control file instead
> > > > of believing the one from the last elbe version are
> > > > still OK.
> > > > 
> > > > However would the dependency resolution work, if you
> > > > specify the exact version of elbe-soap and
> > > > python-elbe-buildenv instead of using * at the end?
> > > 
> > > the * is for the build id numbers.
> > > i dont believe, that i have any chance to find these out.
> > 
> > Please try it with 'dpkg -l'
> > 
> > If it helps, i could add them to elbepack/version.py during
> > release.
> 
> this is what i get when i try to downgrade using apt-get:

OK. Than let's go on with the package list in version.py as discussed
on the phone.

> -----------------------------------------------------------------
> root at elbe-daemon:~# apt-get install elbe-daemon=2.9.12+deb8+build311
> Reading package lists... Done
> Building dependency tree       
> Reading state information... Done
> Some packages could not be installed. This may mean that you have
> requested an impossible situation or if you are using the unstable
> distribution that some required packages have not yet been created
> or been moved out of Incoming.
> The following information may help to resolve the situation:
> 
> The following packages have unmet dependencies:
>  elbe-daemon : Depends: python-elbe-common (= 2.9.12+deb8+build311) but 2.9.13+deb8+build381 is to be installed
>                Depends: python-elbe-buildenv (= 2.9.12+deb8+build311) but 2.9.13+deb8+build381 is to be installed
> E: Unable to correct problems, you have held broken packages.
> -----------------------------------------------------------------
> 
> when i specify them all, i get:
> 
> -----------------------------------------------------------------
> root at elbe-daemon:~# apt-get install elbe-daemon=2.9.12+deb8+build311 python-elbe-buildenv=2.9.12+deb8+build311 elbe-soap=2.9.12+deb8+build311 python-elbe-common=2.9.12+deb8+build311 elbe-schema=2.9.12+deb8+build311 python-elbe-bin=2.9.12+deb8+build311
> Reading package lists... Done
> Building dependency tree       
> Reading state information... Done
> The following packages will be DOWNGRADED:
>   elbe-daemon elbe-schema elbe-soap python-elbe-bin python-elbe-buildenv python-elbe-common
> 0 upgraded, 0 newly installed, 6 downgraded, 0 to remove and 0 not upgraded.
> Need to get 160 kB of archives.
> After this operation, 305 kB disk space will be freed.
> Do you want to continue? [Y/n]
> Get:1 http://debian.linutronix.de/elbe-testing/ jessie/main elbe-soap all 2.9.12+deb8+build311 [14.3 kB]
> Get:2 http://debian.linutronix.de/elbe-testing/ jessie/main elbe-daemon all 2.9.12+deb8+build311 [20.2 kB]
> Get:3 http://debian.linutronix.de/elbe-testing/ jessie/main python-elbe-buildenv all 2.9.12+deb8+build311 [49.2 kB]
> Get:4 http://debian.linutronix.de/elbe-testing/ jessie/main python-elbe-common all 2.9.12+deb8+build311 [45.0 kB]
> Get:5 http://debian.linutronix.de/elbe-testing/ jessie/main python-elbe-bin all 2.9.12+deb8+build311 [12.4 kB]
> Get:6 http://debian.linutronix.de/elbe-testing/ jessie/main elbe-schema all 2.9.12+deb8+build311 [19.0 kB]
> Fetched 160 kB in 0s (453 kB/s)        
> dpkg: warning: downgrading elbe-soap from 2.9.13+deb8+build381 to 2.9.12+deb8+build311
> (Reading database ... 25203 files and directories currently installed.)
> Preparing to unpack .../elbe-soap_2.9.12+deb8+build311_all.deb ...
> Unpacking elbe-soap (2.9.12+deb8+build311) over (2.9.13+deb8+build381) ...
> dpkg: warning: downgrading elbe-daemon from 2.9.13+deb8+build381 to 2.9.12+deb8+build311
> Preparing to unpack .../elbe-daemon_2.9.12+deb8+build311_all.deb ...
> Unpacking elbe-daemon (2.9.12+deb8+build311) over (2.9.13+deb8+build381) ...
> dpkg: warning: downgrading python-elbe-buildenv from 2.9.13+deb8+build381 to 2.9.12+deb8+build311
> Preparing to unpack .../python-elbe-buildenv_2.9.12+deb8+build311_all.deb ...
> Unpacking python-elbe-buildenv (2.9.12+deb8+build311) over (2.9.13+deb8+build381) ...
> dpkg: warning: downgrading python-elbe-common from 2.9.13+deb8+build381 to 2.9.12+deb8+build311
> Preparing to unpack .../python-elbe-common_2.9.12+deb8+build311_all.deb ...
> Unpacking python-elbe-common (2.9.12+deb8+build311) over (2.9.13+deb8+build381) ...
> dpkg: warning: downgrading python-elbe-bin from 2.9.13+deb8+build381 to 2.9.12+deb8+build311
> Preparing to unpack .../python-elbe-bin_2.9.12+deb8+build311_all.deb ...
> Unpacking python-elbe-bin (2.9.12+deb8+build311) over (2.9.13+deb8+build381) ...
> dpkg: warning: downgrading elbe-schema from 2.9.13+deb8+build381 to 2.9.12+deb8+build311
> Preparing to unpack .../elbe-schema_2.9.12+deb8+build311_all.deb ...
> Unpacking elbe-schema (2.9.12+deb8+build311) over (2.9.13+deb8+build381) ...
> Processing triggers for systemd (215-17+deb8u7) ...
> Processing triggers for man-db (2.7.0.2-5) ...
> Setting up elbe-schema (2.9.12+deb8+build311) ...
> Setting up python-elbe-bin (2.9.12+deb8+build311) ...
> Setting up python-elbe-common (2.9.12+deb8+build311) ...
> Setting up python-elbe-buildenv (2.9.12+deb8+build311) ...
> user root already exists in the database
> Setting up elbe-daemon (2.9.12+deb8+build311) ...
> Setting up elbe-soap (2.9.12+deb8+build311) ...
> -----------------------------------------------------------------
> 
> updating to the newest works:
> 
> -----------------------------------------------------------------
> root at elbe-daemon:~# apt-get install elbe-daemon=2.9.13+deb8+build381                                                                          
> Reading package lists... Done                                                                                                                 
> Building dependency tree                                                                                                                      
> Reading state information... Done                                                                                                             
> The following extra packages will be installed:                                                                                               
>   elbe-schema elbe-soap python-elbe-bin python-elbe-buildenv python-elbe-common                                                               
> The following packages will be upgraded:                                                                                                  
>   elbe-daemon elbe-schema elbe-soap python-elbe-bin python-elbe-buildenv python-elbe-common
> 6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.                                                                                
> Need to get 161 kB of archives.                                                                                                               
> After this operation, 305 kB of additional disk space will be used.                                                                           
> Do you want to continue? [Y/n] y                                                                                   
> Get:1 http://debian.linutronix.de/elbe-testing/ jessie/main elbe-soap all 2.9.13+deb8+build381 [14.4 kB]         
> Get:2 http://debian.linutronix.de/elbe-testing/ jessie/main elbe-daemon all 2.9.13+deb8+build381 [20.3 kB]    
> Get:3 http://debian.linutronix.de/elbe-testing/ jessie/main python-elbe-buildenv all 2.9.13+deb8+build381 [49.6 kB]
> Get:4 http://debian.linutronix.de/elbe-testing/ jessie/main python-elbe-common all 2.9.13+deb8+build381 [44.8 kB]
> Get:5 http://debian.linutronix.de/elbe-testing/ jessie/main python-elbe-bin all 2.9.13+deb8+build381 [12.5 kB]
> Get:6 http://debian.linutronix.de/elbe-testing/ jessie/main elbe-schema all 2.9.13+deb8+build381 [19.4 kB]                                    
> Fetched 161 kB in 0s (556 kB/s)                                                                                                               
> (Reading database ... 25206 files and directories currently installed.)                                                                       
> Preparing to unpack .../elbe-soap_2.9.13+deb8+build381_all.deb ...                                                                            
> Unpacking elbe-soap (2.9.13+deb8+build381) over (2.9.12+deb8+build311) ...                                                                    
> Preparing to unpack .../elbe-daemon_2.9.13+deb8+build381_all.deb ...                                                                        
> Unpacking elbe-daemon (2.9.13+deb8+build381) over (2.9.12+deb8+build311) ...                                                                  
> Preparing to unpack .../python-elbe-buildenv_2.9.13+deb8+build381_all.deb ...                                                
> Unpacking python-elbe-buildenv (2.9.13+deb8+build381) over (2.9.12+deb8+build311) ...                                                         
> Preparing to unpack .../python-elbe-common_2.9.13+deb8+build381_all.deb ...                                                                   
> Unpacking python-elbe-common (2.9.13+deb8+build381) over (2.9.12+deb8+build311) ...                                                           
> Preparing to unpack .../python-elbe-bin_2.9.13+deb8+build381_all.deb ...                                                                      
> Unpacking python-elbe-bin (2.9.13+deb8+build381) over (2.9.12+deb8+build311) ...                                                              
> Preparing to unpack .../elbe-schema_2.9.13+deb8+build381_all.deb ...                                                                          
> Unpacking elbe-schema (2.9.13+deb8+build381) over (2.9.12+deb8+build311) ...                                                                  
> Processing triggers for systemd (215-17+deb8u7) ...                                                                                       
> Processing triggers for man-db (2.7.0.2-5) ...                      
> Setting up elbe-schema (2.9.13+deb8+build381) ...                                                                                             
> Setting up python-elbe-bin (2.9.13+deb8+build381) ...                                                                                         
> Setting up python-elbe-common (2.9.13+deb8+build381) ...                                                                                      
> Setting up python-elbe-buildenv (2.9.13+deb8+build381) ...
> user root already exists in the database                  
> Setting up elbe-daemon (2.9.13+deb8+build381) ...       
> Setting up elbe-soap (2.9.13+deb8+build381) ...
> -----------------------------------------------------------------
> 
> 
> 
> 
> > 
> > > > If so, i think about to fixup elbe_version to retrieve
> > > > the version number via dpkg on the running system. If
> > > > elbe isn't called from source-code. Hmm, also somehow
> > > > ugly.. :/
> > > > 
> > > > > > 
> > > > > > >  % for n in pkgs:
> > > > > > >  % if n.tag == "pkg":
> > > > > > >   ${pkg2preseed (n)}\
> > > > > > > -- 
> > > > > > > 2.11.0
> > > > > > > 
> > > > > > > 
> > > > > > > _______________________________________________
> > > > > > > elbe-devel mailing list
> > > > > > > elbe-devel at linutronix.de
> > > > > > > https://lists.linutronix.de/mailman/listinfo/elbe-devel
> > > > > 
> > > > > -- 
> > > > > Torben Hohn
> > > > > Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
> > > > > Phone: +49 7556 25 999 18; Fax.: +49 7556 25 999 99
> > > > > 
> > > > > Hinweise zum Datenschutz finden Sie hier (Informations on data privacy 
> > > > > can be found here): https://linutronix.de/kontakt/Datenschutz.php
> > > > > 
> > > > > Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen | 
> > > > > Registergericht (Registration Court): Amtsgericht Freiburg i.Br., HRB700 
> > > > > 806 | Geschäftsführer (Managing Directors): Heinz Egger, Thomas Gleixner
> > > > 
> > > > 
> > > > 
> > > > _______________________________________________
> > > > elbe-devel mailing list
> > > > elbe-devel at linutronix.de
> > > > https://lists.linutronix.de/mailman/listinfo/elbe-devel
> > > 
> > > -- 
> > > Torben Hohn
> > > Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
> > > Phone: +49 7556 25 999 18; Fax.: +49 7556 25 999 99
> > > 
> > > Hinweise zum Datenschutz finden Sie hier (Informations on data privacy 
> > > can be found here): https://linutronix.de/kontakt/Datenschutz.php
> > > 
> > > Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen | 
> > > Registergericht (Registration Court): Amtsgericht Freiburg i.Br., HRB700 
> > > 806 | Geschäftsführer (Managing Directors): Heinz Egger, Thomas Gleixner
> > 
> > 
> > 
> > _______________________________________________
> > elbe-devel mailing list
> > elbe-devel at linutronix.de
> > https://lists.linutronix.de/mailman/listinfo/elbe-devel
> 
> -- 
> Torben Hohn
> Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
> Phone: +49 7556 25 999 18; Fax.: +49 7556 25 999 99
> 
> Hinweise zum Datenschutz finden Sie hier (Informations on data privacy 
> can be found here): https://linutronix.de/kontakt/Datenschutz.php
> 
> Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen | 
> Registergericht (Registration Court): Amtsgericht Freiburg i.Br., HRB700 
> 806 | Geschäftsführer (Managing Directors): Heinz Egger, Thomas Gleixner





More information about the elbe-devel mailing list