Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-21 Thread Colin Watson
On Wed, Mar 18, 2009 at 10:29:35PM +0100, Bill Allombert wrote:
 Is there actually packages that does not use debconf ? 

The one I'm involved with is base-passwd; but it only doesn't use
debconf because I've been putting off dealing with figuring out how to
convert it over (since it ideally ought to go along with asking slightly
more fine-grained questions about changes, and since most of the logic
is in a C program). Seeing as I'm a debconf co-maintainer, this is
really just me being slack rather than anything that should hold up
policy, though!

-- 
Colin Watson   [cjwat...@debian.org]



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-20 Thread Julien Cristau
On Fri, 2009-03-20 at 12:27 +1300, Andrew McMillan wrote:
 Package maintainer scripts may prompt the user if necessary.
 Prompting must be done by communicating through a program, such
 as debconf, which conforms to the Debian Configuration
 Management Specification, version 2 or higher.
 
 Packages which are essential, or which are dependencies of
 essential packages, may fall back on another prompting method if
 no such interface is available when they are executed.
 
Seconded.

Cheers,
Julien



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-20 Thread Andrew McMillan
On Thu, 2009-03-19 at 16:44 -0700, Russ Allbery wrote:
 Andrew McMillan and...@morphoss.com writes:
 
  Here's an updated patch to apply the following wording:
 
  Package maintainer scripts may prompt the user if necessary.
  Prompting must be done by communicating through a program, such
  as debconf, which conforms to the Debian Configuration
  Management Specification, version 2 or higher.
  
  Packages which are essential, or which are dependencies of
  essential packages, may fall back on another prompting method if
  no such interface is available when they are executed.
 
 Seconded.

That seems to be accepted by everyone, so I've pushed it to policy now.

I hope that's the right thing...  Please tell me if I've done something
the wrong way, or whatever.

Cheers,
Andrew.


andrew (AT) morphoss (DOT) com+64(272)DEBIAN
 Courage is your greatest present need.






-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-20 Thread Russ Allbery
Andrew McMillan and...@morphoss.com writes:

 That seems to be accepted by everyone, so I've pushed it to policy now.

 I hope that's the right thing...  Please tell me if I've done something
 the wrong way, or whatever.

The Policy change is good.  When adding it to the mainline, please also
add an item to upgrading-checklist.html and debian/changelog and then tag
the bug as pending.

http://wiki.debian.org/Teams/Policy (near the bottom) hopefully helps
here.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-20 Thread Julien Cristau
On Sat, 2009-03-21 at 10:27 +1300, Andrew McMillan wrote:
 That seems to be accepted by everyone, so I've pushed it to policy now.
 
 I hope that's the right thing...  Please tell me if I've done something
 the wrong way, or whatever.

It looks like you've modified the 3.8.1.0 changelog entry instead of
3.8.2 :)

Cheers,
Julien



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-20 Thread Andrew McMillan
On Fri, 2009-03-20 at 23:43 +0100, Julien Cristau wrote:
 On Sat, 2009-03-21 at 10:27 +1300, Andrew McMillan wrote:
  That seems to be accepted by everyone, so I've pushed it to policy now.
  
  I hope that's the right thing...  Please tell me if I've done something
  the wrong way, or whatever.
 
 It looks like you've modified the 3.8.1.0 changelog entry instead of
 3.8.2 :)

Gah!

Sorry - fixed now.

Cheers,
Andrew.


andrew (AT) morphoss (DOT) com+64(272)DEBIAN
Open Source: the difference between trust and antitrust






-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread sean finney
On Wed, Mar 18, 2009 at 10:29:35PM +0100, Bill Allombert wrote:
 Is there actually packages that does not use debconf ? 

dpkg...


sean


signature.asc
Description: Digital signature


