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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox