apm_generate_package_spec version_idWhat it does:
Generates an XML-formatted specification for a version of a package.Defined in: /web/philip/packages/acs-core/apm-procs.tcl
Source code:
db_1row " select p.package_key, p.package_url, v.* from apm_packages p, apm_package_versions v where v.version_id = $version_id and v.package_id = p.package_id " append spec "<?xml version=\"1.0\"?> <!-- Generated by the ArsDigita Package Manager --> <package key=\"[ad_quotehtml $package_key]\" url=\"[ad_quotehtml $package_url]\"> <version name=\"$version_name\" url=\"[ad_quotehtml $version_url]\"> <package-name>[ad_quotehtml $package_name]</package-name> " db_foreach " select owner_url, owner_name from apm_package_owners where version_id = $version_id order by sort_key " { append spec " <owner" if { ![empty_string_p $owner_url] } { append spec " url=\"[ad_quotehtml $owner_url]\"" } append spec ">[ad_quotehtml $owner_name]</owner>\n" } if { ![empty_string_p $summary] } { append spec " <summary>[ad_quotehtml $summary]</summary>\n" } if { ![empty_string_p $release_date] } { append spec " <release-date>[ad_quotehtml $release_date]</release-date>\n" } if { ![empty_string_p $vendor] || ![empty_string_p $vendor_url] } { append spec " <vendor" if { ![empty_string_p $vendor_url] } { append spec " url=\"[ad_quotehtml $vendor_url]\"" } append spec ">[ad_quotehtml $vendor]</vendor>\n" } if { ![empty_string_p $description] } { append spec " <description" if { ![empty_string_p $description_format] } { append spec " format=\"[ad_quotehtml $description_format]\"" } append spec ">[ad_quotehtml $description]</description>\n" } if { ![empty_string_p $distribution] } { append spec " <distribution>[ad_quotehtml $distribution]</distribution>\n" } if { ![empty_string_p $package_group] } { append spec " <group>[ad_quotehtml $package_group]</group>\n" } append spec "\n" db_foreach " select dependency_type, service_url, service_version from apm_package_dependencies where version_id = $version_id order by dependency_type, service_url " { append spec " <$dependency_type url=\"[ad_quotehtml $service_url]\" version=\"[ad_quotehtml $service_version]\"/>\n" } else { append spec " <!-- No dependency information -->\n" } db_foreach " select version_url from apm_package_includes where version_id = $version_id order by version_url " { append spec " <include url=\"[ad_quotehtml $version_url]\"/>\n" } else { append spec " <!-- No included packages -->\n" } append spec "\n <files>\n" db_foreach "select path, file_type from apm_package_files where version_id = $version_id order by path" { append spec " <file" if { ![empty_string_p $file_type] } { append spec " type=\"$file_type\"" } append spec " path=\"[ad_quotehtml $path]\"/>\n" } else { append spec " <!-- No files -->\n" } append spec " </files> </version> </package> " return $spec