Re: Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread Raphael Hertzog
On Wed, 18 Mar 2009, Russ Allbery wrote:
 Manoj Srivastava sriva...@acm.org writes:
 
  Also, there is the funny case of config scripts; these are run
   even before preinst, and before any pre-dependencies are installed. And
   yet, these scripts are often used to prompt using debconf; they must be
   no-ops if debconf is not yet installed (they get re-run later, I
   think). 
 
 Yeah, they're run via debconf's integration with the rest of the packaging
 system as I understand it, and are automatically run at postinst time
 before the postinst if they weren't run previously.

They are not executed (before the install starts) if debconf is not installed.

Hence I'm not sure if it's important to mention that they should be no-ops
if debconf is not installed.

Cheers,
-- 
Raphaël Hertzog

Contribuez à Debian et gagnez un cahier de l'admin Debian Lenny :
http://www.ouaza.com/wp/2009/03/02/contribuer-a-debian-gagner-un-livre/


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread Raphael Hertzog
On Thu, 19 Mar 2009, sean finney wrote:
 On Wed, Mar 18, 2009 at 10:29:35PM +0100, Bill Allombert wrote:
  Is there actually packages that does not use debconf ? 
 
 dpkg...

Not anymore, no. There's no prompting in any of the dpkg's maintainer
scripts.

Cheers,
-- 
Raphaël Hertzog

Contribuez à Debian et gagnez un cahier de l'admin Debian Lenny :
http://www.ouaza.com/wp/2009/03/02/contribuer-a-debian-gagner-un-livre/


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread sean finney
hi raphael,

On Thu, Mar 19, 2009 at 08:10:21AM +0100, Raphael Hertzog wrote:
 On Thu, 19 Mar 2009, sean finney wrote:
  On Wed, Mar 18, 2009 at 10:29:35PM +0100, Bill Allombert wrote:
   Is there actually packages that does not use debconf ? 
  
  dpkg...
 
 Not anymore, no. There's no prompting in any of the dpkg's maintainer
 scripts.

dpkg still prompts for input on conffile changes.  

i suppose if one were to nitpick it's not in a maintainer script per
se, but it is part of the install/upgrade process and is problematic in
the same way for noninteractive/gui installs as what policy is trying to
solve in 3.9.1.  thus i'd say it's rather an unintentional omission
of policy than something that could be overlooked.


sean


signature.asc
Description: Digital signature


Re: Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread Raphael Hertzog
On Thu, 19 Mar 2009, sean finney wrote:
 hi raphael,
 
 On Thu, Mar 19, 2009 at 08:10:21AM +0100, Raphael Hertzog wrote:
  On Thu, 19 Mar 2009, sean finney wrote:
   On Wed, Mar 18, 2009 at 10:29:35PM +0100, Bill Allombert wrote:
Is there actually packages that does not use debconf ? 
   
   dpkg...
  
  Not anymore, no. There's no prompting in any of the dpkg's maintainer
  scripts.
 
 dpkg still prompts for input on conffile changes.  

Oh, right. I agree that we should aim to fix this as well but it's not
especially relevant in this -policy discussion.

I hope Guillem will work out something based on your patches in the
squeeze timeframe.

That said, while it can improve the user-interface in the interactive
part, none of the solutions up to now include code to pre-answer all the
configuration files questions. But it should be doable in most cases as
the conffiles should not change between the start of the apt run and
the postinst. Exactly like we extract config files, we could extract the
conffiles and pre-ask all the relevant questions.

Cheers,
-- 
Raphaël Hertzog

Contribuez à Debian et gagnez un cahier de l'admin Debian Lenny :
http://www.ouaza.com/wp/2009/03/02/contribuer-a-debian-gagner-un-livre/


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread Andrew McMillan
On Wed, 2009-03-18 at 20:26 -0700, Russ Allbery wrote:
  Management Specification, version 2 or higher, unless no such
  interface is available when they are executed.
 

 
 Should we require that non-essential packages depend on debconf if they're
 going to do prompting?  That wording implies to me that any package could
 check whether it was already installed (without a dependency) and fall
 back on non-debconf prompting, but I think that should only be permissible
 for essential packages.

