Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Dec 2009 18:28:49 +0100
From:      Miroslav Lachman <000.fbsd@quip.cz>
To:        Doug Barton <dougb@FreeBSD.org>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: portmaster-with-package-support release candidate available for testing / pkg_add: illegal option -- -
Message-ID:  <4B2E5ED1.5010906@quip.cz>
In-Reply-To: <4B2D24D7.2010606@FreeBSD.org>
References:  <4B159C5C.2090407@FreeBSD.org> <4B2CED9B.6010903@quip.cz> <4B2D24D7.2010606@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Doug Barton wrote:
> Miroslav Lachman wrote:
>> I don't know if it is well known / documented somewhere in portmaster,
>> but after debugging, I realized that pkg_add on FreeBSD 6.3 has no long
>> options
>
> This is why all of the ports tools should be in the ports tree. :)
>
> I just added the fix to the svn version of portmaster, if you can
> confirm that it works I'll add it to the port immediately. I was not
> aware of this issue, and apparently you're the first person to test
> package support on a release this old. Thank you, both for the testing
> and the bug report.

It is not working - pkg_add on 6.3 has no option for "Install the 
package without fetching and installing dependencies". I mean, there is 
no long nor short option for this, so this portmaster's functionality 
cannot be easily ported to 6.3. That's why I suggest to disable packages 
support on FreeBSD =< 6.3 as it cannot work this way. pkg_add will 
always install dependencies on this old version.

6.3 pkg_add options
usage: pkg_add [-vInrfRMSK]
7.2 pkg_add options
usage: pkg_add [-viInfFrRMSK]

According to man pkg_add on 6.4, there are needed options
http://www.freebsd.org/cgi/man.cgi?query=pkg_add&apropos=0&sektion=0&manpath=FreeBSD+6.4-RELEASE&format=html

But not on 6.3
http://www.freebsd.org/cgi/man.cgi?query=pkg_add&apropos=0&sektion=0&manpath=FreeBSD+6.3-RELEASE&format=html

I think you don't need to spend a lot of time to solve this for 6.3 as 
it's Estimated EoL is January 31, 2010 ;)

Maybe something like this can be enough:

if [ ! `uname -r | egrep -q "^(5|6\.[0-3])"` ]; then
	echo "Packages options are not supported on your OS version"
	exit
fi

>> And one question - is it really mandatory to use
>> --local-packagedir=/usr/ports/packages if I want to install locally
>> available packages from standard path /usr/local/packages/All?
>
> Yes.
>
>> Shouldn't it be default behavior?
>
> IMO, no. I think that the vast majority of FreeBSD users just want to
> be able to fetch packages and have them installed.
>
>> Without --local-packagedir portmaster is trying to fetch it from FTP:
>> "Package and/or archive not found at:
>> http://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.3-release/lang/"
>> and doesn't look at the local directory:
>> "There is no valid package to install, building port instead"
>
> This is the desired behavior.

OK, I can live with it. :) I was asking it because somebody can use NFS 
mounted /usr/ports from build machine and then all packages are located 
in /usr/local/packages/All and packages should be installed from this 
location only (not fetched from FreeBSD FTP).

Is there a simple way to disable fetching packages from remote site and 
use local packages only? (something better than fake PACKAGEROOT?)

Anyway, thank you for packages support in portmaster! Now I am waiting 
for "more general scripting hooks such as BEFOREDEINSTALL and 
AFTERINSTALL" and then portmaster will have all features I need! :o)

Miroslav Lachman



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