Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Nov 2009 11:26:55 +0200
From:      Manolis Kiagias <sonicy@otenet.gr>
To:        Gary Kline <kline@thought.org>
Cc:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: how do i automate building packages?
Message-ID:  <4B10ECDF.5010509@otenet.gr>
In-Reply-To: <20091128090544.GA80636@thought.org>
References:  <20091128090544.GA80636@thought.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Gary Kline wrote:
> 	How do I build tarballs of packages that usually wind up in 
> 	/usr/ports/packages?
>
> 	I thought I had something in /etc/make.conf, but nope.  My
> 	build of OOo [311] recently finished on my new to-be server.  
> 	Since both the new Dell and this older Dell are running 7.2, I
> 	figure I can do any builds and move the packages across.
>
> 	I thought I had seen foo.tgz in /usr/ports/bar/foo/; but this
> 	time, no expected tarball.  --??--  A man ports isn't very
> 	clear.  I usually type make install clean when I build
> 	anything.  If I have to start over from scratch with
> 	openoffice would I type
>
> 	# make install package clean? Or what?
>
> 	anybody?
>
>   
Now that you got it installed, you may use pkg_create:

pkg_create -Rb openoffice.org-3.1.1

(You can get the exact package name using pkg_info -Ix openoffice)
The -R flag will also build all dependencies of openoffice.

Something along the lines of the following script:

#! /usr/bin/env bash
mkdir -p /usr/ports/packages
cd /usr/ports/packages
rm -rf *.tbz
echo "Package creation starting `date`"
IFS=$'\n'
for i in `pkg_info  -Ea`
do
 echo  "Creating $i"
 pkg_create -b $i
done
echo "Finished, `date`"

will create a package for every single port installed on your system and
place it in /usr/ports/packages.  You can then move these and install
them on another system. Notice the script does not use -R as it is
already building all packages  :)



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