Proposal: Reboot nodejs library/modules in Fedora
by Troy Dawson
I am sending this to the Fedora nodejs community / SIG before sending
it to fedora-devel and/or the packaging committee. I'm doing that so
we (the people who actually maintain, or try to maintain, the nodejs
packages) have a chance to talk and discuss things without too much
thread jumping.
Problem1:
The current way of packaging every nodejs module/library as it's own
package has created library stagnation. It is extremely hard to
update any of these modules due to other modules depending on already
released versions. It is also very hard to add any Fedora package
that requires new nodejs libraries due to the volume of package
reviews that have to happen.
Problem2:
Due to problem1, and other reasons, some of our major nodejs packagers
are orphaning their nodejs packages. This is leading to many packages
being unable to install. This is starting a downward spiral of
uninstallable nodejs packages.
Proposed Solution:
Keep nodejs and npm in Fedora. Possibly yarn too.
Get rid of all non-essential nodejs libraries. Those that are
essential, bundle all their build, test, and runtime nodejs libraries.
Create scripts that make it easy to bundle, and maintain, these
essential nodejs libraries.
If needed, create scripts that make it easy for non-nodejs packages to
bundle their nodejs libraries properly.
LIST OF PROBLEMS TO WORK OUT:
Problem1: Currently, all the libraries/modules are links under
<package>/node_modules/ and dnf doesn't like changing links into
directories.
Solution1: Bundled runtime libraries/modules will be in
<package>/bundled_node_modules/ and all the links in
<package>/node_modules/ will point there.
Problem2: Many of the bundled libraries are archful, meaning they need
to be compiled. What if an essential nodejs library was originally a
noarch?
Solution2: All bundled nodejs library packages will be treached as
archful, meaning they will need to be built on each supported arch.
Problem3: TBD
Solution3: TBD
Problem4: TBD
Problem4: TBD
What do you, the Fedora nodejs packagers and community think of this proposal?
Does it sound ok?
If so, let's start working through all the problems, finding solutions.
If not, then let's find a different solution to our current crisis.
Thanks for your time.
Troy Dawson
3 years, 2 months
Self-introduction
by Michel Alexandre Salim
Hi all,
I've been a Fedora packager for years, but haven't really forayed into
Node.js packaging before.
Looking at packaging Bitwarden CLI, and any missing dependencies -- any
advice appreciated.
Best regards,
--
Michel Alexandre Salim
profile: https://keybase.io/michel_slm
chat via email: https://delta.chat/
GPG key: 96A7 A6ED FB4D 2113 4056 3257 CAF9 AD10 ACB1 BEF2
3 years, 4 months
Orphaning og my nodejs packages
by Tom Hughes
I have orphaned all my nodejs packages - feel free to grab though
be aware that in many cases they have hopeless dependency issues.
Full list of affected packages:
carto
jake
kosmtik
lodash
node-gyp
nodejs-agentkeepalive
nodejs-ap
nodejs-array-differ
nodejs-array-union
nodejs-arrify
nodejs-assertion-error
nodejs-async-queue
nodejs-aws-sign2
nodejs-bl
nodejs-bluebird
nodejs-buffer-writer
nodejs-chai
nodejs-chai-connect-middleware
nodejs-chai-passport-strategy
nodejs-chroma-js
nodejs-chrono
nodejs-clean-css
nodejs-clone
nodejs-closure-compiler
nodejs-co
nodejs-concat-stream
nodejs-constantinople
nodejs-deep-eql
nodejs-deep-equal
nodejs-define-properties
nodejs-dep-graph
nodejs-difflet
nodejs-es-abstract
nodejs-es-to-primitive
nodejs-express
nodejs-extend
nodejs-eyes
nodejs-filelist
nodejs-fill-keys
nodejs-foreach
nodejs-fs-extra
nodejs-function-bind
nodejs-gdal
nodejs-generate-function
nodejs-generate-object-property
nodejs-get
nodejs-globule
nodejs-graceful-fs
nodejs-grunt-cli
nodejs-grunt-known-options
nodejs-grunt-legacy-log
nodejs-grunt-legacy-log-utils
nodejs-har-validator
nodejs-has
nodejs-hash_file
nodejs-has-symbols
nodejs-has-unicode
nodejs-hsluv
nodejs-humanize-ms
nodejs-i2c
nodejs-iconv
nodejs-iconv-lite
nodejs-image-size
nodejs-inherits
nodejs-is
nodejs-is-callable
nodejs-is-date-object
nodejs-is-my-json-valid
nodejs-is-object
nodejs-is-property
nodejs-is-regex
nodejs-isstream
nodejs-is-symbol
nodejs-is-typedarray
nodejs-json-localizer
nodejs-jsonpointer
nodejs-js-string-escape
nodejs-JSV
nodejs-klaw
nodejs-leaflet
nodejs-leaflet-formbuilder
nodejs-leaflet-hash
nodejs-less
nodejs-less-plugin-clean-css
nodejs-libpq
nodejs-libxmljs
nodejs-lodash
nodejs-make-arrow-function
nodejs-make-generator-function
nodejs-mapnik
nodejs-mapnik-pool
nodejs-mapnik-reference
nodejs-mapnik-vector-tile
nodejs-mbtiles
nodejs-merge-descriptors
nodejs-millstone
nodejs-mock-fs
nodejs-module-not-found-error
nodejs-monocle
nodejs-multimatch
nodejs-nan
nodejs-nan1
nodejs-node-expat
nodejs-node-markdown
nodejs-node-stringprep
nodejs-numeral
nodejs-oauth
nodejs-object-dot-assign
nodejs-object-inspect
nodejs-object-is
nodejs-object-keys
nodejs-okay
nodejs-packet-reader
nodejs-passport
nodejs-passport-oauth
nodejs-passport-oauth1
nodejs-passport-oauth2
nodejs-passport-strategy
nodejs-path-exists
nodejs-pedding
nodejs-pff
nodejs-pg
nodejs-pg-connection-string
nodejs-pg-cursor
nodejs-pg-escape
nodejs-pg-int8
nodejs-pg-native
nodejs-pg-numeric
nodejs-pg-packet-stream
nodejs-pgpass
nodejs-pg-pool
nodejs-pg-protocol
nodejs-pg-types
nodejs-postgres-array
nodejs-postgres-bytea
nodejs-postgres-date
nodejs-postgres-interval
nodejs-progress-stream
nodejs-prompt
nodejs-proxyquire
nodejs-queue-async
nodejs-readdir-scoped-modules
nodejs-request
nodejs-require-directory
nodejs-resumer
nodejs-rewire
nodejs-safe-buffer
nodejs-secure-random
nodejs-set-immediate
nodejs-set-immediate-shim
nodejs-should
nodejs-should-equal
nodejs-should-format
nodejs-should-http
nodejs-should-type
nodejs-simple-assert
nodejs-single-line-log
nodejs-sinon
nodejs-sliced
nodejs-speedometer
nodejs-sphericalmercator
nodejs-sqlite3
nodejs-srs
nodejs-step
nodejs-string-dot-prototype-dot-trim
nodejs-stringstream
nodejs-supports-color
nodejs-tap
nodejs-tape
nodejs-tilelive-mapnik
nodejs-tiletype
nodejs-tmp
nodejs-tough-cookie
nodejs-type-detect
nodejs-uid2
nodejs-uri-js
nodejs-uri-path
nodejs-utilities
nodejs-utils-merge
nodejs-vows
nodejs-with
nodejs-xml2js
nodejs-xmlbuilder
nodejs-zap
nodejs-zipfile
Tom
--
Tom Hughes (tom(a)compton.nu)
http://compton.nu/
3 years, 5 months