"make package" and dependencies

I use FreeBSD 7.2 on 2 servers. I would like to compile packages into /usr/ports/packages directory on one machine and than share it with other over NFS mounting point.

But something i can't figure out. if i use "make package" on program in ports collection that has a lot of dependencies. Must i manually go in every port of dependencies and use "make install" or is there a way to make this automatically? So all dependencies get compiled as packages not just compiled to use by system.

For example if i would like to make packages for egroupware...:

eGroupware-1.6.001_2
A web based GroupWare system
Long description : Sources : Changes : Download
Maintained by: wenheping@gmail.com
Requires: cclient-2007e,1, libiconv-1.13, libxml2-2.7.3, mysql-client-5.0.83, pcre-7.9, pear-1.8.1, pear-Auth-1.6.1_1, pear-Auth_SASL-1.0.2, pear-HTTP_WebDAV_Server-1.0.0.r4, pear-Log-1.11.4, pear-Net_IMAP-1.1.0, pear-Net_Sieve-1.1.6, pear-Net_Socket-1.0.9, pear-XML_Feed_Parser-1.0.3, php5-5.2.10, php5-dom-5.2.10, php5-imap-5.2.10, php5-mysql-5.2.10, php5-pcre-5.2.10, php5-pdo-5.2.10, php5-pdo_mysql-5.2.10, php5-session-5.2.10, php5-simplexml-5.2.10, php5-spl-5.2.10, php5-tidy-5.2.10, php5-xml-5.2.10, pkg-config-0.23_1, tidy-lib-090315.c

:...that has a lot of dependencies. Is there a way to make all necessary packages automatically with a command at /ports/ deskutils/egroupware directory?

Thanks for answers!
 
I suggest using portmaster
for example
$ portmaster -g x11/xorg

this will create all packages necessary for Xorg (that is for ports that aren't yet installed)
This way on new system you can create all packages you need
 
Great just what i am looking for. So in my case on new system i install portmaster and use:

Code:
$ portmaster -g /usr/ports/deskutils/egroupware

I will tray ASAP!
 
If the package already installed you can do
# pkg_create -Rxb egroup
else there is "package-recursive" make target in ports tree.
 
If i understand correctly then the easiest way to make a package and compile all dependencies into packages that are not all ready installed by the system and move them into /usr/ports/packages is:

$ make config-recursive
$ make package-recursive

Is this correct?
 
Be sure to set the PACKAGES environment variable to /usr/ports/packages. By defualt, packages are built in the current directory (so the individual port directories). Unless you set PACKAGES.
 
Looks like package-recursive doesn't process rc.d scripts, resulting packages are missing them, any reason for that?
 
phoenix said:
Be sure to set the PACKAGES environment variable to /usr/ports/packages. By defualt, packages are built in the current directory (so the individual port directories). Unless you set PACKAGES.

No. As long as the directory /usr/ports/packages/ exist (it doesn't by default) the packages will be stored there. If the directory doesn't exist and PACKAGES isn't set, then the package will be stored in the port's directory.
 
I'm back since I didn't get this solved :(

Today I tried again and the same problem is still around.
I build the port and then ran "build package-recursive".

The resulted contents of my "packages/All" directory: http://pastebin.com/raw.php?i=i8q80K44
Thats all the crap which got build and which is also required when installing.

Can't this be solved? Can't I just install "avahi-daemon" which has only 2 or 3 dependencies?
 
Dependencies have their own dependencies, you know.

Code:
[/usr/ports/net/avahi] $ make all-depends-list                                                                                            
/usr/ports/net/avahi-app
/usr/ports/devel/libtool
/usr/ports/devel/gobject-introspection
/usr/ports/devel/gmake
/usr/ports/textproc/intltool
/usr/ports/devel/pkg-config
/usr/ports/textproc/expat2
/usr/ports/devel/libdaemon
/usr/ports/devel/dbus-glib
/usr/ports/databases/gdbm
/usr/ports/devel/gettext
/usr/ports/devel/glib20
/usr/ports/devel/gio-fam-backend
/usr/ports/sysutils/gnome_subr
/usr/ports/lang/python27
/usr/ports/devel/bison
/usr/ports/devel/libffi
/usr/ports/graphics/cairo
/usr/ports/lang/perl5.12
/usr/ports/textproc/p5-XML-Parser
/usr/ports/converters/libiconv
/usr/ports/devel/dbus
/usr/ports/devel/pcre
/usr/ports/devel/gamin
/usr/ports/devel/m4
/usr/ports/x11/xcb-util
/usr/ports/x11/libXrender
/usr/ports/print/freetype2
/usr/ports/graphics/png
/usr/ports/x11-fonts/fontconfig
/usr/ports/x11/pixman
/usr/ports/x11/libX11
/usr/ports/textproc/libxml2
/usr/ports/devel/libsigsegv
/usr/ports/devel/gperf
/usr/ports/x11/libXau
/usr/ports/x11/libXdmcp
/usr/ports/x11/libxcb
/usr/ports/x11/renderproto
/usr/ports/x11/xproto
/usr/ports/devel/xorg-macros
/usr/ports/x11/bigreqsproto
/usr/ports/x11/xcmiscproto
/usr/ports/x11/xextproto
/usr/ports/x11/xtrans
/usr/ports/x11/kbproto
/usr/ports/x11/inputproto
/usr/ports/x11-fonts/xf86bigfontproto
/usr/ports/devel/libcheck
/usr/ports/textproc/libxslt
/usr/ports/x11/xcb-proto
/usr/ports/devel/libpthread-stubs
/usr/ports/security/libgcrypt
/usr/ports/security/libgpg-error
 
Back
Top