how to download ports?

Hello

I am using freeBSD on a system with low speed connection
is there any way to download ports elsewhere and install
then on my system?

thanks for help!
 
Hello,

fetch the tarball into a differente machine (fast one) and copy it to the slow machine: /usr/ports/distfiles and rerun make

how to get the fetch url: look into the Makefile
variable: MASTER_SITES and EXTRACT_SUFX to get the right tarball
or
run make and do ctrl+C when you see the fetch command.

Regards,
 
Yes, you can download the source files on another system and copy them to /usr/ports/distfiles. A normal port's make will find them there.


Or download the pre-compiled packages and install those if you don't want to compile everything yourself.
 
Yes, you can build ports on another computer and move the port/packaget over. Try using "make package-recursive" on the port you would like to move over to the other machine.

Code:
cd /usr/ports/editors/nano && make package-recursive

This will build and install the port on the machine you built it on, and you will have to uninstall it afterwards.


If you already have a port installed you can then make a package out of it without having to recompile the port.

Code:
pkg_create -Rb /var/db/pkg/nano-1.2.5/

This will make a package called nano-1.2.5.tbz in /var/db/pkg/ that you can later install with pkg_add
 
hassan said:
Hello

I am using freeBSD on a system with low speed connection
is there any way to download ports elsewhere and install
then on my system?

thanks for help!

I may suggest:
1) synchronize /usr/ports/ tree with another machine with fast Internet connection, then
2) (on the fast link machine) change current directory to interesting ports (for example kde3):
cd /usr/ports/x11/kde3
3) prepare all config files for all dependency:
make config-recursive
- doing this for a while you not get "no operation" after entering.
4) fetch ports and all dependency:
make fetch && make fetch-recursive
5) then burn /usr/ports/distfiles directory and /var/db/ports (saved options) to CD/flash drive and mount it to /usr/ports/distfiles and /var/db/ports on home machine.
6) go to ports dir (cd /usr/ports/x11/kde3) and "make install"


Also if release/architecture on machine matching you may himself compile all packages
make package-recursive

and after complete collect all .tbz files in /usr/ports to CD/flash for "pkg_add " in home machine
 
A nice thing to have would be the following:

Code:
# Download and unzip ports/{Mk,Makefile,$basefoo}
> fetch http://foo.freebsd.org/bar/ports_base.tbz
> tar xf ports_base.tbz
# Get INDEX
> make fetchindex
# Search the index and download all necessary port skeletons
> make quicksearch name=foobar
> make fetchskel-recursive portname=baz/foobar
# Compile foobar
> cd baz/foobar && make install clean

That way you only need to download
- Portstree base file like Makefiles etc. (a few MB)
- The port's and all dependent skeletons (a few KB)

This would also be very handy in embedded environments where hdd space is very limited.
 
lme@ said:
A nice thing to have would be the following:

Code:
# Download and unzip ports/{Mk,Makefile,$basefoo}
> fetch http://foo.freebsd.org/bar/ports_base.tbz
> tar xf ports_base.tbz
# Get INDEX
> make fetchindex
# Search the index and download all necessary port skeletons
> make quicksearch name=foobar
> make fetchskel-recursive portname=baz/foobar
# Compile foobar
> cd baz/foobar && make install clean

That way you only need to download
- Portstree base file like Makefiles etc. (a few MB)
- The port's and all dependent skeletons (a few KB)

This would also be very handy in embedded environments where hdd space is very limited.

Why would I want to compile ports in a embedded environment? I'd rather cross-compile them on another machine or just use packages.
 
You don't always have a big machine running the same version of FreeBSD around.
Sometimes the CPU speed is okay but you don't have enough free drive space like on a netbook with a SSD.
 
porteasy

I use porteasy :

#to download the php5 port + requirements:

porteasy -u lang/php5

(all that is needed is the Templates Mk and Tools present in the ports directory)
 
Back
Top