X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=branch%2Fdouble_build%2Fexec%2Flicense;fp=branch%2Fdouble_build%2Fexec%2Flicense;h=0000000000000000000000000000000000000000;hb=42bff07893104a11db95c8d65fe518a336463351;hp=a211525bfb1c801f533bc02bc6bb77cb75885f31;hpb=f0817a2fbc3df0f5daad0a9e1a11d9f295218c0a;p=cran2deb.git diff --git a/branch/double_build/exec/license b/branch/double_build/exec/license deleted file mode 100755 index a211525..0000000 --- a/branch/double_build/exec/license +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/env r -## DOC: cran2deb license -## DOC: add licenses and change acceptance/rejection of licenses -## DOC: - -suppressPackageStartupMessages(library(cran2deb)) -suppressPackageStartupMessages(library(digest)) - -exec_cmd <- function(argc, argv) { - usage <- function() - message(paste('usage: accept ' - ,' reject ' - ,' hash (|)' - ,' pkg ' - ,' view ' - ,' ls' - ,' quit' - ,sep='\n')) - - if (argc < 1) { - exit() - } - cmd = argv[1] - - if (cmd == 'accept' || cmd == 'reject') { - if (argc != 2) { - usage() - return() - } - action = (cmd == 'accept') - db_add_license_override(argv[2],action) - } else if (cmd == 'hash') { - if (argc != 3) { - usage() - return() - } - license = argv[2] - path = argv[3] - if (is.null(db_license_override_name(license))) { - error('license',license,'is not known; add it first') - return() - } - if (!file.exists(path)) { - error(path,'does not exist') - return() - } - license_sha1 = digest(readChar(path,file.info(path)$size) - ,algo='sha1', serialize=FALSE) - db_add_license_hash(license,license_sha1) - } else if (cmd == 'hash_sha1') { - if (argc != 3) { - usage() - return() - } - license = argv[2] - license_sha1 = argv[3] - if (is.null(db_license_override_name(license))) { - error('license',license,'is not known; add it first') - return() - } - db_add_license_hash(license,license_sha1) - } else if (cmd == 'pkg') { - if (argc != 3) { - usage() - return() - } - license <- argv[2] - pkg_name <- argv[3] - current_action <- db_license_override_name(license) - if (is.null(current_action)) { - notice('license',license,'is not known; add it') - return() - } - action = 'accept' - if (!current_action) { - action = 'reject' - } - notice('in future, will',action,'the package',pkg_name,'under license',license) - tmp <- setup() - success <- try((function() { - pkg <- prepare_pkg(tmp,pkg_name) - if (!('License' %in% names(pkg$description[1,]))) { - error('package',pkg$name,'has no License: field in DESCRIPTION') - return() - } - first_license = (strsplit(chomp(pkg$description[1,'License']) - ,'[[:space:]]*\\|[[:space:]]*')[[1]])[1] - license_sha1 <- get_license_hash(pkg,first_license) - db_add_license_hash(license,license_sha1) - })()) - cleanup(tmp) - if (inherits(success,'try-error')) { - return() - } - } else if (cmd == 'view') { - if (argc != 2) { - usage() - return() - } - pkg_name <- argv[2] - tmp <- setup() - success <- try((function() { - pkg <- prepare_pkg(tmp,pkg_name) - if (!('License' %in% names(pkg$description[1,]))) { - error('package',pkg$name,'has no License: field in DESCRIPTION') - return() - } - first_license = (strsplit(chomp(pkg$description[1,'License']) - ,'[[:space:]]*\\|[[:space:]]*')[[1]])[1] - first_license = get_license(pkg,first_license) - cat(strwrap(first_license),file='|less') - })()) - cleanup(tmp) - if (inherits(success,'try-error')) { - return() - } - } else if (cmd == 'ls') { - licenses <- db_license_overrides() - for (i in rownames(licenses$overrides)) { - mode='accept' - if (licenses$overrides[i,'accept']==0) { - mode='reject' - } - cat(paste(mode,licenses$overrides[i,'name'],'\n')) - } - for (i in rownames(licenses$hashes)) { - cat(paste('hash_sha1',licenses$hashes[i,'name'],licenses$hashes[i,'sha1'],'\n')) - } - } else if (cmd == 'help') { - usage() - return() - } else if (cmd == 'quit') { - exit() - } -} - -argc <- length(argv) -if (argc > 1) { - exec_cmd(argc-1,argv[c(2:argc)]) -} else { - while(T) { - argv <- strsplit(readline('license> '),'[[:space:]]+')[[1]] - exec_cmd(length(argv),argv) - } -}