r-hub/sysreqs

sysreqs() can return duplicate dependencies

Robinlovelace opened this issue · 2 comments

Example from metapackage:

sysreqs::sysreqs(desc = system.file(package = "geocompkg", "DESCRIPTION"), platform = "linux-x86_64-ubuntu-gcc")
#>  [1] "pandoc pandoc-citeproc"          "libxml2-dev"                    
#>  [3] "libgmp-dev"                      "libglpk-dev"                    
#>  [5] "make"                            "libgeos-dev libgeos++-dev"      
#>  [7] "make"                            "jags"                           
#>  [9] "libgeos-dev libgeos++-dev"       "gdal-bin"                       
#> [11] "libgdal-dev"                     "libgsl-dev"                     
#> [13] "libgmp-dev"                      "libglu1-mesa-dev"               
#> [15] "make"                            "unixodbc-dev"                   
#> [17] "make"                            "gdal-bin"                       
#> [19] "libproj-dev"                     "libgdal-dev"                    
#> [21] "libgeos-dev libgeos++-dev"       "libpq-dev"                      
#> [23] "libpq-dev"                       "python-minimal"                 
#> [25] "qgis"                            "saga"                           
#> [27] "libgeos-dev libgeos++-dev"       "gdal-bin"                       
#> [29] "libgdal-dev"                     "make"                           
#> [31] "pandoc pandoc-citeproc"          "git-core"                       
#> [33] "pandoc pandoc-citeproc"          "libxml2-dev"                    
#> [35] "imagemagick"                     "libpng-dev"                     
#> [37] "libudunits2-dev"                 "make"                           
#> [39] "zlib1g-dev"                      "libxml2-dev"                    
#> [41] "libssl-dev"                      "libcurl4-openssl-dev"           
#> [43] "git-core"                        "make"                           
#> [45] "libcurl4-openssl-dev"            "libv8-dev"                      
#> [47] "default-jre-headless"            "python-minimal"                 
#> [49] "libssl-dev"                      "zlib1g-dev"                     
#> [51] "libssh2-1-dev"                   "git-core"                       
#> [53] "git-core"                        "make"                           
#> [55] "libcairo2-dev"                   "libjq-dev"                      
#> [57] "libssl-dev"                      "make"                           
#> [59] "protobuf-compiler libprotoc-dev" "libprotobuf-dev"

Created on 2020-03-29 by the reprex package (v0.3.0)

Example from a package on CRAN:

sysreqs::sysreqs(desc = system.file(package = "tmap", "DESCRIPTION"), platform = "linux-x86_64-ubuntu-gcc")
#>  [1] "libgeos-dev libgeos++-dev"       "gdal-bin"                       
#>  [3] "libgdal-dev"                     "libgeos-dev libgeos++-dev"      
#>  [5] "libudunits2-dev"                 "pandoc pandoc-citeproc"         
#>  [7] "pandoc pandoc-citeproc"          "git-core"                       
#>  [9] "libpng-dev"                      "libgeos-dev libgeos++-dev"      
#> [11] "gdal-bin"                        "libproj-dev"                    
#> [13] "libgdal-dev"                     "libxml2-dev"                    
#> [15] "make"                            "libv8-dev"                      
#> [17] "default-jre-headless"            "libssl-dev"                     
#> [19] "libcurl4-openssl-dev"            "libxml2-dev"                    
#> [21] "make"                            "libjq-dev"                      
#> [23] "git-core"                        "libssl-dev"                     
#> [25] "protobuf-compiler libprotoc-dev" "libprotobuf-dev"

Created on 2020-03-29 by the reprex package (v0.3.0)

This does not apply sysreq_commands() which does not provide duplicates:

cat(sysreqs::sysreq_commands(system.file(package = "tmap", "DESCRIPTION"), platform = "linux-x86_64-ubuntu-gcc")) # works!
#> export DEBIAN_FRONTEND=noninteractive; apt-get -y update && apt-get install -y libgeos-dev libgeos++-dev gdal-bin libgdal-dev libudunits2-dev pandoc pandoc-citeproc git-core libpng-dev libproj-dev libxml2-dev make libv8-dev default-jre-headless libssl-dev libcurl4-openssl-dev libjq-dev protobuf-compiler libprotoc-dev libprotobuf-dev

Created on 2020-03-29 by the reprex package (v0.3.0)