Re: How to handle conffiles when renaming or splitting a package?

2021-01-03 Thread Sven Joachim
On 2021-01-03 09:02 +0900, Charles Plessy wrote:

> I have recently split the mime-support package in two: media-types and
> mailcap.  But I wonder if I handled the conffiles correctly.
>
> mime-support had the conffiles `/etc/mime.types` and
> `/etc/mailcap.order` until version 3.64.  Version 3.65 is a transitional
> package containing only a changelog and a copyright file, and depends on
> media-types and mailcap.  And these two packages declare a Breaks and
> Replaces relationship against mime-support << 3.65.
>
> As a result of the upgrade, the conffiles are now owned by the new
> packages.  But dpkg still keeps a record that the mime-support has
> the "obsolete" version of them:
>
> # dpkg-query -W -f='${Conffiles}\n' media-types
>  /etc/mime.types 43fa90aa9a5e009997f451be169ac530
>
> # md5sum /etc/mime.types
> 43fa90aa9a5e009997f451be169ac530  /etc/mime.types
>
> # dpkg-query -W -f='${Conffiles}\n'  mailcap
>  /etc/mailcap.order ba07e08a7fe3741d0b8339127963190e
>
> # dpkg-query -W -f='${Conffiles}\n'  mime-support
>  /etc/mime.types 0d516753aee0a2c670c79667aad0c836 obsolete
>  /etc/mailcap.order ba07e08a7fe3741d0b8339127963190e obsolete
>
> I have received reports from users who consider this a problem.  Indeed,
> in the case of mailcap it is potentially confusing as the conffile's MD5
> sum has not changed.
>
> On the other hand, once mime-support is purged, which is how
> transitionnal packages eventually should be handled, the situation is
> clean.  So I am not sure if there is a problem here.
>
> Is it needed to clean dpkg's database so that it does not report
> obsolete conffiles for mime-support?  (Actually, I would have expected
> dpkg to do this automagically given the Breaks and Replaces
> relationship.)

Looks like you have hit #886389[1] in dpkg, I don't think you can do
anything about it in your packages.

Cheers,
   Sven


1. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886389



How to handle conffiles when renaming or splitting a package?

2021-01-02 Thread Charles Plessy
Hello everybody,

and happy new year !

I have recently split the mime-support package in two: media-types and
mailcap.  But I wonder if I handled the conffiles correctly.

mime-support had the conffiles `/etc/mime.types` and
`/etc/mailcap.order` until version 3.64.  Version 3.65 is a transitional
package containing only a changelog and a copyright file, and depends on
media-types and mailcap.  And these two packages declare a Breaks and
Replaces relationship against mime-support << 3.65.

As a result of the upgrade, the conffiles are now owned by the new
packages.  But dpkg still keeps a record that the mime-support has
the "obsolete" version of them:

# dpkg-query -W -f='${Conffiles}\n' media-types
 /etc/mime.types 43fa90aa9a5e009997f451be169ac530

# md5sum /etc/mime.types
43fa90aa9a5e009997f451be169ac530  /etc/mime.types

# dpkg-query -W -f='${Conffiles}\n'  mailcap
 /etc/mailcap.order ba07e08a7fe3741d0b8339127963190e

# dpkg-query -W -f='${Conffiles}\n'  mime-support
 /etc/mime.types 0d516753aee0a2c670c79667aad0c836 obsolete
 /etc/mailcap.order ba07e08a7fe3741d0b8339127963190e obsolete

I have received reports from users who consider this a problem.  Indeed,
in the case of mailcap it is potentially confusing as the conffile's MD5
sum has not changed.

On the other hand, once mime-support is purged, which is how
transitionnal packages eventually should be handled, the situation is
clean.  So I am not sure if there is a problem here.

Is it needed to clean dpkg's database so that it does not report
obsolete conffiles for mime-support?  (Actually, I would have expected
dpkg to do this automagically given the Breaks and Replaces
relationship.)

Have a nice day,

Charles

-- 
Charles Plessy Nagahama, Yomitan, Okinawa, Japan
Tooting from work,   https://mastodon.technology/@charles_plessy
Tooting from home, https://framapiaf.org/@charles_plessy



Re: Help with removal of conffiles

2018-12-14 Thread Dominik George
Hi,

>However, after reading the manpage for dh_installdeb [4] (more
>specifically, the section `package.maintscript', I changed my mind and
>added lines such as:
>
>  rm_conffile /etc/bash_completion.d/harbour 1:2.8-5~
>
>So...  Is that the right thing to do?  I.e. regardless of the version
>at which a conffile was removed, I should use the current release
>version in `rm_conffile' calls?

This is explicitly answered in [3] under prior-version:

If the conffile has not been shipped for several versions, and you are now 
modifying the maintainer scripts to clean up the obsolete file, prior-version 
should be based on the version of the package that you are now preparing, not 
the first version of the package that lacked the conffile. This applies to all 
other actions in the same way. 

-nik

>[3]
>https://manpages.debian.org/unstable/dpkg/dpkg-maintscript-helper.1.en.html



Help with removal of conffiles

2018-12-13 Thread Gabriel F. T. Gomes
Hi, mentors,

I need help with the removal of obsolete conffiles in bash-completion.
I think I understood what to do, but since I don't know how to
reproduce the problem, I'm uncomfortable with the change.  Below, I
give a long description of the problem (feel free to skip it if it
sounds trivial), then I ask the question itself.

* Description of the problem:

Bug report #645439 [1] for bash-completion shows that some conffiles
have been removed from the package, but never purged from users'
systems (apart from the conffiles listed in the bug report, I found two
other files).

In order to learn about conffiles and what package maintainers need to
do in their packages to properly handle them (deletion, updates,
installation), I read the wiki about conffile handling in dpkg [2], as
well as the documentation for dpkg-maintscript-helper [3], and
dh_installdeb [4].

Finally, I read the relevant commits in the repository for the
bash-completion package [5], to try and understand what has already
been done regarding the removal of obsolete conffiles, and I found this
particular commit [6], which adds debian/maintscript.

Since bash-completion 2.0 (actually 1.90), the completion files where
moved from /etc/bash_completion.d to /usr/share/bash-completion, which
rendered a lot of conffiles obsolete.  The commit above deals with
these files, but only with the files that were present in the 1.3-x
releases.  Files that have been previously removed (such as those
reported in debian bug report #645439 [1]) have never been dealt with,
thus causing the bug.

* Actual question:

Now, I'm planning to add the remaining files (which I tracked down by
examining the history of the repository) to maintscript, but I'm
uncertain about the syntax.

Initially, I thought I should add lines such as:

  rm_conffile /etc/bash_completion.d/harbour 1:1.1-1

for conffiles removed in bash-completion version 1:1.1-1.

However, after reading the manpage for dh_installdeb [4] (more
specifically, the section `package.maintscript', I changed my mind and
added lines such as:

  rm_conffile /etc/bash_completion.d/harbour 1:2.8-5~

So...  Is that the right thing to do?  I.e. regardless of the version
at which a conffile was removed, I should use the current release
version in `rm_conffile' calls?

The changes that I'm planning to do are implemented in a staging-area
in the repository by some commits (one for each version that removed a
conffile) [7,8,9,10].  (you are free to check them if that helps)

Thank you very much for your patience in reading up until this point! :)

Kind regards,
Gabriel


 [1] https://bugs.debian.org/645439
 [2] https://wiki.debian.org/DpkgConffileHandling
 [3] https://manpages.debian.org/unstable/dpkg/dpkg-maintscript-helper.1.en.html
 [4] https://manpages.debian.org/unstable/debhelper/dh_installdeb.1.en.html
 [5] https://salsa.debian.org/debian/bash-completion/tree/conffiles
 [6] 
https://salsa.debian.org/debian/bash-completion/commit/0c22c4ac451d3195da4806728c6ed1163ab88008
 [7] 
https://salsa.debian.org/debian/bash-completion/commit/c9203c53ea75d6fe708bf2deb82f1341072a97db
 [8] 
https://salsa.debian.org/debian/bash-completion/commit/e55d81a56ae89ee0b9cd3bc1e6fc683a33c17991
 [9] 
https://salsa.debian.org/debian/bash-completion/commit/7d413831f1a8ac1181f21efdae594fc8ac5ec0f3
[10] 
https://salsa.debian.org/debian/bash-completion/commit/2c23594b23c00a663e396d185922e577881e7d16



Re: Fwd: Re: Adequate reports obsolete conffiles: and now what?

2017-01-23 Thread Gianfranco Costamagna
Hi,



>OK, I see your point.
>
>In my usual, provocative style: To me, this means that the bug should be 
>closed without further actions unless there is more input.


or change to usr/share, that seems a saner approach.
Your call, I don't have an opinion here!

G.



Re: Fwd: Re: Adequate reports obsolete conffiles: and now what?

2017-01-23 Thread Alec Leamas



On 23/01/17 18:03, Gianfranco Costamagna wrote:

hello,


Hi!



However I think the .dist files
should be installed in /usr/share and copied from there instead of being
installed in /etc.


This is of course the Right Thing to do.  Will implement, thanks!



This is nice, however I think this "workaround" should be dropped post-Stretch
release.
Right now living for an year or two with such conf files, will make people 
switch
to the new lirc, so an adequate report is not so much a problem to my eyes,
and will remember us to drop the hack at some point :p


OK, I see your point.

In my usual, provocative style: To me, this means that the bug should be 
closed without further actions unless there is more input.


Just to be clear ;)

--alec



Re: Fwd: Re: Adequate reports obsolete conffiles: and now what?

2017-01-23 Thread Gianfranco Costamagna
hello,



>> However I think the .dist files
>> should be installed in /usr/share and copied from there instead of being
>> installed in /etc.
>
>This is of course the Right Thing to do.  Will implement, thanks!


This is nice, however I think this "workaround" should be dropped post-Stretch
release.
Right now living for an year or two with such conf files, will make people 
switch
to the new lirc, so an adequate report is not so much a problem to my eyes,
and will remember us to drop the hack at some point :p

cheers,

G.



Fwd: Re: Adequate reports obsolete conffiles: and now what?

2017-01-23 Thread Alec Leamas
oops, happened to send the reply to James as a PM... here it comes, it 
was actually meant for the list



 Forwarded Message 
Subject: Re: Adequate reports obsolete conffiles: and now what?
Date: Sat, 21 Jan 2017 16:40:10 +0100
From: Alec Leamas <leamas.a...@gmail.com>
To: James Cowgill <jcowg...@debian.org>


On 21/01/17 13:16, James Cowgill wrote:


Hi,


Hi, thanks for taking time to reply!


By definition, an obsolete conffile is a file which used to be a
conffile, isn't in a new package version, but wasn't moved/removed on
upgrade.


So, when I have done such an operation on purpose, the warning is sort a 
false positive, right?



Removing a conffile with dpkg-maintscript-helper will actually move it
(to xxx.dpkg-back) if it was modified, so I think you can safely remove
this as users will still be able to refer to it later.


Well... I have made both manual instructions and a script based on that 
hardware.conf is still in it's original location. Of course, the file 
should eventually be removed, but doesn't it make make sense to leave it 
in it's original location for the first update cycle(s)? Basically, 
having it in it's original location IMHO makes it much more visible. Or?



Isn't this the problem conffiles was meant to solve? Dpkg will ask the
user before updating those config files and not touching them is the
default option. This will also warn the user when they may need to
update them anyway (eg new features).



I guess this is a maintainer decision on how they want to do this (even
if I think it's a bad idea) so using .dist files is still OK.


Yes...the lirc history is plagued with some bugs related to this. I'm 
not saying that following this scheme is the ultimate solution, but for 
better or worse it's a decision I have made.



In this
case, and as long as you're sure your maintainer scripts always do the
right thing, you can ignore adequate.


OK... But "being sure that the maintainer scripts does the right thing" 
is not something I feel comfortable with. The conffiles handling is hard 
to understand for anyone; it's even harder for me with a RPM background ;)



However I think the .dist files
should be installed in /usr/share and copied from there instead of being
installed in /etc.


This is of course the Right Thing to do.  Will implement, thanks!


Cheers!

--alec



Re: Adequate reports obsolete conffiles: and now what?

2017-01-21 Thread James Cowgill
Hi,

On 21/01/17 09:51, Alec Leamas wrote:
> The new, shiny lirc 0.9.4 has received a bug report #851618. At the
> core, this is about adequate reporting
> 
> lirc: obsolete-conffile /etc/lirc/irexec.lircrc
> lirc: obsolete-conffile /etc/lirc/lircmd.conf
> lirc: obsolete-conffile /etc/lirc/hardware.conf
> lirc: obsolete-conffile /etc/lirc/lircd.conf
> lirc: obsolete-conffile /etc/lirc/lirc_options.conf
> 
> However, all of these files exists for a purpose and are not obsolete.

By definition, an obsolete conffile is a file which used to be a
conffile, isn't in a new package version, but wasn't moved/removed on
upgrade.

> The details:
> 
> - hardware.conf is indeed obsolete in 0.9.4. However, the manual,
> breaking update is about moving bits and pieces from hardware,conf to
> other files, so it needs to be around for some cycles  before it's removed.

Removing a conffile with dpkg-maintscript-helper will actually move it
(to xxx.dpkg-back) if it was modified, so I think you can safely remove
this as users will still be able to refer to it later.

> - For the other files I'm using my own scheme: The upstream files are
> installed as e. g.,lirc_options.conf.dist. This file is updated but not
> used. If the actually used lirc_options.conf is missing it's created as
> a copy of the *dist file, but otherwise kept as-is.. In other words, I
> don't try to merge possible upstream changes, I just keep the *dist
> files around as reference

Isn't this the problem conffiles was meant to solve? Dpkg will ask the
user before updating those config files and not touching them is the
default option. This will also warn the user when they may need to
update them anyway (eg new features).

I guess this is a maintainer decision on how they want to do this (even
if I think it's a bad idea) so using .dist files is still OK. In this
case, and as long as you're sure your maintainer scripts always do the
right thing, you can ignore adequate. However I think the .dist files
should be installed in /usr/share and copied from there instead of being
installed in /etc. Presumably these .dist files have been (incorrectly)
marked as conffiles already?

> Since the overall idea is that the adequate (or really dpkg) error
> message is a bug: How should I resolve this bug?

James



signature.asc
Description: OpenPGP digital signature


Adequate reports obsolete conffiles: and now what?

2017-01-21 Thread Alec Leamas

Dear list,


The new, shiny lirc 0.9.4 has received a bug report #851618. At the 
core, this is about adequate reporting


lirc: obsolete-conffile /etc/lirc/irexec.lircrc
lirc: obsolete-conffile /etc/lirc/lircmd.conf
lirc: obsolete-conffile /etc/lirc/hardware.conf
lirc: obsolete-conffile /etc/lirc/lircd.conf
lirc: obsolete-conffile /etc/lirc/lirc_options.conf

However, all of these files exists for a purpose and are not obsolete. 
The details:


- hardware.conf is indeed obsolete in 0.9.4. However, the manual, 
breaking update is about moving bits and pieces from hardware,conf to 
other files, so it needs to be around for some cycles  before it's removed.


- For the other files I'm using my own scheme: The upstream files are 
installed as e. g.,lirc_options.conf.dist. This file is updated but not 
used. If the actually used lirc_options.conf is missing it's created as 
a copy of the *dist file, but otherwise kept as-is.. In other words, I 
don't try to merge possible upstream changes, I just keep the *dist 
files around as reference


Since the overall idea is that the adequate (or really dpkg) error 
message is a bug: How should I resolve this bug?


Any clue out there? Shortcut to the packaging at [1]


--alec


[1] https://sourceforge.net/p/lirc/git/ci/debian/tree/debian/



Re: Cleaning up obsolete conffiles

2013-05-09 Thread Bob Proulx
Paul Wise wrote:
 Bob Proulx wrote:
  How can I as a system administrator clean that obsolete conffile up?
 
 rm -f /etc/some-obsolete-conffile
 apt-get --reinstall install package-that-provided-the-obsolete-conffile

Ah!  Thanks.  That works.

  I have many obsolete conffiles on my system.
 
 Please file bugs about obsolete conffiles when you find new ones. The
 packages themselves should clean up their obsolete conffiles.

I am cleaning up Squeeze systems before upgrading.  But even Wheezy
and Sid have many.  This is on my updated Sid system.

  $ dpkg-query -W -f='${Conffiles}\n' | awk '$NF==obsolete{print$1}' | xargs 
-L1 dlocate | awk -F: '{print$1}' | sort -u | wc -l
  26

But it has been upgraded through many releases..  I don't know if
these are still a problem in recent versions or if these have been
hanging around since previous releases.  I will clean up my Squeeze
machines and upgrade them to Wheezy.  Then any obsolete conffiles left
will be current issues and can be filed.

 To help with this task, you can install the package called
 'adequate' and enable the post-install debconf prompt.

Thanks for that pointer.  I will try it.

  But of course many packages are difficult to purge.
 
 Every package must be possible to purge, if it is not possible then it
 is a release-critical issue and you should file a severity serious bug
 against the package.

I didn't say impossible.  I said difficult.  There are dependencies
that cause a large cone to be removed.  And then there are essential
packages.  I am still trying to use the system at the same time.

  $ sudo apt-get purge bash
  Reading package lists... Done
  Building dependency tree   
  Reading state information... Done
  The following extra packages will be installed:
bash-static
  The following packages will be REMOVED:
bash* bash-completion* bashdb* common-lisp-controller* devscripts-el* 
dpatch* emacs-goodies-el* foomatic-db-engine* foomatic-filters* lsb* 
lsb-printing*
python-foomatic*
  The following NEW packages will be installed:
bash-static
  WARNING: The following essential packages will be removed.
  This should NOT be done unless you know exactly what you are doing!
bash
  0 upgraded, 1 newly installed, 12 to remove and 203 not upgraded.
  Need to get 937 kB of archives.
  After this operation, 9,134 kB disk space will be freed.
  You are about to do something potentially harmful.
  To continue type in the phrase 'Yes, do as I say!'
   ?] 

Thanks!
Bob

P.S. Here is my list on my Sid machine.

$ dpkg-query -W -f='${Conffiles}\n' | awk '$NF==obsolete{print$1}' | xargs 
-L1 dlocate | awk -F: '{print$1}' |
sort -u
asciidoc
base-files
bash-completion
bashdb
chromium-browser
cvs
epiphany-browser-data
firebird2.5-common
gimp-data
gnome-panel-data
gsfonts
iceweasel
lightdm
lsb-core
mailgraph
setserial
shorewall
shorewall6
smartmontools
source-highlight
stunnel4
subversion-tools
ttf-arphic-uming
vlc-data
w3c-markup-validator
xserver-xorg-video-intel


signature.asc
Description: Digital signature


Re: Cleaning up obsolete conffiles

2013-05-09 Thread Bob Proulx
Paul Wise wrote:
 Please file bugs about obsolete conffiles when you find new ones. The
 packages themselves should clean up their obsolete conffiles.

Is there a bug example or two you could point me to so that I can
follow the standard template of reporting these problems?  It appears
I have some bug reports to file against packages in Wheezy.

Bob

dpkg-query -W -f='${Conffiles}\n' | awk '$NF==obsolete{print$1}' | xargs -L1 
dlocate | awk -F: '{print$1}' | sort -u
bind9
grub-pc
hdparm
initscripts
libgtk2.0-0
munin
mysql-server-5.1
netbase
resolvconf
rubygems1.8
shorewall


signature.asc
Description: Digital signature


Re: Cleaning up obsolete conffiles

2013-05-09 Thread Paul Wise
On Thu, May 9, 2013 at 4:07 PM, Bob Proulx wrote:

 Is there a bug example or two you could point me to so that I can
 follow the standard template of reporting these problems?  It appears
 I have some bug reports to file against packages in Wheezy.

Here is a recent example of one I filed:

http://bugs.debian.org/706911

And my template for that:

Subject:conffiles not removed
Usertags: conffile
User: debian...@lists.debian.org
Usertags: obsolete-conffile adequate

The recent upgrade did not deal with obsolete conffiles properly.
Please use the dpkg-maintscript-helper support provided by dh_installdeb
to remove these obsolete conffiles on upgrade.

http://www.debian.org/doc/debian-policy/ch-files.html#s-config-files
http://manpages.debian.net/man/1/dh_installdeb

This bug report brought to you by adequate:

http://bonedaddy.net/pabs3/log/2013/02/23/inadequate-software/

pkg=
adequate $pkg
dpkg-query -W -f='${Conffiles}\n' $pkg | grep obsolete
dpkg -L $pkg | sort -u | grep /etc  1
dpkg-deb --contents /var/cache/apt/archives/$pkg_*.deb | sed
's/^.*\.\//\//;s_/$__' | sort -u | grep /etc  2
diff -u 1 2

-- 
bye,
pabs

http://wiki.debian.org/PaulWise


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/CAKTje6E8xJ7ZApFpgH66G-1vkGFK__S=vda67l4yt5n_dqr...@mail.gmail.com



Re: Cleaning up obsolete conffiles

2013-05-09 Thread Adam Borowski
On Thu, May 09, 2013 at 01:49:48PM +0800, Paul Wise wrote:
 On Thu, May 9, 2013 at 1:08 PM, Bob Proulx wrote:
  But of course many packages are difficult to purge.
 
 Every package must be possible to purge, if it is not possible then it
 is a release-critical issue and you should file a severity serious bug
 against the package.

Packages that mess with /etc/skel:
* bash
* base-files

So ok, let's purge them.  And dpkg for added fun :)

-- 
ᛊᚨᚾᛁᛏᚣ᛫ᛁᛊ᛫ᚠᛟᚱ᛫ᚦᛖ᛫ᚹᛖᚨᚲ


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130509121416.gb21...@angband.pl



Cleaning up obsolete conffiles

2013-05-08 Thread Bob Proulx
I have many obsolete conffiles on my system.  It has been upgraded
through many releases.

  dpkg-query -W -f='${Conffiles}\n' | grep obsolete

Picking a simple one as an example:

 /etc/skel/.bash_profile d1a8c44e7dd1bed2f3e75d1343b6e4e1 obsolete

If I purge the package and install it fresh then that file will not be
there and it will not be listed as an obsolete conffile.  But of
course many packages are difficult to purge.

How can I as a system administrator clean that obsolete conffile up?
I can certainly rm -f the file.  But afterward it is still listed in
dpkg as an obsolete conffile even though the file was removed.

Is there a method to clean these up, remove them from the disk, and
tell dpkg that they are no longer there?  I have searched but I have
not found a way to do this.

Thanks,
Bob


signature.asc
Description: Digital signature


Re: Cleaning up obsolete conffiles

2013-05-08 Thread Paul Wise
On Thu, May 9, 2013 at 1:08 PM, Bob Proulx wrote:

 I have many obsolete conffiles on my system.

Please file bugs about obsolete conffiles when you find new ones. The
packages themselves should clean up their obsolete conffiles. To help
with this task, you can install the package called 'adequate' and
enable the post-install debconf prompt.

 But of course many packages are difficult to purge.

Every package must be possible to purge, if it is not possible then it
is a release-critical issue and you should file a severity serious bug
against the package.

 How can I as a system administrator clean that obsolete conffile up?

rm -f /etc/some-obsolete-conffile
apt-get --reinstall install package-that-provided-the-obsolete-conffile

-- 
bye,
pabs

http://wiki.debian.org/PaulWise


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caktje6h5ckk8j2e6qnmfy34irpwaz24ok+7vsroaddusm6f...@mail.gmail.com



Re: Transitional packages: unmark auto, dealing with conffiles

2012-01-08 Thread Malte Forkel
Am 24.12.2011 12:23, schrieb David Kalnischkies:
 It's not only aptitude, every package manager using libapt will hate
 you for this - and therefore i will hate you; even on Christmas. ;)

I wouldn't want you to hate me. At least not on Christmas. ;-)

 In general, you should NEVER touch a file belonging to another package
 as you never know if it will be there and which format it has --
 and for /var/lib files is this especially true as they are state files.

I agree that modifying other packages' files is a bad idea. That's why I
called it a hack. My hope was that someone could show me a clean,
policy-consistent way to solve the problems I encountered when trying to
provide a transitional package.

 I have found the interesting thread 'Transitional (dummy) packages
 considered silly' on Debian Devel
 (http://lists.debian.org/debian-devel/2009/09/msg00687.html). Will any
 of the suggestions made there make it into Debian? E.g., how about a new
 control field 'Superseeds'?
 
 Have you read some of the responses? Looks like you haven't
 as a few counterarguments are given in this thread like blocking
 the old name even longer, could allow social fights like chromium
 superseeds iceweasel or kde superseeds gnome and in general allows
 any maintainer to install his package without direct user interaction.

Let's just assume that we both have read the whole thread ;-).

I guess how one weighs the different arguments heavily depends on one's
own background and preferences. My impression was that most posters
eventually liked the ideas of a superseeds relationship. But by no means
would I claim to know what the Debian policy on transitional packages
should look like. I'm just a spare time package maintainer trying to
entice the Debian gods to come up with a solution.

One reason why I like Debian is that it tries to do things the right
way. To me, that includes making things explicit and documenting them
in the policy. If a package management use case requires using scarcely
documented features or even hacking, then I'm confident the Debian
community can up with a better solution.

I think, the existing approach to transitional packages involves too
many implicit solutions, e.g. using special sections or relying on
keywords in a package's description. It would be great if the support
provided by apt could be reviewed, potentially extended, documented in
the Debian policy and the wiki, and adopted by all package mamangement
tools.

 If you think that is too unlikely, think about situations in which a program
 changes drastically from v1 to v2 and a fork tries to maintain v1.
 Does this fork now superseed v1 of the program or is it v2 ?
 (e.g. amarok vs. clementine or in the old thread apache vs apache2)
 Also, what should be done if two packages claim to superseed the
 same package? And what happens if a rename is reverted?
 Or the next stable release carries a new package with the superseeded
 name, thinking e.g. about the git: gnuit vs git-core name-collision.
 Also, think about an application which changes his program name, but to
 allow a soft transition, the transistional package provides a wrapper
 with the old name. Clearly the new superseeds the old, but removing the
 old still removes functionality…

It seems to me that potential solutions to some of your caveats were
suggested in the original thread. And no package maintainer would be
forced to use the superseeds relationship. What has worked in the past
does not have to be changed.

But we might have to ask: How do we handle these cases now? And if a
policy extension could solve some of the existing problems (e.g. auto
install bit tansfer, configuration file transition), would it introduce
bigger problems elsewhere?

We can't prevent misuse, though. I don't need a superseeds relationship
to create havoc. E.g., I could simply modify other package's files... ;-)

Let's just try to find the best overall solution. Should it include a
superseeds relationship? I don't know.

 Way to complex for such a small usecase in my eyes. Properly better
 to invest the time to make disappearing packages policy-compatible
 and usable instead. In the easy cases libapt users even transfer the
 auto-bit to the replacer…

Well, why not do both?

Malte





-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4f097f7a.4010...@berlin.de



Re: Transitional packages: unmark auto, dealing with conffiles

2011-12-24 Thread David Kalnischkies
On Mon, Dec 19, 2011 at 22:08, Malte Forkel malte.for...@berlin.de wrote:
 Lenny? I have tested clearing the flag in '/var/lib/apt/extended_state'
 from the postinst script of the transitional package. But aptitude will
 override this by setting the flag later during the upgrade. And its a
 hack, anyway.

It's not only aptitude, every package manager using libapt will hate
you for this - and therefore i will hate you; even on Christmas. ;)
In general, you should NEVER touch a file belonging to another package
as you never know if it will be there and which format it has --
and for /var/lib files is this especially true as they are state files.

