Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 104602 - Multivalue Database called OpenQM (new ebuild)
Summary: Multivalue Database called OpenQM (new ebuild)
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High enhancement (vote)
Assignee: Default Assignee for New Packages
URL:
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2005-09-02 07:59 UTC by John Thompson
Modified: 2005-09-13 10:50 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
openqm-2.2.0_pre1.ebuild (openqm-2.2.0_pre1.ebuild,5.02 KB, text/plain)
2005-09-02 08:01 UTC, John Thompson
Details
openqm-2.2.0_pre2.ebuild (openqm-2.2.0_pre2.ebuild,2.36 KB, text/plain)
2005-09-02 11:54 UTC, John Thompson
Details
openqm-2.2.0_pre2.ebuild without ppc support (openqm-2.2.0_pre2.ebuild,2.36 KB, text/plain)
2005-09-13 10:30 UTC, John Thompson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John Thompson 2005-09-02 07:59:23 UTC
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
Comment 1 John Thompson 2005-09-02 08:01:36 UTC
Created attachment 67481 [details]
openqm-2.2.0_pre1.ebuild
Comment 2 Carsten Lohrke (RETIRED) gentoo-dev 2005-09-02 10:11:49 UTC
Unfortunately the whole ebuild is dead ugly. Please remove the load of useless
comments. The ebuild header is invalid
Comment 3 Carsten Lohrke (RETIRED) gentoo-dev 2005-09-02 10:11:49 UTC
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
Comment 4 John Thompson 2005-09-02 11:53:09 UTC

(In reply to comment #2)
> Unfortunately the whole ebuild is dead ugly. Please remove the load of useless
> comments. The ebuild header is invalid
Comment 5 John Thompson 2005-09-02 11:53:09 UTC

(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.
Comment 6 John Thompson 2005-09-02 11:54:09 UTC
Created attachment 67500 [details]
openqm-2.2.0_pre2.ebuild
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2005-09-02 20:41:55 UTC
Disregarding the ebuild state, this thing miserably fails to compile not only w/
gcc-4, but even w/ gcc-3.4.4.

WONTFIX.
Comment 8 John Thompson 2005-09-07 08:49:04 UTC
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.
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2005-09-07 09:03:14 UTC
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.
Comment 10 John Thompson 2005-09-07 09:44:34 UTC
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'.  
Comment 11 John Thompson 2005-09-13 10:28:54 UTC
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
Comment 12 John Thompson 2005-09-13 10:30:23 UTC
Created attachment 68374 [details]
openqm-2.2.0_pre2.ebuild without ppc support
Comment 13 Jakub Moc (RETIRED) gentoo-dev 2005-09-13 10:31:55 UTC
(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.
Comment 14 Jakub Moc (RETIRED) gentoo-dev 2005-09-13 10:50:01 UTC
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.