From: Chris F. <cd...@fo...> - 2011-07-18 01:04:49
|
On Sun, Jul 17, 2011 at 08:37:52PM -0300, Luiz Angelo Daros de Luca wrote: > Just for curiosity, this is what a file-sync is like when written in > ruby. It is almost line-by-line identical to C version. As script languages > are more expressive, it uses almost the half number of line and a lot of > less pressed keys. > > https://github.com/luizluca/libopensync-plugin-ruby/blob/proposed/example/ruby-file-sync.rb Nifty! > Now, about your current work: binary-meta. First of all, thanks for testing! > It fails at this point: > > $ make deb-fs-latest > (...) > dh_installmenu > dh_install > --sourcedir=/mnt/usuarios/luizluca/prog/opensync/binary-meta/debian/opensync-latest/debian/tmp > --fail-missing > dh_install: python-opensync missing files > (usr/lib/python*/site-packages/opensync.py), aborting > make[2]: ** [binary-common] Erro 2 > make[2]: Saindo do diret??rio > `/mnt/usuarios/luizluca/prog/opensync/binary-meta/debian/opensync-latest' > make[1]: ** [binary-arch] Erro 2 > make[1]: Saindo do diret??rio > `/mnt/usuarios/luizluca/prog/opensync/binary-meta/debian/opensync-latest' > make: ** [deb-os-latest-build] Erro 2 Whoops, that's just a packaging error. The files are supposed to go into dist-packages on debian anyway. I've fixed the latest git. Please note that I'm currently grinding my way through the opensync library, rescuing widows and orphans as I may... er, fixing memory leaks and memory access errors reported by valgrind. It is a work in progress, and afterward, opensync will be better, but reducing memory leaks always raises the risk of doing a double free somewhere before I find it in the next valgrind run. Just a caution. :-) Opensync certainly needs the TLC... :-) > Also, why is it needed that opensync must not be installed in my system > before the build? It checks for installed version using pkgconfig. For a > distribution maintainer, what generally occurs is exactly the opposite: each > package that is required for build should be installed in the build system > before it is built. Yeah, that's just to avoid potential conflicts. I haven't tested the makefile while having libopensync binary packages installed, yet. I suppose it should work in theory, since PKG_CONFIG_PATH and LD_LIBRARY_PATH and friends should take precedence, but so far it's enough work getting all these packages wrangled into order without tackling the corner cases. :-) You're welcome to try it. I suspect it will work, but no guarantees. And you're right... the binary-meta package is intended to be different. It is supposed to making building opensync binary packages extremely easy on any machine, without root. i.e. create a new user on your system, drop in binary-meta, and instant binary package build system. The dependency install scripts take care of the distro stuff, and the makefile takes care of the rest. There are also new targets now for building source-only, without the binary packages. You can even set the PREFIX and DESTDIR on a tree-wide scale. See the README-devel.txt file for details. > I guess that a unified build would be interesting for the developers, as it > can test api breakage for all plugins at once. Does binary-meta run tests? Not yet. But that's a good idea... I've added it to my todo list. Thanks, - Chris |