Debian Bug report logs - #964916
allow packages from backports without forcing backports version (-t forces lower version from backports)

version graph

Package: aptitude; Maintainer for aptitude is Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>; Source for aptitude is src:aptitude (PTS, buildd, popcon).

Reported by: Pirate Praveen <praveen@onenetbeyond.org>

Date: Sun, 12 Jul 2020 07:15:01 UTC

Severity: important

Found in version aptitude/0.8.11-7

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, debian-backports@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>:
Bug#964916; Package aptitude. (Sun, 12 Jul 2020 07:15:04 GMT) (full text, mbox, link).


Acknowledgement sent to Pirate Praveen <praveen@onenetbeyond.org>:
New Bug report received and forwarded. Copy sent to debian-backports@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>. (Sun, 12 Jul 2020 07:15:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Pirate Praveen <praveen@onenetbeyond.org>
To: Debian BTS <submit@bugs.debian.org>
Subject: allow packages from backports without forcing backports version (-t forces lower version from backports)
Date: Sun, 12 Jul 2020 12:43:28 +0530
Package: aptitude
Version: 0.8.11-7
Severity: important
X-debbugs-cc: debian-backports@lists.debian.org

I have been using "apt -t buster-backports install gitlab" till 
recently. But with ruby 2.7 in buster-fasttrack 
(https://fasttrack.debian.net), I need to tell apt to prefer packages 
in buster-fasttrack when it has a newer version than backports.

apt/aptitude -t buster-backports install gitlab/buster-fasttrack does 
not work either.

For example, ruby-nokogiri is available in buster-backports (built with 
ruby 2.5) and buster-fasttrack (built with ruby 2.7).

# apt policy ruby-nokogiri
ruby-nokogiri:
 Installed: (none)
 Candidate: 1.10.9+dfsg-1+fto10+1
 Version table:
    1.10.9+dfsg-1+fto10+1 500
       500 https://fasttrack.debian.net/debian buster-fasttrack/main 
amd64 Packages
    1.10.9+dfsg-1~bpo10+1 100
       100 https://deb.debian.org/debian buster-backports/main amd64 
Packages
    1.10.0+dfsg1-2 500
       500 http://deb.debian.org/debian buster/main amd64 Packages

We have a mix of backports and fasttrack here.

Pure ruby libraries that don't require a rebuild with ruby 2.7 (example 
ruby-doorkeeper) should be installed from backports and native 
extensions that need a rebuild (for example ruby-nokogiri) should be 
installed from fasttrack.

# apt policy ruby-doorkeeper
ruby-doorkeeper:
 Installed: (none)
 Candidate: 4.4.2-1
 Version table:
    5.0.3-1~bpo10+1 100
       100 https://deb.debian.org/debian buster-backports/main amd64 
Packages
    4.4.2-1 500
       500 http://deb.debian.org/debian buster/main amd64 Packages

But 'apt install gitlab' command will not choose dependencies (pure 
ruby libs) from backports and `apt -t buster-backports` force the 
version in backports built with older ruby 2.5 even though newer 
version with higher apt priority is available from fasttrack. 
buster-fasttrack has priority of 500.

I think this situation is not anticipated in apt/aptitude because 
fasttrack is new.

So current options I have is,

1. apt install <list packages present in both backports and fasttrack> 
&& apt -t buster-backports install gitlab
1. aptitude -t buster-backports install gitlab and press n and second 
option picks all required packages from fasttrack

Can this be done in a single apt command/first aptitude option with 
some magical command line arguments?

I think choosing buster-backports when only required like how build 
dependencies are currently resolved for building backports need to be 
implemented in apt/aptitude for runtime dependencies as well.

Some discussion around 
https://lists.debian.org/msgid-search/1594495327.23570.0@onenetbeyond.org

# apt policy
Package files:
100 /var/lib/dpkg/status
    release a=now
500 https://people.debian.org/~praveen/gitaly buster-backports/main 
amd64 Packages
    release o=gitaly and gitlab-shell 
backports,n=buster-backports,l=Local,c=main,b=amd64
    origin people.debian.org
100 https://deb.debian.org/debian buster-backports/main amd64 Packages
    release o=Debian 
Backports,a=buster-backports,n=buster-backports,l=Debian 
Backports,c=main,b=amd64
    origin deb.debian.org
100 https://deb.debian.org/debian buster-backports/contrib amd64 
Packages
    release o=Debian 
Backports,a=buster-backports,n=buster-backports,l=Debian 
Backports,c=contrib,b=amd64
    origin deb.debian.org
100 https://fasttrack.debian.net/debian buster-backports/main amd64 
Packages
    release 
v=10.0,o=Debian,a=buster-backports,n=buster-backports,l=FastTrackBackports,c=main,b=amd64
    origin fasttrack.debian.net
500 https://fasttrack.debian.net/debian buster-fasttrack/contrib amd64 
Packages
    release 
v=10.0,o=Debian,a=buster-fasttrack,n=buster-fasttrack,l=FastTrack,c=contrib,b=amd64
    origin fasttrack.debian.net
500 https://fasttrack.debian.net/debian buster-fasttrack/main amd64 
Packages
    release 
v=10.0,o=Debian,a=buster-fasttrack,n=buster-fasttrack,l=FastTrack,c=main,b=amd64
    origin fasttrack.debian.net
500 http://security.debian.org buster/updates/main amd64 Packages
    release 
v=10,o=Debian,a=stable,n=buster,l=Debian-Security,c=main,b=amd64
    origin security.debian.org
500 http://deb.debian.org/debian buster/contrib amd64 Packages
    release 
v=10.4,o=Debian,a=stable,n=buster,l=Debian,c=contrib,b=amd64
    origin deb.debian.org
500 http://deb.debian.org/debian buster/main amd64 Packages
    release v=10.4,o=Debian,a=stable,n=buster,l=Debian,c=main,b=amd64
    origin deb.debian.org
Pinned packages:

# aptitude -t buster-backports install gitlab
The following NEW packages will be installed:
 asciidoctor{a} bc{a} bundler{a} certbot{a} dbconfig-common{a} 
dbconfig-pgsql{a} docutils-common{a}
 docutils-doc{a} fontconfig{a} fontconfig-config{a} 
fonts-dejavu-core{a} fonts-droid-fallback{a}
 fonts-font-awesome{a} fonts-glyphicons-halflings{a} fonts-lato{a} 
fonts-noto-mono{a} geoip-database{a}
 ghostscript{a} gitaly{a} gitlab{b} gitlab-common{a} gitlab-shell{a} 
gitlab-workhorse{a} gsfonts{a}
 hicolor-icon-theme{a} imagemagick{a} imagemagick-6-common{a} 
imagemagick-6.q16{a} javascript-common{a}
 libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a} 
libbrotli1{a} libc-ares2{a} libcairo2{a}
 libcups2{a} libcupsfilters1{a} libcupsimage2{a} libdatrie1{a} 
libde265-0{a} libdjvulibre-text{a}
 libdjvulibre21{a} libfftw3-double3{a} libfontconfig1{a} 
libfreetype6{a} libfribidi0{a} libgd3{a} libgeoip1{a}
 libgit2-28{a} libglib2.0-0{a} libglib2.0-data{a} libgmp-dev{a} 
libgmpxx4ldbl{a} libgoogle-perftools4{a}
 libgpgme11{a} libgraphite2-3{a} libgrpc9{a} libgs9{a} 
libgs9-common{a} libgumbo1{a} libharfbuzz0b{a} libheif1{a}
 libhttp-parser2.8{a} libijs-0.35{a} libilmbase23{a} libimagequant0{a} 
libjbig0{a} libjbig2dec0{a}
 libjemalloc2{a} libjpeg62-turbo{a} libjs-bootstrap{a} 
libjs-bootstrap4{a} libjs-chart.js{a} libjs-codemirror{a}
 libjs-d3-format{a} libjs-events{a} libjs-inherits{a} 
libjs-is-typedarray{a} libjs-jed{a} libjs-jquery{a}
 libjs-jquery-atwho{a} libjs-jquery-caret.js{a} libjs-jquery-tipsy{a} 
libjs-moment{a} libjs-popper.js{a}
 libjs-regenerate{a} libjs-source-map{a} libjs-sprintf-js{a} 
libjs-terser{a} libjs-uglify{a} libjs-underscore{a}
 libjs-util{a} libjs-xterm{a} libjxr-tools{a} libjxr0{a} liblcms2-2{a} 
liblqr-1-0{a} libltdl7{a} liblua5.1-0{a}
 libmagickcore-6.q16-6{a} libmagickcore-6.q16-6-extra{a} 
libmagickwand-6.q16-6{a} libmbedcrypto3{a}
 libmbedtls12{a} libmbedx509-0{a} libnetpbm10{a} 
libnginx-mod-http-auth-pam{a} libnginx-mod-http-dav-ext{a}
 libnginx-mod-http-echo{a} libnginx-mod-http-geoip{a} 
libnginx-mod-http-image-filter{a}
 libnginx-mod-http-subs-filter{a} libnginx-mod-http-upstream-fair{a} 
libnginx-mod-http-xslt-filter{a}
 libnginx-mod-mail{a} libnginx-mod-stream{a} libnode64{a} libnuma1{a} 
libopenexr23{a} libopenjp2-7{a}
 libpango-1.0-0{a} libpangocairo-1.0-0{a} libpangoft2-1.0-0{a} 
libpaper-utils{a} libpaper1{a} libpixman-1-0{a}
 libpng16-16{a} libpython-stdlib{a} libpython2-stdlib{a} 
libpython2.7-minimal{a} libpython2.7-stdlib{a}
 libre2-5{a} libruby2.5{a} libruby2.7{a} libsass-dev{a} libsass1{a} 
libtcmalloc-minimal4{a} libthai-data{a}
 libthai0{a} libtiff5{a} libunwind8{a} libuv1{a} libwebp6{a} 
libwebpdemux2{a} libwebpmux3{a} libwmf0.2-7{a}
 libx265-165{a} libxcb-render0{a} libxcb-shm0{a} libxpm4{a} 
libxrender1{a} libyaml-0-2{a} lua-bitop{a}
 lua-cjson{a} netpbm{a} nginx{a} nginx-common{a} nginx-full{a} 
node-ajv{a} node-ajv-keywords{a}
 node-ansi-escapes{a} node-ansi-regex{a} node-ansi-styles{a} 
node-anymatch{a} node-aproba{a} node-argparse{a}
 node-array-find-index{a} node-array-union{a} node-array-uniq{a} 
node-arrify{a} node-asap{a} node-asn1{a}
 node-asn1.js{a} node-assert{a} node-assert-plus{a} node-async-each{a} 
node-asynckit{a} node-autosize{a}
 node-aws-sign2{a} node-aws4{a} node-axios{a} node-babel-loader{a} 
node-babel-runtime{a} node-babel-types{a}
 node-babel7{a} node-balanced-match{a} node-base64-js{a} 
node-bcrypt-pbkdf{a} node-big.js{a}
 node-binary-extensions{a} node-bl{a} node-bluebird{a} node-bn.js{a} 
node-brace-expansion{a} node-braces{a}
 node-brorand{a} node-browserify-aes{a} node-browserify-cipher{a} 
node-browserify-des{a} node-browserify-rsa{a}
 node-browserify-sign{a} node-browserify-zlib{a} node-browserslist{a} 
node-buffer{a} node-buffer-xor{a}
 node-builtin-modules{a} node-builtin-status-codes{a} node-bytes{a} 
node-cacache{a} node-cache-loader{a}
 node-camelcase{a} node-caniuse-lite{a} node-caseless{a} node-chalk{a} 
node-chart.js{a} node-chokidar{a}
 node-chownr{a} node-ci-info{a} node-cipher-base{a} node-cli-cursor{a} 
node-cli-table{a} node-cli-width{a}
 node-clipboard{a} node-cliui{a} node-clone{a} node-color-convert{a} 
node-color-name{a} node-colors{a}
 node-combined-stream{a} node-commander{a} node-commondir{a} 
node-compression-webpack-plugin{a}
 node-concat-map{a} node-concat-stream{a} node-console-browserify{a} 
node-constants-browserify{a}
 node-convert-source-map{a} node-copy-concurrently{a} node-core-js{a} 
node-core-util-is{a} node-create-ecdh{a}
 node-create-hash{a} node-create-hmac{a} node-cross-spawn{a} 
node-crypto-browserify{a} node-css-loader{a}
 node-css-selector-tokenizer{a} node-currently-unhandled{a} 
node-cyclist{a} node-d3{a} node-d3-array{a}
 node-d3-axis{a} node-d3-brush{a} node-d3-chord{a} 
node-d3-collection{a} node-d3-color{a} node-d3-contour{a}
 node-d3-dispatch{a} node-d3-drag{a} node-d3-dsv{a} node-d3-ease{a} 
node-d3-fetch{a} node-d3-force{a}
 node-d3-format{a} node-d3-geo{a} node-d3-hierarchy{a} 
node-d3-interpolate{a} node-d3-path{a} node-d3-polygon{a}
 node-d3-quadtree{a} node-d3-random{a} node-d3-scale{a} 
node-d3-scale-chromatic{a} node-d3-selection{a}
 node-d3-shape{a} node-d3-time{a} node-d3-time-format{a} 
node-d3-timer{a} node-d3-transition{a}
 node-d3-voronoi{a} node-d3-zoom{a} node-dashdash{a} 
node-dateformat{a} node-de-indent{a} node-death{a}
 node-debbundle-acorn{a} node-debug{a} node-decamelize{a} 
