Present Perfect


Picture Gallery
Present Perfect

And you thought tar was stable

Filed under: General — Thomas @ 22:22


Apparently, tar has changed some default behaviour:

Previous versions of GNU tar assumed shell-style globbing when extracting from or listing an archive. For example:

          $ tar xf foo.tar '*.c'

would extract all files whose names end in ‘.c’. This behavior was not documented and was incompatible with traditional tar implementations. Therefore, starting from version 1.15.91, GNU tar no longer uses globbing by default. For example, the above invocation is now interpreted as a request to extract from the archive the file named *.c.

Looks fairly innocent, except that it completely breaks rpmbuild -ta.

I'm sure the tar people would blame rpm for doing something stupid in the way they use tar. On the other hand, deprecating behaviour in a stable series is probably not a good thing to do, and if it affects a widely used piece of software like rpm, clearly there is a process failure somewhere, either at the distro, or in both of these projects. Problems like this happen all the time, and I'm definitely not going to say I haven't made any of these mistakes in any of the projects I've worked on.

But I guess I should remember this particular instance next time someone accuses GStreamer of not being API/ABI/feature stable, when in reality we spend an inordinate amound of time and effort in making sure it is, to the best of our knowledge.

For those of you who have problems with rpmbuild -ta, setting TAR_OPTIONS to --wildcards should help. And that particular workaround should allow me to fix my buildslaves again.

No Comments

No comments yet.

RSS feed for comments on this post. TrackBack URL

Sorry, the comment form is closed at this time.