portsnap and portupgrade question
Hello all, Thanks for the awesome OS! I am a Linux user and I just started using FreeBSD. It is awesome, and the Handbook as well! I am following Chapter 24 of the Handbook to update my system. First I completed the freebsd-update Then I ran portupgrade -av Then I ran portsnap. When I decided what to make PACKAGESITE I picked 8.0-RELEASE (not STABLE or CURRENT). I also mirrored the entire 20GB i386 8.0-RELEASE package set. I live in South-Africa and my ADSL is slow and expensive, so having the whole collection locally 'helps' :) Now here is my question. After I ran portsnap fetch extract, I ran portupgrade and got quite a fright. What does portsnap want to download? 8.0-RELEASE or STABLE? I did not mirror the ports because that would be really big, so it will cost me a lot of time to upgrade with portupgrade. Is there a way to do this with the binary packages instead? Or am I doing something wrong? Any pointers for this n00b would be greatly appreciated! Regards, Coert ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: portsnap and portupgrade question
On Thu, 27 May 2010 08:23:58 +0200, Coert lgro...@waagmeester.co.za wrote: First I completed the freebsd-update Then I ran portupgrade -av Then I ran portsnap. It's a bit confusing to me. Why do you first update your installed ports, then the ports database? I would thing it would make more sense in reverse order, i. e. 1. freebsd-update This updates your operating system in binary way. 2. portsnap This brings your ports tree up to date 3. portupgrade -av This updates your installed ports. If you don't have much ports installed, or when you're just beginning to install a system, perform steps 1 and 2 first, then install portupgrade (or portmaster, another great tool), and then install everything else. This way you will receive the latest versions of the ports. If you wish to upgrade your installed system, perform steps 1, 2 and 3 in the proper manner. When I decided what to make PACKAGESITE I picked 8.0-RELEASE (not STABLE or CURRENT). As you updated your system with freebsd-update to follow the -RELEASE-p- branch, this is valid. Now here is my question. After I ran portsnap fetch extract, I ran portupgrade and got quite a fright. What does portsnap want to download? 8.0-RELEASE or STABLE? The portsnap program does usually download the latest version of the ports collection. Remember that ports do always get updated, there basically is no -RELEASE, -STABLE or -CURRENT branch for the ports as it is for the OS. I did not mirror the ports because that would be really big, so it will cost me a lot of time to upgrade with portupgrade. The ports tree itself is not that big - but installed applications can be. A portupgrade -av call would only upgrade your installed packages, not all that exist in ports tree. Is there a way to do this with the binary packages instead? Or am I doing something wrong? Yes, see the excellent documentation in man portupgrade: There are the -P and -PP switches (and -p might be interesting to you, too, to store and maybe transfer upgraded packages to other systems). Additionally, there's pkg_add -r to install binary packages. You can either install Latest or those refering to -RELEASE, depending on what PACKAGESITE or PACKAGEROOT are set; refer to man pkg_add for a better explaination. -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ... ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: portsnap and portupgrade question
Polytropon wrote: On Thu, 27 May 2010 08:23:58 +0200, Coert lgro...@waagmeester.co.za wrote: First I completed the freebsd-update Then I ran portupgrade -av Then I ran portsnap. It's a bit confusing to me. Why do you first update your installed ports, then the ports database? I would thing it would make more sense in reverse order, i. e. 1. freebsd-update This updates your operating system in binary way. 2. portsnap This brings your ports tree up to date 3. portupgrade -av This updates your installed ports. If you don't have much ports installed, or when you're just beginning to install a system, perform steps 1 and 2 first, then install portupgrade (or portmaster, another great tool), and then install everything else. This way you will receive the latest versions of the ports. If you wish to upgrade your installed system, perform steps 1, 2 and 3 in the proper manner. When I decided what to make PACKAGESITE I picked 8.0-RELEASE (not STABLE or CURRENT). As you updated your system with freebsd-update to follow the -RELEASE-p- branch, this is valid. Now here is my question. After I ran portsnap fetch extract, I ran portupgrade and got quite a fright. What does portsnap want to download? 8.0-RELEASE or STABLE? The portsnap program does usually download the latest version of the ports collection. Remember that ports do always get updated, there basically is no -RELEASE, -STABLE or -CURRENT branch for the ports as it is for the OS. I did not mirror the ports because that would be really big, so it will cost me a lot of time to upgrade with portupgrade. The ports tree itself is not that big - but installed applications can be. A portupgrade -av call would only upgrade your installed packages, not all that exist in ports tree. Is there a way to do this with the binary packages instead? Or am I doing something wrong? Yes, see the excellent documentation in man portupgrade: There are the -P and -PP switches (and -p might be interesting to you, too, to store and maybe transfer upgraded packages to other systems). Additionally, there's pkg_add -r to install binary packages. You can either install Latest or those refering to -RELEASE, depending on what PACKAGESITE or PACKAGEROOT are set; refer to man pkg_add for a better explaination. Hello Polytropon, The order of operations makes sense. I ran it that way now I checked the man page, and the -PP option is indeed what I am looking for. What I do see though, portupgrade is attempting to download the STABLE packages and not RELEASE. I have read nearly all of Chapter 24, and I looked at Chapter 4 as well. And I have scrunged through portsnap and portupgrade's man pages, but I can not yet find a way to force it to use RELEASE. I apologize if this is maybe a stupid noob thing Should I maybe not have used portsnap, so as to keep to ports tree that came with the release? Is there a way to get the original release ports tree back? Or should I maybe just be using STABLE? Here is what I get when I run portupgrade -PPanv --- Checking for the latest package of 'net/rsync' --- Found a package of 'net/rsync': /var/packages/FreeBSD/8.0-release-i386/Latest/rsync.tbz (rsync-3.0.6) --- Fetching the package(s) for 'rsync-3.0.7' (net/rsync) --- Fetching rsync-3.0.7 ++ Will try the following sites in the order named: ftp://ftp.FreeBSD.org//pub/FreeBSD/ports/i386/packages-8.0-release/ --- Invoking a command: /usr/bin/fetch -o '/var/tmp/portupgradeINlbeDr0/rsync-3.0.7.tbz' 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8.0-release/All/rsync-3.0.7.tbz' fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8.0-release/All/rsync-3.0.7.tbz: File unavailable (e.g., file not found, no access) ** The command returned a non-zero exit status: 1 ** Failed to fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8.0-release/All/rsync-3.0.7.tbz --- Invoking a command: /usr/bin/fetch -o '/var/tmp/portupgradeINlbeDr0/rsync-3.0.7.tgz' 'ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8.0-release/All/rsync-3.0.7.tgz' fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8.0-release/All/rsync-3.0.7.tgz: File unavailable (e.g., file not found, no access) ** The command returned a non-zero exit status: 1 ** Failed to fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-8.0-release/All/rsync-3.0.7.tgz ** Failed to fetch rsync-3.0.7 --- Listing the results (+:done / -:ignored / *:skipped / !:failed) ! rsync-3.0.7 (fetch error) --- Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed --- Fetching the latest package(s) for 'rsync' (net/rsync) --- Fetching rsync ++ Will try the following sites in the order named: ftp://ftp.FreeBSD.org//pub/FreeBSD/ports/i386/packages-8.0-release/ --- Invoking a command: /usr/bin/fetch -o '/var/tmp/portupgradeDlJGIGWL/rsync.tbz'
Re: portsnap and portupgrade question
On Thu, 27 May 2010 10:26:49 +0200, Coert lgro...@waagmeester.co.za wrote: I checked the man page, and the -PP option is indeed what I am looking for. The -PP option forces packages. Keep in mind that it *may* happen that there isn't a package for a specific port, or a package uses the default options of a port (see make config) that won't fit your particular requirements. What I do see though, portupgrade is attempting to download the STABLE packages and not RELEASE. I think it will use the packages that correspond to the version actually present in your ports tree. If you updated your ports tree using portsnap, it's newer than RELEASE. I have read nearly all of Chapter 24, and I looked at Chapter 4 as well. And I have scrunged through portsnap and portupgrade's man pages, but I can not yet find a way to force it to use RELEASE. Just keep your ports tree as it came from the installation CD or DVD. It will then be in the state of RELEASE unless you update it (by portsnap or make update). I apologize if this is maybe a stupid noob thing No need. Should I maybe not have used portsnap, so as to keep to ports tree that came with the release? If you want to track RELEASE for your operating system anyway (by freebsd-update), it's okay to stay with the ports tree in the state of RELEASE. In this case, you can even omit using portupgrade for upgrading, simply because there is nothing to upgrade. :-) If you decide to make a release switch, e. g. from 8.0 to 8.1, it's a good chance to use portupgrade -va at this point in time - after getting the ports tree. Is there a way to get the original release ports tree back? Yes. First, delete /usr/ports. Then get the ports tree from the installation CD or DVD, e. g. by using the sysinstall program. If you want, you can remove everything except the system itself and start all over (of course, only ports will be affected, the system won't). You can obtain the -RELEASE ports tree also from the Internet, download it, and install it. But if you already have installation media, I think it's the easiest way to use this via sysinstall. Or should I maybe just be using STABLE? You have to decide this. If you plan to install once, then use, you can easily go with -RELEASE and its original ports tree. If you think you will want or need to randomly or periodically upgrade all your applications, go with -STABLE. Keep in mind you can't track -STABLE with freebsd-update - there are other means to do this (read man freebsd-update's first paragraph for an explaination why). Here is what I get when I run portupgrade -PPanv [...] ** No package available: net/rsync Why not use pkg_add -r rsync here, with PACKAGESITE / PACKAGEROOT set to the RELEASE subtree on the FreeBSD FTP server? The pkg_add program is intended to be used with binary packages. If you mix using pkg_add and portupgrade (which is possible), don't forget to keep your installed package database up to date (pkgdb -aF). -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ... ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: portsnap and portupgrade question
Polytropon wrote: On Thu, 27 May 2010 10:26:49 +0200, Coert lgro...@waagmeester.co.za wrote: I checked the man page, and the -PP option is indeed what I am looking for. The -PP option forces packages. Keep in mind that it *may* happen that there isn't a package for a specific port, or a package uses the default options of a port (see make config) that won't fit your particular requirements. What I do see though, portupgrade is attempting to download the STABLE packages and not RELEASE. I think it will use the packages that correspond to the version actually present in your ports tree. If you updated your ports tree using portsnap, it's newer than RELEASE. I have read nearly all of Chapter 24, and I looked at Chapter 4 as well. And I have scrunged through portsnap and portupgrade's man pages, but I can not yet find a way to force it to use RELEASE. Just keep your ports tree as it came from the installation CD or DVD. It will then be in the state of RELEASE unless you update it (by portsnap or make update). I apologize if this is maybe a stupid noob thing No need. Should I maybe not have used portsnap, so as to keep to ports tree that came with the release? If you want to track RELEASE for your operating system anyway (by freebsd-update), it's okay to stay with the ports tree in the state of RELEASE. In this case, you can even omit using portupgrade for upgrading, simply because there is nothing to upgrade. :-) If you decide to make a release switch, e. g. from 8.0 to 8.1, it's a good chance to use portupgrade -va at this point in time - after getting the ports tree. Is there a way to get the original release ports tree back? Yes. First, delete /usr/ports. Then get the ports tree from the installation CD or DVD, e. g. by using the sysinstall program. If you want, you can remove everything except the system itself and start all over (of course, only ports will be affected, the system won't). You can obtain the -RELEASE ports tree also from the Internet, download it, and install it. But if you already have installation media, I think it's the easiest way to use this via sysinstall. Or should I maybe just be using STABLE? You have to decide this. If you plan to install once, then use, you can easily go with -RELEASE and its original ports tree. If you think you will want or need to randomly or periodically upgrade all your applications, go with -STABLE. Keep in mind you can't track -STABLE with freebsd-update - there are other means to do this (read man freebsd-update's first paragraph for an explaination why). Here is what I get when I run portupgrade -PPanv [...] ** No package available: net/rsync Why not use pkg_add -r rsync here, with PACKAGESITE / PACKAGEROOT set to the RELEASE subtree on the FreeBSD FTP server? The pkg_add program is intended to be used with binary packages. If you mix using pkg_add and portupgrade (which is possible), don't forget to keep your installed package database up to date (pkgdb -aF). Thankyou Polytropon. It is working perfectly now. I have the RELEASE ports tree back, and my system is at 8.0-RELEASE-p3 thanks to freebsd-update. Regards, Coert ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
portsnap and portupgrade
If one installed a fresh FREEBSD-7.0-RELEASE on a new computer, with 'yes' to installing the Ports Collection during sysinstall, and opts for portsnap as the tool to keep /usr/ports updated in the future, and opts for portupgrade to upgrade ports then, what is the correct procedure to do after FreeBSD is installed and up and running, and installing and updating particular ports in the following years... This is what I collected from the FreeBSD handbook, but am not sure if everything is OK. Please verify and adapt and tell why some things are wrong and why your corrections are the right thing to do.. I'm trying to make a text for future reference ... ( After install of FreeBSD, /var/db/portsnap is still empty, so I get compressed snapshot of the Ports collection ) # portsnap fetch ( decompress to /usr/ports ) # portsnap extract ( it is not clear to me if this is correct if one already has a /usr/ports created during sysinstall .. ) In root /etc/crontab, shedule daily updates of /var/db/portsnap : 0 3 * * * root /usr/sbin/portsnap cron - For a first install + subsequent updates of a port ( e.g. port ghostview (gv) in /usr/ports/print/gv ) a. To install gv for the very first time: # cd /usr/ports/print/gv # make install clean # pkg_info | grep -i gv(to see its version number) b. For every future upgrade of gv (using portupgrade): b.1. ( update ports collection ) # portsnap update b.2. check http://vuxml.freebsd.org/ for possible security issues related to gv b.3. check if gv needs updating # pkg_version -v | grep -i gv (let's suppose it does: u.v.w. greater than x.y.z.) gv-x.y.z needs updating (port has gv-u.v.w) b.4. check /usr/ports/UPDATING for issues related to gv and follow instructions if any b.5. do the port upgrade # portupgrade -R gv b.6. install the updated version of ghostview # cd /usr/ports/print/gv # make install clean b.7. check you have the newer version of gv now # pkg_info | grep -i gv ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: portsnap and portupgrade
On Thu, 18 Dec 2008 11:08:44 +0100 (CET) Pieter Donche pieter.don...@ua.ac.be wrote: ( decompress to /usr/ports ) # portsnap extract ( it is not clear to me if this is correct if one already has a /usr/ports created during sysinstall .. ) You need the extract so that the tree is exactly matched to the snapshot and the correct metadata is created, it's installing the tree from disk that's not needed. In root /etc/crontab, shedule daily updates of /var/db/portsnap : 0 3 * * * root /usr/sbin/portsnap cron ... b. For every future upgrade of gv (using portupgrade): b.1. ( update ports collection ) # portsnap update ... b.5. do the port upgrade # portupgrade -R gv b.6. install the updated version of ghostview # cd /usr/ports/print/gv # make install clean You don't need the last step, that's what portupgrade does. For the most part it's better to bring all you ports up-to date if you can, rather than doing it piecemeal. ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: portsnap and portupgrade
RW wrote: On Thu, 18 Dec 2008 11:08:44 +0100 (CET) Pieter Donche pieter.don...@ua.ac.be wrote: ( decompress to /usr/ports ) # portsnap extract ( it is not clear to me if this is correct if one already has a /usr/ports created during sysinstall .. ) You need the extract so that the tree is exactly matched to the snapshot and the correct metadata is created, it's installing the tree from disk that's not needed. In root /etc/crontab, shedule daily updates of /var/db/portsnap : 0 3 * * * root /usr/sbin/portsnap cron ... b. For every future upgrade of gv (using portupgrade): b.1. ( update ports collection ) # portsnap update ... b.5. do the port upgrade # portupgrade -R gv b.6. install the updated version of ghostview # cd /usr/ports/print/gv # make install clean You don't need the last step, that's what portupgrade does. For the most part it's better to bring all you ports up-to date if you can, rather than doing it piecemeal. ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org Also use portaudit to check for security issues with installed ports. # portaudit -Fda (fecth the updated audit database and check your ports against it) ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: portsnap and portupgrade
[ Since this is on-topic, I'm taking it back on-list. ] On Thu, 18 Dec 2008 14:11:26 +0100 (CET) Pieter Donche pieter.don...@ua.ac.be wrote: 'Installing the tree from disk' do you mean with that: the install during sysinstall of /usr/ports from what is on the FREEBDSD-7.0-RELEASE CD's ? Yes If so, if you have did create a /usr/ports from sysinstall, then only a portsnap fetch has to be done, and no portsnap extract but only a portsnap update when you need updating a program you installed previously from the ports tree ? Portsnap doesn't know about anything in the ports tree that it didn't put there itself. For that reason it needs to bring the tree to an initial known-state by replacing all port directories and other files. For the same reason you shouldn't mix portsnap and c[v]sup. But is it then not better to do a portsnap upgrade immmediatly after that first portsnap fetch, since fetch will only get compressed .gz files (not decompressed to /usr/ports), so /usr/ports will still be of the date of the release of the 7.0 (febr. 2008) ? The extract will bring the tree up-to-date with the fetched snapshot. You could use extract instead of update all the time, except that it's slower and deletes user generated files in the ports directories (e.g. README.html). ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: portsnap and portupgrade
On Thu, 18 Dec 2008, RW wrote: [ Since this is on-topic, I'm taking it back on-list. ] On Thu, 18 Dec 2008 14:11:26 +0100 (CET) Pieter Donche pieter.don...@ua.ac.be wrote: 'Installing the tree from disk' do you mean with that: the install during sysinstall of /usr/ports from what is on the FREEBDSD-7.0-RELEASE CD's ? Yes If so, if you have did create a /usr/ports from sysinstall, then only a portsnap fetch has to be done, and no portsnap extract but only a portsnap update when you need updating a program you installed previously from the ports tree ? Portsnap doesn't know about anything in the ports tree that it didn't put there itself. For that reason it needs to bring the tree to an initial known-state by replacing all port directories and other files. For the same reason you shouldn't mix portsnap and c[v]sup. So, do you confirm my statement that only a portsnap update is OK? But is it then not better to do a portsnap upgrade immmediatly after that first portsnap fetch, since fetch will only get compressed .gz files (not decompressed to /usr/ports), so /usr/ports will still be of the date of the release of the 7.0 (febr. 2008) ? The extract will bring the tree up-to-date with the fetched snapshot. You could use extract instead of update all the time, except that it's slower and deletes user generated files in the ports directories (e.g. README.html). So since it's faster and doesn't delete user generated files, upgrade is always to be preferred over extract, right? ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: portsnap and portupgrade
README.html). So since it's faster and doesn't delete user generated files, upgrade is always to be preferred over extract, right? unless you made BIG mess in /usr/ports - yes ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: portsnap and portupgrade
On Thu, Dec 18, 2008 at 04:41:22PM +0100, Pieter Donche wrote: Portsnap doesn't know about anything in the ports tree that it didn't put there itself. For that reason it needs to bring the tree to an initial known-state by replacing all port directories and other files. For the same reason you shouldn't mix portsnap and c[v]sup. So, do you confirm my statement that only a portsnap update is OK? After the initial fetch and extract, yes, you should use update. The extract will bring the tree up-to-date with the fetched snapshot. You could use extract instead of update all the time, except that it's slower and deletes user generated files in the ports directories (e.g. README.html). So since it's faster and doesn't delete user generated files, upgrade is always to be preferred over extract, right? Yes. As RW has already noted, extract will replace the entire ports tree with the pristine version in portsnap's archive. This is quite a lengthy process, given the size of the ports tree these days. update on the other hand, only replaces those ports that are different between the currently installed tree, and the tree in the new portsnap archive. I hope that makes sense... Dan -- Daniel Bye _ ASCII ribbon campaign ( ) - against HTML, vCards and X - proprietary attachments in e-mail / \ pgpKftKvspQs1.pgp Description: PGP signature
Re: portsnap and portupgrade
On 12/18/08 12:12 PM, Daniel Bye danie...@slightlystrange.org wrote: On Thu, Dec 18, 2008 at 04:41:22PM +0100, Pieter Donche wrote: So since it's faster and doesn't delete user generated files, upgrade is always to be preferred over extract, right? Yes. As RW has already noted, extract will replace the entire ports tree with the pristine version in portsnap's archive. so if one plans to do portsnap fetch; portsnap extract after installing freebsd from a release CD on a new machine, there's no point in installing the ports collection from the CD using sysinstall? ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: portsnap and portupgrade
On Thu, Dec 18, 2008 at 8:08 PM, Tom Worster f...@thefsb.org wrote: On 12/18/08 12:12 PM, Daniel Bye danie...@slightlystrange.org wrote: On Thu, Dec 18, 2008 at 04:41:22PM +0100, Pieter Donche wrote: So since it's faster and doesn't delete user generated files, upgrade is always to be preferred over extract, right? Yes. As RW has already noted, extract will replace the entire ports tree with the pristine version in portsnap's archive. so if one plans to do portsnap fetch; portsnap extract after installing freebsd from a release CD on a new machine, there's no point in installing the ports collection from the CD using sysinstall? As far as i see things no it makes no sense to install the ports tree from CD. I have never installed ports from CD because all the computers running freebsd have an internet connection and the first thing i do is to fetch the updated ports tree. a great day, v ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org