node-decompress-response{a} node-deep-equal{a}
 node-defaults{a} node-define-property{a} node-del{a} 
node-delayed-stream{a} node-des.js{a} node-detect-file{a}
 node-detect-indent{a} node-domain-browser{a} node-duplexer3{a} 
node-duplexify{a} node-ecc-jsbn{a}
 node-electron-to-chromium{a} node-elliptic{a} node-emoji{a} 
node-emojis-list{a} node-end-of-stream{a}
 node-enhanced-resolve{a} node-errno{a} node-es6-promise{a} 
node-escape-string-regexp{a} node-esprima{a}
 node-esrecurse{a} node-estraverse{a} node-esutils{a} node-events{a} 
node-evp-bytestokey{a} node-execa{a}
 node-exit-hook{a} node-expand-tilde{a} node-exports-loader{a} 
node-extend{a} node-extend-shallow{a}
 node-external-editor{a} node-extsprintf{a} node-fast-deep-equal{a} 
node-fast-levenshtein{a} node-fill-range{a}
 node-find-cache-dir{a} node-find-up{a} node-findup-sync{a} 
node-flush-write-stream{a} node-follow-redirects{a}
 node-forever-agent{a} node-form-data{a} node-from2{a} 
node-fs-exists-sync{a} node-fs-readdir-recursive{a}
 node-fs-write-stream-atomic{a} node-fs.realpath{a} 
node-fuzzaldrin-plus{a} node-get-caller-file{a}
 node-get-stream{a} node-getpass{a} node-glob{a} node-glob-parent{a} 
node-global-modules{a} node-global-prefix{a}
 node-globals{a} node-globby{a} node-got{a} node-graceful-fs{a} 
node-har-schema{a} node-har-validator{a}
 node-has-flag{a} node-has-symbol-support-x{a} 
node-has-to-string-tag-x{a} node-hash-base{a} node-hash.js{a}
 node-he{a} node-hmac-drbg{a} node-http-signature{a} 
node-https-browserify{a} node-iconv{a} node-iconv-lite{a}
 node-icss-replace-symbols{a} node-icss-utils{a} node-ieee754{a} 
node-iferr{a} node-immediate{a}
 node-imports-loader{a} node-imurmurhash{a} node-inflight{a} 
node-inherits{a} node-ini{a} node-inquirer{a}
 node-interpret{a} node-invariant{a} node-invert-kv{a} 
node-is-binary-path{a} node-is-buffer{a}
 node-is-builtin-module{a} node-is-extendable{a} node-is-extglob{a} 
node-is-glob{a} node-is-number{a}
 node-is-object{a} node-is-path-cwd{a} node-is-path-inside{a} 
node-is-plain-obj{a} node-is-plain-object{a}
 node-is-promise{a} node-is-retry-allowed{a} node-is-stream{a} 
node-is-typedarray{a} node-is-windows{a}
 node-isarray{a} node-isexe{a} node-isobject{a} node-isstream{a} 
node-isurl{a} node-jed{a} node-jquery{a}
 node-jquery-ujs{a} node-js-cookie{a} node-js-tokens{a} 
node-js-yaml{a} node-jsbn{a} node-jschardet{a}
 node-jsesc{a} node-json-parse-better-errors{a} node-json-schema{a} 
node-json-schema-traverse{a}
 node-json-stable-stringify{a} node-json-stringify-safe{a} 
node-json5{a} node-jsonify{a} node-jsprim{a}
 node-jszip{a} node-jszip-utils{a} node-kind-of{a} node-lcid{a} 
node-libs-browser{a} node-lie{a}
 node-loader-runner{a} node-loader-utils{a} node-locate-path{a} 
node-lodash{a} node-lodash-packages{a}
 node-loose-envify{a} node-loud-rejection{a} node-lowercase-keys{a} 
node-lru-cache{a} node-make-dir{a}
 node-marked{a} node-md5.js{a} node-mem{a} node-memory-fs{a} 
node-micromatch{a} node-mime{a} node-mime-types{a}
 node-mimic-fn{a} node-mimic-response{a} 
node-minimalistic-crypto-utils{a} node-minimatch{a} node-mississippi{a}
 node-mkdirp{a} node-moment{a} node-mousetrap{a} 
node-move-concurrently{a} node-ms{a} node-mute-stream{a}
 node-neo-async{a} node-node-uuid{a} node-normalize-path{a} 
node-npm-run-path{a} node-oauth-sign{a}
 node-object-assign{a} node-object-path{a} node-once{a} 
node-os-browserify{a} node-os-locale{a} node-os-tmpdir{a}
 node-output-file-sync{a} node-p-cancelable{a} node-p-finally{a} 
node-p-limit{a} node-p-locate{a} node-p-map{a}
 node-p-timeout{a} node-pako{a} node-parallel-transform{a} 
node-parse-asn1{a} node-path-browserify{a}
 node-path-dirname{a} node-path-exists{a} node-path-is-absolute{a} 
node-path-is-inside{a} node-path-root{a}
 node-path-root-regex{a} node-path-type{a} node-pbkdf2{a} 
node-performance-now{a} node-pify{a} node-pkg-dir{a}
 node-postcss{a} node-postcss-modules-extract-imports{a} 
node-postcss-modules-values{a}
 node-postcss-value-parser{a} node-prepend-http{a} node-prismjs{a} 
node-private{a} node-process{a}
 node-process-nextick-args{a} node-promise-inflight{a} 
node-proper-lockfile{a} node-prosemirror-model{a}
 node-prr{a} node-public-encrypt{a} node-puka{a} node-pump{a} 
node-pumpify{a} node-punycode{a} node-qs{a}
 node-querystring{a} node-querystring-es3{a} node-randombytes{a} 
node-randomfill{a} node-raven-js{a} node-read{a}
 node-readable-stream{a} node-readdirp{a} node-regenerate{a} 
node-regenerate-unicode-properties{a}
 node-regenerator-runtime{a} node-regenerator-transform{a} 
node-regex-not{a} node-regexpu-core{a}
 node-regjsgen{a} node-regjsparser{a} node-repeat-string{a} 
node-request{a} node-request-capture-har{a}
 node-require-directory{a} node-require-main-filename{a} 
node-resolve{a} node-resolve-cwd{a} node-resolve-dir{a}
 node-resolve-from{a} node-restore-cursor{a} node-retry{a} 
node-rimraf{a} node-ripemd160{a} node-run-async{a}
 node-run-queue{a} node-rw{a} node-rx{a} node-safe-buffer{a} 
node-schema-utils{a} node-semver{a}
 node-set-blocking{a} node-set-immediate-shim{a} node-setimmediate{a} 
node-sha.js{a} node-shebang-command{a}
 node-shebang-regex{a} node-signal-exit{a} node-slash{a} 
node-source-list-map{a} node-source-map{a}
 node-source-map-support{a} node-spdx-correct{a} 
node-spdx-expression-parse{a} node-spdx-license-ids{a}
 node-sprintf-js{a} node-sshpk{a} node-ssri{a} 
node-stream-browserify{a} node-stream-each{a} node-stream-http{a}
 node-stream-shift{a} node-strict-uri-encode{a} node-string-decoder{a} 
node-string-width{a} node-strip-ansi{a}
 node-strip-bom{a} node-strip-eof{a} node-supports-color{a} 
node-tapable{a} node-tar-stream{a} node-terser{a}
 node-three-orbit-controls{a} node-three-stl-loader{a} 
node-through2{a} node-timeago.js{a} node-timed-out{a}
 node-timers-browserify{a} node-tmp{a} node-to-arraybuffer{a} 
node-to-fast-properties{a} node-to-regex{a}
 node-to-regex-range{a} node-tough-cookie{a} node-tty-browserify{a} 
node-tunnel-agent{a} node-tweetnacl{a}
 node-typedarray{a} node-uglifyjs-webpack-plugin{a} node-underscore{a}
 node-unicode-canonical-property-names-ecmascript{a} 
node-unicode-match-property-ecmascript{a}
 node-unicode-match-property-value-ecmascript{a} 
node-unicode-property-aliases-ecmascript{a} node-uniq{a}
 node-unique-filename{a} node-uri-js{a} node-url{a} node-url-loader{a} 
node-url-parse-lax{a}
 node-url-to-options{a} node-util{a} node-util-deprecate{a} 
node-uuid{a} node-v8flags{a}
 node-validate-npm-package-license{a} node-verror{a} 
node-vm-browserify{a} node-vue{a} node-vue-resource{a}
 node-watchpack{a} node-wcwidth.js{a} node-webassemblyjs{a} 
node-webpack-sources{a} node-webpack-stats-plugin{a}
 node-which{a} node-which-module{a} node-worker-loader{a} 
node-wrap-ansi{a} node-wrappy{a} node-xtend{a}
 node-xterm{a} node-y18n{a} node-yallist{a} node-yargs{a} 
node-yargs-parser{a} node-yn{a} nodejs{a} nodejs-doc{a}
 pipexec{a} poppler-data{a} puma{a} python{a} python-chardet{a} 
python-docutils{a} python-minimal{a}
 python-olefile{a} python-pil{a} python-pkg-resources{a} 
python-pygments{a} python-pyicu{a} python-roman{a}
 python2{a} python2-minimal{a} python2.7{a} python2.7-minimal{a} 
python3-acme{a} python3-asn1crypto{a}
 python3-certbot{a} python3-certifi{a} python3-cffi-backend{a} 
python3-chardet{a} python3-configargparse{a}
 python3-configobj{a} python3-cryptography{a} python3-distutils{a} 
python3-future{a} python3-idna{a}
 python3-josepy{a} python3-lib2to3{a} python3-mock{a} 
python3-openssl{a} python3-parsedatetime{a} python3-pbr{a}
 python3-pkg-resources{a} python3-requests{a} 
python3-requests-toolbelt{a} python3-rfc3339{a}
 python3-setuptools{a} python3-six{a} python3-tz{a} python3-urllib3{a} 
python3-zope.component{a}
 python3-zope.event{a} python3-zope.hookable{a} 
python3-zope.interface{a} rake{a} redis-server{a} redis-tools{a}
 ruby{ab} ruby-ace-rails-ap{a} ruby-acme-client{a} ruby-actioncable{a} 
ruby-actionmailbox{a} ruby-actionmailer{a}
 ruby-actionpack{a} ruby-actiontext{a} ruby-actionview{a} 
ruby-activejob{a} ruby-activemodel{a}
 ruby-activerecord{a} ruby-activerecord-explain-analyze{a} 
ruby-activestorage{a} ruby-activesupport{a}
 ruby-acts-as-taggable-on{a} ruby-addressable{a} ruby-aes-key-wrap{a} 
ruby-akismet{a}
 ruby-apollo-upload-server{a} ruby-asana{a} ruby-asciidoctor{a} 
ruby-asciidoctor-include-ext{a}
 ruby-asciidoctor-plantuml{a} ruby-atlassian-jwt{a} ruby-atomic{a} 
ruby-attr-encrypted{a} ruby-attr-required{a}
 ruby-aws-eventstream{a} ruby-aws-sdk{a} ruby-aws-sigv4{a} 
ruby-axiom-types{a} ruby-babosa{a} ruby-base32{a}
 ruby-batch-loader{a} ruby-bcrypt{a} ruby-bcrypt-pbkdf{a} 
ruby-benchmark-ips{a} ruby-benchmark-memory{a}
 ruby-bindata{a} ruby-blankslate{a} ruby-bootsnap{ab} 
ruby-bootstrap-form{a} ruby-browser{a} ruby-bson{a}
 ruby-builder{a} ruby-bundler{a} ruby-carrierwave{a} ruby-celluloid{a} 
ruby-character-set{a}
 ruby-charlock-holmes{a} ruby-chronic{a} ruby-chronic-duration{a} 
ruby-citrus{a} ruby-coercible{a}
 ruby-commonmarker{ab} ruby-concurrent{a} ruby-concurrent-ext{a} 
ruby-connection-pool{a} ruby-contracts{a}
 ruby-countries{a} ruby-crack{a} ruby-crass{a} ruby-creole{a} 
ruby-css-parser{a} ruby-daemons{a}
 ruby-declarative{a} ruby-declarative-option{a} 
ruby-default-value-for{a} ruby-delayed-job{a}
 ruby-derailed-benchmarks{a} ruby-descendants-tracker{a} ruby-dev{a} 
ruby-device-detector{a} ruby-devise{a}
 ruby-devise-two-factor{a} ruby-diff-match-patch{a} ruby-diffy{a} 
ruby-discordrb-webhooks{a} ruby-domain-name{a}
 ruby-doorkeeper{a} ruby-doorkeeper-openid-connect{a} 
ruby-dry-configurable{a} ruby-dry-container{a}
 ruby-dry-core{a} ruby-dry-equalizer{a} ruby-dry-inflector{a} 
ruby-dry-logic{a} ruby-dry-types{a} ruby-ed25519{a}
 ruby-elasticsearch{a} ruby-elasticsearch-api{a} 
ruby-elasticsearch-transport{a} ruby-email-reply-trimmer{a}
 ruby-encryptor{a} ruby-enum{a} ruby-enumerable-statistics{ab} 
ruby-equalizer{a} ruby-erubi{a}
 ruby-escape-utils{a} ruby-et-orbi{a} ruby-excon{a} ruby-execjs{a} 
ruby-expression-parser{a} ruby-faraday{a}
 ruby-faraday-middleware{a} ruby-faraday-middleware-multi-json{a} 
