Patchwork [meta-oe] WIP: cloud9: created

login
register
mail settings
Submitter Jason Kridner
Date Sept. 24, 2011, 7:08 a.m.
Message ID <1316848094-30368-1-git-send-email-jdk@ti.com>
Download mbox | patch
Permalink /patch/12077/
State New, archived
Headers show

Comments

Jason Kridner - Sept. 24, 2011, 7:08 a.m.
Cloud9 is a web-browser based IDE.  This application should support
multiple architectures as long as they have node.js and a build of
node-o3-xml that is dropped into this system.  Ideally, that library
would be added separately as a system-dependent portion, because
everything else should be ISA independent.

Advice on cleaning up this recipe is welcome.  I will continue to
improve it as I understand how.  It is rather useful as-is.
---
 meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb |   28 +++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)
 create mode 100644 meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb
Paul Menzel - Sept. 24, 2011, 7:25 a.m.
Dear Jason,


Am Samstag, den 24.09.2011, 03:08 -0400 schrieb Jason Kridner:
> Cloud9 is a web-browser based IDE.  This application should support
> multiple architectures as long as they have node.js and a build of
> node-o3-xml that is dropped into this system.  Ideally, that library
> would be added separately as a system-dependent portion, because
> everything else should be ISA independent.
> 
> Advice on cleaning up this recipe is welcome.

what problems to do you see?

> I will continue to improve it as I understand how.  It is rather
> useful as-is.
> ---
>  meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb |   28 +++++++++++++++++++++++
>  1 files changed, 28 insertions(+), 0 deletions(-)
>  create mode 100644 meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb
> 
> diff --git a/meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb b/meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb
> new file mode 100644
> index 0000000..626332f
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb
> @@ -0,0 +1,28 @@
> +DESCRIPTION = "Meet Cloud9, development-as-a-service for Javascripters and other developers"
> +HOMEPAGE = "http://c9.io"
> +RDEPENDS = "nodejs"

This belongs further down too.

> +
> +SRC_URI = "git://github.com/jadonk/cloud9.git;protocol=git \
> +"

Please put that below the license stuff [1].

> +
> +LICENSE = "GPLv3"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=4784c3bcff601fd8f9515f52a11e7018"
> +
> +SRCREV = "08bae1d1cc2ba9f7f883a25afd07f0339a82fa8b"
> +S = "${WORKDIR}/git"
> +
> +do_configure_prepend () {
> + git submodule update --init --recursive
> +}
> +
> +do_compile () {
> +}

Maybe add comments why the above overrides are needed.

