This is the first time I have ever written an ebuild. There is a multivalue database called OpenQM. Its under the GPL-2. I have tested it myself and it installs OpenQM properly. However, I would like it checked for a "correctness." By "correctness" I mean that if follows the ebuild standards, etc. I commented it extensively to demonstrate my noobiness. If I'm submitting this in the wrong way, then tell me that too. Reproducible: Always Steps to Reproduce: 1. ebuild /usr/local/portage/dev-db/openqm-2.2.0_pre1.ebuild digest 2. emerge -pv openqm 3. Actual Results: It worked with a few compaints from gcc. GCC complaints: warning: use of cast expressions as lvalues is deprecated. usr/qmsys/bin/qmclilib.so will contain runtime text relocations Text relocations require a lot of extra work to be preformed by the dynamic linker which will cause serious performance impact on IA-32 and might not function properly on other architectures hppa for example. If you are a programmer please take a closer look at this package and consider writing a patch which addresses this problem. Expected Results: I think that it should try and use some eutils, but I could not get them to work like I wanted them to. Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4. 20040808-r1, 2.6.11-hardened-r15 i686) ================================================================= System uname: 2.6.11-hardened-r15 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.6.13 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled ] ccache version 2.3 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.8.1-r1, 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -pipe -mmmx -msse -msse2" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share /config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/shar e/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -pipe -mmmx -msse -msse2" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distcc distlocks prelink sandbox sfperms strict" GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo ftp://ftp.gtlib.cc.ga tech.edu/pub/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aalib acpi aim alsa apm arts avi berkdb bitmap-fonts cdr crypt cups c url dbus directfb divx4linux dvd dvdr eds emboss encode esd fam fastcgi flac foo maticdb fortran ftp gdbm ggi gif gpm gstreamer gtk gtk2 hal icq imagemagick imli b java jikes jpeg kde kdeenablefinal kerberos ldap libg++ libwww mad mikmod mmx mmx2 motif mp3 mpeg msn ncurses nls nptl odbc ogg oggvorbis opengl oscar oss pam pdflib perl png ppds python qt quicktime readline samba sdl slang slp spell sse ssl svga symlink tcltk tcpd tiff truetype truetype-fonts type1-fonts usb vorbis xml2 xmms xv yahoo zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Created attachment 67481 [details] openqm-2.2.0_pre1.ebuild
Unfortunately the whole ebuild is dead ugly. Please remove the load of useless comments. The ebuild header is invalid
Unfortunately the whole ebuild is dead ugly. Please remove the load of useless comments. The ebuild header is invalid¹. And always attach files plain text. And you are not allowed to install anything directly to the system. Your directory base is always ${D} (or ${ROOT} if inevitable). Please Read the developer handbook² and have a look at a bunch of other ebuilds. [1] http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=3 [2] http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
(In reply to comment #2) > Unfortunately the whole ebuild is dead ugly. Please remove the load of useless > comments. The ebuild header is invalid
(In reply to comment #2) > Unfortunately the whole ebuild is dead ugly. Please remove the load of useless > comments. The ebuild header is invalid¹. And always attach files plain text. > > And you are not allowed to install anything directly to the system. Your > directory base is always ${D} (or ${ROOT} if inevitable). Please Read the > developer handbook² and have a look at a bunch of other ebuilds. > > [1] http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=3 > [2] http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml Ok I removed most of the comments. I did read the handbook, but I was confused on how to move it from the image directory ${D} to the live filessystem. I tried doins and could not get it to work. I tried setting insinto to point to where I wanted it to go, but the ebuild kept trying to put it directly into /. Are you saying, for testing I should never move anything from ${D}, to the live filesystem? What is the proper way of doing this? I also tried functions like dodir using examples from other ebuilds, but I never had any luck with it. So thats why I used things like mkdir and cp. Should I try replacing things like mkdir with dodir? Sorry to submit things that aren't so pretty, but I figured the only way I would learn is to throw it out there. I tried the forums once, but got no response. http://forums.gentoo.org/viewtopic-t-335133-highlight-openqm.html Thanks for the response.
Created attachment 67500 [details] openqm-2.2.0_pre2.ebuild
Disregarding the ebuild state, this thing miserably fails to compile not only w/ gcc-4, but even w/ gcc-3.4.4. WONTFIX.
Ok, whatever, why on earth you're trying to compile with a compiler that isn't even marked stable is beyond me. Thats up to the folks that wrote the QM kernel if they want to make it work with >GCC 3.4. I'm leaving it here (unless someone deletes it), because MAYBE someone will be nice enough to tell me how to fix it, and do it correctly, or if you're really bored and use QM, fix it yourself.
If it does not compile w/ gcc-3.4.4, then it's is broken. Period. If we did put it into the tree, we would have to fix it ourselves, not really an option. BTW, gcc-3.4.4-r1 is marked stable on ppc (and ppc64, amd64 etc.), so please don't put keywords that you did not test to the ebuild. Feel free to reopen this bug when it actually compiles at least on the keyworded ARCHs. Thanks.
My apologies, I'll check on the PPC part of it. I was just going on what I had heard on their mailing lists and website. I did all of my stuff on x86. Sorry, for being 'testy'.
I've posted some questions here in the forums, as I didn't wan't to clutter up the bug posting area. Any help is appreciated. I took away the PPC keyword as I do not have the hardware to test on. I got differing opinions on the openqm mailing lists about whether or not it works on ppc. It worked for some, but didn't for others. Is it possible to get it going for x86 and add the ppc support later? Here is the forum posting: http://forums.gentoo.org/viewtopic-p-2722495.html#2722495
Created attachment 68374 [details] openqm-2.2.0_pre2.ebuild without ppc support
(In reply to comment #9) > Is it possible to get it going for x86 and add the ppc support later? Of course, but it needs to compile at least *g* - and it does not for me.
OK, back to the ebuild: 1/ The version is de facto hardcoded - http://dev.gentoo.org/~ciaranm/docs/mw-faq/hardcoded.txt 2/ No need to depend on virtual/libc. Also, is xinetd mandatory or optional? 3/ Do not use /bin/false as shell, it does not work in other userlands; 'enewuser qm 61 -1 /dev/null qm' is better. 4/ pkg_preinst() - breaks sandbox (see comment #2 and http://dev.gentoo.org/~ciaranm/docs/mw-faq/sandbox.txt) 5/ src_unpack() - I'm lost about that permissions check meaning, probably should be dropped entirely. 6/ src_compile() - einstall in there?! Also, do we really need to use einstall? (http://dev.gentoo.org/~ciaranm/docs/mw-faq/einstall.txt) 7/ src_install() - breaks sandbox 8/ pkg_postinst() - almost all the stuff in there should have been done in previous phases and w/ some better coding. There are probably more. http://dev.gentoo.org/~plasmaroo/devmanual/ http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1 Closing CANTFIX, please attempt a fixed ebuild and reopen then. Thanks.