all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Wisdom regarding packaging proxysql
@ 2020-02-05 15:59 Ellen Papsch
  2020-02-05 20:23 ` Leo Famulari
  0 siblings, 1 reply; 3+ messages in thread
From: Ellen Papsch @ 2020-02-05 15:59 UTC (permalink / raw)
  To: guix-devel

Hello Guix,

I'm currently packaging proxysql, of course with the goal of getting it
into Guix upstream as well. There are two hurdles, which I thought I
should discuss here.

The first is the rather unflexible Makefile based build system. It
would require some patching on Guix side. For example, the install
phase installs into a hard coded prefix (/usr). I played with the
thought of adding a meson build, but it would require forking and I
don't want to force something on upstream. 

The second hurdle is the extensive bundling of dependencies, all in all
16 libraries. I looked closely which libraries are modified in any way.
Luckily, 14 libraries are not modified and can be added directly as
inputs, of which 3 will need to be packaged (clickhouse-cpp,
libhttpserver, libinjection). Remaining ones are jemalloc and mariadb-
connector-c.

mariadb-connector-c is patched quite extensively, in ways that add
specific proxysql behavior documented in their wiki and relied upon by
users. For example, ma_password_c.patch changes the hashing behavior of
passwords, allowing users to specify passwords in a custom hash
presentation. I would keep this library bundled, because it constitutes
a fork, given the modifications.

The situation with jemalloc is better, only two small patches are
applied. issue823.patch solves a performance issue observed in a
benchmark. Authors of jemalloc declined the patch, noting that it
optimizes something they do not really want to support[0].
issue2358.patch fixes a bug which is also fixed upstream and slated for
the next release[1]. A minor proxysql feature is affected[2].

I'm inclined to use the jemalloc from Guix, although create a
customized version just for proxysql with the two patches applied.  If
I don't apply the first one, the main proxysql auhtor will personally
haunt me (he seems to value performance above all). The second patch
unbreaks an application feature.

Please let me in on your wisdom ;-)

Best regards
Ellen

[0] https://github.com/jemalloc/jemalloc/pull/523
[1] https://github.com/jemalloc/jemalloc/issues/1605
[2] https://github.com/sysown/proxysql/issues/2358

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-02-06  8:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-05 15:59 Wisdom regarding packaging proxysql Ellen Papsch
2020-02-05 20:23 ` Leo Famulari
2020-02-06  8:55   ` Ellen Papsch

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

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.