Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Oct 2019 18:41:14 -0600
From:      Adam Weinberger <adamw@adamw.org>
To:        Willem Jan Withagen <wjw@digiware.nl>
Cc:        "ports@freebsd.org" <ports@freebsd.org>
Subject:   Re: packaging a port that uses npm during build.
Message-ID:  <CAP7rwcjzywXbdiCcfcZFPXe2Tcz_4H9N5DVXOPNY8FkktmPchQ@mail.gmail.com>
In-Reply-To: <4f4ba55b-fc5e-f700-2d78-e0c210453d4d@digiware.nl>
References:  <ed00bd7d-c13c-f7ec-1fbb-48b97f242a6c@digiware.nl> <CAP7rwcho=Lq=kzq1nj_UaDNh0FN60KJS7fZjUTY1ChH-1N5--w@mail.gmail.com> <4f4ba55b-fc5e-f700-2d78-e0c210453d4d@digiware.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Oct 28, 2019 at 6:34 AM Willem Jan Withagen <wjw@digiware.nl> wrote:
>
> On 28-10-2019 13:28, Adam Weinberger wrote:
> > On Mon, Oct 28, 2019 at 5:17 AM Willem Jan Withagen <wjw@digiware.nl> wrote:
> >>
> >> Hi,
> >>
> >> The ceph ports should have a manager module called dashboard that
> >> exists of a large bundle op JS-scripts that get installed with npm/node
> >> during running make on the configured build.
> >>
> >> Uptil now I've exclude that from builds, but that gets more and more
> >> complicated. Ceph cluster status is not reported not healty if the
> >> dashboard is not running....
> >>
> >> Apart from the fact that npm does not like to be ran as 'root',
> >> poudriere also complains about fetching data afte the fetch fase.
> >>
> >> There are about 1000 npm-modules included in this project.
> >> So that would be a large set of things to maintain correctly.
> >>
> >> Is there a way around this?
> >> Or does anybody here have experience with this?
> >>
> >> I think I read once somewhere that there is also a "flag" that indicates
> >> that the port wants network access during the build. Is that feasible?
> >
> > Can the modules be installed after installation? As in, does a
> > package.json get installed somewhere? If so, I'd put the `npm install`
> > instructions in pkg-message.
>
> I'd have to dig deeper, but as far as I can now see it is a rather
> convoluted part of the Cmake infra that gets called by gmake to run
> several scripts and others...
> But the hint is very temping if it was only like: call npm in something
> like /usr/local/share/ceph/dasboard/frontend

It looks like in the tarball there is
src/pybind/mgr/dashboard/frontend/package.json. Does this have what
you're looking for?

>
> > The flag you're talking about has to go in poudriere.conf, so it
> > wouldn't be able to help much here. It's for local control.
>
> Bummer...
> What is the latest moment a (Make)script can get access to the network?
> Tried finding this in the porters manual, but could not find that detail.

The fetch phase is the only time that the network is available,
unfortunately. It's a great feature, though it does require rethinking
in situations like this.

# Adam


-- 
Adam Weinberger
adamw@adamw.org
https://www.adamw.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAP7rwcjzywXbdiCcfcZFPXe2Tcz_4H9N5DVXOPNY8FkktmPchQ>