mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: "Baeuerle, Florian" <Florian.Baeuerle@allegion.com>
To: "ptxdist@pengutronix.de" <ptxdist@pengutronix.de>
Subject: Re: [ptxdist] How to create multiple packages, which contain same filename ?
Date: Fri, 14 Dec 2018 11:51:39 +0000	[thread overview]
Message-ID: <18cd184b149bdb2c0fed9d420b5ae0727987140c.camel@allegion.com> (raw)
In-Reply-To: <CAA0ZWqYugB_QrmyQb4HDKNxP3TJ+tVJkdcm-MUUBZXiOpViBEQ@mail.gmail.com>

Hi Andreas,

Am Freitag, den 14.12.2018, 11:57 +0100 schrieb Andreas Friesen:
> Hi Florian,
> 
> I added some randomized sleeps to *.install rules.  It works for now, but its
> realy ugly.

Yes it is. The fix is either adding an option to disable ROOTDIR or locking
ROOTDIR while installing stuff there.

> 
> Best Regards,
> Andreas.
> 
> Am Di., 11. Dez. 2018 um 12:14 Uhr schrieb Baeuerle, Florian <
> Florian.Baeuerle@allegion.com>:
> > Hi Andreas,
> > 
> > maybe you can confirm if this assumption is correct:
> > 
> > You are using image packages with your collections to create rootfs images
> > for
> > your three different variants.
> > 
> > If so, then this probably the root cause:
> > 
> > ptxdist has this "nfsroot" feature. By default, it installs everything into
> > $build/root. This is a bit problematic when using image packages, because it
> > will install all your variant packages in parallel. This leads to races
> > where
> > variant-1 wants to install and chmod a file, but shortly before variant-1's
> > targetinstall wants to chmod the file, variant-2 replaces it.
> > 
> > Additionally, the content of the nfsroot are not really predictable.
> > 
> > There is currently no option to disable nfsroot (wouldn't be a problem
> > anyway,
> > because for image packages you can have an nfsroot for each root image you
> > create). I want to submit a patch (well, at some point...).
> > 
> > If you just need a short workaround, you can place sleeps into your image
> > packages .targetinstall stages (That's what I do).
> > 
> > variant-1: no sleeping
> > variant-2: sleep 1
> > variant-3: sleep 2
> > 
> > It's just an ugly workaround and it can still fail.
> > 
> > Feel free to go ahead and submit a patch, proposal #1 or #2 to fix the issue
> > probably have chance to get accepted:
> > https://www.mail-archive.com/ptxdist@pengutronix.de/msg13614.html
> > 
> > 
> > Best Regards
> > Florian
> > 
> > Am Dienstag, den 11.12.2018, 11:59 +0100 schrieb Andreas Friesen:
> > > Hi Florian,
> > > 
> > > ptxdist reports me after workspace clean this error (see below). This is
> > > always first targetinstall  one of the above mentioned packages. The build
> > > order seems to be random.
> > > After repetition of "ptxdist go -j -q " is the build OK.  Who create /boot
> > in
> > > root ? Or witch /boot  is meant ?  What is wrong ? 
> > > 
> > > -------------------------------------                                     
> >    
> > >                                                                           
> >   
> > >                                                    
> > >  target: fpgaimage-cx27c.targetinstall                                   
> >    
> > >                                                                           
> >   
> > >                                                      
> > >  -------------------------------------                                   
> >    
> > >                                                                           
> >   
> > >                                                      
> > >                                                                           
> >   
> > >                                                                           
> >   
> > >                                                      
> > > install_init:   preparing for image creation of 'fpgaimage-cx27c'...     
> >    
> > >                                                                           
> >   
> > >                                                      
> > > ....                                                                     
> >    
> > >                     
> > > xpkg_finish:    creating opkg package ...                                 
> >    
> > >                                                                           
> >   
> > >                                                     
> > >                                                                           
> >   
> > >                                                                           
> >   
> > >                                                      
> > > install file:                                                             
> >    
> > >                                                                           
> >   
> > >                                                     
> > >   src=ptx-
> > multi/projectroot/lib/firmware/fpga_complete/soc_system_cx27c.rbf   
> > >                                                                           
> >   
> > >                                                     
> > >     dst=/boot/fpgaimage.rbf                                               
> >    
> > >                                                                           
> >   
> > >                                                     
> > >       owner=0                                                             
> >    
> > >                                                                           
> >   
> > >                                                     
> > >         group=0                                                           
> >    
> > >                                                                           
> >   
> > >                                                     
> > >           permissions=0755                                               
> >    
> > >                                                                           
> >   
> > >                                                      
> > >                                                                           
> >   
> > >                                                                           
> >   
> > >                                                      
> > > chmod: cannot access '/home/friesen/quantumx/projects/ppc/ptx-
> > multi/platform-
> > > soc/root/boot/fpgaimage.rbf': No such file or directory                   
> >    
> > >                                                      
> > > Error: install_file failed!                                               
> >    
> > >                                                                           
> >   
> > >                                                     
> > >                                                                           
> >   
> > >                                                                           
> >   
> > >                                                      
> > > xpkg_finish: failed.                                                     
> >    
> > >                                                                           
> >   
> > >                                                      
> > >                                                                           
> >   
> > >                                                                           
> >   
> > >                                                      
> > > /home/friesen/quantumx/projects/ppc/ptx-multi/rules/fpgaimage-
> > cx27c.make:12:
> > > recipe for target '/home/friesen/quantumx/projects/ppc/ptx-multi/platform-
> > > soc/state/fpgaimage-cx27c.targetinstall' failed           
> > > make: *** [/home/friesen/quantumx/projects/ppc/ptx-multi/platform-
> > > soc/state/fpgaimage-cx27c.targetinstall] Error 1                         
> >    
> > >                                                                  
> > > make: *** Waiting for unfinished jobs....                                 
> >    
> > >                                                                           
> >   
> > >                                                     
> > >                                                                           
> >   
> > >                               
> > > 
> > > Am Di., 11. Dez. 2018 um 09:58 Uhr schrieb Baeuerle, Florian <
> > > Florian.Baeuerle@allegion.com>:
> > > > Hi Andreas,
> > > > 
> > > > this use case is supported by ptxdist, actually quite exactly as you
> > planned
> > > > it.
> > > > 
> > > > You will eventually run into this issue:
> > > > 
> > > > https://www.mail-archive.com/ptxdist@pengutronix.de/msg13611.html
> > > > 
> > > > But probably only if you use image packages for creating your three
> > rootfses
> > > > at
> > > > the same time (saves a lot of build time btw).
> > > > 
> > > > 
> > > > Best Regards
> > > > Florian
> > > > 
> > > > Am Donnerstag, den 06.12.2018, 12:49 +0100 schrieb Andreas Friesen:
> > > > > Hello everyone,
> > > > > 
> > > > > we've got many module types, each module type  builds on same
> > platform. I
> > > > > would like create a generic barebox environment for all module types.
> > > > > 
> > > > > My problem is, that ptxdist  don't like packages, which contain same
> > > > filename.
> > > > > My plan was to create several packages : 
> > > > > 
> > > > > - firmware-Type-A.ipkg (contains /boot/{fpga.bin,platform.dtb)
> > > > > - firmware-Type-B.ipkg (contains  /boot/{fpga.bin,platform.dtb)
> > > > > - firmware-Type-C.ipkg (contains  /boot/{fpga.bin,platform.dtb)
> > > > > 
> > > > > And each module install via" collection" the respective package.
> > > > > 
> > > > > What can I do ? I would like to avoid having foreign components in the
> > > > > firmware package.
> > > > > 
> > > > > Regards,
> > > > > Andreas Friesen
> > > > > _______________________________________________
> > > > > ptxdist mailing list
> > > > > ptxdist@pengutronix.de
> > > > _______________________________________________
> > > > ptxdist mailing list
> > > > ptxdist@pengutronix.de
> > > 
> > > _______________________________________________
> > > ptxdist mailing list
> > > ptxdist@pengutronix.de
> > _______________________________________________
> > ptxdist mailing list
> > ptxdist@pengutronix.de
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

      reply	other threads:[~2018-12-14 11:51 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-06 11:49 Andreas Friesen
2018-12-11  7:29 ` Michael Olbrich
2018-12-11  8:58 ` Baeuerle, Florian
2018-12-11 10:59   ` Andreas Friesen
2018-12-11 11:13     ` Baeuerle, Florian
2018-12-14 10:57       ` Andreas Friesen
2018-12-14 11:51         ` Baeuerle, Florian [this message]

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=18cd184b149bdb2c0fed9d420b5ae0727987140c.camel@allegion.com \
    --to=florian.baeuerle@allegion.com \
    --cc=ptxdist@pengutronix.de \
    /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