Regarding Lenny: Just don't care anymore. Security support ends in due
time, so don't try to support unsupported channels. Users of these old
systems will have bigger problems than the inability to install your package
(and that's not even the problem you seem to deal with…).
If you really really really have to do it, just copy the relevant code from
the helpers, they aren't magic after all, but make sure to test it carefully!


 Regarding the configuration files, I know now that newer versions of
 dpkg include 'dpkg-maintscript-helper' with commands to move or remove
 conffiles. This works nicely in Squeeze. But again, how can I support
 systems with Lenny? In order to make the transitional package forget
 about a conffile, I tested removing it in the package's postinst script
 and also remove the corresponding entry from
 /var/lib/dpkg/info/package.list. That seems to work, but I would
 consider it a hack as well.

Same comment regarding lenny. Same about file-edit hacks.
Add a realworld example to this as dpkg will change info/ filenames
(for at least some packages) with the introduction of multiarch.


 I have found the interesting thread 'Transitional (dummy) packages
 considered silly' on Debian Devel
 (http://lists.debian.org/debian-devel/2009/09/msg00687.html). Will any
 of the suggestions made there make it into Debian? E.g., how about a new
 control field 'Superseeds'?

Have you read some of the responses? Looks like you haven't
as a few counterarguments are given in this thread like blocking
the old name even longer, could allow social fights like chromium
superseeds iceweasel or kde superseeds gnome and in general allows
any maintainer to install his package without direct user interaction.
If you think that is too unlikely, think about situations in which a program
changes drastically from v1 to v2 and a fork tries to maintain v1.
Does this fork now superseed v1 of the program or is it v2 ?
(e.g. amarok vs. clementine or in the old thread apache vs apache2)
Also, what should be done if two packages claim to superseed the
same package? And what happens if a rename is reverted?
Or the next stable release carries a new package with the superseeded
name, thinking e.g. about the git: gnuit vs git-core name-collision.
Also, think about an application which changes his program name, but to
allow a soft transition, the transistional package provides a wrapper
with the old name. Clearly the new superseeds the old, but removing the
old still removes functionality…

Way to complex for such a small usecase in my eyes. Properly better
to invest the time to make disappearing packages policy-compatible
and usable instead. In the easy cases libapt users even transfer the
auto-bit to the replacer…


Best regards

David Kalnischkies


--
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caaz6_fc-xbwqnbdewnsqfpb4pbq5udtpeqcijjyyv76feih...@mail.gmail.com



Transitional packages: unmark auto, dealing with conffiles

2011-12-19 Thread Malte Forkel
Hello,

I am writing a transitional package to handle a software name change.
There are two problems I'm trying to handle:
 - How to avoid marking the new package (which the transitional package
depends upon) as being autoinstalled.
 - How to deal with old conffiles not adopted by the new package.

I have posed these two questions before, one on Debian User
(http://lists.debian.org/debian-user/2011/12/msg00739.html), one on
Debian Devel
(http://lists.debian.org/debian-devel/2011/12/msg00337.html). In both
cases, I have received helpful advice and the suggestion to pose these
questions on Debian Mentors. So I'll recap what I have learned so far
and hope you can fill in the mising pieces.

Regarding the unmark auto flag, I know now that newer versions of apt
will not mark packages as auto if they are autoinstalled due to a
package in section 'oldlibs' or 'metapackages'. So, if the transitional
package belongs to one of those two and gets installed by 'apt-get
dist-upgrade' in Squeeze, everything is fine. But what if another tool
is used, e.g. aptitude. And how can I support people still running
Lenny? I have tested clearing the flag in '/var/lib/apt/extended_state'
from the postinst script of the transitional package. But aptitude will
override this by setting the flag later during the upgrade. And its a
hack, anyway.

Regarding the configuration files, I know now that newer versions of
dpkg include 'dpkg-maintscript-helper' with commands to move or remove
conffiles. This works nicely in Squeeze. But again, how can I support
systems with Lenny? In order to make the transitional package forget
about a conffile, I tested removing it in the package's postinst script
and also remove the corresponding entry from
/var/lib/dpkg/info/package.list. That seems to work, but I would
consider it a hack as well.

I have found the interesting thread 'Transitional (dummy) packages
considered silly' on Debian Devel
(http://lists.debian.org/debian-devel/2009/09/msg00687.html). Will any
of the suggestions made there make it into Debian? E.g., how about a new
control field 'Superseeds'?

There are probably more questions regarding transitional packages than
the two I have come across so far. It seems to me there could be better
support for transitional packages in Debian in terms of policy, tool
support and documentation. What are your thoughts? Of course, I'd be
happy to help in bringing these issues along.

Thanks, Malte


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/jco94f$3aj$1...@dough.gmane.org



Re: dpkg status Conffiles obsolete flag?

2011-07-11 Thread Bob Proulx
Ansgar Burchardt wrote:
 Sven Joachim wrote:
  Bob Proulx wrote:
  I am hoping to understand the obsolete flag on conffiles in the dpkg
  status file.  There are many packages that include this flag at the
  end of the line.  For example:
 [...]
 
  They are obsolete because they no longer exist in the package.  It is
  the package maintainer's task to deal with them (e.g. remove them if
  they are unmodified and no longer needed).  Unfortunately, this is often
  not done.

Ah... This makes things clear.  I had missed it.

  When they are no longer shipped in the package that used to contain
  them; dpkg does not currently remove obsolete conffiles unless that
  package is purged, see #330256¹.
 
 dpkg-maintscript-helper(1) also has a good explanation what happens and
 why.  It also makes dealing with them (in maintainer scripts) easier.

Also very useful information.

It would seem that packages that have left unmodified obsolete
conffiles behind as lint, especially in init.d, are worth a bug report
about them.  This gets in the way of upgrades such as moving to
dependency based booting and from my perspective one of the strongest
strengths of Debian is the ability to upgrade.

Thanks!
Bob


signature.asc
Description: Digital signature


dpkg status Conffiles obsolete flag?

2011-07-10 Thread Bob Proulx
I am hoping to understand the obsolete flag on conffiles in the dpkg
status file.  There are many packages that include this flag at the
end of the line.  For example:

Package: file
Conffiles:
 /etc/magic.mime 272913026300e7ae9b5e2d51f138e674 obsolete
 /etc/magic 272913026300e7ae9b5e2d51f138e674 obsolete

And there many more examples such as in apache2.2-common and gsfonts.
These conffiles that are marked obsolete do exist on the system. 

I could not find where this was documented.  The man page or dpkg says:

   /var/lib/dpkg/status
  Statuses of available packages. This file contains
  information about whether a package is marked for
  removing or not, whether it is installed or not,
  etc. See section INFORMATION ABOUT PACKAGES for more
  info.

But the section INFORMATION ABOUT PACKAGES does not say anything
about this field that I could find.

I downloaded the source to several packages having obsolete conffiles
marked and I could not find any reference in the package that would
cause those files to be marked as obsolete.

The reason I am looking at this is because I am trying to automate
system upgrades from Lenny to Squeeze and some packages have init.d
scripts that are marked obsolete and I am trying to understand why.

Could some kind soul enlighten me on how conffiles are marked obsolete?

Thanks!
Bob



signature.asc
Description: Digital signature


Re: dpkg status Conffiles obsolete flag?

2011-07-10 Thread Sven Joachim
On 2011-07-10 20:55 +0200, Bob Proulx wrote:

 I am hoping to understand the obsolete flag on conffiles in the dpkg
 status file.  There are many packages that include this flag at the
 end of the line.  For example:

 Package: file
 Conffiles:
  /etc/magic.mime 272913026300e7ae9b5e2d51f138e674 obsolete
  /etc/magic 272913026300e7ae9b5e2d51f138e674 obsolete

 And there many more examples such as in apache2.2-common and gsfonts.
 These conffiles that are marked obsolete do exist on the system. 

 I could not find where this was documented.  The man page or dpkg says:

/var/lib/dpkg/status
   Statuses of available packages. This file contains
   information about whether a package is marked for
   removing or not, whether it is installed or not,
   etc. See section INFORMATION ABOUT PACKAGES for more
   info.

 But the section INFORMATION ABOUT PACKAGES does not say anything
 about this field that I could find.

 I downloaded the source to several packages having obsolete conffiles
 marked and I could not find any reference in the package that would
 cause those files to be marked as obsolete.

They are obsolete because they no longer exist in the package.  It is
the package maintainer's task to deal with them (e.g. remove them if
they are unmodified and no longer needed).  Unfortunately, this is often
not done.

 The reason I am looking at this is because I am trying to automate
 system upgrades from Lenny to Squeeze and some packages have init.d
 scripts that are marked obsolete and I am trying to understand why.

 Could some kind soul enlighten me on how conffiles are marked obsolete?

When they are no longer shipped in the package that used to contain
them; dpkg does not currently remove obsolete conffiles unless that
package is purged, see #330256¹.

Cheers,
   Sven


¹ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=330256


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87box16ht7@turtle.gmx.de



Re: dpkg status Conffiles obsolete flag?

2011-07-10 Thread Ansgar Burchardt
Hi,

 I am hoping to understand the obsolete flag on conffiles in the dpkg
 status file.  There are many packages that include this flag at the
 end of the line.  For example:
[...]

 They are obsolete because they no longer exist in the package.  It is
 the package maintainer's task to deal with them (e.g. remove them if
 they are unmodified and no longer needed).  Unfortunately, this is often
 not done.

 The reason I am looking at this is because I am trying to automate
 system upgrades from Lenny to Squeeze and some packages have init.d
 scripts that are marked obsolete and I am trying to understand why.

 Could some kind soul enlighten me on how conffiles are marked obsolete?

 When they are no longer shipped in the package that used to contain
 them; dpkg does not currently remove obsolete conffiles unless that
 package is purged, see #330256¹.

dpkg-maintscript-helper(1) also has a good explanation what happens and
why.  It also makes dealing with them (in maintainer scripts) easier.

Regards,
Ansgar


--
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/851uxxu47b@tsukuyomi.43-1.org



Init scripts as conffiles

2011-02-15 Thread Tony Houghton
I was wondering, why are init scripts installed as conffiles? Is there a
good reason other than that they're in /etc and nobody bothered to make
an exception in debhelper?

I would have thought it would be better to treat them as not to be
modified by the user/admin; any init configuration should be done via
/etc/default.


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110215163325.48f62cc0@toddler



Re: Init scripts as conffiles

2011-02-15 Thread The Fungi
On Tue, Feb 15, 2011 at 04:33:25PM +, Tony Houghton wrote:
[...]
 I would have thought it would be better to treat them as not to be
 modified by the user/admin; any init configuration should be done via
 /etc/default.

In years gone by, I've frequently had to manually adjust initscript
contents or symlink ordering to deal with issues. The vast majority
of initscripts don't source variables from under /etc/default, and
those which do often lack variables for things like
overriding/augmenting service start options or defining additional
local service interdependencies. If policy were altered to make
initscripts non-conffiles, tons of packages would be insta-buggy (at
least from a wishlist standpoint, if not worse) due to the loss of
admin flexibility.

Also, trying to change a major class of system controls which have
traditionally been considered conffiles to non-conffile status would
be a near impossibility due to the number of installed systems with
existing local modifications.
-- 
{ IRL(Jeremy_Stanley); WWW(http://fungi.yuggoth.org/); PGP(43495829);
WHOIS(STANL3-ARIN); SMTP(fu...@yuggoth.org); FINGER(fu...@yuggoth.org);
MUD(kin...@katarsis.mudpy.org:6669); IRC(fu...@irc.yuggoth.org#ccl);
ICQ(114362511); YAHOO(crawlingchaoslabs); AIM(dreadazathoth); }


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110215170537.ge1...@yuggoth.org



Re: Init scripts as conffiles

2011-02-15 Thread Tony Houghton
On Tue, 15 Feb 2011 17:05:41 +
The Fungi fu...@yuggoth.org wrote:

 On Tue, Feb 15, 2011 at 04:33:25PM +, Tony Houghton wrote:
 [...]
  I would have thought it would be better to treat them as not to be
  modified by the user/admin; any init configuration should be done via
  /etc/default.
 
 In years gone by, I've frequently had to manually adjust initscript
 contents or symlink ordering to deal with issues. The vast majority
 of initscripts don't source variables from under /etc/default, and
 those which do often lack variables for things like
 overriding/augmenting service start options or defining additional
 local service interdependencies. If policy were altered to make
 initscripts non-conffiles, tons of packages would be insta-buggy (at
 least from a wishlist standpoint, if not worse) due to the loss of
 admin flexibility.
 
 Also, trying to change a major class of system controls which have
 traditionally been considered conffiles to non-conffile status would
 be a near impossibility due to the number of installed systems with
 existing local modifications.

I'd consider packages which require editing of the init script instead
of using /etc/default or similar to be badly designed at best. I know
fixing the mass of existing packages would be too big a job, but I
thought it might be possible to provide a new option in dh_installdeb
and encourage its use for new packages.


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110215172739.2c81c...@realh.co.uk



Re: Init scripts as conffiles

2011-02-15 Thread Michael Fladischer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony Houghton, 2011-02-15 17:33:
 I was wondering, why are init scripts installed as conffiles?

Debain switched to dependency-based boot with Squeeze and those
dependencies are controlled by the LSB headers inside each init script.
On the majority of my systems init scripts are modified to reflect
individual requirements of services during boot (e.g. openvpn before
certain services or similar). Having init scripts installed as conffiles
prevents such setups from breaking after each upgrade.

Regards,
- -- 
Michael Fladischer
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1aueEACgkQeJ3z1zFMUGYNkQCdE3HG5DqzHppau4cfGwtyQuL1
VZ0An1fyDawlWAzDhD8aOhqnkpgpAAkU
=nlP2
-END PGP SIGNATURE-


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4d5ab9e2.6040...@fladi.at



Re: Init scripts as conffiles

2011-02-15 Thread The Fungi
On Tue, Feb 15, 2011 at 05:27:39PM +, Tony Houghton wrote:
 I'd consider packages which require editing of the init script instead
 of using /etc/default or similar to be badly designed at best. I know
 fixing the mass of existing packages would be too big a job, but I
 thought it might be possible to provide a new option in dh_installdeb
 and encourage its use for new packages.

Well, I think there are probably quite a few package maintainers who
simply don't consider that the admin might want to start a daemon in
a different way than what's provided by the initscript. For example,
the daemon in question runs as root:root and I want to wrap it to
run as a specific uid:gid pair I've created for the purpose, or the
initscript only starts one instance of a daemon and I need several
launched all pointing to individual configuration files.

I agree that pretty much all of these use cases would be valid
enough to open wishlist bugs on and include proposed patches, but a
lot of admins just want to change start behavior of a daemon (often
in complex ways not anticipated by the packager) and move on,
without having it clobbered by a stable package update later.
Obviously, when running testing/unstable/experimental or during a
dist-upgrade (and sometimes even the occasional security update),
you still have to pay attention to and manually merge changes in
your locally-modified initscripts, but the same can be said of any
conffile.
-- 
{ IRL(Jeremy_Stanley); WWW(http://fungi.yuggoth.org/); PGP(43495829);
WHOIS(STANL3-ARIN); SMTP(fu...@yuggoth.org); FINGER(fu...@yuggoth.org);
MUD(kin...@katarsis.mudpy.org:6669); IRC(fu...@irc.yuggoth.org#ccl);
ICQ(114362511); YAHOO(crawlingchaoslabs); AIM(dreadazathoth); }


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110215180545.gf1...@yuggoth.org



Re: Init scripts as conffiles

2011-02-15 Thread Russ Allbery
Tony Houghton h...@realh.co.uk writes:

 I'd consider packages which require editing of the init script instead
 of using /etc/default or similar to be badly designed at best. I know
 fixing the mass of existing packages would be too big a job, but I
 thought it might be possible to provide a new option in dh_installdeb
 and encourage its use for new packages.

It's impossible to anticipate all the ways in which one may need to modify
init scripts.  I still have to do this routinely for Debian packages, and
for reasons and in ways that I don't see how the maintainer could easily
deal with via /etc/default.  I think the current behavior is correct,
particularly given the *substantial* simplicity gain from being able to
treat everything in /etc as a conffile.

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


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87wrl1w330@windlord.stanford.edu



Re: Init scripts as conffiles

2011-02-15 Thread Jesús M. Navarro
Hi, Michael:

On Tuesday 15 February 2011 18:37:38 Michael Fladischer wrote:
 Tony Houghton, 2011-02-15 17:33:
  I was wondering, why are init scripts installed as conffiles?

 Debain switched to dependency-based boot with Squeeze and those
 dependencies are controlled by the LSB headers inside each init script.
 On the majority of my systems init scripts are modified to reflect
 individual requirements of services during boot (e.g. openvpn before
 certain services or similar). Having init scripts installed as conffiles
 prevents such setups from breaking after each upgrade.

You highlighted a very valid issue: one of the main points in going to a 
dependency-based init system is the ability of the sysadmin to reorganize the 
bootup sequence (since it's expected he knows better to workaround/reorder 
his local corner cases).  Since dependencies are stated in the init file 
itself that makes it automatically a config file.

Anyway, my position would be that init script shouldn't have to be config 
files.  For this to be true these steps should need to be worked on:
1) See for boot dependencies not being stablished in the init script itself (a 
sourced directory under /etc/defaults?)
2) All init scripts whose related daemon accepts params on start or that 
define any kind of global variable (i.e.: not strictly related to Debian 
internals) should source an /etc/default-related file.
3) *Maybe* think about a general way for any init script to source from some 
file/dir if it exists.
4) Once developers are comfortable that the vast majority of init script 
honour these previous points, deprecate init scripts as being considered 
config files and file as a bug any time a sysadmin really needs to still edit 
one of them.

Maybe steps 1,2 should be considered even if init scripts remain being 
considered technically config files.

Cheers.


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/201102152033.49964.jesus.nava...@undominio.net



Re: Init scripts as conffiles

2011-02-15 Thread Bernhard R. Link
* Jesús M. Navarro jesus.nava...@undominio.net [110215 20:40]:
 Anyway, my position would be that init script shouldn't have to be config
 files.  For this to be true these steps should need to be worked on:
 1) See for boot dependencies not being stablished in the init script itself (a
 sourced directory under /etc/defaults?)
 2) All init scripts whose related daemon accepts params on start or that
 define any kind of global variable (i.e.: not strictly related to Debian
 internals) should source an /etc/default-related file.
 3) *Maybe* think about a general way for any init script to source from some
 file/dir if it exists.
 4) Once developers are comfortable that the vast majority of init script
 honour these previous points, deprecate init scripts as being considered
 config files and file as a bug any time a sysadmin really needs to still edit
 one of them.

A sysadmin never has the edit any of those files. If they need to do
something special they can always change the kernel to patch the init
system to change what the script can do in arbitrary ways. /sarcasm

While such scripts should allow all reasonable and forseeable
configuration settings be applyable outside, there are still all the
unreasonable and unforseeable changes that happen every day.
(execute some additional clean-up or preparational command just before,
run something two times or differently, ...).

