k3b 0.11.13 fails to compile when arts isn't installed and -arts is set. If +arts is set in USE, arts will be pulled in and there isn't a problem. Reproducible: Always Steps to Reproduce: 1. Set -arts in make.conf and make sure arts is not installed 2. emerge k3b 3. Error occurs during ./configure Actual Results: <-snip-> checking if Qt needs -ljpeg... no checking for rpath... yes checking for KDE... libraries /usr/kde/3.3/lib, headers /usr/kde/3.3/include checking if UIC has KDE plugins available... yes checking for KDE paths... defaults checking for dcopidl... /usr/kde/3.3/bin/dcopidl checking for dcopidl2cpp... /usr/kde/3.3/bin/dcopidl2cpp checking for mcopidl... not found configure: error: The important program mcopidl was not found! Please check whether you installed aRts correctly or use --without-arts to compile without aRts support (this will remove functionality). Expected Results: It should have set --without-arts during the ./configure section from the -arts USE flag and compiled and built the k3b version. From the ./configure --help of K3b: --without-arts build without aRts default=no So by default this version of k3b, turns aRts on whether it is installed or not. It must be explictly told to --without-arts should -arts be set. I have a patch to the ebuild that will do this (I think) that I will attach in a second. Testing to make sure it works first :).
Created attachment 36829 [details, diff] Simple patch to check for arts use flag This is a simple one line patch that checks for the arts use flag, and then adds to $myconf either --with-arts or --with-arts depending. After doing this, the ebuild built for me without issue.
k3b-0.11.12-r1 has use debug && myconf="${myconf} --enable-debugging --enable-profiling" \ || myconf="${myconf} --disable-debugging --disable-profiling" use kde || myconf="${myconf} --without-k3bsetup" use arts || myconf="${myconf} --without-arts" Why were those lines removed?
The arts configure flag is determined by kde.eclass now, the proposed patch should be irrelevant. Did anyone test 0.11.12 w/o arts?
k3b-0.11.12-r1 seems to be fine. At least it's not bailing out at ./configure. Compiling now.
------- Additional Comment #3 From Carsten Lohrke 2004-08-05 14:22 PST ------- The arts configure flag is determined by kde.eclass now, the proposed patch should be irrelevant. Did anyone test 0.11.12 w/o arts? the problem is that k3b inherit kde.eclass but kde.eclass, as far as I can understand from the file, requires KDEMINORVER >= 3 to enable "--without-arts" [ "$KDEMINORVER" -ge 3 ] && myconf="$myconf `use_with arts`" and kdeminorver is overrided by need-kde 3.1 in k3b-0.11.13.ebuild. moreover, kde 3.3 is still masked and most people have just emerged kdelibs 3.2 to build k3b, so IMHO until 3.3 become stable it would be better to mantain the old workaround insted of inheriting all from the eclass.
Yes, my fault. Already fixed. Thanks for the report. :)
In particular, the kde USE flag compile option is important. Without K3BSetup, users will have to set cdrecord and cdrdoa sticky suid root manually at the command line. This ebuild should also include a script for -kde users to accomplish this without touching the terminal, as XCDRoast has done for some time. Perhaps change to: use kde || {myconf="$(myconf) --without-k3bsetup"; \ chmod 4710 /usr/bin/cdrecord; \ chmod 4710 /usr/bin/cdrdao;} I am no python wizard, so please correct this for obvious syntax errors and/or any env variables that I should be using instead of absolute paths. According to the cdrecord man page, using these permissions is not a big security risk *anymore*
Unnecessary suid by default is always a security risc. Helpful post install information is possible; Or you may have a look at Bug 38122. Please don't add comments to resolved bug reports. They're easily overlooked. Rather open a new one.