Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ===== The DESTDIR macro ===== ==== What is it? ==== //DESTDIR// is a make environmental variable that we use in installing various parts of the %%FreeBSD%% operating system. According to its name, it sets the destination directory, where the desired components should go. ==== DESTDIR in src tree ==== We use //DESTDIR// for populating a jail environment. Setting //DESTDIR// while making an installworld will result in an individual %%FreeBSD%% userland environment, what is called a jail. We make use of jails for virtual server hosting or imprisoning processes to improve security. ==== DESTDIR in doc/www tree ==== The compiled webpages and documentations go to //${DESTDIR}/data//. While mirroring the %%FreeBSD%% webpages we should set this properly in conjunction with our webserver. ==== DESTDIR in ports tree ==== So far, the //DESTDIR// macro in ports tree hasn't been implemented. As a [[SummerOfCode2007|SummerOfCode2007]] student, GáborKövesdán is working on the implementation. According to our interpretation of //DESTDIR//, it should install packages into existing environments (or jails). Specifically, it means that packages should go to //${DESTDIR}/${PREFIX}// and be registered under //${DESTDIR}/var/db/pkg//. For example: Installing //misc/foo// with //DESTDIR=/bla// results in a package under ///bla/usr/local// and it is registered under ///bla/var/db/pkg//, so that it be removable from the environment with pkg_delete. Of course, //LOCALBASE// can be overriden so using //DESTDIR=/bla// and //LOCALBASE=/opt// (or //PREFIX=/opt//) installs the package into ///bla/opt// and the package info still goes to ///bla/var/db/pkg//. ==== How does it work for ports? ==== DESTDIR was not taken into account at the beginnings and sometimes it is difficult to implement missing features later. This was the case with DESTDIR as well. As a part of the [[SummerOfCode2006|SummerOfCode2006]] program, a more complicated and less useful solution was implemented. As a [[SummerOfCode2007|SummerOfCode2007]] project, the DESTDIR functionality has been rewritten and committed to CVS. It builds and installs ports completely chrooted and mounts the necessary directiries via mount_nullfs(1) and mount_devs(1). If you need further information feel free to contact GáborKövesdán destdir.txt Last modified: 2021/03/28 06:35by KubilayKocak