Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 442210

Summary: new ebuild: www-servers/meteor - An open-source platform for building top-quality web apps in a fraction of the time.
Product: Gentoo Linux Reporter: Tom Wijsman (TomWij) (RETIRED) <tomwij>
Component: New packagesAssignee: Tom Wijsman (TomWij) (RETIRED) <tomwij>
Status: RESOLVED FIXED    
Severity: enhancement CC: licenses, proxy-maint, sandino
Priority: Normal Keywords: EBUILD
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: meteor-0.5.0.ebuild
meteor-0.5.2.ebuild
meteor-0.5.3.ebuild
ODbL-1.0
npm
npm

Description Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2012-11-07 16:28:57 UTC
Created attachment 328708 [details]
meteor-0.5.0.ebuild

Meteor is an open-source platform for building top-quality web apps in a fraction of the time, whether you're an expert developer or just getting started.

The ebuild has been in my overlay (TomWij) for a while and I think it can move into Portage. Marked as unstable at the moment so we can see how it goes and request stabilization over time.

I'm up for becoming a proxy maintainer for this package if that's possible.

Since this is my first ebuild, feedback is welcome...
Comment 1 Sergey Popov gentoo-dev 2012-11-07 16:38:28 UTC
First of all, add 'inherit vcs-snapshot' after EAPI definition and remove src_unpack() and 'cd ${P}' from src_prepare(). Also, src_prepare() looks ugly(and tries to download some stuff, which is not good). And last - src_install() tries to install files to /usr/local/* - that's COMPLETELY forbidden, according to devmanual(http://devmanual.gentoo.org/general-concepts/filesystem/index.html). This is a quick check of your ebuild, i did not test it thoroughly, just a couple of things that you MUST improve if you want this ebuild in main tree.
Comment 2 Markos Chandras (RETIRED) gentoo-dev 2012-11-07 16:39:51 UTC
Hi,

A couple of comments:

Description is huge :)

Could you explain what are all these "touch .git, rm .git" stuff in the src_prepare function ?

What are you trying to do in src_unpack? Is not the default one good for you?

sed needs || die

cp/mkdir/ln in src_install should be replaced by insinto-doins/dodir/dosym

LICENSE should be a value from the /usr/portage/licenses/ directory and not an http link

I think the http://github can be replaced by mirror://github. Have a look on /usr/portage/profiles/thirdpartymirrors (IIRC). Anyway this is minor .
Comment 3 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2012-11-07 16:53:24 UTC
> Also, src_prepare() looks ugly(and tries to download some stuff, which is not good).

I'll see if I can replicate that download from within SRC_URI which can do platform based fetching. I'll also try to write a patch to disable updating in Meteor itself.

> And last - src_install() tries to install files to /usr/local/* - that's COMPLETELY forbidden.

Yeah, I don't understand why they did that and I should indeed follow that layout.

Would /usr/bin/meteor be better?

> Could you explain what are all these "touch .git, rm .git" stuff in the src_prepare function ?

Will add descriptive comments to the ebuild. Perhaps that part can be fixed through a patch that disables the .git check instead.

> This is a quick check of your ebuild, i did not test it thoroughly, just a couple of things that you MUST improve if you want this ebuild in main tree.

Okay, marking this bug NEEDINFO for now. Will attempt to improve this ebuild over time and reopen this bug with a new attachment once done. Thank you for the feedback, I'll try to mitigate the issues where possible.
Comment 4 Markos Chandras (RETIRED) gentoo-dev 2012-11-07 17:39:53 UTC
No need to close it. The request for an ebuild for this package is still valid for anyone else who want to write one
Comment 5 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2012-12-03 13:15:19 UTC
Created attachment 331302 [details]
meteor-0.5.2.ebuild

Previous ebuild was my first, since then I've read all the reference links from the New developer quiz so I'm now better aware about all the rules.

Applied almost all your comments to the ebuild, it looks much better now!

Still two things left to do from what I see:

1. There is only a mirror entry for cloud.github but not for github itself, still need to look into whether I could use the cloud somehow...

2. Some QA issues left, this is because Meteor brings its own version from node, mongodb and node modules. These need to move into RDEPEND, and require Meteor to be patched to use what is globally present on the system instead of what is inside the Meteor directory.

For this reason, I'm using /opt/meteor for now.

There are also upstream bugs going on to make Meteor embrace package managers:

 - https://github.com/meteor/meteor/issues/474 (mine, about the FHS; although it appears not explicitly using /usr/local/bin keeps Meteor working, leaving it open so they do it right for other distros too)

 - https://github.com/meteor/meteor/pull/516 (had two prior closed bugs, someone finally poked them with a pull requst and a direct action instead)
Comment 6 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2012-12-03 13:17:58 UTC
Almost forgot to ask: How should I deal with the licenses? See the LICENSES comment.
Comment 7 Markos Chandras (RETIRED) gentoo-dev 2012-12-21 14:08:32 UTC
(In reply to comment #6)
> Almost forgot to ask: How should I deal with the licenses? See the LICENSES
> comment.

Depends. You can either add the missing licenses or rename LICENSE.txt to meteor.txt and add it there

see devmanual
http://devmanual.gentoo.org/general-concepts/licenses/index.html

also adding licenses@gentoo.org to tell us what's the preferred approach.
Comment 8 Ulrich Müller gentoo-dev 2012-12-21 15:22:38 UTC
(In reply to comment #7)
> Depends. You can either add the missing licenses or rename LICENSE.txt to
> meteor.txt and add it there
> 
> see devmanual
> http://devmanual.gentoo.org/general-concepts/licenses/index.html
> 
> also adding licenses@gentoo.org to tell us what's the preferred approach.

It's much preferred _not_ to add one giant license file, but to disentangle it (which has to be done in any case, in order to determine if it is Free Software). It is straight forward here:

   MIT Apache-2.0 BSD-2 BSD openssl public-domain WTFPL-2 Unlicense
   AGPL-3 Boost-1.0 ZLIB || ( BSD-2 GPL-2+ ) HPND npm ODbL-1.0
   CCPL-Attribution-ShareAlike-2.0

We have almost all of them, except for npm and ODBl-1.0.

The "npm" license was discussed by Debian folks here and found to be free:
<http://lists.debian.org/debian-legal/2012/01/msg00104.html>

The text of ODbL-1.0 is here:
<http://www.opendatacommons.org/wp-content/uploads/2009/06/odbl-10.txt>
It is approved by the FSF (it would go to the @FSF-APPROVED-OTHER license group), but not by the OSI.
Comment 9 Markos Chandras (RETIRED) gentoo-dev 2012-12-21 15:25:48 UTC
(In reply to comment #8)
> (In reply to comment #7)
> > Depends. You can either add the missing licenses or rename LICENSE.txt to
> > meteor.txt and add it there
> > 
> > see devmanual
> > http://devmanual.gentoo.org/general-concepts/licenses/index.html
> > 
> > also adding licenses@gentoo.org to tell us what's the preferred approach.
> 
> It's much preferred _not_ to add one giant license file, but to disentangle
> it (which has to be done in any case, in order to determine if it is Free
> Software). It is straight forward here:
> 
>    MIT Apache-2.0 BSD-2 BSD openssl public-domain WTFPL-2 Unlicense
>    AGPL-3 Boost-1.0 ZLIB || ( BSD-2 GPL-2+ ) HPND npm ODbL-1.0
>    CCPL-Attribution-ShareAlike-2.0
> 
> We have almost all of them, except for npm and ODBl-1.0.
> 
> The "npm" license was discussed by Debian folks here and found to be free:
> <http://lists.debian.org/debian-legal/2012/01/msg00104.html>
> 
> The text of ODbL-1.0 is here:
> <http://www.opendatacommons.org/wp-content/uploads/2009/06/odbl-10.txt>
> It is approved by the FSF (it would go to the @FSF-APPROVED-OTHER license
> group), but not by the OSI.

Thank you very much Ulrich.
Comment 10 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2012-12-21 15:30:01 UTC
> which has to be done in any case, in order to determine if it is Free Software

Learned something very important here, thanks.

> It is approved by the FSF (it would go to the @FSF-APPROVED-OTHER license group), but not by the OSI.

Does "no approvement by the OSI" have any implications regarding inclusion of the ebuild in the portage tree? Or does approvement by FSF alone suffice?
Comment 11 Ulrich Müller gentoo-dev 2012-12-21 15:42:07 UTC
(In reply to comment #10)
> > It is approved by the FSF (it would go to the @FSF-APPROVED-OTHER license
> > group), but not by the OSI.
> 
> Does "no approvement by the OSI" have any implications regarding inclusion
> of the ebuild in the portage tree? Or does approvement by FSF alone suffice?

It doesn't have any implications for inclusion in the tree. However, it affects to what license groups (see profiles/license_groups) the license can be added. Here, both ODbL-1.0 and npm will still end up in the @FREE group, via @FSF-APPROVED-OTHER and @MISC-FREE, respectively.
Comment 12 Markos Chandras (RETIRED) gentoo-dev 2012-12-23 10:02:28 UTC
(In reply to comment #10)
> > which has to be done in any case, in order to determine if it is Free Software
> 
> Learned something very important here, thanks.
> 
> > It is approved by the FSF (it would go to the @FSF-APPROVED-OTHER license group), but not by the OSI.
> 
> Does "no approvement by the OSI" have any implications regarding inclusion
> of the ebuild in the portage tree? Or does approvement by FSF alone suffice?

So please add all the licences in the ebuild's LICENSE variable, and attach those we don't have in the tree
Comment 13 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-01-10 22:39:21 UTC
Created attachment 335116 [details]
meteor-0.5.3.ebuild

Version bump, added licenses and sorted them.
Comment 14 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-01-10 22:41:50 UTC
Created attachment 335118 [details]
ODbL-1.0

License from http://www.opendatacommons.org/wp-content/uploads/2009/06/odbl-10.txt referenced to from LICENSE.txt.
Comment 15 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-01-10 22:44:23 UTC
Created attachment 335120 [details]
npm

npm license copied verbatim from LICENSE.txt.
Comment 16 Ulrich Müller gentoo-dev 2013-01-11 09:14:17 UTC
(In reply to comment #15)
> Created attachment 335120 [details]
> npm
> 
> npm license copied verbatim from LICENSE.txt.

This should be cut off after the paragraph in all-caps. The text following it are just notes that are not part of the license itself.
Comment 17 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-01-11 11:06:49 UTC
Created attachment 335168 [details]
npm

I see now, thanks.
Comment 18 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-02-07 22:14:04 UTC
+*meteor-0.5.4 (07 Feb 2013)
+
+  07 Feb 2013; Tom Wijsman <TomWij@gentoo.org> +metadata.xml,
+  +meteor-0.5.4.ebuild:
+  New ebuild for meteor. Thanks to the reviewers. See bug #442210.