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(a)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(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