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>