CINXE.COM

PkgPrimer - FreeBSD Wiki

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <meta name="robots" content="index,nofollow"> <title>PkgPrimer - FreeBSD Wiki</title> <script type="text/javascript" src="/moin_static1911/common/js/common.js"></script> <script type="text/javascript"> <!-- var search_hint = "Search"; //--> </script> <link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="/moin_static1911/modern/css/common.css"> <link rel="stylesheet" type="text/css" charset="utf-8" media="screen" href="/moin_static1911/modern/css/screen.css"> <link rel="stylesheet" type="text/css" charset="utf-8" media="print" href="/moin_static1911/modern/css/print.css"> <link rel="stylesheet" type="text/css" charset="utf-8" media="projection" href="/moin_static1911/modern/css/projection.css"> <!-- css only for MS IE6/IE7 browsers --> <!--[if lt IE 8]> <link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="/moin_static1911/modern/css/msie.css"> <![endif]--> <link rel="alternate" title="FreeBSD Wiki: PkgPrimer" href="/action/rss_rc/PkgPrimer?diffs=1&amp;show_att=1&amp;action=rss_rc&amp;unique=0&amp;page=PkgPrimer&amp;ddiffs=1" type="application/rss+xml"> <link rel="Start" href="/FrontPage"> <link rel="Alternate" title="Wiki Markup" href="/action/raw/PkgPrimer?action=raw"> <link rel="Alternate" media="print" title="Print View" href="/action/print/PkgPrimer?action=print"> <link rel="Search" href="/FindPage"> <link rel="Index" href="/TitleIndex"> <link rel="Glossary" href="/WordIndex"> <link rel="Help" href="/HelpOnFormatting"> </head> <body lang="en" dir="ltr"> <div id="header"> <div id="logo"><a href="/FrontPage"><img src="/logo-full-thumb.png" alt="Logo"></a></div> <form id="searchform" method="get" action="/PkgPrimer"> <div> <input type="hidden" name="action" value="fullsearch"> <input type="hidden" name="context" value="180"> <label for="searchinput">Search:</label> <input id="searchinput" type="text" name="value" value="" size="20" onfocus="searchFocus(this)" onblur="searchBlur(this)" onkeyup="searchChange(this)" onchange="searchChange(this)" alt="Search"> <input id="titlesearch" name="titlesearch" type="submit" value="Titles" alt="Search Titles"> <input id="fullsearch" name="fullsearch" type="submit" value="Text" alt="Search Full Text"> </div> </form> <script type="text/javascript"> <!--// Initialize search form var f = document.getElementById('searchform'); f.getElementsByTagName('label')[0].style.display = 'none'; var e = document.getElementById('searchinput'); searchChange(e); searchBlur(e); //--> </script> <ul id="username"><li><a href="/action/login/PkgPrimer?action=login" id="login" rel="nofollow">Login</a></li></ul> <div id="locationline"> <ul id="pagelocation"> <li><a href="/PkgPrimer">PkgPrimer</a></li> </ul> </div> <ul id="navibar"> <li class="wikilink"><a href="/RecentChanges">RecentChanges</a></li><li class="wikilink"><a href="/FindPage">FindPage</a></li><li class="wikilink"><a href="/HelpContents">HelpContents</a></li><li class="current"><a href="/PkgPrimer">PkgPrimer</a></li> </ul> <div id="pageline"><hr style="display:none;"></div> <ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li class="toggleCommentsButton" style="display:none;"><a href="#" class="nbcomment" onClick="toggleComments();return false;">Comments</a></li><li><a class="nbinfo" href="/action/info/PkgPrimer?action=info" rel="nofollow">Info</a></li><li><a class="nbattachments" href="/action/AttachFile/PkgPrimer?action=AttachFile" rel="nofollow">Attachments</a></li><li> <form class="actionsmenu" method="GET" action="/PkgPrimer"> <div> <label>More Actions:</label> <select name="action" onchange="if ((this.selectedIndex != 0) && (this.options[this.selectedIndex].disabled == false)) { this.form.submit(); } this.selectedIndex = 0;"> <option value="raw">Raw Text</option> <option value="print">Print View</option> <option value="RenderAsDocbook">Render as Docbook</option> <option value="refresh">Delete Cache</option> <option value="show" disabled class="disabled">------------------------</option> <option value="SpellCheck">Check Spelling</option> <option value="LikePages">Like Pages</option> <option value="LocalSiteMap">Local Site Map</option> <option value="show" disabled class="disabled">------------------------</option> <option value="RenamePage" disabled class="disabled">Rename Page</option> <option value="DeletePage" disabled class="disabled">Delete Page</option> <option value="show" disabled class="disabled">------------------------</option> <option value="show" disabled class="disabled">Subscribe User</option> <option value="show" disabled class="disabled">------------------------</option> <option value="show" disabled class="disabled">Remove Spam</option> <option value="show" disabled class="disabled">Revert to this revision</option> <option value="PackagePages">Package Pages</option> <option value="SyncPages">Sync Pages</option> <option value="show" disabled class="disabled">------------------------</option> <option value="Load">Load</option> <option value="Save">Save</option> <option value="SlideShow">SlideShow</option> </select> <input type="submit" value="Do"> </div> <script type="text/javascript"> <!--// Init menu actionsMenuInit('More Actions:'); //--> </script> </form> </li></ul> </div> <div id="page" lang="en" dir="ltr"> <div dir="ltr" id="content" lang="en"><span class="anchor" id="top"></span> <span class="anchor" id="line-1"></span><p class="line867"> <h1 id="Pkg_Primer">Pkg Primer</h1> <span class="anchor" id="line-2"></span><span class="anchor" id="line-3"></span><p class="line867"><div class="table-of-contents"><p class="table-of-contents-heading">Contents<ol><li> <a href="#Pkg_Primer">Pkg Primer</a><ol><li> <a href="#Switching_to_pkgng">Switching to pkgng</a></li><li> <a href="#Charter_and_Roadmap">Charter and Roadmap</a></li><li> <a href="#Rosetta_Stone">Rosetta Stone</a></li><li> <a href="#Details">Details</a><ol><li> <a href="#Marking_all_packages_but_vim-lite_and_pkg_as_automatic">Marking all packages but vim-lite and pkg as automatic</a></li></ol></li><li> <a href="#Building_custom_repositories">Building custom repositories</a><ol><li> <a href="#Using_poudriere">Using poudriere</a></li><li> <a href="#Using_portbuilder_inside_a_jail">Using portbuilder inside a jail</a></li></ol></li></ol></li></ol></div> <span class="anchor" id="line-4"></span><span class="anchor" id="line-5"></span><p class="line867"> <h2 id="Switching_to_pkgng">Switching to pkgng</h2> <span class="anchor" id="line-6"></span><span class="anchor" id="line-7"></span><p class="line862">Please see <a class="http" href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/pkgng-intro.html">Using pkgng for Binary Package Management</a> <span class="anchor" id="line-8"></span>in the FreeBSD Handbook for information about changing a system to use pkgng. <span class="anchor" id="line-9"></span><span class="anchor" id="line-10"></span><p class="line867"> <h2 id="Charter_and_Roadmap">Charter and Roadmap</h2> <span class="anchor" id="line-11"></span><span class="anchor" id="line-12"></span><p class="line862">see: <a href="/pkgng/CharterAndRoadMap">pkgng/CharterAndRoadMap</a> <span class="anchor" id="line-13"></span><span class="anchor" id="line-14"></span><p class="line867"> <h2 id="Rosetta_Stone">Rosetta Stone</h2> <span class="anchor" id="line-15"></span><span class="anchor" id="line-16"></span><div><table><tbody><tr> <td><p class="line862"> <strong>Function</strong> </td> <td><p class="line862"> <strong>legacy pkg_*</strong> </td> <td><p class="line862"> <strong>pkgng</strong> </td> </tr> <tr> <td><span class="anchor" id="line-17"></span><p class="line862"> get list of installed packages </td> <td><p class="line862"> <em>pkg_info</em> </td> <td><p class="line862"> <em>pkg info</em> </td> </tr> <tr> <td><span class="anchor" id="line-18"></span><p class="line862"> get basic information about a package </td> <td><p class="line862"> <em>pkg_info pkgname-pkgversion</em> </td> <td><p class="line862"> <em>pkg info pkgname</em> OR <em>pkg info category/name</em> OR <em>pkg info pkgname-pkgversion</em> </td> </tr> <tr> <td><span class="anchor" id="line-19"></span><p class="line862"> get detailed information about a package </td> <td><p class="line862"> N/A </td> <td><p class="line862"> <em>pkg info -f pkgname</em> OR <em>pkg info -f category/name</em> OR <em>pkg info -f pkgname-pkgversion</em> </td> </tr> <tr> <td><span class="anchor" id="line-20"></span><p class="line862"> list all files contained in an installed package </td> <td><p class="line862"> <em>pkg_info -L pkgname-pkgversion</em> </td> <td><p class="line862"> <em>pkg info -l pkgname</em> OR <em>pkg info -l category/name</em> OR <em>pkg info -l pkgname-pkgversion</em> </td> </tr> <tr> <td><span class="anchor" id="line-21"></span><p class="line862"> find which package provide an installed file </td> <td><p class="line862"> <em>pkg_info -W /path/to/my/file</em> </td> <td><p class="line862"> <em>pkg which /path/to/my/file</em> </td> </tr> <tr> <td><span class="anchor" id="line-22"></span><p class="line862"> install a local package </td> <td><p class="line862"> <em>pkg_add ./localpkg.tbz</em> </td> <td><p class="line862"> <em>pkg add ./localpkg.txz</em> </td> </tr> <tr> <td><span class="anchor" id="line-23"></span><p class="line862"> install a remote package </td> <td><p class="line862"> <em>pkg_add -r mypackage</em> </td> <td><p class="line862"> <em>pkg install mypackage</em> OR <em>pkg install category/name</em> OR <em>pkg install pkgname-pkgversion</em> </td> </tr> <tr> <td><span class="anchor" id="line-24"></span><p class="line862"> search for a remote package </td> <td><p class="line862"> N/A </td> <td><p class="line862"> <em>pkg search mypackage</em> OR <em>pkg search category/name</em> OR <em>pkg search pkgname-pkgversion</em> </td> </tr> <tr> <td><span class="anchor" id="line-25"></span><p class="line862"> search for detailed informations about a remote package </td> <td><p class="line862"> N/A </td> <td><p class="line862"> <em>pkg search -f mypackage</em> OR <em>pkg search -f category/name</em> OR <em>pkg search -f pkgname-pkgversion</em> </td> </tr> <tr> <td><span class="anchor" id="line-26"></span><p class="line862"> show reverse dependencies of an installed package </td> <td><p class="line862"> <em>pkg_info -R pkgname-pkgversion</em> </td> <td><p class="line862"> <em>pkg info -r mypackage</em> OR <em>pkg info -r category/name</em> OR <em>pkg info -r pkgname-pkgversion</em> </td> </tr> <tr> <td><span class="anchor" id="line-27"></span><p class="line862"> show dependencies of an installed package </td> <td><p class="line862"> <em>pkg_info -r pkgname-pkgversion</em> </td> <td><p class="line862"> <em>pkg info -d mypackage</em> OR <em>pkg info -d category/name</em> OR <em>pkg info -d pkgname-pkgversion</em> </td> </tr> <tr> <td><span class="anchor" id="line-28"></span><p class="line862"> remove unused packages install as a dependency </td> <td><p class="line862"> N/A </td> <td><p class="line862"> <em>pkg autoremove</em> </td> </tr> <tr> <td><span class="anchor" id="line-29"></span><p class="line862"> binary upgrade the installed packages </td> <td><p class="line862"> N/A </td> <td><p class="line862"> <em>pkg upgrade</em> </td> </tr> <tr> <td><span class="anchor" id="line-30"></span><p class="line862"> create a remote repository </td> <td><p class="line862"> N/A </td> <td><p class="line862"> <em>pkg repo /path/to/a/directory/containing/packages</em> </td> </tr> <tr> <td><span class="anchor" id="line-31"></span><p class="line862"> manipulate packages in a jail </td> <td><p class="line862"> N/A </td> <td><p class="line862"> <em>pkg -j &lt;name_or_id_of_a_jail&gt; &lt;command&gt;</em> </td> </tr> <tr> <td><span class="anchor" id="line-32"></span><p class="line862"> manipulate packages in a chroot </td> <td><p class="line862"> <em>pkg_add -C &lt;path_to_chroot&gt;</em> (not all commands are chroot aware) </td> <td><p class="line862"> <em>pkg -c &lt;path_to_chroot&gt; &lt;command&gt;</em> </td> </tr> <tr> <td><span class="anchor" id="line-33"></span><p class="line862"> show information about installed packages using regular expression </td> <td><p class="line862"> <em>pkg_info -x &lt;regex&gt;</em> </td> <td><p class="line862"> <em>pkg info -x &lt;regex&gt;</em> </td> </tr> <tr> <td><span class="anchor" id="line-34"></span><p class="line862"> show information about installed packages using extended regular expression </td> <td><p class="line862"> <em>pkg_info -X &lt;regex&gt;</em> </td> <td><p class="line862"> <em>pkg info -X &lt;regex&gt;</em> </td> </tr> <tr> <td><span class="anchor" id="line-35"></span><p class="line862"> show information about installed packages using globbing </td> <td><p class="line862"> <em>pkg_info &lt;globbing&gt;</em> </td> <td><p class="line862"> <em>pkg info -g &lt;globbing&gt;</em> </td> </tr> <tr> <td><span class="anchor" id="line-36"></span><p class="line862"> check for known vulnerability </td> <td><p class="line862"> <em>portaudit</em> (third party tool) </td> <td><p class="line862"> <em>pkg audit</em> </td> </tr> <tr> <td><span class="anchor" id="line-37"></span><p class="line862"> show out of date packages (determine out of the ports tree) </td> <td><p class="line862"> <em>pkg_version -l &lt;</em> </td> <td><p class="line862"> <em>pkg version -l &lt;</em> </td> </tr> <tr> <td><span class="anchor" id="line-38"></span><p class="line862"> show out of date packages (determine out of the ports tree index) </td> <td><p class="line862"> <em>pkg_version -Il &lt;</em> </td> <td><p class="line862"> <em>pkg version -Il &lt;</em> </td> </tr> <tr> <td><span class="anchor" id="line-39"></span><p class="line862"> show out of date packages compared to a remote repository </td> <td><p class="line862"> N/A </td> <td><p class="line862"> <em>pkg upgrade -n</em> </td> </tr> <tr> <td><span class="anchor" id="line-40"></span><p class="line862"> show statistic about installed packages </td> <td><p class="line862"> N/A </td> <td><p class="line862"> <em>pkg stat</em> </td> </tr> <tr> <td><span class="anchor" id="line-41"></span><p class="line862"> checking for missing dependency (and try to fix them) </td> <td><p class="line862"> N/A </td> <td><p class="line862"> <em>pkg check -d</em> </td> </tr> <tr> <td><span class="anchor" id="line-42"></span><p class="line862"> port origin </td> <td><p class="line862"> pkg_info -o </td> <td><p class="line862"> <em>pkg info -o </em> </td> </tr> </tbody></table></div><span class="anchor" id="line-43"></span><span class="anchor" id="line-44"></span><p class="line867"> <h2 id="Details">Details</h2> <span class="anchor" id="line-45"></span><span class="anchor" id="line-46"></span><p class="line867"> <h3 id="Marking_all_packages_but_vim-lite_and_pkg_as_automatic">Marking all packages but vim-lite and pkg as automatic</h3> <span class="anchor" id="line-47"></span><p class="line867"><span class="anchor" id="line-48"></span><span class="anchor" id="line-49"></span><pre><span class="anchor" id="line-1"></span>pkg set -yA 1 `pkg query -e "%n != pkg &amp;&amp; %n != vim-lite" %o`</pre><span class="anchor" id="line-50"></span><span class="anchor" id="line-51"></span><p class="line874">Now you can cleanup all the left crufts <span class="anchor" id="line-52"></span><span class="anchor" id="line-53"></span><p class="line867"><span class="anchor" id="line-54"></span><span class="anchor" id="line-55"></span><pre><span class="anchor" id="line-1-1"></span>pkg autoremove</pre><span class="anchor" id="line-56"></span><span class="anchor" id="line-57"></span><p class="line867"> <h2 id="Building_custom_repositories">Building custom repositories</h2> <span class="anchor" id="line-58"></span><p class="line867"> <h3 id="Using_poudriere">Using poudriere</h3> <span class="anchor" id="line-59"></span><span class="anchor" id="line-60"></span><p class="line874">Install poudriere and pkgng on the host (please note that the host do not need to be converted to pkgng) <span class="anchor" id="line-61"></span><span class="anchor" id="line-62"></span><span class="anchor" id="line-63"></span><span class="anchor" id="line-64"></span><pre><span class="anchor" id="line-1-2"></span>make -C /usr/ports/ports-mgmt/poudriere install clean <span class="anchor" id="line-2"></span>make -C /usr/ports/ports-mgmt/pkg install clean</pre><span class="anchor" id="line-65"></span><span class="anchor" id="line-66"></span><p class="line874">Create a default configuration in the ${LOCALBASE}/etc/poudriere.conf configuration file: <span class="anchor" id="line-67"></span><span class="anchor" id="line-68"></span><p class="line867"><span class="anchor" id="line-69"></span><span class="anchor" id="line-70"></span><span class="anchor" id="line-71"></span><span class="anchor" id="line-72"></span><span class="anchor" id="line-73"></span><span class="anchor" id="line-74"></span><span class="anchor" id="line-75"></span><pre><span class="anchor" id="line-1-3"></span>BASEFS=/poudriere <span class="anchor" id="line-2-1"></span>ZPOOL=myzpool <span class="anchor" id="line-3"></span>FREEBSD_HOST=ftp://ftp.freebsd.org <span class="anchor" id="line-4"></span>POUDRIERE_DATA=/poudriere_data <span class="anchor" id="line-5"></span>RESOLV_CONF=/etc/resolv.conf <span class="anchor" id="line-6"></span>DISTFILES_CACHE=/usr/ports/distfiles</pre><span class="anchor" id="line-76"></span><span class="anchor" id="line-77"></span><p class="line874">poudriere is now ready to be used. <span class="anchor" id="line-78"></span><span class="anchor" id="line-79"></span><p class="line874">First create a ports tree to be used by poudriere <span class="anchor" id="line-80"></span><span class="anchor" id="line-81"></span><p class="line867"><span class="anchor" id="line-82"></span><span class="anchor" id="line-83"></span><pre><span class="anchor" id="line-1-4"></span>poudriere ports -c</pre><span class="anchor" id="line-84"></span><span class="anchor" id="line-85"></span><p class="line874">Create the jail in version you want to build packages for: <span class="anchor" id="line-86"></span><span class="anchor" id="line-87"></span><span class="anchor" id="line-88"></span><span class="anchor" id="line-89"></span><pre><span class="anchor" id="line-1-5"></span>poudriere jail -c -j 90amd64 -v 9.0-RELEASE -a amd64 <span class="anchor" id="line-2-2"></span>poudriere jail -c -j 10i386 -v head -a i386 -m svn</pre><span class="anchor" id="line-90"></span><span class="anchor" id="line-91"></span><p class="line874">The first will create a 9.0-RELEASE amd64 jail from the official sets (fetched on FREEBSD_HOST) <span class="anchor" id="line-92"></span>The second will create a current jail using svn and build for i386 <span class="anchor" id="line-93"></span><span class="anchor" id="line-94"></span><p class="line874">As poudriere works for both legacy pkg_* and pkgng you need to make it pkgng aware: <span class="anchor" id="line-95"></span><span class="anchor" id="line-96"></span><p class="line867"><span class="anchor" id="line-97"></span><span class="anchor" id="line-98"></span><span class="anchor" id="line-99"></span><span class="anchor" id="line-100"></span><pre><span class="anchor" id="line-1-6"></span>mkdir /usr/local/etc/poudriere.d <span class="anchor" id="line-2-3"></span>echo "WITH_PKGNG=yes" &gt; /usr/local/etc/poudriere.d/90amd64-make.conf <span class="anchor" id="line-3-1"></span>echo "WITH_PKGNG=yes" &gt; /usr/local/etc/poudriere.d/10i386-make.conf</pre><span class="anchor" id="line-101"></span><span class="anchor" id="line-102"></span><p class="line874">Create the list of packages you want to see built by poudriere: <span class="anchor" id="line-103"></span><span class="anchor" id="line-104"></span><p class="line867"><span class="anchor" id="line-105"></span><span class="anchor" id="line-106"></span><span class="anchor" id="line-107"></span><span class="anchor" id="line-108"></span><pre><span class="anchor" id="line-1-7"></span>cat ~/mylist1 <span class="anchor" id="line-2-4"></span>editors/vim-lite <span class="anchor" id="line-3-2"></span>www/nginx</pre><span class="anchor" id="line-109"></span><span class="anchor" id="line-110"></span><p class="line867"><span class="anchor" id="line-111"></span><span class="anchor" id="line-112"></span><span class="anchor" id="line-113"></span><span class="anchor" id="line-114"></span><pre><span class="anchor" id="line-1-8"></span>cat ~/mylist2 <span class="anchor" id="line-2-5"></span>www/firefox <span class="anchor" id="line-3-3"></span>editors/libreoffice</pre><span class="anchor" id="line-115"></span><span class="anchor" id="line-116"></span><p class="line874">Just run poudriere: <span class="anchor" id="line-117"></span><span class="anchor" id="line-118"></span><span class="anchor" id="line-119"></span><span class="anchor" id="line-120"></span><pre><span class="anchor" id="line-1-9"></span>poudriere bulk -f ~/mylist1 -j 90amd64 <span class="anchor" id="line-2-6"></span>poudriere bulk -f ~/mylist2 -j 10i386</pre><span class="anchor" id="line-121"></span><span class="anchor" id="line-122"></span><p class="line874">This will built 2 pkgng repositories: <span class="anchor" id="line-123"></span><span class="anchor" id="line-124"></span><ul><li>${POUDRIERE_DATA}/packages/10i386-default <span class="anchor" id="line-125"></span></li><li>${POUDRIERE_DATA}/packages/90amd64-default <span class="anchor" id="line-126"></span><span class="anchor" id="line-127"></span></li></ul><p class="line874">Configure your http server to those directories to be able to serve them. <span class="anchor" id="line-128"></span><span class="anchor" id="line-129"></span><p class="line874">On your user boxes: (if you use the automatic bootstrap it will take care of creating this file) <span class="anchor" id="line-130"></span><span class="anchor" id="line-131"></span><span class="anchor" id="line-132"></span><pre><span class="anchor" id="line-1-10"></span>echo "packagesite: http://yoururl/10i386-default" &gt;&gt; /usr/local/etc/pkg.conf</pre><span class="anchor" id="line-133"></span><span class="anchor" id="line-134"></span><p class="line867"><span class="anchor" id="line-135"></span><span class="anchor" id="line-136"></span><pre><span class="anchor" id="line-1-11"></span>echo "packagesite: http://yoururl/90amd64-default" &gt;&gt; /usr/local/etc/pkg.conf</pre><span class="anchor" id="line-137"></span><span class="anchor" id="line-138"></span><p class="line874">From 9.1 you can directly bootstrap from the base: <span class="anchor" id="line-139"></span><span class="anchor" id="line-140"></span><p class="line874">Before 9.1 you will need to bootstrap by hand: <span class="anchor" id="line-141"></span><span class="anchor" id="line-142"></span><span class="anchor" id="line-143"></span><span class="anchor" id="line-144"></span><span class="anchor" id="line-145"></span><pre><span class="anchor" id="line-1-12"></span>fetch http://yoururl/90amd64-default/Latest/pkg.txz <span class="anchor" id="line-2-7"></span>tar xf ./pkg.txz -s ",/.*/,,g" "*/pkg-static" <span class="anchor" id="line-3-4"></span>./pkg-static add ./pkg.txz</pre><span class="anchor" id="line-146"></span><span class="anchor" id="line-147"></span><p class="line874">To update your repositories just rerun poudriere: <span class="anchor" id="line-148"></span><span class="anchor" id="line-149"></span><span class="anchor" id="line-150"></span><span class="anchor" id="line-151"></span><span class="anchor" id="line-152"></span><pre><span class="anchor" id="line-1-13"></span>poudriere ports -u # this updates your default ports tree <span class="anchor" id="line-2-8"></span>poudriere bulk -f ~/mylist1 -j 90amd64 <span class="anchor" id="line-3-5"></span>poudriere bulk -f ~/mylist2 -j 10i386</pre><span class="anchor" id="line-153"></span><span class="anchor" id="line-154"></span><p class="line867"> <h3 id="Using_portbuilder_inside_a_jail">Using portbuilder inside a jail</h3> <span class="anchor" id="line-155"></span><span class="anchor" id="line-156"></span><p class="line874">When building 9-stable ports in a 9-stable jail under -current you might want to set the UNAME_r environment variable to fake the FreeBSD version in /path_to_my_jail/root/.cshrc . Some examples: <span class="anchor" id="line-157"></span><span class="anchor" id="line-158"></span><ul><li>setenv UNAME_r 9-STABLE <span class="anchor" id="line-159"></span></li><li>setenv UNAME_r 8-STABLE <span class="anchor" id="line-160"></span></li><li>setenv UNAME_r 7-STABLE <span class="anchor" id="line-161"></span><span class="anchor" id="line-162"></span></li></ul><p class="line874">Else some ports won't build properly. <span class="anchor" id="line-163"></span><span class="anchor" id="line-164"></span><p class="line867"><hr /><p class="line874"> <span class="anchor" id="line-165"></span><a href="/CategoryHowTo">CategoryHowTo</a> <span class="anchor" id="line-166"></span><span class="anchor" id="bottom"></span></div><p id="pageinfo" class="info" lang="en" dir="ltr">PkgPrimer (last edited 2017-08-23T13:17:55+0000 by <span title="0mp"><a href="/MateuszPiotrowski" title="0mp">MateuszPiotrowski</a></span>)</p> <div id="pagebottom"></div> </div> <div id="footer"> <ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li class="toggleCommentsButton" style="display:none;"><a href="#" class="nbcomment" onClick="toggleComments();return false;">Comments</a></li><li><a class="nbinfo" href="/action/info/PkgPrimer?action=info" rel="nofollow">Info</a></li><li><a class="nbattachments" href="/action/AttachFile/PkgPrimer?action=AttachFile" rel="nofollow">Attachments</a></li><li> <form class="actionsmenu" method="GET" action="/PkgPrimer"> <div> <label>More Actions:</label> <select name="action" onchange="if ((this.selectedIndex != 0) && (this.options[this.selectedIndex].disabled == false)) { this.form.submit(); } this.selectedIndex = 0;"> <option value="raw">Raw Text</option> <option value="print">Print View</option> <option value="RenderAsDocbook">Render as Docbook</option> <option value="refresh">Delete Cache</option> <option value="show" disabled class="disabled">------------------------</option> <option value="SpellCheck">Check Spelling</option> <option value="LikePages">Like Pages</option> <option value="LocalSiteMap">Local Site Map</option> <option value="show" disabled class="disabled">------------------------</option> <option value="RenamePage" disabled class="disabled">Rename Page</option> <option value="DeletePage" disabled class="disabled">Delete Page</option> <option value="show" disabled class="disabled">------------------------</option> <option value="show" disabled class="disabled">Subscribe User</option> <option value="show" disabled class="disabled">------------------------</option> <option value="show" disabled class="disabled">Remove Spam</option> <option value="show" disabled class="disabled">Revert to this revision</option> <option value="PackagePages">Package Pages</option> <option value="SyncPages">Sync Pages</option> <option value="show" disabled class="disabled">------------------------</option> <option value="Load">Load</option> <option value="Save">Save</option> <option value="SlideShow">SlideShow</option> </select> <input type="submit" value="Do"> </div> <script type="text/javascript"> <!--// Init menu actionsMenuInit('More Actions:'); //--> </script> </form> </li></ul> <ul id="credits"> <li><a href="http://moinmo.in/" title="This site uses the MoinMoin Wiki software.">MoinMoin Powered</a></li><li><a href="http://moinmo.in/Python" title="MoinMoin is written in Python.">Python Powered</a></li><li><a href="http://moinmo.in/GPL" title="MoinMoin is GPL licensed.">GPL licensed</a></li><li><a href="http://validator.w3.org/check?uri=referer" title="Click here to validate this page.">Valid HTML 4.01</a></li> </ul> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10