get pkg_add to use real package names

fbsd_user fbsd_user at a1poweruser.com
Sun Dec 21 16:03:28 PST 2003


I have been trying to get the pkg_add -r  command to
work using the real full package names.
IE: qpopper-4.0.5_1.tgz

pkg_add -r  defaults to going to
pub/FreeBSD/ports/i386/packages-4.8-release/Latest/
and the name there is qpopper.

Problem is I can not find any way to find this name
spelled like that. FBSD handbook says to use
http://www.freebsd.org/ports/index.html or
http://www.freebsd.org/ports/master-index.html to
locate the package name, those web pages gives the
name as qpopper-4.0.5_1

So I am trying to change pkg_add environment variable
to point to different directory location as shown below.
Every thing looks fine, except pkg_add says it can not find it.

Please review what I have posted below to see if I am missing
something simple.

Thanks
Joe

Using the following script, I can verify access
to the FBSD ftp sites and download package using
official name qpopper-4.0.5_1.tgz


This is my working script

#! /bin/sh
cd /usr/packages/
path=pub/FreeBSD/ports/i386/packages-4.8-release/mail
ftp -av ftp://ftp2.freebsd.org/$path/qpopper-4.0.5_1.tgz

Here is the output display messages from this script

Connected to ftp2.us.freebsd.org.
220 ftp2.us.freebsd.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
200 Type set to I.
250 CWD command successful.
250 CWD command successful.
local: qpopper-4.0.5.tgz remote: qpopper-4.0.5.tgz
150 Opening BINARY mode data connection for 'qpopper-4.0.5.tgz'
(78312 bytes).

  0% |                                                  |
      --:-- ETA
100% |**************************************************| 78312
00:00 ETA
226 Transfer complete.
78312 bytes received in 0.14 seconds (563.44 KB/s)
221 Goodbye.

So I have proof it lives where I think it does and can find it and
download it.


# /root >setenv PACKAGESITE
"ftp://ftp2.freebsd.org/pub/FreeBSD/ports/i386/packages-4.8-release"

Setenv is the same path as in my script.
PACKAGESITE is the environment variable for pkg__add  command.

# /root >pkg__add  /mail/qpopper-4.0.5_1
test without .tgz  and it get's appended by pkg_add

looking up ftp2.freebsd.org
connecting to ftp2.freebsd.org:21
setting passive mode
opening data connection
initiating transfer
Error: FTP Unable to get
ftp://ftp2.freebsd.org/pub/FreeBSD/ports/i386/packages-4.8-release/m
ail/qpopper-4.0.5_1.tgz: File unavailable (e.g., file not found, no
access)
pkg_add: unable to fetch
'ftp://ftp2.freebsd.org/pub/FreeBSD/ports/i386/packages-4.8-release/
mail/qpopper-4.0.5_1.tgz' by URL
pkg_add: 1 package addition(s) failed
# /root >

this time test with .tgz
# /root >pkg_add -rv /mail/qpopper-4.0.5_1.tgz


looking up ftp2.freebsd.org
connecting to ftp2.freebsd.org:21
setting passive mode
opening data connection
initiating transfer
Error: FTP Unable to get
ftp://ftp2.freebsd.org/pub/FreeBSD/ports/i386/packages-4.8-release/m
ail/qpopper-4.0.5_1.tgz: File unavailable (e.g., file not found, no
access)
pkg_add: unable to fetch
'ftp://ftp2.freebsd.org/pub/FreeBSD/ports/i386/packages-4.8-release/
mail/qpopper-4.0.5_1.tgz' by URL
pkg_add: 1 package addition(s) failed
# /root >

We know the error 'file not found' is incorrect
because we just FTP to it direct, so it must be
the ' no access' error, which makes no scenes.

I know that 5.2 is being readied for release.
Is pkg_add written in some way that the ftp server
can ignore it's request for service
and native ftp still gets serviced?

Any in-sight into how FBSD ftp servers work or
help on the setting the PACKAGESITE environment variable
would be greatly appreciated.

Thanks
Joe








More information about the freebsd-questions mailing list