It seems to me that to mandate it that tightly is unnecessary.  Surely
it will be simpler for a maintainer who has added support for Debconf to
just depend on it.  Even if the maintainer does provide a workaround for
an inessential package I can't see that it will matter to me: the
important element is that they support the debconf interface, not to
restrict what they might do in addition to that.


 The only other thing that I'm not sure about is what to do about preinst
 scripts.  Are we requiring debconf for preinst prompting (and hence
 requiring a Pre-Depends) for non-essential packages?

If a developer wants to prompt in their preinst (extremely rare, I
believe, and explicitly recommended against in policy) then they
certainly should either (a) pre-depend on debconf, or (b) provide a
work-around solution for the case where debconf is not installed on the
target system.  The decision to pre-depend on debconf would seem like a
no-brainer to the maintainer, I suspect.

Since almost all packages *will* have situations where they are called
when debconf is available they will (according to the wording above) all
be required to use debconf.  The fallback would only be chosen at
execution time.

Effectively I'm proposing that all packages needing user input must
support debconf (or equivalent) - but also to recognise that some of
them might be required to (install|configure|remove|...) with user input
in it's absence and not to restrict them from Doing The Right Thing in
that circumstance.

Cheers,
Andrew.


andrew (AT) morphoss (DOT) com+64(272)DEBIAN
   You will gain money by a fattening action.






-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread Holger Levsen
Hi,

On Donnerstag, 19. März 2009, Russ Allbery wrote:
  Package maintainer scripts may prompt the user if necessary.
  Prompting must be done by communicating through a program, such
  as debconf, which conforms to the Debian Configuration
  Management Specification, version 2 or higher, unless no such
  interface is available when they are executed.

 Package maintainer scripts may prompt the user if necessary.
 Prompting must be done by communicating through a program, such
 as debconf, which conforms to the Debian Configuration
 Management Specification, version 2 or higher. Exempted from using   
 such a programm are required/essential packages if no such
 interface is available when they are executed.

 Should we require that non-essential packages depend on debconf if they're
 going to do prompting?  That wording implies to me that any package could
 check whether it was already installed (without a dependency) and fall
 back on non-debconf prompting, but I think that should only be permissible
 for essential packages.

See the proposal above.

 The only other thing that I'm not sure about is what to do about preinst
 scripts.  Are we requiring debconf for preinst prompting (and hence
 requiring a Pre-Depends) for non-essential packages?

As we require it for any prompting, this includes preinst, and as stuff used 
in preinst needs to be a Pre-Depends, I think this is clear.


regards,
Holger

P.S. Andrew, thanks! 



signature.asc
Description: This is a digitally signed message part.


Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread Russ Allbery
Holger Levsen hol...@layer-acht.org writes:

  Package maintainer scripts may prompt the user if necessary.
  Prompting must be done by communicating through a program, such
  as debconf, which conforms to the Debian Configuration
  Management Specification, version 2 or higher. Exempted from using   
  such a programm are required/essential packages if no such
  interface is available when they are executed.

I think required is too weak; I think we want to say only essential.
However, that does open up the problem of libc6.  How about:

Packages that are essential or that are dependencies of essential
packages may fall back on another prompting method if no such
interface is available when they are executed.

I like this approach better; I'd rather require all non-essential packages
to use debconf, including depending on it and failing if it doesn't work
for some reason.  It just removes some ambiguity, I think.  Falling back
to some other prompting method is just going to change the failure mode
for non-interactive installs, and while essential packages have to deal
with this, other packages really shouldn't.

I may be missing some subtlety, though.

 The only other thing that I'm not sure about is what to do about
 preinst scripts.  Are we requiring debconf for preinst prompting (and
 hence requiring a Pre-Depends) for non-essential packages?

 As we require it for any prompting, this includes preinst, and as stuff
 used in preinst needs to be a Pre-Depends, I think this is clear.

Agreed.

 P.S. Andrew, thanks! 

Yes, thank you!

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread Andrew McMillan
On Thu, 2009-03-19 at 10:55 -0700, Russ Allbery wrote:
 
 Packages that are essential or that are dependencies of essential
 packages may fall back on another prompting method if no such
 interface is available when they are executed.

