Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Nov 2013 19:47:36 -0600 (CST)
From:      Lawrence Chen <lchen@lhaven.homeip.net>
To:        FreeBSD-gnats-submit@freebsd.org
Cc:        beastie_t@lhaven.homeip.net
Subject:   ports/184264: audio/sox: /usr/local/man/man7/soxeffect.7.gz invalid link
Message-ID:  <201311250147.rAP1larV016291@zen.lhaven.homeip.net>
Resent-Message-ID: <201311250150.rAP1o0eN057303@freefall.freebsd.org>

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

>Number:         184264
>Category:       ports
>Synopsis:       audio/sox: /usr/local/man/man7/soxeffect.7.gz invalid link
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Nov 25 01:50:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Lawrence Chen
>Release:        FreeBSD 9.2-RELEASE amd64
>Organization:
>Environment:
System: FreeBSD zen.lhaven.homeip.net 9.2-RELEASE FreeBSD 9.2-RELEASE #0 r255898: Thu Sep 26 22:50:31 UTC 2013 root@bake.isc.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64


	
>Description:
	
	Been seeing this in my periodic weekly output for the last few weeks:

	makewhatis: /usr/local/man/man7/soxeffect.7.gz: No such file or directory

	Finally looked at it, and found that it is a symbolic link of:

	soxeffect.7.gz -> sox.1.gz

	Which should be:

	soxeffect.7.gz -> ../man1/sox.1.gz

	Eventually trace the install process and it appears that it installs
	to stage and then get's compressed altering
	"soxeffect.7 -> ../man1/sox.1" into "soxeffect.7.gz -> sox.1.gz"

	Setting NO_STAGE, it installs into /usr/local/man, uncompressed man
	pages so the link remains functional.  Which looks strange since
	everything else is compressed.

>How-To-Repeat:
	
>Fix:

	

	Work around is use NO_STAGE.  Haven't delved into staging much yet.

	Looks like the culprit is in bsd.stage.mk, strips off the any path
	information on both the link and the dest.

	   link="/usr/ports/audio/sox/work/stage/usr/local/man/man7/soxeffect.7"
	   dest=$(readlink $link) # dest="../man1/sox.1"
	   cd ${link%/*} # cd /usr/ports/.../man7
	   ln -sf ${dest##*/}.gz ${link##*/}.gz

	Probably needs to test if the $dest is a relative or absolute link.
	Though if its an absolute link, it should check whether the path is
	the same or not.

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



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