ad_page_contract {
Deletes a package and all of its versions from the package manager.
@author Bryan Quinn (bquinn@arsdigita.com)
@creation-date Fri Oct 13 08:40:54 2000
@cvs-id $Id: package-delete.tcl,v 1.11 2017/08/07 23:47:45 gustafn Exp $
} {
version_id:naturalnum
}
apm_version_info $version_id
# Find the drop scripts.
set db_type [db_type]
set dependent_packages_list [db_list dependency_p {
select package_key
from apm_package_versions av
where av.enabled_p = 't'
and av.installed_p = 't'
and exists (select 1 from
apm_package_dependencies ad
where ad.version_id = av.version_id
and ad.service_uri = :package_key
and ad.dependency_type = 'requires'
)
}]
if { [llength $dependent_packages_list] > 0 } {
set dependency_warning_text "The following packages depend on package
$package_key
that you are about to delete:\n
You are about to delete package $package_key
which is part of the OpenACS core
WARNING
$kernel_deletion_warning $dependency_warning_textProceeding with the deletion of the package may render the system in a broken state.
" } else { set warning_text "" } set file_list "" foreach file [apm_get_package_files -package_key $package_key -file_types data_model_drop -include_data_model_files] { append file_list "