--On Sunday, December 02, 2007 3:11 PM -0700 "Joseph L. Casale"
<jcasale@xxxxxxxxxxxxxxxxx> wrote:
I assume when you use the package manager to install an application it
takes care of creating users for services and all other related
requirements, or is just a matter of tracking the installed programs
files for later removal or interference with another installed program? A
quick search on the net suggested yum was a better tool to use as it
handled downloading and additional dependencies? I assume yum can't be
used for this scenario?
A package is built using a "spec" file, which can be thought of as a
meta-Makefile. It has the RPM header info (author, URL, description, etc.)
and describes the sequence of operations to unpack the tarball, apply any
patches, configure and make, install to a (user-owned) directory tree
mirroring the final installation location, and then archive the whole mess
up into a binary RPM. It also optionally includes scripts to run before and
after install/uninstall. You can add logic here to add users and start/stop
services. All of this is done as non-root, and file ownership information
(eg. special user or root) is written in the binary RPM.
Later, root installs the binary RPM and the files are installed to their
final location, with the requested ownership and access rights. The scripts
are run to perform any special setup/takedown and the file list and header
is written to the host's RPM database.
Looking around, I found the following file:
http://mirror.centos.org/centos/5.0/os/SRPMS/postfix-2.3.3-2.src.rpm
which I assume is what you referred to, I don't mind reading on my own
but can you nudge me in the right direction to learn how to adapt this
srpm to use the tarball I am interested in? I read that building the rpm
from source as a mortal user is advised as the forum suggested "so
processes are unnecessarily running as root from the newly created
binary, its more secure"? Does the newly built rpm actually change
behavior once installed depending on who built it, or was that merely
related to process for the build only while compiling?
It's not real difficult. This seems to be a good starting place:
<http://fedoraproject.org/wiki/Docs/Drafts/BuildingPackagesGuide>
Check that out and start a new thread on the centos-devel list with any
questions.
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos