Hi Jared, Sorry for this taking so long. I finally got some time to work on the gateway rpm. Though really, I need a second opinion to see if I should proceed with what I've done or try something else.
As discussed a while ago, I have tried my hand at bundling the gateway nodejs dependencies. The biggest problem with that was there was several binary packages that it wanted. In the end, I bundled everything but those packages, and those packages I created links in the bundle. So the package depends on those binary nodejs packages, but everything else is bundled.
I'm attaching my spec file, along with the gateway-tarball.sh that does the bundling.
Could you let me know what you think?
I'm totally open to being completely wrong. This is the first time I've done a nodejs bundling.
Troy p.s. I figured I'd cc the rest of the iot mailling list incase anyone else on here has any ideas.
Hi Troy,
I don't have the knowledge about the nodejs side of things but a few other notes.
Overall I think we should call the package something more descriptive such as mozilla-iot-gateway as gateway could mean a number of things.
In terms of dependencies I suspect we'll likely need some more around other deps, and likely some optional supported stacks like openzwave and related but that can evolve as we go.
Peter
On Tue, Jan 22, 2019 at 10:09 PM Troy Dawson tdawson@redhat.com wrote:
Hi Jared, Sorry for this taking so long. I finally got some time to work on the gateway rpm. Though really, I need a second opinion to see if I should proceed with what I've done or try something else.
As discussed a while ago, I have tried my hand at bundling the gateway nodejs dependencies. The biggest problem with that was there was several binary packages that it wanted. In the end, I bundled everything but those packages, and those packages I created links in the bundle. So the package depends on those binary nodejs packages, but everything else is bundled.
I'm attaching my spec file, along with the gateway-tarball.sh that does the bundling.
Could you let me know what you think?
I'm totally open to being completely wrong. This is the first time I've done a nodejs bundling.
Troy p.s. I figured I'd cc the rest of the iot mailling list incase anyone else on here has any ideas. _______________________________________________ IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
Both of those are very good points.
Name: I like what you proposed mozilla-iot-gateway ... The only issue I have with it is the "mozilla" point. I'm worried that people will think it's a browser plugin, or something like that. I went to their webpage [1] and they are calling it "Things Gateway" ... because it is part of "Project Things". So how about project-things-gateway or maybe just things-gateway
Supported Stacks: Here's an interesting tidbit. When you install things-gateway (that's what I'm going to call it in this email) you really only get the gateway, no supporting stacks. You can run the gateway, and it will *look* like and act like everything is installed. You can click on LIFX or TP-Link, and the web interface will say that they are loaded and all that. But then you won't be able to see or work with any of those things. You might think maybe you have a firewall issue, or something like that. But if you look at your server logs, it's spitting out (over and over again) errors saying that it can't find those modules. If you look at the mozilla-iot github area,[2] you'll see all of those stacks, each in their own github repo. Several aren't even nodejs. The takeaway is that we need to package each of those things as their own gateway module, named something like things-gateway-zigbee things-gateway-tplink That is one of the bugs/issues that I want to file with them. But it looks like version 7.0 is close to being released, so I'm going to wait until that is released before I file any more bugs.
Troy
[1] - https://mozilla-iot.github.io/ [2] - https://github.com/mozilla-iot
On Wed, Jan 23, 2019 at 12:04 AM Peter Robinson pbrobinson@gmail.com wrote:
Hi Troy,
I don't have the knowledge about the nodejs side of things but a few other notes.
Overall I think we should call the package something more descriptive such as mozilla-iot-gateway as gateway could mean a number of things.
In terms of dependencies I suspect we'll likely need some more around other deps, and likely some optional supported stacks like openzwave and related but that can evolve as we go.
Peter
On Tue, Jan 22, 2019 at 10:09 PM Troy Dawson tdawson@redhat.com wrote:
Hi Jared, Sorry for this taking so long. I finally got some time to work on the gateway rpm. Though really, I need a second opinion to see if I should proceed with what I've done or try something else.
As discussed a while ago, I have tried my hand at bundling the gateway nodejs dependencies. The biggest problem with that was there was several binary packages that it wanted. In the end, I bundled everything but those packages, and those packages I created links in the bundle. So the package depends on those binary nodejs packages, but everything else is bundled.
I'm attaching my spec file, along with the gateway-tarball.sh that does the bundling.
Could you let me know what you think?
I'm totally open to being completely wrong. This is the first time I've done a nodejs bundling.
Troy p.s. I figured I'd cc the rest of the iot mailling list incase anyone else on here has any ideas.
Both of those are very good points.
Name: I like what you proposed mozilla-iot-gateway ... The only issue I have with it is the "mozilla" point. I'm worried that people will think it's a browser plugin, or something like that. I went to their webpage [1] and they are calling it "Things Gateway" ... because it is part of "Project Things". So how about project-things-gateway or maybe just things-gateway
I don't think mozilla as a name is a problem here in the gateway context, but I do like the things context, so I think mozilla-things-gateway is a reasonable name.
Supported Stacks: Here's an interesting tidbit. When you install things-gateway (that's what I'm going to call it in this email) you really only get the gateway, no supporting stacks. You can run the gateway, and it will *look* like and act like everything is installed. You can click on LIFX or TP-Link, and the web interface will say that they are loaded and all that. But then you won't be able to see or work with any of those things. You might think maybe you have a firewall issue, or something like that. But if you look at your server logs, it's spitting out (over and over again) errors saying that it can't find those modules. If you look at the mozilla-iot github area,[2] you'll see all of those stacks, each in their own github repo. Several aren't even nodejs. The takeaway is that we need to package each of those things as their own gateway module, named something like things-gateway-zigbee things-gateway-tplink That is one of the bugs/issues that I want to file with them. But it looks like version 7.0 is close to being released, so I'm going to wait until that is released before I file any more bugs.
OK, I think we can work with mozilla on this.
Peter
Troy
[1] - https://mozilla-iot.github.io/ [2] - https://github.com/mozilla-iot
On Wed, Jan 23, 2019 at 12:04 AM Peter Robinson pbrobinson@gmail.com wrote:
Hi Troy,
I don't have the knowledge about the nodejs side of things but a few other notes.
Overall I think we should call the package something more descriptive such as mozilla-iot-gateway as gateway could mean a number of things.
In terms of dependencies I suspect we'll likely need some more around other deps, and likely some optional supported stacks like openzwave and related but that can evolve as we go.
Peter
On Tue, Jan 22, 2019 at 10:09 PM Troy Dawson tdawson@redhat.com wrote:
Hi Jared, Sorry for this taking so long. I finally got some time to work on the gateway rpm. Though really, I need a second opinion to see if I should proceed with what I've done or try something else.
As discussed a while ago, I have tried my hand at bundling the gateway nodejs dependencies. The biggest problem with that was there was several binary packages that it wanted. In the end, I bundled everything but those packages, and those packages I created links in the bundle. So the package depends on those binary nodejs packages, but everything else is bundled.
I'm attaching my spec file, along with the gateway-tarball.sh that does the bundling.
Could you let me know what you think?
I'm totally open to being completely wrong. This is the first time I've done a nodejs bundling.
Troy p.s. I figured I'd cc the rest of the iot mailling list incase anyone else on here has any ideas.
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
On Thu, Jan 24, 2019 at 6:02 PM Peter Robinson pbrobinson@gmail.com wrote:
Both of those are very good points.
Name: I like what you proposed mozilla-iot-gateway ... The only issue I have with it is the "mozilla" point. I'm worried that people will think it's a browser plugin, or something like that. I went to their webpage [1] and they are calling it "Things Gateway" ... because it is part of "Project Things". So how about project-things-gateway or maybe just things-gateway
I don't think mozilla as a name is a problem here in the gateway context, but I do like the things context, so I think mozilla-things-gateway is a reasonable name.
Supported Stacks: Here's an interesting tidbit. When you install things-gateway (that's what I'm going to call it in this email) you really only get the gateway, no supporting stacks. You can run the gateway, and it will *look* like and act like everything is installed. You can click on LIFX or TP-Link, and the web interface will say that they are loaded and all that. But then you won't be able to see or work with any of those things. You might think maybe you have a firewall issue, or something like that. But if you look at your server logs, it's spitting out (over and over again) errors saying that it can't find those modules. If you look at the mozilla-iot github area,[2] you'll see all of those stacks, each in their own github repo. Several aren't even nodejs. The takeaway is that we need to package each of those things as their own gateway module, named something like things-gateway-zigbee things-gateway-tplink That is one of the bugs/issues that I want to file with them. But it looks like version 7.0 is close to being released, so I'm going to wait until that is released before I file any more bugs.
OK, I think we can work with mozilla on this.
gateway 0.7 is released. [3] I'm going to play with that some and start filing issues on things I see.
Troy
[3] - https://github.com/mozilla-iot/gateway/releases
[1] - https://mozilla-iot.github.io/ [2] - https://github.com/mozilla-iot
On Wed, Jan 23, 2019 at 12:04 AM Peter Robinson pbrobinson@gmail.com wrote:
Hi Troy,
I don't have the knowledge about the nodejs side of things but a few other notes.
Overall I think we should call the package something more descriptive such as mozilla-iot-gateway as gateway could mean a number of things.
In terms of dependencies I suspect we'll likely need some more around other deps, and likely some optional supported stacks like openzwave and related but that can evolve as we go.
Peter
On Tue, Jan 22, 2019 at 10:09 PM Troy Dawson tdawson@redhat.com wrote:
Hi Jared, Sorry for this taking so long. I finally got some time to work on the gateway rpm. Though really, I need a second opinion to see if I should proceed with what I've done or try something else.
As discussed a while ago, I have tried my hand at bundling the gateway nodejs dependencies. The biggest problem with that was there was several binary packages that it wanted. In the end, I bundled everything but those packages, and those packages I created links in the bundle. So the package depends on those binary nodejs packages, but everything else is bundled.
I'm attaching my spec file, along with the gateway-tarball.sh that does the bundling.
Could you let me know what you think?
I'm totally open to being completely wrong. This is the first time I've done a nodejs bundling.
Troy p.s. I figured I'd cc the rest of the iot mailling list incase anyone else on here has any ideas.
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
On Tue, Jan 22, 2019 at 5:09 PM Troy Dawson tdawson@redhat.com wrote:
Hi Jared, Sorry for this taking so long. I finally got some time to work on the gateway rpm. Though really, I need a second opinion to see if I should proceed with what I've done or try something else.
No worries on it taking a while -- I was on vacation all last week, and am swamped with ${DAYJOB} work now that I'm back. That being said, here are a few comments on the spec file as I see it.
1. Trying to build the package from this file (rpmbuild -ba gateway.spec) fails. In particular, it's failing because several of the things you're copying in line 37 of your spec file don't seem to come from the tarball when it's unpackaged in line 28. Also, there are lots of those things that we wouldn't necessarily want to include in our package, such as the .gitignore file for the .travis.yml file, just to name a couple of examples.
2. The "license" field is wrong, for a couple of reasons. One, you should use the abbreviation "MPLv2.0" as listed at https://fedoraproject.org/wiki/Licensing:Main#Software_License_List. Second, because you're bundling all of the dependencies, the license on this package needs to reflect the licenses of *everything* that's bundled with the package. Yes, that means doing a license audit of everything that's being bundled. And yes, that's a lot of work.
3. Nothing seems to be showing that the dependencies are bundled. At a minimum, I would expect a long list of lines that look something like: "Provides: bundled(nodejs-abab)=1.0.4", "Provides: bundled(nodejs-abbrev)=1.1.1", etc. See https://fedoraproject.org/wiki/Bundled_Software_policy for the bundled software policy itself.
4. I would assume that at least *some* of the necessary dependencies are already in Fedora -- if so, we should use those if possible instead of using the bundled versions, and if there's a reason we can't use the system version, we should document it in the spec file.
I'll try to do a more thorough review of the spec file later this week.
Also, I'm all for renaming this to "things-gateway" or "moz-iot-gateway" or something more descriptive than just "gateway".
-- Jared Smith
On Tue, Jan 29, 2019 at 6:07 AM Jared K. Smith jsmith@fedoraproject.org wrote:
On Tue, Jan 22, 2019 at 5:09 PM Troy Dawson tdawson@redhat.com wrote:
Hi Jared, Sorry for this taking so long. I finally got some time to work on the gateway rpm. Though really, I need a second opinion to see if I should proceed with what I've done or try something else.
No worries on it taking a while -- I was on vacation all last week, and am swamped with ${DAYJOB} work now that I'm back. That being said, here are a few comments on the spec file as I see it.
- Trying to build the package from this file (rpmbuild -ba gateway.spec) fails. In particular, it's failing because several of the things you're copying in line 37 of your spec file don't seem to come from the tarball when it's unpackaged in line 28. Also, there are lots of those things that we wouldn't necessarily want to include in our package, such as the .gitignore file for the .travis.yml file, just to name a couple of examples.
Ya, I initially just had what I considered the minimum set of things we wanted in the package, and that kept failling, after about the 5th "oh it really does need this .xxx file" I just threw everything in. I haven't built this in a mock area yet
- The "license" field is wrong, for a couple of reasons. One, you should use the abbreviation "MPLv2.0" as listed at https://fedoraproject.org/wiki/Licensing:Main#Software_License_List. Second, because you're bundling all of the dependencies, the license on this package needs to reflect the licenses of *everything* that's bundled with the package. Yes, that means doing a license audit of everything that's being bundled. And yes, that's a lot of work.
That's going to be a pain, but it's still better than having to create a package for each of those (where I'd have to find the license anyway) so ... ok.
- Nothing seems to be showing that the dependencies are bundled. At a minimum, I would expect a long list of lines that look something like: "Provides: bundled(nodejs-abab)=1.0.4", "Provides: bundled(nodejs-abbrev)=1.1.1", etc. See https://fedoraproject.org/wiki/Bundled_Software_policy for the bundled software policy itself.
Yep, I'm still working on getting this working, and pulling things out. I'll do that step at the end. But thank you for the link.
- I would assume that at least *some* of the necessary dependencies are already in Fedora -- if so, we should use those if possible instead of using the bundled versions, and if there's a reason we can't use the system version, we should document it in the spec file.
I can try to find more, the one's I have listed in the Requires are the "binary" packages.
I'll try to do a more thorough review of the spec file later this week.
Also, I'm all for renaming this to "things-gateway" or "moz-iot-gateway" or something more descriptive than just "gateway".
-- Jared Smith
So, I updated to version 0.7.0, and among other things, the output to the console when it's run is much lower. So I have been able to track down several of what I was considering bugs.
- We will need to also package gateway-addon-python and gateway-addon-node -- I just want to let that be known as we talk about the right name for this. If we make the initial gateway name too long and we have to tack on two more names for it's packages, then the names are going to be huge. -- The good news is this is the reason I thought we had to package all of the sensors it knows about seperately. It was really failing because it didn't have the correct add-on. --- When you click on an addon, if it doesn't already have it, it downloads that addon. --- Before there were so many other outputs I missed that it was successfully downloading those addon's, but then failling because they were python or nodejs based, and I didn't have the translator for those languages installed.
- We will also need to package nanomsg and nodejs-nanomsg
For names, I'm still torn between "things-gateway" and "mozilla-iot-gateway". I'm leaning towards "things-gateway" because maybe in the future this might be completely seperate from mozilla. But, other than that, mozilla-iot-gateway is much more descriptive.
Troy
On Tue, Jan 29, 2019 at 9:49 AM Troy Dawson tdawson@redhat.com wrote:
- We will also need to package nanomsg and nodejs-nanomsg
I'll work on getting those in Fedora.
-Jared
On Tue, Jan 29, 2019 at 6:49 AM Troy Dawson tdawson@redhat.com wrote:
On Tue, Jan 29, 2019 at 6:07 AM Jared K. Smith jsmith@fedoraproject.org wrote:
- Nothing seems to be showing that the dependencies are bundled. At a minimum, I would expect a long list of lines that look something like: "Provides: bundled(nodejs-abab)=1.0.4", "Provides: bundled(nodejs-abbrev)=1.1.1", etc. See https://fedoraproject.org/wiki/Bundled_Software_policy for the bundled software policy itself.
Yep, I'm still working on getting this working, and pulling things out. I'll do that step at the end. But thank you for the link.
- I would assume that at least *some* of the necessary dependencies are already in Fedora -- if so, we should use those if possible instead of using the bundled versions, and if there's a reason we can't use the system version, we should document it in the spec file.
I can try to find more, the one's I have listed in the Requires are the "binary" packages.
Here's a fun fact. gateway depends on 1000 node_modules (exactly I believe) I was able to unbundle 455 of those packages. Ya!! Of course, that means that I have to have 455 lines of "Requires:" and 545 lines of "Provides: bundled()" in the spec file Ya!!?? This spec file just went from a lightweight to a sumo wrestler in one day.
Troy
On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com wrote:
Here's a fun fact. gateway depends on 1000 node_modules (exactly I believe) I was able to unbundle 455 of those packages. Ya!! Of course, that means that I have to have 455 lines of "Requires:" and 545 lines of "Provides: bundled()" in the spec file Ya!!?? This spec file just went from a lightweight to a sumo wrestler in one day.
That's the NodeJS way, unfortunately. I know the NodeJS SIG was working on a macro to automagically create the "Provides: bundled()" lines, but I really don't know if they ever got it working.
-Jared
Next release of "gateway" is up, along with a corresponding updated nodejs-nanomsg for all arches. The source rpm[1] has been trimmed by 30M and built rpm[2] by 20M. Ya!! The spec file [3] has an updated license list with all the licenses from the bundled modules. Oddly enough, I didn't find a single GPL, though there was one LGPL. It also has all the unbundled packages now as Requires, and all the bundled packages as Provides: bundled(). Thus making the spec file rather long. I also went through and trimmed out all the cruft that didn't need to be installed for gateway to run (.travis.yml, .babelrc, and others) I also added how to run it as a regular user in the %description area. That's probrubly not the best place to put that, but I figured it's a place a user can always see. The script[4] to download, setup, trim and tar up the source with it's dependencies has been updated to use an external file, that is a list of all the nodejs modules to pull out of the bundled dependencies. It also now goes as deep as it needs to in order to pull out all those modules. And there is the list of modules we are unbundeling.[5] Here is where everything is. [6]
These have been tested on aarch64 (rpi3b+) and x86_64.
I haven't decided between things-gateway and mozilla-iot-gateway. Both have good reasons to be the right name. Honestly, I might just flip a coin and let that decide. If anyone has a strong preference for one or the other, let me know.
Troy
[1] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm [2] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list [6] - https://tdawson.fedorapeople.org/gateway/ On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith jsmith@fedoraproject.org wrote:
On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com wrote:
Here's a fun fact. gateway depends on 1000 node_modules (exactly I believe) I was able to unbundle 455 of those packages. Ya!! Of course, that means that I have to have 455 lines of "Requires:" and 545 lines of "Provides: bundled()" in the spec file Ya!!?? This spec file just went from a lightweight to a sumo wrestler in one day.
That's the NodeJS way, unfortunately. I know the NodeJS SIG was working on a macro to automagically create the "Provides: bundled()" lines, but I really don't know if they ever got it working.
-Jared
I knew I shouldn't have hit 'send'. Always test on a clean machine. A few more tweeks are needed.
On Wed, Jan 30, 2019 at 3:17 PM Troy Dawson tdawson@redhat.com wrote:
Next release of "gateway" is up, along with a corresponding updated nodejs-nanomsg for all arches. The source rpm[1] has been trimmed by 30M and built rpm[2] by 20M. Ya!! The spec file [3] has an updated license list with all the licenses from the bundled modules. Oddly enough, I didn't find a single GPL, though there was one LGPL. It also has all the unbundled packages now as Requires, and all the bundled packages as Provides: bundled(). Thus making the spec file rather long. I also went through and trimmed out all the cruft that didn't need to be installed for gateway to run (.travis.yml, .babelrc, and others) I also added how to run it as a regular user in the %description area. That's probrubly not the best place to put that, but I figured it's a place a user can always see. The script[4] to download, setup, trim and tar up the source with it's dependencies has been updated to use an external file, that is a list of all the nodejs modules to pull out of the bundled dependencies. It also now goes as deep as it needs to in order to pull out all those modules. And there is the list of modules we are unbundeling.[5] Here is where everything is. [6]
These have been tested on aarch64 (rpi3b+) and x86_64.
I haven't decided between things-gateway and mozilla-iot-gateway. Both have good reasons to be the right name. Honestly, I might just flip a coin and let that decide. If anyone has a strong preference for one or the other, let me know.
Troy
[1] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm [2] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list [6] - https://tdawson.fedorapeople.org/gateway/ On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith jsmith@fedoraproject.org wrote:
On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com wrote:
Here's a fun fact. gateway depends on 1000 node_modules (exactly I believe) I was able to unbundle 455 of those packages. Ya!! Of course, that means that I have to have 455 lines of "Requires:" and 545 lines of "Provides: bundled()" in the spec file Ya!!?? This spec file just went from a lightweight to a sumo wrestler in one day.
That's the NodeJS way, unfortunately. I know the NodeJS SIG was working on a macro to automagically create the "Provides: bundled()" lines, but I really don't know if they ever got it working.
-Jared
On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote:
Next release of "gateway" is up, along with a corresponding updated nodejs-nanomsg for all arches. The source rpm[1] has been trimmed by 30M and built rpm[2] by 20M. Ya!! The spec file [3] has an updated license list with all the licenses from the bundled modules. Oddly enough, I didn't find a single GPL, though there was one LGPL. It also has all the unbundled packages now as Requires, and all the bundled packages as Provides: bundled(). Thus making the spec file rather long. I also went through and trimmed out all the cruft that didn't need to be installed for gateway to run (.travis.yml, .babelrc, and others) I also added how to run it as a regular user in the %description area. That's probrubly not the best place to put that, but I figured it's a place a user can always see. The script[4] to download, setup, trim and tar up the source with it's dependencies has been updated to use an external file, that is a list of all the nodejs modules to pull out of the bundled dependencies. It also now goes as deep as it needs to in order to pull out all those modules. And there is the list of modules we are unbundeling.[5] Here is where everything is. [6]
These have been tested on aarch64 (rpi3b+) and x86_64.
I haven't decided between things-gateway and mozilla-iot-gateway.
Have you considered mozillathings-iot-gateway?
Both have good reasons to be the right name. Honestly, I might just flip a coin and let that decide. If anyone has a strong preference for one or the other, let me know.
Troy
[1] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm [2] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list [6] - https://tdawson.fedorapeople.org/gateway/ On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < jsmith@fedoraproject.org> wrote:
On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com wrote:
Here's a fun fact. gateway depends on 1000 node_modules (exactly I believe) I was able to unbundle 455 of those packages. Ya!! Of course, that means that I have to have 455 lines of "Requires:" and 545 lines of "Provides: bundled()" in the spec file Ya!!?? This spec file just went from a lightweight to a sumo wrestler in one day.
That's the NodeJS way, unfortunately. I know the NodeJS SIG was working on a macro to automagically create the "Provides: bundled()" lines, but I really don't know if they ever got it working.
-Jared
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
Two things: 1 - I'm calling the package mozilla-iot-gateway -- The reason for my final decision is that everything gets saved in ~/.mozilla-iot Also, I haven't seen anything in it's documentation refering to it as things-gateway, other than that one webpage.
2 - As much as I liked removing the modules for over 400 modules, I just hit bug after bug after bug. Alot of our nodejs modules are very old. versions 0.7 when gateway needs 3.6, things like that. I'm going back to my original design of only unbundling the binary (arch dependent) modules.
I should have a workable package tomorrow.
Troy
On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote:
On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote:
Next release of "gateway" is up, along with a corresponding updated nodejs-nanomsg for all arches. The source rpm[1] has been trimmed by 30M and built rpm[2] by 20M. Ya!! The spec file [3] has an updated license list with all the licenses from the bundled modules. Oddly enough, I didn't find a single GPL, though there was one LGPL. It also has all the unbundled packages now as Requires, and all the bundled packages as Provides: bundled(). Thus making the spec file rather long. I also went through and trimmed out all the cruft that didn't need to be installed for gateway to run (.travis.yml, .babelrc, and others) I also added how to run it as a regular user in the %description area. That's probrubly not the best place to put that, but I figured it's a place a user can always see. The script[4] to download, setup, trim and tar up the source with it's dependencies has been updated to use an external file, that is a list of all the nodejs modules to pull out of the bundled dependencies. It also now goes as deep as it needs to in order to pull out all those modules. And there is the list of modules we are unbundeling.[5] Here is where everything is. [6]
These have been tested on aarch64 (rpi3b+) and x86_64.
I haven't decided between things-gateway and mozilla-iot-gateway.
Have you considered mozillathings-iot-gateway?
Both have good reasons to be the right name. Honestly, I might just flip a coin and let that decide. If anyone has a strong preference for one or the other, let me know.
Troy
[1] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm [2] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list [6] - https://tdawson.fedorapeople.org/gateway/ On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < jsmith@fedoraproject.org> wrote:
On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com wrote:
Here's a fun fact. gateway depends on 1000 node_modules (exactly I believe) I was able to unbundle 455 of those packages. Ya!! Of course, that means that I have to have 455 lines of "Requires:" and 545 lines of "Provides: bundled()" in the spec file Ya!!?? This spec file just went from a lightweight to a sumo wrestler in one day.
That's the NodeJS way, unfortunately. I know the NodeJS SIG was working on a macro to automagically create the "Provides: bundled()" lines, but I really don't know if they ever got it working.
-Jared
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
I believe I have this working now. I've tried it on a couple of x86_64 machines and it works great. I'm having some problems installing in on aarch64 (raspberry pi 3) machines. But I'm pretty sure it will work.
Here is the packages, spec files, and supporting scripts. https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no... https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64.... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec
Troy
On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com wrote:
Two things: 1 - I'm calling the package mozilla-iot-gateway -- The reason for my final decision is that everything gets saved in ~/.mozilla-iot Also, I haven't seen anything in it's documentation refering to it as things-gateway, other than that one webpage.
2 - As much as I liked removing the modules for over 400 modules, I just hit bug after bug after bug. Alot of our nodejs modules are very old. versions 0.7 when gateway needs 3.6, things like that. I'm going back to my original design of only unbundling the binary (arch dependent) modules.
I should have a workable package tomorrow.
Troy
On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote:
On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote:
Next release of "gateway" is up, along with a corresponding updated nodejs-nanomsg for all arches. The source rpm[1] has been trimmed by 30M and built rpm[2] by 20M. Ya!! The spec file [3] has an updated license list with all the licenses from the bundled modules. Oddly enough, I didn't find a single GPL, though there was one LGPL. It also has all the unbundled packages now as Requires, and all the bundled packages as Provides: bundled(). Thus making the spec file rather long. I also went through and trimmed out all the cruft that didn't need to be installed for gateway to run (.travis.yml, .babelrc, and others) I also added how to run it as a regular user in the %description area. That's probrubly not the best place to put that, but I figured it's a place a user can always see. The script[4] to download, setup, trim and tar up the source with it's dependencies has been updated to use an external file, that is a list of all the nodejs modules to pull out of the bundled dependencies. It also now goes as deep as it needs to in order to pull out all those modules. And there is the list of modules we are unbundeling.[5] Here is where everything is. [6]
These have been tested on aarch64 (rpi3b+) and x86_64.
I haven't decided between things-gateway and mozilla-iot-gateway.
Have you considered mozillathings-iot-gateway?
Both have good reasons to be the right name. Honestly, I might just flip a coin and let that decide. If anyone has a strong preference for one or the other, let me know.
Troy
[1] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm [2] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list [6] - https://tdawson.fedorapeople.org/gateway/ On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < jsmith@fedoraproject.org> wrote:
On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com wrote:
Here's a fun fact. gateway depends on 1000 node_modules (exactly I believe) I was able to unbundle 455 of those packages. Ya!! Of course, that means that I have to have 455 lines of "Requires:" and 545 lines of "Provides: bundled()" in the spec file Ya!!?? This spec file just went from a lightweight to a sumo wrestler in one day.
That's the NodeJS way, unfortunately. I know the NodeJS SIG was working on a macro to automagically create the "Provides: bundled()" lines, but I really don't know if they ever got it working.
-Jared
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
For those who were wondering. Now that I'm able to install rpm-ostree packages ... this works on aarch64 machines too. Ya!! Please give a look. Especially the spec files. If they look good I'll work on getting them into Fedora, hopefully in time for F30 freeze.
On Mon, Feb 4, 2019 at 10:24 AM Troy Dawson tdawson@redhat.com wrote:
I believe I have this working now. I've tried it on a couple of x86_64 machines and it works great. I'm having some problems installing in on aarch64 (raspberry pi 3) machines. But I'm pretty sure it will work.
Here is the packages, spec files, and supporting scripts. https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no... https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64.... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec
Troy
On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com wrote:
Two things: 1 - I'm calling the package mozilla-iot-gateway -- The reason for my final decision is that everything gets saved in ~/.mozilla-iot Also, I haven't seen anything in it's documentation refering to it as things-gateway, other than that one webpage.
2 - As much as I liked removing the modules for over 400 modules, I just hit bug after bug after bug. Alot of our nodejs modules are very old. versions 0.7 when gateway needs 3.6, things like that. I'm going back to my original design of only unbundling the binary (arch dependent) modules.
I should have a workable package tomorrow.
Troy
On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote:
On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote:
Next release of "gateway" is up, along with a corresponding updated nodejs-nanomsg for all arches. The source rpm[1] has been trimmed by 30M and built rpm[2] by 20M. Ya!! The spec file [3] has an updated license list with all the licenses from the bundled modules. Oddly enough, I didn't find a single GPL, though there was one LGPL. It also has all the unbundled packages now as Requires, and all the bundled packages as Provides: bundled(). Thus making the spec file rather long. I also went through and trimmed out all the cruft that didn't need to be installed for gateway to run (.travis.yml, .babelrc, and others) I also added how to run it as a regular user in the %description area. That's probrubly not the best place to put that, but I figured it's a place a user can always see. The script[4] to download, setup, trim and tar up the source with it's dependencies has been updated to use an external file, that is a list of all the nodejs modules to pull out of the bundled dependencies. It also now goes as deep as it needs to in order to pull out all those modules. And there is the list of modules we are unbundeling.[5] Here is where everything is. [6]
These have been tested on aarch64 (rpi3b+) and x86_64.
I haven't decided between things-gateway and mozilla-iot-gateway.
Have you considered mozillathings-iot-gateway?
Both have good reasons to be the right name. Honestly, I might just flip a coin and let that decide. If anyone has a strong preference for one or the other, let me know.
Troy
[1] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm [2] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list [6] - https://tdawson.fedorapeople.org/gateway/ On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < jsmith@fedoraproject.org> wrote:
On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com wrote:
Here's a fun fact. gateway depends on 1000 node_modules (exactly I believe) I was able to unbundle 455 of those packages. Ya!! Of course, that means that I have to have 455 lines of "Requires:" and 545 lines of "Provides: bundled()" in the spec file Ya!!?? This spec file just went from a lightweight to a sumo wrestler in one day.
That's the NodeJS way, unfortunately. I know the NodeJS SIG was working on a macro to automagically create the "Provides: bundled()" lines, but I really don't know if they ever got it working.
-Jared
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
Please give a look. Especially the spec files. If they look good
I will do in in the next few days.
I'll work on getting them into Fedora, hopefully in time for F30 freeze.
I would much sooner if we could aim for much sooner than that to enable wider testing by interested parties. It's going to take time to do things like license review so the sooner we can get the spec up for review it will start to enable these things more formally. I don't expect the first version that lands in the repos proper to be perfect but it does enable easier testing by a wider audience and release early release often etc.
While obviously there's still work to be done I think it's in good enough shape to get the package review submitted and in motion.
Peter
On Mon, Feb 4, 2019 at 10:24 AM Troy Dawson tdawson@redhat.com wrote:
I believe I have this working now. I've tried it on a couple of x86_64 machines and it works great. I'm having some problems installing in on aarch64 (raspberry pi 3) machines. But I'm pretty sure it will work.
Here is the packages, spec files, and supporting scripts. https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no... https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64.... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec
Troy
On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com wrote:
Two things: 1 - I'm calling the package mozilla-iot-gateway -- The reason for my final decision is that everything gets saved in ~/.mozilla-iot Also, I haven't seen anything in it's documentation refering to it as things-gateway, other than that one webpage.
2 - As much as I liked removing the modules for over 400 modules, I just hit bug after bug after bug. Alot of our nodejs modules are very old. versions 0.7 when gateway needs 3.6, things like that. I'm going back to my original design of only unbundling the binary (arch dependent) modules.
I should have a workable package tomorrow.
Troy
On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote:
On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote:
Next release of "gateway" is up, along with a corresponding updated nodejs-nanomsg for all arches. The source rpm[1] has been trimmed by 30M and built rpm[2] by 20M. Ya!! The spec file [3] has an updated license list with all the licenses from the bundled modules. Oddly enough, I didn't find a single GPL, though there was one LGPL. It also has all the unbundled packages now as Requires, and all the bundled packages as Provides: bundled(). Thus making the spec file rather long. I also went through and trimmed out all the cruft that didn't need to be installed for gateway to run (.travis.yml, .babelrc, and others) I also added how to run it as a regular user in the %description area. That's probrubly not the best place to put that, but I figured it's a place a user can always see. The script[4] to download, setup, trim and tar up the source with it's dependencies has been updated to use an external file, that is a list of all the nodejs modules to pull out of the bundled dependencies. It also now goes as deep as it needs to in order to pull out all those modules. And there is the list of modules we are unbundeling.[5] Here is where everything is. [6]
These have been tested on aarch64 (rpi3b+) and x86_64.
I haven't decided between things-gateway and mozilla-iot-gateway.
Have you considered mozillathings-iot-gateway?
Both have good reasons to be the right name. Honestly, I might just flip a coin and let that decide. If anyone has a strong preference for one or the other, let me know.
Troy
[1] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm [2] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list [6] - https://tdawson.fedorapeople.org/gateway/ On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < jsmith@fedoraproject.org> wrote:
On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com wrote: > Here's a fun fact. > gateway depends on 1000 node_modules (exactly I believe) > I was able to unbundle 455 of those packages. Ya!! > Of course, that means that I have to have 455 lines of > "Requires:" and > 545 lines of "Provides: bundled()" in the spec file > Ya!!?? > This spec file just went from a lightweight to a sumo wrestler in > one day.
That's the NodeJS way, unfortunately. I know the NodeJS SIG was working on a macro to automagically create the "Provides: bundled()" lines, but I really don't know if they ever got it working.
-Jared
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
Fedora Review Requests: * mozilla-iot-gateway https://bugzilla.redhat.com/show_bug.cgi?id=1673125 * nodejs-nanomsg https://bugzilla.redhat.com/show_bug.cgi?id=1673126
Jared, if you could grab those two, I'd appreciate it. Since the gateway package has bundling, I'd appreciate someone who knows about bundling working on it. nodejs-nanomsg is just the standard binary nodejs package. But it's needed so that mozilla-iot-gateway can remain noarch.
Troy
On Wed, Feb 6, 2019 at 5:25 AM Peter Robinson pbrobinson@gmail.com wrote:
Please give a look. Especially the spec files. If they look good
I will do in in the next few days.
I'll work on getting them into Fedora, hopefully in time for F30 freeze.
I would much sooner if we could aim for much sooner than that to enable wider testing by interested parties. It's going to take time to do things like license review so the sooner we can get the spec up for review it will start to enable these things more formally. I don't expect the first version that lands in the repos proper to be perfect but it does enable easier testing by a wider audience and release early release often etc.
While obviously there's still work to be done I think it's in good enough shape to get the package review submitted and in motion.
Peter
On Mon, Feb 4, 2019 at 10:24 AM Troy Dawson tdawson@redhat.com wrote:
I believe I have this working now. I've tried it on a couple of x86_64 machines and it works great. I'm having some problems installing in on aarch64 (raspberry pi 3) machines. But I'm pretty sure it will work.
Here is the packages, spec files, and supporting scripts. https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no... https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64.... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec
Troy
On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com wrote:
Two things: 1 - I'm calling the package mozilla-iot-gateway -- The reason for my final decision is that everything gets saved in ~/.mozilla-iot Also, I haven't seen anything in it's documentation refering to it as things-gateway, other than that one webpage.
2 - As much as I liked removing the modules for over 400 modules, I just hit bug after bug after bug. Alot of our nodejs modules are very old. versions 0.7 when gateway needs 3.6, things like that. I'm going back to my original design of only unbundling the binary (arch dependent) modules.
I should have a workable package tomorrow.
Troy
On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote:
On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote:
Next release of "gateway" is up, along with a corresponding updated nodejs-nanomsg for all arches. The source rpm[1] has been trimmed by 30M and built rpm[2] by 20M. Ya!! The spec file [3] has an updated license list with all the licenses from the bundled modules. Oddly enough, I didn't find a single GPL, though there was one LGPL. It also has all the unbundled packages now as Requires, and all the bundled packages as Provides: bundled(). Thus making the spec file rather long. I also went through and trimmed out all the cruft that didn't need to be installed for gateway to run (.travis.yml, .babelrc, and others) I also added how to run it as a regular user in the %description area. That's probrubly not the best place to put that, but I figured it's a place a user can always see. The script[4] to download, setup, trim and tar up the source with it's dependencies has been updated to use an external file, that is a list of all the nodejs modules to pull out of the bundled dependencies. It also now goes as deep as it needs to in order to pull out all those modules. And there is the list of modules we are unbundeling.[5] Here is where everything is. [6]
These have been tested on aarch64 (rpi3b+) and x86_64.
I haven't decided between things-gateway and mozilla-iot-gateway.
Have you considered mozillathings-iot-gateway?
Both have good reasons to be the right name. Honestly, I might just flip a coin and let that decide. If anyone has a strong preference for one or the other, let me know.
Troy
[1] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm [2] - https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list [6] - https://tdawson.fedorapeople.org/gateway/ On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < jsmith@fedoraproject.org> wrote: > On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com > wrote: > > Here's a fun fact. > > gateway depends on 1000 node_modules (exactly I believe) > > I was able to unbundle 455 of those packages. Ya!! > > Of course, that means that I have to have 455 lines of > > "Requires:" and > > 545 lines of "Provides: bundled()" in the spec file > > Ya!!?? > > This spec file just went from a lightweight to a sumo wrestler in > > one day. > > That's the NodeJS way, unfortunately. I know the NodeJS SIG was > working on a macro to automagically create the "Provides: > bundled()" lines, but I really don't know if they ever got it > working. > > -Jared _______________________________________________ IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
On Wed, Feb 6, 2019 at 6:55 PM Troy Dawson tdawson@redhat.com wrote:
Fedora Review Requests:
- mozilla-iot-gateway
https://bugzilla.redhat.com/show_bug.cgi?id=1673125
- nodejs-nanomsg
https://bugzilla.redhat.com/show_bug.cgi?id=1673126
Jared, if you could grab those two, I'd appreciate it. Since the gateway package has bundling, I'd appreciate someone who knows about bundling working on it. nodejs-nanomsg is just the standard binary nodejs package. But it's needed so that mozilla-iot-gateway can remain noarch.
I took the liberty to assign them to Jared and add them to the IoT tracker :)
Troy
On Wed, Feb 6, 2019 at 5:25 AM Peter Robinson pbrobinson@gmail.com wrote:
Please give a look. Especially the spec files. If they look good
I will do in in the next few days.
I'll work on getting them into Fedora, hopefully in time for F30 freeze.
I would much sooner if we could aim for much sooner than that to enable wider testing by interested parties. It's going to take time to do things like license review so the sooner we can get the spec up for review it will start to enable these things more formally. I don't expect the first version that lands in the repos proper to be perfect but it does enable easier testing by a wider audience and release early release often etc.
While obviously there's still work to be done I think it's in good enough shape to get the package review submitted and in motion.
Peter
On Mon, Feb 4, 2019 at 10:24 AM Troy Dawson tdawson@redhat.com wrote:
I believe I have this working now. I've tried it on a couple of x86_64 machines and it works great. I'm having some problems installing in on aarch64 (raspberry pi 3) machines. But I'm pretty sure it will work.
Here is the packages, spec files, and supporting scripts. https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no... https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64.... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec
Troy
On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com wrote:
Two things: 1 - I'm calling the package mozilla-iot-gateway -- The reason for my final decision is that everything gets saved in ~/.mozilla-iot Also, I haven't seen anything in it's documentation refering to it as things-gateway, other than that one webpage.
2 - As much as I liked removing the modules for over 400 modules, I just hit bug after bug after bug. Alot of our nodejs modules are very old. versions 0.7 when gateway needs 3.6, things like that. I'm going back to my original design of only unbundling the binary (arch dependent) modules.
I should have a workable package tomorrow.
Troy
On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote:
On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote: > Next release of "gateway" is up, along with a corresponding updated > nodejs-nanomsg for all arches. > The source rpm[1] has been trimmed by 30M and built rpm[2] by > 20M. Ya!! > The spec file [3] has an updated license list with all the licenses > from the bundled modules. Oddly enough, I didn't find a single GPL, > though there was one LGPL. > It also has all the unbundled packages now as Requires, and all the > bundled packages as Provides: bundled(). Thus making the spec file > rather long. > I also went through and trimmed out all the cruft that didn't need to > be installed for gateway to run (.travis.yml, .babelrc, and others) > I also added how to run it as a regular user in the %description > area. > That's probrubly not the best place to put that, but I figured it's a > place a user can always see. > The script[4] to download, setup, trim and tar up the source with > it's > dependencies has been updated to use an external file, that is a list > of all the nodejs modules to pull out of the bundled > dependencies. It > also now goes as deep as it needs to in order to pull out all those > modules. > And there is the list of modules we are unbundeling.[5] > Here is where everything is. [6] > > These have been tested on aarch64 (rpi3b+) and x86_64. > > I haven't decided between things-gateway and mozilla-iot-gateway. Have you considered mozillathings-iot-gateway?
> Both have good reasons to be the right name. Honestly, I might just > flip a coin and let that decide. > If anyone has a strong preference for one or the other, let me know. > > Troy > > [1] - > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm > [2] - > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm > [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec > [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh > [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list > [6] - https://tdawson.fedorapeople.org/gateway/ > On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < > jsmith@fedoraproject.org> wrote: > > On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com > > wrote: > > > Here's a fun fact. > > > gateway depends on 1000 node_modules (exactly I believe) > > > I was able to unbundle 455 of those packages. Ya!! > > > Of course, that means that I have to have 455 lines of > > > "Requires:" and > > > 545 lines of "Provides: bundled()" in the spec file > > > Ya!!?? > > > This spec file just went from a lightweight to a sumo wrestler in > > > one day. > > > > That's the NodeJS way, unfortunately. I know the NodeJS SIG was > > working on a macro to automagically create the "Provides: > > bundled()" lines, but I really don't know if they ever got it > > working. > > > > -Jared > _______________________________________________ > IoT mailing list -- iot@lists.fedoraproject.org > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: > https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org _______________________________________________ IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
Thanks for doing the hard work of packaging this up... things are looking pretty good. I'll continue to work on the package review in the Bugzilla ticket.
One question I had was regarding the gateway software itself -- I think we probably need some sort of systemd initscript to start and stop the software, and some sort of instructions for people to get started. Thoughts?
-Jared
On Wed, Feb 6, 2019 at 1:14 PM Troy Dawson tdawson@redhat.com wrote:
Fedora Review Requests:
- mozilla-iot-gateway
https://bugzilla.redhat.com/show_bug.cgi?id=1673125
- nodejs-nanomsg
https://bugzilla.redhat.com/show_bug.cgi?id=1673126
Jared, if you could grab those two, I'd appreciate it. Since the gateway package has bundling, I'd appreciate someone who knows about bundling working on it. nodejs-nanomsg is just the standard binary nodejs package. But it's needed so that mozilla-iot-gateway can remain noarch.
Troy
On Wed, Feb 6, 2019 at 5:25 AM Peter Robinson pbrobinson@gmail.com wrote:
Please give a look. Especially the spec files. If they look good
I will do in in the next few days.
I'll work on getting them into Fedora, hopefully in time for F30 freeze.
I would much sooner if we could aim for much sooner than that to enable wider testing by interested parties. It's going to take time to do things like license review so the sooner we can get the spec up for review it will start to enable these things more formally. I don't expect the first version that lands in the repos proper to be perfect but it does enable easier testing by a wider audience and release early release often etc.
While obviously there's still work to be done I think it's in good enough shape to get the package review submitted and in motion.
Peter
On Mon, Feb 4, 2019 at 10:24 AM Troy Dawson tdawson@redhat.com
wrote:
I believe I have this working now. I've tried it on a couple of x86_64 machines and it works great. I'm having some problems installing in on aarch64 (raspberry pi 3) machines. But I'm pretty sure it will work.
Here is the packages, spec files, and supporting scripts.
https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no...
https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr...
https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64...
https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64....
https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm
https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec
Troy
On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com
wrote:
Two things: 1 - I'm calling the package mozilla-iot-gateway -- The reason for my final decision is that everything gets saved
in
~/.mozilla-iot Also, I haven't seen anything in it's documentation refering to it as things-gateway, other than that one webpage.
2 - As much as I liked removing the modules for over 400 modules, I just hit bug after bug after bug. Alot of our nodejs modules are
very
old. versions 0.7 when gateway needs 3.6, things like that. I'm going back to my original design of only unbundling the binary
(arch
dependent) modules.
I should have a workable package tomorrow.
Troy
On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com
wrote:
On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote: > Next release of "gateway" is up, along with a corresponding
updated
> nodejs-nanomsg for all arches. > The source rpm[1] has been trimmed by 30M and built rpm[2] by > 20M. Ya!! > The spec file [3] has an updated license list with all the
licenses
> from the bundled modules. Oddly enough, I didn't find a
single GPL,
> though there was one LGPL. > It also has all the unbundled packages now as Requires, and
all the
> bundled packages as Provides: bundled(). Thus making the spec
file
> rather long. > I also went through and trimmed out all the cruft that didn't
need to
> be installed for gateway to run (.travis.yml, .babelrc, and
others)
> I also added how to run it as a regular user in the
%description
> area. > That's probrubly not the best place to put that, but I figured
it's a
> place a user can always see. > The script[4] to download, setup, trim and tar up the source
with
> it's > dependencies has been updated to use an external file, that is
a list
> of all the nodejs modules to pull out of the bundled > dependencies. It > also now goes as deep as it needs to in order to pull out all
those
> modules. > And there is the list of modules we are unbundeling.[5] > Here is where everything is. [6] > > These have been tested on aarch64 (rpi3b+) and x86_64. > > I haven't decided between things-gateway and
mozilla-iot-gateway.
Have you considered mozillathings-iot-gateway?
> Both have good reasons to be the right name. Honestly, I
might just
> flip a coin and let that decide. > If anyone has a strong preference for one or the other, let me
know.
> > Troy > > [1] - >
https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm
> [2] - >
https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm
> [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec > [4] -
https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh
> [5] -
https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list
> [6] - https://tdawson.fedorapeople.org/gateway/ > On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < > jsmith@fedoraproject.org> wrote: > > On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson <
tdawson@redhat.com>
> > wrote: > > > Here's a fun fact. > > > gateway depends on 1000 node_modules (exactly I believe) > > > I was able to unbundle 455 of those packages. Ya!! > > > Of course, that means that I have to have 455 lines of > > > "Requires:" and > > > 545 lines of "Provides: bundled()" in the spec file > > > Ya!!?? > > > This spec file just went from a lightweight to a sumo
wrestler in
> > > one day. > > > > That's the NodeJS way, unfortunately. I know the NodeJS SIG
was
> > working on a macro to automagically create the "Provides: > > bundled()" lines, but I really don't know if they ever got it > > working. > > > > -Jared > _______________________________________________ > IoT mailing list -- iot@lists.fedoraproject.org > To unsubscribe send an email to
iot-leave@lists.fedoraproject.org
> Fedora Code of Conduct:
https://getfedora.org/code-of-conduct.html
> List Guidelines: > https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: >
https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to
iot-leave@lists.fedoraproject.org
Fedora Code of Conduct:
https://getfedora.org/code-of-conduct.html
List Guidelines:
https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines:
https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives:
https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
I agree. If you use the gateway rpi images, it automatically starts. I'll look into how they do that, and if it's systemd based, I'll see about getting the files. I'd feel better if the files are coming from the group, so they can be tracked.
Troy
On Sat, Feb 9, 2019 at 10:43 AM Jared K. Smith jsmith@fedoraproject.org wrote:
Thanks for doing the hard work of packaging this up... things are looking pretty good. I'll continue to work on the package review in the Bugzilla ticket.
One question I had was regarding the gateway software itself -- I think we probably need some sort of systemd initscript to start and stop the software, and some sort of instructions for people to get started. Thoughts?
-Jared
On Wed, Feb 6, 2019 at 1:14 PM Troy Dawson tdawson@redhat.com wrote:
Fedora Review Requests:
- mozilla-iot-gateway
https://bugzilla.redhat.com/show_bug.cgi?id=1673125
- nodejs-nanomsg
https://bugzilla.redhat.com/show_bug.cgi?id=1673126
Jared, if you could grab those two, I'd appreciate it. Since the gateway package has bundling, I'd appreciate someone who knows about bundling working on it. nodejs-nanomsg is just the standard binary nodejs package. But it's needed so that mozilla-iot-gateway can remain noarch.
Troy
On Wed, Feb 6, 2019 at 5:25 AM Peter Robinson pbrobinson@gmail.com wrote:
Please give a look. Especially the spec files. If they look good
I will do in in the next few days.
I'll work on getting them into Fedora, hopefully in time for F30 freeze.
I would much sooner if we could aim for much sooner than that to enable wider testing by interested parties. It's going to take time to do things like license review so the sooner we can get the spec up for review it will start to enable these things more formally. I don't expect the first version that lands in the repos proper to be perfect but it does enable easier testing by a wider audience and release early release often etc.
While obviously there's still work to be done I think it's in good enough shape to get the package review submitted and in motion.
Peter
On Mon, Feb 4, 2019 at 10:24 AM Troy Dawson tdawson@redhat.com wrote:
I believe I have this working now. I've tried it on a couple of x86_64 machines and it works great. I'm having some problems installing in on aarch64 (raspberry pi 3) machines. But I'm pretty sure it will work.
Here is the packages, spec files, and supporting scripts. https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no... https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64.... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec
Troy
On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com wrote:
Two things: 1 - I'm calling the package mozilla-iot-gateway -- The reason for my final decision is that everything gets saved in ~/.mozilla-iot Also, I haven't seen anything in it's documentation refering to it as things-gateway, other than that one webpage.
2 - As much as I liked removing the modules for over 400 modules, I just hit bug after bug after bug. Alot of our nodejs modules are very old. versions 0.7 when gateway needs 3.6, things like that. I'm going back to my original design of only unbundling the binary (arch dependent) modules.
I should have a workable package tomorrow.
Troy
On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote: > > On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote: > > Next release of "gateway" is up, along with a corresponding updated > > nodejs-nanomsg for all arches. > > The source rpm[1] has been trimmed by 30M and built rpm[2] by > > 20M. Ya!! > > The spec file [3] has an updated license list with all the licenses > > from the bundled modules. Oddly enough, I didn't find a single GPL, > > though there was one LGPL. > > It also has all the unbundled packages now as Requires, and all the > > bundled packages as Provides: bundled(). Thus making the spec file > > rather long. > > I also went through and trimmed out all the cruft that didn't need to > > be installed for gateway to run (.travis.yml, .babelrc, and others) > > I also added how to run it as a regular user in the %description > > area. > > That's probrubly not the best place to put that, but I figured it's a > > place a user can always see. > > The script[4] to download, setup, trim and tar up the source with > > it's > > dependencies has been updated to use an external file, that is a list > > of all the nodejs modules to pull out of the bundled > > dependencies. It > > also now goes as deep as it needs to in order to pull out all those > > modules. > > And there is the list of modules we are unbundeling.[5] > > Here is where everything is. [6] > > > > These have been tested on aarch64 (rpi3b+) and x86_64. > > > > I haven't decided between things-gateway and mozilla-iot-gateway. > Have you considered mozillathings-iot-gateway? > > > Both have good reasons to be the right name. Honestly, I might just > > flip a coin and let that decide. > > If anyone has a strong preference for one or the other, let me know. > > > > Troy > > > > [1] - > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm > > [2] - > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm > > [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec > > [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh > > [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list > > [6] - https://tdawson.fedorapeople.org/gateway/ > > On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < > > jsmith@fedoraproject.org> wrote: > > > On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com > > > wrote: > > > > Here's a fun fact. > > > > gateway depends on 1000 node_modules (exactly I believe) > > > > I was able to unbundle 455 of those packages. Ya!! > > > > Of course, that means that I have to have 455 lines of > > > > "Requires:" and > > > > 545 lines of "Provides: bundled()" in the spec file > > > > Ya!!?? > > > > This spec file just went from a lightweight to a sumo wrestler in > > > > one day. > > > > > > That's the NodeJS way, unfortunately. I know the NodeJS SIG was > > > working on a macro to automagically create the "Provides: > > > bundled()" lines, but I really don't know if they ever got it > > > working. > > > > > > -Jared > > _______________________________________________ > > IoT mailing list -- iot@lists.fedoraproject.org > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > List Guidelines: > > https://fedoraproject.org/wiki/Mailing_list_guidelines > > List Archives: > > https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org > _______________________________________________ > IoT mailing list -- iot@lists.fedoraproject.org > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
I found the systemd scripts from the gateway image. They are very well commented so they will be easy to use. The only question is have is what user to have these run as? Should we add a new user? Or use one of the standard ones? Either way, we'll have to make sure we have that user available, using the standard fedora rpm techniques for doing that.
On Mon, Feb 11, 2019 at 6:19 AM Troy Dawson tdawson@redhat.com wrote:
I agree. If you use the gateway rpi images, it automatically starts. I'll look into how they do that, and if it's systemd based, I'll see about getting the files. I'd feel better if the files are coming from the group, so they can be tracked.
Troy
On Sat, Feb 9, 2019 at 10:43 AM Jared K. Smith jsmith@fedoraproject.org wrote:
Thanks for doing the hard work of packaging this up... things are looking pretty good. I'll continue to work on the package review in the Bugzilla ticket.
One question I had was regarding the gateway software itself -- I think we probably need some sort of systemd initscript to start and stop the software, and some sort of instructions for people to get started. Thoughts?
-Jared
On Wed, Feb 6, 2019 at 1:14 PM Troy Dawson tdawson@redhat.com wrote:
Fedora Review Requests:
- mozilla-iot-gateway
https://bugzilla.redhat.com/show_bug.cgi?id=1673125
- nodejs-nanomsg
https://bugzilla.redhat.com/show_bug.cgi?id=1673126
Jared, if you could grab those two, I'd appreciate it. Since the gateway package has bundling, I'd appreciate someone who knows about bundling working on it. nodejs-nanomsg is just the standard binary nodejs package. But it's needed so that mozilla-iot-gateway can remain noarch.
Troy
On Wed, Feb 6, 2019 at 5:25 AM Peter Robinson pbrobinson@gmail.com wrote:
Please give a look. Especially the spec files. If they look good
I will do in in the next few days.
I'll work on getting them into Fedora, hopefully in time for F30 freeze.
I would much sooner if we could aim for much sooner than that to enable wider testing by interested parties. It's going to take time to do things like license review so the sooner we can get the spec up for review it will start to enable these things more formally. I don't expect the first version that lands in the repos proper to be perfect but it does enable easier testing by a wider audience and release early release often etc.
While obviously there's still work to be done I think it's in good enough shape to get the package review submitted and in motion.
Peter
On Mon, Feb 4, 2019 at 10:24 AM Troy Dawson tdawson@redhat.com wrote:
I believe I have this working now. I've tried it on a couple of x86_64 machines and it works great. I'm having some problems installing in on aarch64 (raspberry pi 3) machines. But I'm pretty sure it will work.
Here is the packages, spec files, and supporting scripts. https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no... https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64.... https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec
Troy
On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com wrote: > > Two things: > 1 - I'm calling the package mozilla-iot-gateway > -- The reason for my final decision is that everything gets saved in > ~/.mozilla-iot Also, I haven't seen anything in it's documentation > refering to it as things-gateway, other than that one webpage. > > 2 - As much as I liked removing the modules for over 400 modules, I > just hit bug after bug after bug. Alot of our nodejs modules are very > old. versions 0.7 when gateway needs 3.6, things like that. I'm > going back to my original design of only unbundling the binary (arch > dependent) modules. > > I should have a workable package tomorrow. > > Troy > > On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote: > > > > On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote: > > > Next release of "gateway" is up, along with a corresponding updated > > > nodejs-nanomsg for all arches. > > > The source rpm[1] has been trimmed by 30M and built rpm[2] by > > > 20M. Ya!! > > > The spec file [3] has an updated license list with all the licenses > > > from the bundled modules. Oddly enough, I didn't find a single GPL, > > > though there was one LGPL. > > > It also has all the unbundled packages now as Requires, and all the > > > bundled packages as Provides: bundled(). Thus making the spec file > > > rather long. > > > I also went through and trimmed out all the cruft that didn't need to > > > be installed for gateway to run (.travis.yml, .babelrc, and others) > > > I also added how to run it as a regular user in the %description > > > area. > > > That's probrubly not the best place to put that, but I figured it's a > > > place a user can always see. > > > The script[4] to download, setup, trim and tar up the source with > > > it's > > > dependencies has been updated to use an external file, that is a list > > > of all the nodejs modules to pull out of the bundled > > > dependencies. It > > > also now goes as deep as it needs to in order to pull out all those > > > modules. > > > And there is the list of modules we are unbundeling.[5] > > > Here is where everything is. [6] > > > > > > These have been tested on aarch64 (rpi3b+) and x86_64. > > > > > > I haven't decided between things-gateway and mozilla-iot-gateway. > > Have you considered mozillathings-iot-gateway? > > > > > Both have good reasons to be the right name. Honestly, I might just > > > flip a coin and let that decide. > > > If anyone has a strong preference for one or the other, let me know. > > > > > > Troy > > > > > > [1] - > > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm > > > [2] - > > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm > > > [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec > > > [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh > > > [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list > > > [6] - https://tdawson.fedorapeople.org/gateway/ > > > On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < > > > jsmith@fedoraproject.org> wrote: > > > > On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com > > > > wrote: > > > > > Here's a fun fact. > > > > > gateway depends on 1000 node_modules (exactly I believe) > > > > > I was able to unbundle 455 of those packages. Ya!! > > > > > Of course, that means that I have to have 455 lines of > > > > > "Requires:" and > > > > > 545 lines of "Provides: bundled()" in the spec file > > > > > Ya!!?? > > > > > This spec file just went from a lightweight to a sumo wrestler in > > > > > one day. > > > > > > > > That's the NodeJS way, unfortunately. I know the NodeJS SIG was > > > > working on a macro to automagically create the "Provides: > > > > bundled()" lines, but I really don't know if they ever got it > > > > working. > > > > > > > > -Jared > > > _______________________________________________ > > > IoT mailing list -- iot@lists.fedoraproject.org > > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > > List Guidelines: > > > https://fedoraproject.org/wiki/Mailing_list_guidelines > > > List Archives: > > > https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org > > _______________________________________________ > > IoT mailing list -- iot@lists.fedoraproject.org > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
On Wed, Feb 13, 2019 at 3:24 PM Troy Dawson tdawson@redhat.com wrote:
I found the systemd scripts from the gateway image. They are very well commented so they will be easy to use. The only question is have is what user to have these run as? Should we add a new user? Or use one of the standard ones? Either way, we'll have to make sure we have that user available, using the standard fedora rpm techniques for doing that.
I think we should create a new one, the packaging guidelines should have the details for that
P
On Mon, Feb 11, 2019 at 6:19 AM Troy Dawson tdawson@redhat.com wrote:
I agree. If you use the gateway rpi images, it automatically starts. I'll look into how they do that, and if it's systemd based, I'll see about getting the files. I'd feel better if the files are coming from the group, so they can be tracked.
Troy
On Sat, Feb 9, 2019 at 10:43 AM Jared K. Smith jsmith@fedoraproject.org wrote:
Thanks for doing the hard work of packaging this up... things are looking pretty good. I'll continue to work on the package review in the Bugzilla ticket.
One question I had was regarding the gateway software itself -- I think we probably need some sort of systemd initscript to start and stop the software, and some sort of instructions for people to get started. Thoughts?
-Jared
On Wed, Feb 6, 2019 at 1:14 PM Troy Dawson tdawson@redhat.com wrote:
Fedora Review Requests:
- mozilla-iot-gateway
https://bugzilla.redhat.com/show_bug.cgi?id=1673125
- nodejs-nanomsg
https://bugzilla.redhat.com/show_bug.cgi?id=1673126
Jared, if you could grab those two, I'd appreciate it. Since the gateway package has bundling, I'd appreciate someone who knows about bundling working on it. nodejs-nanomsg is just the standard binary nodejs package. But it's needed so that mozilla-iot-gateway can remain noarch.
Troy
On Wed, Feb 6, 2019 at 5:25 AM Peter Robinson pbrobinson@gmail.com wrote:
Please give a look. Especially the spec files. If they look good
I will do in in the next few days.
I'll work on getting them into Fedora, hopefully in time for F30 freeze.
I would much sooner if we could aim for much sooner than that to enable wider testing by interested parties. It's going to take time to do things like license review so the sooner we can get the spec up for review it will start to enable these things more formally. I don't expect the first version that lands in the repos proper to be perfect but it does enable easier testing by a wider audience and release early release often etc.
While obviously there's still work to be done I think it's in good enough shape to get the package review submitted and in motion.
Peter
On Mon, Feb 4, 2019 at 10:24 AM Troy Dawson tdawson@redhat.com wrote: > > I believe I have this working now. > I've tried it on a couple of x86_64 machines and it works great. > I'm having some problems installing in on aarch64 (raspberry pi 3) > machines. But I'm pretty sure it will work. > > Here is the packages, spec files, and supporting scripts. > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no... > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr... > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64... > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64.... > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec > https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh > https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec > > Troy > > On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com wrote: > > > > Two things: > > 1 - I'm calling the package mozilla-iot-gateway > > -- The reason for my final decision is that everything gets saved in > > ~/.mozilla-iot Also, I haven't seen anything in it's documentation > > refering to it as things-gateway, other than that one webpage. > > > > 2 - As much as I liked removing the modules for over 400 modules, I > > just hit bug after bug after bug. Alot of our nodejs modules are very > > old. versions 0.7 when gateway needs 3.6, things like that. I'm > > going back to my original design of only unbundling the binary (arch > > dependent) modules. > > > > I should have a workable package tomorrow. > > > > Troy > > > > On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote: > > > > > > On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote: > > > > Next release of "gateway" is up, along with a corresponding updated > > > > nodejs-nanomsg for all arches. > > > > The source rpm[1] has been trimmed by 30M and built rpm[2] by > > > > 20M. Ya!! > > > > The spec file [3] has an updated license list with all the licenses > > > > from the bundled modules. Oddly enough, I didn't find a single GPL, > > > > though there was one LGPL. > > > > It also has all the unbundled packages now as Requires, and all the > > > > bundled packages as Provides: bundled(). Thus making the spec file > > > > rather long. > > > > I also went through and trimmed out all the cruft that didn't need to > > > > be installed for gateway to run (.travis.yml, .babelrc, and others) > > > > I also added how to run it as a regular user in the %description > > > > area. > > > > That's probrubly not the best place to put that, but I figured it's a > > > > place a user can always see. > > > > The script[4] to download, setup, trim and tar up the source with > > > > it's > > > > dependencies has been updated to use an external file, that is a list > > > > of all the nodejs modules to pull out of the bundled > > > > dependencies. It > > > > also now goes as deep as it needs to in order to pull out all those > > > > modules. > > > > And there is the list of modules we are unbundeling.[5] > > > > Here is where everything is. [6] > > > > > > > > These have been tested on aarch64 (rpi3b+) and x86_64. > > > > > > > > I haven't decided between things-gateway and mozilla-iot-gateway. > > > Have you considered mozillathings-iot-gateway? > > > > > > > Both have good reasons to be the right name. Honestly, I might just > > > > flip a coin and let that decide. > > > > If anyone has a strong preference for one or the other, let me know. > > > > > > > > Troy > > > > > > > > [1] - > > > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm > > > > [2] - > > > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm > > > > [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec > > > > [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh > > > > [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list > > > > [6] - https://tdawson.fedorapeople.org/gateway/ > > > > On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < > > > > jsmith@fedoraproject.org> wrote: > > > > > On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com > > > > > wrote: > > > > > > Here's a fun fact. > > > > > > gateway depends on 1000 node_modules (exactly I believe) > > > > > > I was able to unbundle 455 of those packages. Ya!! > > > > > > Of course, that means that I have to have 455 lines of > > > > > > "Requires:" and > > > > > > 545 lines of "Provides: bundled()" in the spec file > > > > > > Ya!!?? > > > > > > This spec file just went from a lightweight to a sumo wrestler in > > > > > > one day. > > > > > > > > > > That's the NodeJS way, unfortunately. I know the NodeJS SIG was > > > > > working on a macro to automagically create the "Provides: > > > > > bundled()" lines, but I really don't know if they ever got it > > > > > working. > > > > > > > > > > -Jared > > > > _______________________________________________ > > > > IoT mailing list -- iot@lists.fedoraproject.org > > > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > > > List Guidelines: > > > > https://fedoraproject.org/wiki/Mailing_list_guidelines > > > > List Archives: > > > > https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org > > > _______________________________________________ > > > IoT mailing list -- iot@lists.fedoraproject.org > > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > > > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org _______________________________________________ IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
On Wed, Feb 13, 2019 at 7:29 AM Peter Robinson pbrobinson@gmail.com wrote:
On Wed, Feb 13, 2019 at 3:24 PM Troy Dawson tdawson@redhat.com wrote:
I found the systemd scripts from the gateway image. They are very well commented so they will be easy to use. The only question is have is what user to have these run as? Should we add a new user? Or use one of the standard ones? Either way, we'll have to make sure we have that user available, using the standard fedora rpm techniques for doing that.
I think we should create a new one, the packaging guidelines should have the details for that
Yep, just read through them. I'm choosing the Dynamic allocation method [1] because it says the soft static method should only be used if the UID needs to be shared between computers, or the UID is needed in the initfs. I guess the logical username would be "gateway" mozillaiotgateway just seems too long.
[1] - https://fedoraproject.org/wiki/Packaging:UsersAndGroups#Dynamic_allocation
P
On Mon, Feb 11, 2019 at 6:19 AM Troy Dawson tdawson@redhat.com wrote:
I agree. If you use the gateway rpi images, it automatically starts. I'll look into how they do that, and if it's systemd based, I'll see about getting the files. I'd feel better if the files are coming from the group, so they can be tracked.
Troy
On Sat, Feb 9, 2019 at 10:43 AM Jared K. Smith jsmith@fedoraproject.org wrote:
Thanks for doing the hard work of packaging this up... things are looking pretty good. I'll continue to work on the package review in the Bugzilla ticket.
One question I had was regarding the gateway software itself -- I think we probably need some sort of systemd initscript to start and stop the software, and some sort of instructions for people to get started. Thoughts?
-Jared
On Wed, Feb 6, 2019 at 1:14 PM Troy Dawson tdawson@redhat.com wrote:
Fedora Review Requests:
- mozilla-iot-gateway
https://bugzilla.redhat.com/show_bug.cgi?id=1673125
- nodejs-nanomsg
https://bugzilla.redhat.com/show_bug.cgi?id=1673126
Jared, if you could grab those two, I'd appreciate it. Since the gateway package has bundling, I'd appreciate someone who knows about bundling working on it. nodejs-nanomsg is just the standard binary nodejs package. But it's needed so that mozilla-iot-gateway can remain noarch.
Troy
On Wed, Feb 6, 2019 at 5:25 AM Peter Robinson pbrobinson@gmail.com wrote:
> Please give a look. Especially the spec files. If they look good
I will do in in the next few days.
> I'll work on getting them into Fedora, hopefully in time for F30 > freeze.
I would much sooner if we could aim for much sooner than that to enable wider testing by interested parties. It's going to take time to do things like license review so the sooner we can get the spec up for review it will start to enable these things more formally. I don't expect the first version that lands in the repos proper to be perfect but it does enable easier testing by a wider audience and release early release often etc.
While obviously there's still work to be done I think it's in good enough shape to get the package review submitted and in motion.
Peter
> On Mon, Feb 4, 2019 at 10:24 AM Troy Dawson tdawson@redhat.com wrote: > > > > I believe I have this working now. > > I've tried it on a couple of x86_64 machines and it works great. > > I'm having some problems installing in on aarch64 (raspberry pi 3) > > machines. But I'm pretty sure it will work. > > > > Here is the packages, spec files, and supporting scripts. > > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no... > > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr... > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64... > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64.... > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm > > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec > > https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh > > https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec > > > > Troy > > > > On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com wrote: > > > > > > Two things: > > > 1 - I'm calling the package mozilla-iot-gateway > > > -- The reason for my final decision is that everything gets saved in > > > ~/.mozilla-iot Also, I haven't seen anything in it's documentation > > > refering to it as things-gateway, other than that one webpage. > > > > > > 2 - As much as I liked removing the modules for over 400 modules, I > > > just hit bug after bug after bug. Alot of our nodejs modules are very > > > old. versions 0.7 when gateway needs 3.6, things like that. I'm > > > going back to my original design of only unbundling the binary (arch > > > dependent) modules. > > > > > > I should have a workable package tomorrow. > > > > > > Troy > > > > > > On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote: > > > > > > > > On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote: > > > > > Next release of "gateway" is up, along with a corresponding updated > > > > > nodejs-nanomsg for all arches. > > > > > The source rpm[1] has been trimmed by 30M and built rpm[2] by > > > > > 20M. Ya!! > > > > > The spec file [3] has an updated license list with all the licenses > > > > > from the bundled modules. Oddly enough, I didn't find a single GPL, > > > > > though there was one LGPL. > > > > > It also has all the unbundled packages now as Requires, and all the > > > > > bundled packages as Provides: bundled(). Thus making the spec file > > > > > rather long. > > > > > I also went through and trimmed out all the cruft that didn't need to > > > > > be installed for gateway to run (.travis.yml, .babelrc, and others) > > > > > I also added how to run it as a regular user in the %description > > > > > area. > > > > > That's probrubly not the best place to put that, but I figured it's a > > > > > place a user can always see. > > > > > The script[4] to download, setup, trim and tar up the source with > > > > > it's > > > > > dependencies has been updated to use an external file, that is a list > > > > > of all the nodejs modules to pull out of the bundled > > > > > dependencies. It > > > > > also now goes as deep as it needs to in order to pull out all those > > > > > modules. > > > > > And there is the list of modules we are unbundeling.[5] > > > > > Here is where everything is. [6] > > > > > > > > > > These have been tested on aarch64 (rpi3b+) and x86_64. > > > > > > > > > > I haven't decided between things-gateway and mozilla-iot-gateway. > > > > Have you considered mozillathings-iot-gateway? > > > > > > > > > Both have good reasons to be the right name. Honestly, I might just > > > > > flip a coin and let that decide. > > > > > If anyone has a strong preference for one or the other, let me know. > > > > > > > > > > Troy > > > > > > > > > > [1] - > > > > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm > > > > > [2] - > > > > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm > > > > > [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec > > > > > [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh > > > > > [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list > > > > > [6] - https://tdawson.fedorapeople.org/gateway/ > > > > > On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < > > > > > jsmith@fedoraproject.org> wrote: > > > > > > On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com > > > > > > wrote: > > > > > > > Here's a fun fact. > > > > > > > gateway depends on 1000 node_modules (exactly I believe) > > > > > > > I was able to unbundle 455 of those packages. Ya!! > > > > > > > Of course, that means that I have to have 455 lines of > > > > > > > "Requires:" and > > > > > > > 545 lines of "Provides: bundled()" in the spec file > > > > > > > Ya!!?? > > > > > > > This spec file just went from a lightweight to a sumo wrestler in > > > > > > > one day. > > > > > > > > > > > > That's the NodeJS way, unfortunately. I know the NodeJS SIG was > > > > > > working on a macro to automagically create the "Provides: > > > > > > bundled()" lines, but I really don't know if they ever got it > > > > > > working. > > > > > > > > > > > > -Jared > > > > > _______________________________________________ > > > > > IoT mailing list -- iot@lists.fedoraproject.org > > > > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > > > > List Guidelines: > > > > > https://fedoraproject.org/wiki/Mailing_list_guidelines > > > > > List Archives: > > > > > https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org > > > > _______________________________________________ > > > > IoT mailing list -- iot@lists.fedoraproject.org > > > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > > > > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org > _______________________________________________ > IoT mailing list -- iot@lists.fedoraproject.org > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org _______________________________________________ IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
I have successfully packaged everything needed for Mozilla IOT Gateway to run, with add-ons, on Fedora 30.
The following are new packages, in addition to the previous mozilla-iot-gateway-addon-node mozilla-iot-gateway-addon-python nanomsg python3-nnpy
I have them all packaged up and built in my fedora gateway directory https://tdawson.fedorapeople.org/gateway/
python3-nnpy is x86_64 only right now. I'm having some issues with my F30 aarch64 images, and it requires nanomsg, so I have to build it in mock instead of brew.
One thing to note. The gateway will download and build the various add-ons. But ... you will need to turn your firewall off in order to probe for regular wireless devices such as LIFX or TP-Link. So you can either put the ip address in for those devices. Or turn your firewall off, probe, then turn your firewall back on.
I'll be doing some firewall sniffing to figure out what port(s) they are probing on, but for now it's easiest to turn your firewall off while you probe.
Troy
On Wed, Feb 13, 2019 at 7:45 AM Troy Dawson tdawson@redhat.com wrote:
On Wed, Feb 13, 2019 at 7:29 AM Peter Robinson pbrobinson@gmail.com wrote:
On Wed, Feb 13, 2019 at 3:24 PM Troy Dawson tdawson@redhat.com wrote:
I found the systemd scripts from the gateway image. They are very well commented so they will be easy to use. The only question is have is what user to have these run as? Should we add a new user? Or use one of the standard ones? Either way, we'll have to make sure we have that user available, using the standard fedora rpm techniques for doing that.
I think we should create a new one, the packaging guidelines should have the details for that
Yep, just read through them. I'm choosing the Dynamic allocation method [1] because it says the soft static method should only be used if the UID needs to be shared between computers, or the UID is needed in the initfs. I guess the logical username would be "gateway" mozillaiotgateway just seems too long.
[1] - https://fedoraproject.org/wiki/Packaging:UsersAndGroups#Dynamic_allocation
P
On Mon, Feb 11, 2019 at 6:19 AM Troy Dawson tdawson@redhat.com wrote:
I agree. If you use the gateway rpi images, it automatically starts. I'll look into how they do that, and if it's systemd based, I'll see about getting the files. I'd feel better if the files are coming from the group, so they can be tracked.
Troy
On Sat, Feb 9, 2019 at 10:43 AM Jared K. Smith jsmith@fedoraproject.org wrote:
Thanks for doing the hard work of packaging this up... things are looking pretty good. I'll continue to work on the package review in the Bugzilla ticket.
One question I had was regarding the gateway software itself -- I think we probably need some sort of systemd initscript to start and stop the software, and some sort of instructions for people to get started. Thoughts?
-Jared
On Wed, Feb 6, 2019 at 1:14 PM Troy Dawson tdawson@redhat.com wrote:
Fedora Review Requests:
- mozilla-iot-gateway
https://bugzilla.redhat.com/show_bug.cgi?id=1673125
- nodejs-nanomsg
https://bugzilla.redhat.com/show_bug.cgi?id=1673126
Jared, if you could grab those two, I'd appreciate it. Since the gateway package has bundling, I'd appreciate someone who knows about bundling working on it. nodejs-nanomsg is just the standard binary nodejs package. But it's needed so that mozilla-iot-gateway can remain noarch.
Troy
On Wed, Feb 6, 2019 at 5:25 AM Peter Robinson pbrobinson@gmail.com wrote: > > > Please give a look. Especially the spec files. If they look good > > I will do in in the next few days. > > > I'll work on getting them into Fedora, hopefully in time for F30 > > freeze. > > I would much sooner if we could aim for much sooner than that to > enable wider testing by interested parties. It's going to take time to > do things like license review so the sooner we can get the spec up for > review it will start to enable these things more formally. I don't > expect the first version that lands in the repos proper to be perfect > but it does enable easier testing by a wider audience and release > early release often etc. > > While obviously there's still work to be done I think it's in good > enough shape to get the package review submitted and in motion. > > Peter > > > On Mon, Feb 4, 2019 at 10:24 AM Troy Dawson tdawson@redhat.com wrote: > > > > > > I believe I have this working now. > > > I've tried it on a couple of x86_64 machines and it works great. > > > I'm having some problems installing in on aarch64 (raspberry pi 3) > > > machines. But I'm pretty sure it will work. > > > > > > Here is the packages, spec files, and supporting scripts. > > > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no... > > > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr... > > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64... > > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64.... > > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm > > > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec > > > https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh > > > https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list > > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec > > > > > > Troy > > > > > > On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com wrote: > > > > > > > > Two things: > > > > 1 - I'm calling the package mozilla-iot-gateway > > > > -- The reason for my final decision is that everything gets saved in > > > > ~/.mozilla-iot Also, I haven't seen anything in it's documentation > > > > refering to it as things-gateway, other than that one webpage. > > > > > > > > 2 - As much as I liked removing the modules for over 400 modules, I > > > > just hit bug after bug after bug. Alot of our nodejs modules are very > > > > old. versions 0.7 when gateway needs 3.6, things like that. I'm > > > > going back to my original design of only unbundling the binary (arch > > > > dependent) modules. > > > > > > > > I should have a workable package tomorrow. > > > > > > > > Troy > > > > > > > > On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote: > > > > > > > > > > On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote: > > > > > > Next release of "gateway" is up, along with a corresponding updated > > > > > > nodejs-nanomsg for all arches. > > > > > > The source rpm[1] has been trimmed by 30M and built rpm[2] by > > > > > > 20M. Ya!! > > > > > > The spec file [3] has an updated license list with all the licenses > > > > > > from the bundled modules. Oddly enough, I didn't find a single GPL, > > > > > > though there was one LGPL. > > > > > > It also has all the unbundled packages now as Requires, and all the > > > > > > bundled packages as Provides: bundled(). Thus making the spec file > > > > > > rather long. > > > > > > I also went through and trimmed out all the cruft that didn't need to > > > > > > be installed for gateway to run (.travis.yml, .babelrc, and others) > > > > > > I also added how to run it as a regular user in the %description > > > > > > area. > > > > > > That's probrubly not the best place to put that, but I figured it's a > > > > > > place a user can always see. > > > > > > The script[4] to download, setup, trim and tar up the source with > > > > > > it's > > > > > > dependencies has been updated to use an external file, that is a list > > > > > > of all the nodejs modules to pull out of the bundled > > > > > > dependencies. It > > > > > > also now goes as deep as it needs to in order to pull out all those > > > > > > modules. > > > > > > And there is the list of modules we are unbundeling.[5] > > > > > > Here is where everything is. [6] > > > > > > > > > > > > These have been tested on aarch64 (rpi3b+) and x86_64. > > > > > > > > > > > > I haven't decided between things-gateway and mozilla-iot-gateway. > > > > > Have you considered mozillathings-iot-gateway? > > > > > > > > > > > Both have good reasons to be the right name. Honestly, I might just > > > > > > flip a coin and let that decide. > > > > > > If anyone has a strong preference for one or the other, let me know. > > > > > > > > > > > > Troy > > > > > > > > > > > > [1] - > > > > > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm > > > > > > [2] - > > > > > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm > > > > > > [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec > > > > > > [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh > > > > > > [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list > > > > > > [6] - https://tdawson.fedorapeople.org/gateway/ > > > > > > On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < > > > > > > jsmith@fedoraproject.org> wrote: > > > > > > > On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com > > > > > > > wrote: > > > > > > > > Here's a fun fact. > > > > > > > > gateway depends on 1000 node_modules (exactly I believe) > > > > > > > > I was able to unbundle 455 of those packages. Ya!! > > > > > > > > Of course, that means that I have to have 455 lines of > > > > > > > > "Requires:" and > > > > > > > > 545 lines of "Provides: bundled()" in the spec file > > > > > > > > Ya!!?? > > > > > > > > This spec file just went from a lightweight to a sumo wrestler in > > > > > > > > one day. > > > > > > > > > > > > > > That's the NodeJS way, unfortunately. I know the NodeJS SIG was > > > > > > > working on a macro to automagically create the "Provides: > > > > > > > bundled()" lines, but I really don't know if they ever got it > > > > > > > working. > > > > > > > > > > > > > > -Jared > > > > > > _______________________________________________ > > > > > > IoT mailing list -- iot@lists.fedoraproject.org > > > > > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > > > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > > > > > List Guidelines: > > > > > > https://fedoraproject.org/wiki/Mailing_list_guidelines > > > > > > List Archives: > > > > > > https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org > > > > > _______________________________________________ > > > > > IoT mailing list -- iot@lists.fedoraproject.org > > > > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > > > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > > > > > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org > > _______________________________________________ > > IoT mailing list -- iot@lists.fedoraproject.org > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org > _______________________________________________ > IoT mailing list -- iot@lists.fedoraproject.org > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
I now have review requests for all the packages needed.
mozilla-iot-gateway-addon-node https://bugzilla.redhat.com/show_bug.cgi?id=1680145 mozilla-iot-gateway-addon-python https://bugzilla.redhat.com/show_bug.cgi?id=1680143 nanomsg https://bugzilla.redhat.com/show_bug.cgi?id=1680140 python3-nnpy https://bugzilla.redhat.com/show_bug.cgi?id=1680141
On Wed, Feb 20, 2019 at 2:29 PM Troy Dawson tdawson@redhat.com wrote:
I have successfully packaged everything needed for Mozilla IOT Gateway to run, with add-ons, on Fedora 30.
The following are new packages, in addition to the previous mozilla-iot-gateway-addon-node mozilla-iot-gateway-addon-python nanomsg python3-nnpy
I have them all packaged up and built in my fedora gateway directory https://tdawson.fedorapeople.org/gateway/
python3-nnpy is x86_64 only right now. I'm having some issues with my F30 aarch64 images, and it requires nanomsg, so I have to build it in mock instead of brew.
One thing to note. The gateway will download and build the various add-ons. But ... you will need to turn your firewall off in order to probe for regular wireless devices such as LIFX or TP-Link. So you can either put the ip address in for those devices. Or turn your firewall off, probe, then turn your firewall back on.
I'll be doing some firewall sniffing to figure out what port(s) they are probing on, but for now it's easiest to turn your firewall off while you probe.
Troy
On Wed, Feb 13, 2019 at 7:45 AM Troy Dawson tdawson@redhat.com wrote:
On Wed, Feb 13, 2019 at 7:29 AM Peter Robinson pbrobinson@gmail.com wrote:
On Wed, Feb 13, 2019 at 3:24 PM Troy Dawson tdawson@redhat.com wrote:
I found the systemd scripts from the gateway image. They are very well commented so they will be easy to use. The only question is have is what user to have these run as? Should we add a new user? Or use one of the standard ones? Either way, we'll have to make sure we have that user available, using the standard fedora rpm techniques for doing that.
I think we should create a new one, the packaging guidelines should have the details for that
Yep, just read through them. I'm choosing the Dynamic allocation method [1] because it says the soft static method should only be used if the UID needs to be shared between computers, or the UID is needed in the initfs. I guess the logical username would be "gateway" mozillaiotgateway just seems too long.
[1] - https://fedoraproject.org/wiki/Packaging:UsersAndGroups#Dynamic_allocation
P
On Mon, Feb 11, 2019 at 6:19 AM Troy Dawson tdawson@redhat.com wrote:
I agree. If you use the gateway rpi images, it automatically starts. I'll look into how they do that, and if it's systemd based, I'll see about getting the files. I'd feel better if the files are coming from the group, so they can be tracked.
Troy
On Sat, Feb 9, 2019 at 10:43 AM Jared K. Smith jsmith@fedoraproject.org wrote:
Thanks for doing the hard work of packaging this up... things are looking pretty good. I'll continue to work on the package review in the Bugzilla ticket.
One question I had was regarding the gateway software itself -- I think we probably need some sort of systemd initscript to start and stop the software, and some sort of instructions for people to get started. Thoughts?
-Jared
On Wed, Feb 6, 2019 at 1:14 PM Troy Dawson tdawson@redhat.com wrote: > > Fedora Review Requests: > * mozilla-iot-gateway > https://bugzilla.redhat.com/show_bug.cgi?id=1673125 > * nodejs-nanomsg > https://bugzilla.redhat.com/show_bug.cgi?id=1673126 > > Jared, if you could grab those two, I'd appreciate it. > Since the gateway package has bundling, I'd appreciate someone who > knows about bundling working on it. > nodejs-nanomsg is just the standard binary nodejs package. But it's > needed so that mozilla-iot-gateway can remain noarch. > > Troy > > > On Wed, Feb 6, 2019 at 5:25 AM Peter Robinson pbrobinson@gmail.com wrote: > > > > > Please give a look. Especially the spec files. If they look good > > > > I will do in in the next few days. > > > > > I'll work on getting them into Fedora, hopefully in time for F30 > > > freeze. > > > > I would much sooner if we could aim for much sooner than that to > > enable wider testing by interested parties. It's going to take time to > > do things like license review so the sooner we can get the spec up for > > review it will start to enable these things more formally. I don't > > expect the first version that lands in the repos proper to be perfect > > but it does enable easier testing by a wider audience and release > > early release often etc. > > > > While obviously there's still work to be done I think it's in good > > enough shape to get the package review submitted and in motion. > > > > Peter > > > > > On Mon, Feb 4, 2019 at 10:24 AM Troy Dawson tdawson@redhat.com wrote: > > > > > > > > I believe I have this working now. > > > > I've tried it on a couple of x86_64 machines and it works great. > > > > I'm having some problems installing in on aarch64 (raspberry pi 3) > > > > machines. But I'm pretty sure it will work. > > > > > > > > Here is the packages, spec files, and supporting scripts. > > > > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no... > > > > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr... > > > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64... > > > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64.... > > > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm > > > > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec > > > > https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh > > > > https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list > > > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec > > > > > > > > Troy > > > > > > > > On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com wrote: > > > > > > > > > > Two things: > > > > > 1 - I'm calling the package mozilla-iot-gateway > > > > > -- The reason for my final decision is that everything gets saved in > > > > > ~/.mozilla-iot Also, I haven't seen anything in it's documentation > > > > > refering to it as things-gateway, other than that one webpage. > > > > > > > > > > 2 - As much as I liked removing the modules for over 400 modules, I > > > > > just hit bug after bug after bug. Alot of our nodejs modules are very > > > > > old. versions 0.7 when gateway needs 3.6, things like that. I'm > > > > > going back to my original design of only unbundling the binary (arch > > > > > dependent) modules. > > > > > > > > > > I should have a workable package tomorrow. > > > > > > > > > > Troy > > > > > > > > > > On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote: > > > > > > > > > > > > On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote: > > > > > > > Next release of "gateway" is up, along with a corresponding updated > > > > > > > nodejs-nanomsg for all arches. > > > > > > > The source rpm[1] has been trimmed by 30M and built rpm[2] by > > > > > > > 20M. Ya!! > > > > > > > The spec file [3] has an updated license list with all the licenses > > > > > > > from the bundled modules. Oddly enough, I didn't find a single GPL, > > > > > > > though there was one LGPL. > > > > > > > It also has all the unbundled packages now as Requires, and all the > > > > > > > bundled packages as Provides: bundled(). Thus making the spec file > > > > > > > rather long. > > > > > > > I also went through and trimmed out all the cruft that didn't need to > > > > > > > be installed for gateway to run (.travis.yml, .babelrc, and others) > > > > > > > I also added how to run it as a regular user in the %description > > > > > > > area. > > > > > > > That's probrubly not the best place to put that, but I figured it's a > > > > > > > place a user can always see. > > > > > > > The script[4] to download, setup, trim and tar up the source with > > > > > > > it's > > > > > > > dependencies has been updated to use an external file, that is a list > > > > > > > of all the nodejs modules to pull out of the bundled > > > > > > > dependencies. It > > > > > > > also now goes as deep as it needs to in order to pull out all those > > > > > > > modules. > > > > > > > And there is the list of modules we are unbundeling.[5] > > > > > > > Here is where everything is. [6] > > > > > > > > > > > > > > These have been tested on aarch64 (rpi3b+) and x86_64. > > > > > > > > > > > > > > I haven't decided between things-gateway and mozilla-iot-gateway. > > > > > > Have you considered mozillathings-iot-gateway? > > > > > > > > > > > > > Both have good reasons to be the right name. Honestly, I might just > > > > > > > flip a coin and let that decide. > > > > > > > If anyone has a strong preference for one or the other, let me know. > > > > > > > > > > > > > > Troy > > > > > > > > > > > > > > [1] - > > > > > > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm > > > > > > > [2] - > > > > > > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm > > > > > > > [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec > > > > > > > [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh > > > > > > > [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list > > > > > > > [6] - https://tdawson.fedorapeople.org/gateway/ > > > > > > > On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < > > > > > > > jsmith@fedoraproject.org> wrote: > > > > > > > > On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com > > > > > > > > wrote: > > > > > > > > > Here's a fun fact. > > > > > > > > > gateway depends on 1000 node_modules (exactly I believe) > > > > > > > > > I was able to unbundle 455 of those packages. Ya!! > > > > > > > > > Of course, that means that I have to have 455 lines of > > > > > > > > > "Requires:" and > > > > > > > > > 545 lines of "Provides: bundled()" in the spec file > > > > > > > > > Ya!!?? > > > > > > > > > This spec file just went from a lightweight to a sumo wrestler in > > > > > > > > > one day. > > > > > > > > > > > > > > > > That's the NodeJS way, unfortunately. I know the NodeJS SIG was > > > > > > > > working on a macro to automagically create the "Provides: > > > > > > > > bundled()" lines, but I really don't know if they ever got it > > > > > > > > working. > > > > > > > > > > > > > > > > -Jared > > > > > > > _______________________________________________ > > > > > > > IoT mailing list -- iot@lists.fedoraproject.org > > > > > > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > > > > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > > > > > > List Guidelines: > > > > > > > https://fedoraproject.org/wiki/Mailing_list_guidelines > > > > > > > List Archives: > > > > > > > https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org > > > > > > _______________________________________________ > > > > > > IoT mailing list -- iot@lists.fedoraproject.org > > > > > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > > > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > > > > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > > > > > > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org > > > _______________________________________________ > > > IoT mailing list -- iot@lists.fedoraproject.org > > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > > > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org > > _______________________________________________ > > IoT mailing list -- iot@lists.fedoraproject.org > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
I have updated mozilla-iot-gateway spec, src, and noarc.rpm. They have the following changes:
- Changed service username from gateway to moz-iot-gateway -- systemd services file was updated to show this change - moz-iot-gateway is now added to the dialout group. -- This was needed due to zwave and zigbee dongles need the dialout group permissions - Fixed some bad python shebangs that prevented the package from building on F30+
I have built and verified that this installs and works on a clean F29 server install
On Fri, Feb 22, 2019 at 12:00 PM Troy Dawson tdawson@redhat.com wrote:
I now have review requests for all the packages needed.
mozilla-iot-gateway-addon-node https://bugzilla.redhat.com/show_bug.cgi?id=1680145 mozilla-iot-gateway-addon-python https://bugzilla.redhat.com/show_bug.cgi?id=1680143 nanomsg https://bugzilla.redhat.com/show_bug.cgi?id=1680140 python3-nnpy https://bugzilla.redhat.com/show_bug.cgi?id=1680141
On Wed, Feb 20, 2019 at 2:29 PM Troy Dawson tdawson@redhat.com wrote:
I have successfully packaged everything needed for Mozilla IOT Gateway to run, with add-ons, on Fedora 30.
The following are new packages, in addition to the previous mozilla-iot-gateway-addon-node mozilla-iot-gateway-addon-python nanomsg python3-nnpy
I have them all packaged up and built in my fedora gateway directory https://tdawson.fedorapeople.org/gateway/
python3-nnpy is x86_64 only right now. I'm having some issues with my F30 aarch64 images, and it requires nanomsg, so I have to build it in mock instead of brew.
One thing to note. The gateway will download and build the various add-ons. But ... you will need to turn your firewall off in order to probe for regular wireless devices such as LIFX or TP-Link. So you can either put the ip address in for those devices. Or turn your firewall off, probe, then turn your firewall back on.
I'll be doing some firewall sniffing to figure out what port(s) they are probing on, but for now it's easiest to turn your firewall off while you probe.
Troy
On Wed, Feb 13, 2019 at 7:45 AM Troy Dawson tdawson@redhat.com wrote:
On Wed, Feb 13, 2019 at 7:29 AM Peter Robinson pbrobinson@gmail.com wrote:
On Wed, Feb 13, 2019 at 3:24 PM Troy Dawson tdawson@redhat.com wrote:
I found the systemd scripts from the gateway image. They are very well commented so they will be easy to use. The only question is have is what user to have these run as? Should we add a new user? Or use one of the standard ones? Either way, we'll have to make sure we have that user available, using the standard fedora rpm techniques for doing that.
I think we should create a new one, the packaging guidelines should have the details for that
Yep, just read through them. I'm choosing the Dynamic allocation method [1] because it says the soft static method should only be used if the UID needs to be shared between computers, or the UID is needed in the initfs. I guess the logical username would be "gateway" mozillaiotgateway just seems too long.
[1] - https://fedoraproject.org/wiki/Packaging:UsersAndGroups#Dynamic_allocation
P
On Mon, Feb 11, 2019 at 6:19 AM Troy Dawson tdawson@redhat.com wrote:
I agree. If you use the gateway rpi images, it automatically starts. I'll look into how they do that, and if it's systemd based, I'll see about getting the files. I'd feel better if the files are coming from the group, so they can be tracked.
Troy
On Sat, Feb 9, 2019 at 10:43 AM Jared K. Smith jsmith@fedoraproject.org wrote: > > Thanks for doing the hard work of packaging this up... things are looking pretty good. I'll continue to work on the package review in the Bugzilla ticket. > > One question I had was regarding the gateway software itself -- I think we probably need some sort of systemd initscript to start and stop the software, and some sort of instructions for people to get started. Thoughts? > > -Jared > > On Wed, Feb 6, 2019 at 1:14 PM Troy Dawson tdawson@redhat.com wrote: >> >> Fedora Review Requests: >> * mozilla-iot-gateway >> https://bugzilla.redhat.com/show_bug.cgi?id=1673125 >> * nodejs-nanomsg >> https://bugzilla.redhat.com/show_bug.cgi?id=1673126 >> >> Jared, if you could grab those two, I'd appreciate it. >> Since the gateway package has bundling, I'd appreciate someone who >> knows about bundling working on it. >> nodejs-nanomsg is just the standard binary nodejs package. But it's >> needed so that mozilla-iot-gateway can remain noarch. >> >> Troy >> >> >> On Wed, Feb 6, 2019 at 5:25 AM Peter Robinson pbrobinson@gmail.com wrote: >> > >> > > Please give a look. Especially the spec files. If they look good >> > >> > I will do in in the next few days. >> > >> > > I'll work on getting them into Fedora, hopefully in time for F30 >> > > freeze. >> > >> > I would much sooner if we could aim for much sooner than that to >> > enable wider testing by interested parties. It's going to take time to >> > do things like license review so the sooner we can get the spec up for >> > review it will start to enable these things more formally. I don't >> > expect the first version that lands in the repos proper to be perfect >> > but it does enable easier testing by a wider audience and release >> > early release often etc. >> > >> > While obviously there's still work to be done I think it's in good >> > enough shape to get the package review submitted and in motion. >> > >> > Peter >> > >> > > On Mon, Feb 4, 2019 at 10:24 AM Troy Dawson tdawson@redhat.com wrote: >> > > > >> > > > I believe I have this working now. >> > > > I've tried it on a couple of x86_64 machines and it works great. >> > > > I'm having some problems installing in on aarch64 (raspberry pi 3) >> > > > machines. But I'm pretty sure it will work. >> > > > >> > > > Here is the packages, spec files, and supporting scripts. >> > > > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.no... >> > > > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29.sr... >> > > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarch64... >> > > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_64.... >> > > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.src.rpm >> > > > https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway.spec >> > > > https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh >> > > > https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list >> > > > https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg.spec >> > > > >> > > > Troy >> > > > >> > > > On Thu, Jan 31, 2019 at 3:06 PM Troy Dawson tdawson@redhat.com wrote: >> > > > > >> > > > > Two things: >> > > > > 1 - I'm calling the package mozilla-iot-gateway >> > > > > -- The reason for my final decision is that everything gets saved in >> > > > > ~/.mozilla-iot Also, I haven't seen anything in it's documentation >> > > > > refering to it as things-gateway, other than that one webpage. >> > > > > >> > > > > 2 - As much as I liked removing the modules for over 400 modules, I >> > > > > just hit bug after bug after bug. Alot of our nodejs modules are very >> > > > > old. versions 0.7 when gateway needs 3.6, things like that. I'm >> > > > > going back to my original design of only unbundling the binary (arch >> > > > > dependent) modules. >> > > > > >> > > > > I should have a workable package tomorrow. >> > > > > >> > > > > Troy >> > > > > >> > > > > On Thu, Jan 31, 2019 at 6:10 AM Russell Doty rdoty@redhat.com wrote: >> > > > > > >> > > > > > On Wed, 2019-01-30 at 15:17 -0800, Troy Dawson wrote: >> > > > > > > Next release of "gateway" is up, along with a corresponding updated >> > > > > > > nodejs-nanomsg for all arches. >> > > > > > > The source rpm[1] has been trimmed by 30M and built rpm[2] by >> > > > > > > 20M. Ya!! >> > > > > > > The spec file [3] has an updated license list with all the licenses >> > > > > > > from the bundled modules. Oddly enough, I didn't find a single GPL, >> > > > > > > though there was one LGPL. >> > > > > > > It also has all the unbundled packages now as Requires, and all the >> > > > > > > bundled packages as Provides: bundled(). Thus making the spec file >> > > > > > > rather long. >> > > > > > > I also went through and trimmed out all the cruft that didn't need to >> > > > > > > be installed for gateway to run (.travis.yml, .babelrc, and others) >> > > > > > > I also added how to run it as a regular user in the %description >> > > > > > > area. >> > > > > > > That's probrubly not the best place to put that, but I figured it's a >> > > > > > > place a user can always see. >> > > > > > > The script[4] to download, setup, trim and tar up the source with >> > > > > > > it's >> > > > > > > dependencies has been updated to use an external file, that is a list >> > > > > > > of all the nodejs modules to pull out of the bundled >> > > > > > > dependencies. It >> > > > > > > also now goes as deep as it needs to in order to pull out all those >> > > > > > > modules. >> > > > > > > And there is the list of modules we are unbundeling.[5] >> > > > > > > Here is where everything is. [6] >> > > > > > > >> > > > > > > These have been tested on aarch64 (rpi3b+) and x86_64. >> > > > > > > >> > > > > > > I haven't decided between things-gateway and mozilla-iot-gateway. >> > > > > > Have you considered mozillathings-iot-gateway? >> > > > > > >> > > > > > > Both have good reasons to be the right name. Honestly, I might just >> > > > > > > flip a coin and let that decide. >> > > > > > > If anyone has a strong preference for one or the other, let me know. >> > > > > > > >> > > > > > > Troy >> > > > > > > >> > > > > > > [1] - >> > > > > > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.src.rpm >> > > > > > > [2] - >> > > > > > > https://tdawson.fedorapeople.org/gateway/gateway-0.7.0-1.1.fc29.noarch.rpm >> > > > > > > [3] - https://tdawson.fedorapeople.org/gateway/gateway.spec >> > > > > > > [4] - https://tdawson.fedorapeople.org/gateway/gateway-tarball.sh >> > > > > > > [5] - https://tdawson.fedorapeople.org/gateway/gateway-unbundle.list >> > > > > > > [6] - https://tdawson.fedorapeople.org/gateway/ >> > > > > > > On Wed, Jan 30, 2019 at 1:39 PM Jared K. Smith < >> > > > > > > jsmith@fedoraproject.org> wrote: >> > > > > > > > On Tue, Jan 29, 2019 at 5:56 PM Troy Dawson tdawson@redhat.com >> > > > > > > > wrote: >> > > > > > > > > Here's a fun fact. >> > > > > > > > > gateway depends on 1000 node_modules (exactly I believe) >> > > > > > > > > I was able to unbundle 455 of those packages. Ya!! >> > > > > > > > > Of course, that means that I have to have 455 lines of >> > > > > > > > > "Requires:" and >> > > > > > > > > 545 lines of "Provides: bundled()" in the spec file >> > > > > > > > > Ya!!?? >> > > > > > > > > This spec file just went from a lightweight to a sumo wrestler in >> > > > > > > > > one day. >> > > > > > > > >> > > > > > > > That's the NodeJS way, unfortunately. I know the NodeJS SIG was >> > > > > > > > working on a macro to automagically create the "Provides: >> > > > > > > > bundled()" lines, but I really don't know if they ever got it >> > > > > > > > working. >> > > > > > > > >> > > > > > > > -Jared >> > > > > > > _______________________________________________ >> > > > > > > IoT mailing list -- iot@lists.fedoraproject.org >> > > > > > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org >> > > > > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html >> > > > > > > List Guidelines: >> > > > > > > https://fedoraproject.org/wiki/Mailing_list_guidelines >> > > > > > > List Archives: >> > > > > > > https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org >> > > > > > _______________________________________________ >> > > > > > IoT mailing list -- iot@lists.fedoraproject.org >> > > > > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org >> > > > > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html >> > > > > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines >> > > > > > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org >> > > _______________________________________________ >> > > IoT mailing list -- iot@lists.fedoraproject.org >> > > To unsubscribe send an email to iot-leave@lists.fedoraproject.org >> > > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html >> > > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines >> > > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org >> > _______________________________________________ >> > IoT mailing list -- iot@lists.fedoraproject.org >> > To unsubscribe send an email to iot-leave@lists.fedoraproject.org >> > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html >> > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines >> > List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org