ruby-fast-blank{a} ruby-fast-gettext{a}
 ruby-ffi{a} ruby-ffi-compiler{a} ruby-flipper{a} ruby-flowdock{a} 
ruby-fog-aliyun{a} ruby-fog-aws{a}
 ruby-fog-core{a} ruby-fog-google{a} ruby-fog-json{a} 
ruby-fog-local{a} ruby-fog-openstack{a}
 ruby-fog-rackspace{a} ruby-fog-xml{a} ruby-fogbugz{a} 
ruby-font-awesome-rails{a} ruby-formatador{a}
 ruby-fugit{a} ruby-gemojione{a} ruby-get-process-mem{a} 
ruby-gettext{a} ruby-gettext-i18n-rails{a}
 ruby-gettext-i18n-rails-js{a} ruby-gitaly{a} ruby-github-linguist{ab} 
ruby-github-markup{a}
 ruby-gitlab-labkit{a} ruby-gitlab-sidekiq-fetcher{a} ruby-globalid{a} 
ruby-gollum-lib{a}
 ruby-gollum-rugged-adapter{a} ruby-gon{a} ruby-google-api-client{a} 
ruby-google-protobuf{a}
 ruby-googleapis-common-protos-types{a} ruby-googleauth{a} 
ruby-gpgme{ab} ruby-grape{a} ruby-grape-entity{a}
 ruby-grape-logging{a} ruby-grape-path-helpers{a} 
ruby-graphiql-rails{a} ruby-graphql{a} ruby-grpc{a}
 ruby-hamlit{ab} ruby-hangouts-chat{a} ruby-hashie{a} 
ruby-hashie-forbidden-attributes{a} ruby-health-check{a}
 ruby-heapy{a} ruby-hike{a} ruby-hipchat{a} ruby-hitimes{a} 
ruby-html-pipeline{a} ruby-html2text{a}
 ruby-htmlentities{a} ruby-http{a} ruby-http-cookie{a} 
ruby-http-form-data{a} ruby-http-parser{a}
 ruby-httparty{a} ruby-httpclient{a} ruby-i18n{a} ruby-i18n-data{a} 
ruby-icalendar{a} ruby-ice-nine{a}
 ruby-invisible-captcha{a} ruby-ipaddress{a} ruby-jaeger-client{a} 
ruby-jbuilder{a} ruby-jira{a} ruby-jmespath{a}
 ruby-jquery-atwho-rails{a} ruby-js-regex{a} ruby-json-jwt{a} 
ruby-json-schema{a} ruby-jwt{a} ruby-kaminari{a}
 ruby-kaminari-actionview{a} ruby-kaminari-activerecord{a} 
ruby-kaminari-core{a} ruby-kgio{a} ruby-kubeclient{a}
 ruby-licensee{a} ruby-little-plugger{a} ruby-locale{a} 
ruby-lockbox{a} ruby-logging{a} ruby-lograge{a}
 ruby-loofah{a} ruby-lru-redux{a} ruby-macaddr{a} ruby-mail{a} 
ruby-mail-room{a} ruby-marcel{a}
 ruby-marginalia{a} ruby-memoist{a} ruby-memory-profiler{a} 
ruby-method-source{a} ruby-mime-types{a}
 ruby-mime-types-data{a} ruby-mimemagic{a} ruby-mini-histogram{a} 
ruby-mini-magick{a} ruby-mini-mime{a}
 ruby-minitest{a} ruby-molinillo{a} ruby-msgpack{a} ruby-multi-json{a} 
ruby-multi-xml{a} ruby-multipart-post{a}
 ruby-murmurhash3{ab} ruby-mustermann{a} ruby-mustermann-grape{a} 
ruby-nakayoshi-fork{a} ruby-net-dns{a}
 ruby-net-http-persistent{a} ruby-net-ldap{a} ruby-net-ntp{a} 
ruby-net-scp{a} ruby-net-ssh{a} ruby-net-telnet{a}
 ruby-netrc{a} ruby-nio4r{a} ruby-nokogiri{ab} ruby-nokogumbo{a} 
ruby-ntlm{a} ruby-numerizer{a} ruby-oauth{a}
 ruby-oauth2{a} ruby-octokit{a} ruby-oj{a} ruby-omniauth{a} 
ruby-omniauth-auth0{a} ruby-omniauth-authentiq{a}
 ruby-omniauth-azure-oauth2{a} ruby-omniauth-cas3{a} 
ruby-omniauth-crowd{a} ruby-omniauth-facebook{a}
 ruby-omniauth-github{a} ruby-omniauth-gitlab{a} 
ruby-omniauth-google-oauth2{a} ruby-omniauth-kerberos{a}
 ruby-omniauth-ldap{a} ruby-omniauth-multipassword{a} 
ruby-omniauth-oauth{a} ruby-omniauth-oauth2{a}
 ruby-omniauth-oauth2-generic{a} ruby-omniauth-openid-connect{a} 
ruby-omniauth-salesforce{a}
 ruby-omniauth-saml{a} ruby-omniauth-shibboleth{a} 
ruby-omniauth-twitter{a} ruby-openid-connect{a}
 ruby-opentracing{a} ruby-optimist{a} ruby-org{a} ruby-orm-adapter{a} 
ruby-os{a} ruby-peek{a} ruby-pg{a}
 ruby-pkg-config{a} ruby-po-to-json{a} ruby-posix-spawn{a} 
ruby-power-assert{a} ruby-premailer{a}
 ruby-premailer-rails{a} ruby-prof{ab} ruby-progressbar{a} 
ruby-prometheus-client-mmap{ab} ruby-public-suffix{a}
 ruby-raabro{a} ruby-rabl{a} ruby-rabl-rails{a} ruby-rack{a} 
ruby-rack-accept{a} ruby-rack-attack{a}
 ruby-rack-cors{a} ruby-rack-oauth2{a} ruby-rack-protection{a} 
ruby-rack-proxy{a} ruby-rack-test{a}
 ruby-rack-timeout{a} ruby-rails{a} ruby-rails-deprecated-sanitizer{a} 
ruby-rails-dom-testing{a}
 ruby-rails-html-sanitizer{a} ruby-rails-i18n{a} ruby-railties{a} 
ruby-rainbow{a} ruby-raindrops{a}
 ruby-rbtrace{a} ruby-re2{ab} ruby-recaptcha{a} 
ruby-recursive-open-struct{a} ruby-redcarpet{a} ruby-redcloth{a}
 ruby-redis{a} ruby-redis-actionpack{a} ruby-redis-activesupport{a} 
ruby-redis-namespace{a} ruby-redis-rack{a}
 ruby-redis-rails{a} ruby-redis-store{a} ruby-regexp-parser{a} 
ruby-regexp-property-values{a}
 ruby-representable{a} ruby-request-store{a} ruby-responders{a} 
ruby-rest-client{a} ruby-retriable{a}
 ruby-rinku{a} ruby-rotp{a} ruby-rouge{a} ruby-rqrcode{a} 
ruby-rqrcode-rails3{a} ruby-ruby-parser{a}
 ruby-rubypants{a} ruby-rufus-scheduler{a} ruby-rugged{ab} 
ruby-safe-yaml{a} ruby-saml{a} ruby-sanitize{a}
 ruby-sasl{a} ruby-sassc{a} ruby-sassc-rails{a} ruby-sawyer{a} 
ruby-seed-fu{a} ruby-sentry-raven{a}
 ruby-settingslogic{a} ruby-sexp-processor{a} ruby-sidekiq{a} 
ruby-sidekiq-cron{a} ruby-signet{a}
 ruby-sixarm-ruby-unaccent{a} ruby-slack-messenger{a} 
ruby-snowplow-tracker{a} ruby-sprockets{a}
 ruby-sprockets-rails{a} ruby-sqlite3{a} ruby-sshkey{a} 
ruby-stackprof{ab} ruby-state-machines{a}
 ruby-state-machines-activemodel{a} 
ruby-state-machines-activerecord{a} ruby-statistics{a} ruby-stringex{a}
 ruby-swd{a} ruby-sys-filesystem{a} ruby-systemu{a} ruby-task-list{a} 
ruby-temple{a} ruby-test-unit{a}
 ruby-text{a} ruby-thor{a} ruby-thread-safe{a} ruby-thrift{ab} 
ruby-tilt{a} ruby-timers{a}
 ruby-timfel-krb5-auth{a} ruby-toml-rb{a} ruby-truncato{a} 
ruby-tzinfo{a} ruby-u2f{a} ruby-uber{a}
 ruby-uglifier{a} ruby-unf{a} ruby-unf-ext{a} ruby-unicode{a} 
ruby-unicode-plot{a} ruby-unicode-utils{a}
 ruby-unicorn-worker-killer{a} ruby-unleash{a} ruby-uuid{a} 
ruby-uuidtools{a} ruby-valid-email{a}
 ruby-validate-email{a} ruby-validate-url{a} 
ruby-validates-hostname{a} ruby-version-sorter{ab} ruby-virtus{a}
 ruby-vmstat{a} ruby-warden{a} ruby-webfinger{a} ruby-webpack-rails{a} 
ruby-websocket-driver{a}
 ruby-websocket-extensions{a} ruby-wikicloth{a} ruby-xml-simple{a} 
ruby-xmlrpc{a} ruby-yajl{a} ruby-zeitwerk{a}
 ruby-zip{a} ruby2.7{a} ruby2.7-dev{a} ruby2.7-doc{a} 
rubygems-integration{a} sgml-base{a} shared-mime-info{a}
 sqlite3{a} unicorn{ab} unzip{a} webpack{a} xdg-user-dirs{a} 
xml-core{a} yarnpkg{a} zip{a}
0 packages upgraded, 1092 newly installed, 0 to remove and 30 not 
upgraded.
Need to get 19.0 MB/270 MB of archives. After unpacking 1,029 MB will 
be used.
The following packages have unmet dependencies:
ruby-rugged : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is to be 
installed
ruby-version-sorter : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is 
to be installed
ruby-bootsnap : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is to be 
installed
ruby-prometheus-client-mmap : Depends: ruby (< 1:2.6~) but 
1:2.7+1+fto10+1 is to be installed
ruby-stackprof : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is to be 
installed
unicorn : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is to be 
installed
gitlab : Conflicts: libruby2.5 but 2.5.5-3+deb10u2 is to be installed
ruby-hamlit : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is to be 
installed
ruby-thrift : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is to be 
installed
ruby-prof : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is to be 
installed
ruby : Breaks: ruby-bootsnap (< 1.4.6-1) but 1.4.6-1~bpo10+1 is to be 
installed
ruby-re2 : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is to be 
installed
ruby-enumerable-statistics : Depends: ruby (< 1:2.6~) but 
1:2.7+1+fto10+1 is to be installed
ruby-commonmarker : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is to 
be installed
ruby-gpgme : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is to be 
installed
ruby-murmurhash3 : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is to 
be installed
ruby-github-linguist : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is 
to be installed
ruby-nokogiri : Depends: ruby (< 1:2.6~) but 1:2.7+1+fto10+1 is to be 
installed
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1) gitaly [Not Installed]
2) gitlab [Not Installed]
3) ruby-actioncable [Not Installed]
4) ruby-actionmailbox [Not Installed]
5) ruby-actionmailer [Not Installed]
6) ruby-actionpack [Not Installed]
7) ruby-actiontext [Not Installed]
8) ruby-actionview [Not Installed]
9) ruby-activestorage [Not Installed]
10) ruby-apollo-upload-server [Not Installed]
11) ruby-aws-sdk [Not Installed]
12) ruby-bootsnap [Not Installed]
13) ruby-bootstrap-form [Not Installed]
14) ruby-browser [Not Installed]
15) ruby-commonmarker [Not Installed]
16) ruby-derailed-benchmarks [Not Installed]
17) ruby-devise [Not Installed]
18) ruby-devise-two-factor [Not Installed]
19) ruby-doorkeeper [Not Installed]
20) ruby-doorkeeper-openid-connect [Not Installed]
21) ruby-enumerable-statistics [Not Installed]
22) ruby-fog-aws [Not Installed]
23) ruby-fog-google [Not Installed]
24) ruby-fog-rackspace [Not Installed]
25) ruby-fog-xml [Not Installed]
26) ruby-font-awesome-rails [Not Installed]
27) ruby-gettext-i18n-rails-js [Not Installed]
28) ruby-github-linguist [Not Installed]
29) ruby-gitlab-labkit [Not Installed]
30) ruby-gollum-lib [Not Installed]
31) ruby-gollum-rugged-adapter [Not Installed]
32) ruby-gpgme [Not Installed]
33) ruby-graphiql-rails [Not Installed]
34) ruby-hamlit [Not Installed]
35) ruby-health-check [Not Installed]
36) ruby-html-pipeline [Not Installed]
37) ruby-html2text [Not Installed]
38) ruby-invisible-captcha [Not Installed]
39) ruby-jaeger-client [Not Installed]
40) ruby-kaminari [Not Installed]
41) ruby-kaminari-actionview [Not Installed]
42) ruby-licensee [Not Installed]
43) ruby-lograge [Not Installed]
44) ruby-loofah [Not Installed]
45) ruby-marginalia [Not Installed]
46) ruby-murmurhash3 [Not Installed]
47) ruby-nokogiri [Not Installed]
48) ruby-nokogumbo [Not Installed]
49) ruby-omniauth-cas3 [Not Installed]
50) ruby-omniauth-crowd [Not Installed]
51) ruby-omniauth-saml [Not Installed]
52) ruby-peek [Not Installed]
53) ruby-premailer-rails [Not Installed]
54) ruby-prof [Not Installed]
55) ruby-prometheus-client-mmap [Not Installed]
56) ruby-rabl-rails [Not Installed]
57) ruby-rails [Not Installed]
58) ruby-rails-dom-testing [Not Installed]
59) ruby-rails-html-sanitizer [Not Installed]
60) ruby-rails-i18n [Not Installed]
61) ruby-railties [Not Installed]
62) ruby-re2 [Not Installed]
63) ruby-redis-actionpack [Not Installed]
64) ruby-redis-rails [Not Installed]
65) ruby-responders [Not Installed]
66) ruby-rqrcode-rails3 [Not Installed]
67) ruby-rugged [Not Installed]
68) ruby-saml [Not Installed]
69) ruby-sanitize [Not Installed]
70) ruby-sassc-rails [Not Installed]
71) ruby-sentry-raven [Not Installed]
72) ruby-sprockets-rails [Not Installed]
73) ruby-stackprof [Not Installed]
74) ruby-task-list [Not Installed]
75) ruby-thrift [Not Installed]
76) ruby-truncato [Not Installed]
77) ruby-unicode-plot [Not Installed]
78) ruby-unicorn-worker-killer [Not Installed]
79) ruby-unleash [Not Installed]
80) ruby-version-sorter [Not Installed]
81) ruby-webpack-rails [Not Installed]
82) unicorn [Not Installed]

     Leave the following dependencies unresolved:
83) ruby-globalid recommends ruby-railties
84) ruby-gon recommends ruby-rabl-rails
85) gitlab recommends gitaly (>= 13.1~)



Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:

     Install the following packages:
1) ruby-bootsnap [1.4.6-1+fto10+2 (buster-fasttrack)]
2) ruby-commonmarker [0.20.2-1+fto10+1 (buster-fasttrack)]
3) ruby-enumerable-statistics [2.0.1+dfsg-3+fto10+1 (buster-fasttrack)]
4) ruby-github-linguist [7.9.0-1+fto10+1 (buster-fasttrack)]
5) ruby-google-protobuf [3.11.4-5+fto10+1 (buster-fasttrack)]
6) ruby-gpgme [2.0.19-3+fto10+1 (buster-fasttrack)]
7) ruby-grpc [1.26.0-3+fto10+1 (buster-fasttrack)]
8) ruby-hamlit [2.11.0-2+fto10+1 (buster-fasttrack)]
9) ruby-murmurhash3 [0.1.6-2+fto10+1 (buster-fasttrack)]
10) ruby-nokogiri [1.10.9+dfsg-1+fto10+1 (buster-fasttrack)]
11) ruby-prof [1.3.1-2+fto10+1 (buster-fasttrack)]
12) ruby-prometheus-client-mmap [0.10.0-1+fto10+1 (buster-fasttrack)]
13) ruby-re2 [1.2.0-1+fto10+1 (buster-fasttrack)]
14) ruby-rugged [0.28.4.1+ds-2+fto10+1 (buster-fasttrack)]
15) ruby-stackprof [0.2.15-2+fto10+1 (buster-fasttrack)]
16) ruby-thrift [0.11.0.0-2+fto10+1 (buster-fasttrack)]
17) ruby-version-sorter [2.2.4-1+fto10+1 (buster-fasttrack)]
18) unicorn [5.5.3-1+fto10+1 (buster-fasttrack, now)]

     Keep the following packages at their current version:
19) libruby2.5 [Not Installed]



Accept this solution? [Y/n/q/?] y
The following NEW packages will be installed:
 asciidoctor{a} bc{a} bundler{a} certbot{a} dbconfig-common{a} 
dbconfig-pgsql{a} docutils-common{a}
 docutils-doc{a} fontconfig{a} fontconfig-config{a} 
fonts-dejavu-core{a} fonts-droid-fallback{a}
 fonts-font-awesome{a} fonts-glyphicons-halflings{a} fonts-lato{a} 
fonts-noto-mono{a} geoip-database{a}
 ghostscript{a} gitaly{a} gitlab gitlab-common{a} gitlab-shell{a} 
gitlab-workhorse{a} gsfonts{a}
 hicolor-icon-theme{a} imagemagick{a} imagemagick-6-common{a} 
imagemagick-6.q16{a} javascript-common{a}
 libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a} 
libbrotli1{a} libc-ares2{a} libcairo2{a}
 libcups2{a} libcupsfilters1{a} libcupsimage2{a} libdatrie1{a} 
libde265-0{a} libdjvulibre-text{a}
 libdjvulibre21{a} libfftw3-double3{a} libfontconfig1{a} 
libfreetype6{a} libfribidi0{a} libgd3{a} libgeoip1{a}
 libgit2-28{a} libglib2.0-0{a} libglib2.0-data{a} libgmp-dev{a} 
libgmpxx4ldbl{a} libgoogle-perftools4{a}
 libgpgme11{a} libgraphite2-3{a} libgrpc9{a} libgs9{a} 
libgs9-common{a} libgumbo1{a} libharfbuzz0b{a} libheif1{a}
 libhttp-parser2.8{a} libijs-0.35{a} libilmbase23{a} libimagequant0{a} 
libjbig0{a} libjbig2dec0{a}
 libjemalloc2{a} libjpeg62-turbo{a} libjs-bootstrap{a} 
libjs-bootstrap4{a} libjs-chart.js{a} libjs-codemirror{a}
 libjs-d3-format{a} libjs-events{a} libjs-inherits{a} 
libjs-is-typedarray{a} libjs-jed{a} libjs-jquery{a}
 libjs-jquery-atwho{a} libjs-jquery-caret.js{a} libjs-jquery-tipsy{a} 
libjs-moment{a} libjs-popper.js{a}
 libjs-regenerate{a} libjs-source-map{a} libjs-sprintf-js{a} 
libjs-terser{a} libjs-uglify{a} libjs-underscore{a}
 libjs-util{a} libjs-xterm{a} libjxr-tools{a} libjxr0{a} liblcms2-2{a} 
liblqr-1-0{a} libltdl7{a} liblua5.1-0{a}
 libmagickcore-6.q16-6{a} libmagickcore-6.q16-6-extra{a} 
libmagickwand-6.q16-6{a} libmbedcrypto3{a}
 libmbedtls12{a} libmbedx509-0{a} libnetpbm10{a} 
libnginx-mod-http-auth-pam{a} libnginx-mod-http-dav-ext{a}
 libnginx-mod-http-echo{a} libnginx-mod-http-geoip{a} 
libnginx-mod-http-image-filter{a}
 libnginx-mod-http-subs-filter{a} libnginx-mod-http-upstream-fair{a} 
libnginx-mod-http-xslt-filter{a}
 libnginx-mod-mail{a} libnginx-mod-stream{a} libnode64{a} libnuma1{a} 
libopenexr23{a} libopenjp2-7{a}
 libpango-1.0-0{a} libpangocairo-1.0-0{a} libpangoft2-1.0-0{a} 
libpaper-utils{a} libpaper1{a} libpixman-1-0{a}
 libpng16-16{a} libpython-stdlib{a} libpython2-stdlib{a} 
libpython2.7-minimal{a} libpython2.7-stdlib{a}
 libre2-5{a} libruby2.7{a} libsass-dev{a} libsass1{a} 
libtcmalloc-minimal4{a} libthai-data{a} libthai0{a}
 libtiff5{a} libunwind8{a} libuv1{a} libwebp6{a} libwebpdemux2{a} 
libwebpmux3{a} libwmf0.2-7{a} libx265-165{a}
 libxcb-render0{a} libxcb-shm0{a} libxpm4{a} libxrender1{a} 
libyaml-0-2{a} lua-bitop{a} lua-cjson{a} netpbm{a}
 nginx{a} nginx-common{a} nginx-full{a} node-ajv{a} 
node-ajv-keywords{a} node-ansi-escapes{a} node-ansi-regex{a}
 node-ansi-styles{a} node-anymatch{a} node-aproba{a} node-argparse{a} 
node-array-find-index{a}
 node-array-union{a} node-array-uniq{a} node-arrify{a} node-asap{a} 
node-asn1{a} node-asn1.js{a} node-assert{a}
 node-assert-plus{a} node-async-each{a} node-asynckit{a} 
node-autosize{a} node-aws-sign2{a} node-aws4{a}
 node-axios{a} node-babel-loader{a} node-babel-runtime{a} 
node-babel-types{a} node-babel7{a}
 node-balanced-match{a} node-base64-js{a} node-bcrypt-pbkdf{a} 
node-big.js{a} node-binary-extensions{a}
 node-bl{a} node-bluebird{a} node-bn.js{a} node-brace-expansion{a} 
node-braces{a} node-brorand{a}
 node-browserify-aes{a} node-browserify-cipher{a} 
node-browserify-des{a} node-browserify-rsa{a}
 node-browserify-sign{a} node-browserify-zlib{a} node-browserslist{a} 
node-buffer{a} node-buffer-xor{a}
 node-builtin-modules{a} node-builtin-status-codes{a} node-bytes{a} 
node-cacache{a} node-cache-loader{a}
 node-camelcase{a} node-caniuse-lite{a} node-caseless{a} node-chalk{a} 
node-chart.js{a} node-chokidar{a}
 node-chownr{a} node-ci-info{a} node-cipher-base{a} node-cli-cursor{a} 
node-cli-table{a} node-cli-width{a}
 node-clipboard{a} node-cliui{a} node-clone{a} node-color-convert{a} 
node-color-name{a} node-colors{a}
 node-combined-stream{a} node-commander{a} node-commondir{a} 
node-compression-webpack-plugin{a}
 node-concat-map{a} node-concat-stream{a} node-console-browserify{a} 
node-constants-browserify{a}
 node-convert-source-map{a} node-copy-concurrently{a} node-core-js{a} 
node-core-util-is{a} node-create-ecdh{a}
 node-create-hash{a} node-create-hmac{a} node-cross-spawn{a} 
node-crypto-browserify{a} node-css-loader{a}
 node-css-selector-tokenizer{a} node-currently-unhandled{a} 
node-cyclist{a} node-d3{a} node-d3-array{a}
 node-d3-axis{a} node-d3-brush{a} node-d3-chord{a} 
node-d3-collection{a} node-d3-color{a} node-d3-contour{a}
 node-d3-dispatch{a} node-d3-drag{a} node-d3-dsv{a} node-d3-ease{a} 
node-d3-fetch{a} node-d3-force{a}
 node-d3-format{a} node-d3-geo{a} node-d3-hierarchy{a} 
node-d3-interpolate{a} node-d3-path{a} node-d3-polygon{a}
 node-d3-quadtree{a} node-d3-random{a} node-d3-scale{a} 
node-d3-scale-chromatic{a} node-d3-selection{a}
 node-d3-shape{a} node-d3-time{a} node-d3-time-format{a} 
node-d3-timer{a} node-d3-transition{a}
 node-d3-voronoi{a} node-d3-zoom{a} node-dashdash{a} 
node-dateformat{a} node-de-indent{a} node-death{a}
 node-debbundle-acorn{a} node-debug{a} node-decamelize{a} 
node-decompress-response{a} node-deep-equal{a}
 node-defaults{a} node-define-property{a} node-del{a} 
node-delayed-stream{a} node-des.js{a} node-detect-file{a}
 node-detect-indent{a} node-domain-browser{a} node-duplexer3{a} 
node-duplexify{a} node-ecc-jsbn{a}
 node-electron-to-chromium{a} node-elliptic{a} node-emoji{a} 
node-emojis-list{a} node-end-of-stream{a}
 node-enhanced-resolve{a} node-errno{a} node-es6-promise{a} 
node-escape-string-regexp{a} node-esprima{a}
 node-esrecurse{a} node-estraverse{a} node-esutils{a} node-events{a} 
node-evp-bytestokey{a} node-execa{a}
 node-exit-hook{a} node-expand-tilde{a} node-exports-loader{a} 
node-extend{a} node-extend-shallow{a}
 node-external-editor{a} node-extsprintf{a} node-fast-deep-equal{a} 
node-fast-levenshtein{a} node-fill-range{a}
 node-find-cache-dir{a} node-find-up{a} node-findup-sync{a} 
node-flush-write-stream{a} node-follow-redirects{a}
 node-forever-agent{a} node-form-data{a} node-from2{a} 
node-fs-exists-sync{a} node-fs-readdir-recursive{a}
 node-fs-write-stream-atomic{a} node-fs.realpath{a} 
node-fuzzaldrin-plus{a} node-get-caller-file{a}
 node-get-stream{a} node-getpass{a} node-glob{a} node-glob-parent{a} 
node-global-modules{a} node-global-prefix{a}
 node-globals{a} node-globby{a} node-got{a} node-graceful-fs{a} 
node-har-schema{a} node-har-validator{a}
 node-has-flag{a} node-has-symbol-support-x{a} 
node-has-to-string-tag-x{a} node-hash-base{a} node-hash.js{a}
 node-he{a} node-hmac-drbg{a} node-http-signature{a} 
node-https-browserify{a} node-iconv{a} node-iconv-lite{a}
 node-icss-replace-symbols{a} node-icss-utils{a} node-ieee754{a} 
node-iferr{a} node-immediate{a}
 node-imports-loader{a} node-imurmurhash{a} node-inflight{a} 
node-inherits{a} node-ini{a} node-inquirer{a}
 node-interpret{a} node-invariant{a} node-invert-kv{a} 
