Bug 97059

Summary: pax(1): -b option description could be flawed
Product: Documentation Reporter: Coleman Kane <cokane>
Component: Books & ArticlesAssignee: Coleman Kane <cokane>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Coleman Kane freebsd_committer freebsd_triage 2006-05-09 23:40:11 UTC
	The pax(1) manpage states the following for the -b flag:
     -b blocksize
           When writing an archive, block the output at a positive decimal
           integer number of bytes per write to the archive file.  The
           blocksize must be a multiple of 512 bytes with a maximum of 64512
           bytes.  Archives larger than 32256 bytes violate the POSIX standard
           and will not be portable to all systems.  A blocksize can end with
           k or b to specify multiplication by 1024 (1K) or 512, respectively.
           A pair of blocksizes can be separated by x to indicate a product.
           A specific archive device may impose additional restrictions on the
           size of blocking it will support.  When blocking is not specified,
           the default blocksize is dependent on the specific archive format
           being used (see the -x option).

        Specifically, the statement:
          Archives larger than 32256 bytes violate the POSIX standard
        
        This could be worded better as:
          Archive block sizes larger than 32256 bytes violate the POSIX
          standard

        This sounds more like what the author might have meant. 

        However, searching around on the internet has yielded 32256 as being
        the enforced maximum by POSIX, while 10240 is described as the 
        "compatibility maximum".

Fix: 

Rewrite: 
          "Archives larger than 32256 bytes violate the POSIX standard"
             to say:
    "Archive block sizes larger than 32256 bytes violate the POSIX standard"
How-To-Repeat: 	man pax
Comment 1 Giorgos Keramidas freebsd_committer freebsd_triage 2006-05-10 21:04:14 UTC
> The pax(1) manpage states the following for the -b flag:
>
>   -b blocksize
>         When writing an archive, block the output at a positive
>         decimal integer number of bytes per write to the archive
>         file.  The blocksize must be a multiple of 512 bytes with
>         a maximum of 64512 bytes.  Archives larger than 32256
>         bytes violate the POSIX standard and will not be portable
>         to all systems.  A blocksize can end with k or b to
>         specify multiplication by 1024 (1K) or 512, respectively.
>         A pair of blocksizes can be separated by x to indicate a
>         product.  A specific archive device may impose additional
>         restrictions on the size of blocking it will support.
>         When blocking is not specified, the default blocksize is
>         dependent on the specific archive format being used (see
>         the -x option).
>
>   Specifically, the statement:
>
>         Archives larger than 32256 bytes violate the POSIX
>         standard
>
>   This could be worded better as:
>
>         Archive block sizes larger than 32256 bytes violate the
>         POSIX standard
>
>   This sounds more like what the author might have meant.

True.  Limiting the _full_ archive size to 32KB is contradictory
with the previous sentence about 64512 bytes, and would render
pax(1) pretty useless anyway.

Feel free to make the manpage change, or let me know and I'll do it.
Comment 2 Coleman Kane freebsd_committer freebsd_triage 2006-05-11 05:22:06 UTC
On Wed, May 10, 2006 at 11:04:14PM +0300, Giorgos Keramidas wrote, and it was proclaimed:
> > The pax(1) manpage states the following for the -b flag:
> >
> >   -b blocksize
> >         When writing an archive, block the output at a positive
> >         decimal integer number of bytes per write to the archive
> >         file.  The blocksize must be a multiple of 512 bytes with
> >         a maximum of 64512 bytes.  Archives larger than 32256
> >         bytes violate the POSIX standard and will not be portable
> >         to all systems.  A blocksize can end with k or b to
> >         specify multiplication by 1024 (1K) or 512, respectively.
> >         A pair of blocksizes can be separated by x to indicate a
> >         product.  A specific archive device may impose additional
> >         restrictions on the size of blocking it will support.
> >         When blocking is not specified, the default blocksize is
> >         dependent on the specific archive format being used (see
> >         the -x option).
> >
> >   Specifically, the statement:
> >
> >         Archives larger than 32256 bytes violate the POSIX
> >         standard
> >
> >   This could be worded better as:
> >
> >         Archive block sizes larger than 32256 bytes violate the
> >         POSIX standard
> >
> >   This sounds more like what the author might have meant.
> 
> True.  Limiting the _full_ archive size to 32KB is contradictory
> with the previous sentence about 64512 bytes, and would render
> pax(1) pretty useless anyway.
> 
> Feel free to make the manpage change, or let me know and I'll do it.
> 

I'll tackle it.
Comment 3 Giorgos Keramidas freebsd_committer freebsd_triage 2006-05-12 16:27:08 UTC
State Changed
From-To: open->patched

This has been fixed in HEAD. 


Comment 4 Giorgos Keramidas freebsd_committer freebsd_triage 2006-05-12 16:27:08 UTC
Responsible Changed
From-To: freebsd-doc->cokane

Assign this PR in `patched' state to cokane, as an MFC reminder.
Comment 5 Coleman Kane freebsd_committer freebsd_triage 2008-02-29 21:13:10 UTC
State Changed
From-To: patched->closed

The change has been MFC'd