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

Re: New packaging manual draft



On 19 Sep 2000, Manoj Srivastava wrote:

> 	I have put an initial draft of the new package related policy
>  manual on http://master.debian.org/%7Esrivasta/new-packaging.txt. I
>  have tried to trim tis down to include only stuff I think ought to be

AFIAK this is an error:

     All but `Pre-Depends' (discussed below) take effect _only_ when a         
     package is to be configured.  They do not prevent a package being on      
     the system in an unconfigured state while its dependencies are        

It should be All but 'Pre-Depends' and 'Conflicts'. The rest of the
paragraph is also misleading. At any arbitary time it is possible
for any Depends relations to become un satisfied either due to an invalid
version of a newly installed package or due to the target package being
unpacked.

          `dpkg' will not configure packages whose dependencies aren't         
          satisfied.  If it is asked to make an installation which would   
          cause an installed package's dependencies to become unsatisfied      
          it will complain [1], unless `--auto-deconfigure' is specified,  
          in which case those packages will be deconfigured before the        
          installation proceeds.            

IIRC this is just completely false. Dpkg breaks reverse dependencies
without any error or warning - that is how it must operate.

I also have misgivings about putting alot of this tool-specific gunk in a
policy document, like:

          However, this process is slow (because it requires repeated       
          invocations of `dpkg') and troublesome (because it requires      
          guessing where to find the appropriate files).  

Which doesn't really apply to APT tools - there is no guessing.

          However, when a package declaring a predependency is being           
          unpacked the predependency can be satisfied even if the          
          depended-on package(s) are only unpacked or half-configured,  

I don't think this is true.. But I forget exactly. Especially since it
talks about 'previously configured' which is not a concept dpkg has.  APT
is implemented with the strong requirement of unpacked and configured
here. (APT has stronger requirements for all of relations when it is
sequencing installations - but they cannot be relied on in order to
maintain dpkg compatibility)

     the conflicted-with package had been completed.  This aspect of       
     installation ordering is not handled by `dselect', so that the use        
     `Conflicts' in this way is likely to cause problems for `bulk run'        
     upgrades and installations.       

Is of course false when using APT.

There seems to be missing a discussion on how dependencies and essential
packages relate to maintainer scripts. There are some unobvious side
effects here that should be noted explicitly - like removal scripts can't
rely on pre-depends/depends and pre-inst can not rely on depends, etc. 

I think we should tank this paragraph - it describes ancient practice.

[1]  The characters `@' `:' `=' `%' `_' (at, colon, equals, percent and     
     underscore) used to be legal and are still accepted when found in a   
     package file, but may not be used in new packages    

The list of fields section is massively incomplete.. I have the full list
someplace if someone would like to document them all.

Jason



Reply to: