## page was renamed from opt-products-RPMs <> NICHT FERTIG == RPM based Software Maintenance on DESY UNIX Systems == * Talk of Stephan Wiesand, 27.1.2004 [[attachment:rpm_based_software_management.ps]] == ppm == === ppm Tools === * '''/opt/products/sbin/check_prpm''' ''specfile'' * '''/opt/products/sbin/add_prpm''' ''specfile'' * parses spec * checks for enough space * copies all RPMs (including the SRPM) * releases all volumes involved * ATTENTION for noarch RPMS: add_prpm updated only the database for the ''current'' plattform * you have to run ''update_ppmdb'' * '''/opt/products/sbin/update_ppmdb''' === Reference Installation === * on build hosts * as root: touch /etc/nosue && mount --bind /opt_tmp/ /opt * ppm -qFM > /tmp/ppm.cf * check for enough space * ppm -vM[x] /tmp/ppm.cf * check if volumes released * rm /tmp/ppm.cf * as root: umount /opt && rm -vf /etc/nosue === Using populate mechanism to distribute prpm package selections === * cfengine feature '''products''' * Defining variables in cfengine starting with cf_ppm_ followed by a name which can be used for a selections of rpm packages, i.e. {{{ CF_ppm_sl5 CF_ppm_desktop CF_ppm_theorie CF_ppm_server }}} * Syntax: ''name prior name prior ...'' * name has to correspond to a file in '${CF_PREFIX_PRODUCTS}/archive/${OS_ARCH}/etc/ppm.d' with suffix .cf * you can define package selections which will be put onto the specified host or host groups. * CF_ppm_REMOVE special variable to remove packages from the selection {{{ brutus-vm9: CF_ppm_host java-local 75 sl5-def: CF_ppm_sl5 base 00 desktop-mod: CF_ppm_wgs interactive 20 dv-mod: CF_ppm_REMOVE geant }}}