I blame the Avatar. 😆
I am working on porting NodeBB to FreeBSD in order to handle packaging and upgrade with the OS tools (poudriere/pkg). In this context, I wanted to have a look at how some distributions handled the install, file permissions and so on, but I could not find a distribution providing a NodeBB package. Did I miss one ? If not, is there any technical reason for this (I do not see any)? If it is the case, I would like to know before spending to much time on porting it.
-- Edit --
Here is the port project : https://github.com/Hukadan/my-freebsd-port-tree/tree/master/www/nodebb. (it works but it is far from perfect)
Hello -- currently there are no distributions with NodeBB as an official package. Welcome to have you maintain such a package for FreeBSD, however
@julian Well, I have to admit that I am facing a problem that I did not expect. In order to overcome it, I would need to be able to bundle NodeBB and all its dependencies in an archive in order to be able to make an offline install. It would be great if the unpacking and install could be managed with classic archiving tools (gzip and the likes) and npm only. Have you got any good tool in mind ? I have found npm-bundle but I am not sure yet it is the tool I am looking for.
I imagine that as part of the build process, you would run
npm i --production and then tar/gzip the entire directory, including
@julian Thank you. My only problem with this solution was that sometimes
npm install command also build some modules when needed (also I think it does not happen with the modules NodeBB uses) and this is not really convenient. But I say was because I found the knob
--ignore-scripts. I think it would have been better named
--fetch-only. I will try this out this week-end but I think it should do the work.
-- Edit --
Just to make thing clearer, the building of packages is divided in different steps in FreeBSD (and I think this is the case on other platform as well). The jail (something similar to lxc on Linux) used to build the package has access to the network only during the fetch phase (during which it will fetch the tarball) and then build from this tarball offline. This is why I do not have to have any build step before creating the archive, any building step should happen during the building phase according to the wanted architecture/OS version.
The experimental FreeBSD port is available here. I say experimental since I would like to make one or two upgrades before validating (let's say from v1.0.3-> v1.0.4 and v1.0.4 -> v1.0.5). Nevertheless, if some people wants to make some tests as well, there are more than welcome.
@hukadan Well, currently no FreeBSD system...
@hukadan Does gh#4831 have any bearing on your FreeBSD effort?
@julian Sorry for the delay but I am working on a new project. For the moment
it he has five different methods
sleep() but at the moment the
sleep() method is utterly broken and impact my other projects.
Reading the commit message, it does not affect the way the port would be handled. To be honest, I did not get what was the use case of this new flag. To be more specific, I fail to see how you can manage plugins if you do not have direct access to disk. IIRC, it is related to AWS but I am not familiar with Amazon services.
I should resume my work on the NodeBB port next week.
Sounds like a very complicated project, @hukadan! I'm assuming this is a long-running process?