}
db_quote <- function(text) {
- return(paste('"',gsub('([^][[:alnum:]*?. ()<>:/=+-])','\\\\\\1',text),'"',sep=''))
+ return(paste('"',gsub('([^][[:alnum:]*?. ()<>:/=+%-])','\\\\\\1',text),'"',sep=''))
}
db_sysreq_override <- function(sysreq_text) {
con <- db_start()
results <- dbGetQuery(con,paste(
'SELECT DISTINCT debian_name FROM sysreq_override WHERE'
- ,db_quote(sysreq_text),'GLOB r_pattern'))
+ ,db_quote(sysreq_text),'LIKE r_pattern'))
db_stop(con)
if (length(results) == 0) {
return(NA)
# form of this field is unspecified (ugh) but most people seem to stick
# with this
debs <- c()
+ sysreq_text <- gsub('[[:space:]]and[[:space:]]',' , ',tolower(sysreq_text))
for (sysreq in strsplit(sysreq_text,'[[:space:]]*,[[:space:]]*')[[1]]) {
startreq = sysreq
# constant case
pkg distrib-noncomm siggenes
pkg GPL+ACM akima
pkg GPL+ACM tripack
+pkg GPL degreenet
pkg GPL ergm
pkg GPL gmodels
pkg GPL ICE
+pkg GPL latentnet
pkg GPL network
+pkg GPL networksis
pkg GPL pastecs
pkg GPL pbatR
pkg GPL PKtools
pkg GPL RXshrink
pkg GPL snpMatrix
pkg GPL splancs
+pkg GPL statnet
pkg GPL uroot
pkg LGPL R.huge
pkg MCLUST mclust
add build-essential gcc
add build-essential gnu make
+add build-essential none
+add build-essential % if present
add libquantlib0-dev quantlib%
add pari-gp pari/gp
add libcairo2-dev cairo
add libfreetype6-dev freetype
add libgsl0-dev gnu scientific library
add libgmp3-dev gmp
-add libgdal1-dev gdal
-add proj proj.4
+add libgdal1-dev %gdal%
+add proj proj%
add libgraphviz-dev graphviz
-add imagemagick imagemagick
-add curl curl
+add libmagick9-dev imagemagick
+add curl libcurl4-openssl-dev
add libxml2-dev libxml%
add libfreetype6-dev %freetype
+add ggobi ggobi
+add libjpeg62-dev libjpeg%
+add libdieharder-dev dieheader%
+add msttcorefonts msttcorefonts
+add libfontconfig1-dev fontconfig
pkg <- try((function() {
# see if it has already been built
srcname <- pkgname_as_debian(name,binary=F)
+ debname <- pkgname_as_debian(name,binary=T)
version <- version_new(available[name,'Version'])
if (file.exists(changesfile(srcname, version))) {
message(paste('N: already built',srcname,'version',version))
- return(pkg)
+ return(NA)
}
- rm(srcname,version)
-
- pkg <- prepare_new_debian(prepare_pkg(dir,name),extra_deps)
# XXX: what about building newer versions?
- if (pkg$debname %in% debian_pkgs) {
- message(paste('N:',pkg$srcname,' exists in Debian (perhaps a different version)'))
- return(pkg)
+ if (debname %in% debian_pkgs) {
+ message(paste('N:',srcname,' exists in Debian (perhaps a different version)'))
+ return(NA)
}
+ rm(debname,srcname,version)
+
+ pkg <- prepare_new_debian(prepare_pkg(dir,name),extra_deps)
# delete the current archive (XXX: assumes mini-dinstall)
for (subdir in c('mini-dinstall','unstable')) {
path = file.path(dinstall_archive,subdir)
for (pkg in `{cat all_pkgs}) {
if (~ $pkg *..* */*) {
echo bad name $pkg >>fail/ERROR
+ } else if ([ -e warn/$pkg ]) {
+ echo skipping $pkg...
+ } else if ([ -e fail/$pkg ]) {
+ echo skipping failed $pkg...
} else {
- echo .. package $pkg
+ echo -n .. package $pkg
fail=0
cran2deb build $pkg >fail/$pkg >[2=1] || fail=1
if (~ $fail 0) {
+ echo success
grep '^[WE]:' fail/$pkg >warn/$pkg
- if (~ `{stat -c '%s' warn/$pkg} 0) {
- rm -f warn/$pkg
- }
+# if (~ `{stat -c '%s' warn/$pkg} 0) {
+# rm -f warn/$pkg
+# }
rm -f fail/$pkg
+ } else {
+ echo FAILED
}
}
}
total=`{hoc -e $total}
succrate=`{hoc -e $success/'('$total')*100'}
echo $succrate% success rate '('$total' total)'
-total=`{hoc -e $total-$nfaillic-$nfailspc-$nfailhdr}
+#total=`{hoc -e $total-$nfaillic-$nfailspc-$nfailhdr}
+total=`{hoc -e $total-$nfaillic-$nfailspc}
succrate=`{hoc -e $success/'('$total')*100'}
-echo $succrate% success rate without licensing, space and Debian deps issues '('$total' total)'
+echo $succrate% success rate with exclusions '('$total' total)'
grep -EL $other fail/* /dev/null | xargs tail -n 20
message('updating list of available R packages...')
available <- available.packages(contrib.url(mirror))
-available <- rbind(available,available.packages(contrib.url('http://www.bioconductor.org/')))
+#available <- rbind(available,available.packages(contrib.url('http://www.bioconductor.org/')))
message('updating list of available R task views...')
ctv.available <- available.views(repo=mirror)