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
prev parent 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