Hi here is my Elektra 0.4 ebuild The Elektra Project provides an alternative back-end for text configuration files. Instead of each program to have its own text configuration files, with a variety of formats, Elektra tries to provide a universal, hierarchical, fast and consistent namespace and infrastructure to access configuration parameters through a key-value pair mechanism. This way any software can read/save its configuration/state using a consistent API. URL: http://elektra.sourceforge.net/ i suggest app-admin/elektra as categorie Dependecies: doxygen and docbook-xsl-stylesheets ( both are allready in portage)
Created attachment 39248 [details] elektra 0.4 Elektra 0.4 ebuild
Created attachment 41216 [details] elektra-0.4.1 Elektra 0.4.1 ebuild
Created attachment 41217 [details] elektra-0.4.2 Elektra 0.4.2 ebuild - Tested
Created attachment 41218 [details] elektra-0.4.3 Elektra 0.4.3 ebuild - Tested
i change my sugestion from app-admin to sys-libs
Created attachment 43212 [details] elektra-0.4.4 Tested eBuild for Elektra 4.4
Created attachment 43213 [details] elektra-0.4.5 Tested eBuild vor elektra 0.4.5
Ebuild works fine for me, but lot of packages as to but patched (ie. xorg,...) so it's still unusable for now, but it's ready for experimental tests. So I think it shoud go to hard masked packages. I sugest also a use flag "elektra" for all packages that have to be patched to work with elektra. the question is "Is elektra _the_ way for managing /etc ?"
at the moment there are patches for XORG[1] /sbin/init [2] and there is an nss-elektra "plugin" in work (at the moment only alpha version) 1: http://sourceforge.net/project/showfiles.php?group_id=117521&package_id=136552 2: http://sourceforge.net/project/showfiles.php?group_id=117521&package_id=128960
Following a long Gentoo tradition I think it will be a Good Thing to try to incorporate Elektra configuration backend into a system. I think the "elektra" USE flag is great. IMHO this would a move in a very good direction. Instead of fighting with several dozens of confiration files' formats, just one consistent API. The only shadow to overcome is to give a consistent Elektra usage guidelines for developers. I mean, a piece of software should manage only its own configuration and in a meaningful way. I know some other system that has a real trouble managing the keys for its components, which are spread in very strange places (aka. undocumented or poorly documented registry keys). BTW. What is the performance difference when using "elektrified" boot and/or init scripts? BTW.2. Has anybody thought of "elektrifying" make.conf file?? :) Kind regards, Wiktor.W.
s/confiration/configuration (sorry! my bad)
Created attachment 48264 [details] elektra-0.4.10.ebuild The elektra-0.4.10.ebuild has a problem. You cannot emerge a second time. The second emerge finds the 'kbd' command and the Makefile tries to run it which fails with a sandbox violation. The latest elektra can remove the dependency on the templates and still get man files. kindest regards, tim
Created attachment 48327 [details] elektra-0.4.10.ebuild test this ebuild i know it look ugly but it works for me ;)
Please make the dependency on doxygen depend on the "doc" use-flag? Thanks! Unfortunately this would mean to fiddle with the really horrible build system of elektra... *me shivers*
kdb depends on libxml, but the ebuild does not declare that dependendency.
Update the ebuilds please if still interested
Created attachment 54046 [details] elektra-0.4.11.ebuild
Created attachment 54050 [details] elektra-0.4.11.ebuild i forgot the libxml dependecy in the last ebuild ok i installed it and it works for me please test
I'm not sure why this is assigned to the Python team... secondarily, this doesn't compile on amd64. (The merge finishes, without binaries...) Unfortunately the output and build is so stinky I'm not gonna touch this one with a 10' pole.
To add to that I'll just note that the next version (which may be due out "soon") will most likely also introduce major incompatibilities. I'd say this bug should just be marked LATER.
not quite sure why this is python either .. i'm marking this later, unless some other dev wants to pick it up
This ebuild do not exist in portage and no reason have been stated why it should not be, so why is it "solved"? either way I like the elektra project a lot, and I hope there will soon be a "elektra" use flag as well as a glep proposing gentoo should work towards using elektra 100%. (reason I didn't file a glep myself is due to the difficulty of finding a place where I could just enter my proposal)
Created attachment 58927 [details] Build log The ebuild isn't quite working for me. Don't know if it's the ebuild or the makefile, but when compiling, it starts up about 600 instances of make. This fills up my memory completely... I managed to ctrl-c out of it. Not sure if the OOM killer would have caught it. I attached the build log. I'd like this software in portage too. Not really 100% necessery, but I quite like the goals of this project. It's scary to have a regedit on linux though.
In my eyes elektra should be at least added to portage ( at least a version which without build problems). Corporating elektra into gentoo is a second (big) step which should be addressed later. However using elektra for single, custom applications should be supported immediately by an existing ebuild.
(In reply to comment #0) > i suggest app-admin/elektra as categorie > IMHO: It would be better to move it into category 'sys-apps' or even 'sys-libs', because it's a system-wide thing ...
(In reply to comment #25) > (In reply to comment #0) > > > i suggest app-admin/elektra as categorie > > > > IMHO: It would be better to move it into category 'sys-apps' or even > 'sys-libs', because it's a system-wide thing ... look at #5
Created attachment 66813 [details] elektra-0.5.0.4.ebuild Requires the elektra-0.5.0.4.patch in the files directory.
Created attachment 66814 [details, diff] elektra-0.5.0.4.patch Patch to correctly name the libraries and stop sandbox violation
The man pages are not installed, it looks like the 'doc' use has no influence anyway. It might a problem of the Makefile.
*** Bug 161945 has been marked as a duplicate of this bug. ***
Created attachment 106872 [details] elektra-0.6.6-r1.ebuild I did not find this bug because it was closed, anyway merged the ebuild from bug 161945 with the last from this bug. Now the doc USE flag works removed "gnome patches fstab" USE flags because does not do anything.
Created attachment 133789 [details] elektra-0.6.10.ebuild - moved to latest version - fixed bug that made the ebuild fail without USE="doc" - tested on ~amd64 and ~ppc with and without doc IMHO the thing is probably less buggy than in '05 and should be considered for addition to portage again. Could someone reopen the bug?
*** Bug 287302 has been marked as a duplicate of this bug. ***
Created attachment 205809 [details] elektra-0.7.0.ebuild added to http://svn.xmw.de/gentoo-overlay/
Let's see if we can get this going. KDE, Qt, want to take this?
I don't see any relation to Qt (or KDE, or Python, for that matter), so no, we're not picking this up. Qt already has a similar mechanism in QtSettings which uses the ini file format and XDG standard locations. We recommend everybody to use that or another implementation following the same standards. As long as no upstream package that we have or want in the portage tree needs this, I see no reason for inclusion.
(In reply to comment #36) > As long as no upstream package that we have or want in the portage tree needs > this, I see no reason for inclusion. media-libs/oyranos ( http://bugs.gentoo.org/show_bug.cgi?id=287353 ) need it, which is optional for media-video/cinepaint ( http://bugs.gentoo.org/show_bug.cgi?id=278375 ). None of it is in portage (cinepaint was removed not long ago), but I hope to get it back in.
The latest elektra-0.7.0 was reviewed by #gentoo-sunrise and commited to sunrise-overlay for review ( http://overlays.gentoo.org/proj/sunrise/browser/sunrise/app-admin/elektra ). It will be available in sunrise-overlay at http://overlays.gentoo.org/proj/sunrise/browser/reviewed/app-admin/elektra soon. Michael
The build fails: 686-pc-linux-gnu-gcc -O2 -march=core2 -pipe -Wl,-O1 -Wl,--as-needed -o kdb_static kdb_static-kdb-tool.o kdb_static-help.o kdb_static-BSDgetopt.o /usr/lib/libxml2.so ../libelektra/libelektra.a ../libelektra/libelektra.a(libelektratools_a-kdbtools.o): In function `consumeKeyNode': kdbtools.c:(.text+0x15): undefined reference to `xmlTextReaderName' kdbtools.c:(.text+0x40): undefined reference to `xmlFree' kdbtools.c:(.text+0x86): undefined reference to `xmlTextReaderGetAttribute' kdbtools.c:(.text+0xa8): undefined reference to `xmlFree' kdbtools.c:(.text+0xbb): undefined reference to `xmlTextReaderGetAttribute' kdbtools.c:(.text+0xe5): undefined reference to `xmlFree' kdbtools.c:(.text+0xf8): undefined reference to `xmlTextReaderGetAttribute' kdbtools.c:(.text+0x141): undefined reference to `xmlFree' kdbtools.c:(.text+0x154): undefined reference to `xmlTextReaderGetAttribute' kdbtools.c:(.text+0x194): undefined reference to `xmlFree' kdbtools.c:(.text+0x1a7): undefined reference to `xmlTextReaderGetAttribute' kdbtools.c:(.text+0x1e7): undefined reference to `xmlFree' kdbtools.c:(.text+0x1f2): undefined reference to `xmlTextReaderIsEmptyElement' kdbtools.c:(.text+0x238): undefined reference to `xmlTextReaderGetAttribute' kdbtools.c:(.text+0x264): undefined reference to `xmlFree' kdbtools.c:(.text+0x277): undefined reference to `xmlTextReaderGetAttribute' kdbtools.c:(.text+0x2af): undefined reference to `xmlFree' kdbtools.c:(.text+0x2d7): undefined reference to `xmlTextReaderRead' kdbtools.c:(.text+0x2df): undefined reference to `xmlTextReaderName' kdbtools.c:(.text+0x301): undefined reference to `xmlTextReaderIsEmptyElement' kdbtools.c:(.text+0x314): undefined reference to `xmlTextReaderNodeType' kdbtools.c:(.text+0x328): undefined reference to `xmlTextReaderRead' kdbtools.c:(.text+0x330): undefined reference to `xmlTextReaderValue' kdbtools.c:(.text+0x36d): undefined reference to `xmlFree' kdbtools.c:(.text+0x379): undefined reference to `xmlFree' kdbtools.c:(.text+0x3fd): undefined reference to `xmlTextReaderNodeType' kdbtools.c:(.text+0x440): undefined reference to `xmlFree' kdbtools.c:(.text+0x457): undefined reference to `xmlTextReaderIsEmptyElement' kdbtools.c:(.text+0x466): undefined reference to `xmlTextReaderNodeType' kdbtools.c:(.text+0x476): undefined reference to `xmlTextReaderRead' kdbtools.c:(.text+0x47e): undefined reference to `xmlTextReaderValue' kdbtools.c:(.text+0x4a1): undefined reference to `xmlStrlen' kdbtools.c:(.text+0x506): undefined reference to `xmlFree' kdbtools.c:(.text+0x518): undefined reference to `xmlFree' kdbtools.c:(.text+0x579): undefined reference to `xmlFree' kdbtools.c:(.text+0x5eb): undefined reference to `xmlFree' kdbtools.c:(.text+0x5fe): undefined reference to `xmlTextReaderGetAttribute' kdbtools.c:(.text+0x607): undefined reference to `xmlFree' kdbtools.c:(.text+0x659): undefined reference to `xmlTextReaderGetAttribute' kdbtools.c:(.text+0x66f): undefined reference to `xmlTextReaderGetAttribute' kdbtools.c:(.text+0x6bc): undefined reference to `xmlFree' kdbtools.c:(.text+0x6c5): undefined reference to `xmlFree' kdbtools.c:(.text+0x6eb): undefined reference to `xmlFree' ../libelektra/libelektra.a(libelektratools_a-kdbtools.o): In function `consumeKeySetNode': kdbtools.c:(.text+0x80c): undefined reference to `xmlTextReaderName' kdbtools.c:(.text+0x82c): undefined reference to `xmlFree' kdbtools.c:(.text+0x84c): undefined reference to `xmlTextReaderGetAttribute' kdbtools.c:(.text+0x886): undefined reference to `xmlTextReaderRead' kdbtools.c:(.text+0x88e): undefined reference to `xmlTextReaderName' kdbtools.c:(.text+0x8c4): undefined reference to `xmlFree' kdbtools.c:(.text+0x924): undefined reference to `xmlTextReaderNodeType' kdbtools.c:(.text+0x990): undefined reference to `xmlStrPrintf' kdbtools.c:(.text+0x9cb): undefined reference to `xmlFree' kdbtools.c:(.text+0x9e7): undefined reference to `xmlFree' ../libelektra/libelektra.a(libelektratools_a-kdbtools.o): In function `libelektratools_LTX_ksFromXMLfile': kdbtools.c:(.text+0xa25): undefined reference to `xmlParseFile' kdbtools.c:(.text+0xa3b): undefined reference to `xmlReaderWalker' kdbtools.c:(.text+0xa4e): undefined reference to `xmlTextReaderRead' kdbtools.c:(.text+0xa8c): undefined reference to `xmlTextReaderRead' kdbtools.c:(.text+0xa9a): undefined reference to `xmlFree' kdbtools.c:(.text+0xaaa): undefined reference to `xmlTextReaderName' kdbtools.c:(.text+0xb0b): undefined reference to `xmlFreeTextReader' kdbtools.c:(.text+0xb16): undefined reference to `xmlFreeDoc' kdbtools.c:(.text+0xb1b): undefined reference to `xmlCleanupParser' collect2: ld returned 1 exit status make[2]: *** [kdb_static] Error 1 make[2]: Leaving directory `/var/tmp/portage/app-admin/elektra-0.7.0/work/elektra-0.7.0/src/kdb' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/app-admin/elektra-0.7.0/work/elektra-0.7.0/src' make: *** [all-recursive] Error 1 * ERROR: app-admin/elektra-0.7.0 failed: * died running emake, base_src_make * * Call stack: * ebuild.sh, line 54: Called src_compile * environment, line 2384: Called base_src_compile * environment, line 229: Called base_src_make * environment, line 267: Called die * The specific snippet of code: * emake "$@" || die "died running emake, $FUNCNAME"; * * If you need support, post the output of 'emerge --info =app-admin/elektra-0.7.0', * the complete build log and the output of 'emerge -pqv =app-admin/elektra-0.7.0'. * This ebuild is from an overlay named 'sunrise': '/usr/local/portage/layman/sunrise/' * The complete build log is located at '/var/log/portage/app-admin:elektra-0.7.0:20100826-192337.log'. * The ebuild environment file is located at '/var/tmp/portage/app-admin/elektra-0.7.0/temp/environment'. * S: '/var/tmp/portage/app-admin/elektra-0.7.0/work/elektra-0.7.0' >>> Failed to emerge app-admin/elektra-0.7.0, Log file: >>> '/var/log/portage/app-admin:elektra-0.7.0:20100826-192337.log' * Messages for package app-admin/elektra-0.7.0: * ERROR: app-admin/elektra-0.7.0 failed: * died running emake, base_src_make * * Call stack: * ebuild.sh, line 54: Called src_compile * environment, line 2384: Called base_src_compile * environment, line 229: Called base_src_make * environment, line 267: Called die * The specific snippet of code: * emake "$@" || die "died running emake, $FUNCNAME"; * * If you need support, post the output of 'emerge --info =app-admin/elektra-0.7.0', * the complete build log and the output of 'emerge -pqv =app-admin/elektra-0.7.0'. * This ebuild is from an overlay named 'sunrise': '/usr/local/portage/layman/sunrise/' * The complete build log is located at '/var/log/portage/app-admin:elektra-0.7.0:20100826-192337.log'. * The ebuild environment file is located at '/var/tmp/portage/app-admin/elektra-0.7.0/temp/environment'. * S: '/var/tmp/portage/app-admin/elektra-0.7.0/work/elektra-0.7.0'
# emerge --info elektra Portage 2.1.8.3 (default/linux/x86/10.0/desktop, gcc-4.3.4, glibc-2.11-r1, 2.6.32-gentoo-r8 i686) ================================================================= System Settings ================================================================= System uname: Linux-2.6.32-gentoo-r8-i686-Intel-R-_Core-TM-2_CPU_6300_@_1.86GHz-with-gentoo-2.0.1 Timestamp of tree: Thu, 26 Aug 2010 00:00:19 +0000 distcc 3.1 i686-pc-linux-gnu [disabled] ccache version 2.4 [disabled] app-shells/bash: 4.0_p28 dev-java/java-config: 1.3.7-r1, 2.1.10 dev-lang/python: 2.6.2-r1 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.6.4-r2 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.4.3-r3 sys-apps/sandbox: 1.7 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc: 3.4.6-r2, 4.3.4 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b sys-devel/make: 3.81 virtual/os-headers: 2.6.32 ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="*" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=core2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib/fax /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb /var/spool/fax/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -march=core2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="ru_RU.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en ru en_US en_GB" MAKEOPTS="" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac aalib accessibility acl acpi alsa amr apache2 arts asf atm audiofile automaount automount avi bash-completion beagle berkdb bitmap-fonts bluetooth branding bzip2 cairo cdda cddb cdr cli consolekit cpudetection cracklib crypt ctype cups cxx cyrillic dba dbus device-mapper dirac disk-partition divx djvu doc dri dts dvb dvd dvdr dvdread eds emboss encode esd ethereal exif expat expoblending faac faad fam fastbuild ffmpeg fftw flac fontconfig foomaticdb force-cgi-redirect fortran fpx ftp fts3 fuse gcj gd gdbm gdl gif gimp glut gmp gmplayer gnome gnome-keyring gphoto2 gpm gps gpu gsl gsm gstreamer gtk gtk2 gtkhtml guile h323 hal iconv idn imagemagick imlib ipv6 jadetex jbig jpeg jpeg2k kde kdrive kpathsea latex lcms lensfun libburn libg++ libnotify libwww lirc lzma mad mbox memlimit mikmod mmx mng modules moonlight motif mozilla moznopango mozsvg mp3 mp4 mpeg mudflap nautilus ncurses nls nptl nptlonly nsplugin ogg opencore-amr openexr opengl openmp oss pam pango pcre pdf pdflib perl png policykit posix ppds pppd python q16 q32 qt qt3support qt4 quicktime raw readline redeyes reflection samba schroedinger sdl session simplexml sip slang smp soap sockets sox speex spell spl sqlite sse sse2 ssl startup-notification svg sysfs tcltk tcpd theora threads tiff tokenizer tools truetype truetype-fonts type1-fonts udev unicode usb v4l v4l2 vcd vdpau video vidix vim-syntax vorbis wav webkit win32codecs wmf x264 x86 xattr xcb xinerama xml xml2 xmp xorg xsl xulrunner xv xvid xvmc zlib" ALSA_CARDS="ice1724" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authz_host access auth auth_dbm auth_anon auth_digest alias file-cache echo charset-lite cache disk-cache mem-cache ext-filter case_filter case-filter-in deflate mime-magic cern-meta expires headers usertrack unique-id proxy proxy-connect proxy-ftp proxy-http info include cgi cgid dav dav-fs vhost-alias speling rewrite log_config logio env setenvif mime status autoindex asis negotiation dir imap actions userdir so filter" CAMERAS="ptp2" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en ru en_US en_GB" LIRC_DEVICES="devinput" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
The problem seems to be related with --as-needed. The build with LDFLAGS="" emerge elektra is successful.
Thank you all for your contribution and patience. +*elektra-0.7.1 (05 Feb 2012) + + 05 Feb 2012; Michael Weber <xmw@gentoo.org> +elektra-0.7.1.ebuild, + +metadata.xml: + Initial import, thanks to all contributors (Piotr Szymaniak from sunrise, + everybody on bug 63417) +