[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mawk(1) , gawk(1) and package control files (questions)



'Bill Mitchell wrote:'
>
>The following are my best guesses at answers.  If I guess wrong,
>someone with better information will correct me.

Thanks for the feedback.

>Chris Fearnley <cjf@netaxs.com> said:
[Deleted first part]
>>  o I'm not clear on the "provides" virtual package as it would apply to
>> 'awk'.  Should gawk "provide" 'awk'?  Should mawk "provide" 'awk'?
>> Since clearly awk should be a symbolic link to gawk or mawk but not
>> both, is there a conflict here?  Or should the "conflict" be resolved
>> by the {post,pre}{inst,rm} scripts (this seems best to me as most
>> people would have both installed side by side)?  Maybe my mawk package
>> should Recommends or Suggests gawk?
>
>Yes, both gawk and mawk could provide awk (presuming that mawk is
>100.00% backwards compatable with standard awk).  Other packages
>could then have a dependency on awk satisfied by either of the
>packages which provided it being installed.

Yes, mawk(1) is 100% POSIX awk compient.  It is GPL'd and still under
development.  It is also, perhaps, 3 times faster than gawk.  Though
someone could write an awk script that depended on a gawk extension.

[more deleted]
>>  o It occurs to me that many packages should "Recommends" or "Suggests"
>> man and/or info.  Yet they don't.  Why?  What am I missing?  And most
>> packages depend on ldso.  So are essential packages too basic to be
>> listed in the control files?  Is it possible that this lack of
>> consistency in setting dependencies could affect us much like the
>> current libc, libc4 and libc5 (which as required packages under Debian
>> 0.93R6 weren't mentioned in the depends fields of any packages).
>
>True.  Packages install their man pages regardless of whether
>/usr/bin/man is installed.  Ditto with info pages and /usr/bin/info.
>Also, some facilities provided by base system packages are necessary
>for installation of (some or all) packages, but no dependency is
>declared on the packages which provide those facilities.
>
>Generally, packages presume that the base system packages will be
>present without declaring explicit dependencies (though I don't
>think it's documented precisely what the base system is guaranteed
>to provide), only declare dependencies on other packages which are
>needed for their proper installation and operation, and omit declaring
>dependencies on packages needed to display their docs.

This strikes me as a bug:  it's those little assumptions that could
come back to bite.  Perhaps the Maintainers FAQ should suggest that
man, info, ldso, sh, perl, et. al. be added as per appropriate to the
recommends, suggests, and depends fields (just as libc{,4,5} are now
suggested to be explicitely listed).

-- 
Christopher J. Fearnley            |    UNIX SIG Leader at PACS
cjf@netaxs.com (finger me!)        |    (Philadelphia Area Computer Society)
cfearnl@pacs.pha.pa.us             |    Design Science Revolutionary
http://www.netaxs.com/~cjf         |    Explorer in Universe
"Dare to be Naive" -- Bucky Fuller |    Linux Advocate


Reply to: