ports/126672: [patch] devel/viewvc: correct dependency for mod_python

Eygene Ryabinkin rea-fbsd at codelabs.ru
Wed Aug 20 06:50:03 UTC 2008


>Number:         126672
>Category:       ports
>Synopsis:       [patch] devel/viewvc: correct dependency for mod_python
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 20 06:50:02 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Eygene Ryabinkin
>Release:        FreeBSD 7.0-STABLE i386
>Organization:
Code Labs
>Environment:

System: FreeBSD XXX 7.0-STABLE FreeBSD 7.0-STABLE #18: Wed Aug 13 11:50:11 MSD 2008 root at XXX:/usr/obj/usr/src/sys/XXX i386

>Description:

Port for viewvc specifies non-absolute path for the mod_python
dependency.  This means that bsd.port.mk will try to search for
an executable with such name.  And this will fail in almost any
sane case, since libexec/apache22/mod_python.so is shared library
and isn't in the PATH.  So the port will try to build the mod_python
port as a dependency.  And if mod_python is already installed, the
build will fail loudly:
-----
===>  Installing for viewvc-1.0.5_3
===>   viewvc-1.0.5_3 depends on file: /usr/local/bin/python2.5 - found
===>   viewvc-1.0.5_3 depends on file: /usr/local/lib/python2.5/site-packages/svn/__init__.py - found
===>   viewvc-1.0.5_3 depends on ***>>> executable <<<***: libexec/apache22/mod_python.so - not found
===>    Verifying install for libexec/apache22/mod_python.so in /usr/ports/www/mod_python3
===>  Installing for mod_python-3.3.1_1
===>   mod_python-3.3.1_1 depends on file: /usr/local/bin/python2.5 - found
===>   mod_python-3.3.1_1 depends on file: /usr/local/sbin/apxs - found
===>   Generating temporary packing list
===>  Checking if www/mod_python3 already installed
===>   mod_python-3.3.1_1 is already installed
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of www/mod_python3
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop in /usr/ports/www/mod_python3.
*** Error code 1

Stop in /usr/ports/devel/viewvc.

# ls -l /usr/local/libexec/apache22/mod_python.so
-rwxr-xr-x  1 root  wheel  163833 Aug 19 21:26 /usr/local/libexec/apache22/mod_python.so
-----

>How-To-Repeat:

Install mod_python, try to install viewvc when WITH_MODPYTHON3 is set.

>Fix:

The following patch will fix the things:
--- viewvc-correct-dependency-path.diff begins here ---
Dependency for mod_python should contain fully-qualified path to make
the build system treat it as file and not as an executable.

--- Makefile.orig	2008-08-20 10:26:55.000000000 +0400
+++ Makefile	2008-08-20 10:28:23.000000000 +0400
@@ -49,7 +49,7 @@
 .endif
 
 .if defined(WITH_MODPYTHON3)
-RUN_DEPENDS+=	${APACHEMODDIR}/mod_python.so:${PORTSDIR}/www/mod_python3
+RUN_DEPENDS+=	${PREFIX}/${APACHEMODDIR}/mod_python.so:${PORTSDIR}/www/mod_python3
 .endif
 
 # This feature is a clone of the Mozilla Project's Bonsai database.
--- viewvc-correct-dependency-path.diff ends here ---

It works for me without problems:
-----
===>  Installing for viewvc-1.0.5_3
===>   viewvc-1.0.5_3 depends on file: /usr/local/bin/python2.5 - found
===>   viewvc-1.0.5_3 depends on file: /usr/local/lib/python2.5/site-packages/svn/__init__.py - found
===>   viewvc-1.0.5_3 depends on file: /usr/local/libexec/apache22/mod_python.so - found
===>   viewvc-1.0.5_3 depends on file: /usr/local/sbin/apxs - found
===>   Generating temporary packing list
[...]
-----
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list