how to download ports?

hassan

New Member


Messages: 3

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!
 

l2f

Member

Reaction score: 4
Messages: 62

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,
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 9,083
Messages: 33,642

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.
 

marius

Member

Reaction score: 17
Messages: 68

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
 

Ole

Active Member

Reaction score: 72
Messages: 110

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
 

lme@

Administrator
Staff member
Administrator
Moderator
Developer

Reaction score: 303
Messages: 770

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.
 

MartijnAtLico

New Member

Reaction score: 3
Messages: 19

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.
 

lme@

Administrator
Staff member
Administrator
Moderator
Developer

Reaction score: 303
Messages: 770

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.
 

GD

Member


Messages: 20

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)
 
Top