Unfortunately, we can't do something like this with RPM in Fedora. It's simply 
not how it's done there and our tools don't support it.

Ondra


----- Original Message -----
From: "Viktor Dukhovni" <postfix-us...@dukhovni.org>
To: "Postfix users" <postfix-users@postfix.org>
Sent: Sunday, August 28, 2016 3:37:40 AM
Subject: Re: [PATCH] Preserve timestamps during 'make install'


> On Aug 27, 2016, at 8:39 PM, Michael Orlitzky <mich...@orlitzky.com> wrote:
> 
> On 08/27/2016 07:42 PM, Wietse Venema wrote:
>>> 
>>> Thanks. The "cp -p" feature was not portable in the days that this script
>>> was written, but it should be safe to use now.
>> 
>> Unfortunately, I have to roll back this change, because it may
>> install files with non-root ownership.
>> 
>> Those who built postfix-3.2-2060827 should do "postfix set-permissions"
>> or install postfix-3.2-2060828 which I will upload in a few minutes
>> time to ftp.porcupine.org.
> 
> The "-p" flag (at least in GNU coreutils) is a shortcut for,
> 
>  --preserve=mode,ownership,timestamps
> 
> Unfortunately, the behavior of "--preserve" is not sufficiently
> standard. Perhaps "tar --no-same-owner" can be used as a poor man's cp,
> since it preserves modification times by default?

The real defect here is not in how Postfix installs files, but rather
in how Postfix is packaged into O/S packages.  The fix belongs there.

Postfix does not replace unmodified files.  If new builds upgrade
previous build images, then unmodified files will retain their
timestamps.  I used to package Postfix in exactly this way some years
back.

        * Unpack a copy of the previous build
        * Build and install updated files.
        * Remove old files no longer in the "postfix-files" file.
        * Create the package.

One might also file a bug against package installers that update unmodified
files.  Or negligent users who don't run "make" in /etc/postfix (where they
should maintain a suitable table update Makefile) after upgrading Postfix
packages.

Note that by default Postfix uses no tables, so a configuration in which
/etc/postfix/virtual is actually used is a non-default configuration.

If a particular O/S package enables (say) a virtual_alias_maps in the
default main.cf it installs, then that release

-- 
        Viktor.

Reply via email to