node-is-binary-path{a} node-is-buffer{a}
 node-is-builtin-module{a} node-is-extendable{a} node-is-extglob{a} 
node-is-glob{a} node-is-number{a}
 node-is-object{a} node-is-path-cwd{a} node-is-path-inside{a} 
node-is-plain-obj{a} node-is-plain-object{a}
 node-is-promise{a} node-is-retry-allowed{a} node-is-stream{a} 
node-is-typedarray{a} node-is-windows{a}
 node-isarray{a} node-isexe{a} node-isobject{a} node-isstream{a} 
node-isurl{a} node-jed{a} node-jquery{a}
 node-jquery-ujs{a} node-js-cookie{a} node-js-tokens{a} 
node-js-yaml{a} node-jsbn{a} node-jschardet{a}
 node-jsesc{a} node-json-parse-better-errors{a} node-json-schema{a} 
node-json-schema-traverse{a}
 node-json-stable-stringify{a} node-json-stringify-safe{a} 
node-json5{a} node-jsonify{a} node-jsprim{a}
 node-jszip{a} node-jszip-utils{a} node-kind-of{a} node-lcid{a} 
node-libs-browser{a} node-lie{a}
 node-loader-runner{a} node-loader-utils{a} node-locate-path{a} 
node-lodash{a} node-lodash-packages{a}
 node-loose-envify{a} node-loud-rejection{a} node-lowercase-keys{a} 
node-lru-cache{a} node-make-dir{a}
 node-marked{a} node-md5.js{a} node-mem{a} node-memory-fs{a} 
node-micromatch{a} node-mime{a} node-mime-types{a}
 node-mimic-fn{a} node-mimic-response{a} 
node-minimalistic-crypto-utils{a} node-minimatch{a} node-mississippi{a}
 node-mkdirp{a} node-moment{a} node-mousetrap{a} 
node-move-concurrently{a} node-ms{a} node-mute-stream{a}
 node-neo-async{a} node-node-uuid{a} node-normalize-path{a} 
node-npm-run-path{a} node-oauth-sign{a}
 node-object-assign{a} node-object-path{a} node-once{a} 
node-os-browserify{a} node-os-locale{a} node-os-tmpdir{a}
 node-output-file-sync{a} node-p-cancelable{a} node-p-finally{a} 
node-p-limit{a} node-p-locate{a} node-p-map{a}
 node-p-timeout{a} node-pako{a} node-parallel-transform{a} 
node-parse-asn1{a} node-path-browserify{a}
 node-path-dirname{a} node-path-exists{a} node-path-is-absolute{a} 
node-path-is-inside{a} node-path-root{a}
 node-path-root-regex{a} node-path-type{a} node-pbkdf2{a} 
node-performance-now{a} node-pify{a} node-pkg-dir{a}
 node-postcss{a} node-postcss-modules-extract-imports{a} 
node-postcss-modules-values{a}
 node-postcss-value-parser{a} node-prepend-http{a} node-prismjs{a} 
node-private{a} node-process{a}
 node-process-nextick-args{a} node-promise-inflight{a} 
node-proper-lockfile{a} node-prosemirror-model{a}
 node-prr{a} node-public-encrypt{a} node-puka{a} node-pump{a} 
node-pumpify{a} node-punycode{a} node-qs{a}
 node-querystring{a} node-querystring-es3{a} node-randombytes{a} 
node-randomfill{a} node-raven-js{a} node-read{a}
 node-readable-stream{a} node-readdirp{a} node-regenerate{a} 
node-regenerate-unicode-properties{a}
 node-regenerator-runtime{a} node-regenerator-transform{a} 
node-regex-not{a} node-regexpu-core{a}
 node-regjsgen{a} node-regjsparser{a} node-repeat-string{a} 
node-request{a} node-request-capture-har{a}
 node-require-directory{a} node-require-main-filename{a} 
node-resolve{a} node-resolve-cwd{a} node-resolve-dir{a}
 node-resolve-from{a} node-restore-cursor{a} node-retry{a} 
node-rimraf{a} node-ripemd160{a} node-run-async{a}
 node-run-queue{a} node-rw{a} node-rx{a} node-safe-buffer{a} 
node-schema-utils{a} node-semver{a}
 node-set-blocking{a} node-set-immediate-shim{a} node-setimmediate{a} 
node-sha.js{a} node-shebang-command{a}
 node-shebang-regex{a} node-signal-exit{a} node-slash{a} 
node-source-list-map{a} node-source-map{a}
 node-source-map-support{a} node-spdx-correct{a} 
node-spdx-expression-parse{a} node-spdx-license-ids{a}
 node-sprintf-js{a} node-sshpk{a} node-ssri{a} 
node-stream-browserify{a} node-stream-each{a} node-stream-http{a}
 node-stream-shift{a} node-strict-uri-encode{a} node-string-decoder{a} 
node-string-width{a} node-strip-ansi{a}
 node-strip-bom{a} node-strip-eof{a} node-supports-color{a} 
node-tapable{a} node-tar-stream{a} node-terser{a}
 node-three-orbit-controls{a} node-three-stl-loader{a} 
node-through2{a} node-timeago.js{a} node-timed-out{a}
 node-timers-browserify{a} node-tmp{a} node-to-arraybuffer{a} 
node-to-fast-properties{a} node-to-regex{a}
 node-to-regex-range{a} node-tough-cookie{a} node-tty-browserify{a} 
node-tunnel-agent{a} node-tweetnacl{a}
 node-typedarray{a} node-uglifyjs-webpack-plugin{a} node-underscore{a}
 node-unicode-canonical-property-names-ecmascript{a} 
node-unicode-match-property-ecmascript{a}
 node-unicode-match-property-value-ecmascript{a} 
node-unicode-property-aliases-ecmascript{a} node-uniq{a}
 node-unique-filename{a} node-uri-js{a} node-url{a} node-url-loader{a} 
node-url-parse-lax{a}
 node-url-to-options{a} node-util{a} node-util-deprecate{a} 
node-uuid{a} node-v8flags{a}
 node-validate-npm-package-license{a} node-verror{a} 
node-vm-browserify{a} node-vue{a} node-vue-resource{a}
 node-watchpack{a} node-wcwidth.js{a} node-webassemblyjs{a} 
node-webpack-sources{a} node-webpack-stats-plugin{a}
 node-which{a} node-which-module{a} node-worker-loader{a} 
node-wrap-ansi{a} node-wrappy{a} node-xtend{a}
 node-xterm{a} node-y18n{a} node-yallist{a} node-yargs{a} 
node-yargs-parser{a} node-yn{a} nodejs{a} nodejs-doc{a}
 pipexec{a} poppler-data{a} puma{a} python{a} python-chardet{a} 
python-docutils{a} python-minimal{a}
 python-olefile{a} python-pil{a} python-pkg-resources{a} 
python-pygments{a} python-pyicu{a} python-roman{a}
 python2{a} python2-minimal{a} python2.7{a} python2.7-minimal{a} 
python3-acme{a} python3-asn1crypto{a}
 python3-certbot{a} python3-certifi{a} python3-cffi-backend{a} 
python3-chardet{a} python3-configargparse{a}
 python3-configobj{a} python3-cryptography{a} python3-distutils{a} 
python3-future{a} python3-idna{a}
 python3-josepy{a} python3-lib2to3{a} python3-mock{a} 
python3-openssl{a} python3-parsedatetime{a} python3-pbr{a}
 python3-pkg-resources{a} python3-requests{a} 
python3-requests-toolbelt{a} python3-rfc3339{a}
 python3-setuptools{a} python3-six{a} python3-tz{a} python3-urllib3{a} 
python3-zope.component{a}
 python3-zope.event{a} python3-zope.hookable{a} 
python3-zope.interface{a} rake{a} redis-server{a} redis-tools{a}
 ruby{a} ruby-ace-rails-ap{a} ruby-acme-client{a} ruby-actioncable{a} 
ruby-actionmailbox{a} ruby-actionmailer{a}
 ruby-actionpack{a} ruby-actiontext{a} ruby-actionview{a} 
ruby-activejob{a} ruby-activemodel{a}
 ruby-activerecord{a} ruby-activerecord-explain-analyze{a} 
ruby-activestorage{a} ruby-activesupport{a}
 ruby-acts-as-taggable-on{a} ruby-addressable{a} ruby-aes-key-wrap{a} 
ruby-akismet{a}
 ruby-apollo-upload-server{a} ruby-asana{a} ruby-asciidoctor{a} 
ruby-asciidoctor-include-ext{a}
 ruby-asciidoctor-plantuml{a} ruby-atlassian-jwt{a} ruby-atomic{a} 
ruby-attr-encrypted{a} ruby-attr-required{a}
 ruby-aws-eventstream{a} ruby-aws-sdk{a} ruby-aws-sigv4{a} 
ruby-axiom-types{a} ruby-babosa{a} ruby-base32{a}
 ruby-batch-loader{a} ruby-bcrypt{a} ruby-bcrypt-pbkdf{a} 
ruby-benchmark-ips{a} ruby-benchmark-memory{a}
 ruby-bindata{a} ruby-blankslate{a} ruby-bootsnap{a} 
ruby-bootstrap-form{a} ruby-browser{a} ruby-bson{a}
 ruby-builder{a} ruby-bundler{a} ruby-carrierwave{a} ruby-celluloid{a} 
ruby-character-set{a}
 ruby-charlock-holmes{a} ruby-chronic{a} ruby-chronic-duration{a} 
ruby-citrus{a} ruby-coercible{a}
 ruby-commonmarker{a} ruby-concurrent{a} ruby-concurrent-ext{a} 
ruby-connection-pool{a} ruby-contracts{a}
 ruby-countries{a} ruby-crack{a} ruby-crass{a} ruby-creole{a} 
ruby-css-parser{a} ruby-daemons{a}
 ruby-declarative{a} ruby-declarative-option{a} 
ruby-default-value-for{a} ruby-delayed-job{a}
 ruby-derailed-benchmarks{a} ruby-descendants-tracker{a} ruby-dev{a} 
ruby-device-detector{a} ruby-devise{a}
 ruby-devise-two-factor{a} ruby-diff-match-patch{a} ruby-diffy{a} 
ruby-discordrb-webhooks{a} ruby-domain-name{a}
 ruby-doorkeeper{a} ruby-doorkeeper-openid-connect{a} 
ruby-dry-configurable{a} ruby-dry-container{a}
 ruby-dry-core{a} ruby-dry-equalizer{a} ruby-dry-inflector{a} 
ruby-dry-logic{a} ruby-dry-types{a} ruby-ed25519{a}
 ruby-elasticsearch{a} ruby-elasticsearch-api{a} 
ruby-elasticsearch-transport{a} ruby-email-reply-trimmer{a}
 ruby-encryptor{a} ruby-enum{a} ruby-enumerable-statistics{a} 
ruby-equalizer{a} ruby-erubi{a}
 ruby-escape-utils{a} ruby-et-orbi{a} ruby-excon{a} ruby-execjs{a} 
ruby-expression-parser{a} ruby-faraday{a}
 ruby-faraday-middleware{a} ruby-faraday-middleware-multi-json{a} 
ruby-fast-blank{a} ruby-fast-gettext{a}
 ruby-ffi{a} ruby-ffi-compiler{a} ruby-flipper{a} ruby-flowdock{a} 
ruby-fog-aliyun{a} ruby-fog-aws{a}
 ruby-fog-core{a} ruby-fog-google{a} ruby-fog-json{a} 
ruby-fog-local{a} ruby-fog-openstack{a}
 ruby-fog-rackspace{a} ruby-fog-xml{a} ruby-fogbugz{a} 
ruby-font-awesome-rails{a} ruby-formatador{a}
 ruby-fugit{a} ruby-gemojione{a} ruby-get-process-mem{a} 
ruby-gettext{a} ruby-gettext-i18n-rails{a}
 ruby-gettext-i18n-rails-js{a} ruby-gitaly{a} ruby-github-linguist{a} 
ruby-github-markup{a} ruby-gitlab-labkit{a}
 ruby-gitlab-sidekiq-fetcher{a} ruby-globalid{a} ruby-gollum-lib{a} 
ruby-gollum-rugged-adapter{a} ruby-gon{a}
 ruby-google-api-client{a} ruby-google-protobuf{a} 
ruby-googleapis-common-protos-types{a} ruby-googleauth{a}
 ruby-gpgme{a} ruby-grape{a} ruby-grape-entity{a} 
ruby-grape-logging{a} ruby-grape-path-helpers{a}
 ruby-graphiql-rails{a} ruby-graphql{a} ruby-grpc{a} ruby-hamlit{a} 
ruby-hangouts-chat{a} ruby-hashie{a}
 ruby-hashie-forbidden-attributes{a} ruby-health-check{a} 
ruby-heapy{a} ruby-hike{a} ruby-hipchat{a}
 ruby-hitimes{a} ruby-html-pipeline{a} ruby-html2text{a} 
ruby-htmlentities{a} ruby-http{a} ruby-http-cookie{a}
 ruby-http-form-data{a} ruby-http-parser{a} ruby-httparty{a} 
ruby-httpclient{a} ruby-i18n{a} ruby-i18n-data{a}
 ruby-icalendar{a} ruby-ice-nine{a} ruby-invisible-captcha{a} 
ruby-ipaddress{a} ruby-jaeger-client{a}
 ruby-jbuilder{a} ruby-jira{a} ruby-jmespath{a} 
