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(a)redhat.com> wrote:
>
> On Wed, Feb 13, 2019 at 7:29 AM Peter Robinson <pbrobinson(a)gmail.com> wrote:
> >
> > On Wed, Feb 13, 2019 at 3:24 PM Troy Dawson <tdawson(a)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(a)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(a)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(a)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(a)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(a)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...
> > > > >> > > >
https://tdawson.fedorapeople.org/gateway/mozilla-iot-gateway-0.7.0-1.fc29...
> > > > >> > > >
https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.aarc...
> > > > >> > > >
https://tdawson.fedorapeople.org/gateway/nodejs-nanomsg-4.0.2-2.fc29.x86_...
> > > > >> > > >
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(a)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(a)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(a)fedoraproject.org>
wrote:
> > > > >> > > > > > > > On Tue, Jan 29, 2019 at
5:56 PM Troy Dawson <tdawson(a)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(a)lists.fedoraproject.org
> > > > >> > > > > > > To unsubscribe send an email to
iot-leave(a)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(a)lists.fedoraproject.org
> > > > >> > > > > > To unsubscribe send an email to
iot-leave(a)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(a)lists.fedoraproject.org
> > > > >> > > To unsubscribe send an email to
iot-leave(a)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(a)lists.fedoraproject.org
> > > > >> > To unsubscribe send an email to
iot-leave(a)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(a)lists.fedoraproject.org
> > > To unsubscribe send an email to iot-leave(a)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(a)lists.fedoraproject.org
> > To unsubscribe send an email to iot-leave(a)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