# now.
if (!(name %in% rownames(available))) {
bundle <- r_bundle_of(name)
- if (is.na(bundle)) {
- fail('package',name,'is not available')
+ if (!is.na(bundle)) {
+ name <- bundle
}
- name <- bundle
}
debname = tolower(name)
if (binary) {
- repopref <- tolower(repourl_as_debian(available[name,'Repository']))
+ if (name %in% rownames(available)) {
+ repopref <- tolower(repourl_as_debian(available[name,'Repository']))
+ } else if (is.null(repopref)) {
+ repopref <- 'unknown'
+ }
debname = paste('r',repopref,debname,sep='-')
}
}
for (name in names) {
if (!(name %in% base_pkgs) && !(name %in% rownames(available))) {
bundle <- r_bundle_of(name)
- if (is.na(bundle)) {
- fail('package',name,'is not available')
+ if (!is.na(bundle)) {
+ name = bundle
+ names <- c(names,bundle)
}
- name = bundle
- names <- c(names,bundle)
}
- if (!is.na(available[name,'Contains'])) {
+ if (name %in% rownames(available) && !is.na(available[name,'Contains'])) {
names <- c(names,r_bundle_contains(name))
}
}
if (is.null(description)) {
if (!(name %in% rownames(available))) {
bundle <- r_bundle_of(name)
- if (is.na(bundle)) {
- fail('package',name,'is not available')
+ if (!is.na(bundle)) {
+ name <- bundle
+ } else {
+ # unavailable packages don't depend upon anything
+ return(data.frame())
}
- name <- bundle
}
description <- data.frame()
# keep only the interesting fields