> +
> +do_install () {
> + install -m 0755 -d ${D}/usr/share/cloud9 ${D}${bindir}
> + rsync -r --exclude=".*" ${S}/* ${D}/usr/share/cloud9

Should `rsync` be put in `DEPENDS`?

> + touch ${D}${bindir}/cloud9
> + echo "#!/bin/sh" > ${D}${bindir}/cloud9
> + echo "node /usr/share/cloud9/bin/cloud9.js -l 0.0.0.0 -w /home/root -p 3000" >> ${D}${bindir}/cloud9
> + chmod 0755 ${D}${bindir}/cloud9
> +}


Thanks,

Paul


[1] http://openembedded.org/index.php?title=Styleguide
Jason Kridner - Sept. 26, 2011, 4:24 p.m.
On Sat, Sep 24, 2011 at 3:25 AM, Paul Menzel
<paulepanter@users.sourceforge.net> wrote:
> Dear Jason,
>
> Am Samstag, den 24.09.2011, 03:08 -0400 schrieb Jason Kridner:
>> Cloud9 is a web-browser based IDE.  This application should support
>> multiple architectures as long as they have node.js and a build of
>> node-o3-xml that is dropped into this system.  Ideally, that library
>> would be added separately as a system-dependent portion, because
>> everything else should be ISA independent.
>>
>> Advice on cleaning up this recipe is welcome.
>
> what problems to do you see?

My main concern was the use of rsync and the process I was using to
extract git submodules.  They both work fine.  Hopefully the fetcher
will be improved in the future to solve the git submodules challenge,
but I sure think there must be an easier way to simply copy all of the
non-hidden files in a directory.

>
>> I will continue to improve it as I understand how.  It is rather
>> useful as-is.
>> ---
>>  meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb |   28 +++++++++++++++++++++++
>>  1 files changed, 28 insertions(+), 0 deletions(-)
>>  create mode 100644 meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb
>>
>> diff --git a/meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb b/meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb
>> new file mode 100644
>> index 0000000..626332f
>> --- /dev/null
>> +++ b/meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb
>> @@ -0,0 +1,28 @@
>> +DESCRIPTION = "Meet Cloud9, development-as-a-service for Javascripters and other developers"
>> +HOMEPAGE = "http://c9.io"
>> +RDEPENDS = "nodejs"
>
> This belongs further down too.

oe-stylize places RDEPENDS above SRC_URI.

>
>> +
>> +SRC_URI = "git://github.com/jadonk/cloud9.git;protocol=git \
>> +"
>
> Please put that below the license stuff [1].
>
>> +
>> +LICENSE = "GPLv3"
>> +LIC_FILES_CHKSUM = "file://LICENSE;md5=4784c3bcff601fd8f9515f52a11e7018"

oe-stylize only moves LICENSE up higher, but doesn't understand
LIC_FILES_CHKSUM.  I'll fix manually.

>> +
>> +SRCREV = "08bae1d1cc2ba9f7f883a25afd07f0339a82fa8b"
>> +S = "${WORKDIR}/git"
>> +
>> +do_configure_prepend () {
>> + git submodule update --init --recursive
>> +}
>> +
>> +do_compile () {
>> +}
>
> Maybe add comments why the above overrides are needed.

Will do.  Note that oe-sytlize removes the line breaks between the do_
functions.  Is that really desired?

>
>> +
>> +do_install () {
>> + install -m 0755 -d ${D}/usr/share/cloud9 ${D}${bindir}
>> + rsync -r --exclude=".*" ${S}/* ${D}/usr/share/cloud9
>
> Should `rsync` be put in `DEPENDS`?

I'll put it there.

>
>> + touch ${D}${bindir}/cloud9
>> + echo "#!/bin/sh" > ${D}${bindir}/cloud9
>> + echo "node /usr/share/cloud9/bin/cloud9.js -l 0.0.0.0 -w /home/root -p 3000" >> ${D}${bindir}/cloud9
>> + chmod 0755 ${D}${bindir}/cloud9
>> +}
>
>
> Thanks,
>
> Paul
>
>
> [1] http://openembedded.org/index.php?title=Styleguide

I believe that is only for classic OE.  I'm looking to submit to
meta-oe.  I submitted to this list per [2].

[2] http://git.openembedded.org/cgit.cgi/meta-openembedded/tree/meta-oe/README

>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
>
Denys Dmytriyenko - Sept. 26, 2011, 11:13 p.m.
On Mon, Sep 26, 2011 at 12:24:11PM -0400, Jason Kridner wrote:
> 
> >> +SRCREV = "08bae1d1cc2ba9f7f883a25afd07f0339a82fa8b"
> >> +S = "${WORKDIR}/git"
> >> +
> >> +do_configure_prepend () {
> >> + git submodule update --init --recursive
> >> +}
> >> +
> >> +do_compile () {
> >> +}
> >
> > Maybe add comments why the above overrides are needed.
> 
> Will do.  Note that oe-sytlize removes the line breaks between the do_
> functions.  Is that really desired?

Not sure about the lack of empty lines between do_ functions - probably an 
unintended behavior of oe-stylize...

But I believe empty do_ functions need to have a single ':' character, which 
is a NOP in shell, to prevent bitbake from discarding the function altogether, 
if I'm not mistaken for the proper reason.

Patch

diff --git a/meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb b/meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb
new file mode 100644
index 0000000..626332f
--- /dev/null
+++ b/meta-oe/recipes-devtools/cloud9/cloud9_0.5.1.bb
@@ -0,0 +1,28 @@ 
+DESCRIPTION = "Meet Cloud9, development-as-a-service for Javascripters and other developers"
+HOMEPAGE = "http://c9.io"
+RDEPENDS = "nodejs"
+
+SRC_URI = "git://github.com/jadonk/cloud9.git;protocol=git \
+"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4784c3bcff601fd8f9515f52a11e7018"
+
+SRCREV = "08bae1d1cc2ba9f7f883a25afd07f0339a82fa8b"
+S = "${WORKDIR}/git"
+
+do_configure_prepend () {
+ git submodule update --init --recursive
+}
+
+do_compile () {
+}
+
+do_install () {
+ install -m 0755 -d ${D}/usr/share/cloud9 ${D}${bindir}
+ rsync -r --exclude=".*" ${S}/* ${D}/usr/share/cloud9
+ touch ${D}${bindir}/cloud9
+ echo "#!/bin/sh" > ${D}${bindir}/cloud9
+ echo "node /usr/share/cloud9/bin/cloud9.js -l 0.0.0.0 -w /home/root -p 3000" >> ${D}${bindir}/cloud9
+ chmod 0755 ${D}${bindir}/cloud9
+}