Since we're essentially saying that all packages must support debconf,
why bother restricting the set of packages which are allowed to provide
a fallback?

From a maintainer's POV surely they will only be working to provide a
fallback if they desire their package to be installable when debconf is
not available.  I don't think we should second-guess their reasons for
doing so.

Our motivation here should be simply to ensure that all packages support
debconf (or a future replacement), not to over-control what they can do
in addition to that.

Cheers,
Andrew.


andrew (AT) morphoss (DOT) com+64(272)DEBIAN
Your true value depends entirely on what you are compared with.






-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread Steve Langasek
On Fri, Mar 20, 2009 at 09:13:19AM +1300, Andrew McMillan wrote:
 On Thu, 2009-03-19 at 10:55 -0700, Russ Allbery wrote:

  Packages that are essential or that are dependencies of essential
  packages may fall back on another prompting method if no such
  interface is available when they are executed.

 Since we're essentially saying that all packages must support debconf,
 why bother restricting the set of packages which are allowed to provide
 a fallback?

Because the fallback is a worst case scenario, because testing for files
on the filesystem is a poor proxy for determining whether the interface is
in a usable state, and because adding the fallback code means duplicating
logic in your maintainer script and making it way more complex than it needs
to be.  The fallback should only be permitted in Essential packages where it
has to be there in order to avoid unbreakable loops; in all other cases,
maintainers should properly declare their need for debconf and avoid making
their maintainer scripts more clever and less robust.

This also ensures that (assuming the maintainer is following policy) uses of
debconf in preinsts are publically vetted by debian-devel before hitting the
archive.

 From a maintainer's POV surely they will only be working to provide a
 fallback if they desire their package to be installable when debconf is
 not available.  I don't think we should second-guess their reasons for
 doing so.

On the contrary, the maintainer is already second-guessing the package
system and the normal rules governing maintainer scripts at that point.
While there may be cases we haven't thought of where a fallback is
necessary, I think we should be explicitly whitelisting these as they are
identified instead of leaving it to maintainers' individual judgement.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread Russ Allbery
Andrew McMillan and...@morphoss.com writes:
 On Thu, 2009-03-19 at 10:55 -0700, Russ Allbery wrote:

 Packages that are essential or that are dependencies of essential
 packages may fall back on another prompting method if no such
 interface is available when they are executed.

 Since we're essentially saying that all packages must support debconf,
 why bother restricting the set of packages which are allowed to provide
 a fallback?

I want to be sure that people aren't confused into thinking they don't
need a dependency on debconf.  I suppose in practice it isn't going to
really matter, since debconf is quasi-essential already, so I guess I can
see your point and I'm being too particular about this.

 From a maintainer's POV surely they will only be working to provide a
 fallback if they desire their package to be installable when debconf is
 not available.  I don't think we should second-guess their reasons for
 doing so.

Well... I would a little bit just as an individual DD since I don't think
this is an error case that packages should really be handling except in
exceptional circumstances.  If debconf doesn't work, I think the right
thing to do for nearly all packages is to bail and leave the package
unconfigured until debconf is fixed.  But you're probably right that we
don't need to say that in Policy.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread Russ Allbery
Andrew McMillan and...@morphoss.com writes:

 Here's an updated patch to apply the following wording:

 Package maintainer scripts may prompt the user if necessary.
 Prompting must be done by communicating through a program, such
 as debconf, which conforms to the Debian Configuration
 Management Specification, version 2 or higher.
 
 Packages which are essential, or which are dependencies of
 essential packages, may fall back on another prompting method if
 no such interface is available when they are executed.