If a admin is not able to do those, it's a crap system. So at least
every script should be overrideable by some script the admin supplies.

So what is the advantage of not having those files in /etc? (In
/etc/ they should be config files (ideally conffiles). If they are not
conffiles, they do not belong in /etc).

The advantage of having them in /etc are:

- every user understands how to change them (no need to find out where
  to copy a script so it overrides the distribution suplied one).
- if there are changes the usual conffile handling make sure one notes
  if the original file changes

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/20110215195933.ga21...@pcpool00.mathematik.uni-freiburg.de



Re: Init scripts as conffiles

2011-02-15 Thread Stefan Lippers-Hollmann
Hi

On Tuesday 15 February 2011, Jesús M. Navarro wrote:
 Hi, Michael:
 
 On Tuesday 15 February 2011 18:37:38 Michael Fladischer wrote:
  Tony Houghton, 2011-02-15 17:33:
   I was wondering, why are init scripts installed as conffiles?
 
  Debain switched to dependency-based boot with Squeeze and those
  dependencies are controlled by the LSB headers inside each init script.
  On the majority of my systems init scripts are modified to reflect
  individual requirements of services during boot (e.g. openvpn before
  certain services or similar). Having init scripts installed as conffiles
  prevents such setups from breaking after each upgrade.
 
 You highlighted a very valid issue: one of the main points in going to a 
 dependency-based init system is the ability of the sysadmin to reorganize the 
 bootup sequence (since it's expected he knows better to workaround/reorder 
 his local corner cases).  Since dependencies are stated in the init file 
 itself that makes it automatically a config file.

You don't need (and shouldn't) edit the init script under /etc/init.d/ 
to adapt their boot dependencies and ~order, but rather copy just the 
associated LSB header to /etc/insserv/overrides/ and edit it following 
your needs.

 Anyway, my position would be that init script shouldn't have to be config 
 files.  For this to be true these steps should need to be worked on:
 1) See for boot dependencies not being stablished in the init script itself 
 (a 
 sourced directory under /etc/defaults?)

/etc/insserv/overrides/, insserv(8)

 2) All init scripts whose related daemon accepts params on start or that 
 define any kind of global variable (i.e.: not strictly related to Debian 
 internals) should source an /etc/default-related file.
 3) *Maybe* think about a general way for any init script to source from some 
 file/dir if it exists.
 4) Once developers are comfortable that the vast majority of init script 
 honour these previous points, deprecate init scripts as being considered 
 config files and file as a bug any time a sysadmin really needs to still edit 
 one of them.
 
 Maybe steps 1,2 should be considered even if init scripts remain being 
 considered technically config files.

Regards
Stefan Lippers-Hollmann


--
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/201102152105.53692.s@gmx.de



Re: Init scripts as conffiles

2011-02-15 Thread Don Armstrong
On Tue, 15 Feb 2011, Tony Houghton wrote:
 I was wondering, why are init scripts installed as conffiles? Is
 there a good reason other than that they're in /etc and nobody
 bothered to make an exception in debhelper?

Anything that is in /etc should be editable by the admin, and changes
respected. If that's not the case, then either it's a bug that the
changes aren't respected, or it's a bug that the file is in /etc in
the first place.

Whether this is done by making the file a conffile or otherwise
handling it manually is orthogonal. See Policy §10.7 et al.


Don Armstrong

-- 
Clothes make the man. Naked people have little or no influence on
society.
 -- Mark Twain 

http://www.donarmstrong.com  http://rzlab.ucr.edu


--
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110215205544.gj5...@teltox.donarmstrong.com



Re: Init scripts as conffiles

2011-02-15 Thread Tony Houghton
On Tue, 15 Feb 2011 16:33:25 +
Tony Houghton h...@realh.co.uk wrote:

 I was wondering, why are init scripts installed as conffiles? Is there a
 good reason other than that they're in /etc and nobody bothered to make
 an exception in debhelper?
 
 I would have thought it would be better to treat them as not to be
 modified by the user/admin; any init configuration should be done via
 /etc/default.

OK, I can see that it's probably better to leave init scripts as they
are, but what I don't like about it is that init scripts get left behind
when uninstalling packages. It wouldn't be quite so bad if packages
called update-rc.d disable on their init scripts when removed so that
init doesn't read the disused scripts, but AFAICT from the Policy Manual
(sec 9.3.3.1) that isn't standard behaviour.

If you try to remove them manually they don't get reinstalled if you
reinstall the package later unless you use dpkg --force-conf and if you
use purge you may remove other conffiles that you do want to keep. The
fact that they aren't ordinary config files can cause a problem if you
delete one or break it badly during editing. Ideally a program should
still work and use default settings if a config file is missing, but in
most cases a missing init script breaks a package quite badly.

How about I file a wishlist bug for dpkg and apt for an option similar
to purge but which only purges files which haven't been altered from the
package's default?


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110215211627.7d7eb...@realh.co.uk



Re: Init scripts as conffiles

2011-02-15 Thread Boyd Stephen Smith Jr.
On Tuesday 15 February 2011 15:16:27 Tony Houghton wrote:
 How about I file a wishlist bug for dpkg and apt for an option similar
 to purge but which only purges files which haven't been altered from the
 package's default?

From what I understand, neither APT nor dpkg know if a file has been modified 
since it has been installed.  Some packages ship with debsums, but not all.  
Neither the original .deb or any sort of exploded form is saved for the 
entire time a package is installed.
-- 
Boyd Stephen Smith Jr.   ,= ,-_-. =.
b...@iguanasuicide.net  ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/\_/


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


Re: Init scripts as conffiles

2011-02-15 Thread Russ Allbery
Jesús M. Navarro jesus.nava...@undominio.net writes:

 Anyway, my position would be that init script shouldn't have to be
 config files.  For this to be true these steps should need to be worked
 on:

[...]

Given that nearly all of the Linux distribution work on init systems right
now is towards replacing the old System V init system with something like
upstart or systemd, I don't think this is worth the effort.  Both of those
systems support far-smaller configuration files for starting daemons (and
ones that should probably stay configuration files, since they avoid most
of the problems of init scripts being configuration files while still
providing the same features).

The effort that would be put into plastering over further problems with
System V init scripts could, I think, be better put into working out the
details of an optional transition to a better init system.

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


--
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87tyg5ugdc@windlord.stanford.edu



Re: Init scripts as conffiles

2011-02-15 Thread Sven Joachim
On 2011-02-15 22:24 +0100, Boyd Stephen Smith Jr. wrote:

 On Tuesday 15 February 2011 15:16:27 Tony Houghton wrote:
 How about I file a wishlist bug for dpkg and apt for an option similar
 to purge but which only purges files which haven't been altered from the
 package's default?

 From what I understand, neither APT nor dpkg know if a file has been modified 
 since it has been installed.

Well, dpkg stores the md5sum of conffiles in its database and thus knows
when they are modified, so removing unmodified conffiles would be
possible in theory.  However, the dpkg developers don't think this is a
good idea: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=351900.

Sven


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87wrl1ufuq@turtle.gmx.de



Re: Init scripts as conffiles

2011-02-15 Thread Don Armstrong
On Tue, 15 Feb 2011, Tony Houghton wrote:
 I don't like about it is that init scripts get left behind when
 uninstalling packages. 

Configuration files are always left behind unless you purge a package.

 It wouldn't be quite so bad if packages called update-rc.d disable
 on their init scripts when removed so that init doesn't read the
 disused scripts, but AFAICT from the Policy Manual (sec 9.3.3.1)
 that isn't standard behaviour.

The standard behavior is to exit 0 in the init script if the package
is no longer installed; that's a fairly reasonable thing to do.

 The fact that they aren't ordinary config files can cause a problem
 if you delete one or break it badly during editing.

