On Fri, Apr 5, 2019 at 8:44 PM Rob Landley <[email protected]> wrote: > > I just added --restrict to require all the tarball's contents to extract > under a > single directory, and the obvious way to use it is the same as ls --color, via > alias. > > $ tar cz linux-4.20 l*.txt > ll.tgz > $ tar xvf ../ll.tgz --restrict > ... > linux-4.20/net/x25/x25_link.c > linux-4.20/net/x25/x25_proc.c > linux-4.20/net/x25/sysctl_net_x25.c > l11.txt > tar: 'l11.txt' not under '/home/landley/toybox/toy3/tartest/sub/linux-4.20' > l1.txt > tar: 'l1.txt' not under '/home/landley/toybox/toy3/tartest/sub/linux-4.20' > l2.txt > tar: 'l2.txt' not under '/home/landley/toybox/toy3/tartest/sub/linux-4.20' > $ > > Except... tar xvzf not needing dash is because the first argument is treated > specially, and extra arguments from alias come first. Do you suppose that > should > be the first _non-longopt_ argument, maybe? > > Rob > > P.S. I made it detect filenames ending in .tgz and such during compression if > you didn't specify a type. You can work around that via redirect like above > (hence no filename), but should there also be a command line --stoppit? I'm > leaning no because gunzip and bunzip2 renaming have similar "this is the > extension, it means something to me, deal with it", but I should probably ask > the question. (Extract ignores the filename and checks the signature. This one > can handle "cat blah.tgz | tar xv", the gnu/dammit one didn't bother to make > that work.) > > P.P.S. The gnu/dammit --restrict is utterly useless, it disables the ! command > to spawn a subshell when prompting to change tapes. No really. They added this > in 2005. I reused it because as long as they already added a NOP it means you > can feed --restrict to both and it'll just work.
i think this came up before, but i think this is pretty much the worst possible choice with option naming... if i'm thinking of toybox and i've asked tar to do something, the _last_ thing i want GNU tar to do is silently ignore what i asked for. i'd much rather GNU tar forced me to think about whether i actually don't care, or need to do something special, or need to make sure i'm actually running toybox tar. (in general the other direction is dangerous too, but in this specific case i'm pretty sure no-one wants to change tapes on Android or during an AOSP build --- though you'd be surprised by some of the requests we do get from folks who don't value hermetic builds quite as much as we do!) ((it's a shame GNU wasted a good name on a no-op though.)) > _______________________________________________ > Toybox mailing list > [email protected] > http://lists.landley.net/listinfo.cgi/toybox-landley.net _______________________________________________ Toybox mailing list [email protected] http://lists.landley.net/listinfo.cgi/toybox-landley.net
