Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Mar 2003 18:32:19 +0100 (CET)
From:      Angelo Turetta <aturetta@commit.it>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/50292: openssl-overwrite-base cannot be upgraded with portupgrade
Message-ID:  <200303251732.h2PHWJb7095716@pvi1.rainbownet.com>

next in thread | raw e-mail | index | archive | help

>Number:         50292
>Category:       ports
>Synopsis:       openssl-overwrite-base cannot be upgraded with portupgrade
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Mar 25 09:40:20 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Angelo Turetta
>Release:        FreeBSD 4.7-STABLE i386
>Organization:
Piloti Virtuali Italiani
>Environment:
System: FreeBSD pvi1.rainbownet.com 4.7-STABLE FreeBSD 4.7-STABLE #4: Fri Feb 14 14:35:16 CET 2003 angelo@gw.ilnarciso.it:/usr/obj/usr/src/sys/PVI1 i386


	
>Description:
portupgrade uses a sequence build-uninstall-reinstall to upgrade a port.
In recent version of openssl port, the Makefile, when the OPENSSL_OVERWRITE_BASE
is defined, looks at the currently installed libcrypto.so.n.
If libcrypto.so.3 exists, it will go on with a targe name of libcrypto.so.3,
otherwise it switches to libcrypto.so.2.
The problem is that when portupgrade invokes 'make build', the makefile builds
libcripto.so.3. Later, after successfull build & uninstall, portupgrade tries to
'make reinstall', but then the makefile tries to install a shared library which
was not built (libcrypto.so.2) because the check mentioned before does not find the .3
shared library, so it goes on with a .2 suffix.

>How-To-Repeat:
cd /usr/ports/security/openssl
make -DOPENSSL_OVERWRITE_BASE build
make -DOPENSSL_OVERWRITE_BASE deinstall
make -DOPENSSL_OVERWRITE_BASE reinstall

or:

portupgrade -m "-DOPENSSL_OVERWRITE_BASE" openssl-overwrite-base
>Fix:

The name to be given to the shared library should be decided during the build phase,
subsequent target should read some permanent setting (a file in work/ ?) in order to
remain consistent with the built version.

Workaround:

cd /usr/ports/security/openssl
make -DOPENSSL_OVERWRITE_BASE package
pkg_deinstall openssl-overwrite-base
pkg_add <name of the package previously created>

>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200303251732.h2PHWJb7095716>