This is the same issue that you have with /etc/default/* and many
other configuration files; editing them can break the configuration
and cause things not to work properly.

 How about I file a wishlist bug for dpkg and apt for an option
 similar to purge but which only purges files which haven't been
 altered from the package's default?

I've personally never had a use case for such an option myself; either
you want the package installed, you want it removed for now, but may
reinstall it later, or you never want to reinstall it again. [And you
were looking for --force-confmiss, btw.]


Don Armstrong

-- 
PowerPoint is symptomatic of a certain type of bureaucratic
environment: one typified by interminable presentations with lots of
fussy little bullet-points and flashy dissolves and soundtracks masked
into the background, to try to convince the audience that the goon
behind the computer has something significant to say.
 -- Charles Stross _The Jennifer Morgue_ p33

http://www.donarmstrong.com  http://rzlab.ucr.edu


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110215220620.gz17...@rzlab.ucr.edu



Re: Init scripts as conffiles

2011-02-15 Thread Matt Zagrabelny
On Tue, Feb 15, 2011 at 4:06 PM, Don Armstrong d...@debian.org wrote:
 On Tue, 15 Feb 2011, Tony Houghton wrote:
 I don't like about it is that init scripts get left behind when
 uninstalling packages.

 Configuration files are always left behind unless you purge a package.

Sure. That doesn't make it correct, optimal, or the best option, just
how things have always been done.

I understand the difference between remove and purge and the reason to
use both, but removing unmodified conf files seems like a win to me.
Keeps the clutter down.

-matt zagrabelny


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/aanlktikhsv6rztzqjhvzw6qhw1jbydjntekfwlktv...@mail.gmail.com



Re: Init scripts as conffiles

2011-02-15 Thread Tony Houghton
On Tue, 15 Feb 2011 14:06:20 -0800
Don Armstrong d...@debian.org wrote:

 On Tue, 15 Feb 2011, Tony Houghton wrote:
  It wouldn't be quite so bad if packages called update-rc.d disable
  on their init scripts when removed so that init doesn't read the
  disused scripts, but AFAICT from the Policy Manual (sec 9.3.3.1)
  that isn't standard behaviour.
 
 The standard behavior is to exit 0 in the init script if the package
 is no longer installed; that's a fairly reasonable thing to do.

Yes (not just reasonable, but quite important if redundant init scripts
don't get cleaned up and you don't want error messages from them), but
init has to waste time loading and interpreting the scripts.

  How about I file a wishlist bug for dpkg and apt for an option
  similar to purge but which only purges files which haven't been
  altered from the package's default?
 
 I've personally never had a use case for such an option myself; either
 you want the package installed, you want it removed for now, but may
 reinstall it later, or you never want to reinstall it again. [And you
 were looking for --force-confmiss, btw.]

Well, isn't this enhanced purge ideal for the second case?


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110215222919.207b4d46@toddler



Re: Init scripts as conffiles

2011-02-15 Thread Tony Houghton
On Tue, 15 Feb 2011 22:50:53 +0100
Sven Joachim svenj...@gmx.de wrote:

 On 2011-02-15 22:24 +0100, Boyd Stephen Smith Jr. wrote:
 
  On Tuesday 15 February 2011 15:16:27 Tony Houghton wrote:
  How about I file a wishlist bug for dpkg and apt for an option
  similar to purge but which only purges files which haven't been
  altered from the package's default?
 
  From what I understand, neither APT nor dpkg know if a file has
  been modified since it has been installed.
 
 Well, dpkg stores the md5sum of conffiles in its database and thus
 knows when they are modified, so removing unmodified conffiles would
 be possible in theory.  However, the dpkg developers don't think this
 is a good idea:
 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=351900.

They didn't say they don't think it's a good idea, just that they didn't
see the point, but I think a point similar to mine (that something like
purge that only purges unmodified files and keeps mosified ones would be
good) was in a later post that they overlooked.


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110215223350.69756fdc@toddler



Re: Init scripts as conffiles

2011-02-15 Thread Joey Hess
Matt Zagrabelny wrote:
 Sure. That doesn't make it correct, optimal, or the best option, just
 how things have always been done.
 
 I understand the difference between remove and purge and the reason to
 use both, but removing unmodified conf files seems like a win to me.
 Keeps the clutter down.

You'll stop thinking this when apt decides to do an upgrade as follows:

1. remove foo (and its conffiles)
2. install bar
3. install foo

That is one of the reasons for the current behavior, and temporarily
removing a package is how apt deals with certian dependency issues. 
Renaming a package is another similar reason for the current behavior.

-- 
see shy jo


signature.asc
Description: Digital signature


Re: Init scripts as conffiles

2011-02-15 Thread Matt Zagrabelny
On Tue, Feb 15, 2011 at 4:39 PM, Joey Hess jo...@debian.org wrote:
 Matt Zagrabelny wrote:
 Sure. That doesn't make it correct, optimal, or the best option, just
 how things have always been done.

 I understand the difference between remove and purge and the reason to
 use both, but removing unmodified conf files seems like a win to me.
 Keeps the clutter down.

 You'll stop thinking this when apt decides to do an upgrade as follows:

 1. remove foo (and its conffiles)
 2. install bar
 3. install foo

 That is one of the reasons for the current behavior, and temporarily
 removing a package is how apt deals with certian dependency issues.
 Renaming a package is another similar reason for the current behavior.

1. would remove the unmodified conf file
3. would install it

Did I miss something?

-matt zagrabelny


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/AANLkTinkogC5+FGtJk=_Oao05S=hq3ufygn9vqauu...@mail.gmail.com



Re: Init scripts as conffiles

2011-02-15 Thread Boyd Stephen Smith Jr.
On Tuesday 15 February 2011 16:44:49 Matt Zagrabelny wrote:
 On Tue, Feb 15, 2011 at 4:39 PM, Joey Hess jo...@debian.org wrote:
  Matt Zagrabelny wrote:
  I understand the difference between remove and purge and the reason to
  use both, but removing unmodified conf files seems like a win to me.
  Keeps the clutter down.
  
  You'll stop thinking this when apt decides to do an upgrade as follows:
  
  1. remove foo (and its conffiles)
  2. install bar
  3. install foo
  
  That is one of the reasons for the current behavior, and temporarily
  removing a package is how apt deals with certian dependency issues.
  Renaming a package is another similar reason for the current behavior.
 
 1. would remove the unmodified conf file
 3. would install it
 
 Did I miss something?

It might be different and incompatible with the conffile(s) (if any) you did 
save.  For example, it might no longer #include (or similar) the conffile that 
was saved.

I would support a --purge-unchanged option, it seems like it could be useful 
in certain circumstances.  However, something like that couldn't be the 
default for the same reason --purge can't be the default.

I'm not sure how such a state would be representing in dpkg.  uninstalled, 
half-configured?
-- 
Boyd Stephen Smith Jr.   ,= ,-_-. =.
b...@iguanasuicide.net  ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/\_/


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


Re: Init scripts as conffiles

2011-02-15 Thread Tony Houghton
On Tue, 15 Feb 2011 17:04:10 -0600
Boyd Stephen Smith Jr. b...@iguanasuicide.net wrote:

 On Tuesday 15 February 2011 16:44:49 Matt Zagrabelny wrote:
  On Tue, Feb 15, 2011 at 4:39 PM, Joey Hess jo...@debian.org wrote:
   Matt Zagrabelny wrote:
   I understand the difference between remove and purge and the
   reason to use both, but removing unmodified conf files seems
^^
   like a win to me. Keeps the clutter down.
   
   You'll stop thinking this when apt decides to do an upgrade as
   follows:
   
   1. remove foo (and its conffiles)
   2. install bar
   3. install foo
   
   That is one of the reasons for the current behavior, and
   temporarily removing a package is how apt deals with certian
   dependency issues. Renaming a package is another similar reason
   for the current behavior.
  
  1. would remove the unmodified conf file
  3. would install it
  
  Did I miss something?
 
 It might be different and incompatible with the conffile(s) (if any)
 you did save.  For example, it might no longer #include (or similar)
 the conffile that was saved.

I think you missed something (unmodified).

 I would support a --purge-unchanged option, it seems like it could be
 useful in certain circumstances.  However, something like that
 couldn't be the default for the same reason --purge can't be the
 default.

Purging only unchanged files is what we're asking for. If it's a
non-default option I'd be satisfied with that.

 I'm not sure how such a state would be representing in dpkg.
 uninstalled, half-configured?

Hm, good point. If it was marked not-installed would dpkg/apt still
avoid clobbering a previously installed conffile? If it was marked
config-files then dpkg/apt would need rewriting to make
--force-confmiss the default. 


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110215233442.4dbd7ee4@toddler



Which files will be recorded within DEBIAN/conffiles?

2011-02-13 Thread Regid Ichira
I have a Debian source package.
By inspecting its content, how can I tell in advance which files will be
recorded within DEBIAN/conffiles?  Are there documents or URLs  that
discuss that question?


  


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/405478.45189...@web120711.mail.ne1.yahoo.com



Re: Which files will be recorded within DEBIAN/conffiles?

2011-02-13 Thread Paul Wise
On Sun, Feb 13, 2011 at 7:41 PM, Regid Ichira regi...@yahoo.com wrote:

 I have a Debian source package.
 By inspecting its content, how can I tell in advance which files will be
 recorded within DEBIAN/conffiles?  Are there documents or URLs  that
 discuss that question?

It depends on your package's debian/rules file. IIRC by default
debhelper declares everything under /etc to be a conffile and it is
possible to override that if you want to use ucf or similar.

-- 
bye,
pabs

http://wiki.debian.org/PaulWise


--
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/AANLkTi=wkeecs2cc6rtysbum5oyhimnl0+dd1bgow...@mail.gmail.com



Re: Which files will be recorded within DEBIAN/conffiles?

2011-02-13 Thread Wang Lei
Regid Ichira regi...@yahoo.com writes:

 I have a Debian source package.
 By inspecting its content, how can I tell in advance which files will be
 recorded within DEBIAN/conffiles?  Are there documents or URLs  that
 discuss that question?

If you haven't read DebianPolicy and Debian Developer's Reference, there
have something helpful.

-- 
Regards
Lei


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4d57ce66.c438e70a.1f4e.4...@mx.google.com



Re: conffiles

2010-08-31 Thread Dominique Dumont
On Tuesday 31 August 2010 05:54:26 Russ Allbery wrote:
 Zvi Dubitzky d...@il.ibm.com writes:
  Is there a way to put something in DEBIAN directory  that will trigger
  the  poped up question when overwriting config files
  (during package installation) before running dpkg-deb --build  to
  generate  the packge
 
 Yes, create DEBIAN/conffiles listing all the conffiles in the package.

There's also a way for dpkg and friends to merge old config file with new 
config file without popping up questions which may be painful for your users. 

This is the subject of one GSoC project this year. I'll provide more details 
if you're interested.
 
All the best

Dominique
--
http://config-model.wiki.sourceforge.net/ -o- http://search.cpan.org/~ddumont/
http://www.ohloh.net/accounts/ddumont -o- http://ddumont.wordpress.com/


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/201008311739.20063.dominique.dum...@hp.com



Re: conffiles

2010-08-31 Thread Matthew Palmer
On Tue, Aug 31, 2010 at 06:47:09AM +0300, Zvi Dubitzky wrote:
 Is there a way to put something in DEBIAN directory  that will trigger the 
 poped up question when overwriting config files
 (during package installation) before running dpkg-deb --build  to generate 
 the packge OR  is there a debhelper command (dh_..) that will trigger that 
 prior to calling dpkg-deb

If you're calling dpkg-deb or adding files to the DEBIAN directory by hand,
you have already failed.

- Matt


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20100831201849.gg...@hezmatt.org



conffiles

2010-08-30 Thread Zvi Dubitzky
Hi

I am having conffiles file placed  in debian directory and holding the 
configuration files ( full path)  that should avoid being overwritten when 
installing a package ,
Yet when I install the built package   the package config files  are 
overwriting  the existing config files at /etc  without popping out a 
question.

Is there something  more needed  to trigger the install time questioning ?

thanks

Zvi Dubitzky 
Email:d...@il.ibm.com


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/of5d379764.3a66b9ce-onc225778f.0067d736-c225778f.00688...@il.ibm.com



Re: conffiles

2010-08-30 Thread Matthew Palmer
On Mon, Aug 30, 2010 at 10:01:46PM +0300, Zvi Dubitzky wrote:
 I am having conffiles file placed  in debian directory and holding the 
 configuration files ( full path)  that should avoid being overwritten when 
 installing a package ,
 Yet when I install the built package   the package config files  are 
 overwriting  the existing config files at /etc  without popping out a 
 question.

You should never need to list files in /etc as conffiles, as they're
detected and a conffiles written out at package build time (because Policy
says all files in /etc are conffiles).  

You'll almost certainly get better help if you post your source package
somewhere for other people to examine, or at least provide a representative
sample which demonstrates the problem you're seeing.

- Matt


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20100830200322.gc...@hezmatt.org



Re: conffiles

2010-08-30 Thread Russ Allbery
Matthew Palmer mpal...@debian.org writes:
 On Mon, Aug 30, 2010 at 10:01:46PM +0300, Zvi Dubitzky wrote:

 I am having conffiles file placed in debian directory and holding the
 configuration files ( full path) that should avoid being overwritten
 when installing a package , Yet when I install the built package the
 package config files are overwriting the existing config files at /etc
 without popping out a question.

 You should never need to list files in /etc as conffiles, as they're
 detected and a conffiles written out at package build time (because
 Policy says all files in /etc are conffiles).

This is only true if you're using debhelper, and from previous messages I
believe the original poster is learning packaging by taking a more manual
approach.

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


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87iq2rk5ty@windlord.stanford.edu



Re: conffiles

2010-08-30 Thread Rogério Brito
On Aug 30 2010, Russ Allbery wrote:
 Matthew Palmer mpal...@debian.org writes:
  You should never need to list files in /etc as conffiles, as they're
  detected and a conffiles written out at package build time (because
  Policy says all files in /etc are conffiles).
 
 This is only true if you're using debhelper, and from previous messages I
 believe the original poster is learning packaging by taking a more manual
 approach.

Yes. And only if you are using some certain compatibility levels (=5).
Granted, those are likely to be used nowadays, but there are still some
packages that don't use any package helper at all (e.g., magicfilter).

Well, depending on the simpleness of the package, I usually write the
DEBIAN directory directly and the binary *is* the preferred format of
the source. :-)

Another remarkable case when this happens is when you create a
linux-image package from Linus's newer trees: nowadays, it can be a much
lighter-weight alternative to kernel-package.


Regards,

-- 
Rogério Brito : rbr...@{ime.usp.br,gmail.com} : GPG key 4096R/BCFC
http://rb.doesntexist.org : Packages for LaTeX : algorithms.berlios.de
DebianQA: http://qa.debian.org/developer.php?login=rbrito%40ime.usp.br


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20100831020427.ga12...@ime.usp.br



Re: conffiles

2010-08-30 Thread Zvi Dubitzky
Hi

Is there a way to put something in DEBIAN directory  that will trigger the 
poped up question when overwriting config files
(during package installation) before running dpkg-deb --build  to generate 
the packge OR  is there a debhelper command (dh_..) that will trigger that 
prior to calling dpkg-deb

thanks

Zvi Dubitzky 
Email:d...@il.ibm.com





From:   Russ Allbery r...@debian.org
To: debian-mentors@lists.debian.org
Date:   31/08/2010 03:03
Subject:Re: conffiles



Matthew Palmer mpal...@debian.org writes:
 On Mon, Aug 30, 2010 at 10:01:46PM +0300, Zvi Dubitzky wrote:

 I am having conffiles file placed in debian directory and holding the
 configuration files ( full path) that should avoid being overwritten
 when installing a package , Yet when I install the built package the
 package config files are overwriting the existing config files at /etc
 without popping out a question.

 You should never need to list files in /etc as conffiles, as they're
 detected and a conffiles written out at package build time (because
 Policy says all files in /etc are conffiles).

This is only true if you're using debhelper, and from previous messages I
believe the original poster is learning packaging by taking a more manual
approach.

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


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact 
listmas...@lists.debian.org
Archive: http://lists.debian.org/87iq2rk5ty@windlord.stanford.edu




-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/off1662c2f.dc3b066c-onc2257790.00142c06-c2257790.0014c...@il.ibm.com



Re: conffiles

2010-08-30 Thread Russ Allbery
Zvi Dubitzky d...@il.ibm.com writes:

 Is there a way to put something in DEBIAN directory  that will trigger the 
 poped up question when overwriting config files
 (during package installation) before running dpkg-deb --build  to generate 
 the packge

Yes, create DEBIAN/conffiles listing all the conffiles in the package.

 OR is there a debhelper command (dh_..) that will trigger that prior to
 calling dpkg-deb

dh_installdeb handles creating of conffiles if you're using debhelper
(compatibility level v3 or higher).

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


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/877hj7l9n1@windlord.stanford.edu



Removing obsolete conffiles on upgrade

2007-02-08 Thread Michael Biebl
Hi list,

as you probably all know, conffiles from older package versions are kept
on package upgrades, even if the new package version does not ship the
conffile anymore.
How do I best get rid of such an old/obsolete conffile?
Simply delete it in preinst? Do I have to check if it was modified
locally and if so, do I have to keep it around/rename it?
I have to get rid of the old conffile somehow (I formerly had two files
foo and bar. In the new package version, the content of foo has been
included in bar, so I want to get rid of foo, otherwise I get clashes).

Cheers,
Michael

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?



signature.asc
Description: OpenPGP digital signature


Re: Removing obsolete conffiles on upgrade

2007-02-08 Thread Norbert Preining
On Fre, 09 Feb 2007, Michael Biebl wrote:
 I have to get rid of the old conffile somehow (I formerly had two files
 foo and bar. In the new package version, the content of foo has been
 included in bar, so I want to get rid of foo, otherwise I get clashes).

Well the optimum solution is the following (all in preinst):

- If foo was unchanged from the original version (check md5sum) then
  just remove it
- otherwise *try* to merge the changes in foo into bar.
- if this is not possible, warn the admin that he has to manually update
  the settings in bar according to what he has done in foo.

Best wishes

Norbert

---
Dr. Norbert Preining [EMAIL PROTECTED]Università di Siena
Debian Developer [EMAIL PROTECTED] Debian TeX Group
gpg DSA: 0x09C5B094  fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
---
`What's been happening here?' he demanded.
`Oh just the nicest things, sir, just the nicest things.
can I sit on your lap please?'
`Colin, I am going to abandon you to your fate.'
`I'm so happy.'
`It will be very, very nasty for you, and that's just too
bad. Got it?'
`I gurgle with pleasure.'
 --- Ford and Colin the robot.
 --- Douglas Adams, The Hitchhikers Guide to the Galaxy


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-30 Thread Dominique Dumont
Manoj Srivastava [EMAIL PROTECTED] writes:

 This is the beauty of free software. If you find it so
  frustrating, write up a generic tool, and contribute it. And that
  would follow the grand old UNIX tradition of each command doing one
  thing well.

I may be of some help here. 

I've written a tool that enable you to extract the information from
configuration files, check the data and write it back.

Of course, there's no miracle. For this tool to work, you must provide
details on its structure (i.e. a model), how to read data (parser,
which can also take care of upgrade problems), and how to write data
back.

Declaring a configuration model (instead of hard coding the behavior)
greatly helps maintenance. The tool I've written also provides generic
user interfaces.

If you're interested in this tool, we can further discuss it in a new
thread (may be in another list).

Cheers

-- 
Dominique Dumont 
Delivering successful solutions requires giving people what they
need, not what they want. Kurt Bittner


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-24 Thread Marc Haber
On Sat, Jan 20, 2007 at 01:14:59PM -0600, Manoj Srivastava wrote:
 On Sat, 20 Jan 2007 18:46:20 +0100, Marc Haber
 [EMAIL PROTECTED] said:  
  On Sat, Jan 20, 2007 at 11:38:39AM -0600, Manoj Srivastava wrote:
  On Sat, 20 Jan 2007 18:17:27 +0100, Marc Haber
  [EMAIL PROTECTED] said:
  There is no need to fork ucf to create a command that provides
  functionality not in ucf.
 
  the intersection between zmct (zugschlus' magical conffiles tool)
  and ucf would be non-negligible and a lot of routine stuff would
  need to be present in both packages.
 
 err, why would there be anything non-negligible beyond a
  single grep call in common? I fail to see why there  will be mounds
  and mounds of common stuff -- as the tetex example already
  demonstrates. 

I haven't thought about this in the necessary depth. To a newbie DD
who has only been with Debian for six years it looks like ucf is not
completely finished.

  And, arguably, this functionality should be in a different script
  anyway, perhaps one that can read the simple ucf cache, which,
  given the installed base, is unlikely to change from under you.
 
  Where is the documentation of the stable interface to ucf's cache
  that is reliable not to change between ucf releases?
 
 My goodness. Are we so lost in ISO 9000 processes that we need
  formal documentation to realize that ucf hash files have a md5sum and
  a file path?  And to realize that the hashfile  exists on user
  machines, and changing formats will be a major effort now?

ucf could suddenly start to write the hashfile in some other format
while still being able to read the old format. If a change like this
is not coordinated between the hypothetical zmct and ucf, all packages
using zmct will suddenly be RC-buggy.

And I remember you scolding me for using an internal kernel-package
interface back in 2001.

This has nothing to do with ISO900x (which I hate with a passion). It
is about stability.

 Then it is good for you tat the tetex folks hve written the
  (simple) wrapper code for you -- and the complex common part was:
 md5sum=$(grep $file$  /var/lib/ucf/hashfile | cut -f 1 -d ' ')

I suspect that there is some wrapper code needed anyway which is the
actual hard part (taking care of special cases). Additionally, imagine
this code being scattered away to 100 packages and then some obscure
bug surfacing.

Currently, ucf does a lot less than dpkg does. What ucf does, it does
much better than dpkg. But since there are still things that dpkg
handles quite well while ucf basically says well, code it yourself,
ucf does not provider conffile like handling as it is advertising in
its package description.

Greetings
Marc

-- 
-
Marc Haber | I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things.Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-24 Thread Manoj Srivastava
On Wed, 24 Jan 2007 12:52:53 +0100, Marc Haber
[EMAIL PROTECTED] said:  

 I haven't thought about this in the necessary depth. To a newbie DD
 who has only been with Debian for six years it looks like ucf is not
 completely finished.

ucf scratches the itch I had to begin with, and it does
 everything my packages need it to do.  Feature creep is to be guarded
 against.

 I suspect that there is some wrapper code needed anyway which is the
 actual hard part (taking care of special cases). Additionally,
 imagine this code being scattered away to 100 packages and then some
 obscure bug surfacing.

I suspect that generalizing the specific code might make it
 harder. For example, the previous md5sum specification is
 unnecesarily complex in a generic tool; and much easier in the
 maintainer scripts where each maintainer can choose the best method
 that works for them


 Currently, ucf does a lot less than dpkg does.

Well, duh.

 What ucf does, it does much better than dpkg.

Why, thank you.


 But since there are still things that dpkg handles quite well while
 ucf basically says well, code it yourself, ucf does not provider
 conffile like handling as it is advertising in its package
 description.

Matter of opinion. ucf's man page says: preserve user changes
 in configuration files. ucf is a prompting tool -- and is designed to
 handle user interaction, and copy files in place if the user says so.

That's all it does.

 ucf. Actually, the challenge is there _BECAUSE_ ucf was not designed
 to address this issue (which it actually should) and its maintainer
 considers this missing feature a feature.

Why should ucf provide a means for removing old configuration
 files as well? It is not code that is in common with the current
 functionality.  Hell, you don't even need ucf. You look to see if the
 current files md5sum matches any known md5sums, and you knwo if it is
 an unmodified file.

 I still feel that the right place to do this is the tool that claims
 to be able to replace dpkg conffile (sic!) handling, ucf.

Why should ucf be involved at all?  This is not what ucf does.

manoj
-- 
This is NOT a repeat.
Manoj Srivastava [EMAIL PROTECTED] http://www.debian.org/~srivasta/
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-20 Thread Santiago Vila
On Fri, 19 Jan 2007, Justin Pryzby wrote:

 You will have to test with both sarge and etch dpkg (until after etch
 releases).  Colin Watson recently wrote [0] about one of the ssh bugs
 and how this was complicated for him.
 
 You have to include the logic in the preinst, since the prerm is for the old
 package, since the postinst happens after the conffile prompts, and since the
 postrm happens post rm...
 
 For sarge dpkg, your logic is correct.  AFAIU in Colin's case (perhaps only
 because of the Replaces) the logic causes at least as many problems as it
 solves, since etch dpkg specifically and deliberately prompts the user about
 conffile's which were deleted (sarge dpkg assumes that such deletion was
 intentional).

No dpkg prompts here. It's a self-managed configuration file, i.e.
it's not a conffile, as such term is reserved for a conffile in the
dpkg sense. Yes, the subject is misleading. Please, people, don't
use the word conffile to refer to configuration files which are
not conffiles. Thanks :-)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-20 Thread Marc Haber
On Fri, Jan 19, 2007 at 09:43:04PM +0100, Santiago Vila wrote:
 On Fri, 19 Jan 2007, Marc Haber wrote:
  I have a package with a bunch of configuration files that are managed
  by my maintainer scripts and not by dpkg. I now need one of them
  (a.conf) to vanish.
  
  How do I do this in a clean way? I am thinking about the following:
  
  (1) Let the new package version know about the md5sum of the last
  version(s) of a.conf that were in the package.
  (2) If one of the md5sums matches, the file has not been changed,
  remove it.
  (3) If none of the md5sums matches, the file has locally been changed,
  rename it to a.conf.package-old
 
 Instead of 1,2,3 you could do 1,2,3 only when upgrading from a version
 previous than the one not having a.conf anymore, and in case
 that (3) happens, keep a.conf untouched, instead of renaming it
 (assuming the program will not read a.conf anymore).

Yes, that sounds sensible. It is, however, frustrating that there is
no method (for example, offered by ucf) to do this without that much
coding in maintainer scripts.

Greetings
Marc

-- 
-
Marc Haber | I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things.Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-20 Thread Marc Haber
On Fri, Jan 19, 2007 at 10:28:41PM -0500, Justin Pryzby wrote:
 You will have to test with both sarge and etch dpkg (until after etch
 releases).  Colin Watson recently wrote [0] about one of the ssh bugs
 and how this was complicated for him.
 
 You have to include the logic in the preinst, since the prerm is for the old
 package, since the postinst happens after the conffile prompts, and since the
 postrm happens post rm...

This sounds like a horrible mess and a gazillion ways to do things
wrong. Is there a reference package that does things completely right?

Greetings
Marc

-- 
-
Marc Haber | I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things.Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-20 Thread Manoj Srivastava
On Sat, 20 Jan 2007 10:47:16 +0100, Marc Haber
[EMAIL PROTECTED] said:  

 Yes, that sounds sensible. It is, however, frustrating that there is
 no method (for example, offered by ucf) to do this without that much
 coding in maintainer scripts.

This is the beauty of fre software. If you find it so
 frustrating, write up a generic tool, and contribute it. And that
 would follow the grand old UNIX tradition of each command doing one
 thing well.

manoj
-- 
Flattery is all right -- if you don't inhale. Adlai Stevenson
Manoj Srivastava [EMAIL PROTECTED] http://www.debian.org/~srivasta/
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-20 Thread Marc Haber
On Sat, Jan 20, 2007 at 10:31:11AM -0600, Manoj Srivastava wrote:
 This is the beauty of fre software. If you find it so
  frustrating, write up a generic tool, and contribute it. And that
  would follow the grand old UNIX tradition of each command doing one
  thing well.

The task at hand would mean forking ucf, which would be a bad idea.
Additionally, I'd like a functionality of this importance in a better
coder's hand than mine.

Greetings
Marc

-- 
-
Marc Haber | I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things.Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-20 Thread Manoj Srivastava
On Sat, 20 Jan 2007 18:17:27 +0100, Marc Haber [EMAIL PROTECTED] said: 

 On Sat, Jan 20, 2007 at 10:31:11AM -0600, Manoj Srivastava wrote:
 This is the beauty of fre software. If you find it so frustrating,
 write up a generic tool, and contribute it. And that would follow
 the grand old UNIX tradition of each command doing one thing well.

 The task at hand would mean forking ucf, which would be a bad idea.

Then I am sorry to say you have not learned how free software
 works.  There is no need to fork ucf to create a command that
 provides functionality not in ucf. And, arguably, this functionality
 should be in a different script anyway, perhaps one that can read the
 simple ucf cache, which, given the installed base, is unlikely to
 change from under you.

 Additionally, I'd like a functionality of this importance in a
 better coder's hand than mine.

Write the code. You might surprise yourself. Or find that
 other people can help out. Or you could contribute the code to be
 included in ucf.  But the first step is do the work.

manoj
-- 
I hate babies.  They're so human. H.H. Munro
Manoj Srivastava [EMAIL PROTECTED] http://www.debian.org/~srivasta/
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-20 Thread Marc Haber
On Sat, Jan 20, 2007 at 11:38:39AM -0600, Manoj Srivastava wrote:
 On Sat, 20 Jan 2007 18:17:27 +0100, Marc Haber [EMAIL PROTECTED] said: 
  On Sat, Jan 20, 2007 at 10:31:11AM -0600, Manoj Srivastava wrote:
  This is the beauty of fre software. If you find it so frustrating,
  write up a generic tool, and contribute it. And that would follow
  the grand old UNIX tradition of each command doing one thing well.
 
  The task at hand would mean forking ucf, which would be a bad idea.
 
 Then I am sorry to say you have not learned how free software
  works.

Your opinion. Agree to disagree?

   There is no need to fork ucf to create a command that provides
   functionality not in ucf.

the intersection between zmct (zugschlus' magical conffiles tool) and
ucf would be non-negligible and a lot of routine stuff would need to
be present in both packages.

  And, arguably, this functionality should be in a different script
  anyway, perhaps one that can read the simple ucf cache, which, given
  the installed base, is unlikely to change from under you.

Where is the documentation of the stable interface to ucf's cache that
is reliable not to change between ucf releases?

  Additionally, I'd like a functionality of this importance in a
  better coder's hand than mine.
 
 Write the code. You might surprise yourself. Or find that
  other people can help out. Or you could contribute the code to be
  included in ucf.  But the first step is do the work.

insufficient time resources.

Greetings
Marc

-- 
-
Marc Haber | I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things.Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-20 Thread Manoj Srivastava
On Sat, 20 Jan 2007 18:46:20 +0100, Marc Haber
[EMAIL PROTECTED] said:  

 On Sat, Jan 20, 2007 at 11:38:39AM -0600, Manoj Srivastava wrote:
 On Sat, 20 Jan 2007 18:17:27 +0100, Marc Haber
 [EMAIL PROTECTED] said:
 There is no need to fork ucf to create a command that provides
 functionality not in ucf.

 the intersection between zmct (zugschlus' magical conffiles tool)
 and ucf would be non-negligible and a lot of routine stuff would
 need to be present in both packages.

err, why would there be anything non-negligible beyond a
 single grep call in common? I fail to see why there  will be mounds
 and mounds of common stuff -- as the tetex example already
 demonstrates. 

 And, arguably, this functionality should be in a different script
 anyway, perhaps one that can read the simple ucf cache, which,
 given the installed base, is unlikely to change from under you.

 Where is the documentation of the stable interface to ucf's cache
 that is reliable not to change between ucf releases?

My goodness. Are we so lost in ISO 9000 processes that we need
 formal documentation to realize that ucf hash files have a md5sum and
 a file path?  And to realize that the hashfile  exists on user
 machines, and changing formats will be a major effort now?

  Additionally, I'd like a functionality of this importance in a
  better coder's hand than mine.
 
 Write the code. You might surprise yourself. Or find that other
 people can help out. Or you could contribute the code to be
 included in ucf.  But the first step is do the work.

 insufficient time resources.

Then it is good for you tat the tetex folks hve written the
 (simple) wrapper code for you -- and the complex common part was:
md5sum=$(grep $file$  /var/lib/ucf/hashfile | cut -f 1 -d ' ')

manoj
-- 
Darth Vader sleeps with a Teddywookie.
Manoj Srivastava [EMAIL PROTECTED] http://www.debian.org/~srivasta/
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Removing self-managed conffiles?

2007-01-19 Thread Marc Haber
Hi,

I have a package with a bunch of configuration files that are managed
by my maintainer scripts and not by dpkg. I now need one of them
(a.conf) to vanish.

How do I do this in a clean way? I am thinking about the following:

(1) Let the new package version know about the md5sum of the last
version(s) of a.conf that were in the package.
(2) If one of the md5sums matches, the file has not been changed,
remove it.
(3) If none of the md5sums matches, the file has locally been changed,
rename it to a.conf.package-old

Is that acceptable? Or is there anything easier, more elegant, more
policy compliant?

Greetings
Marc

-- 
-
Marc Haber | I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things.Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-19 Thread Santiago Vila
On Fri, 19 Jan 2007, Marc Haber wrote:

 Hi,
 
 I have a package with a bunch of configuration files that are managed
 by my maintainer scripts and not by dpkg. I now need one of them
 (a.conf) to vanish.
 
 How do I do this in a clean way? I am thinking about the following:
 
 (1) Let the new package version know about the md5sum of the last
 version(s) of a.conf that were in the package.
 (2) If one of the md5sums matches, the file has not been changed,
 remove it.
 (3) If none of the md5sums matches, the file has locally been changed,
 rename it to a.conf.package-old

Instead of 1,2,3 you could do 1,2,3 only when upgrading from a version
previous than the one not having a.conf anymore, and in case
that (3) happens, keep a.conf untouched, instead of renaming it
(assuming the program will not read a.conf anymore).

 Is that acceptable? Or is there anything easier, more elegant, more
 policy compliant?

Other than that it seems completely acceptable to me.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-19 Thread Florent Rougon
Santiago Vila [EMAIL PROTECTED] wrote:

 Instead of 1,2,3 you could do 1,2,3 only when upgrading from a version
 previous than the one not having a.conf anymore

Sure.

 and in case that (3) happens, keep a.conf untouched, instead of
 renaming it (assuming the program will not read a.conf anymore).

Hmm, I don't like this much, because it contributes to /etc pollution.
There are so many things in that directory that it's often difficult to
know when you can safely remove something that looks like cruft
(especially after dpkg's messages Non-empty directory 'foo' coudn't be
removed or so).

So, IMHO, it's much better when the maintainer scripts of the Package
Who Knows tell you that $file can be safely removed (and even better,
give it a name ending in .package-old, as Marc suggested).

-- 
Florent


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing self-managed conffiles?

2007-01-19 Thread Justin Pryzby
On Fri, Jan 19, 2007 at 09:34:28AM +0100, Marc Haber wrote:
 Hi,
 
 I have a package with a bunch of configuration files that are managed
 by my maintainer scripts and not by dpkg. I now need one of them
 (a.conf) to vanish.
 
 How do I do this in a clean way? I am thinking about the following:
 
 (1) Let the new package version know about the md5sum of the last
 version(s) of a.conf that were in the package.
 (2) If one of the md5sums matches, the file has not been changed,
 remove it.
 (3) If none of the md5sums matches, the file has locally been changed,
 rename it to a.conf.package-old
You will have to test with both sarge and etch dpkg (until after etch
releases).  Colin Watson recently wrote [0] about one of the ssh bugs
and how this was complicated for him.

You have to include the logic in the preinst, since the prerm is for the old
package, since the postinst happens after the conffile prompts, and since the
postrm happens post rm...

For sarge dpkg, your logic is correct.  AFAIU in Colin's case (perhaps only
because of the Replaces) the logic causes at least as many problems as it
solves, since etch dpkg specifically and deliberately prompts the user about
conffile's which were deleted (sarge dpkg assumes that such deletion was
intentional).

Justin 

References

[0] http://lists.debian.org/debian-release/2006/12/msg01105.html


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



detecting cutomized conffiles and debconf

2006-09-11 Thread Mattia Dongili
Hello Mentors,

to make the long story short this is an how to deal existing conffiles
and a new set of debconf questions to setup the package? question.

Now, the package is cpufrequtils and what I'd like to achieve is
providing some nice debconf templates to configure
/etc/default/cpufrequtils which will allow the user to set a boottime
policy.
At the same time I'd like to avoid annoying users who already customized
their configuration (I assume they don't need to be questioned again)
and obviously avoid overwriting their customized file.

Which is the way to go?
AFAICT debsums could help or maybe should I not make
/etc/default/cpufrequtils a conffile and manually manage it?

Thanks in advance
-- 
mattia
:wq!


signature.asc
Description: Digital signature


Re: detecting cutomized conffiles and debconf

2006-09-11 Thread Arjan Oosting
Hi Mattia, 

Op ma, 11-09-2006 te 21:01 +0200, schreef Mattia Dongili:
 Hello Mentors,
 
 to make the long story short this is an how to deal existing conffiles
 and a new set of debconf questions to setup the package? question.
 
 Now, the package is cpufrequtils and what I'd like to achieve is
 providing some nice debconf templates to configure
 /etc/default/cpufrequtils which will allow the user to set a boottime
 policy.
 At the same time I'd like to avoid annoying users who already customized
 their configuration (I assume they don't need to be questioned again)
 and obviously avoid overwriting their customized file.
 
 Which is the way to go?
 AFAICT debsums could help or maybe should I not make
 /etc/default/cpufrequtils a conffile and manually manage it?
If you change the contents of a configuration file in your maintainer
scripts, for instance by using debconf, they should not be conffiles but
regular configuration files. See Debian policy on this.

You should stop shipping the file as conffile, read in the configfile in
your preinst, save the values for use with debconf, and then make the
file a configuration file.

Greetings Arjan 




signature.asc
Description: Dit berichtdeel is digitaal ondertekend


Re: Symlinks as conffiles?

2006-06-30 Thread Justin Pryzby
On Thu, Jun 29, 2006 at 09:24:03PM -0500, TNKS wrote:
 Hi,
 
 I hope this is not off-topic for this forum.  I have a simple question, and
 there's _so_ many forums it's tough to find the best one.
 
 I'm a long-time user of Debian trying to learn more about the distribution
 and also the Policy. 
 
 Someone on #debian mentioned that symlinks can be included in the package
 file listing.  If that's the case, can symlinks also be conffiles?  Will
 dpkg make .dpkg-old symlinks and the like if the user changes the target of
 the symlink?  
Yes

 Even if it works, is it not recommended because of some corner-case(s) dpkg
 just isn't designed for?
Correct, even if the recommendation is just mine..

See the lessdisks-terminal bug #360673 and its clone for why this
[can] be really bad.

Justin


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Symlinks as conffiles?

2006-06-29 Thread TNKS
Hi,

I hope this is not off-topic for this forum.  I have a simple question, and
there's _so_ many forums it's tough to find the best one.

I'm a long-time user of Debian trying to learn more about the distribution
and also the Policy. 

Someone on #debian mentioned that symlinks can be included in the package
file listing.  If that's the case, can symlinks also be conffiles?  Will
dpkg make .dpkg-old symlinks and the like if the user changes the target of
the symlink?  

Even if it works, is it not recommended because of some corner-case(s) dpkg
just isn't designed for?

I'm using GMane to post to this forum as a newgroup.  I'll just check back
here periodically, so feel free to just post back to the forum and not
worry about cc'ing me.

Thanks for your feedback,
Sukant Hajra


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing former conffiles

2006-02-09 Thread Frank Küster
Don Armstrong [EMAIL PROTECTED] wrote:

 People who forgot (or never noticed) that the file is generated from
 files in conf.d will open /etc/texmf/bla.conf in their favorite
 editor, change the generated file without noticing, and will be
 surprised if the change is lost after the next package upgrade.

 This should be an indication that you're not preserving administrator
 changes to configuration files if this occurs...

Err, no.  If the conffiles are in /etc/bla.d/, the generated file
bla.conf is in /var/lib/bla/, and there's a symlink chain from
/usr/share/bla/bla.conf to /etc/bla.conf and on to
/var/lib/bla/bla.conf, then there are two things I need to preserve: One
is the state of /etc/bla.conf (is it a symlink or a real file?) and the
other is the conffiles in /etc/bla.d/.  

Of course there would be a remark at the top of /var/lib/bla/bla.conf as
to not edit it, but we all know that users don't necessarily read that.

This is why I think the symlink from /etc to /var idea isn't good.
Either the program is able to read from conf.d, or there is a generated
file that is accessed by the program without an additional indirection
via /etc.

Regards, Frank
-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)



Re: Removing former conffiles

2006-02-08 Thread Frank Küster
Don Armstrong [EMAIL PROTECTED] wrote:

 On Tue, 07 Feb 2006, Frank Küster wrote:
 Don Armstrong [EMAIL PROTECTED] wrote:
  On Tue, 07 Feb 2006, Frank Küster wrote:
  Don Armstrong [EMAIL PROTECTED] wrote:
  
   Right. The problem is that it's not always easy to know if the file
   will no longer be read at all; you can't assume that the administrator
   has left in place your default configuration system.
  
  Of course the maintainer should know their package.  If the binary reads
  a configuration file in /usr/share/bla, and in the old version there was
  
  This would be a problem.
 
 Why?  What problem?

 You've now got a conffile in a location which is not /etc, namely
 /var/lib/bla, which cannot be overridden by the administrator.

No, I don't.  The program reads its configuration from a file in
/var/lib/bla, but the conffiles (or configuration files) reside in
/etc/bla/bla.d. 

 Instead, I'd suggest having the symlink in /usr/share/bla pointing to
 /etc/bla.cnf which then in the default install is a symlink to
 /var/lib/bla or whatever is appropriate; if the user has modified the
 configuration file, you don't stick in the symlink. 

That's a possible approach;  however teTeX is different.  There's an
other method to override the Debian integration.

Regards, Frank
-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)



Re: Removing former conffiles

2006-02-08 Thread Don Armstrong
On Wed, 08 Feb 2006, Frank Küster wrote:
 Don Armstrong [EMAIL PROTECTED] wrote:
  You've now got a conffile in a location which is not /etc, namely
  /var/lib/bla, which cannot be overridden by the administrator.
 
 No, I don't. The program reads its configuration from a file in
 /var/lib/bla, but the conffiles (or configuration files) reside in
 /etc/bla/bla.d.

The configuration file is the file from which the configuration is
read, that is, the file in /var/lib/blah which isn't in /etc. This
setup forces the administrator to use a your special conffile setup
which they can't override.[1] The double symlink method enables them
to both:

   1) Override your method
   2) Use your method exactly as they would without the double symlink

In addition, you get compliance with policy, and an implementation
which is more obvious to the administrator.

A third option would be to build the conffile in /var/lib/blah, and
use ucf or similar to prompt for the difference betwen /var/lib/blah
and /etc/blah.


Don Armstrong

1: In the sense that they can't decide that using the conf.d is silly
and ship a single configuration file.
-- 
When I was a kid I used to pray every night for a new bicycle. Then I 
realised that the Lord doesn't work that way so I stole one and asked
Him to forgive me.
 -- Emo Philips.

http://www.donarmstrong.com  http://rzlab.ucr.edu


signature.asc
Description: Digital signature


Re: Removing former conffiles

2006-02-08 Thread Frank Küster
Don Armstrong [EMAIL PROTECTED] wrote:

 On Wed, 08 Feb 2006, Frank Küster wrote:
 Don Armstrong [EMAIL PROTECTED] wrote:
  You've now got a conffile in a location which is not /etc, namely
  /var/lib/bla, which cannot be overridden by the administrator.
 
 No, I don't. The program reads its configuration from a file in
 /var/lib/bla, but the conffiles (or configuration files) reside in
 /etc/bla/bla.d.

 The configuration file is the file from which the configuration is
 read, that is, the file in /var/lib/blah which isn't in /etc. 

Why?

 This
 setup forces the administrator to use a your special conffile setup
 which they can't override.[1] 
[...]
 1: In the sense that they can't decide that using the conf.d is silly
 and ship a single configuration file.

Okay, I see your point.  Generally I agree with you, although in the
particular example, teTeX, your're wrong:  They still can override the
scheme. 

 In addition, you get compliance with policy, 

Our setup is also policy-compliant.

 and an implementation
 which is more obvious to the administrator.

And clutters /etc/texmf unnecessarily.  And has one more severe
drawback:  People who forgot (or never noticed) that the file is
generated from files in conf.d will open /etc/texmf/bla.conf in their
favorite editor, change the generated file without noticing, and will be
surprised if the change is lost after the next package upgrade.

 A third option would be to build the conffile in /var/lib/blah, and
 use ucf or similar to prompt for the difference betwen /var/lib/blah
 and /etc/blah.

Been there, done something similar.  ucf is a nice workaround for a
missing feature in dpkg, but it confuses users.  I avoid it if I can. 

Regards, Frank
-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)



Re: Removing former conffiles

2006-02-08 Thread Don Armstrong
On Wed, 08 Feb 2006, Frank Küster wrote:
 Don Armstrong [EMAIL PROTECTED] wrote:
  The configuration file is the file from which the configuration is
  read, that is, the file in /var/lib/blah which isn't in /etc.
[...]
  1: In the sense that they can't decide that using the conf.d is silly
  and ship a single configuration file.
 
 Okay, I see your point. Generally I agree with you, although in the
 particular example, teTeX, your're wrong: They still can override
 the scheme.

Heh. There's a reason why we're talking about package 'blah' here. ;-)

 People who forgot (or never noticed) that the file is generated from
 files in conf.d will open /etc/texmf/bla.conf in their favorite
 editor, change the generated file without noticing, and will be
 surprised if the change is lost after the next package upgrade.

This should be an indication that you're not preserving administrator
changes to configuration files if this occurs...

  A third option would be to build the conffile in /var/lib/blah,
  and use ucf or similar to prompt for the difference betwen
  /var/lib/blah and /etc/blah.
 
 Been there, done something similar. ucf is a nice workaround for a
 missing feature in dpkg, but it confuses users. I avoid it if I can.

I actually like ucf, but the point here is that it's another option
which is also policy compliant.


Don Armstrong

-- 
Dropping non-free would set us back at least, what, 300 packages? It'd
take MONTHS to make up the difference, and meanwhile Debian users will
be fleeing to SLACKWARE.

And what about SHAREHOLDER VALUE? 
 -- Matt Zimmerman in [EMAIL PROTECTED]

http://www.donarmstrong.com  http://rzlab.ucr.edu


signature.asc
Description: Digital signature


Re: Removing former conffiles

2006-02-07 Thread Frank Küster
Justin Pryzby [EMAIL PROTECTED] wrote:

 On Mon, Feb 06, 2006 at 10:02:06PM +0100, Frank K?ster wrote:
 Bas Wijnen [EMAIL PROTECTED] wrote:
 
  The question is, how do I solve this?  Should I forcefully remove
  the conffile before calling update-rc.d?  It feels really bad to
  remove files from /etc in maintainer scripts, but perhaps it's the
  right thing to do...

 - if the file is unchanged, remove it
 Even changed files are removed on purge.

Yes, of course - I should have been more clear.  What I wrote is done in
preinst. 

Regards, Frank
-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)



Re: Removing former conffiles

2006-02-07 Thread Frank Küster
Don Armstrong [EMAIL PROTECTED] wrote:

 On Mon, 06 Feb 2006, Frank Küster wrote:
 - if it is changed, either keep it and insert a comment at its
   beginning that it is unused, or move/rename it. In all cases where
   the file's presence could have a bad effect, I renamed or moved
   it.

 Just a word of caution here: If the administrator has modified the
 file, you should not rename or move it, as they may know better than
 you what they're doing. A proper course of action would be warning
 them, and/or offering to remove the files in question via debconf.

If I know that the file will no longer be read at all, there's no point
in pretending that it still have an effect.  Renaming it makes this
completely clear.  If it's just a the file is no longer needed, then
of course I need not do anything, but a warning, debconf question, or
just an entry in NEWS.Debian would be good.

There's yet an other case:  If the postinst script finds that a
conf(iguration) file has a setting that will break later postinst
action, and result in an unconfigured package, then it should fail right
away and give an explanation (and not try to proceed and fail later with
a much less understandable error message).

 Additionally, you should check to make sure whether you're upgrading
 from a version after this transition; if that's the case, you
 shouldn't rename/delete either.

Yes, that should always be done.  

Regards, Frank
-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)



Re: Removing former conffiles

2006-02-07 Thread Don Armstrong
On Tue, 07 Feb 2006, Frank Küster wrote:
 Don Armstrong [EMAIL PROTECTED] wrote:
  Just a word of caution here: If the administrator has modified the
  file, you should not rename or move it, as they may know better
  than you what they're doing. A proper course of action would be
  warning them, and/or offering to remove the files in question via
  debconf.
 
 If I know that the file will no longer be read at all, there's no
 point in pretending that it still have an effect. Renaming it makes
 this completely clear. 

Right. The problem is that it's not always easy to know if the file
will no longer be read at all; you can't assume that the administrator
has left in place your default configuration system. [Likewise for
failure modes on the presence of an obsolete configuration file;
unless you know for certain that it will fail, you should give the
administrator some way to override your guess.]


Don Armstrong

-- 
A people living under the perpetual menace of war and invasion is very
easy to govern. It demands no social reforms. It does not haggle over
expenditures on armaments and military equipment. It pays without
discussion, it ruins itself, and that is an excellent thing for the
syndicates of financiers and manufacturers for whom patriotic terrors
are an abundant source of gain.
 -- Anatole France

http://www.donarmstrong.com  http://rzlab.ucr.edu



Re: Removing former conffiles

2006-02-07 Thread Frank Küster
Don Armstrong [EMAIL PROTECTED] wrote:

 Right. The problem is that it's not always easy to know if the file
 will no longer be read at all; you can't assume that the administrator
 has left in place your default configuration system.

Of course the maintainer should know their package.  If the binary reads
a configuration file in /usr/share/bla, and in the old version there was
a symlink from /usr/share/bla/bla.conf to /etc/bla/bla.conf, but now the
file is generated from files in /etc/bla/conf.d, sits in /var/lib/bla,
and the symlink points there, it's safe to assume that /etc/bla/bla.conf
is unused.

 [Likewise for
 failure modes on the presence of an obsolete configuration file;
 unless you know for certain that it will fail, you should give the
 administrator some way to override your guess.]

In some cases, yes.  We have cases in teTeX where there are only two
alternatives: Either accept the change, or not install the debianized
package at all and go for /usr/local/ instead.

Regards, Frank
-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)



Re: Removing former conffiles

2006-02-07 Thread Don Armstrong
On Tue, 07 Feb 2006, Frank Küster wrote:
 Don Armstrong [EMAIL PROTECTED] wrote:
 
  Right. The problem is that it's not always easy to know if the file
  will no longer be read at all; you can't assume that the administrator
  has left in place your default configuration system.
 
 Of course the maintainer should know their package.  If the binary reads
 a configuration file in /usr/share/bla, and in the old version there was

This would be a problem.

 a symlink from /usr/share/bla/bla.conf to /etc/bla/bla.conf, but now
 the file is generated from files in /etc/bla/conf.d, sits in
 /var/lib/bla, and the symlink points there, it's safe to assume that
 /etc/bla/bla.conf is unused.

The issue here is that you've suddenly changed the way the system
works, so perhaps the proper method is to move /etc/blah/bla.conf into
/etc/bla/conf.d/ instead; at the very least you should move the users
configuration away into a backup position or something rather than
deleting it if they have made changes.
 
 In some cases, yes. We have cases in teTeX where there are only two
 alternatives: Either accept the change, or not install the
 debianized package at all and go for /usr/local/ instead.

That seems like a bug to me; it may not be easy to fix in tetex, but
it's definetly not the ideal situtation for a package.


Don Armstrong

-- 
The question of whether computers can think is like the question of
whether submarines can swim.
 -- Edsgar Dijkstra

http://www.donarmstrong.com  http://rzlab.ucr.edu



Re: Removing former conffiles

2006-02-07 Thread Frank Küster
Don Armstrong [EMAIL PROTECTED] wrote:

 On Tue, 07 Feb 2006, Frank Küster wrote:
 Don Armstrong [EMAIL PROTECTED] wrote:
 
  Right. The problem is that it's not always easy to know if the file
  will no longer be read at all; you can't assume that the administrator
  has left in place your default configuration system.
 
 Of course the maintainer should know their package.  If the binary reads
 a configuration file in /usr/share/bla, and in the old version there was
 
 This would be a problem.

Why?  What problem?

 a symlink from /usr/share/bla/bla.conf to /etc/bla/bla.conf, but now
 the file is generated from files in /etc/bla/conf.d, sits in
 /var/lib/bla, and the symlink points there, it's safe to assume that
 /etc/bla/bla.conf is unused.

 The issue here is that you've suddenly changed the way the system
 works, so perhaps the proper method is to move /etc/blah/bla.conf into
 /etc/bla/conf.d/ instead; at the very least you should move the users
 configuration away into a backup position or something rather than
 deleting it if they have made changes.

I never talked about deleting it.  In some cases we indeed managed to
transfer it.  There might be others where it isn't possible.

It might also be that the binary simply stops looking for that
particular conffile because the configuration options are obsolete. 

 In some cases, yes. We have cases in teTeX where there are only two
 alternatives: Either accept the change, or not install the
 debianized package at all and go for /usr/local/ instead.

 That seems like a bug to me; it may not be easy to fix in tetex, but
 it's definetly not the ideal situtation for a package.

Go ahead and submit bugs, and we'll discuss whether there's a better
solution.  One example:

TeX input files are found in any path (TEXMF tree) defined in the
TEXMF variable.  We had to move teTeX's files from /usr/share/texmf
(which continues to be a TEXMF tree for other packages) into
/usr/share/texmf-tetex, and consequently we need to add this new tree
into the list in the variable TEXMF.

If the user refuses this change upon upgrade, what other choice do we
have?  We check for it in postinst and bail out before trying to do any
configure work which will fail for sure.

Regards, Frank
-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)



Re: Removing former conffiles

2006-02-07 Thread Justin Pryzby
On Tue, Feb 07, 2006 at 11:35:01AM -0800, Don Armstrong wrote:
 On Tue, 07 Feb 2006, Frank K?ster wrote:
  Don Armstrong [EMAIL PROTECTED] wrote:
  
   Right. The problem is that it's not always easy to know if the file
   will no longer be read at all; you can't assume that the administrator
   has left in place your default configuration system.
  
  Of course the maintainer should know their package.  If the binary reads
  a configuration file in /usr/share/bla, and in the old version there was
 
 This would be a problem.
Not really, just nonideal; policy even covers it:

|10.7.2 Location
|
|Any configuration files created or used by your package must reside in
|/etc. If there are several, consider creating a subdirectory of /etc
|named after your package.
|
|If your package creates or uses configuration files outside of /etc,
|and it is not feasible to modify the package to use /etc directly, put
|the files in /etc and create symbolic links to those files from the
|location that the package requires. 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing former conffiles

2006-02-07 Thread Don Armstrong
On Tue, 07 Feb 2006, Frank Küster wrote:
 Don Armstrong [EMAIL PROTECTED] wrote:
  On Tue, 07 Feb 2006, Frank Küster wrote:
  Don Armstrong [EMAIL PROTECTED] wrote:
  
   Right. The problem is that it's not always easy to know if the file
   will no longer be read at all; you can't assume that the administrator
   has left in place your default configuration system.
  
  Of course the maintainer should know their package.  If the binary reads
  a configuration file in /usr/share/bla, and in the old version there was
  
  This would be a problem.
 
 Why?  What problem?

You've now got a conffile in a location which is not /etc, namely
/var/lib/bla, which cannot be overridden by the administrator.

Instead, I'd suggest having the symlink in /usr/share/bla pointing to
/etc/bla.cnf which then in the default install is a symlink to
/var/lib/bla or whatever is appropriate; if the user has modified the
configuration file, you don't stick in the symlink. If the user
hasn't, you put in the symlink. [Of course, ideally you'd have a
configuration file language that would enable you to just include the
conf.d directly... but that may not always be possible.]


Don Armstrong

-- 
The trouble with you, Ibid he said, is that you think you're the
biggest bloody authority on everything
 -- Terry Pratchet _Pyramids_ p146

http://www.donarmstrong.com  http://rzlab.ucr.edu



Re: Removing former conffiles

2006-02-07 Thread Bas Wijnen
On Tue, Feb 07, 2006 at 12:28:39AM -0800, Don Armstrong wrote:
 On Tue, 07 Feb 2006, Frank K?ster wrote:
  Don Armstrong [EMAIL PROTECTED] wrote:
   Just a word of caution here: If the administrator has modified the
   file, you should not rename or move it, as they may know better
   than you what they're doing. A proper course of action would be
   warning them, and/or offering to remove the files in question via
   debconf.
  
  If I know that the file will no longer be read at all, there's no
  point in pretending that it still have an effect. Renaming it makes
  this completely clear. 
 
 Right. The problem is that it's not always easy to know if the file
 will no longer be read at all; you can't assume that the administrator
 has left in place your default configuration system. [Likewise for
 failure modes on the presence of an obsolete configuration file;
 unless you know for certain that it will fail, you should give the
 administrator some way to override your guess.]

The package is a dummy transition package.  When this version of gnocatan is
installed, no gnocatan config files will be read at all anymore.  It might
have been a good idea to try and convert it into a pioneers config file (the
new name of the package), but as long as the name includes gnocatan, it's
not going to have any effect, since there are no binaries in the gnocatan-*
packages anymore (well, except this maintainer script).

Would that mean it's ok to remove it?  Or should I better rename it so they
can use it to convert to a pioneers file by hand?  Perhaps that's the best...
I could make a NEWS message about that as well.

Thanks,
Bas

-- 
I encourage people to send encrypted e-mail (see http://www.gnupg.org).
If you have problems reading my e-mail, use a better reader.
Please send the central message of e-mails as plain text
   in the message body, not as HTML and definitely not as MS Word.
Please do not use the MS Word format for attachments either.
For more information, see http://129.125.47.90/e-mail.html


signature.asc
Description: Digital signature


Re: Removing former conffiles

2006-02-07 Thread Steve Langasek
On Tue, Feb 07, 2006 at 11:47:49PM +0100, Bas Wijnen wrote:
 On Tue, Feb 07, 2006 at 12:28:39AM -0800, Don Armstrong wrote:
  On Tue, 07 Feb 2006, Frank K?ster wrote:
   Don Armstrong [EMAIL PROTECTED] wrote:
Just a word of caution here: If the administrator has modified the
file, you should not rename or move it, as they may know better
than you what they're doing. A proper course of action would be
warning them, and/or offering to remove the files in question via
debconf.

   If I know that the file will no longer be read at all, there's no
   point in pretending that it still have an effect. Renaming it makes
   this completely clear. 

  Right. The problem is that it's not always easy to know if the file
  will no longer be read at all; you can't assume that the administrator
  has left in place your default configuration system. [Likewise for
  failure modes on the presence of an obsolete configuration file;
  unless you know for certain that it will fail, you should give the
  administrator some way to override your guess.]

 The package is a dummy transition package.  When this version of gnocatan is
 installed, no gnocatan config files will be read at all anymore.  It might
 have been a good idea to try and convert it into a pioneers config file (the
 new name of the package), but as long as the name includes gnocatan, it's
 not going to have any effect, since there are no binaries in the gnocatan-*
 packages anymore (well, except this maintainer script).

 Would that mean it's ok to remove it?  Or should I better rename it so they
 can use it to convert to a pioneers file by hand?  Perhaps that's the best...
 I could make a NEWS message about that as well.

I think the right thing to do here is to simply remove it if we can
determine that it's unmodified.

Well, really, I think the right thing is for *dpkg* to remove it if it can
determine that it's unmodified; this is bug #330256.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


signature.asc
Description: Digital signature


Removing former conffiles

2006-02-06 Thread Bas Wijnen
Hello,

After bug report #339387, I added a postinst file to the dummy package
gnocatan-meta-server, which does
update-rc.d gnocatan-meta-server remove /dev/null || true
in order to get rid of the links which were created by the previous
(non-dummy) version of the package.

However, this didn't seem to work.  Appearantly this is what happened:
- The non-dummy package created the conffile
- The package was upgraded to the dummy version, which no longer held the
  conffile.  However, it being a conffile, it was not removed (perhaps this is
  only true if it was actually changed?)
- On purging the dummy package, the conffile is not removed because it isn't
  listed as part of the package.
- update-rc.d then refuses to remove the links, because the file is still
  there.
- Both the conffile and the links remain on the system.

The question is, how do I solve this?  Should I forcefully remove the conffile
before calling update-rc.d?  It feels really bad to remove files from /etc in
maintainer scripts, but perhaps it's the right thing to do...

As an aside, I suppose that such manual removal would work both for file-rc
and sysv-rc, right?

Thanks,
Bas

-- 
I encourage people to send encrypted e-mail (see http://www.gnupg.org).
If you have problems reading my e-mail, use a better reader.
Please send the central message of e-mails as plain text
   in the message body, not as HTML and definitely not as MS Word.
Please do not use the MS Word format for attachments either.
For more information, see http://129.125.47.90/e-mail.html


signature.asc
Description: Digital signature


Re: Removing former conffiles

2006-02-06 Thread Stephen Gran
This one time, at band camp, Bas Wijnen said:
 Hello,
 
 After bug report #339387, I added a postinst file to the dummy package
 gnocatan-meta-server, which does
 update-rc.d gnocatan-meta-server remove /dev/null || true
 in order to get rid of the links which were created by the previous
 (non-dummy) version of the package.
 
 However, this didn't seem to work.  Appearantly this is what happened:
 - The non-dummy package created the conffile
 - The package was upgraded to the dummy version, which no longer held the
   conffile.  However, it being a conffile, it was not removed (perhaps this is
   only true if it was actually changed?)
 - On purging the dummy package, the conffile is not removed because it isn't
   listed as part of the package.
 - update-rc.d then refuses to remove the links, because the file is still
   there.
 - Both the conffile and the links remain on the system.

Investigate the -f option of update-rc.d.  There are various tricks
around for getting rid of unwanted old conf files (check that the md5sum
is unchanged and rm it if so, etc), but if you can safely just remove
the links and be done with it, that's probably the simplest.

 The question is, how do I solve this?  Should I forcefully remove the conffile
 before calling update-rc.d?  It feels really bad to remove files from /etc in
 maintainer scripts, but perhaps it's the right thing to do...
 
 As an aside, I suppose that such manual removal would work both for file-rc
 and sysv-rc, right?

I have no idea how they work, sorry.
-- 
 -
|   ,''`.Stephen Gran |
|  : :' :[EMAIL PROTECTED] |
|  `. `'Debian user, admin, and developer |
|`- http://www.debian.org |
 -


signature.asc
Description: Digital signature


Re: Removing former conffiles

2006-02-06 Thread Justin Pryzby
On Mon, Feb 06, 2006 at 09:21:28PM +0100, Bas Wijnen wrote:
 Hello,
 
 After bug report #339387, I added a postinst file to the dummy package
 gnocatan-meta-server, which does
 update-rc.d gnocatan-meta-server remove /dev/null || true
 in order to get rid of the links which were created by the previous
 (non-dummy) version of the package.
 
 However, this didn't seem to work.  Appearantly this is what happened:
 - The non-dummy package created the conffile
 - The package was upgraded to the dummy version, which no longer held the
   conffile.  However, it being a conffile, it was not removed (perhaps this is
   only true if it was actually changed?)
 - On purging the dummy package, the conffile is not removed because it isn't
   listed as part of the package.
 - update-rc.d then refuses to remove the links, because the file is still
   there.
 - Both the conffile and the links remain on the system.
 
 The question is, how do I solve this?  Should I forcefully remove the conffile
 before calling update-rc.d?  It feels really bad to remove files from /etc in
 maintainer scripts, but perhaps it's the right thing to do...
It is fine to remove the conffile in purge.  If you're handling a
nonconffile config file, this is precisely what you [have to] do.

You might also be interested in

  http://www.dpkg.org/ConffileHandling

Also in some existing conffile prompts bugs:

  335276 345112 304066 345113 346282 337992

and the message I sent to them about transferring conffile ownership.

Justin


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing former conffiles

2006-02-06 Thread Frank Küster
Bas Wijnen [EMAIL PROTECTED] wrote:

 The question is, how do I solve this?  Should I forcefully remove the conffile
 before calling update-rc.d?  It feels really bad to remove files from /etc in
 maintainer scripts, but perhaps it's the right thing to do...

I've come across this several times, and what I did was

- check the md5sum of the installed file
  * against the md5sum known to dpkg (not possible if the package was in
rc state)
  * against known md5sums hardcoded into the maintainer script

- if the file is unchanged, remove it

- if it is changed, either keep it and insert a comment at its beginning
  that it is unused, or move/rename it.  In all cases where the file's
  presence could have a bad effect, I renamed or moved it.

Regards, Frank
-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)



Re: Removing former conffiles

2006-02-06 Thread Justin Pryzby
On Mon, Feb 06, 2006 at 03:41:13PM -0500, pryzbyj wrote:
 On Mon, Feb 06, 2006 at 09:21:28PM +0100, Bas Wijnen wrote:
  Hello,
  
  After bug report #339387, I added a postinst file to the dummy package
  gnocatan-meta-server, which does
  update-rc.d gnocatan-meta-server remove /dev/null || true
  in order to get rid of the links which were created by the previous
  (non-dummy) version of the package.
  
  However, this didn't seem to work.  Appearantly this is what happened:
  - The non-dummy package created the conffile
  - The package was upgraded to the dummy version, which no longer held the
conffile.  However, it being a conffile, it was not removed (perhaps this 
  is
only true if it was actually changed?)
  - On purging the dummy package, the conffile is not removed because it isn't
listed as part of the package.
  - update-rc.d then refuses to remove the links, because the file is still
there.
  - Both the conffile and the links remain on the system.
  
  The question is, how do I solve this?  Should I forcefully remove the 
  conffile
  before calling update-rc.d?  It feels really bad to remove files from /etc 
  in
  maintainer scripts, but perhaps it's the right thing to do...
 It is fine to remove the conffile in purge.  If you're handling a
 nonconffile config file, this is precisely what you [have to] do.
 
 You might also be interested in
 
   http://www.dpkg.org/ConffileHandling
 
 Also in some existing conffile prompts bugs:
 
   335276 345112 304066 345113 346282 337992
 
 and the message I sent to them about transferring conffile ownership.
I just read the bug log, and I like Steve's suggestion better.  Check
the upgrading-from version in postinst, and remove the files there.
That way there aren't useless files before its purged, either.

Justin


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing former conffiles

2006-02-06 Thread Justin Pryzby
On Mon, Feb 06, 2006 at 10:02:06PM +0100, Frank K?ster wrote:
 Bas Wijnen [EMAIL PROTECTED] wrote:
 
  The question is, how do I solve this?  Should I forcefully remove
  the conffile before calling update-rc.d?  It feels really bad to
  remove files from /etc in maintainer scripts, but perhaps it's the
  right thing to do...

 - if the file is unchanged, remove it
Even changed files are removed on purge.

Justin


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Removing former conffiles

2006-02-06 Thread Don Armstrong
On Mon, 06 Feb 2006, Frank Küster wrote:
 - if it is changed, either keep it and insert a comment at its
   beginning that it is unused, or move/rename it. In all cases where
   the file's presence could have a bad effect, I renamed or moved
   it.

Just a word of caution here: If the administrator has modified the
file, you should not rename or move it, as they may know better than
you what they're doing. A proper course of action would be warning
them, and/or offering to remove the files in question via debconf.

Additionally, you should check to make sure whether you're upgrading
from a version after this transition; if that's the case, you
shouldn't rename/delete either.


Don Armstrong

-- 
It was said that life was cheap in Ankh-Morpork. This was, of course,
completely wrong. Life was often very expensive; you could get death
for free.
 -- Terry Pratchet _Pyramids_ p25

http://www.donarmstrong.com  http://rzlab.ucr.edu



conffiles no longer needed except ...

2005-11-23 Thread Willi Mann

Hi!

I have no idea how to properly handle the following situation: My 
package logwatch previously had all their configuration files in 
/etc/logwatch/conf. They were marked as conffiles so dpkg was 
responsible for policy-compliant upgrading.


However, since version 7.0 logwatch has a very cool(TM) way to specify 
the configuration. There is a directory default.conf, containing the 
proposed upstream configuration, there is an optional dist.conf dir 
containing the debian specific modifications  (both in 
/usr/share/logwatch/), and there is /etc/logwatch/conf, containing 
optional site-specific modifications. (the ./conf is there because 
upstream allows local scripts to be put in ./scripts ..)


Now the issue is, that all the old files in /etc/logwatch/conf are no 
longer needed, except if it was customized. If it was not customized, 
they should be removed, because they will interfere with the 
configuration by me and upstream, especially when some changes are needed.


The question is: How should they be removed?

- Just by putting a warning in NEWS.Debian, telling the local admin to 
remove them except if he modified it. (A NEWS.Debian file will be needed 
anyway, so users don't stumble over the new layout)
- Trying to figure out in the maintainer scripts if the file has been 
modified, and if it hasn't been modified, delete it?
- Provide the local user a script he can optionally run to remove 
unneeded files (of course with a hint in README.Debian and NEWS.Debian)

- another way?

The current list of files:
http://packages.debian.org/cgi-bin/search_contents.pl?searchmode=filelistword=logwatchversion=unstablearch=all

thanks for you replies
Willi


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



  1   2   3   >