* Package name : arangodb Version : 2.2.3 * URL : https://www.arangodb.org/ * License : Apache 2.0 Programming Lang: C, C++, Javascript, Ruby Description : ArangoDB is a multi-model mostly-memory database with a flexible data model for documents and graphs. ArangoDB is a multi-purpose open-source database with a flexible data model for documents, graphs and key-values. You can easily build high performance applications using a convenient SQL-like query language or JavaScript extensions. The database server arangod stores all documents and serves them using a REST interface. There are drivers for all major languages like Ruby, Python, PHP, JavaScript, and Perl. In the following sections we will use the JavaScript shell to communicate with the database and demonstrate some of ArangoDB's features using JavaScript. The project provides Debian packages already, so packaging it has already a start.
Kjetil Kjernsmo wrote...
(...)
As somebody else asked me to bring arangodb into Debian, I did some
research and wish to share the result:
While upstream does provide Debian packages, the packaging itself is not
included: There are no sources in the repository[1], and the sources at
github do not include a debian/ directory.
Furthermore, the sources include several code copies that have to be
replaced with the according packages in Debian, or need separate
packaging first. In detail, as found in arangodb 3.1.7:
,-Version as included in the ArangoDB sources
| ,- Debian stretch
| | ,- Debian jessie
boost 1.62.0 1.62.0+dfsg-4 1.55.0+dfsg-3(!)
curl 7.50.3 7.52.1-4 7.38.0-4
linenoise-ng ? - -
rocksdb 4.8.0 4.5.1-2 -
snappy 1.1.3 1.1.3-3 1.1.2-3(!)
v8 5.0.71.39 3.14.5.8-11(!) 3.14.5.8-8.1(!)
valgrind ? 1:3.12.0~svn20160714-1+b1
1:3.10.0-4
velocypack ? - -
zlib 1.2.8 1:1.2.8.dfsg-5 1:1.2.8.dfsg-2+b1
Now, linenoise-ng and velocypack have to be packaged first, I did not
even see an RFP/ITP yet. They should be easly tasks though in both
packaging and license. The big issue however is v8 which is horribly
outdated in Debian for reasons I don't know. And even if that old
version should work, it has no security support[2].
Therefore, packaging arangodb for Debian requires some work and might
still be impossible to achieve. As always, maintaining a Debian package
should be done by someone who uses that software constantly. That would
not be me.
Christoph
[1] https://www.arangodb.com/repositories/arangodb31/Debian_8.0/
[2] https://sources.debian.net/src/libv8-3.14/3.14.5.8-11/debian/README.Debian.security/
Hi Christop, Thanks for giving us a heads up regarding the key life time. I've read through: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761817 (which is probably related to this mail?) and have some remarks: - V8 does not provide a stable API across versions, so you need exactly the version that we use (or that release series). - we apply some patches to V8, mostly build system related, however some of them patch away some "Resources empty? Geronimo!!!!" code which is not nice to have in a database - that will auto-terminate without any feedback then. - Rocksdb - same here. While we send patches of our changes upstream, they may only become available in later versions which may not be api compatible - so if I strongly sugest to use the version shipped with arangodb. - Boost - you most probably need the version we use, it should be ok to use a system provided version - snappy - whatever is newer probably is better. needs to work with rocksdb. - s2 (not yet in your list) - probably needs to be exactly the shipped version with ArangoDB 3.4 - curl - you can probably use newer versions. - velocypack - our binary json representation https://github.com/arangodb/velocypack/ - to be honest we didn't yet work with tags here so you could identify whats released with which arangodb - we need to fix this. - fuerte - our binary transport c++ library - issues see velocypack. - iresearch - needs to be a matching version, however upstream is also maintained by us. - ICU - we use the one bundled with V8 - don't know whether there is a good way to include a system one Up to arangodb we used cpack to generate debian packages, accompanying scripts can be found in Installation/debian; This is probably why you don't find a debian/ directory. With ArangoDB 3.4 we migrated to statically linked binaries with libmusl - compile once, bundle into tar/rpm/deb; The currently used debian scripts can be found here: https://github.com/arangodb/oskar/tree/master/debian/3.4 Since we need to be able to ship bugfix versions, we do this with the third version digit incrementing. So Arangodb 3.3.20 can be treated as a bugfix version of 3.3.19. The current arangodb cmake build is intended to bundle and bring all required 3rd party libraries, I don't know how well it can be configured to prefer system installed ones. If you have more questions regarding compiling arangodb don't hesitate to ping me via slack or github issues. Cheers, Willi ps: there are only rspec / ruby tests remaining which probably shouldn't be represented in the final package, the ruby tag of the initial wnpp can probably be removed.