[elbe-devel] [PATCH 2/2] elbexml: parse options from urls, and merge them properly

Torben Hohn torben.hohn at linutronix.de
Wed Jul 22 16:26:34 CEST 2020


On Wed, Jul 22, 2020 at 10:18:41AM -0400, Olivier Dion wrote:
> On Wed, 22 Jul 2020, Torben Hohn <torben.hohn at linutronix.de> wrote:
> > the new noauth logic conflicts with [arch=armhf] options in
> > urls.
> >
> > Fix that, by parsing them, and adding them to the generated options.
> > This is probably going to be reverted for v12.6, because there
> > is a new implementation on its way.
> >
> > Signed-off-by: Torben Hohn <torben.hohn at linutronix.de>
> > ---
> >  elbepack/elbexml.py | 32 +++++++++++++++++++++++++-------
> >  1 file changed, 25 insertions(+), 7 deletions(-)
> >
> > diff --git a/elbepack/elbexml.py b/elbepack/elbexml.py
> > index bcfd2054a..ceeb2d36a 100644
> > --- a/elbepack/elbexml.py
> > +++ b/elbepack/elbexml.py
> > @@ -158,35 +158,53 @@ class ElbeXML(object):
> >          if not self.prj.has("mirror") and not self.prj.has("mirror/cdrom"):
> >              return "# no mirrors configured"
> >  
> > -        options = []
> > +        global_options = []
> > +        primary_options = []
> >          if self.prj.has("noauth"):
> > -            options.append("trusted=yes")
> > +            global_options.append("trusted=yes")
> >  
> >          if hostsysroot:
> >              arch = self.text("project/buildimage/sdkarch", key="sdkarch")
> >          else:
> >              arch = self.text("project/buildimage/arch", key="arch")
> >  
> > -        options.append("arch=%s" % arch)
> > +        primary_options.append("arch=%s" % arch)
> >  
> >          mirror = []
> >          if self.prj.has("mirror/primary_host"):
> >              pmirror = self.get_primary_mirror(None, hostsysroot=hostsysroot)
> >              mirror.append("deb [%s] %s %s main" %
> > -                          (' '.join(options), pmirror, self.prj.text("suite")))
> > +                          (' '.join(global_options+primary_options), pmirror, self.prj.text("suite")))
> >  
> >              if build_sources:
> >                  mirror.append("deb-src [%s] %s %s main" %
> > -                              (' '.join(options), pmirror, self.prj.text("suite")))
> > +                              (' '.join(global_options+primary_options), pmirror, self.prj.text("suite")))
> >  
> >              if self.prj.has("mirror/url-list") and not hostsysroot:
> >                  for url in self.prj.node("mirror/url-list"):
> > +
> >                      if url.has("binary"):
> > +                        binurl = url.text("binary").strip()
> > +                        m = re.match(r'\[(.*)\] (.*)', binurl)
> > +
> > +                        local_options = []
> > +                        if m:
> > +                            local_options.append(m.group(1))
> > +                            binurl = m.group(2)
> > +
> >                          mirror.append("deb [%s] %s" %
> > -                                      (' '.join(options), url.text("binary").strip()))
> > +                                      (' '.join(global_options+local_options), binurl))
> >                      if url.has("source"):
> > +                        srcurl = url.text("source").strip()
> > +                        m = re.match(r'\[(.*)\] (.*)', srcurl)
> > +
> > +                        local_options = []
> > +                        if m:
> > +                            local_options.append(m.group(2))
> 
> This should be m.group(1)

good catch... thanks.

> 
> > +                            srcurl = m.group(2)
> > +
> >                          mirror.append("deb-src [%s] %s" %
> > -                                      (' '.join(options), url.text("source").strip()))
> > +                                      (' '.join(global_options+local_options), srcurl))
> >  
> >          if self.prj.has("mirror/cdrom"):
> >              mirror.append("deb copy:///cdrom/targetrepo %s main added" %
> > -- 
> > 2.20.1
> >
> > _______________________________________________
> > elbe-devel mailing list
> > elbe-devel at linutronix.de
> > https://lists.linutronix.de/mailman/listinfo/elbe-devel
> -- 
> Olivier Dion
> Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
> _______________________________________________
> 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