{section: Related Contents} *: {wiki: CondorRepos Condor Native Package Repositories} *: {wiki: CondorCmakePackages Condor Packages in the new build process (CMake)} *: {wiki: CondorDroneRpm Condor Drone RPM} {section: Background} Old Condor rpm is basically a Condor tar ball packaged inside RPM. It will install Condor into /opt/condor-{version} and runs condor_configure during post install. {section: Condor Packages by 3rd parties} _Fedora_ - Current Condor package is based on this one.{linebreak} http://cvs.fedoraproject.org/viewvc/rpms/condor/ {linebreak} _Debian_ {linebreak} http://www.dcl.hpi.uni-potsdam.de/debian/binary/ {linebreak} _Ubuntu_ - by Ian{linebreak} http://packages.ubuntu.com/lucid/condor {linebreak} {section: Design Ideas} 1: Use dynamic tar file as a source, Condor native package just relocate stuff in tar file to comply with FHS. 2: During upgrade, there is no need to explicitly restart Condor because the Master daemon will detect file changes and gracefully restart the daemons by itself. 3: Minimize post installation logic by using _condor_config_ parameters than match the standard configuration of each distribution. This will allow RPM to detect configuration file changes. However, when using relocate feature, _condor_config_ will be modified during post install. 4: In multi-instance installation scenario, the second instance will be installed without touching the first instance. Thus, the proper upgrade path is to remove the second instance and then upgrade the first instance. {section: Implementation } {subsection: RPM Installation Behavior } {subsubsection: pre (pre-install) } 1: Add _condor_ user/group if not exists {subsubsection: postinst } 1: _(If relocated)_ Update condor_config, /etc/sysconfig/condor to match new location 2: _(If relocated)_ Install init script only if this is the first instance. 3: _(If relocated)_ Create soft link to man folder in same level as bin/sbin folder so man can automatically find manpages. 4: Add Condor service (chkconfig --add) 5: Run ldconfig (Might not be necessary because we do not put any lib directly into /usr/lib) 6: Modify SElinux policy of condor_startd binary (Copy from Fedora package) {subsubsection: preun } 1: Call init script to stop Condor only if we are removing the last instance of Condor (not include upgrading). If the init script fails, abort the uninstall 2: Remove Condor service (chkconfig --del) 3: _(If relocated)_ remove init script {subsubsection: postun } 1: Run ldconfig (Might not be necessary because we do not put any lib directly into /usr/lib) {subsection: Debian Installation Behavior } {subsubsection: preinst } 1: Add _condor_ user/group if not exists {subsubsection: postinst } 1: Add Condor service (update-rc.d) 2: Change owner of some folders to _condor_ {subsubsection: prerm } 1: _(If remove)_ Stop condor {subsubsection: postrm } 1: Remove condor service 2: _(If purge)_ remove files created Condor daemons Condor currently provide native packages in Debian and RPM format. Location of the repositories are listed below: {linebreak} http://www.cs.wisc.edu/condor/yum {linebreak} http://www.cs.wisc.edu/condor/debian {section: Related Tickets} Ticket #1166: Add native Linux distro packaging into the build process