Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 37165 - Swish-e version bump.
Summary: Swish-e version bump.
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High enhancement (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-03 23:35 UTC by Tom Barcellona
Modified: 2005-05-01 08:34 UTC (History)
1 user (show)

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


Attachments
swish-e-2.4.1-Makefile.PL.patch (swish-e-2.4.1-Makefile.PL.patch,611 bytes, patch)
2004-01-11 07:47 UTC, Eric Sammer (RETIRED)
Details | Diff
swish-e-2.4.1.ebuild.patch (swish-e-2.4.1.ebuild.patch,376 bytes, patch)
2004-01-11 07:51 UTC, Eric Sammer (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Barcellona 2004-01-03 23:35:04 UTC
The Swish-e ebuild needs a version bump to 2.4.1. I tried simply changing the version number on the ebuild and it craps out with this:

API.c:1208: `fw' undeclared (first use in this function)
API.c:1211: warning: assignment makes integer from pointer without a cast
API.xs:639: warning: assignment makes pointer from integer without a cast
API.c:1222: warning: assignment makes integer from pointer without a cast
API.c: In function `boot_SWISH__API':
API.c:1233: warning: initialization makes pointer from integer without a cast
API.c:1277: warning: assignment makes integer from pointer without a cast
make: *** [API.o] Error 1

!!! ERROR: net-www/swish-e-2.4.1 failed.
!!! Function perl-module_src_compile, Line 50, Exitcode 2
!!! compilation failed

(note: this is the error with the current Portage version emerged. Emerging w/o an existing installation gives somey error about not being able to find the path to the executable. (very "chicken-or-egg" sounding to me))

Anyway, I haven't the slightest clue how to fix it.
Comment 1 Eric Sammer (RETIRED) gentoo-dev 2004-01-11 07:44:51 UTC
Issue 1: The perl/Makefile.PL pauses for user input that it uses to figure out if it should run make test. Once this is fixed, issue 2 takes over.

Issue 2: A header file is missing (hence the errors reported in this bug). The header if found in src/. As far as I can tell, swish-e is supposed to be installed *first* and then you're supposed to install the perl module. Since this isn't possible unless the package is to be split into two, I patched Makefile.PL to include the MM option CCFLAGS=-I../src which fixes the compilation.

Issue 3: They tried to add shared library support in this release series and I think it's really broken. The resultant file /usr/bin/swish-e is still the libtool shell replacement that tries to locate the intermediate files in the libtool build directory (i.e. /var/tmp/portage/swish-e-2.4.1/work/swish-e-2.4.1/.libs) which are gone. This is really broken as far as I can tell.

I'll attach the patches for the ebuild and Makefile.PL so someone more familiar with this package (mcummings?) can take a look.
Comment 2 Eric Sammer (RETIRED) gentoo-dev 2004-01-11 07:47:16 UTC
Created attachment 23597 [details, diff]
swish-e-2.4.1-Makefile.PL.patch

This fixes the interactive prompting by just setting the input variable to
default to skipping tests.
Comment 3 Eric Sammer (RETIRED) gentoo-dev 2004-01-11 07:51:19 UTC
Created attachment 23598 [details, diff]
swish-e-2.4.1.ebuild.patch

This patch adds a src_unpack() that applies the Makefile.PL patch. It should be
applied against the swish-e-2.2.2-r1 ebuild currently in portage.
Comment 4 Tom Barcellona 2004-01-12 15:36:48 UTC
The ebuild patch went in cleanly with "patch -p0 < patch". I put the makefile patch in /usr/local/portage/net-www/swish-e/files, and emerged it. Everything appears to have emerged cleanly. I typed in "swish-e" when it was done, and got this:

ubertop swish-e # swish-e 
/usr/bin/swish-e: line 1: cd: /var/tmp/portage/swish-e-2.4.1/work/swish-e-2.4.1/src: No such file or directory
gcc: swish.o: No such file or directory
gcc: keychar_out.o: No such file or directory
gcc: dump.o: No such file or directory
gcc: result_output.o: No such file or directory
gcc: ./.libs/libswishindex.a: No such file or directory
gcc: ./.libs/libswish-e.so: No such file or directory

I looked at /usr/bin/swish-e, and it is a shell script that calls the libraries. Best as I can see it, line 21 is causing the problem. It defines a "relink_command" that refers back to the installation directory (and a bunch of other commands, is it recompiling something?) that, of course, ceases to exist once portage has successfully emerged it. 

I tried doing "ebuild ./swish-e.2.4.1.ebuild compile" (after "ebuild ./swish-e.2.4.1.ebuild unpack" failed) and rerunning swish-e, thinking maybe it just needs to run one more time just to get something compiled from the source directory. That worked. Got the help menu and everything. Once I did "ebuild ...  clean", though, I got this error:

ubertop swish-e # swish-e
/usr/bin/.libs/lt-swish-e: error while loading shared libraries: libswish-e.so.2: cannot open shared object file: No such file or directory

Maybe something is not getting copied over from the source directory?
Comment 5 Tom Barcellona 2004-01-12 15:39:11 UTC
Oh yeah, I guess the new problem is actually issue #3.
Comment 6 Michael Cummings (RETIRED) gentoo-dev 2005-05-01 08:34:16 UTC
Cleaning out bugs today; swish-e-2.4.3 is in the tree, ton of changes for optional perl support, notes about additional support, etc. enjoy.