[Toybox] cpio and duplicate directories

enh enh at google.com
Fri Mar 10 17:14:17 PST 2023


On Fri, Mar 10, 2023 at 12:43 PM Rob Landley <rob at landley.net> wrote:

> On 3/9/23 18:25, enh via Toybox wrote:
> > i don't _think_ there's been a bug report beyond the discussion on
> >
> https://android-review.googlesource.com/c/platform/test/vts-testcase/kernel/+/2477517
> ,
> > so repeating it here...
> >
> > """
> > The Toybox version of cpio doesn't allow duplicated directories.
>
> It tries to?
>
>       if (mkdir(*toys.optargs, 0700) == -1 && errno != EEXIST)
>         perror_exit("mkdir %s", *toys.optargs);
>
> Ah, hang on, that's for -d. (And it should warn instead of exiting.)
>
> Yup, my bug...
>
> > This
> > is however not a problem at all for the kernel or other archive
> > extraction implementations. Workaround that limitation with the option
> > -u which enforces files deletion and also has the side-effect of not
> failing
> > when a folder already exists.
>
> Hmmm, I wonder if I should tackle --sparse.
>
> Did the kernel discussion of xattr support ever revive? The linux-kernel
> community has gotten so profoundly unfriendly to non-members that
> https://lkml.iu.edu/hypermail/linux/kernel/2302.2/05594.html didn't end
> well but
> I'd happily implement something compatible in cpio.c if the new feature
> ever
> made it past the ever tightening kernel clique.
>
> > """
> >
> > """
> > This does not relate to the dev nodes but to the folder dev/ which is
> > added twice for different orthogonal reasons.
>
>
> > For some reasons toybox's CPIO does not support this by default unless
> > -u is set. (contrary to other implementations)
> > """
>
> Bug. I was only checking for errno != EEXIST in one of the two mkdir
> codepaths.
>
> Try commit d95ea079466c? Checked the fix in, still redoing the cpio.test
> file
> because the host version needs --quiet all the time to not be crazy...
>

thanks. i've synced AOSP and i'm updating the prebuilt build tools now. i
won't submit _that_ until next week though, but vdonnefort should be able
to test during his monday before i wake up on mine! (i'll add the relevant
link to gerrit change with the workaround.)


> Rob
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.landley.net/pipermail/toybox-landley.net/attachments/20230310/17ea927d/attachment.htm>


More information about the Toybox mailing list