Seconded.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread Andrew McMillan
On Thu, 2009-03-19 at 13:59 -0700, Steve Langasek wrote:
 On Fri, Mar 20, 2009 at 09:13:19AM +1300, Andrew McMillan wrote:
  On Thu, 2009-03-19 at 10:55 -0700, Russ Allbery wrote:
 
   Packages that are essential or that are dependencies of essential
   packages may fall back on another prompting method if no such
   interface is available when they are executed.
 
  Since we're essentially saying that all packages must support debconf,
  why bother restricting the set of packages which are allowed to provide
  a fallback?
 
 Because the fallback is a worst case scenario, because testing for files
 on the filesystem is a poor proxy for determining whether the interface is
 in a usable state, and because adding the fallback code means duplicating
 logic in your maintainer script and making it way more complex than it needs
 to be.  The fallback should only be permitted in Essential packages where it
 has to be there in order to avoid unbreakable loops; in all other cases,
 maintainers should properly declare their need for debconf and avoid making
 their maintainer scripts more clever and less robust.
 
 This also ensures that (assuming the maintainer is following policy) uses of
 debconf in preinsts are publically vetted by debian-devel before hitting the
 archive.

OK, those are excellent reasons.

Here's an updated patch to apply the following wording:

Package maintainer scripts may prompt the user if necessary.
Prompting must be done by communicating through a program, such
as debconf, which conforms to the Debian Configuration
Management Specification, version 2 or higher.

Packages which are essential, or which are dependencies of
essential packages, may fall back on another prompting method if
no such interface is available when they are executed.


Cheers,
Andrew.


andrew (AT) morphoss (DOT) com+64(272)DEBIAN
 Flexibility is overrated.  Constraints are liberating.


diff --git a/policy.sgml b/policy.sgml
index df586d1..8f02c12 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -1218,17 +1218,16 @@
 	  headingPrompting in maintainer scripts/heading
 	  p
 	Package maintainer scripts may prompt the user if
-	necessary. Prompting should be done by communicating
+	necessary. Prompting must be done by communicating
 	through a program, such as prgndebconf/prgn, which
 	conforms to the Debian Configuration Management
-	Specification, version 2 or higher.  Prompting the user by
-	other means, such as by handfootnote
-From the Jargon file: by hand 2. By extension,
-writing code which does something in an explicit or
-low-level way for which a presupplied library
-(emdebconf, in this instance/em) routine ought
-to have been available.
-/footnote, is now deprecated.
+	Specification, version 2 or higher.
+	  /p
+
+	  p
+	Packages which are essential, or which are dependencies of
+	essential packages, may fall back on another prompting method
+	if no such interface is available when they are executed.
 	  /p
 
 	  p


Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-19 Thread Holger Levsen
On Freitag, 20. März 2009, Russ Allbery wrote:
  Here's an updated patch to apply the following wording:
 Seconded.

me too.

(not quoted as this aint a GR. :-)



signature.asc
Description: This is a digitally signed message part.


Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-18 Thread Holger Levsen
Hi,

sadly this didden happen in 2003-2009, but I'd like this to become a reality 
for our next release sometime in 2010 or hopefully not 2011 ;-)

Any takers? (To propose this as a release goal  bringing this into policy.)

Sadly I'm too busy for this, but I thought I'd at least remark it.


regards,
Holger


signature.asc
Description: This is a digitally signed message part.


Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-18 Thread Russ Allbery
Holger Levsen hol...@layer-acht.org writes:

 sadly this didden happen in 2003-2009, but I'd like this to become a
 reality for our next release sometime in 2010 or hopefully not 2011 ;-)

 Any takers? (To propose this as a release goal  bringing this into policy.)

This was one of the things that I was hoping to get into the next release
of Policy, so I'm definitely in favor.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-18 Thread Russ Allbery
Bill Allombert bill.allomb...@math.u-bordeaux1.fr writes:

 Is there actually packages that does not use debconf ?

I'm not sure how many of these were false positives, but I'm fairly sure
that at least some of them are real:

http://lintian.debian.org/tags/read-in-maintainer-script.html

 Should we draft an exception for the few situation where debconf is
 unavailable ? (e.g. dpkg and glibc before debconf is installed)

