From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3] ejabberd: new package
Date: Fri, 17 Oct 2014 22:18:25 +0200 [thread overview]
Message-ID: <20141017201824.GC3971@free.fr> (raw)
In-Reply-To: <CAJtjsKZC=Fi4ND7HX+YEEyGrNivu+6RduYnQ08FmVWU+NAiYqA@mail.gmail.com>
Johan, All,
On 2014-10-16 14:38 +0200, Johan Oudinet spake thusly:
> On Sat, Oct 11, 2014 at 6:21 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> >
> > We've been discussing this ejabberd patch during the current Developpers
> > Day in D?sseldorf.
> >
> > Given the current issues that ewre noticed with building ejabberd, we
> > decided to mark the patch as Rejected in patchwork.
> >
> > This means that we rejected that very specific patch, *not* that we
> > decided not to have ejabberd. But before it gets included, all the
> > issues must be fixed first, especially the build-time downloading of
> > dependencies, as well as all the remarks that were made by Thomas and I.
>
> Sure, it makes sense to me as well. As I said in a previous mail, I
> did fix my patch to include your remarks, but two:
> 1. Fix ejabberd build system to not download dependencies at build time.
> 2. Avoid to use a fix UID and GID for ejabberd user.
>
> I don't know if I should republish the patch before fixing these two issues.
> I'd like your help on both of them.
>
> ** Fix ejabberd build system
> ** ===================
> The only solution i see is to create a buildroot package for every
> ejabberd dependency, listed in rebar.config.script :
> esip, goldrush, lager, p1_cache_tab, p1_iconv, p1_stringprep, p1_stun,
> p1_tls, p1_utils, p1_xml, p1_yaml, p1_zlib, xmlrpc
> Then, modify ejabberd package to not use rebar at all, or at least to
> not call rebar get-deps. Thus, if I remove deps from the `all'
> makefile rule and deps/.build from the `src' rule dependency, it might
> work.
>
> Do you have a better idea?
No, I have no better idea. I don't know how rebar works, but we indeed
need to have one package for each dependency. Having ejabberd (rebar, in
fact) do the download at configure/build time is not acceptable.
Howeever, I can see where that brings us:
- there are so far 14 identified such dependencies;
- maybe (probably?) each of those dependencies mya in turn have more
dependencies, which add up to the list;
- I have absolutely no idea how rebar (or the whole erlang ecosystem)
behaves for corss-compilation (hint: probably badly), which would
make for very tricky package recipes;
- thus, we'd highly benefit from a specialised package infrastructure,
like we have for perl, python or lua packages, though I'm afraid
that would not be a piece of cake to add such an infra.
So, I really don;t know where to go from there... :-(
If you were inclined into looking into this, then I think the best
course of actions for you would be somelthing along those lines:
(1) create a new package for the simplest, leaf-most dependency; this
will allow you to assess how complex it is to cross-build a single,
simple erlang package;
(2) add a new package that depends directly on, and only on the one
above; this will allow you to assess how complex it is to express
erlang dependencies in cross-compilation;
(3) progress with a few more packages (say, up to 3-5 packages); this
will allow you to have a global understanding about the
comonalities and specifities of erlang packages;
(4) see how to turn that into a specific package infrastructure;
(5) post your results to the list, so we can all agree on that new
infra; this will allow all of us to get to solve issues in a clean
and sane way;
(6) introduce that new infra, and convert the existing packages over
to that new infra;
(7) add every missing ejabberd dependencies one after the other,
adapting the new infra in case it is needed, until you eventually
reach to packaging ejabberd;
(8) rejoice! ;-)
Note that this will probably be a lot of work, and I do not expect it to
be easy at all. I'm willing to participate in this effort, if you want.
> ** Avoid to use a fix UID and GID for ejabberd user
> ** ===================================
>
> I still don't know how I could set the correct permissions to ejabberd
> files [...]
A quick solution to that would be to have all of ejabberd's files in a
specific directory, like /var/ejabberd (find a better location1), add
the necessary symlinks to point to that location, and use that location
in EJABBERD_USERS:
ejabberd -1 ejabberd -1 * /var/ejabberd - - ejabberd daemon
> [...] in <PKG>_PERMISSIONS if I set -1 for UID and GID in <PKG>_USERS
Indeed, there is no provision for using UIDs/GIDs from the _USERS variable,
from the _PERMISSIONS.
I'll look into that...
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2014-10-17 20:18 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-18 12:33 [Buildroot] [PATCH v3] ejabberd: new package Johan Oudinet
2014-07-18 21:35 ` Yann E. MORIN
2014-07-18 23:58 ` Johan Oudinet
2014-07-19 9:17 ` Yann E. MORIN
2014-07-20 9:33 ` Thomas Petazzoni
2014-08-06 10:30 ` Johan Oudinet
2014-08-06 19:40 ` Yann E. MORIN
2014-08-06 20:23 ` Yann E. MORIN
2014-08-11 9:36 ` Johan Oudinet
2014-08-11 10:07 ` Johan Oudinet
2014-08-11 10:13 ` Yann E. MORIN
2014-08-11 10:33 ` Yann E. MORIN
2014-08-11 10:50 ` Yann E. MORIN
2014-08-13 18:48 ` Frank Hunleth
2014-08-13 19:51 ` Yann E. MORIN
2014-08-13 20:44 ` Yann E. MORIN
2014-08-13 21:23 ` Frank Hunleth
2014-08-13 21:49 ` Yann E. MORIN
2014-08-13 22:18 ` Yann E. MORIN
2014-08-14 12:40 ` Frank Hunleth
2014-08-14 22:36 ` Yann E. MORIN
2014-08-11 13:13 ` Johan Oudinet
2014-08-12 15:13 ` Yann E. MORIN
2014-10-11 16:21 ` Yann E. MORIN
2014-10-16 12:38 ` Johan Oudinet
2014-10-17 20:18 ` Yann E. MORIN [this message]
2014-10-17 23:06 ` Arnout Vandecappelle
2014-10-18 10:00 ` Yann E. MORIN
2014-10-18 10:31 ` Johan Oudinet
2014-10-27 14:42 ` Johan Oudinet
2014-10-27 14:47 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141017201824.GC3971@free.fr \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.