|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2450 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 2450.
Report 2450 Actions
Problem Report Number 2450 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0664 Raised 2005-02-25 00:44 Updated 2005-03-03 18:53 Published 2005-03-03 18:53 Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03) Certification Program The Open Brand certification program Test Suite VSX4 version 4.6.3 Test Identification POSIX.os/dataform/tar 45 Specification Base Definitions Issue 6 Location in Spec XCU pax section: line 27194 Problem Summary Test assumes that hard links to symbolic links are supported by all
implementations, but in SUSv3 such support is optionalProblem Text Test 45 is testing the following from the pax section of SUSv3 TC2:
If the selected archive format supports the specification of linked
files, it shall be an error if these files cannot be linked when the
archive is extracted, except that if the files to be linked are 2
symbolic links and the system is not capable of making hard links to
symbolic links, then 2 separate copies of the symbolic link shall be
created instead.
The rationale for pax states the following:
The description of the -l option allows implementations to make hard
links to symbolic links. IEEE Std 1003.1-2001 does not specify any way
to create a hard link to a symbolic link, but many implementations
provide this capability as an extension.
Our implementation does not allow hard links to symbolic links, instead
a hard link is created to the object the symbolic links points to. As an
example:
$ echo "hello world" > file
$ ln -s file symlink
$ ln symlink hardlink
$ ls -l
total 16
-rw-r--r-- 2 vsx0 vsxg0 12 Feb 23 11:21 file
-rw-r--r-- 2 vsx0 vsxg0 12 Feb 23 11:21 hardlink
lrwxrwxrwx 1 vsx0 vsxg0 4 Feb 23 11:21 symlink -> file
$ ls -1i
34 file
34 hardlink
35 symlink
The test fails when it finds a hard link and symbolic link instead of
two symbolic links.Test Output
************************************************************************
/tset/POSIX.os/dataform/tar/T.tar 45 Failed
Test Description:
For POSIX01 and UNIX03 modes:
When reading an archive which contains a link (typeflag 1)
to a
symbolic link (typeflag 2), then the two symbolic
links are
extracted either as linked files or as separate identical
copies.
Test Strategy:
CREATE new tar archive using new_tar()
INITIALISE tar archive header using init_head()
FOR an ordinary file, a symbolic link to the ordinary file, and
a hard
link to the symbolic link:
CALCULATE check sum for format header using calc_sum()
CONVERT check sum into an ASCII string of octal digits with
trailing
space and NULL using ltoaoct()
WRITE archive header to tar archive using write_head()
INITIALISE tar archive trailer using init_trail()
WRITE archive trailer to tar archive using write_trail()
ENSURE that the files to be extracted from the archive do not
already
exist by unlinking them and then using lstat() to check
EXTRACT files from tar archive with pre-defined utility using
extract_tar()
REPEAT for the symbolic link to the ordinary file, and the hard link
to the symbolic link:
VERIFY that the current symbolic link has been created using
lstat()
VERIFY that the symbolic link has the expected contents by using
readlink()
Test Information:
symlink 2 was not extracted as a symlink
instead linked file was extracted
************************************************************************Review Information
Review Type TSMA Review Start Date 2005-02-25 00:44 Last Updated 2005-02-25 01:29 Completed 2005-02-25 01:29 Status Complete Review Recommendation Rejected (REJ) Review Response The standard clearly requires that hard-linked symbolic links in the
archive must be extracted either as hard-linked symbolic links or as
separate identical symbolic links. This implementation has done neither
of these things, it has created a hard link to the target of the first
symbolic link. This is indicative of a pax implementation which blindly
calls link() when there are hard-linked files in the archive. In order
to comply with the standard, on a system where hard-linked symbolic
links are not supported pax must detect the situation where the
hard-linked files in the archive are symbolic links and must create
separate identical symbolic links instead.
Review Type SA Review Start Date 2005-02-25 01:29 Last Updated 2005-02-25 02:53 Completed 2005-02-25 02:53 Status Complete Review Resolution Rejected (REJ) Review Conclusion This PR is rejected as a TSD for the grounds stated by the TSMA.
Problem Reporting System Options:
- View Report 2450
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority