An idea for a new development model
Bruce Dubbs
bruce.dubbs at gmail.com
Wed Aug 15 10:55:23 MDT 2007
Alexander E. Patrakov wrote:
> Mike Lynch wrote:
>> One of the nice things about the Solaris package manager is that *every*
>> file installed is registered in a database (just an CSV file so no DB
>> software
>> like SQL needed) so it's easy to find out what has been installed. Package
>> removal references the database to remove files. Furthermore, more than
>> one package or more than one instance of the same package can claim
>> ownership of a file such that removal of a file will not occur until the
>> last
>> package claiming ownership of a file is removed. During removal, only
>> registered files are removed so any user created files remain. Registered
>> directories are only removed if they are empty so if the user adds files
>> to a registered directory after installing a package, package removal will
>> not delete them because they are not registered and the registered directory
>> will then not be removed. This prevents loss of user generated
>> configuration
>> files and the like.
>
> This all is also present in Slackware scripts. They also use this
> feature for upgrades: upgrading means installing the newer package and
> removing the older version after that.
There is a problem that I see from the above description. It may or may
not be an actual problem.
What about a config file that *is* installed in a package and may be
modified by a user? Examples might be /etc/php.ini or
/etc/apache/httpd.conf. I wouldn't want these files deleted, even if I
deleted the package.
My impression of an "update" is to replace all files that are in the
package and that might include user modified files.
-- Bruce
More information about the lfs-dev
mailing list