Yes.  I think there was some sort of essential package exception discussed
earlier in the bug (although even essential packages should try debconf
first and fall back if it's not available, I think).

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-18 Thread Russ Allbery
Andrew McMillan and...@morphoss.com writes:

 The current relevant text is:

 Package maintainer scripts may prompt the user if necessary.
 Prompting should be done by communicating through a program,
 such as debconf, which conforms to the Debian Configuration
 Management Specification, version 2 or higher. Prompting the
 user by other means, such as by hand[9], is now deprecated.

 I think we should change that fairly simply to something like:

 Package maintainer scripts may prompt the user if necessary.
 Prompting must be done by communicating through a program, such
 as debconf, which conforms to the Debian Configuration
 Management Specification, version 2 or higher, unless no such
 interface is available when they are executed.

 This:

 (a) changes the 'should' to a 'must';
 (b) gives an out for those situations where debconf is not installed;
 (c) narrowly focuses that 'out' only to apply during execution
 (d) seems to me to be a simpler and more elegant approach than other
 wording proposals against this bug.

Should we require that non-essential packages depend on debconf if they're
going to do prompting?  That wording implies to me that any package could
check whether it was already installed (without a dependency) and fall
back on non-debconf prompting, but I think that should only be permissible
for essential packages.

The only other thing that I'm not sure about is what to do about preinst
scripts.  Are we requiring debconf for preinst prompting (and hence
requiring a Pre-Depends) for non-essential packages?

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-18 Thread Andrew McMillan
On Wed, 2009-03-18 at 14:42 -0700, Russ Allbery wrote:
 
 I'm not sure how many of these were false positives, but I'm fairly sure
 that at least some of them are real:
 
 http://lintian.debian.org/tags/read-in-maintainer-script.html

Not all that many, and some will be false positives.  I think we should
go for it...


 Yes.  I think there was some sort of essential package exception discussed
 earlier in the bug (although even essential packages should try debconf
 first and fall back if it's not available, I think).

I'd be very happy to see a policy change for this, so long as it allowed
that packages may fall back if debconf (or other alternative) is not
available.

The current relevant text is:

Package maintainer scripts may prompt the user if necessary.
Prompting should be done by communicating through a program,
such as debconf, which conforms to the Debian Configuration
Management Specification, version 2 or higher. Prompting the
user by other means, such as by hand[9], is now deprecated.

I think we should change that fairly simply to something like:

Package maintainer scripts may prompt the user if necessary.
Prompting must be done by communicating through a program, such
as debconf, which conforms to the Debian Configuration
Management Specification, version 2 or higher, unless no such
interface is available when they are executed.

This:

(a) changes the 'should' to a 'must';
(b) gives an out for those situations where debconf is not installed;
(c) narrowly focuses that 'out' only to apply during execution
(d) seems to me to be a simpler and more elegant approach than other
wording proposals against this bug.

I've attached a patch to that effect.

Cheers,
Andrew.


andrew (AT) morphoss (DOT) com+64(272)DEBIAN
 Don't go surfing in South Dakota for a while.


diff --git a/policy.sgml b/policy.sgml
index df586d1..342b6c4 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -1218,17 +1218,11 @@
 	  headingPrompting in maintainer scripts/heading
 	  p
 	Package maintainer scripts may prompt the user if
-	necessary. Prompting should be done by communicating
+	necessary. Prompting must be done by communicating
 	through a program, such as prgndebconf/prgn, which
 	conforms to the Debian Configuration Management
-	Specification, version 2 or higher.  Prompting the user by
-	other means, such as by handfootnote
-From the Jargon file: by hand 2. By extension,
-writing code which does something in an explicit or
-low-level way for which a presupplied library
-(emdebconf, in this instance/em) routine ought
-to have been available.
-/footnote, is now deprecated.
+	Specification, version 2 or higher, unless no such
+	interface is available when they are executed.
 	  /p
 
 	  p


Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-18 Thread Steve Langasek
On Wed, Mar 18, 2009 at 10:29:35PM +0100, Bill Allombert wrote:
 On Wed, Mar 18, 2009 at 01:46:03PM -0700, Russ Allbery wrote:
  Holger Levsen hol...@layer-acht.org writes:

   sadly this didden happen in 2003-2009, but I'd like this to become a
   reality for our next release sometime in 2010 or hopefully not 2011 ;-)

   Any takers? (To propose this as a release goal  bringing this into 
   policy.)

  This was one of the things that I was hoping to get into the next release
  of Policy, so I'm definitely in favor.

 Is there actually packages that does not use debconf ? 
 Should we draft an exception for the few situation where debconf is 
 unavailable
 ? (e.g. dpkg and glibc before debconf is installed)

libc6.preinst does have a fallback in the case that debconf is unavailable
during an upgrade.  Policy should not forbid that usage in the case of
essential packages that need to prompt.

(libpam-modules also prompts in preinst, but manages to avoid the need for a
fallback and simply Pre-Depends on debconf.)

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-18 Thread Steve Langasek
On Wed, Mar 18, 2009 at 08:26:54PM -0700, Russ Allbery wrote:

 The only other thing that I'm not sure about is what to do about preinst
 scripts.  Are we requiring debconf for preinst prompting (and hence
 requiring a Pre-Depends) for non-essential packages?

I think we should be requiring it.  Is there some reason we wouldn't?

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-18 Thread Russ Allbery
Steve Langasek vor...@debian.org writes:
 On Wed, Mar 18, 2009 at 08:26:54PM -0700, Russ Allbery wrote:

 The only other thing that I'm not sure about is what to do about
 preinst scripts.  Are we requiring debconf for preinst prompting (and
 hence requiring a Pre-Depends) for non-essential packages?

 I think we should be requiring it.  Is there some reason we wouldn't?

I can't think of any.  It's always a big deal to require Pre-Depends, but
in this case, I think it's the right thing to do.  I'd like to explicitly
mention that in the wording (with a note that the Pre-Depends needs to be
discussed in debian-devel), though, since it's always worth making people
stop and think about Pre-Depends.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-18 Thread Russ Allbery
Manoj Srivastava sriva...@acm.org writes:

 Also, there is the funny case of config scripts; these are run
  even before preinst, and before any pre-dependencies are installed. And
  yet, these scripts are often used to prompt using debconf; they must be
  no-ops if debconf is not yet installed (they get re-run later, I
  think). 

Yeah, they're run via debconf's integration with the rest of the packaging
system as I understand it, and are automatically run at postinst time
before the postinst if they weren't run previously.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-18 Thread Manoj Srivastava
On Wed, Mar 18 2009, Bill Allombert wrote:

 Is there actually packages that does not use debconf ? 

ucf has code to fall back to using prompting to the console if
 debconf is not available.  Of course, this fails if the installation is
 being run from a GUI, with the real tty buried.

I am not sure some of my other packages also have this fall back
 code or not ...

manoj
-- 
Reading is thinking with someone else's head instead of one's own.
Manoj Srivastava sriva...@acm.org http://www.golden-gryphon.com/  
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#206684: mandatory use of debconf for user prompting a release goal for squeeze

2009-03-18 Thread Manoj Srivastava
On Wed, Mar 18 2009, Russ Allbery wrote:


 The only other thing that I'm not sure about is what to do about preinst
 scripts.  Are we requiring debconf for preinst prompting (and hence
 requiring a Pre-Depends) for non-essential packages?

Why should debconf be treated any differently than any other
 program being used in the pre-inst? I think if a package uses debconf
 in the preinst, it pre-depends on debconf.

Also, there is the funny case of config scripts; these are run
 even before preinst, and before any pre-dependencies are installed. And
 yet, these scripts are often used to prompt using debconf; they must be
 no-ops if debconf is not yet installed (they get re-run later, I
 think). 

manoj
-- 
The universe does not have laws -- it has habits, and habits can be
broken.
Manoj Srivastava sriva...@acm.org http://www.golden-gryphon.com/  
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C



-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org