diff --git a/docs/404.html b/docs/404.html index 6fed3a2..797118f 100644 --- a/docs/404.html +++ b/docs/404.html @@ -24,7 +24,7 @@ bspm - 0.5.0 + 0.5.1 diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html index 84171d5..00ec94d 100644 --- a/docs/LICENSE-text.html +++ b/docs/LICENSE-text.html @@ -10,7 +10,7 @@ bspm - 0.5.0 + 0.5.1 diff --git a/docs/authors.html b/docs/authors.html index a782132..8f260b4 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -10,7 +10,7 @@ bspm - 0.5.0 + 0.5.1 @@ -58,13 +58,13 @@ Citation Ucar I (2023). bspm: Bridge to System Package Manager. -R package version 0.5.0, https://enchufa2.github.io/bspm/. +R package version 0.5.1, https://enchufa2.github.io/bspm/. @Manual{, title = {bspm: Bridge to System Package Manager}, author = {Iñaki Ucar}, year = {2023}, - note = {R package version 0.5.0}, + note = {R package version 0.5.1}, url = {https://enchufa2.github.io/bspm/}, } diff --git a/docs/index.html b/docs/index.html index d9b0399..1cbd14e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -38,7 +38,7 @@ bspm - 0.5.0 + 0.5.1 @@ -263,6 +263,7 @@ Developers Dev status + diff --git a/docs/news/index.html b/docs/news/index.html index a9324a5..700c505 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -10,7 +10,7 @@ bspm - 0.5.0 + 0.5.1 @@ -45,7 +45,12 @@ -bspm 0.5.0 +bspm 0.5.1 +Add support for littler in scripts (@eddelbuettel in #64). +Refactor + fixes + improve testing (#66 addressing #63). + + +bspm 0.5.0CRAN release: 2023-02-19 New function moveto_sys() moves existing user packages to the system library to avoid package shadowing; the associated script mass_move enables mass-calling this function for several users and/or libraries to facilitate bspm deployment in multitenant servers (#60 addressing #59). New function shadowed_packages() analyzes the library tree and reports which packages, one per row, are shadowed by others (#62 addressing #58). Add new options(bspm.version.check=FALSE) (true by default) to globally enable binary-source installation type (#61). diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index 09d396c..8fb5407 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -2,5 +2,5 @@ pandoc: 2.14.0.3 pkgdown: 2.0.7 pkgdown_sha: ~ articles: {} -last_built: 2023-02-19T12:03Z +last_built: 2023-03-16T18:31Z diff --git a/docs/reference/bspm-options.html b/docs/reference/bspm-options.html index c80ebeb..c7be839 100644 --- a/docs/reference/bspm-options.html +++ b/docs/reference/bspm-options.html @@ -10,7 +10,7 @@ bspm - 0.5.0 + 0.5.1 diff --git a/docs/reference/bspm-package.html b/docs/reference/bspm-package.html index 68dd438..20f57ea 100644 --- a/docs/reference/bspm-package.html +++ b/docs/reference/bspm-package.html @@ -22,7 +22,7 @@ bspm - 0.5.0 + 0.5.1 diff --git a/docs/reference/index.html b/docs/reference/index.html index f450d33..b8cbd2c 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -10,7 +10,7 @@ bspm - 0.5.0 + 0.5.1 diff --git a/docs/reference/integration.html b/docs/reference/integration.html index b7bf44c..41ed677 100644 --- a/docs/reference/integration.html +++ b/docs/reference/integration.html @@ -16,7 +16,7 @@ bspm - 0.5.0 + 0.5.1 diff --git a/docs/reference/manager.html b/docs/reference/manager.html index d7357f2..c126d6e 100644 --- a/docs/reference/manager.html +++ b/docs/reference/manager.html @@ -12,7 +12,7 @@ bspm - 0.5.0 + 0.5.1 diff --git a/docs/reference/scripts.html b/docs/reference/scripts.html index 0521ffd..bb36f62 100644 --- a/docs/reference/scripts.html +++ b/docs/reference/scripts.html @@ -10,7 +10,7 @@ bspm - 0.5.0 + 0.5.1 diff --git a/docs/reference/shadowed_packages.html b/docs/reference/shadowed_packages.html index 68dc18d..80ebf09 100644 --- a/docs/reference/shadowed_packages.html +++ b/docs/reference/shadowed_packages.html @@ -12,7 +12,7 @@ bspm - 0.5.0 + 0.5.1 diff --git a/docs/search.json b/docs/search.json index f6a3ac4..c9dae58 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -[{"path":"/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Iñaki Ucar. Author, copyright holder, maintainer.","code":""},{"path":"/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Ucar (2023). bspm: Bridge System Package Manager. R package version 0.5.0, https://enchufa2.github.io/bspm/.","code":"@Manual{, title = {bspm: Bridge to System Package Manager}, author = {Iñaki Ucar}, year = {2023}, note = {R package version 0.5.0}, url = {https://enchufa2.github.io/bspm/}, }"},{"path":"/index.html","id":"bspm-bridge-to-system-package-manager","dir":"","previous_headings":"","what":"Bridge to System Package Manager","title":"Bridge to System Package Manager","text":"Enables binary package installations Linux distributions. Provides functions manage packages via distribution’s package manager. Also provides transparent integration R’s install.packages() fallback mechanism. installed system package, interacts system’s package manager without requiring administrative privileges via integrated D-Bus service; otherwise, uses sudo. Currently, following backends supported: DNF, APT, ALPM. See contributed talk useR! 2021: [video, slides].","code":""},{"path":"/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Bridge to System Package Manager","text":"Installation system repositories preferred, mainly avoid issues SELinux-enabled systems (see #19). Follow links target system desktop/server installation one supported distributions: Fedora, Ubuntu, openSUSE, Arch. target system containerized application (e.g., Docker image), refer rocker/r-bspm images. trying bspm another distro, packaging system package, please follow general procedure .","code":""},{"path":"/index.html","id":"general-procedure","dir":"","previous_headings":"Installation","what":"General procedure","title":"Bridge to System Package Manager","text":"Installation source requires (apart R) folllowing Python bindings: (*) Optional, required plan run bspm regular user (non-root) (systemd-based) desktop/server setting. , install bspm system package able use regular user. Download latest version CRAN GitHub proceed installation (note sudo): configuration options: plan run root (e.g., docker container), don’t need D-Bus service, can disable installation adding --configure-args=\"--without-dbus-service\". installing package build root, instead final destination, specify --configure-vars=\"BUILD_ROOT=[path_to_build_root]\" . default, package prefixes exclusions automatically discovered system repositories, discovery mechanism exposed user can install packages e.g. new repositories prefixes added. want fix prefixes exclusions prevent exposing discovery mechanism, set --configure-vars=\"PKG_PREF='prefix1- prefix2- ...'\" --configure-vars=\"PKG_EXCL='exclusion1 exclusion2 ...'\". enable default, put following Rprofile.site: , run install.packages usual, available system packages automatically installed.","code":"$ sudo R CMD INSTALL bspm_[version].tar.gz > bspm::enable() # wrap it in suppressMessages() to avoid the initial message"},{"path":"/index.html","id":"fedora","dir":"","previous_headings":"Installation","what":"Fedora","title":"Bridge to System Package Manager","text":"thousands binary packages available via iucar/cran Copr repo. bspm package available R-CoprManager, enabled default:","code":"$ sudo dnf install 'dnf-command(copr)' $ sudo dnf copr enable iucar/cran $ sudo dnf install R-CoprManager"},{"path":"/index.html","id":"ubuntu","dir":"","previous_headings":"Installation","what":"Ubuntu","title":"Bridge to System Package Manager","text":"thousands binary packages available via c2d4u.team/c2d4u4.0+ PPA repo: , install bspm system package CRAN: , enable system-wide (alternatively, use .Rprofile):","code":"$ sudo add-apt-repository ppa:marutter/rrutter4.0 # R v4.0 and higher $ sudo add-apt-repository ppa:c2d4u.team/c2d4u4.0+ # R packages $ sudo apt-get update && sudo apt-get install python3-{dbus,gi,apt} $ sudo Rscript -e 'install.packages(\"bspm\", repos=\"https://cran.r-project.org\")' $ echo \"bspm::enable()\" | sudo tee -a /etc/R/Rprofile.site"},{"path":"/index.html","id":"opensuse","dir":"","previous_headings":"Installation","what":"openSUSE","title":"Bridge to System Package Manager","text":"thousands binary packages available via autoCRAN OBS repo: , install bspm system package CRAN: , enable system-wide (alternatively, use .Rprofile): Sometimes, restart required new systemd service recognized.","code":"$ sudo zypper ar -r https://download.opensuse.org/repositories/devel:/languages:/R:/patched/openSUSE_Tumbleweed/devel:languages:R:patched.repo $ sudo zypper ar -r https://download.opensuse.org/repositories/devel:/languages:/R:/autoCRAN/openSUSE_Tumbleweed/devel:languages:R:autoCRAN.repo $ sudo zypper install R-patched python3-dnf python38-dbus-python python3-gobject $ sudo ln -s /etc/zypp/repos.d /etc/yum.repos.d $ sudo Rscript -e 'install.packages(\"bspm\", repos=\"https://cran.r-project.org\")' $ echo \"bspm::enable()\" | sudo tee -a /usr/lib64/R/etc/Rprofile.site"},{"path":"/index.html","id":"arch","dir":"","previous_headings":"Installation","what":"Arch","title":"Bridge to System Package Manager","text":"number binary CRAN packages available via ArchRPkgs repo well Bioconductor packages via BioArchLinux repo: , install bspm system package CRAN: , enable system-wide (alternatively, use .Rprofile):","code":"$ echo -e \"\\n[desolve]\\nServer = https://desolve.ru/archrepo/\\$arch\" \\ \"\\n[BioArchLinux]\\nServer = https://repo.bioarchlinux.org/\\$arch\" \\ | sudo tee -a /etc/pacman.conf $ sudo pacman -Sy && sudo pacman -S r pyalpm python-{dbus,gobject} $ sudo Rscript -e 'install.packages(\"bspm\", repos=\"https://cran.r-project.org\")' $ echo \"bspm::enable()\" | sudo tee -a /usr/lib64/R/etc/Rprofile.site"},{"path":"/index.html","id":"moving-the-user-library","dir":"","previous_headings":"","what":"Moving the user library","title":"Bridge to System Package Manager","text":"installing enabling bspm system populated user library, package shadowing prevent system packages loading, user library takes precedence .libPaths() (see ?bspm::shadowed_packages utility find shadowed packages). solve , necessary install packages available system repos remove user library, leaving GitHub packages, development versions, . achieved simply calling bspm::moveto_sys(). Additionally, bspm provides script mass-calling bspm::moveto_sys() several users /libraries, allows sysadmins easily deploy bspm multi-user server. script, requires sudo privileges, called follows: default, dry run, meaning won’t touch anything just report user libraries found. actually run script, --run flag must provided:","code":"$ Rscript -e bspm:::scripts mass_move user1 [user2 ...] [lib1 [lib2 ...]] $ Rscript -e bspm:::scripts mass_move --run user1 [user2 ...] [lib1 [lib2 ...]]"},{"path":"/index.html","id":"developing-new-backends","dir":"","previous_headings":"","what":"Developing new backends","title":"Bridge to System Package Manager","text":"New backends package managers can added inst/service/backend. backend must implement following functions: def discover() -> dict({ \"prefixes\" : list, \"exclusions\" : list }) def available(prefixes : list, exclusions : list) -> list def install(prefixes : list, pkgs : list, exclusions : list) -> list def remove(prefixes : list, pkgs : list, exclusions : list) -> list last two functions receive list prefixes, list R package names list exclusions, must return list package names processed (.e., packages found system repos). progress reported stdout.","code":""},{"path":"/index.html","id":"support-and-troubleshooting","dir":"","previous_headings":"","what":"Support and troubleshooting","title":"Bridge to System Package Manager","text":"experiencing issue listed , solution work , please hesitate open ticket GitHub issue tracker.","code":""},{"path":"/index.html","id":"cannot-connect-to-the-system-package-manager","dir":"","previous_headings":"Support and troubleshooting","what":"Cannot connect to the system package manager","title":"Bridge to System Package Manager","text":"Symptom: tried install package got message. usually happens bspm installed user library , system package, properly configured reason. solution : First foremost, uninstall copy bspm user library. Reinstall admin privileges, e.g.:","code":"> install.packages() Error in install.packages : cannot connect to the system package manager $ sudo Rscript --vanilla -e 'install.packages(\"bspm\", repos=\"https://cran.r-project.org\")'"},{"path":"/reference/bspm-options.html","id":null,"dir":"Reference","previous_headings":"","what":"Package Options — bspm-options","title":"Package Options — bspm-options","text":"List options() supported configure bspm's behavior.","code":""},{"path":"/reference/bspm-options.html","id":"options-specific-to-bspm","dir":"Reference","previous_headings":"","what":"Options specific to bspm","title":"Package Options — bspm-options","text":"bspm.backend.check: logical, default TRUE. false, initial check enable() performed. bspm.version.check: logical, default TRUE. false, many binaries installed possible without version check, installation source used fallback. bspm.sudo.autodetect: logical, default FALSE. true, enables autodetection selection password-less sudo. bspm.sudo: logical, default FALSE. true, forces sudo unconditionally preferred mechanism.","code":""},{"path":"/reference/bspm-options.html","id":"options-from-base-r","dir":"Reference","previous_headings":"","what":"Options from base R","title":"Package Options — bspm-options","text":"used way base R. See options detailed description. askYesNo install.packages.compile..source","code":""},{"path":"/reference/bspm-package.html","id":null,"dir":"Reference","previous_headings":"","what":"bspm: Bridge to System Package Manager — bspm-package","title":"bspm: Bridge to System Package Manager — bspm-package","text":"Enables binary package installations Linux distributions. Provides functions manage packages via distribution's package manager. Also provides transparent integration R's install.packages fallback mechanism. installed system package, interacts system's package manager without requiring administrative privileges via integrated D-Bus service; otherwise, uses sudo. Currently, following backends supported: DNF, APT, ALPM.","code":""},{"path":"/reference/bspm-package.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"bspm: Bridge to System Package Manager — bspm-package","text":"https://enchufa2.github.io/bspm/","code":""},{"path":[]},{"path":"/reference/bspm-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"bspm: Bridge to System Package Manager — bspm-package","text":"Iñaki Ucar","code":""},{"path":"/reference/integration.html","id":null,"dir":"Reference","previous_headings":"","what":"Enable/Disable Bridge to System Package Manager — integration","title":"Enable/Disable Bridge to System Package Manager — integration","text":"Functions enable disable integration install_sys install.packages. enabled, packages installed transparently system repositories available, including dependencies, configured R repositories .","code":""},{"path":"/reference/integration.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Enable/Disable Bridge to System Package Manager — integration","text":"","code":"enable() disable()"},{"path":"/reference/integration.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Enable/Disable Bridge to System Package Manager — integration","text":"enable bspm system-wide default, include following: suppressMessages(bspm::enable()) Rprofile.site file. enable just particular user, move line user's ~/.Rprofile instead. default, enabling bspm triggers check backend, warning raised system service required available. avoid check, options(bspm.backend.check=FALSE) can set. Enabling bspm sets default installation type \"\", means 'use binary available current, otherwise try source'. action source packages preferred controlled getOption(\"install.packages.compile..source\"). Set option \"never\" always prefer binaries source packages, informative message newer versions available source. binaries always preferred message required, special fast mode can enabled via options(bspm.version.check=FALSE), (true default) completely skips version checking.","code":""},{"path":[]},{"path":"/reference/integration.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Enable/Disable Bridge to System Package Manager — integration","text":"","code":"if (FALSE) { # install 'units' and all its dependencies from the system repos bspm::enable() install.packages(\"units\") # install packages again from CRAN bspm::disable() install.packages(\"errors\") }"},{"path":"/reference/manager.html","id":null,"dir":"Reference","previous_headings":"","what":"Manage Packages from System Repositories — manager","title":"Manage Packages from System Repositories — manager","text":"Talk system package manager install/remove... packages system repositories (see details options).","code":""},{"path":"/reference/manager.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Manage Packages from System Repositories — manager","text":"","code":"install_sys(pkgs) remove_sys(pkgs) moveto_sys(lib, newer = FALSE) available_sys() discover()"},{"path":"/reference/manager.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Manage Packages from System Repositories — manager","text":"pkgs character vector names packages. lib character vector giving library directories remove packages . missing, defaults first element R_LIBS_USER. newer whether move newer packages user library. special value \"ask\" also supported.","code":""},{"path":"/reference/manager.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Manage Packages from System Repositories — manager","text":"Functions install_sys, remove_sys, moveto_sys return, invisibly, character vector names packages available system. Function available_sys returns matrix one row per package. Row names package names, column names include \"Package\", \"Version\", \"Repository\".","code":""},{"path":"/reference/manager.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Manage Packages from System Repositories — manager","text":"R runs root privileges (e.g., docker container), functions talk directly system package manager. Regular users also able install/remove packages without administrative permission via accompanying D-Bus service bspm installed system package. , methods fall back using sudo elevate permissions (pkexec GUIs RStudio) interactive sessions. Note , want fall back sudo non-interactive session, need set options(bspm.sudo=TRUE). options(bspm.sudo.autodetect=TRUE), bspm tries detect whether running environment password-less sudo can used (e.g., containerized environment Fedora Toolbox) every call, uses sudo accordingly. moveto_sys method moves existing user packages system library avoid package shadowing (.e., installs available system packages removes copies user library; see shadowed_packages). provides mechanism easily deploy bspm existing R installation populated user library. discover method needed e.g. new repository added contains packages different prefixes (example, system repositories may provide packages called r-cran-* r-bioc-* add new repository provides packages called r-github-*). Otherwise, effect besides regenerating internal configuration files.","code":""},{"path":[]},{"path":"/reference/manager.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Manage Packages from System Repositories — manager","text":"","code":"if (FALSE) { # install 'units' and all its dependencies from the system repos bspm::install_sys(\"units\") # now remove it bspm::remove_sys(\"units\") # get available packages bspm::available_sys() }"},{"path":"/reference/scripts.html","id":null,"dir":"Reference","previous_headings":"","what":"Call Internal Scripts — scripts","title":"Call Internal Scripts — scripts","text":"Internal scripts can called via Rscript (see examples).","code":""},{"path":"/reference/scripts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Call Internal Scripts — scripts","text":"","code":"if (FALSE) { # get a list of available scripts with descriptions Rscript -e bspm:::scripts # see a script's help Rscript -e bspm:::scripts -h # run a script Rscript -e bspm:::scripts [args] }"},{"path":"/reference/shadowed_packages.html","id":null,"dir":"Reference","previous_headings":"","what":"Find Shadowed Packages — shadowed_packages","title":"Find Shadowed Packages — shadowed_packages","text":"Find packages shadowed others library locations higher priority.","code":""},{"path":"/reference/shadowed_packages.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find Shadowed Packages — shadowed_packages","text":"","code":"shadowed_packages(lib.loc = NULL)"},{"path":"/reference/shadowed_packages.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find Shadowed Packages — shadowed_packages","text":"lib.loc character vector describing location R library trees search , NULL known trees (see .libPaths).","code":""},{"path":"/reference/shadowed_packages.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find Shadowed Packages — shadowed_packages","text":"data.frame one row per package, row names package names column names (currently) \"Package\", \"LibPath\", \"Version\", \"Shadow.LibPath\", \"Shadow.Version\", \"Shadow.Newer\".","code":""},{"path":"/reference/shadowed_packages.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Find Shadowed Packages — shadowed_packages","text":"R supports setting several locations library trees. powerful feature, many times packages end installed multiple locations, cases R silently uses one path highest priority (appearing first .libPaths), thus shadowing packages locations lower priority. bspm installations, means outdated user packages may break system libraries. utility reports packages shadowed (one per row) information location (\"Shadow.LibPath\") version (\"Shadow.Version\") priority . moveto_sys method great complement move outdated versions system libraries.","code":""},{"path":[]},{"path":"/news/index.html","id":"bspm-050","dir":"Changelog","previous_headings":"","what":"bspm 0.5.0","title":"bspm 0.5.0","text":"New function moveto_sys() moves existing user packages system library avoid package shadowing; associated script mass_move enables mass-calling function several users /libraries facilitate bspm deployment multitenant servers (#60 addressing #59). New function shadowed_packages() analyzes library tree reports packages, one per row, shadowed others (#62 addressing #58). Add new options(bspm.version.check=FALSE) (true default) globally enable binary-source installation type (#61). Add specific manual page bspm-options documenting supported options. Add support installation binary Suggests Enhances supplied dependencies argument install.packages. LinkingTo now omitted binary packages documented (#32).","code":""},{"path":"/news/index.html","id":"bspm-042","dir":"Changelog","previous_headings":"","what":"bspm 0.4.2","title":"bspm 0.4.2","text":"CRAN release: 2023-02-09 Fix error forwarding root mode (#54). Fix installation error type=\"binary-source\" set package without binary version available requested (#56). Fix installation error options(pkgType=\"\") mode (default) available binary available source (#57).","code":""},{"path":"/news/index.html","id":"bspm-041","dir":"Changelog","previous_headings":"","what":"bspm 0.4.1","title":"bspm 0.4.1","text":"CRAN release: 2023-01-09 New type=\"binary-source\" option (fast mode) tries install many binaries possible (requested packages dependencies), falls back source installation (per @eddelbuettel’s wish). Fix call available.packages() repos argument specified (#52 addressing #51).","code":""},{"path":"/news/index.html","id":"bspm-040","dir":"Changelog","previous_headings":"","what":"bspm 0.4.0","title":"bspm 0.4.0","text":"CRAN release: 2022-11-24 New function available_sys() returns matrix available packages \"Package\", \"Version\", \"Repository\" (#47 addressing #41). Honor type option, set default \"\", means ‘use binary available current, otherwise try source’ (#48 addressing #46). consequence, option bspm.always.install.deps removed.","code":""},{"path":"/news/index.html","id":"bspm-0310","dir":"Changelog","previous_headings":"","what":"bspm 0.3.10","title":"bspm 0.3.10","text":"CRAN release: 2022-08-05 Check backend availability enable(), trigger warning service required found. check can disabled setting options(bspm.backend.check=FALSE) (#40).","code":""},{"path":"/news/index.html","id":"bspm-039","dir":"Changelog","previous_headings":"","what":"bspm 0.3.9","title":"bspm 0.3.9","text":"CRAN release: 2022-01-04 Force sudo unconditionally also autodetection (#27, #28). Call update_cache DNF install transactions (#29). Add ALPM backend (#35 addressing #34). Fix repeated installation issue APT backend (#36).","code":""},{"path":"/news/index.html","id":"bspm-038","dir":"Changelog","previous_headings":"","what":"bspm 0.3.8","title":"bspm 0.3.8","text":"CRAN release: 2021-06-25 Fix spurious error options(bspm.always.install.deps=TRUE) (#25). Ensure options(bspm.sudo=TRUE) forces sudo unconditionally (#28). Add new options(bspm.sudo.autodetect=TRUE) (set default) enable passwordless sudo autodetection every call (#27).","code":""},{"path":"/news/index.html","id":"bspm-037","dir":"Changelog","previous_headings":"","what":"bspm 0.3.7","title":"bspm 0.3.7","text":"CRAN release: 2020-10-15 Fix spurious error options(bspm.always.install.deps=TRUE) (#24).","code":""},{"path":"/news/index.html","id":"bspm-036","dir":"Changelog","previous_headings":"","what":"bspm 0.3.6","title":"bspm 0.3.6","text":"CRAN release: 2020-10-13 Make APT call fail unmet dependencies (#20). Add new options(bspm.always.install.deps=TRUE) (set default) always try install recursive hard dependencies packages system repositories even requested package available (#14, #23). Add note SELinux (#19).","code":""},{"path":"/news/index.html","id":"bspm-035","dir":"Changelog","previous_headings":"","what":"bspm 0.3.5","title":"bspm 0.3.5","text":"CRAN release: 2020-08-24 Fix noise busctl installed ’s system bus (docker) (#12). Workaround issue file permissions /tmp (#13). Fix compatibility Python 3.6 (#16 addressing #15). Workaround PATH old versions APT/dpkg (#17 addressing #15). Prioritize options(bspm.sudo=TRUE) DBus calls (part #16), DBus error incompatibility can least bypassed sudo.","code":""},{"path":"/news/index.html","id":"bspm-034","dir":"Changelog","previous_headings":"","what":"bspm 0.3.4","title":"bspm 0.3.4","text":"CRAN release: 2020-08-03 Fix installation issue reported CRAN Solaris.","code":""},{"path":"/news/index.html","id":"bspm-033","dir":"Changelog","previous_headings":"","what":"bspm 0.3.3","title":"bspm 0.3.3","text":"CRAN release: 2020-08-01 Cosmetic changes suggested CRAN. Small configure fix.","code":""},{"path":"/news/index.html","id":"bspm-032","dir":"Changelog","previous_headings":"","what":"bspm 0.3.2","title":"bspm 0.3.2","text":"Implement functions discover new prefixes dynamically (#3). Fall back sudo root permissions D-Bus service available. documentation, examples, testing.","code":""},{"path":"/news/index.html","id":"bspm-031","dir":"Changelog","previous_headings":"","what":"bspm 0.3.1","title":"bspm 0.3.1","text":"Simplified installation, D-Bus files always place. Support multiple prefixes exclusions (#1). Improve APT cache management (#4). Fix newlines APT output (#5). Load D-Bus variables locally instead global environment (#6).","code":""},{"path":"/news/index.html","id":"bspm-030","dir":"Changelog","previous_headings":"","what":"bspm 0.3.0","title":"bspm 0.3.0","text":"New package name, suggested @eddelbuettel; improved title & description. Allow root user talk directly system package manager, without D-Bus.","code":""}] +[{"path":"/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Iñaki Ucar. Author, copyright holder, maintainer.","code":""},{"path":"/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Ucar (2023). bspm: Bridge System Package Manager. R package version 0.5.1, https://enchufa2.github.io/bspm/.","code":"@Manual{, title = {bspm: Bridge to System Package Manager}, author = {Iñaki Ucar}, year = {2023}, note = {R package version 0.5.1}, url = {https://enchufa2.github.io/bspm/}, }"},{"path":"/index.html","id":"bspm-bridge-to-system-package-manager","dir":"","previous_headings":"","what":"Bridge to System Package Manager","title":"Bridge to System Package Manager","text":"Enables binary package installations Linux distributions. Provides functions manage packages via distribution’s package manager. Also provides transparent integration R’s install.packages() fallback mechanism. installed system package, interacts system’s package manager without requiring administrative privileges via integrated D-Bus service; otherwise, uses sudo. Currently, following backends supported: DNF, APT, ALPM. See contributed talk useR! 2021: [video, slides].","code":""},{"path":"/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Bridge to System Package Manager","text":"Installation system repositories preferred, mainly avoid issues SELinux-enabled systems (see #19). Follow links target system desktop/server installation one supported distributions: Fedora, Ubuntu, openSUSE, Arch. target system containerized application (e.g., Docker image), refer rocker/r-bspm images. trying bspm another distro, packaging system package, please follow general procedure .","code":""},{"path":"/index.html","id":"general-procedure","dir":"","previous_headings":"Installation","what":"General procedure","title":"Bridge to System Package Manager","text":"Installation source requires (apart R) folllowing Python bindings: (*) Optional, required plan run bspm regular user (non-root) (systemd-based) desktop/server setting. , install bspm system package able use regular user. Download latest version CRAN GitHub proceed installation (note sudo): configuration options: plan run root (e.g., docker container), don’t need D-Bus service, can disable installation adding --configure-args=\"--without-dbus-service\". installing package build root, instead final destination, specify --configure-vars=\"BUILD_ROOT=[path_to_build_root]\" . default, package prefixes exclusions automatically discovered system repositories, discovery mechanism exposed user can install packages e.g. new repositories prefixes added. want fix prefixes exclusions prevent exposing discovery mechanism, set --configure-vars=\"PKG_PREF='prefix1- prefix2- ...'\" --configure-vars=\"PKG_EXCL='exclusion1 exclusion2 ...'\". enable default, put following Rprofile.site: , run install.packages usual, available system packages automatically installed.","code":"$ sudo R CMD INSTALL bspm_[version].tar.gz > bspm::enable() # wrap it in suppressMessages() to avoid the initial message"},{"path":"/index.html","id":"fedora","dir":"","previous_headings":"Installation","what":"Fedora","title":"Bridge to System Package Manager","text":"thousands binary packages available via iucar/cran Copr repo. bspm package available R-CoprManager, enabled default:","code":"$ sudo dnf install 'dnf-command(copr)' $ sudo dnf copr enable iucar/cran $ sudo dnf install R-CoprManager"},{"path":"/index.html","id":"ubuntu","dir":"","previous_headings":"Installation","what":"Ubuntu","title":"Bridge to System Package Manager","text":"thousands binary packages available via c2d4u.team/c2d4u4.0+ PPA repo: , install bspm system package CRAN: , enable system-wide (alternatively, use .Rprofile):","code":"$ sudo add-apt-repository ppa:marutter/rrutter4.0 # R v4.0 and higher $ sudo add-apt-repository ppa:c2d4u.team/c2d4u4.0+ # R packages $ sudo apt-get update && sudo apt-get install python3-{dbus,gi,apt} $ sudo Rscript -e 'install.packages(\"bspm\", repos=\"https://cran.r-project.org\")' $ echo \"bspm::enable()\" | sudo tee -a /etc/R/Rprofile.site"},{"path":"/index.html","id":"opensuse","dir":"","previous_headings":"Installation","what":"openSUSE","title":"Bridge to System Package Manager","text":"thousands binary packages available via autoCRAN OBS repo: , install bspm system package CRAN: , enable system-wide (alternatively, use .Rprofile): Sometimes, restart required new systemd service recognized.","code":"$ sudo zypper ar -r https://download.opensuse.org/repositories/devel:/languages:/R:/patched/openSUSE_Tumbleweed/devel:languages:R:patched.repo $ sudo zypper ar -r https://download.opensuse.org/repositories/devel:/languages:/R:/autoCRAN/openSUSE_Tumbleweed/devel:languages:R:autoCRAN.repo $ sudo zypper install R-patched python3-dnf python38-dbus-python python3-gobject $ sudo ln -s /etc/zypp/repos.d /etc/yum.repos.d $ sudo Rscript -e 'install.packages(\"bspm\", repos=\"https://cran.r-project.org\")' $ echo \"bspm::enable()\" | sudo tee -a /usr/lib64/R/etc/Rprofile.site"},{"path":"/index.html","id":"arch","dir":"","previous_headings":"Installation","what":"Arch","title":"Bridge to System Package Manager","text":"number binary CRAN packages available via ArchRPkgs repo well Bioconductor packages via BioArchLinux repo: , install bspm system package CRAN: , enable system-wide (alternatively, use .Rprofile):","code":"$ echo -e \"\\n[desolve]\\nServer = https://desolve.ru/archrepo/\\$arch\" \\ \"\\n[BioArchLinux]\\nServer = https://repo.bioarchlinux.org/\\$arch\" \\ | sudo tee -a /etc/pacman.conf $ sudo pacman -Sy && sudo pacman -S r pyalpm python-{dbus,gobject} $ sudo Rscript -e 'install.packages(\"bspm\", repos=\"https://cran.r-project.org\")' $ echo \"bspm::enable()\" | sudo tee -a /usr/lib64/R/etc/Rprofile.site"},{"path":"/index.html","id":"moving-the-user-library","dir":"","previous_headings":"","what":"Moving the user library","title":"Bridge to System Package Manager","text":"installing enabling bspm system populated user library, package shadowing prevent system packages loading, user library takes precedence .libPaths() (see ?bspm::shadowed_packages utility find shadowed packages). solve , necessary install packages available system repos remove user library, leaving GitHub packages, development versions, . achieved simply calling bspm::moveto_sys(). Additionally, bspm provides script mass-calling bspm::moveto_sys() several users /libraries, allows sysadmins easily deploy bspm multi-user server. script, requires sudo privileges, called follows: default, dry run, meaning won’t touch anything just report user libraries found. actually run script, --run flag must provided:","code":"$ Rscript -e bspm:::scripts mass_move user1 [user2 ...] [lib1 [lib2 ...]] $ Rscript -e bspm:::scripts mass_move --run user1 [user2 ...] [lib1 [lib2 ...]]"},{"path":"/index.html","id":"developing-new-backends","dir":"","previous_headings":"","what":"Developing new backends","title":"Bridge to System Package Manager","text":"New backends package managers can added inst/service/backend. backend must implement following functions: def discover() -> dict({ \"prefixes\" : list, \"exclusions\" : list }) def available(prefixes : list, exclusions : list) -> list def install(prefixes : list, pkgs : list, exclusions : list) -> list def remove(prefixes : list, pkgs : list, exclusions : list) -> list last two functions receive list prefixes, list R package names list exclusions, must return list package names processed (.e., packages found system repos). progress reported stdout.","code":""},{"path":"/index.html","id":"support-and-troubleshooting","dir":"","previous_headings":"","what":"Support and troubleshooting","title":"Bridge to System Package Manager","text":"experiencing issue listed , solution work , please hesitate open ticket GitHub issue tracker.","code":""},{"path":"/index.html","id":"cannot-connect-to-the-system-package-manager","dir":"","previous_headings":"Support and troubleshooting","what":"Cannot connect to the system package manager","title":"Bridge to System Package Manager","text":"Symptom: tried install package got message. usually happens bspm installed user library , system package, properly configured reason. solution : First foremost, uninstall copy bspm user library. Reinstall admin privileges, e.g.:","code":"> install.packages() Error in install.packages : cannot connect to the system package manager $ sudo Rscript --vanilla -e 'install.packages(\"bspm\", repos=\"https://cran.r-project.org\")'"},{"path":"/reference/bspm-options.html","id":null,"dir":"Reference","previous_headings":"","what":"Package Options — bspm-options","title":"Package Options — bspm-options","text":"List options() supported configure bspm's behavior.","code":""},{"path":"/reference/bspm-options.html","id":"options-specific-to-bspm","dir":"Reference","previous_headings":"","what":"Options specific to bspm","title":"Package Options — bspm-options","text":"bspm.backend.check: logical, default TRUE. false, initial check enable() performed. bspm.version.check: logical, default TRUE. false, many binaries installed possible without version check, installation source used fallback. bspm.sudo.autodetect: logical, default FALSE. true, enables autodetection selection password-less sudo. bspm.sudo: logical, default FALSE. true, forces sudo unconditionally preferred mechanism.","code":""},{"path":"/reference/bspm-options.html","id":"options-from-base-r","dir":"Reference","previous_headings":"","what":"Options from base R","title":"Package Options — bspm-options","text":"used way base R. See options detailed description. askYesNo install.packages.compile..source","code":""},{"path":"/reference/bspm-package.html","id":null,"dir":"Reference","previous_headings":"","what":"bspm: Bridge to System Package Manager — bspm-package","title":"bspm: Bridge to System Package Manager — bspm-package","text":"Enables binary package installations Linux distributions. Provides functions manage packages via distribution's package manager. Also provides transparent integration R's install.packages fallback mechanism. installed system package, interacts system's package manager without requiring administrative privileges via integrated D-Bus service; otherwise, uses sudo. Currently, following backends supported: DNF, APT, ALPM.","code":""},{"path":"/reference/bspm-package.html","id":"references","dir":"Reference","previous_headings":"","what":"References","title":"bspm: Bridge to System Package Manager — bspm-package","text":"https://enchufa2.github.io/bspm/","code":""},{"path":[]},{"path":"/reference/bspm-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"bspm: Bridge to System Package Manager — bspm-package","text":"Iñaki Ucar","code":""},{"path":"/reference/integration.html","id":null,"dir":"Reference","previous_headings":"","what":"Enable/Disable Bridge to System Package Manager — integration","title":"Enable/Disable Bridge to System Package Manager — integration","text":"Functions enable disable integration install_sys install.packages. enabled, packages installed transparently system repositories available, including dependencies, configured R repositories .","code":""},{"path":"/reference/integration.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Enable/Disable Bridge to System Package Manager — integration","text":"","code":"enable() disable()"},{"path":"/reference/integration.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Enable/Disable Bridge to System Package Manager — integration","text":"enable bspm system-wide default, include following: suppressMessages(bspm::enable()) Rprofile.site file. enable just particular user, move line user's ~/.Rprofile instead. default, enabling bspm triggers check backend, warning raised system service required available. avoid check, options(bspm.backend.check=FALSE) can set. Enabling bspm sets default installation type \"\", means 'use binary available current, otherwise try source'. action source packages preferred controlled getOption(\"install.packages.compile..source\"). Set option \"never\" always prefer binaries source packages, informative message newer versions available source. binaries always preferred message required, special fast mode can enabled via options(bspm.version.check=FALSE), (true default) completely skips version checking.","code":""},{"path":[]},{"path":"/reference/integration.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Enable/Disable Bridge to System Package Manager — integration","text":"","code":"if (FALSE) { # install 'units' and all its dependencies from the system repos bspm::enable() install.packages(\"units\") # install packages again from CRAN bspm::disable() install.packages(\"errors\") }"},{"path":"/reference/manager.html","id":null,"dir":"Reference","previous_headings":"","what":"Manage Packages from System Repositories — manager","title":"Manage Packages from System Repositories — manager","text":"Talk system package manager install/remove... packages system repositories (see details options).","code":""},{"path":"/reference/manager.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Manage Packages from System Repositories — manager","text":"","code":"install_sys(pkgs) remove_sys(pkgs) moveto_sys(lib, newer = FALSE) available_sys() discover()"},{"path":"/reference/manager.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Manage Packages from System Repositories — manager","text":"pkgs character vector names packages. lib character vector giving library directories remove packages . missing, defaults first element R_LIBS_USER. newer whether move newer packages user library. special value \"ask\" also supported.","code":""},{"path":"/reference/manager.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Manage Packages from System Repositories — manager","text":"Functions install_sys, remove_sys, moveto_sys return, invisibly, character vector names packages available system. Function available_sys returns matrix one row per package. Row names package names, column names include \"Package\", \"Version\", \"Repository\".","code":""},{"path":"/reference/manager.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Manage Packages from System Repositories — manager","text":"R runs root privileges (e.g., docker container), functions talk directly system package manager. Regular users also able install/remove packages without administrative permission via accompanying D-Bus service bspm installed system package. , methods fall back using sudo elevate permissions (pkexec GUIs RStudio) interactive sessions. Note , want fall back sudo non-interactive session, need set options(bspm.sudo=TRUE). options(bspm.sudo.autodetect=TRUE), bspm tries detect whether running environment password-less sudo can used (e.g., containerized environment Fedora Toolbox) every call, uses sudo accordingly. moveto_sys method moves existing user packages system library avoid package shadowing (.e., installs available system packages removes copies user library; see shadowed_packages). provides mechanism easily deploy bspm existing R installation populated user library. discover method needed e.g. new repository added contains packages different prefixes (example, system repositories may provide packages called r-cran-* r-bioc-* add new repository provides packages called r-github-*). Otherwise, effect besides regenerating internal configuration files.","code":""},{"path":[]},{"path":"/reference/manager.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Manage Packages from System Repositories — manager","text":"","code":"if (FALSE) { # install 'units' and all its dependencies from the system repos bspm::install_sys(\"units\") # now remove it bspm::remove_sys(\"units\") # get available packages bspm::available_sys() }"},{"path":"/reference/scripts.html","id":null,"dir":"Reference","previous_headings":"","what":"Call Internal Scripts — scripts","title":"Call Internal Scripts — scripts","text":"Internal scripts can called via Rscript (see examples).","code":""},{"path":"/reference/scripts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Call Internal Scripts — scripts","text":"","code":"if (FALSE) { # get a list of available scripts with descriptions Rscript -e bspm:::scripts # see a script's help Rscript -e bspm:::scripts -h # run a script Rscript -e bspm:::scripts [args] }"},{"path":"/reference/shadowed_packages.html","id":null,"dir":"Reference","previous_headings":"","what":"Find Shadowed Packages — shadowed_packages","title":"Find Shadowed Packages — shadowed_packages","text":"Find packages shadowed others library locations higher priority.","code":""},{"path":"/reference/shadowed_packages.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find Shadowed Packages — shadowed_packages","text":"","code":"shadowed_packages(lib.loc = NULL)"},{"path":"/reference/shadowed_packages.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Find Shadowed Packages — shadowed_packages","text":"lib.loc character vector describing location R library trees search , NULL known trees (see .libPaths).","code":""},{"path":"/reference/shadowed_packages.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find Shadowed Packages — shadowed_packages","text":"data.frame one row per package, row names package names column names (currently) \"Package\", \"LibPath\", \"Version\", \"Shadow.LibPath\", \"Shadow.Version\", \"Shadow.Newer\".","code":""},{"path":"/reference/shadowed_packages.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Find Shadowed Packages — shadowed_packages","text":"R supports setting several locations library trees. powerful feature, many times packages end installed multiple locations, cases R silently uses one path highest priority (appearing first .libPaths), thus shadowing packages locations lower priority. bspm installations, means outdated user packages may break system libraries. utility reports packages shadowed (one per row) information location (\"Shadow.LibPath\") version (\"Shadow.Version\") priority . moveto_sys method great complement move outdated versions system libraries.","code":""},{"path":[]},{"path":"/news/index.html","id":"bspm-051","dir":"Changelog","previous_headings":"","what":"bspm 0.5.1","title":"bspm 0.5.1","text":"Add support littler scripts (@eddelbuettel #64). Refactor + fixes + improve testing (#66 addressing #63).","code":""},{"path":"/news/index.html","id":"bspm-050","dir":"Changelog","previous_headings":"","what":"bspm 0.5.0","title":"bspm 0.5.0","text":"CRAN release: 2023-02-19 New function moveto_sys() moves existing user packages system library avoid package shadowing; associated script mass_move enables mass-calling function several users /libraries facilitate bspm deployment multitenant servers (#60 addressing #59). New function shadowed_packages() analyzes library tree reports packages, one per row, shadowed others (#62 addressing #58). Add new options(bspm.version.check=FALSE) (true default) globally enable binary-source installation type (#61). Add specific manual page bspm-options documenting supported options. Add support installation binary Suggests Enhances supplied dependencies argument install.packages. LinkingTo now omitted binary packages documented (#32).","code":""},{"path":"/news/index.html","id":"bspm-042","dir":"Changelog","previous_headings":"","what":"bspm 0.4.2","title":"bspm 0.4.2","text":"CRAN release: 2023-02-09 Fix error forwarding root mode (#54). Fix installation error type=\"binary-source\" set package without binary version available requested (#56). Fix installation error options(pkgType=\"\") mode (default) available binary available source (#57).","code":""},{"path":"/news/index.html","id":"bspm-041","dir":"Changelog","previous_headings":"","what":"bspm 0.4.1","title":"bspm 0.4.1","text":"CRAN release: 2023-01-09 New type=\"binary-source\" option (fast mode) tries install many binaries possible (requested packages dependencies), falls back source installation (per @eddelbuettel’s wish). Fix call available.packages() repos argument specified (#52 addressing #51).","code":""},{"path":"/news/index.html","id":"bspm-040","dir":"Changelog","previous_headings":"","what":"bspm 0.4.0","title":"bspm 0.4.0","text":"CRAN release: 2022-11-24 New function available_sys() returns matrix available packages \"Package\", \"Version\", \"Repository\" (#47 addressing #41). Honor type option, set default \"\", means ‘use binary available current, otherwise try source’ (#48 addressing #46). consequence, option bspm.always.install.deps removed.","code":""},{"path":"/news/index.html","id":"bspm-0310","dir":"Changelog","previous_headings":"","what":"bspm 0.3.10","title":"bspm 0.3.10","text":"CRAN release: 2022-08-05 Check backend availability enable(), trigger warning service required found. check can disabled setting options(bspm.backend.check=FALSE) (#40).","code":""},{"path":"/news/index.html","id":"bspm-039","dir":"Changelog","previous_headings":"","what":"bspm 0.3.9","title":"bspm 0.3.9","text":"CRAN release: 2022-01-04 Force sudo unconditionally also autodetection (#27, #28). Call update_cache DNF install transactions (#29). Add ALPM backend (#35 addressing #34). Fix repeated installation issue APT backend (#36).","code":""},{"path":"/news/index.html","id":"bspm-038","dir":"Changelog","previous_headings":"","what":"bspm 0.3.8","title":"bspm 0.3.8","text":"CRAN release: 2021-06-25 Fix spurious error options(bspm.always.install.deps=TRUE) (#25). Ensure options(bspm.sudo=TRUE) forces sudo unconditionally (#28). Add new options(bspm.sudo.autodetect=TRUE) (set default) enable passwordless sudo autodetection every call (#27).","code":""},{"path":"/news/index.html","id":"bspm-037","dir":"Changelog","previous_headings":"","what":"bspm 0.3.7","title":"bspm 0.3.7","text":"CRAN release: 2020-10-15 Fix spurious error options(bspm.always.install.deps=TRUE) (#24).","code":""},{"path":"/news/index.html","id":"bspm-036","dir":"Changelog","previous_headings":"","what":"bspm 0.3.6","title":"bspm 0.3.6","text":"CRAN release: 2020-10-13 Make APT call fail unmet dependencies (#20). Add new options(bspm.always.install.deps=TRUE) (set default) always try install recursive hard dependencies packages system repositories even requested package available (#14, #23). Add note SELinux (#19).","code":""},{"path":"/news/index.html","id":"bspm-035","dir":"Changelog","previous_headings":"","what":"bspm 0.3.5","title":"bspm 0.3.5","text":"CRAN release: 2020-08-24 Fix noise busctl installed ’s system bus (docker) (#12). Workaround issue file permissions /tmp (#13). Fix compatibility Python 3.6 (#16 addressing #15). Workaround PATH old versions APT/dpkg (#17 addressing #15). Prioritize options(bspm.sudo=TRUE) DBus calls (part #16), DBus error incompatibility can least bypassed sudo.","code":""},{"path":"/news/index.html","id":"bspm-034","dir":"Changelog","previous_headings":"","what":"bspm 0.3.4","title":"bspm 0.3.4","text":"CRAN release: 2020-08-03 Fix installation issue reported CRAN Solaris.","code":""},{"path":"/news/index.html","id":"bspm-033","dir":"Changelog","previous_headings":"","what":"bspm 0.3.3","title":"bspm 0.3.3","text":"CRAN release: 2020-08-01 Cosmetic changes suggested CRAN. Small configure fix.","code":""},{"path":"/news/index.html","id":"bspm-032","dir":"Changelog","previous_headings":"","what":"bspm 0.3.2","title":"bspm 0.3.2","text":"Implement functions discover new prefixes dynamically (#3). Fall back sudo root permissions D-Bus service available. documentation, examples, testing.","code":""},{"path":"/news/index.html","id":"bspm-031","dir":"Changelog","previous_headings":"","what":"bspm 0.3.1","title":"bspm 0.3.1","text":"Simplified installation, D-Bus files always place. Support multiple prefixes exclusions (#1). Improve APT cache management (#4). Fix newlines APT output (#5). Load D-Bus variables locally instead global environment (#6).","code":""},{"path":"/news/index.html","id":"bspm-030","dir":"Changelog","previous_headings":"","what":"bspm 0.3.0","title":"bspm 0.3.0","text":"New package name, suggested @eddelbuettel; improved title & description. Allow root user talk directly system package manager, without D-Bus.","code":""}]
Ucar I (2023). bspm: Bridge to System Package Manager. -R package version 0.5.0, https://enchufa2.github.io/bspm/. +R package version 0.5.1, https://enchufa2.github.io/bspm/.
@Manual{, title = {bspm: Bridge to System Package Manager}, author = {Iñaki Ucar}, year = {2023}, - note = {R package version 0.5.0}, + note = {R package version 0.5.1}, url = {https://enchufa2.github.io/bspm/}, }
CRAN release: 2023-02-19
moveto_sys()
mass_move
bspm
shadowed_packages()
options(bspm.version.check=FALSE)
binary-source