ruby-jquery-atwho-rails{a} ruby-js-regex{a} ruby-json-jwt{a}
 ruby-json-schema{a} ruby-jwt{a} ruby-kaminari{a} 
ruby-kaminari-actionview{a} ruby-kaminari-activerecord{a}
 ruby-kaminari-core{a} ruby-kgio{a} ruby-kubeclient{a} 
ruby-licensee{a} ruby-little-plugger{a} ruby-locale{a}
 ruby-lockbox{a} ruby-logging{a} ruby-lograge{a} ruby-loofah{a} 
ruby-lru-redux{a} ruby-macaddr{a} ruby-mail{a}
 ruby-mail-room{a} ruby-marcel{a} ruby-marginalia{a} ruby-memoist{a} 
ruby-memory-profiler{a}
 ruby-method-source{a} ruby-mime-types{a} ruby-mime-types-data{a} 
ruby-mimemagic{a} ruby-mini-histogram{a}
 ruby-mini-magick{a} ruby-mini-mime{a} ruby-minitest{a} 
ruby-molinillo{a} ruby-msgpack{a} ruby-multi-json{a}
 ruby-multi-xml{a} ruby-multipart-post{a} ruby-murmurhash3{a} 
ruby-mustermann{a} ruby-mustermann-grape{a}
 ruby-nakayoshi-fork{a} ruby-net-dns{a} ruby-net-http-persistent{a} 
ruby-net-ldap{a} ruby-net-ntp{a}
 ruby-net-scp{a} ruby-net-ssh{a} ruby-net-telnet{a} ruby-netrc{a} 
ruby-nio4r{a} ruby-nokogiri{a}
 ruby-nokogumbo{a} ruby-ntlm{a} ruby-numerizer{a} ruby-oauth{a} 
ruby-oauth2{a} ruby-octokit{a} ruby-oj{a}
 ruby-omniauth{a} ruby-omniauth-auth0{a} ruby-omniauth-authentiq{a} 
ruby-omniauth-azure-oauth2{a}
 ruby-omniauth-cas3{a} ruby-omniauth-crowd{a} 
ruby-omniauth-facebook{a} ruby-omniauth-github{a}
 ruby-omniauth-gitlab{a} ruby-omniauth-google-oauth2{a} 
ruby-omniauth-kerberos{a} ruby-omniauth-ldap{a}
 ruby-omniauth-multipassword{a} ruby-omniauth-oauth{a} 
ruby-omniauth-oauth2{a} ruby-omniauth-oauth2-generic{a}
 ruby-omniauth-openid-connect{a} ruby-omniauth-salesforce{a} 
ruby-omniauth-saml{a} ruby-omniauth-shibboleth{a}
 ruby-omniauth-twitter{a} ruby-openid-connect{a} ruby-opentracing{a} 
ruby-optimist{a} ruby-org{a}
 ruby-orm-adapter{a} ruby-os{a} ruby-peek{a} ruby-pg{a} 
ruby-pkg-config{a} ruby-po-to-json{a} ruby-posix-spawn{a}
 ruby-power-assert{a} ruby-premailer{a} ruby-premailer-rails{a} 
ruby-prof{a} ruby-progressbar{a}
 ruby-prometheus-client-mmap{a} ruby-public-suffix{a} ruby-raabro{a} 
ruby-rabl{a} ruby-rabl-rails{a} ruby-rack{a}
 ruby-rack-accept{a} ruby-rack-attack{a} ruby-rack-cors{a} 
ruby-rack-oauth2{a} ruby-rack-protection{a}
 ruby-rack-proxy{a} ruby-rack-test{a} ruby-rack-timeout{a} 
ruby-rails{a} ruby-rails-deprecated-sanitizer{a}
 ruby-rails-dom-testing{a} ruby-rails-html-sanitizer{a} 
ruby-rails-i18n{a} ruby-railties{a} ruby-rainbow{a}
 ruby-raindrops{a} ruby-rbtrace{a} ruby-re2{a} ruby-recaptcha{a} 
ruby-recursive-open-struct{a} ruby-redcarpet{a}
 ruby-redcloth{a} ruby-redis{a} ruby-redis-actionpack{a} 
ruby-redis-activesupport{a} ruby-redis-namespace{a}
 ruby-redis-rack{a} ruby-redis-rails{a} ruby-redis-store{a} 
ruby-regexp-parser{a} ruby-regexp-property-values{a}
 ruby-representable{a} ruby-request-store{a} ruby-responders{a} 
ruby-rest-client{a} ruby-retriable{a}
 ruby-rinku{a} ruby-rotp{a} ruby-rouge{a} ruby-rqrcode{a} 
ruby-rqrcode-rails3{a} ruby-ruby-parser{a}
 ruby-rubypants{a} ruby-rufus-scheduler{a} ruby-rugged{a} 
ruby-safe-yaml{a} ruby-saml{a} ruby-sanitize{a}
 ruby-sasl{a} ruby-sassc{a} ruby-sassc-rails{a} ruby-sawyer{a} 
ruby-seed-fu{a} ruby-sentry-raven{a}
 ruby-settingslogic{a} ruby-sexp-processor{a} ruby-sidekiq{a} 
ruby-sidekiq-cron{a} ruby-signet{a}
 ruby-sixarm-ruby-unaccent{a} ruby-slack-messenger{a} 
ruby-snowplow-tracker{a} ruby-sprockets{a}
 ruby-sprockets-rails{a} ruby-sqlite3{a} ruby-sshkey{a} 
ruby-stackprof{a} ruby-state-machines{a}
 ruby-state-machines-activemodel{a} 
ruby-state-machines-activerecord{a} ruby-statistics{a} ruby-stringex{a}
 ruby-swd{a} ruby-sys-filesystem{a} ruby-systemu{a} ruby-task-list{a} 
ruby-temple{a} ruby-test-unit{a}
 ruby-text{a} ruby-thor{a} ruby-thread-safe{a} ruby-thrift{a} 
ruby-tilt{a} ruby-timers{a}
 ruby-timfel-krb5-auth{a} ruby-toml-rb{a} ruby-truncato{a} 
ruby-tzinfo{a} ruby-u2f{a} ruby-uber{a}
 ruby-uglifier{a} ruby-unf{a} ruby-unf-ext{a} ruby-unicode{a} 
ruby-unicode-plot{a} ruby-unicode-utils{a}
 ruby-unicorn-worker-killer{a} ruby-unleash{a} ruby-uuid{a} 
ruby-uuidtools{a} ruby-valid-email{a}
 ruby-validate-email{a} ruby-validate-url{a} 
ruby-validates-hostname{a} ruby-version-sorter{a} ruby-virtus{a}
 ruby-vmstat{a} ruby-warden{a} ruby-webfinger{a} ruby-webpack-rails{a} 
ruby-websocket-driver{a}
 ruby-websocket-extensions{a} ruby-wikicloth{a} ruby-xml-simple{a} 
ruby-xmlrpc{a} ruby-yajl{a} ruby-zeitwerk{a}
 ruby-zip{a} ruby2.7{a} ruby2.7-dev{a} ruby2.7-doc{a} 
rubygems-integration{a} sgml-base{a} shared-mime-info{a}
 sqlite3{a} unicorn{a} unzip{a} webpack{a} xdg-user-dirs{a} 
xml-core{a} yarnpkg{a} zip{a}
0 packages upgraded, 1091 newly installed, 0 to remove and 30 not 
upgraded.
Need to get 15.6 MB/267 MB of archives. After unpacking 1,015 MB will 
be used.
Do you want to continue? [Y/n/?]

and https://wiki.debian.org/gitlab/ has all the repos required for 
installing gitlab.





Information forwarded to debian-bugs-dist@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>:
Bug#964916; Package aptitude. (Sun, 12 Jul 2020 13:27:04 GMT) (full text, mbox, link).


Acknowledgement sent to Thorsten Glaser <t.glaser@tarent.de>:
Extra info received and forwarded to list. Copy sent to Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>. (Sun, 12 Jul 2020 13:27:04 GMT) (full text, mbox, link).


Message #10 received at 964916@bugs.debian.org (full text, mbox, reply):

From: Thorsten Glaser <t.glaser@tarent.de>
To: Pirate Praveen <praveen@onenetbeyond.org>
Cc: debian-backports@lists.debian.org, 964916@bugs.debian.org
Subject: Re: Option to allow packages from backports but without forcing it
Date: Sun, 12 Jul 2020 15:23:28 +0200 (CEST)
On Sun, 12 Jul 2020, Pirate Praveen wrote:

> But gitlab is not in buster-backports

Then I don’t understand the problem.

> apt/aptitude -t buster-backports  install gitlab/buster-fasttrack does not work.

Why?

apt-get install gitlab/buster-fasttrack even should work,
in that case. Depends/Breaks would suffice to make it
select the right packages from the right suites.


>For example, ruby-nokogiri is available in buster-backports (built with
>ruby 2.5) and buster-fasttrack (built with ruby 2.7).

Wasn’t the rule that a package may only be in one of them,
and that it’s only eligible for fasttrack when it’s not in
backports?

># apt policy ruby-nokogiri
>ruby-nokogiri:
>  Installed: (none)
>  Candidate: 1.10.9+dfsg-1+fto10+1
>  Version table:
>     1.10.9+dfsg-1+fto10+1 500
>        500 https://fasttrack.debian.net/debian buster-fasttrack/main amd64 Packages
>     1.10.9+dfsg-1~bpo10+1 100
>        100 https://deb.debian.org/debian buster-backports/main amd64 Packages
>     1.10.0+dfsg1-2 500
>        500 http://deb.debian.org/debian buster/main amd64 Packages

Well here you also run into the problem that apt prefers
the newest package.

It also looks like buster-fasttrack is not set up correctly:
its policy value is 500, not 100 (NotAutomatic: yes and
ButAutomaticUpgrades: yes).

Looking at the fasttrack documentation, it also tells users
to use a buster-backports repository from the fasttrack.debian.net
site, which is also all kinds of wrong.

But the installability problem has a different cause:

[…]
          Depends: ruby-faraday (>= 0.17.3~) but 0.15.4-3~bpo10+1 is to be installed
[…]
$ apt-cache policy ruby-faraday
ruby-faraday:
  Installed: (none)
  Candidate: 0.13.1-2
  Version table:
     0.15.4-3~bpo10+1 100
        100 http://mirror.lan.tarent.de/debian buster-backports/main amd64 Packages
     0.13.1-2 500
        500 http://mirror.lan.tarent.de/debian buster/main amd64 Packages
     0.9.2-3 500
        500 http://mirror.lan.tarent.de/debian stretch/main amd64 Packages

This package simply is not available in the version required.

