#3823 closed defect (fixed)

Untar_ family doesn't handle nested directories

Reported by: Jonathan Brandmeyer Owned by: Sebastian Huber <sebastian.huber@…>
Priority: low Milestone: 5.1
Component: rtems Version: 5
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

At least, not in some circumstances.

For example, foo/bar.txt untar's just fine, but foo/bar/baz.txt does not. If sub-directory foo/ exists first, then foo/bar/baz.txt does unpack correctly.

We only use the Untar_*() family during our initial programming workflow, so hacking around this problem wasn't too laborious for us.

Change History (7)

comment:1 Changed on Nov 20, 2019 at 10:24:42 PM by Chris Johns

What happens if you add --format=ustar to your tar command ?

comment:2 Changed on Nov 21, 2019 at 8:08:50 AM by Sebastian Huber <sebastian.huber@…>

In 11455b2e/rtems:

imfs: Fix IMFS_make_linearfile()

Fix prototype.

Fix node size. Linfiles are dynamically turned into memfiles.

Update #3823.

comment:3 Changed on Nov 25, 2019 at 10:45:48 AM by Sebastian Huber <sebastian.huber@…>

In b6f66d9/rtems:

untar: Unify untar support

Update #3823.

comment:4 Changed on Nov 25, 2019 at 10:45:52 AM by Sebastian Huber <sebastian.huber@…>

Owner: set to Sebastian Huber <sebastian.huber@…>
Resolution: fixed
Status: newclosed

In 2de05dd/rtems:

untar: Make path also for symbolic links

Close #3823.

comment:5 Changed on Nov 25, 2019 at 6:45:57 PM by Jonathan Brandmeyer

Thanks for the fixes; I'll retest in our workflow shortly. Our team is in a "frozen for release" state at the moment, so we're somewhat behind RTEMS master right now.

Using the ustar format had no effect.

comment:6 Changed on Nov 26, 2019 at 6:33:58 AM by Sebastian Huber

Resolution: fixed
Status: closedreopened

I added a test case and noticed, that the path creation is still broken.

comment:7 Changed on Nov 26, 2019 at 7:35:06 AM by Sebastian Huber <sebastian.huber@…>

Resolution: fixed
Status: reopenedclosed

In 4551f5f/rtems:

untar: Properly make parent path

Close #3823.

Note: See TracTickets for help on using tickets.