--On Sunday, December 02, 2007 3:11 PM -0700 "Joseph L. Casale" <jcasale at ActiveNetwerx.com> 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.