bye,
//mirabilos
-- 
«MyISAM tables -will- get corrupted eventually. This is a fact of life. »
“mysql is about as much database as ms access” – “MSSQL at least descends
from a database” “it's a rebranded SyBase” “MySQL however was born from a
flatfile and went downhill from there” – “at least jetDB doesn’t claim to
be a database”	(#nosec)    ‣‣‣ Please let MySQL and MariaDB finally die!



Information forwarded to debian-bugs-dist@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>:
Bug#964916; Package aptitude. (Sun, 12 Jul 2020 14:51:02 GMT) (full text, mbox, link).


Acknowledgement sent to Antoine <dave@dotslashplay.it>:
Extra info received and forwarded to list. Copy sent to Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>. (Sun, 12 Jul 2020 14:51:03 GMT) (full text, mbox, link).


Message #15 received at 964916@bugs.debian.org (full text, mbox, reply):

From: Antoine <dave@dotslashplay.it>
To: 964916@bugs.debian.org
Subject: Re: Option to allow packages from backports but without forcing it
Date: Sun, 12 Jul 2020 16:38:44 +0200
[Message part 1 (text/plain, inline)]
On Sun, 12 Jul 2020 15:23:28 +0200 (CEST) Thorsten Glaser <t.glaser@tarent.de> wrote:
> But the installability problem has a different cause:
> 
> […]
>           Depends: ruby-faraday (>= 0.17.3~) but 0.15.4-3~bpo10+1 is to be installed
> […]
> $ apt-cache policy ruby-faraday
> ruby-faraday:
>   Installed: (none)
>   Candidate: 0.13.1-2
>   Version table:
>      0.15.4-3~bpo10+1 100
>         100 http://mirror.lan.tarent.de/debian buster-backports/main amd64 Packages
>      0.13.1-2 500
>         500 http://mirror.lan.tarent.de/debian buster/main amd64 Packages
>      0.9.2-3 500

The required ≥ 0.17.3~ version is actually provided by the `buster-backorts` branch of the `https://fasttrack.debian.net/debian` repository:

$ apt-cache policy ruby-faraday
ruby-faraday:
  Installé : 0.17.3-1~bpo10+1
  Candidat : 0.17.3-1~bpo10+1
 Table de version :
     0.17.3-1 100
        100 http://mirrors.digitalocean.com/debian bullseye/main amd64 Packages
 *** 0.17.3-1~bpo10+1 150
        150 https://fasttrack.debian.net/debian buster-backports/main amd64 Packages
        100 /var/lib/dpkg/status
     0.15.4-3~bpo10+1 200
        200 http://mirrors.digitalocean.com/debian buster-backports/main amd64 Packages
     0.13.1-2 500
        500 http://mirrors.digitalocean.com/debian buster/main amd64 Packages

The system this command result is copied from has been built following these instructions:
https://wiki.debian.org/gitlab#Buster_Fast_Track_.28Recommended.29

[signature.asc (application/pgp-signature, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>:
Bug#964916; Package aptitude. (Sun, 12 Jul 2020 16:03:04 GMT) (full text, mbox, link).


Acknowledgement sent to Pirate Praveen <praveen@onenetbeyond.org>:
Extra info received and forwarded to list. Copy sent to Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>. (Sun, 12 Jul 2020 16:03:04 GMT) (full text, mbox, link).


Message #20 received at 964916@bugs.debian.org (full text, mbox, reply):

From: Pirate Praveen <praveen@onenetbeyond.org>
To: Thorsten Glaser <t.glaser@tarent.de>
Cc: debian-backports@lists.debian.org, 964916@bugs.debian.org
Subject: Re: Option to allow packages from backports but without forcing it
Date: Sun, 12 Jul 2020 21:30:00 +0530

On Sun, Jul 12, 2020 at 15:23, Thorsten Glaser <t.glaser@tarent.de> 
wrote:
> On Sun, 12 Jul 2020, Pirate Praveen wrote:
> 
>>  But gitlab is not in buster-backports
> 
> Then I don’t understand the problem.

gitlab is in buster-fasttrack, but buster-fasttrack is not self 
contained, it needs buster-backports.

> 
>>  apt/aptitude -t buster-backports  install gitlab/buster-fasttrack 
>> does not work.
> 
> Why?
> 

The same reason as apt/aptitude -t buster-backports install gitlab

> apt-get install gitlab/buster-fasttrack even should work,
> in that case. Depends/Breaks would suffice to make it
> select the right packages from the right suites.
> 

It is not working, hence asking for ideas.

>> For example, ruby-nokogiri is available in buster-backports (built 
>> with
>> ruby 2.5) and buster-fasttrack (built with ruby 2.7).
> 
> Wasn’t the rule that a package may only be in one of them,
> and that it’s only eligible for fasttrack when it’s not in
> backports?
> 

fasttrack's rules are not set in stone, it is evolving based on the 
needs of packages like gitlab. The reason for having to do this is 
because the ruby team does not want to maintain ruby 2.7 in backports 
even though it qualify for backports because it can break packages 
already in stable.

>> # apt policy ruby-nokogiri
>> ruby-nokogiri:
>>   Installed: (none)
>>   Candidate: 1.10.9+dfsg-1+fto10+1
>>   Version table:
>>      1.10.9+dfsg-1+fto10+1 500
>>         500 https://fasttrack.debian.net/debian 
>> buster-fasttrack/main amd64 Packages
>>      1.10.9+dfsg-1~bpo10+1 100
>>         100 https://deb.debian.org/debian buster-backports/main 
>> amd64 Packages
>>      1.10.0+dfsg1-2 500
>>         500 http://deb.debian.org/debian buster/main amd64 Packages
> 
> Well here you also run into the problem that apt prefers
> the newest package.
> 

Why is that a problem? We need the newer version here.

> It also looks like buster-fasttrack is not set up correctly:
> its policy value is 500, not 100 (NotAutomatic: yes and
> ButAutomaticUpgrades: yes).
> 

That is because we don't really expect the packages to be upgradable to 
next stable version (because these packages will not be in any stable 
release).

> Looking at the fasttrack documentation, it also tells users
> to use a buster-backports repository from the fasttrack.debian.net
> site, which is also all kinds of wrong.
> 

Why? There are times when we can't have a package in official backports 
immediately (transitions, backports-new). This is temporary repository. 
These gets removed when they are accepted in official backports.

> But the installability problem has a different cause:
> 
> […]
>           Depends: ruby-faraday (>= 0.17.3~) but 0.15.4-3~bpo10+1 is 
> to be installed
> […]
> $ apt-cache policy ruby-faraday
> ruby-faraday:
>   Installed: (none)
>   Candidate: 0.13.1-2
>   Version table:
>      0.15.4-3~bpo10+1 100
>         100 http://mirror.lan.tarent.de/debian buster-backports/main 
> amd64 Packages
>      0.13.1-2 500
>         500 http://mirror.lan.tarent.de/debian buster/main amd64 
> Packages
>      0.9.2-3 500
>         500 http://mirror.lan.tarent.de/debian stretch/main amd64 
> Packages
> 
> This package simply is not available in the version required.
> 

Because you did not add buster-backports suite.

# apt policy ruby-faraday
ruby-faraday:
 Installed: (none)
 Candidate: 0.13.1-2
 Version table:
    0.17.3-1~bpo10+1 100
       100 https://fasttrack.debian.net/debian buster-backports/main 
amd64 Packages
    0.15.4-3~bpo10+1 100
       100 https://deb.debian.org/debian buster-backports/main amd64 
Packages
    0.13.1-2 500
       500 http://deb.debian.org/debian buster/main amd64 Packages


> bye,
> //mirabilos
> --
> «MyISAM tables -will- get corrupted eventually. This is a fact of 
> life. »
> “mysql is about as much database as ms access” – “MSSQL at 
> least descends
> from a database” “it's a rebranded SyBase” “MySQL however was 
> born from a
> flatfile and went downhill from there” – “at least jetDB 
> doesn’t claim to
> be a database”	(#nosec)    ‣‣‣ Please let MySQL and MariaDB 
> finally die!
> 





Information forwarded to debian-bugs-dist@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>:
Bug#964916; Package aptitude. (Sun, 12 Jul 2020 16:09:02 GMT) (full text, mbox, link).


Acknowledgement sent to Thorsten Glaser <t.glaser@tarent.de>:
Extra info received and forwarded to list. Copy sent to Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>. (Sun, 12 Jul 2020 16:09:02 GMT) (full text, mbox, link).


Message #25 received at 964916@bugs.debian.org (full text, mbox, reply):

From: Thorsten Glaser <t.glaser@tarent.de>
To: Pirate Praveen <praveen@onenetbeyond.org>
Cc: debian-backports@lists.debian.org, 964916@bugs.debian.org
Subject: Re: Option to allow packages from backports but without forcing it
Date: Sun, 12 Jul 2020 18:05:54 +0200 (CEST)
On Sun, 12 Jul 2020, Pirate Praveen wrote:

> > It also looks like buster-fasttrack is not set up correctly:
> > its policy value is 500, not 100 (NotAutomatic: yes and
> > ButAutomaticUpgrades: yes).
> 
> That is because we don't really expect the packages to be upgradable to next
> stable version (because these packages will not be in any stable release).

That’s no excuse to not set these two settings. You definitely ought
to set NotAutomatic: yes because otherwise, merely *adding* the repo
can cause packages from fasttrack to be installed that the user did
not explicitly select to install from there. And ButAutomaticUpgrades: yes
is needed to be able to upgrade once NotAutomatic: yes is set.

Until this is done, fasttrack is to be classified as dangerous.

> > Looking at the fasttrack documentation, it also tells users
> > to use a buster-backports repository from the fasttrack.debian.net
> > site, which is also all kinds of wrong.

> Why? There are times when we can't have a package in official backports
> immediately (transitions, backports-new). This is temporary repository. These
> gets removed when they are accepted in official backports.

[…]

> Because you did not add buster-backports suite.

Erm… I did add buster-backports, the official one.

You absolutely cannot have a thing called buster-backports on the
fasttrack server because that’s too easily confused with the
official one.

Erk. I don’t even want to continue looking at fasttrack now.

bye,
//mirabilos
-- 
tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
Tel: +49 228 54881-393 • Fax: +49 228 54881-235
HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941
Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg



Information forwarded to debian-bugs-dist@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>:
Bug#964916; Package aptitude. (Sun, 12 Jul 2020 16:24:02 GMT) (full text, mbox, link).


Acknowledgement sent to Pirate Praveen <praveen@onenetbeyond.org>:
Extra info received and forwarded to list. Copy sent to Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>. (Sun, 12 Jul 2020 16:24:02 GMT) (full text, mbox, link).


Message #30 received at 964916@bugs.debian.org (full text, mbox, reply):

From: Pirate Praveen <praveen@onenetbeyond.org>
To: Thorsten Glaser <t.glaser@tarent.de>
Cc: debian-backports@lists.debian.org, 964916@bugs.debian.org
Subject: Re: Option to allow packages from backports but without forcing it
Date: Sun, 12 Jul 2020 21:50:33 +0530

On Sun, Jul 12, 2020 at 18:05, Thorsten Glaser <t.glaser@tarent.de> 
wrote:
> On Sun, 12 Jul 2020, Pirate Praveen wrote:
> 
>>  > It also looks like buster-fasttrack is not set up correctly:
>>  > its policy value is 500, not 100 (NotAutomatic: yes and
>>  > ButAutomaticUpgrades: yes).
>> 
>>  That is because we don't really expect the packages to be 
>> upgradable to next
>>  stable version (because these packages will not be in any stable 
>> release).
> 
> That’s no excuse to not set these two settings. You definitely ought
> to set NotAutomatic: yes because otherwise, merely *adding* the repo
> can cause packages from fasttrack to be installed that the user did
> not explicitly select to install from there. And 
> ButAutomaticUpgrades: yes
> is needed to be able to upgrade once NotAutomatic: yes is set.
> 

Thanks for the suggestions. I'm discussing it with other team members 
and fasttrack users.

> Until this is done, fasttrack is to be classified as dangerous.
> 

Well, at present the only end user application there is gitlab and any 
package in fasttrack is required for it. It is not a general purpose 
repo yet. We will have to adapt things when more applications 
eventually start using it.

>>  > Looking at the fasttrack documentation, it also tells users
>>  > to use a buster-backports repository from the fasttrack.debian.net
>>  > site, which is also all kinds of wrong.
> 
>>  Why? There are times when we can't have a package in official 
>> backports
>>  immediately (transitions, backports-new). This is temporary 
>> repository. These
>>  gets removed when they are accepted in official backports.
> 
> […]
> 
>>  Because you did not add buster-backports suite.
> 
> Erm… I did add buster-backports, the official one.
> 
> You absolutely cannot have a thing called buster-backports on the
> fasttrack server because that’s too easily confused with the
> official one.
> 

Let me think about it.

> Erk. I don’t even want to continue looking at fasttrack now.
> 

As I said earlier, you currently need it only if you are interested in 
gitlab package.

> bye,
> //mirabilos
> --
> tarent solutions GmbH
> Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
> Tel: +49 228 54881-393 • Fax: +49 228 54881-235
> HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941
> Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, 
> Alexander Steeg
> 





Information forwarded to debian-bugs-dist@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>:
Bug#964916; Package aptitude. (Sun, 12 Jul 2020 17:45:02 GMT) (full text, mbox, link).


Acknowledgement sent to Pirate Praveen <praveen@onenetbeyond.org>:
Extra info received and forwarded to list. Copy sent to Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>. (Sun, 12 Jul 2020 17:45:02 GMT) (full text, mbox, link).


Message #35 received at 964916@bugs.debian.org (full text, mbox, reply):

From: Pirate Praveen <praveen@onenetbeyond.org>
To: Thorsten Glaser <t.glaser@tarent.de>
Cc: debian-backports@lists.debian.org, 964916@bugs.debian.org
Subject: Re: Option to allow packages from backports but without forcing it
Date: Sun, 12 Jul 2020 23:09:57 +0530

On Sun, Jul 12, 2020 at 21:50, Pirate Praveen 
<praveen@onenetbeyond.org> wrote:
>> Erm… I did add buster-backports, the official one.
>> 
>> You absolutely cannot have a thing called buster-backports on the
>> fasttrack server because that’s too easily confused with the
>> official one.
>> 
> 
> Let me think about it.

Usually with the same suite name, I just have to upload the same 
.changes file when the package enters testing. So changing the name 
just adds extra busy work (multiple changelog entries and rebuilds) 
without any real benefit. Like in the case of ruby-faraday, I just had 
to dput the .changes file I already created for 
fasttrack/buster-backports to official buster-backports. So I will 
stick with it unless someone can show me some real advantage.





Information forwarded to debian-bugs-dist@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>:
Bug#964916; Package aptitude. (Sun, 12 Jul 2020 18:21:04 GMT) (full text, mbox, link).


Acknowledgement sent to Jessica Clarke <jrtc27@debian.org>:
Extra info received and forwarded to list. Copy sent to Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>. (Sun, 12 Jul 2020 18:21:04 GMT) (full text, mbox, link).


Message #40 received at 964916@bugs.debian.org (full text, mbox, reply):

From: Jessica Clarke <jrtc27@debian.org>
To: Pirate Praveen <praveen@onenetbeyond.org>
Cc: Thorsten Glaser <t.glaser@tarent.de>, debian-backports@lists.debian.org, 964916@bugs.debian.org
Subject: Re: Option to allow packages from backports but without forcing it
Date: Sun, 12 Jul 2020 19:16:02 +0100
On 12 Jul 2020, at 18:39, Pirate Praveen <praveen@onenetbeyond.org> wrote:
> On Sun, Jul 12, 2020 at 21:50, Pirate Praveen <praveen@onenetbeyond.org> wrote:
>>> Erm… I did add buster-backports, the official one.
>>> You absolutely cannot have a thing called buster-backports on the
>>> fasttrack server because that’s too easily confused with the
>>> official one.
>> Let me think about it.
> 
> Usually with the same suite name, I just have to upload the same .changes file when the package enters testing. So changing the name just adds extra busy work (multiple changelog entries and rebuilds) without any real benefit. Like in the case of ruby-faraday, I just had to dput the .changes file I already created for fasttrack/buster-backports to official buster-backports. So I will stick with it unless someone can show me some real advantage.

This response is, quite frankly, extremely rude and disrespectful towards
Thorsten. Your "without any real benefit" completely disregards the original
reason given which, as you can see above is "because that’s too easily confused
with the official one.". As for the approach, do not do this. Seriously.
Whatever your motivation. If seasoned DDs are being confused by you creating
your own thing with an identical name to a core part of Debian, how on earth do
you expect users to not be confused out of their minds? Not to mention it's
going to seriously aggravate those who manage the real backports suites and
those who follow these lists, as there will no doubt be users coming along
complaining about things that apply to your name-hijacked version and not the
actual backports suites. So call it something else; I doubt many DDs will view
your project favourably if you don't. Also, a word of advice: never prioritise
your own convenience over user experience. It portrays you as selfish, and in
this case stubborn, neither of which are a good look.

Now, for some constructive _technical_ advice. You don't need to require
rebuilds if you don't want to. I see two options for what you can do to avoid
that:

1. Manually edit the .changes file, changing Distribution:, and then re-sign.
   You'll need to configure your DAK instance to not have the lintian tag
   distribution-and-changes-mismatch in its lintian.tags though (or override it
   in the package, but that's a bit weird and dangerous).

2. Configure SuiteMappings in your dak.conf to redirect buster-backports
   uploads to buster-foo. That's it. You can present whatever name you like to
   users, and uploads to your service for buster-backports magically end up in
   the right place.

The second one is probably the better approach, though does come with the risk
that anyone can inject a signed -backports .changes file into your service.
That's generally frowned upon, but in this case you probably view it as a
feature. I'm in two minds about that, but that's ultimately up to you running
the service to decide.

What frustrates me is that, had you responded more appropriately and simply
explained your motivations for doing what's currently implemented, we could
have skipped that whole first paragraph and gone straight to solutions which I
believe solve the problem for both sides. If you want people to be more willing
to help you, work with them, not against them, and especially don't disregard
their views. You may find solutions you didn't even know were possible (or even
thought to consider), like I suspect is the case here.

Jess




Information forwarded to debian-bugs-dist@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>:
Bug#964916; Package aptitude. (Sun, 12 Jul 2020 19:42:02 GMT) (full text, mbox, link).


Acknowledgement sent to Pirate Praveen <praveen@onenetbeyond.org>:
Extra info received and forwarded to list. Copy sent to Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>. (Sun, 12 Jul 2020 19:42:02 GMT) (full text, mbox, link).


Message #45 received at 964916@bugs.debian.org (full text, mbox, reply):

From: Pirate Praveen <praveen@onenetbeyond.org>
To: Jessica Clarke <jrtc27@debian.org>
Cc: Thorsten Glaser <t.glaser@tarent.de>, debian-backports@lists.debian.org, 964916@bugs.debian.org
Subject: Re: Option to allow packages from backports but without forcing it
Date: Mon, 13 Jul 2020 01:08:16 +0530

On Sun, Jul 12, 2020 at 19:16, Jessica Clarke <jrtc27@debian.org> wrote:
> On 12 Jul 2020, at 18:39, Pirate Praveen <praveen@onenetbeyond.org> 
> wrote:
>>  On Sun, Jul 12, 2020 at 21:50, Pirate Praveen 
>> <praveen@onenetbeyond.org> wrote:
>>>>  Erm… I did add buster-backports, the official one.
>>>>  You absolutely cannot have a thing called buster-backports on the
>>>>  fasttrack server because that’s too easily confused with the
>>>>  official one.
>>>  Let me think about it.
>> 
>>  Usually with the same suite name, I just have to upload the same 
>> .changes file when the package enters testing. So changing the name 
>> just adds extra busy work (multiple changelog entries and rebuilds) 
>> without any real benefit. Like in the case of ruby-faraday, I just 
>> had to dput the .changes file I already created for 
>> fasttrack/buster-backports to official buster-backports. So I will 
>> stick with it unless someone can show me some real advantage.
> 
> This response is, quite frankly, extremely rude and disrespectful 
> towards
> Thorsten. Your "without any real benefit" completely disregards the 
> original
> reason given which, as you can see above is "because that’s too 
> easily confused
> with the official one.". As for the approach, do not do this. 
> Seriously.
> Whatever your motivation. If seasoned DDs are being confused by you 
> creating
> your own thing with an identical name to a core part of Debian, how 
> on earth do
> you expect users to not be confused out of their minds? Not to 
> mention it's
> going to seriously aggravate those who manage the real backports 
> suites and
> those who follow these lists, as there will no doubt be users coming 
> along
> complaining about things that apply to your name-hijacked version and 
> not the
> actual backports suites. So call it something else; I doubt many DDs 
> will view
> your project favourably if you don't. Also, a word of advice: never 
> prioritise
> your own convenience over user experience. It portrays you as 
> selfish, and in
> this case stubborn, neither of which are a good look.
> 

Sorry about that particular line. I should have been more careful with 
my words. I wanted to say I'm open to change, but ended up disregarding 
the original reason.

We accepted his suggestion about dropping priority to 100 and setting 
the automatic upgrades setting to match buster-backports suite, so it 
was not the intention to be rude or disregard his suggestions 
completely. I have not shared this info here earlier because we have 
not implemented it yet.

> Now, for some constructive _technical_ advice. You don't need to 
> require
> rebuilds if you don't want to. I see two options for what you can do 
> to avoid
> that:
> 
> 1. Manually edit the .changes file, changing Distribution:, and then 
> re-sign.
>    You'll need to configure your DAK instance to not have the lintian 
> tag
>    distribution-and-changes-mismatch in its lintian.tags though (or 
> override it
>    in the package, but that's a bit weird and dangerous).
> 
> 2. Configure SuiteMappings in your dak.conf to redirect 
> buster-backports
>    uploads to buster-foo. That's it. You can present whatever name 
> you like to
>    users, and uploads to your service for buster-backports magically 
> end up in
>    the right place.
> 
> The second one is probably the better approach, though does come with 
> the risk
> that anyone can inject a signed -backports .changes file into your 
> service.
> That's generally frowned upon, but in this case you probably view it 
> as a
> feature. I'm in two minds about that, but that's ultimately up to you 
> running
> the service to decide.
> 

I think we will take the second approach and name it 
fasttrack-buster-backports (like we have buildd-buster-backports for 
incoming.debian.org).

> What frustrates me is that, had you responded more appropriately and 
> simply
> explained your motivations for doing what's currently implemented, we 
> could
> have skipped that whole first paragraph and gone straight to 
> solutions which I
> believe solve the problem for both sides. If you want people to be 
> more willing
> to help you, work with them, not against them, and especially don't 
> disregard
> their views. You may find solutions you didn't even know were 
> possible (or even
> thought to consider), like I suspect is the case here.
> 

Thanks to both of you for your suggestions and time.

> Jess
> 





Information forwarded to debian-bugs-dist@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>:
Bug#964916; Package aptitude. (Tue, 14 Jul 2020 08:30:03 GMT) (full text, mbox, link).


Acknowledgement sent to Pirate Praveen <praveen@onenetbeyond.org>:
Extra info received and forwarded to list. Copy sent to Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>. (Tue, 14 Jul 2020 08:30:03 GMT) (full text, mbox, link).


Message #50 received at 964916@bugs.debian.org (full text, mbox, reply):

From: Pirate Praveen <praveen@onenetbeyond.org>
To: Thorsten Glaser <t.glaser@tarent.de>
Cc: debian-backports@lists.debian.org, 964916@bugs.debian.org
Subject: Re: Option to allow packages from backports but without forcing it
Date: Tue, 14 Jul 2020 13:57:10 +0530

On Sun, Jul 12, 2020 at 18:05, Thorsten Glaser <t.glaser@tarent.de> 
wrote:
> On Sun, 12 Jul 2020, Pirate Praveen wrote:
> 
>>  > It also looks like buster-fasttrack is not set up correctly:
>>  > its policy value is 500, not 100 (NotAutomatic: yes and
>>  > ButAutomaticUpgrades: yes).
>> 
>>  That is because we don't really expect the packages to be 
>> upgradable to next
>>  stable version (because these packages will not be in any stable 
>> release).
> 
> That’s no excuse to not set these two settings. You definitely ought
> to set NotAutomatic: yes because otherwise, merely *adding* the repo
> can cause packages from fasttrack to be installed that the user did
> not explicitly select to install from there. And 
> ButAutomaticUpgrades: yes
> is needed to be able to upgrade once NotAutomatic: yes is set.
> 
> Until this is done, fasttrack is to be classified as dangerous.
> 

This change is now active.

aptitude -t buster-backports install gitlab/buster-fasttrack

is still not able to solve it on first try, but it is better than 
earlier.

The following packages have unmet dependencies:
gitlab : Depends: ruby (>= 1:2.7~) but 1:2.5.1 is to be installed
         Depends: rubygems-integration (>= 1.17.1~) but 1.11+deb10u1 
is to be installed
         Conflicts: libruby2.5 but 2.5.5-3+deb10u2 is to be installed
The following actions will resolve these dependencies:

    Keep the following packages at their current version:
1)     gitlab [Not Installed]

and in second attempt,


     Keep the following packages at their current version:
61)     libruby2.5 [Not Installed]
62)     ruby-json [Not Installed]
63)     ruby2.5 [Not Installed]
64)     ruby2.5-dev [Not Installed]

I think rebuilding ruby-json with ruby 2.7 might fix it.

>>  > Looking at the fasttrack documentation, it also tells users
>>  > to use a buster-backports repository from the fasttrack.debian.net
>>  > site, which is also all kinds of wrong.
> 
>>  Why? There are times when we can't have a package in official 
>> backports
>>  immediately (transitions, backports-new). This is temporary 
>> repository. These
>>  gets removed when they are accepted in official backports.
> 
> […]
> 
>>  Because you did not add buster-backports suite.
> 
> Erm… I did add buster-backports, the official one.
> 
> You absolutely cannot have a thing called buster-backports on the
> fasttrack server because that’s too easily confused with the
> official one.
> 
> Erk. I don’t even want to continue looking at fasttrack now.

This will be done after figuring out the best way to do the renaming.





Information forwarded to debian-bugs-dist@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>:
Bug#964916; Package aptitude. (Tue, 14 Jul 2020 11:57:02 GMT) (full text, mbox, link).


Acknowledgement sent to Pirate Praveen <praveen@onenetbeyond.org>:
Extra info received and forwarded to list. Copy sent to Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>. (Tue, 14 Jul 2020 11:57:03 GMT) (full text, mbox, link).


Message #55 received at 964916@bugs.debian.org (full text, mbox, reply):

From: Pirate Praveen <praveen@onenetbeyond.org>
To: Thorsten Glaser <t.glaser@tarent.de>
Cc: debian-backports@lists.debian.org, 964916@bugs.debian.org
Subject: Re: Option to allow packages from backports but without forcing it
Date: Tue, 14 Jul 2020 17:23:13 +0530

On Tue, Jul 14, 2020 at 13:57, Pirate Praveen 
<praveen@onenetbeyond.org> wrote:
> I think rebuilding ruby-json with ruby 2.7 might fix it.

But now we need to update our build scripts to build with ruby 2.7.

https://git.fosscommunity.in/praveen/debian-scripts/-/blob/master/sbuild-fto 
was how we used to build earlier. With apt priority 500, it used to 
pick up ruby 2.7, but now with a lower apt priority it picks up ruby 
2.5 from buster. I need to figure out the best way to force ruby 2.7. I 
think forcing it via gem2deb may be the best option.





Information forwarded to debian-bugs-dist@lists.debian.org, Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>:
Bug#964916; Package aptitude. (Tue, 14 Jul 2020 16:03:05 GMT) (full text, mbox, link).


Acknowledgement sent to Pirate Praveen <praveen@onenetbeyond.org>:
Extra info received and forwarded to list. Copy sent to Aptitude Development Team <aptitude-devel@lists.alioth.debian.org>. (Tue, 14 Jul 2020 16:03:05 GMT) (full text, mbox, link).


Message #60 received at 964916@bugs.debian.org (full text, mbox, reply):

From: Pirate Praveen <praveen@onenetbeyond.org>
To: Thorsten Glaser <t.glaser@tarent.de>
Cc: debian-backports@lists.debian.org, 964916@bugs.debian.org
Subject: Re: Option to allow packages from backports but without forcing it
Date: Tue, 14 Jul 2020 21:29:42 +0530

On Tue, Jul 14, 2020 at 17:23, Pirate Praveen 
<praveen@onenetbeyond.org> wrote:
> 
> 
> On Tue, Jul 14, 2020 at 13:57, Pirate Praveen 
> <praveen@onenetbeyond.org> wrote:
>> I think rebuilding ruby-json with ruby 2.7 might fix it.
> 
> But now we need to update our build scripts to build with ruby 2.7.
> 
> https://git.fosscommunity.in/praveen/debian-scripts/-/blob/master/sbuild-fto 
> was how we used to build earlier. With apt priority 500, it used to 
> pick up ruby 2.7, but now with a lower apt priority it picks up ruby 
> 2.5 from buster. I need to figure out the best way to force ruby 2.7. 
> I think forcing it via gem2deb may be the best option.

I think the root cause for aptitude failing to resolve the situation 
automatically is because ruby-json is now provided by libruby2.7. I 
think that is a bug in aptitude (and possibly apt too).

aptitude now succeeds in second try for fresh installations and 
succeeds after 4 tries when upgrading

See 
https://git.fosscommunity.in/debian-ruby/TaskTracker/-/issues/166#note_6864





Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Fri Jan 12 09:26:35 2024; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.