Hi Troy,

On Thu, 2020-07-30 at 09:41 -0700, Troy Dawson wrote:
> On Wed, Jul 29, 2020 at 3:05 PM Michel Alexandre Salim
> <[email protected]> wrote:
> > 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.
> > 
> 
> Hi Michel,
> Welcome to nodejs packaging. :)
> I don't know if you saw my other emails, we (or at least I and one or
> two others) are leaning towards bundling the nodejs library
> dependencies.
> Nodejs is one of the Fedora languages that allows bundling, and if we
> make it easy to do, I think that will make the nodejs packaging and
> maintaining process easier.
> 
> As to how you bundle your dependencies, for both runtime and
> build/testing, I plan on posting what I tend to do.  And I think it
> would be good if we all had a discussion on which way is best and
> easiest.
> 
While I await your post on how to bundle dependencies, some questions:

Spec: https://salimma.fedorapeople.org/specs/nodejs/bitwarden-cli.spec
SRPM: 
https://salimma.fedorapeople.org/specs/nodejs/bitwarden-cli-1.11.0-1.fc32.src.rpm

(this is not ready to be reviewed, as dependencies are still missing
and I need to either also package them or figure out how to bundle)

- the upstream module name is @bitwarden/cli; the / in the name breaks
both nodejs_find_provides_and_requires and nodejs_symlink_deps
- if I install this to /usr/lib/node-modules/bitwarden-cli instead of
to /usr/lib/node-modules/@bitwarden/cli those two scripts work fine,
and the generated RPM does contain the right requires
- to fix the provides I also need to patch package.json

Is this fine? This is more of a binary than a library that will be
imported anyway, so I guess renaming is not that big a deal. As an
alternative we can fix the scripts to handle module names that contain
slashes, but... I'm new to NodeJS so I don't know if that's even
supposed to be valid.

- the new packaging guidelines says to BuildRequires nodejs:
https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/
- the old packaging guidelines, meanwhile, says to BuildRequires
nodejs-packaging:
https://fedoraproject.org/wiki/Packaging:Node.js?rd=Node.js/Packagers#BuildRequires

The latter seems to be correct, as if I just BR nodejs I get this
error:

+ %nodejs_symlink_deps
/var/tmp/rpm-tmp.EFAOft: line 47: fg: no job control


RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.EFAOft (%install)
    Bad exit status from /var/tmp/rpm-tmp.EFAOft (%install)


Best regards,

-- 
Michel Alexandre Salim
profile: https://keybase.io/michel_slm
chat via email: https://delta.chat/
GPG key: 5DCE 2E7E 9C3B 1CFF D335 C1D7 8B22 9D2F 7CCC 04F2

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
nodejs mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]

Reply via email to