aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bn_BD.ISO10646-1/articles/explaining-bsd/Makefile2
-rw-r--r--da_DK.ISO8859-1/htdocs/Makefile2
-rw-r--r--de_DE.ISO8859-1/articles/Makefile1
-rw-r--r--de_DE.ISO8859-1/articles/contributing-ports/article.xml198
-rw-r--r--de_DE.ISO8859-1/articles/contributing/article.xml159
-rw-r--r--de_DE.ISO8859-1/articles/explaining-bsd/article.xml201
-rw-r--r--de_DE.ISO8859-1/articles/laptop/article.xml130
-rw-r--r--de_DE.ISO8859-1/articles/linux-comparison/article.xml119
-rw-r--r--de_DE.ISO8859-1/articles/new-users/article.xml148
-rw-r--r--de_DE.ISO8859-1/articles/port-mentor-guidelines/Makefile22
-rw-r--r--de_DE.ISO8859-1/articles/port-mentor-guidelines/article.xml266
-rw-r--r--de_DE.ISO8859-1/articles/solid-state/article.xml537
-rw-r--r--de_DE.ISO8859-1/books/developers-handbook/Makefile4
-rw-r--r--de_DE.ISO8859-1/books/faq/Makefile4
-rw-r--r--de_DE.ISO8859-1/books/fdp-primer/Makefile4
-rw-r--r--de_DE.ISO8859-1/books/handbook/Makefile8
-rw-r--r--de_DE.ISO8859-1/books/porters-handbook/Makefile4
-rw-r--r--de_DE.ISO8859-1/htdocs/Makefile4
-rw-r--r--de_DE.ISO8859-1/htdocs/administration.xml59
-rw-r--r--de_DE.ISO8859-1/htdocs/community.xsl16
-rw-r--r--de_DE.ISO8859-1/htdocs/features.xml6
-rw-r--r--de_DE.ISO8859-1/htdocs/releases/index.xml49
-rw-r--r--de_DE.ISO8859-1/htdocs/security/security.xml34
-rw-r--r--de_DE.ISO8859-1/htdocs/where.xml19
-rw-r--r--de_DE.ISO8859-1/share/xml/header.l10n.ent8
-rw-r--r--de_DE.ISO8859-1/share/xml/news.xml399
-rw-r--r--de_DE.ISO8859-1/share/xml/press.xml35
-rw-r--r--el_GR.ISO8859-7/articles/mailing-list-faq/Makefile4
-rw-r--r--el_GR.ISO8859-7/books/faq/Makefile4
-rw-r--r--el_GR.ISO8859-7/books/handbook/Makefile8
-rw-r--r--el_GR.ISO8859-7/htdocs/Makefile2
-rw-r--r--en_US.ISO8859-1/articles/committers-guide/article.xml312
-rw-r--r--en_US.ISO8859-1/articles/contributing-ports/article.xml4
-rw-r--r--en_US.ISO8859-1/articles/contributing/article.xml53
-rw-r--r--en_US.ISO8859-1/articles/contributors/contrib.additional.xml95
-rw-r--r--en_US.ISO8859-1/articles/contributors/contrib.committers.xml52
-rw-r--r--en_US.ISO8859-1/articles/contributors/contrib.corealumni.xml4
-rw-r--r--en_US.ISO8859-1/articles/contributors/contrib.develalumni.xml8
-rw-r--r--en_US.ISO8859-1/articles/contributors/contrib.portmgralumni.xml4
-rw-r--r--en_US.ISO8859-1/articles/freebsd-update-server/article.xml6
-rw-r--r--en_US.ISO8859-1/articles/geom-class/article.xml2
-rw-r--r--en_US.ISO8859-1/articles/hubs/article.xml11
-rw-r--r--en_US.ISO8859-1/articles/linux-users/article.xml2
-rw-r--r--en_US.ISO8859-1/articles/mailing-list-faq/Makefile4
-rw-r--r--en_US.ISO8859-1/articles/portbuild/article.xml2754
-rw-r--r--en_US.ISO8859-1/articles/problem-reports/article.xml36
-rw-r--r--en_US.ISO8859-1/articles/rc-scripting/article.xml25
-rw-r--r--en_US.ISO8859-1/articles/solid-state/article.xml488
-rw-r--r--en_US.ISO8859-1/books/Makefile1
-rw-r--r--en_US.ISO8859-1/books/arch-handbook/Makefile4
-rw-r--r--en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.xml299
-rw-r--r--en_US.ISO8859-1/books/arch-handbook/isa/chapter.xml2
-rw-r--r--en_US.ISO8859-1/books/arch-handbook/pci/chapter.xml4
-rw-r--r--en_US.ISO8859-1/books/arch-handbook/sound/chapter.xml10
-rw-r--r--en_US.ISO8859-1/books/bibliography/Makefile4
-rw-r--r--en_US.ISO8859-1/books/corp-net-guide/Makefile25
-rw-r--r--en_US.ISO8859-1/books/corp-net-guide/book.xml3223
-rw-r--r--en_US.ISO8859-1/books/corp-net-guide/freebsd.dsl18
-rw-r--r--en_US.ISO8859-1/books/dev-model/book.xml80
-rw-r--r--en_US.ISO8859-1/books/developers-handbook/Makefile4
-rw-r--r--en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.xml248
-rw-r--r--en_US.ISO8859-1/books/developers-handbook/policies/chapter.xml155
-rw-r--r--en_US.ISO8859-1/books/developers-handbook/tools/chapter.xml25
-rw-r--r--en_US.ISO8859-1/books/faq/Makefile4
-rw-r--r--en_US.ISO8859-1/books/faq/book.xml4147
-rw-r--r--en_US.ISO8859-1/books/fdp-primer/Makefile4
-rw-r--r--en_US.ISO8859-1/books/fdp-primer/writing-style/chapter.xml4
-rw-r--r--en_US.ISO8859-1/books/handbook/Makefile8
-rw-r--r--en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml299
-rw-r--r--en_US.ISO8859-1/books/handbook/audit/chapter.xml637
-rw-r--r--en_US.ISO8859-1/books/handbook/basics/chapter.xml3095
-rw-r--r--en_US.ISO8859-1/books/handbook/book.xml3
-rw-r--r--en_US.ISO8859-1/books/handbook/boot/chapter.xml31
-rw-r--r--en_US.ISO8859-1/books/handbook/bsdinstall/chapter.xml96
-rw-r--r--en_US.ISO8859-1/books/handbook/colophon.xml21
-rw-r--r--en_US.ISO8859-1/books/handbook/config/chapter.xml113
-rw-r--r--en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml2815
-rw-r--r--en_US.ISO8859-1/books/handbook/desktop/chapter.xml540
-rw-r--r--en_US.ISO8859-1/books/handbook/disks/chapter.xml331
-rw-r--r--en_US.ISO8859-1/books/handbook/dtrace/chapter.xml115
-rw-r--r--en_US.ISO8859-1/books/handbook/eresources/chapter.xml1060
-rw-r--r--en_US.ISO8859-1/books/handbook/filesystems/chapter.xml501
-rw-r--r--en_US.ISO8859-1/books/handbook/firewalls/chapter.xml1903
-rw-r--r--en_US.ISO8859-1/books/handbook/geom/chapter.xml760
-rw-r--r--en_US.ISO8859-1/books/handbook/index.xml1
-rw-r--r--en_US.ISO8859-1/books/handbook/install/chapter.xml4
-rw-r--r--en_US.ISO8859-1/books/handbook/introduction/chapter.xml20
-rw-r--r--en_US.ISO8859-1/books/handbook/jails/Makefile15
-rw-r--r--en_US.ISO8859-1/books/handbook/jails/chapter.xml16
-rw-r--r--en_US.ISO8859-1/books/handbook/kernelconfig/chapter.xml928
-rw-r--r--en_US.ISO8859-1/books/handbook/l10n/chapter.xml631
-rw-r--r--en_US.ISO8859-1/books/handbook/linuxemu/chapter.xml906
-rw-r--r--en_US.ISO8859-1/books/handbook/mac/chapter.xml868
-rw-r--r--en_US.ISO8859-1/books/handbook/mail/chapter.xml12
-rw-r--r--en_US.ISO8859-1/books/handbook/mirrors/chapter.xml3397
-rw-r--r--en_US.ISO8859-1/books/handbook/multimedia/chapter.xml1481
-rw-r--r--en_US.ISO8859-1/books/handbook/network-servers/chapter.xml379
-rw-r--r--en_US.ISO8859-1/books/handbook/ports/chapter.xml2221
-rw-r--r--en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml1966
-rw-r--r--en_US.ISO8859-1/books/handbook/preface/preface.xml641
-rw-r--r--en_US.ISO8859-1/books/handbook/printing/chapter.xml4018
-rw-r--r--en_US.ISO8859-1/books/handbook/security/chapter.xml35
-rw-r--r--en_US.ISO8859-1/books/handbook/serialcomms/chapter.xml2123
-rw-r--r--en_US.ISO8859-1/books/handbook/users/chapter.xml649
-rw-r--r--en_US.ISO8859-1/books/handbook/vinum/chapter.xml685
-rw-r--r--en_US.ISO8859-1/books/handbook/virtualization/chapter.xml46
-rw-r--r--en_US.ISO8859-1/books/handbook/x11/chapter.xml1079
-rw-r--r--en_US.ISO8859-1/books/pmake/Makefile6
-rw-r--r--en_US.ISO8859-1/books/porters-handbook/Makefile4
-rw-r--r--en_US.ISO8859-1/books/porters-handbook/book.xml270
-rw-r--r--en_US.ISO8859-1/flyer/Makefile2
-rw-r--r--en_US.ISO8859-1/flyer/flyer.tex13
-rw-r--r--en_US.ISO8859-1/htdocs/4xx.xml25
-rw-r--r--en_US.ISO8859-1/htdocs/Makefile6
-rw-r--r--en_US.ISO8859-1/htdocs/about.xml2
-rw-r--r--en_US.ISO8859-1/htdocs/administration.xml21
-rw-r--r--en_US.ISO8859-1/htdocs/advocacy/myths.xml5
-rw-r--r--en_US.ISO8859-1/htdocs/applications.xml13
-rw-r--r--en_US.ISO8859-1/htdocs/art.xml4
-rw-r--r--en_US.ISO8859-1/htdocs/cgi/cgi-style.pl2
-rwxr-xr-xen_US.ISO8859-1/htdocs/cgi/cvsweb.cgi7
-rwxr-xr-xen_US.ISO8859-1/htdocs/cgi/man.cgi36
-rwxr-xr-xen_US.ISO8859-1/htdocs/cgi/ports.cgi8
-rwxr-xr-xen_US.ISO8859-1/htdocs/cgi/query-pr-summary.cgi14
-rw-r--r--en_US.ISO8859-1/htdocs/community.xsl6
-rw-r--r--en_US.ISO8859-1/htdocs/community/mailinglists.xml3
-rw-r--r--en_US.ISO8859-1/htdocs/copyright/Makefile7
-rw-r--r--en_US.ISO8859-1/htdocs/copyright/copyright.xml3
-rw-r--r--en_US.ISO8859-1/htdocs/copyright/freebsd-doc-license.xml2
-rw-r--r--en_US.ISO8859-1/htdocs/copyright/freebsd-license.xml2
-rw-r--r--en_US.ISO8859-1/htdocs/developers/cvs.xml67
-rw-r--r--en_US.ISO8859-1/htdocs/doc/Makefile6
-rw-r--r--en_US.ISO8859-1/htdocs/docproj/translations.xml10
-rw-r--r--en_US.ISO8859-1/htdocs/docs/books.xml7
-rw-r--r--en_US.ISO8859-1/htdocs/donations/donors.xml7
-rw-r--r--en_US.ISO8859-1/htdocs/donations/index.xml22
-rw-r--r--en_US.ISO8859-1/htdocs/donations/wantlist.xml8
-rw-r--r--en_US.ISO8859-1/htdocs/events/Makefile4
-rw-r--r--en_US.ISO8859-1/htdocs/features.xml312
-rw-r--r--en_US.ISO8859-1/htdocs/gnome/docs/bugging.xml4
-rw-r--r--en_US.ISO8859-1/htdocs/gnome/docs/faq2.xml5
-rw-r--r--en_US.ISO8859-1/htdocs/gnome/gnomelogalyzer.sh4
-rw-r--r--en_US.ISO8859-1/htdocs/google6bb24ed0b804d5e9.html1
-rw-r--r--en_US.ISO8859-1/htdocs/index.xsl5
-rw-r--r--en_US.ISO8859-1/htdocs/internal/Makefile2
-rw-r--r--en_US.ISO8859-1/htdocs/internal/bylaws.xml4
-rw-r--r--en_US.ISO8859-1/htdocs/internal/doceng.xml2
-rw-r--r--en_US.ISO8859-1/htdocs/internal/homepage.pl7
-rw-r--r--en_US.ISO8859-1/htdocs/internal/i18n.xml3
-rw-r--r--en_US.ISO8859-1/htdocs/layout/css/fixed.css2
-rw-r--r--en_US.ISO8859-1/htdocs/layout/css/layout.css69
-rw-r--r--en_US.ISO8859-1/htdocs/layout/images/Makefile11
-rw-r--r--en_US.ISO8859-1/htdocs/layout/images/front_get_back.pngbin209 -> 0 bytes
-rw-r--r--en_US.ISO8859-1/htdocs/layout/images/front_get_bl.pngbin353 -> 0 bytes
-rw-r--r--en_US.ISO8859-1/htdocs/layout/images/front_get_br.pngbin335 -> 0 bytes
-rw-r--r--en_US.ISO8859-1/htdocs/layout/images/front_get_tl.pngbin338 -> 0 bytes
-rw-r--r--en_US.ISO8859-1/htdocs/layout/images/front_get_tr.pngbin360 -> 0 bytes
-rw-r--r--en_US.ISO8859-1/htdocs/layout/images/front_new_back.pngbin201 -> 0 bytes
-rw-r--r--en_US.ISO8859-1/htdocs/layout/images/front_new_bl.pngbin305 -> 0 bytes
-rw-r--r--en_US.ISO8859-1/htdocs/layout/images/front_new_br.pngbin291 -> 0 bytes
-rw-r--r--en_US.ISO8859-1/htdocs/layout/images/front_new_tl.pngbin298 -> 0 bytes
-rw-r--r--en_US.ISO8859-1/htdocs/layout/images/front_new_tr.pngbin314 -> 0 bytes
-rw-r--r--en_US.ISO8859-1/htdocs/layout/js/google.js53
-rw-r--r--en_US.ISO8859-1/htdocs/multimedia/multimedia-input.xml36
-rw-r--r--en_US.ISO8859-1/htdocs/news/2012-compromise.xml340
-rw-r--r--en_US.ISO8859-1/htdocs/news/2012-compromise/Makefile13
-rw-r--r--en_US.ISO8859-1/htdocs/news/2012-compromise/md5.sums.20121118.txt22593
-rw-r--r--en_US.ISO8859-1/htdocs/news/2012-compromise/sha256.sums.20121118.txt22593
-rw-r--r--en_US.ISO8859-1/htdocs/news/Makefile4
-rw-r--r--en_US.ISO8859-1/htdocs/news/status/Makefile1
-rw-r--r--en_US.ISO8859-1/htdocs/news/status/README6
-rw-r--r--en_US.ISO8859-1/htdocs/news/status/report-2001-08.xml2
-rw-r--r--en_US.ISO8859-1/htdocs/news/status/report-2002-05-2002-06.xml2
-rw-r--r--en_US.ISO8859-1/htdocs/news/status/report-2012-04-2012-06.xml1007
-rw-r--r--en_US.ISO8859-1/htdocs/news/status/status.xml4
-rw-r--r--en_US.ISO8859-1/htdocs/platforms/arm.xml3
-rw-r--r--en_US.ISO8859-1/htdocs/privacy.xml60
-rw-r--r--en_US.ISO8859-1/htdocs/projects/mac/index.xml2
-rw-r--r--en_US.ISO8859-1/htdocs/projects/newbies.xml6
-rw-r--r--en_US.ISO8859-1/htdocs/projects/projects.xml6
-rw-r--r--en_US.ISO8859-1/htdocs/releases/5.3R/todo.xml2
-rw-r--r--en_US.ISO8859-1/htdocs/releases/6.1R/todo.xml4
-rw-r--r--en_US.ISO8859-1/htdocs/releases/9.1R/Makefile11
-rw-r--r--en_US.ISO8859-1/htdocs/releases/9.1R/announce.xml331
-rw-r--r--en_US.ISO8859-1/htdocs/releases/9.1R/errata.html247
-rw-r--r--en_US.ISO8859-1/htdocs/releases/9.1R/hardware.html10978
-rw-r--r--en_US.ISO8859-1/htdocs/releases/9.1R/installation.html235
-rw-r--r--en_US.ISO8859-1/htdocs/releases/9.1R/readme.html403
-rw-r--r--en_US.ISO8859-1/htdocs/releases/9.1R/relnotes-detailed.html2010
-rw-r--r--en_US.ISO8859-1/htdocs/releases/9.1R/relnotes.xml875
-rw-r--r--en_US.ISO8859-1/htdocs/releases/9.1R/schedule.xml19
-rw-r--r--en_US.ISO8859-1/htdocs/releases/index.xml10
-rw-r--r--en_US.ISO8859-1/htdocs/releng/charter.xml2
-rw-r--r--en_US.ISO8859-1/htdocs/releng/index.xml24
-rw-r--r--en_US.ISO8859-1/htdocs/relnotes.xml12
-rw-r--r--en_US.ISO8859-1/htdocs/search/index-site.xsl2
-rw-r--r--en_US.ISO8859-1/htdocs/search/sitemap.xml35
-rw-r--r--en_US.ISO8859-1/htdocs/security/security.xml13
-rw-r--r--en_US.ISO8859-1/htdocs/snapshots/index.xml25
-rw-r--r--en_US.ISO8859-1/htdocs/where.xml15
-rw-r--r--en_US.ISO8859-1/share/xml/mailing-lists.ent25
-rw-r--r--en_US.ISO8859-1/share/xml/release.l10n.ent12
-rw-r--r--en_US.ISO8859-1/share/xml/teams.ent2
-rw-r--r--es_ES.ISO8859-1/articles/explaining-bsd/Makefile4
-rw-r--r--es_ES.ISO8859-1/articles/fbsd-from-scratch/Makefile2
-rw-r--r--es_ES.ISO8859-1/articles/mailing-list-faq/Makefile4
-rw-r--r--es_ES.ISO8859-1/books/faq/Makefile4
-rwxr-xr-xes_ES.ISO8859-1/books/handbook/Makefile6
-rw-r--r--es_ES.ISO8859-1/htdocs/Makefile2
-rw-r--r--es_ES.ISO8859-1/htdocs/search/index-site.xsl2
-rwxr-xr-xfr_FR.ISO8859-1/articles/new-users/article.xml4
-rw-r--r--fr_FR.ISO8859-1/articles/releng-packages/Makefile2
-rw-r--r--fr_FR.ISO8859-1/articles/releng/Makefile2
-rw-r--r--fr_FR.ISO8859-1/books/developers-handbook/Makefile4
-rw-r--r--fr_FR.ISO8859-1/books/faq/Makefile4
-rw-r--r--fr_FR.ISO8859-1/books/faq/book.xml32
-rw-r--r--fr_FR.ISO8859-1/books/fdp-primer/Makefile4
-rw-r--r--fr_FR.ISO8859-1/books/fdp-primer/sgml-markup/chapter.xml6
-rw-r--r--fr_FR.ISO8859-1/books/handbook/Makefile8
-rw-r--r--fr_FR.ISO8859-1/books/porters-handbook/Makefile4
-rw-r--r--fr_FR.ISO8859-1/htdocs/Makefile2
-rw-r--r--fr_FR.ISO8859-1/htdocs/search/index-site.xsl2
-rw-r--r--hu_HU.ISO8859-2/books/faq/Makefile4
-rw-r--r--hu_HU.ISO8859-2/books/fdp-primer/Makefile4
-rw-r--r--hu_HU.ISO8859-2/books/handbook/Makefile8
-rw-r--r--hu_HU.ISO8859-2/htdocs/Makefile2
-rw-r--r--hu_HU.ISO8859-2/htdocs/administration.xml30
-rw-r--r--hu_HU.ISO8859-2/htdocs/community.xsl6
-rw-r--r--hu_HU.ISO8859-2/htdocs/search/index-site.xsl2
-rw-r--r--hu_HU.ISO8859-2/share/xml/templates.events.xsl12
-rw-r--r--it_IT.ISO8859-15/books/handbook/Makefile8
-rw-r--r--it_IT.ISO8859-15/books/unix-introduction/Makefile4
-rw-r--r--it_IT.ISO8859-15/htdocs/Makefile2
-rw-r--r--ja_JP.eucJP/articles/contributing/article.xml95
-rw-r--r--ja_JP.eucJP/articles/contributors/article.xml6
-rw-r--r--ja_JP.eucJP/articles/problem-reports/article.xml1104
-rw-r--r--ja_JP.eucJP/books/faq/Makefile4
-rw-r--r--ja_JP.eucJP/books/fdp-primer/Makefile4
-rw-r--r--ja_JP.eucJP/books/handbook/Makefile8
-rw-r--r--ja_JP.eucJP/books/handbook/advanced-networking/chapter.xml8861
-rw-r--r--ja_JP.eucJP/books/handbook/basics/chapter.xml2
-rw-r--r--ja_JP.eucJP/books/handbook/book.xml5
-rw-r--r--ja_JP.eucJP/books/handbook/bsdinstall/chapter.xml97
-rw-r--r--ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml659
-rw-r--r--ja_JP.eucJP/books/handbook/desktop/chapter.xml228
-rw-r--r--ja_JP.eucJP/books/handbook/disks/chapter.xml2
-rw-r--r--ja_JP.eucJP/books/handbook/eresources/chapter.xml220
-rw-r--r--ja_JP.eucJP/books/handbook/install/chapter.xml18
-rw-r--r--ja_JP.eucJP/books/handbook/introduction/chapter.xml25
-rw-r--r--ja_JP.eucJP/books/handbook/kernelconfig/chapter.xml6
-rw-r--r--ja_JP.eucJP/books/handbook/mirrors/chapter.xml763
-rw-r--r--ja_JP.eucJP/books/handbook/multimedia/chapter.xml2
-rw-r--r--ja_JP.eucJP/books/handbook/ports/chapter.xml748
-rw-r--r--ja_JP.eucJP/books/porters-handbook/Makefile4
-rw-r--r--ja_JP.eucJP/books/porters-handbook/book.xml1998
-rw-r--r--ja_JP.eucJP/htdocs/Makefile4
-rw-r--r--ja_JP.eucJP/htdocs/about.xml10
-rw-r--r--ja_JP.eucJP/htdocs/applications.xml19
-rw-r--r--ja_JP.eucJP/htdocs/community.xsl6
-rw-r--r--ja_JP.eucJP/htdocs/community/mailinglists.xml5
-rw-r--r--ja_JP.eucJP/htdocs/copyright/Makefile4
-rw-r--r--ja_JP.eucJP/htdocs/copyright/copyright.xml9
-rw-r--r--ja_JP.eucJP/htdocs/copyright/freebsd-license.xml2
-rw-r--r--ja_JP.eucJP/htdocs/developers/cvs.xml73
-rw-r--r--ja_JP.eucJP/htdocs/doc/Makefile8
-rw-r--r--ja_JP.eucJP/htdocs/docproj/translations.xml63
-rw-r--r--ja_JP.eucJP/htdocs/docs/books.xml9
-rw-r--r--ja_JP.eucJP/htdocs/events/Makefile4
-rw-r--r--ja_JP.eucJP/htdocs/index.xsl15
-rw-r--r--ja_JP.eucJP/htdocs/news/2012-compromise.xml242
-rw-r--r--ja_JP.eucJP/htdocs/news/Makefile5
-rw-r--r--ja_JP.eucJP/htdocs/platforms/arm.xml7
-rw-r--r--ja_JP.eucJP/htdocs/projects/newbies.xml8
-rw-r--r--ja_JP.eucJP/htdocs/projects/projects.xml7
-rw-r--r--ja_JP.eucJP/htdocs/releases/index.xml12
-rw-r--r--ja_JP.eucJP/htdocs/relnotes.xml14
-rw-r--r--ja_JP.eucJP/htdocs/search/index-site.xsl2
-rw-r--r--ja_JP.eucJP/htdocs/search/sitemap.xml36
-rw-r--r--ja_JP.eucJP/htdocs/security/security.xml15
-rw-r--r--ja_JP.eucJP/htdocs/snapshots/index.xml35
-rw-r--r--ja_JP.eucJP/htdocs/where.xml18
-rw-r--r--ja_JP.eucJP/share/xml/header.l10n.ent33
-rw-r--r--ja_JP.eucJP/share/xml/l10n.ent4
-rw-r--r--ja_JP.eucJP/share/xml/mailing-lists.ent26
-rw-r--r--ja_JP.eucJP/share/xml/navibar.l10n.ent15
-rw-r--r--ja_JP.eucJP/share/xml/news.xml374
-rw-r--r--ja_JP.eucJP/share/xml/release.l10n.ent17
-rw-r--r--ja_JP.eucJP/share/xml/templates.events.xsl12
-rw-r--r--mn_MN.UTF-8/books/handbook/Makefile8
-rw-r--r--mn_MN.UTF-8/books/handbook/advanced-networking/chapter.xml2
-rw-r--r--mn_MN.UTF-8/books/handbook/audit/chapter.xml2
-rw-r--r--mn_MN.UTF-8/books/handbook/basics/chapter.xml23
-rw-r--r--mn_MN.UTF-8/books/handbook/book.xml5
-rw-r--r--mn_MN.UTF-8/books/handbook/boot/chapter.xml2
-rw-r--r--mn_MN.UTF-8/books/handbook/bsdinstall/chapter.xml66
-rw-r--r--mn_MN.UTF-8/books/handbook/colophon.xml2
-rw-r--r--mn_MN.UTF-8/books/handbook/config/chapter.xml8
-rw-r--r--mn_MN.UTF-8/books/handbook/cutting-edge/chapter.xml158
-rw-r--r--mn_MN.UTF-8/books/handbook/desktop/chapter.xml6
-rw-r--r--mn_MN.UTF-8/books/handbook/disks/chapter.xml14
-rw-r--r--mn_MN.UTF-8/books/handbook/dtrace/chapter.xml15
-rw-r--r--mn_MN.UTF-8/books/handbook/eresources/chapter.xml94
-rw-r--r--mn_MN.UTF-8/books/handbook/filesystems/chapter.xml4
-rw-r--r--mn_MN.UTF-8/books/handbook/firewalls/chapter.xml8
-rw-r--r--mn_MN.UTF-8/books/handbook/geom/chapter.xml771
-rw-r--r--mn_MN.UTF-8/books/handbook/install/chapter.xml4
-rw-r--r--mn_MN.UTF-8/books/handbook/introduction/chapter.xml6
-rw-r--r--mn_MN.UTF-8/books/handbook/jails/chapter.xml16
-rw-r--r--mn_MN.UTF-8/books/handbook/l10n/chapter.xml7
-rw-r--r--mn_MN.UTF-8/books/handbook/mac/chapter.xml2
-rw-r--r--mn_MN.UTF-8/books/handbook/mail/chapter.xml12
-rw-r--r--mn_MN.UTF-8/books/handbook/mirrors/chapter.xml697
-rw-r--r--mn_MN.UTF-8/books/handbook/network-servers/chapter.xml7
-rw-r--r--mn_MN.UTF-8/books/handbook/ports/chapter.xml711
-rw-r--r--mn_MN.UTF-8/books/handbook/security/chapter.xml10
-rw-r--r--mn_MN.UTF-8/books/handbook/serialcomms/chapter.xml17
-rw-r--r--mn_MN.UTF-8/books/handbook/virtualization/chapter.xml32
-rw-r--r--mn_MN.UTF-8/books/handbook/x11/chapter.xml2
-rw-r--r--mn_MN.UTF-8/share/xml/mailing-lists.ent22
-rw-r--r--nl_NL.ISO8859-1/articles/contributing-ports/Makefile2
-rw-r--r--nl_NL.ISO8859-1/articles/contributing-ports/article.xml12
-rw-r--r--nl_NL.ISO8859-1/articles/contributing/Makefile2
-rw-r--r--nl_NL.ISO8859-1/articles/contributing/article.xml60
-rw-r--r--nl_NL.ISO8859-1/articles/explaining-bsd/Makefile2
-rw-r--r--nl_NL.ISO8859-1/articles/explaining-bsd/article.xml9
-rw-r--r--nl_NL.ISO8859-1/articles/problem-reports/Makefile2
-rw-r--r--nl_NL.ISO8859-1/articles/problem-reports/article.xml40
-rw-r--r--nl_NL.ISO8859-1/articles/solid-state/Makefile2
-rw-r--r--nl_NL.ISO8859-1/articles/solid-state/article.xml4
-rw-r--r--nl_NL.ISO8859-1/books/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/Makefile10
-rw-r--r--nl_NL.ISO8859-1/books/handbook/advanced-networking/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.xml292
-rw-r--r--nl_NL.ISO8859-1/books/handbook/audit/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/audit/chapter.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/basics/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/basics/chapter.xml35
-rw-r--r--nl_NL.ISO8859-1/books/handbook/bibliography/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/bibliography/chapter.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/book.xml6
-rw-r--r--nl_NL.ISO8859-1/books/handbook/boot/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/boot/chapter.xml8
-rw-r--r--nl_NL.ISO8859-1/books/handbook/bsdinstall/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/bsdinstall/chapter.xml2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/chapters.ent2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/colophon.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/config/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/config/chapter.xml58
-rw-r--r--nl_NL.ISO8859-1/books/handbook/cutting-edge/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.xml28
-rw-r--r--nl_NL.ISO8859-1/books/handbook/desktop/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/desktop/chapter.xml66
-rw-r--r--nl_NL.ISO8859-1/books/handbook/disks/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/disks/chapter.xml297
-rw-r--r--nl_NL.ISO8859-1/books/handbook/dtrace/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/dtrace/chapter.xml19
-rw-r--r--nl_NL.ISO8859-1/books/handbook/eresources/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/eresources/chapter.xml123
-rw-r--r--nl_NL.ISO8859-1/books/handbook/filesystems/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/filesystems/chapter.xml8
-rw-r--r--nl_NL.ISO8859-1/books/handbook/firewalls/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/firewalls/chapter.xml255
-rw-r--r--nl_NL.ISO8859-1/books/handbook/geom/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/geom/chapter.xml746
-rw-r--r--nl_NL.ISO8859-1/books/handbook/install/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/install/chapter.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/introduction/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/introduction/chapter.xml80
-rw-r--r--nl_NL.ISO8859-1/books/handbook/jails/Makefile4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/jails/chapter.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/kernelconfig/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/kernelconfig/chapter.xml15
-rw-r--r--nl_NL.ISO8859-1/books/handbook/l10n/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/l10n/chapter.xml10
-rw-r--r--nl_NL.ISO8859-1/books/handbook/linuxemu/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/linuxemu/chapter.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/mac/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/mac/chapter.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/mail/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/mail/chapter.xml26
-rw-r--r--nl_NL.ISO8859-1/books/handbook/mirrors/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/mirrors/chapter.xml10
-rw-r--r--nl_NL.ISO8859-1/books/handbook/multimedia/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/multimedia/chapter.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/network-servers/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/network-servers/chapter.xml87
-rw-r--r--nl_NL.ISO8859-1/books/handbook/pgpkeys/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/pgpkeys/chapter.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/ports/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/ports/chapter.xml285
-rw-r--r--nl_NL.ISO8859-1/books/handbook/ppp-and-slip/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml283
-rw-r--r--nl_NL.ISO8859-1/books/handbook/preface/preface.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/printing/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/printing/chapter.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/security/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/security/chapter.xml11
-rw-r--r--nl_NL.ISO8859-1/books/handbook/serialcomms/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/serialcomms/chapter.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/users/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/users/chapter.xml11
-rw-r--r--nl_NL.ISO8859-1/books/handbook/vinum/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/vinum/chapter.xml4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/virtualization/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/virtualization/chapter.xml38
-rw-r--r--nl_NL.ISO8859-1/books/handbook/x11/Makefile2
-rw-r--r--nl_NL.ISO8859-1/books/handbook/x11/chapter.xml4
-rw-r--r--nl_NL.ISO8859-1/flyer/Makefile4
-rw-r--r--nl_NL.ISO8859-1/flyer/flyer.tex23
-rw-r--r--nl_NL.ISO8859-1/htdocs/4xx.xml29
-rw-r--r--nl_NL.ISO8859-1/htdocs/Makefile7
-rw-r--r--nl_NL.ISO8859-1/htdocs/about.xml6
-rw-r--r--nl_NL.ISO8859-1/htdocs/administration.xml25
-rw-r--r--nl_NL.ISO8859-1/htdocs/applications.xml8
-rw-r--r--nl_NL.ISO8859-1/htdocs/art.xml10
-rw-r--r--nl_NL.ISO8859-1/htdocs/availability.xml4
-rw-r--r--nl_NL.ISO8859-1/htdocs/community.xsl8
-rw-r--r--nl_NL.ISO8859-1/htdocs/docs.xml4
-rw-r--r--nl_NL.ISO8859-1/htdocs/features.xml4
-rw-r--r--nl_NL.ISO8859-1/htdocs/index.xsl20
-rw-r--r--nl_NL.ISO8859-1/htdocs/internet.xml4
-rw-r--r--nl_NL.ISO8859-1/htdocs/logo.xml4
-rw-r--r--nl_NL.ISO8859-1/htdocs/mailto.xml4
-rw-r--r--nl_NL.ISO8859-1/htdocs/privacy.xml63
-rw-r--r--nl_NL.ISO8859-1/htdocs/publish.xml4
-rw-r--r--nl_NL.ISO8859-1/htdocs/relnotes.xml16
-rw-r--r--nl_NL.ISO8859-1/htdocs/send-pr.xml4
-rw-r--r--nl_NL.ISO8859-1/htdocs/support.xml4
-rw-r--r--nl_NL.ISO8859-1/htdocs/where.xml20
-rw-r--r--nl_NL.ISO8859-1/share/xml/bibliography.xml26
-rw-r--r--nl_NL.ISO8859-1/share/xml/header.l10n.ent24
-rw-r--r--nl_NL.ISO8859-1/share/xml/libcommon.xsl2
-rw-r--r--nl_NL.ISO8859-1/share/xml/mailing-lists.ent26
-rw-r--r--nl_NL.ISO8859-1/share/xml/mirrors-local.xsl2
-rw-r--r--nl_NL.ISO8859-1/share/xml/navibar.l10n.ent18
-rw-r--r--nl_NL.ISO8859-1/share/xml/teams.ent4
-rw-r--r--nl_NL.ISO8859-1/share/xml/trademarks.ent5
-rw-r--r--nl_NL.ISO8859-1/share/xml/trademarks.xml43
-rw-r--r--nl_NL.ISO8859-1/share/xml/transtable-local.xsl2
-rw-r--r--pl_PL.ISO8859-2/books/handbook/Makefile8
-rw-r--r--pt_BR.ISO8859-1/articles/Makefile1
-rw-r--r--pt_BR.ISO8859-1/articles/contributing/article.xml70
-rw-r--r--pt_BR.ISO8859-1/articles/freebsd-update-server/article.xml8
-rw-r--r--pt_BR.ISO8859-1/articles/linux-users/article.xml14
-rw-r--r--pt_BR.ISO8859-1/articles/portbuild/Makefile21
-rw-r--r--pt_BR.ISO8859-1/articles/portbuild/article.xml3231
-rw-r--r--pt_BR.ISO8859-1/books/faq/Makefile4
-rwxr-xr-xpt_BR.ISO8859-1/books/fdp-primer/Makefile4
-rw-r--r--pt_BR.ISO8859-1/books/handbook/Makefile6
-rw-r--r--pt_BR.ISO8859-1/htdocs/Makefile2
-rw-r--r--ru_RU.KOI8-R/articles/mailing-list-faq/Makefile4
-rw-r--r--ru_RU.KOI8-R/books/developers-handbook/Makefile4
-rw-r--r--ru_RU.KOI8-R/books/faq/Makefile4
-rw-r--r--ru_RU.KOI8-R/books/fdp-primer/Makefile4
-rw-r--r--ru_RU.KOI8-R/books/handbook/Makefile53
-rw-r--r--ru_RU.KOI8-R/books/handbook/advanced-networking/chapter.xml3
-rw-r--r--ru_RU.KOI8-R/books/handbook/book.xml1
-rw-r--r--ru_RU.KOI8-R/books/handbook/bsdinstall/Makefile15
-rw-r--r--ru_RU.KOI8-R/books/handbook/bsdinstall/chapter.xml2695
-rw-r--r--ru_RU.KOI8-R/books/handbook/chapters.ent3
-rw-r--r--ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.xml585
-rw-r--r--ru_RU.KOI8-R/books/handbook/install/chapter.xml111
-rw-r--r--ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.xml34
-rw-r--r--ru_RU.KOI8-R/books/handbook/mail/chapter.xml790
-rw-r--r--ru_RU.KOI8-R/books/handbook/preface/preface.xml3
-rw-r--r--ru_RU.KOI8-R/books/handbook/serialcomms/chapter.xml2
-rw-r--r--ru_RU.KOI8-R/books/porters-handbook/Makefile4
-rw-r--r--ru_RU.KOI8-R/htdocs/Makefile4
-rw-r--r--ru_RU.KOI8-R/htdocs/community.xsl6
-rw-r--r--ru_RU.KOI8-R/htdocs/ports/Makefile83
-rw-r--r--ru_RU.KOI8-R/htdocs/ports/Makefile.inc7
-rw-r--r--ru_RU.KOI8-R/htdocs/ports/Makefile.inc08
-rwxr-xr-xru_RU.KOI8-R/htdocs/ports/categories183
-rw-r--r--ru_RU.KOI8-R/htdocs/ports/categories.descriptions13
-rw-r--r--ru_RU.KOI8-R/htdocs/ports/growth/Makefile11
-rw-r--r--ru_RU.KOI8-R/htdocs/ports/index.xml74
-rw-r--r--ru_RU.KOI8-R/htdocs/ports/installing.xml39
-rwxr-xr-xru_RU.KOI8-R/htdocs/ports/packages4
-rwxr-xr-xru_RU.KOI8-R/htdocs/ports/portindex399
-rw-r--r--ru_RU.KOI8-R/htdocs/ports/ports.ent23
-rw-r--r--ru_RU.KOI8-R/htdocs/ports/ports.inc75
-rw-r--r--ru_RU.KOI8-R/htdocs/ports/references.xml98
-rw-r--r--ru_RU.KOI8-R/htdocs/ports/searching.xml48
-rw-r--r--ru_RU.KOI8-R/htdocs/ports/updating.xml60
-rw-r--r--ru_RU.KOI8-R/htdocs/search/index-site.xsl2
-rw-r--r--ru_RU.KOI8-R/htdocs/security/security.xml4
-rw-r--r--ru_RU.KOI8-R/share/xml/navibar.l10n.ent12
-rw-r--r--ru_RU.KOI8-R/share/xml/templates.events.xsl12
-rw-r--r--share/examples/vim/edit-sgml.vim11
-rw-r--r--share/examples/vim/edit-xml.vim11
-rw-r--r--share/images/articles/releng/branches-releng7.pic8
-rw-r--r--share/images/articles/releng/branches-releng9.pic8
-rw-r--r--share/images/books/corp-net-guide/08-01.eps8104
-rw-r--r--share/images/books/corp-net-guide/08-02.eps8655
-rw-r--r--share/images/books/corp-net-guide/08-03.eps8489
-rw-r--r--share/images/books/corp-net-guide/08-04.eps8386
-rw-r--r--share/images/books/corp-net-guide/08-05.eps12613
-rw-r--r--share/images/books/corp-net-guide/08-06.eps8457
-rw-r--r--share/misc/docbook.css3
-rw-r--r--share/mk/doc.docbook.mk4
-rw-r--r--share/mk/doc.xml.mk9
-rw-r--r--share/pgpkeys/README12
-rw-r--r--share/pgpkeys/adamw.key70
-rw-r--r--share/pgpkeys/addkey.sh8
-rw-r--r--share/pgpkeys/bar.key50
-rw-r--r--share/pgpkeys/bryanv.key77
-rw-r--r--share/pgpkeys/carl.key62
-rw-r--r--share/pgpkeys/cs.key240
-rw-r--r--share/pgpkeys/dbn.key55
-rw-r--r--share/pgpkeys/deischen.key63
-rw-r--r--share/pgpkeys/dougb.key255
-rw-r--r--share/pgpkeys/dru.key35
-rw-r--r--share/pgpkeys/ebrandi.key453
-rw-r--r--share/pgpkeys/ehaupt.key82
-rw-r--r--share/pgpkeys/emaste.key41
-rw-r--r--share/pgpkeys/garga.key218
-rw-r--r--share/pgpkeys/gblach.key41
-rw-r--r--share/pgpkeys/glebius.key126
-rw-r--r--share/pgpkeys/itetcu.key96
-rw-r--r--share/pgpkeys/jkim.key76
-rw-r--r--share/pgpkeys/kan.key44
-rw-r--r--share/pgpkeys/kib.key128
-rw-r--r--share/pgpkeys/loader.key105
-rw-r--r--share/pgpkeys/markj.key41
-rw-r--r--share/pgpkeys/mdf.key56
-rw-r--r--share/pgpkeys/nyan.key119
-rw-r--r--share/pgpkeys/olgeni.key91
-rw-r--r--share/pgpkeys/pgpkeys-core.xml8
-rw-r--r--share/pgpkeys/pgpkeys-developers.xml90
-rw-r--r--share/pgpkeys/pgpkeys.ent18
-rw-r--r--share/pgpkeys/remko.key124
-rw-r--r--share/pgpkeys/rene.key86
-rw-r--r--share/pgpkeys/sbruno.key63
-rw-r--r--share/pgpkeys/sjg.key70
-rw-r--r--share/pgpkeys/syuu.key41
-rw-r--r--share/pgpkeys/tabthorpe.key1100
-rw-r--r--share/pgpkeys/theraven.key108
-rw-r--r--share/pgpkeys/wen.key41
-rw-r--r--share/pgpkeys/yar.key40
-rw-r--r--share/pgpkeys/zeising.key123
-rw-r--r--share/security/advisories/FreeBSD-SA-12:06.bind.asc139
-rw-r--r--share/security/advisories/FreeBSD-SA-12:07.hostapd.asc129
-rw-r--r--share/security/advisories/FreeBSD-SA-12:08.linux.asc123
-rw-r--r--share/security/patches/SA-12:06/bind.patch184
-rw-r--r--share/security/patches/SA-12:06/bind.patch.asc7
-rw-r--r--share/security/patches/SA-12:07/hostapd-8.patch18
-rw-r--r--share/security/patches/SA-12:07/hostapd-8.patch.asc7
-rw-r--r--share/security/patches/SA-12:07/hostapd.patch19
-rw-r--r--share/security/patches/SA-12:07/hostapd.patch.asc7
-rw-r--r--share/security/patches/SA-12:08/linux.patch16
-rw-r--r--share/security/patches/SA-12:08/linux.patch.asc7
-rw-r--r--share/tools/webupdate10
-rw-r--r--share/xml/advisories.xml20
-rw-r--r--share/xml/authors.ent22
-rw-r--r--share/xml/bibliography.xml22
-rw-r--r--share/xml/commercial.consult.xml26
-rw-r--r--share/xml/commercial.isp.xml139
-rw-r--r--share/xml/commercial.software.xml112
-rw-r--r--share/xml/common.ent2
-rw-r--r--share/xml/developers.ent22
-rw-r--r--share/xml/events2005.xml2
-rw-r--r--share/xml/events2012.xml29
-rw-r--r--share/xml/events2013.xml97
-rw-r--r--share/xml/freebsd-html.dsl6
-rw-r--r--share/xml/freebsd.ent8
-rw-r--r--share/xml/header.ent27
-rw-r--r--share/xml/man-refs.ent19
-rw-r--r--share/xml/mirrors.xml14
-rw-r--r--share/xml/navibar.ent9
-rw-r--r--share/xml/news.dtd2
-rw-r--r--share/xml/news.xml378
-rw-r--r--share/xml/press.xml35
-rw-r--r--share/xml/release.ent10
-rw-r--r--share/xml/templates.events.xsl12
-rw-r--r--share/xml/templates.pastevents.xsl12
-rw-r--r--share/xml/trademarks.ent8
-rw-r--r--share/xml/xhtml.xsl5
-rw-r--r--sr_YU.ISO8859-2/books/faq/Makefile4
-rw-r--r--tr_TR.ISO8859-9/htdocs/Makefile4
-rw-r--r--zh_CN.GB2312/books/arch-handbook/Makefile4
-rw-r--r--zh_CN.GB2312/books/handbook/Makefile55
-rw-r--r--zh_CN.GB2312/books/handbook/audit/chapter.xml2
-rw-r--r--zh_CN.GB2312/books/handbook/basics/chapter.xml2
-rw-r--r--zh_CN.GB2312/books/handbook/bibliography/chapter.xml37
-rw-r--r--zh_CN.GB2312/books/handbook/book.xml111
-rw-r--r--zh_CN.GB2312/books/handbook/boot/chapter.xml2
-rw-r--r--zh_CN.GB2312/books/handbook/bsdinstall/Makefile16
-rw-r--r--zh_CN.GB2312/books/handbook/bsdinstall/chapter.xml2467
-rw-r--r--zh_CN.GB2312/books/handbook/chapters.ent3
-rw-r--r--zh_CN.GB2312/books/porters-handbook/Makefile4
-rw-r--r--zh_CN.GB2312/htdocs/Makefile4
-rw-r--r--zh_CN.GB2312/htdocs/releases/index.xml286
-rw-r--r--zh_CN.GB2312/share/mk/doc.local.mk2
-rw-r--r--zh_CN.GB2312/share/xml/l10n.ent4
-rw-r--r--zh_TW.Big5/articles/mailing-list-faq/Makefile4
-rw-r--r--zh_TW.Big5/books/developers-handbook/Makefile4
-rw-r--r--zh_TW.Big5/books/faq/Makefile4
-rw-r--r--zh_TW.Big5/books/fdp-primer/Makefile4
-rw-r--r--zh_TW.Big5/books/handbook/Makefile8
-rw-r--r--zh_TW.Big5/books/porters-handbook/Makefile4
-rw-r--r--zh_TW.Big5/htdocs/Makefile4
601 files changed, 116531 insertions, 90837 deletions
diff --git a/bn_BD.ISO10646-1/articles/explaining-bsd/Makefile b/bn_BD.ISO10646-1/articles/explaining-bsd/Makefile
index 815f5d9a8d..d83d4430f3 100644
--- a/bn_BD.ISO10646-1/articles/explaining-bsd/Makefile
+++ b/bn_BD.ISO10646-1/articles/explaining-bsd/Makefile
@@ -11,7 +11,7 @@ FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
-# SGML content
+# XML content
SRCS= article.xml
DOC_PREFIX?= ${.CURDIR}/../../..
diff --git a/da_DK.ISO8859-1/htdocs/Makefile b/da_DK.ISO8859-1/htdocs/Makefile
index ca4ae87349..105931eede 100644
--- a/da_DK.ISO8859-1/htdocs/Makefile
+++ b/da_DK.ISO8859-1/htdocs/Makefile
@@ -8,7 +8,7 @@
.endif
# Subdirectories
-# SGML
+# XML
.if !defined(WEB_ONLY) || empty(WEB_ONLY)
SUBDIR= doc
.endif
diff --git a/de_DE.ISO8859-1/articles/Makefile b/de_DE.ISO8859-1/articles/Makefile
index 34481504f0..7d45a87782 100644
--- a/de_DE.ISO8859-1/articles/Makefile
+++ b/de_DE.ISO8859-1/articles/Makefile
@@ -12,6 +12,7 @@ SUBDIR+= explaining-bsd
SUBDIR+= laptop
SUBDIR+= linux-comparison
SUBDIR+= new-users
+SUBDIR+= port-mentor-guidelines
SUBDIR+= solid-state
# ROOT_SYMLINKS+= new-users
diff --git a/de_DE.ISO8859-1/articles/contributing-ports/article.xml b/de_DE.ISO8859-1/articles/contributing-ports/article.xml
index f50e5e9543..585df8c56a 100644
--- a/de_DE.ISO8859-1/articles/contributing-ports/article.xml
+++ b/de_DE.ISO8859-1/articles/contributing-ports/article.xml
@@ -15,8 +15,8 @@
<title>Zur FreeBSD Ports-Sammlung beitragen</title>
<abstract>
- <para>Dieser Artikel beschreibt, wie man zur FreeBSD Ports-Sammlung
- beitragen kann.</para>
+ <para>Dieser Artikel beschreibt, wie man zur FreeBSD
+ Ports-Sammlung beitragen kann.</para>
<para><emphasis>Übersetzt von Martin Wilke</emphasis>.</para>
</abstract>
@@ -78,7 +78,8 @@
<listitem>
<para>Finden Sie eine begehrte oder nützliche
Software und <link
- linkend="create-port">erstellen Sie einen Port</link>.</para>
+ linkend="create-port">erstellen Sie einen
+ Port</link>.</para>
</listitem>
<listitem>
@@ -150,16 +151,17 @@
bedingte Abhängigkeiten, die nicht im Standard-Index
<filename>INDEX</filename> zu finden sind. Wir erwarten, dass
Sie in der Lage sind, solche Ports zu erkennen, indem Sie sich
- die <filename>Makefile</filename>s anderer Ports ansehen.</para>
- </sect2>
+ die <filename>Makefile</filename>s anderer Ports
+ ansehen.</para> </sect2>
<sect2>
<title>Wie man einen Port übernimmt</title>
<para>Bitte vergewissern Sie sich, dass Sie die
- <link linkend="maintain-port">Aufgaben eines Maintainers</link>
- verstanden haben. Lesen Sie bitte auch das
- <ulink url="&url.books.porters-handbook;">Porter-Handbuch</ulink>.
+ <link linkend="maintain-port">Aufgaben eines
+ Maintainers</link> verstanden haben. Lesen Sie bitte auch
+ das <ulink
+ url="&url.books.porters-handbook;">Porter-Handbuch</ulink>.
<emphasis>Übernehmen Sie nicht mehr Aufgaben, als Sie
bewältigen können</emphasis>.</para>
@@ -168,23 +170,23 @@
Sie dazu bereit sind, setzen Sie <makevar>MAINTAINER</makevar>
auf Ihre E-Mail-Adresse und reichen einen Problembericht (PR)
mit den von Ihnen vorgenommenen Änderungen ein. Wenn beim
- Kompilieren des Ports Fehler auftreten oder eine Aktualisierung
- notwendig ist, können Sie derartige Änderungen dem
- selben PR beifügen. Das ist sehr hilfreich, weil sich viele
- Committer weigern, die Wartung eines Ports zu übergeben,
+ Kompilieren des Ports Fehler auftreten oder eine
+ Aktualisierung notwendig ist, können Sie derartige Änderungen
+ dem selben PR beifügen. Das ist sehr hilfreich, weil sich
+ viele Committer weigern, die Wartung eines Ports zu übergeben,
wenn jemand nicht die nötige Erfahrung mit &os; vorweisen
- kann. Das Einreichen von PRs, die Kompilierfehler beheben oder
- Ports aktualisieren, ist der beste Weg, um Erfahrung zu
+ kann. Das Einreichen von PRs, die Kompilierfehler beheben
+ oder Ports aktualisieren, ist der beste Weg, um Erfahrung zu
sammeln.</para>
<para>Erstellen Sie Ihren PR mit der
- <foreignphrase>category</foreignphrase> <literal>ports</literal>
- und der <foreignphrase>class</foreignphrase>
- <literal>change-request</literal>. Ein Committer wird
- Ihren PR analysieren, die Änderungen committen und danach
- den PR abschließen. Manchmal kann dieser Prozess eine
- Weile dauern (auch Committer sind "nur" freiwillige
- Helfer!).</para>
+ <foreignphrase>category</foreignphrase>
+ <literal>ports</literal> und der
+ <foreignphrase>class</foreignphrase>
+ <literal>change-request</literal>. Ein Committer wird Ihren
+ PR analysieren, die Änderungen committen und danach den PR
+ abschließen. Manchmal kann dieser Prozess eine Weile dauern
+ (auch Committer sind "nur" freiwillige Helfer!).</para>
</sect2>
</sect1>
@@ -219,7 +221,8 @@
<itemizedlist>
<listitem>
<formalpara>
- <title>Neue Software-Versionen und Aktualisierungen</title>
+ <title>Neue Software-Versionen und
+ Aktualisierungen</title>
<para>Neue Versionen und Aktualisierung von bereits
portierter Software werden kontinuierlich
@@ -260,8 +263,8 @@
<para>Ein Teil der Aufgabe eines Maintainers ist es,
Support zu leisten. Damit ist kein Hauptsupport
für die Software gemeint (wir haben allerdings nichts
- dagegen, wenn Sie sich dennoch entscheiden, dies zu tun).
- Ihre Aufgabe ist aber, sich um &os;-spezifische
+ dagegen, wenn Sie sich dennoch entscheiden, dies zu
+ tun). Ihre Aufgabe ist aber, sich um &os;-spezifische
Fragen zu Ihren Ports zu kümmern.</para>
</formalpara>
</listitem>
@@ -271,11 +274,11 @@
<title>Bugs finden</title>
<para>Eine Portierung könnte vielleicht von
- &os;-spezifischen Bugs beeinflusst werden. In einem solchen
- Fall ist es Ihre Aufgabe, den Fehler zu finden und zu
- beheben. Daher sollten Sie Ihren Port umfassend testen,
- um derartige Probleme zu entdecken, bevor Sie einen
- Port in die Ports-Sammlung aufnehmen.</para>
+ &os;-spezifischen Bugs beeinflusst werden. In einem
+ solchen Fall ist es Ihre Aufgabe, den Fehler zu finden
+ und zu beheben. Daher sollten Sie Ihren Port umfassend
+ testen, um derartige Probleme zu entdecken, bevor Sie
+ einen Port in die Ports-Sammlung aufnehmen.</para>
</formalpara>
</listitem>
@@ -284,10 +287,10 @@
<title>Änderungen an Ports, Infrastruktur und
Lizenzen</title>
- <para>Gelegentlich werden die Werkzeuge für das Bauen von Ports
- erneuert oder es wird ein neuer Vorschlag zur
- Infrastruktur der Ports-Sammlung gemacht. Sie sollten von
- diesen Änderungen wissen, falls Ihre Ports betroffen
+ <para>Gelegentlich werden die Werkzeuge für das Bauen von
+ Ports erneuert oder es wird ein neuer Vorschlag zur
+ Infrastruktur der Ports-Sammlung gemacht. Sie sollten
+ von diesen Änderungen wissen, falls Ihre Ports betroffen
sind und aktualisiert werden müssen.</para>
</formalpara>
</listitem>
@@ -365,8 +368,8 @@
Architekturen, wie Sie können. Es kommt sehr
häufig vor, dass ein Port auf einem
Entwicklungszweig oder einer Plattform
- funktioniert, auf einer anderen Plattform aber Fehler
- erzeugt.</para>
+ funktioniert, auf einer anderen Plattform aber
+ Fehler erzeugt.</para>
</listitem>
<listitem>
@@ -399,15 +402,15 @@
Port nicht den Bau eines anderen Ports verhindern.
Ist dies der Fall, besprechen Sie die von Ihnen
durchgeführten Änderungen mit den
- Maintainern der betroffenen Ports. Dies ist besonders
- dann wichtig, wenn Ihre Aktualisierung die
- <quote>Shared Library</quote>-Version ändert;
- in diesem Fall werden Sie für die abhängigen
- Ports einen <makevar>PORTREVISION</makevar>-Bump
- benötigen, damit diese von automatisierten Werkzeugen
- wie <application>portmaster</application> oder
- &man.portupgrade.1; auf dem neuesten Stand gehalten
- werden.</para>
+ Maintainern der betroffenen Ports. Dies ist
+ besonders dann wichtig, wenn Ihre Aktualisierung die
+ <quote>Shared Library</quote>-Version ändert; in
+ diesem Fall werden Sie für die abhängigen Ports
+ einen <makevar>PORTREVISION</makevar>-Bump
+ benötigen, damit diese von automatisierten
+ Werkzeugen wie <application>portmaster</application>
+ oder &man.portupgrade.1; auf dem neuesten Stand
+ gehalten werden.</para>
</listitem>
</itemizedlist>
</step>
@@ -427,11 +430,11 @@
<note>
<para>Bitte schicken Sie kein &man.shar.1;-Archiv
des gesamten Ports. Benutzen Sie stattdessen
- &man.diff.1; <literal>-ruN</literal>. Auf diese Art und
- Weise können Committer viel einfacher erkennen,
+ &man.diff.1; <literal>-ruN</literal>. Auf diese Art
+ und Weise können Committer viel einfacher erkennen,
welche Änderungen vorgenommen wurden. Das
- Porter-Handbuch enthält viele nützliche
- Informationen zum <ulink
+ Porter-Handbuch enthält viele nützliche Informationen
+ zum <ulink
url="&url.books.porters-handbook;/port-upgrading.html">Upgrading</ulink>
eines Ports.</para>
</note>
@@ -441,9 +444,9 @@
<title>Warten</title>
<para>Es kann nur sehr wenig Zeit vergehen, bis sich ein
- Committer mit Ihrem PR befasst. Es kann aber auch mehrere
- Wochen dauern, bis eine Reaktion erfolgt - haben Sie bitte
- Geduld.</para>
+ Committer mit Ihrem PR befasst. Es kann aber auch
+ mehrere Wochen dauern, bis eine Reaktion erfolgt - haben
+ Sie bitte Geduld.</para>
</step>
<step>
@@ -472,8 +475,8 @@
<title>Stellen Sie sicher, dass Ihre Ports den Buildprozess
weiterhin erfolgreich durchlaufen</title>
- <para>Dieser Abschnitt beschreibt, wie Sie Probleme entdecken und
- beheben, die ihre Ports daran hindern, den Buildprozess
+ <para>Dieser Abschnitt beschreibt, wie Sie Probleme entdecken
+ und beheben, die ihre Ports daran hindern, den Buildprozess
erfolgreich zu durchlaufen.</para>
<para>&os; garantiert nur für die
@@ -490,11 +493,11 @@
<para>Seit die Mehrheit von &os;-Installationen auf
PC-kompatiblen Maschinen arbeitet
(<literal>i386</literal>-Architektur) erwarten wir, dass Ihr
- Port auf dieser Architektur funktioniert. Ebenfalls bevorzugen
- wir es, wenn Ports nativ auf der
- <literal>amd64</literal>-Architektur funktionieren. Es ist durchaus
- in Ordnung, um Hilfe zu fragen, wenn Sie keine solche Maschine
- besitzen.</para>
+ Port auf dieser Architektur funktioniert. Ebenfalls
+ bevorzugen wir es, wenn Ports nativ auf der
+ <literal>amd64</literal>-Architektur funktionieren. Es ist
+ durchaus in Ordnung, um Hilfe zu fragen, wenn Sie keine
+ solche Maschine besitzen.</para>
<note>
<para>Häufige Fehler beim Umgang mit
@@ -522,12 +525,12 @@
und den <ulink
url="http://www.portscout.org">Distfiles-Scanner</ulink>,
um festzustellen, ob einer Ihrer Ports nicht gebaut oder
- die Distfiles nicht geladen werden können (lesen Sie
- den Abschnitt <link linkend="resources">Ressourcen</link>
+ die Distfiles nicht geladen werden können (lesen Sie den
+ Abschnitt <link linkend="resources">Ressourcen</link>
dieses Artikels für weitere Informationen zu diesen
- Systemen). Fehlerberichte kommen eventuell auch
- von anderen Benutzern oder als automatisierte Meldungen
- per E-Mail.</para>
+ Systemen). Fehlerberichte kommen eventuell auch von
+ anderen Benutzern oder als automatisierte Meldungen per
+ E-Mail.</para>
</step>
<step>
@@ -607,10 +610,10 @@
einen Port unter FreeBSD zum Laufen zu bekommen.
Einige (aber nicht alle) Programmautoren nehmen
diese Patches in Ihren Code für das nächste
- Release auf. Dies kann den Benutzern anderer BSD-Systeme
- helfen und einiges an unnötiger Mehrarbeit ersparen.
- Bitte betrachten Sie das Versenden von verwertbaren
- Patches an die Autoren als ein Gebot der
+ Release auf. Dies kann den Benutzern anderer
+ BSD-Systeme helfen und einiges an unnötiger Mehrarbeit
+ ersparen. Bitte betrachten Sie das Versenden von
+ verwertbaren Patches an die Autoren als ein Gebot der
Höflichkeit.</para>
</step>
</procedure>
@@ -626,8 +629,8 @@
entdecken ist oft sehr schwierig, glücklicherweise
sind derartige Probleme aber nicht sehr häufig.</para>
- <para>Folgende Schritte sind notwendig, um sicherzustellen, dass
- ihr Port weiterhin wie gewünscht funktioniert:</para>
+ <para>Folgende Schritte sind notwendig, um sicherzustellen,
+ dass ihr Port weiterhin wie gewünscht funktioniert:</para>
<procedure>
<step>
@@ -645,9 +648,10 @@
dass Sie noch etwas Zeit brauchen, bevor Sie den PR
bearbeiten können.</para>
- <para>Sollten Sie nicht innerhalb von 14 Tagen geantwortet haben,
- darf jeder Committer via <literal>maintainer-timeout</literal>
- auf einen PR, den Sie nicht beantwortet haben, reagieren.</para>
+ <para>Sollten Sie nicht innerhalb von 14 Tagen geantwortet
+ haben, darf jeder Committer via
+ <literal>maintainer-timeout</literal> auf einen PR, den
+ Sie nicht beantwortet haben, reagieren.</para>
</step>
<step>
@@ -665,8 +669,8 @@
<itemizedlist>
<listitem>
- <para>Eine genaue Beschreibung dessen, was Er/Sie getan
- hat, den erwarteten Programmverlauf und den
+ <para>Eine genaue Beschreibung dessen, was Er/Sie
+ getan hat, den erwarteten Programmverlauf und den
tatsächlichen Ablauf.</para>
</listitem>
@@ -695,14 +699,14 @@
<step>
<title>Schließen Sie falsche Reports aus</title>
- <para>Einige Fehlerberichte sind eventuell falsch. Es kommt
- vor, dass ein Programm falsch benutzt wird. Weiterhin
- können installierten Pakete veraltet sein und
- müssten einfach nur aktualisiert werden. Manchmal
- ist ein gemeldeter Fehler auch nicht &os;-spezifisch. In
+ <para>Einige Fehlerberichte sind eventuell falsch. Es
+ kommt vor, dass ein Programm falsch benutzt wird.
+ Weiterhin können installierten Pakete veraltet sein und
+ müssten einfach nur aktualisiert werden. Manchmal ist
+ ein gemeldeter Fehler auch nicht &os;-spezifisch. In
diesem Fall melden Sie den Fehler den derzeitigen
- Entwicklern der Software. Wenn Sie in der Lage sind, den
- Fehler zu beheben, können Sie dies natürlich
+ Entwicklern der Software. Wenn Sie in der Lage sind,
+ den Fehler zu beheben, können Sie dies natürlich
trotzdem tun und den Entwicklern Ihren Patch zukommen
lassen.</para>
</step>
@@ -746,13 +750,13 @@
<para>Manchmal müssen Sie eventuell ihre diplomatischen
Fähigkeiten auffrischen und Benutzer freundlich an die
korrekten Anlaufstellen für den Hauptsupport verweisen.
- Nur selten werden Sie auf eine Person treffen, die Sie fragt,
- warum die <literal>RPM</literal>s nicht aktuell sind oder wie
- Sie die Software unter <literal>Foo Linux</literal> zum Laufen
- bringen. Ergreifen Sie die Gelegenheit und berichten Sie,
- dass Ihr Port aktuell ist (natürlich nur, wenn er es auch
- tatsächlich ist) und schlagen Sie vor, einmal &os;
- auszuprobieren.</para>
+ Nur selten werden Sie auf eine Person treffen, die Sie
+ fragt, warum die <literal>RPM</literal>s nicht aktuell sind
+ oder wie Sie die Software unter <literal>Foo Linux</literal>
+ zum Laufen bringen. Ergreifen Sie die Gelegenheit und
+ berichten Sie, dass Ihr Port aktuell ist (natürlich nur,
+ wenn er es auch tatsächlich ist) und schlagen Sie vor,
+ einmal &os; auszuprobieren.</para>
<para>Wenn Sie Glück haben, werden Benutzer und Entwickler
gelegentlich daran denken, dass Sie eine sehr
@@ -763,7 +767,8 @@
<itemizedlist>
<listitem>
- <para>Einen PR einreichen oder Ihnen Patches schicken.</para>
+ <para>Einen PR einreichen oder Ihnen Patches
+ schicken.</para>
</listitem>
<listitem>
@@ -849,9 +854,10 @@
<para>In jedem Fall behält sich das Ports Management
Team (<literal>portmgr</literal>) das Recht vor, Ihnen den
Maintainer-Status abzuerkennen, wenn Sie für längere
- Zeit nicht aktiv sind (derzeit liegt diese Grenze bei drei Monaten).
- Damit ist gemeint, dass ungelöste Probleme oder ausstehende
- Aktualisierungen in diesem Zeitraum nicht bearbeitet wurden.</para>
+ Zeit nicht aktiv sind (derzeit liegt diese Grenze bei drei
+ Monaten). Damit ist gemeint, dass ungelöste Probleme oder
+ ausstehende Aktualisierungen in diesem Zeitraum nicht bearbeitet
+ wurden.</para>
</sect1>
<sect1 id="resources">
@@ -859,8 +865,8 @@
<para>Das <ulink
url="&url.books.porters-handbook;">Porter-Handbuch</ulink>
- ist Ihr <quote>Ratgeber zum Ports-System</quote> und sollte stets
- in Ihrer Reichweite sein!</para>
+ ist Ihr <quote>Ratgeber zum Ports-System</quote> und sollte
+ stets in Ihrer Reichweite sein!</para>
<para>Der Artikel <ulink
url="&url.articles.problem-reports.en;">Writing FreeBSD Problem
@@ -889,8 +895,8 @@
müssten.</para>
<para>Der <ulink url="http://www.portscout.org">&os; Ports
- Distfile-Scanner</ulink> kann Ihnen die Ports anzeigen, deren Distfiles
- nicht erreichbar sind. Sie können damit Ihre eigenen
+ Distfile-Scanner</ulink> kann Ihnen die Ports anzeigen, deren
+ Distfiles nicht erreichbar sind. Sie können damit Ihre eigenen
Ports prüfen oder auch herauszufinden, ob die
<makevar>MASTER_SITES</makevar>-Einträge bestimmter Ports
nicht mehr aktuell sind.</para>
diff --git a/de_DE.ISO8859-1/articles/contributing/article.xml b/de_DE.ISO8859-1/articles/contributing/article.xml
index a280edf3c2..6993c696dd 100644
--- a/de_DE.ISO8859-1/articles/contributing/article.xml
+++ b/de_DE.ISO8859-1/articles/contributing/article.xml
@@ -65,23 +65,23 @@
<para>Das FreeBSD-Projekt ist für ein komplettes Betriebssytem
verantwortlich, nicht nur für einen Kernel oder ein paar
verstreute Werkzeuge. Daher umfasst unsere
- <filename>TODO</filename>-Liste viele verschiedene Aufgabenbereiche:
- Angefangen von der Dokumentation, über Betatests und
- Präsentationen bis zu Systeminstallationen und speziellen
+ <filename>TODO</filename>-Liste viele verschiedene
+ Aufgabenbereiche: Angefangen von der Dokumentation, über Betatests
+ und Präsentationen bis zu Systeminstallationen und speziellen
Weiterentwicklungen des Kernels. Da Fähigkeiten in den
verschiedensten Bereichen benötigt werden, kann fast jeder
etwas zu diesem Projekt beitragen.</para>
- <para>Personen, die im kommerziellen Umfeld mit FreeBSD zu tun haben,
- sind ebenfalls aufgefordert, sich bei uns zu melden. Brauchen Sie
- eine spezielle Erweiterung, damit Ihr Produkt funktioniert? Wir
- kommen Ihren Wünschen gerne entgegen, vorausgesetzt, sie sind
- nicht zu speziell. Arbeiten Sie an einem Mehrwertprodukt? Dann
- informieren Sie uns bitte! Wir könnten in der Lage sein, an
- einem Teil davon mitzuarbeiten. Die Welt der freien Software
- fordert viele bestehenden Annahmen über die Entwicklung, den
- Verkauf und die Wartung von Software heraus, und wir bitten Sie,
- ernsthaft darüber nachzudenken.</para>
+ <para>Personen, die im kommerziellen Umfeld mit FreeBSD zu tun
+ haben, sind ebenfalls aufgefordert, sich bei uns zu melden.
+ Brauchen Sie eine spezielle Erweiterung, damit Ihr Produkt
+ funktioniert? Wir kommen Ihren Wünschen gerne entgegen,
+ vorausgesetzt, sie sind nicht zu speziell. Arbeiten Sie an einem
+ Mehrwertprodukt? Dann informieren Sie uns bitte! Wir könnten in
+ der Lage sein, an einem Teil davon mitzuarbeiten. Die Welt der
+ freien Software fordert viele bestehenden Annahmen über die
+ Entwicklung, den Verkauf und die Wartung von Software heraus, und
+ wir bitten Sie, ernsthaft darüber nachzudenken.</para>
<sect1 id="contrib-what">
<title>Was wird gebraucht?</title>
@@ -95,10 +95,10 @@
<title>Aufgaben für Nicht-Programmierer</title>
<para>Viele Menschen, die an FreeBSD beteiligt sind, sind keine
- Programmierer. Es sind Leute, die an der Dokumentation arbeiten,
- Internetseiten erstellen oder einfach Hilfe anbieten. Alles, was
- diese Leute mitbringen müssen, sind Zeit und die
- Bereitschaft, etwas zu lernen.</para>
+ Programmierer. Es sind Leute, die an der Dokumentation
+ arbeiten, Internetseiten erstellen oder einfach Hilfe
+ anbieten. Alles, was diese Leute mitbringen müssen, sind Zeit
+ und die Bereitschaft, etwas zu lernen.</para>
<orderedlist>
<listitem>
@@ -111,10 +111,10 @@
</listitem>
<listitem>
- <para>Helfen Sie dabei, die Dokumentation in Ihre Muttersprache
- zu übersetzen. Wenn an der Übersetzung in Ihre
- Sprache bereits gearbeitet wird, helfen Sie, indem Sie
- weitere Dokumente übersetzen, oder sorgen Sie dafür,
+ <para>Helfen Sie dabei, die Dokumentation in Ihre
+ Muttersprache zu übersetzen. Wenn an der Übersetzung in
+ Ihre Sprache bereits gearbeitet wird, helfen Sie, indem
+ Sie weitere Dokumente übersetzen, oder sorgen Sie dafür,
dass die Übersetzungen aktuell sind. Lesen Sie zuerst
die <ulink url="&url.books.fdp-primer;/translations.html">
Übersetzungs-FAQ</ulink> der Fibel für neue
@@ -178,7 +178,8 @@
<listitem>
<para>Verschieben Sie beigetragene Software im Quellcodebaum
- nach <filename class="directory">src/contrib</filename>.</para>
+ nach <filename
+ class="directory">src/contrib</filename>.</para>
</listitem>
<listitem>
@@ -203,8 +204,8 @@
<listitem>
<para>Wenn Sie einen Port beigetragen und dabei irgendwelche
&os;-spezifischen Änderungen getätigt haben, senden Sie
- Ihre Patches an die ursprünglichen Autoren (das wird ihr Leben
- einfacher machen, wenn die nächste Version des Ports
+ Ihre Patches an die ursprünglichen Autoren (das wird ihr
+ Leben einfacher machen, wenn die nächste Version des Ports
erscheint).</para>
</listitem>
@@ -213,13 +214,13 @@
&posix;. Als Ausgangspunkt für Ihre Suche können
Sie die Seite des <ulink
url="&url.base;/projects/c99/index.html">FreeBSD
- C99 &amp; POSIX Standards Conformance Project</ulink> verwenden.
- Vergleichen Sie das Verhalten von FreeBSD mit dem von dem
- jeweiligen Standard geforderten Verhalten. Verhält
- sich FreeBSD in einem Bereich unterschiedlich, sollten Sie
- einen Problembericht (PR) einsenden. Wenn Sie dazu in der
- Lage sind, können Sie sich auch eine Lösung des
- Problems überlegen und Ihrem PR einen Patch
+ C99 &amp; POSIX Standards Conformance Project</ulink>
+ verwenden. Vergleichen Sie das Verhalten von FreeBSD mit
+ dem von dem jeweiligen Standard geforderten Verhalten.
+ Verhält sich FreeBSD in einem Bereich unterschiedlich,
+ sollten Sie einen Problembericht (PR) einsenden. Wenn Sie
+ dazu in der Lage sind, können Sie sich auch eine Lösung
+ des Problems überlegen und Ihrem PR einen Patch
anfügen. Wenn Sie der Meinung sind, dass der Standard
nicht korrekt ist, können Sie auch das jeweilige
Standardgremium um weitere Informationen bitten.</para>
@@ -243,9 +244,9 @@
Problemberichte und Verbesserungswüsche, die von
Anwendern eingereicht wurden. Die PR-Datenbank enthält
sowohl Aufgaben für Programmierer als auch für
- Nichtprogrammierer. Gehen Sie die Liste der offenen PRs durch,
- um festzustellen, ob Sie ein Problem interessiert. Bei manchen
- Berichten geht es nur darum, zu überprüfen, ob der
+ Nichtprogrammierer. Gehen Sie die Liste der offenen PRs
+ durch, um festzustellen, ob Sie ein Problem interessiert. Bei
+ manchen Berichten geht es nur darum, zu überprüfen, ob der
bereitgestellte Patch korrekt funktioniert. Andere
Problemberichte sind hingegen komplexer, oder beinhalten
überhaupt keinen Lösungsvorschlag.</para>
@@ -255,8 +256,8 @@
bereits jemandem zugewiesen, nehmen Sie mit dem dafür
Zuständigen Kontakt auf und fragen Sie ihn, ob Sie an
der Lösung mitarbeiten können &mdash; es könnte
- etwa bereits ein Patch existieren, der nur noch getestet werden
- muss, oder Sie könnten weitere Ideen mit ihm
+ etwa bereits ein Patch existieren, der nur noch getestet
+ werden muss, oder Sie könnten weitere Ideen mit ihm
diskutieren.</para>
</sect2>
@@ -269,8 +270,8 @@
für Freiwillige interessant, die etwas zum &os; Projekt
beitragen möchten. Diese Liste wird regelmäßig
aktualisiert und enthält Einträge für Programmierer
- und Nicht-Programmierer sowie Informationen zu jedem Projekt.</para>
- </sect2>
+ und Nicht-Programmierer sowie Informationen zu jedem
+ Projekt.</para> </sect2>
</sect1>
<sect1 id="contrib-how">
@@ -297,25 +298,26 @@
&man.send-pr.1; oder dessen <ulink
url="&url.base;/de/send-pr.html">Internetschnittstelle</ulink>
zu erstellen. Versuchen Sie bitte, jedes Feld auszufüllen.
- Ist Ihr Patch kleiner als 65&nbsp;KB, sollten Sie ihn direkt in
- den Bericht einbauen. Kann der Patch direkt auf den Quellcodebaum
- angewendet werden, fügen Sie <literal>[PATCH]</literal>
- im Synopsis-Feld ein. Wenn Sie einen Patch einfügen,
- verwenden Sie bitte <emphasis>kein copy-and-paste</emphasis>,
- weil dadurch Tabulatoren in Leerzeichen umgewandelt werden, was
- den Patch unbrauchbar macht. Sind die Patches viel größer
- als 20&nbsp;KB, sollten Sie sie komprimieren (z.B. mit &man.gzip.1;
- oder &man.bzip2.1;) und &man.uuencode.1; verwenden, um diese in ihren
- Problembericht einzufügen.</para>
-
- <para>Nachdem Sie einen Bericht versandt haben, erhalten Sie eine
- E-Mail, die eine Bestätigung sowie eine
+ Ist Ihr Patch kleiner als 65&nbsp;KB, sollten Sie ihn direkt
+ in den Bericht einbauen. Kann der Patch direkt auf den
+ Quellcodebaum angewendet werden, fügen Sie
+ <literal>[PATCH]</literal> im Synopsis-Feld ein. Wenn Sie
+ einen Patch einfügen, verwenden Sie bitte <emphasis>kein
+ copy-and-paste</emphasis>, weil dadurch Tabulatoren in
+ Leerzeichen umgewandelt werden, was den Patch unbrauchbar
+ macht. Sind die Patches viel größer als 20&nbsp;KB, sollten
+ Sie sie komprimieren (z.B. mit &man.gzip.1; oder
+ &man.bzip2.1;) und &man.uuencode.1; verwenden, um diese in
+ ihren Problembericht einzufügen.</para>
+
+ <para>Nachdem Sie einen Bericht versandt haben, erhalten Sie
+ eine E-Mail, die eine Bestätigung sowie eine
Identifikationsnummer enthält. Geben Sie diese Nummer im
- Betreff der Nachricht an (<literal>"Re: kern/3377"</literal>),
- wenn Sie neue Informationen zu diesem Problem an
- &a.bugfollowup; senden.
- Zusätzliche Informationen zu Problemberichten sollten immer
- auf diese Art und Weise verschickt werden.</para>
+ Betreff der Nachricht an (<literal>"Re:
+ kern/3377"</literal>), wenn Sie neue Informationen zu diesem
+ Problem an &a.bugfollowup; senden. Zusätzliche Informationen
+ zu Problemberichten sollten immer auf diese Art und Weise
+ verschickt werden.</para>
<para>Sollten Sie innerhalb einer Woche keine Bestätigung
erhalten, oder &man.send-pr.1; nicht verwenden können,
@@ -422,7 +424,8 @@
wir sind aber manchmal nicht in der Lage, das Problem sofort
anzugehen. Es verbleibt aber in der PR-Datenbank, bis wir
dafür Zeit finden. Verwenden Sie den Begriff
- <literal>[PATCH]</literal> im Synopsis-Feld des Berichts.</para>
+ <literal>[PATCH]</literal> im Synopsis-Feld des
+ Berichts.</para>
<indexterm>
<primary><command>uuencode</command></primary>
@@ -487,19 +490,19 @@
<indexterm><primary>GNU General Public License</primary></indexterm>
- <para>Der GNU General Public License, oder <quote>GPL</quote>.
- Diese Lizenz ist nicht ganz so beliebt bei uns, da sie
- die kommerzielle Nutzung des Quellcodes einschränkt.
- In Anbetracht der schieren Menge an GPL-Quellcode, den
- wir derzeit benötigen (wie Compiler, Assembler oder
- Textformatierer) wären wir aber schlecht beraten,
- Beiträge, die unter dieser Lizenz stehen, abzulehnen.
- Code, der unter der GPL steht, befindet sich in einem
- gesonderten Bereich des Quellcodebaums, und zwar unter
- <filename class="directory">/sys/gnu</filename> oder
- <filename class="directory">/usr/src/gnu</filename>, und ist daher
- für jeden, für den die GPL ein Problem darstellt, sofort
- erkennbar.</para>
+ <para>Der GNU General Public License, oder
+ <quote>GPL</quote>. Diese Lizenz ist nicht ganz so
+ beliebt bei uns, da sie die kommerzielle Nutzung des
+ Quellcodes einschränkt. In Anbetracht der schieren Menge
+ an GPL-Quellcode, den wir derzeit benötigen (wie Compiler,
+ Assembler oder Textformatierer) wären wir aber schlecht
+ beraten, Beiträge, die unter dieser Lizenz stehen,
+ abzulehnen. Code, der unter der GPL steht, befindet sich
+ in einem gesonderten Bereich des Quellcodebaums, und zwar
+ unter <filename class="directory">/sys/gnu</filename> oder
+ <filename class="directory">/usr/src/gnu</filename>, und
+ ist daher für jeden, für den die GPL ein Problem
+ darstellt, sofort erkennbar.</para>
</listitem>
</orderedlist>
@@ -588,10 +591,9 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<para>Für weitere Informationen zur FreeBSD Foundation
sollten Sie den Artikel <ulink
url="http://people.FreeBSD.org/~jdp/foundation/announcement.html">
- The FreeBSD Foundation -- an Introduction</ulink> lesen. Sie
- erreichen die FreeBSD Foundation über die
- E-Mail-Adresse <email>bod@FreeBSDFoundation.org</email>.</para>
- </sect3>
+ The FreeBSD Foundation -- an Introduction</ulink> lesen.
+ Sie erreichen die FreeBSD Foundation über die E-Mail-Adresse
+ <email>bod@FreeBSDFoundation.org</email>.</para> </sect3>
<sect3>
<title>Hardwarespenden</title>
@@ -610,12 +612,11 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<para>Wir sind ständig auf der Suche nach neuen FTP-,
WWW- oder <command>cvsup</command>-Spiegeln. Wenn Sie einen
- solchen Spiegel einrichten wollen, lesen Sie bitte den Artikel
- <ulink
- url="&url.articles.hubs.en;/index.html">Mirroring FreeBSD</ulink>,
- der weitere Informationen enthält.</para>
+ solchen Spiegel einrichten wollen, lesen Sie bitte den
+ Artikel <ulink
+ url="&url.articles.hubs.en;/index.html">Mirroring
+ FreeBSD</ulink>, der weitere Informationen enthält.</para>
</sect3>
</sect2>
</sect1>
-
</article>
diff --git a/de_DE.ISO8859-1/articles/explaining-bsd/article.xml b/de_DE.ISO8859-1/articles/explaining-bsd/article.xml
index a0b735ecc6..d383c634cf 100644
--- a/de_DE.ISO8859-1/articles/explaining-bsd/article.xml
+++ b/de_DE.ISO8859-1/articles/explaining-bsd/article.xml
@@ -50,14 +50,14 @@
url="http://www.leb.net/hzo/ioscount/data/r.9904.txt">Internet
Operating System Counter</ulink> liefen im April&nbsp;1999
weltweit 31,3&nbsp;Prozent der vernetzten Rechner unter Linux,
- 14,6&nbsp;Prozent liefen hingegen unter BSD&nbsp;&unix;. Einige
- der weltweit größten Internetdienstleister, darunter
- <ulink url="http://www.yahoo.com/">Yahoo!</ulink>, verwenden BSD.
- Der im Jahre 1999 weltgrößte FTP-Server <ulink
- url="ftp://ftp.cdrom.com/">ftp.cdrom.com</ulink> (inzwischen
- abgeschaltet) verwendete BSD, um täglich 1,4&nbsp;Terabyte
- an Daten zu übertragen. Hier geht es offensichtlich nicht
- um einen Nischenmarkt, BSD ist vielmehr ein gut gehütetes
+ 14,6&nbsp;Prozent liefen hingegen unter BSD&nbsp;&unix;.
+ Einige der weltweit größten Internetdienstleister, darunter
+ <ulink url="http://www.yahoo.com/">Yahoo!</ulink>, verwenden
+ BSD. Der im Jahre 1999 weltgrößte FTP-Server <ulink
+ url="ftp://ftp.cdrom.com/">ftp.cdrom.com</ulink> (inzwischen
+ abgeschaltet) verwendete BSD, um täglich 1,4&nbsp;Terabyte an
+ Daten zu übertragen. Hier geht es offensichtlich nicht um
+ einen Nischenmarkt, BSD ist vielmehr ein gut gehütetes
Geheimnis.</para>
<para>Worin besteht nun dieses Geheimnis? Warum ist BSD nicht
@@ -81,8 +81,8 @@
entwickeltes &unix; Betriebssystem gedacht. Verschiedene
Open&nbsp;Source-Projekte beruhen auf dieser, als 4.4BSD-Lite
bekannten Quellcodeausgabe. In dieser Ausgabe sind auch
- Softwarepakete anderer Open Source-Projekte, insbesondere jene des
- GNU-Projekts, enthalten. Das komplette Betriebssystem
+ Softwarepakete anderer Open Source-Projekte, insbesondere jene
+ des GNU-Projekts, enthalten. Das komplette Betriebssystem
umfasst:</para>
<itemizedlist>
@@ -153,21 +153,23 @@
<para>Es stimmt, dass AT&amp;T &unix; kein Open Source ist. Im
Sinne des Copyright ist BSD daher eindeutig
<emphasis>kein</emphasis> &unix;. Andererseits fügte
- AT&amp;T aber Quellcode von anderen Projekten in den eigenen Code
- ein, insbesondere jenen der Computer Sciences Research Group (CSRG)
- der University of California in Berkeley, CA. Im Jahr 1976
- begann die CSRG damit, Bänder ihrer Software zu vertreiben,
- die sie <emphasis>Berkeley Software Distribution</emphasis> oder
- <emphasis>BSD</emphasis> nannten.</para>
+ AT&amp;T aber Quellcode von anderen Projekten in den eigenen
+ Code ein, insbesondere jenen der Computer Sciences Research
+ Group (CSRG) der University of California in Berkeley, CA. Im
+ Jahr 1976 begann die CSRG damit, Bänder ihrer Software zu
+ vertreiben, die sie <emphasis>Berkeley Software
+ Distribution</emphasis> oder <emphasis>BSD</emphasis>
+ nannten.</para>
<para>Anfangs wurden vor allem Anwendungen veröffentlicht.
Das änderte sich schlagartig, als die CSRG von der Advanced
Research Projects Agency (DARPA) den Auftrag bekam, deren
Kommunikationsprotokolle (ARPANET) zu überarbeiten. Die
- neuen Protokolle wurden als <emphasis>Internet Protocols</emphasis>
- bezeichnet, und wurden später als <emphasis>TCP/IP</emphasis>
- weltbekannt. Die erste Implementierung dieser Protokolle erfolgte
- 1982 als Teil von 4.2BSD.</para>
+ neuen Protokolle wurden als <emphasis>Internet
+ Protocols</emphasis> bezeichnet, und wurden später als
+ <emphasis>TCP/IP</emphasis> weltbekannt. Die erste
+ Implementierung dieser Protokolle erfolgte 1982 als Teil von
+ 4.2BSD.</para>
<para>Im Laufe der 80er Jahre entstanden einige neue Firmen, die
Workstations vertrieben. Viele zogen es vor, &unix; zu
@@ -243,8 +245,9 @@
<listitem>
<para>BSD-Entwickler sind vielleicht erfahrener als
Linux-Entwickler, und haben deshalb weniger Interesse daran,
- die Benutzung des Systems einfacher zu gestalten. Einsteiger
- sind bei Linux wahrscheinlich besser aufgehoben.</para>
+ die Benutzung des Systems einfacher zu gestalten.
+ Einsteiger sind bei Linux wahrscheinlich besser
+ aufgehoben.</para>
</listitem>
<listitem>
@@ -254,8 +257,8 @@
urheberrechtlich geschützten AT&amp;T Code. Zwar kam es
1994 zu einer außergerichtlichen Einigung, die Leute
waren aber erst einmal verunsichert. Noch im März 2000
- behauptete ein im Web publizierter Artikel, das Verfahren sei
- erst <quote>kürzlich</quote> eingestellt worden.</para>
+ behauptete ein im Web publizierter Artikel, das Verfahren
+ sei erst <quote>kürzlich</quote> eingestellt worden.</para>
<para>Bezüglich der Bezeichnung schaffte der
Gerichtsprozess jedoch Klarheit: In den 80er Jahren war
@@ -312,12 +315,12 @@
weiterentwickelt. Jedes Projekt unterhält einen
öffentlich zugänglichen
<emphasis>Quellcode-Baum</emphasis>, der mit dem <ulink
- url="http://www.cvshome.org/">Concurrent Versions System</ulink>
- (CVS) verwaltet wird, und alle Quellen des Projekts, die
- Dokumentation und andere notwendige Dateien enthält.
- CVS erlaubt es Anwendern, jede gewünschte Version des
- Systems <quote>auszuchecken</quote> (mit anderen Worten, eine
- Kopie des System zu erhalten).</para>
+ url="http://www.cvshome.org/">Concurrent Versions
+ System</ulink> (CVS) verwaltet wird, und alle Quellen des
+ Projekts, die Dokumentation und andere notwendige Dateien
+ enthält. CVS erlaubt es Anwendern, jede gewünschte Version
+ des Systems <quote>auszuchecken</quote> (mit anderen Worten,
+ eine Kopie des System zu erhalten).</para>
<para>Eine Vielzahl von Entwicklern trägt weltweit zur
Verbesserung von BSD bei. Dabei werden drei Typen
@@ -328,8 +331,8 @@
<para>Ein <firstterm>Contributor</firstterm> schreibt Code
oder Dokumentationen. Ihm ist es nicht gestattet, seinen
Beitrag direkt in den Quellbaum einfließen zu lassen.
- Bevor dieser Code in das System eingebracht wird, muss er von
- einem registrierten Entwickler, dem
+ Bevor dieser Code in das System eingebracht wird, muss er
+ von einem registrierten Entwickler, dem
<emphasis>Committer</emphasis> geprüft werden.</para>
</listitem>
@@ -348,13 +351,13 @@
könnte etwa typografische oder grammatikalische
Korrekturen ohne lange Diskussion durchführen. Auf der
anderen Seite sollten Änderungen mit weitreichenden
- Konsequenzen vor dem Commit zur Begutachtung bereitgestellt
- werden. Im Extremfall kann ein Mitglied des Core Teams, das
- als Principal Architect fungiert, sogar die Entfernung der
- Änderung aus dem Quellcodebaum veranlassen. Dieser
- Vorgang wird als <firstterm>backing out</firstterm>
- bezeichnet. Alle Committer werden durch eine E-Mail
- über die erfolgte Änderung informiert. Es ist
+ Konsequenzen vor dem Commit zur Begutachtung
+ bereitgestellt werden. Im Extremfall kann ein Mitglied
+ des Core Teams, das als Principal Architect fungiert,
+ sogar die Entfernung der Änderung aus dem Quellcodebaum
+ veranlassen. Dieser Vorgang wird als <firstterm>backing
+ out</firstterm> bezeichnet. Alle Committer werden durch
+ eine E-Mail über die erfolgte Änderung informiert. Es ist
daher nicht möglich, heimlich eine Änderung
durchzuführen.</para>
</listitem>
@@ -396,11 +399,11 @@
<listitem>
<para>BSD-Projekte pflegen das komplette
- <quote>Betriebssystem</quote>, nicht nur den Kernel. Dieser
- Unterschied ist aber marginal, da weder BSD noch Linux ohne
- Anwendungsprogramme sinnvoll einsetzbar sind. Die unter BSD
- eingesetzten Applikationen sind oft identisch mit denen
- von Linux.</para>
+ <quote>Betriebssystem</quote>, nicht nur den Kernel.
+ Dieser Unterschied ist aber marginal, da weder BSD noch
+ Linux ohne Anwendungsprogramme sinnvoll einsetzbar sind.
+ Die unter BSD eingesetzten Applikationen sind oft
+ identisch mit denen von Linux.</para>
</listitem>
<listitem>
@@ -408,8 +411,8 @@
werden muss, ist die Entwicklung übersichtlicher, und es
ist möglich, auf jede beliebige Version einer Datei
zuzugreifen. CVS ermöglicht auch inkrementelle Updates:
- Das FreeBSD-Repository wird beispielsweise etwa 100 Mal pro
- Tag verändert. Viele dieser Änderungen betreffen
+ Das FreeBSD-Repository wird beispielsweise etwa 100 Mal
+ pro Tag verändert. Viele dieser Änderungen betreffen
aber nur einen relativen kleinen Bereich von FreeBSD.</para>
</listitem>
</orderedlist>
@@ -427,16 +430,15 @@
<orderedlist>
<listitem>
<para>Die Entwicklerversion hat das Suffix
- <firstterm>CURRENT</firstterm>. FreeBSD weist diesem Suffix
- eine Nummer zu, z.B. FreeBSD 5.0-CURRENT. NetBSD verwendet
- ein etwas anderes Bezeichnungsschema und hängt als
- Suffix nur einen Buchstaben an die Versionsnummer an, der
- Änderungen an den internen Schnittstellen anzeigt, z.B.
- NetBSD 1.4.3G. OpenBSD weist der Entwicklerversion keine
- Nummer zu, sie heißt also einfach
- <quote>OpenBSD-current</quote>.
- Neue Entwicklungen werden zuerst in diesen Zweig
- eingefügt.</para>
+ <firstterm>CURRENT</firstterm>. FreeBSD weist diesem
+ Suffix eine Nummer zu, z.B. FreeBSD 5.0-CURRENT. NetBSD
+ verwendet ein etwas anderes Bezeichnungsschema und hängt
+ als Suffix nur einen Buchstaben an die Versionsnummer an,
+ der Änderungen an den internen Schnittstellen anzeigt,
+ z.B. NetBSD 1.4.3G. OpenBSD weist der Entwicklerversion
+ keine Nummer zu, sie heißt also einfach
+ <quote>OpenBSD-current</quote>. Neue Entwicklungen werden
+ zuerst in diesen Zweig eingefügt.</para>
</listitem>
<listitem>
@@ -446,22 +448,22 @@
veröffentlicht, die dann beispielsweise als
OpenBSD&nbsp;2.6-RELEASE oder NetBSD&nbsp;1.4-RELEASE
bezeichnet wird. Diese sind sowohl auf CD-ROM
- als auch als freier Download von den FTP-Servern der Projekte
- erhältlich. Diese RELEASE-Versionen sind für
+ als auch als freier Download von den FTP-Servern der
+ Projekte erhältlich. Diese RELEASE-Versionen sind für
Endbenutzer gedacht. NetBSD verwendet sogar eine dritte
- Ziffer, um gepatchte Releases zu kennzeichnen
- (etwa NetBSD 1.4.2).</para>
+ Ziffer, um gepatchte Releases zu kennzeichnen (etwa NetBSD
+ 1.4.2).</para>
</listitem>
<listitem>
- <para>Sobald Fehler in einer RELEASE-Version gefunden werden,
- werden diese beseitigt und in den CVS-Baum eingefügt.
- Beim FreeBSD-Projekt wird die daraus resultierende Version
- als <firstterm>STABLE</firstterm> bezeichnet, während
- sie bei NetBSD und OpenBSD weiterhin RELEASE heißt.
- Kleinere Änderungen, die sich nach einer Testphase im
- CURRENT-Zweig als stabil erweisen, können ebenfalls
- in die STABLE-Version einfließen.</para>
+ <para>Sobald Fehler in einer RELEASE-Version gefunden
+ werden, werden diese beseitigt und in den CVS-Baum
+ eingefügt. Beim FreeBSD-Projekt wird die daraus
+ resultierende Version als <firstterm>STABLE</firstterm>
+ bezeichnet, während sie bei NetBSD und OpenBSD weiterhin
+ RELEASE heißt. Kleinere Änderungen, die sich nach einer
+ Testphase im CURRENT-Zweig als stabil erweisen, können
+ ebenfalls in die STABLE-Version einfließen.</para>
</listitem>
</orderedlist>
@@ -484,8 +486,8 @@
<sect2>
<title>Welche BSD-Versionen gibt es überhaupt?</title>
- <para>Im Gegensatz zu den zahlreichen Linux-Distributionen gibt es
- nur vier große frei verfügbare BSDs. Jedes BSD-Projekt
+ <para>Im Gegensatz zu den zahlreichen Linux-Distributionen gibt
+ es nur vier große frei verfügbare BSDs. Jedes BSD-Projekt
unterhält seinen eigenen Quellcode-Baum und seinen eigenen
Kernel. In der Praxis scheinen die Unterschiede im Code der
Anwenderprogramme aber geringer zu sein als bei Linux.</para>
@@ -494,7 +496,6 @@
genau zu trennen, da die Unterschiede eher subtiler Natur
sind:</para>
-
<itemizedlist>
<listitem>
<para>FreeBSD will eine hohe Leistung erreichen, für
@@ -513,11 +514,11 @@
<listitem>
<para>Bei NetBSD ist Portabilität das oberste Ziel:
<quote>Natürlich läuft NetBSD darauf</quote>.
- NetBSD kann auf vielen verschiedenen Systemen, von Palmtops
- bis hin zu großen Servern, installiert werden, und
- wurde sogar schon im Raumfahrtprogramm der NASA eingesetzt.
- Besonders für alte Nicht-&intel;-Plattformen ist NetBSD
- die erste Wahl.</para>
+ NetBSD kann auf vielen verschiedenen Systemen, von
+ Palmtops bis hin zu großen Servern, installiert werden,
+ und wurde sogar schon im Raumfahrtprogramm der NASA
+ eingesetzt. Besonders für alte Nicht-&intel;-Plattformen
+ ist NetBSD die erste Wahl.</para>
</listitem>
<listitem>
@@ -534,12 +535,12 @@
<listitem>
<para>Das Ziel von DragonFlyBSD ist eine hohe Leistung und
- Skalierbarkeit auf allen Systemen, vom Einzelplatzrechner bis
- hin zu riesigen Cluster-Systemen. DragonFlyBSD verfolgt dabei
- langfristig verschiedene technische Ziele, der Schwerpunkt der
- Entwicklung liegt aber auf der Bereitstellung einer
- SMP-fähigen Infrastruktur, die leicht zu verstehen, zu
- warten und weiterzuentwickeln ist.</para>
+ Skalierbarkeit auf allen Systemen, vom Einzelplatzrechner
+ bis hin zu riesigen Cluster-Systemen. DragonFlyBSD
+ verfolgt dabei langfristig verschiedene technische Ziele,
+ der Schwerpunkt der Entwicklung liegt aber auf der
+ Bereitstellung einer SMP-fähigen Infrastruktur, die leicht
+ zu verstehen, zu warten und weiterzuentwickeln ist.</para>
</listitem>
</itemizedlist>
@@ -553,12 +554,12 @@
Betriebssystem. Es war zwar nicht Open Source,
Quellcode-Lizenzen konnten aber relativ günstig
erworben werden. Es wies viele Gemeinsamkeiten mit
- FreeBSD auf. Zwei Jahre, nachdem BSDi von Wind River Systems
- übernommen worden war, wurde die Entwicklung von BSD/OS
- als eigenständiges Produkt eingestellt. Zwar wird BSD/OS
- von Wind River noch unterstützt, eine aktive Weiterentwicklung
- erfolgt allerdings nur noch für das Embedded-Betriebssystem
- VxWorks.</para>
+ FreeBSD auf. Zwei Jahre, nachdem BSDi von Wind River
+ Systems übernommen worden war, wurde die Entwicklung von
+ BSD/OS als eigenständiges Produkt eingestellt. Zwar wird
+ BSD/OS von Wind River noch unterstützt, eine aktive
+ Weiterentwicklung erfolgt allerdings nur noch für das
+ Embedded-Betriebssystem VxWorks.</para>
</listitem>
<listitem>
@@ -609,10 +610,11 @@
ermöglicht. Dieses Paket enthält zwei Dinge:
Kernelmodifikationen zur korrekten Ausführung von
Linux-Systemaufrufen sowie Linuxkompatibilitätsdateien,
- beispielsweise die C-Bibliothek von Linux. Unterschiede in der
- Ausführungsgeschwindigkeit von Linuxanwendungen auf einem
+ beispielsweise die C-Bibliothek von Linux. Unterschiede in
+ der Ausführungsgeschwindigkeit von Linuxanwendungen auf einem
Linuxrechner und einem vergleichbaren mit BSD ausgestatteten
- Rechner sind in der Praxis so gut wie nicht feststellbar.</para>
+ Rechner sind in der Praxis so gut wie nicht
+ feststellbar.</para>
<para>Die <quote>Alles-aus-einer-Hand</quote>-Natur von BSD
hat den Vorteil, dass Upgrades im Vergleich zu Linux häufig
@@ -643,12 +645,11 @@
<listitem>
<para>BSD-Systeme, inbesondere FreeBSD, können eine
- weitaus bessere Leistung als Linux-Systeme aufweisen. Diese
- Aussage ist aber nicht allgemein gültig. In den
- meisten Fällen sind die Leistungsunterschiede aber
- gering oder gar nicht festzustellen. In bestimmten
- Fällen kann auch Linux eine bessere Leistung
- aufweisen.</para>
+ weitaus bessere Leistung als Linux-Systeme aufweisen.
+ Diese Aussage ist aber nicht allgemein gültig. In den
+ meisten Fällen sind die Leistungsunterschiede aber gering
+ oder gar nicht festzustellen. In bestimmten Fällen kann
+ auch Linux eine bessere Leistung aufweisen.</para>
</listitem>
<listitem>
@@ -693,8 +694,10 @@
<para>Darüber hinaus finden sich auf den folgenden Seiten der
einzelnen Projekte Firmen, die Supportleistungen anbieten:
- <ulink url="&url.base;/commercial/consult_bycat.html">FreeBSD</ulink>,
- <ulink url="http://www.netbsd.org/gallery/consultants.html">NetBSD</ulink>,
+ <ulink
+ url="&url.base;/commercial/consult_bycat.html">FreeBSD</ulink>,
+ <ulink
+ url="http://www.netbsd.org/gallery/consultants.html">NetBSD</ulink>,
und <ulink url="http://www.openbsd.org/support.html">OpenBSD</ulink>.</para>
</sect2>
</sect1>
diff --git a/de_DE.ISO8859-1/articles/laptop/article.xml b/de_DE.ISO8859-1/articles/laptop/article.xml
index bb9a958631..8c8c2de164 100644
--- a/de_DE.ISO8859-1/articles/laptop/article.xml
+++ b/de_DE.ISO8859-1/articles/laptop/article.xml
@@ -38,24 +38,24 @@
</articleinfo>
<para>FreeBSD wird oft für ein reines Server-Betriebssystem
- gehalten, obwohl es auch auf Desktoprechnern sehr gut einsetzbar ist.
- Falls Sie es auf einem Notebook einsetzen möchten, können
- Sie auch hier die Vorzüge von FreeBSD nutzen: Ein
- systematisches und stringentes Layout, einfache Administration und
+ gehalten, obwohl es auch auf Desktoprechnern sehr gut einsetzbar
+ ist. Falls Sie es auf einem Notebook einsetzen möchten, können
+ Sie auch hier die Vorzüge von FreeBSD nutzen: Ein systematisches
+ und stringentes Layout, einfache Administration und
Aktualisierung, das Ports- und Packagesystem für die
- Softwareinstallation und vieles andere mehr. Weitere Vorzüge,
- wie lange Laufzeiten, Netzwerkperformance und gute Performance unter
- hoher Last sind natürlich auf einem Notebookrechner nicht ganz
- so wichtig. Auf Notebookrechnern können aber während der
+ Softwareinstallation und vieles andere mehr. Weitere Vorzüge, wie
+ lange Laufzeiten, Netzwerkperformance und gute Performance unter
+ hoher Last sind natürlich auf einem Notebookrechner nicht ganz so
+ wichtig. Auf Notebookrechnern können aber während der
Installation Probleme auftreten, die bei Desktoprechnern nicht
existieren und die daher hier diskutiert werden (Notebooks sind
- &ndash; anders als Desktoprechner &ndash; oft auf &microsoft.windows;
- abgestimmt). In diesem Artikel sollen solche Probleme angesprochen
- werden. Einige Leute haben Ihre Erfahrungen mit dem Betrieb von
- &os; auf Notebooks auf eigenen Webseiten veröffentlicht, die
- nicht Teil der &os;-Dokumentation sind. Wenn Sie den Namen Ihres
- Notebooks zusammen mit <quote>&os;</quote> in der Suchmaschine
- Ihrer Wahl eingeben, ist es gut möglich, dass Sie
+ &ndash; anders als Desktoprechner &ndash; oft auf
+ &microsoft.windows; abgestimmt). In diesem Artikel sollen solche
+ Probleme angesprochen werden. Einige Leute haben Ihre Erfahrungen
+ mit dem Betrieb von &os; auf Notebooks auf eigenen Webseiten
+ veröffentlicht, die nicht Teil der &os;-Dokumentation sind. Wenn
+ Sie den Namen Ihres Notebooks zusammen mit <quote>&os;</quote> in
+ der Suchmaschine Ihrer Wahl eingeben, ist es gut möglich, dass Sie
Informationen finden, die Ihnen weiterhelfen. Zusätzlich
existiert eine &os;-spezifische Online-Datenbank unter <ulink
url="http://laptop.bsdgroup.de/freebsd/">The &os; Laptop
@@ -80,12 +80,13 @@
<para>Lesen Sie das Handbuch Ihres Notebooks, um herauszufinden,
welche Grafikkarte (oder welcher Grafikchip) eingebaut wurde.
Danach überprüfen Sie die
- <application>&xorg;</application>-Dokumentation, um festzustellen,
- ob Ihre Grafikkarte unterstützt wird. Ist dies nicht der
- Fall, verwenden Sie einen allgemeinen Treiber. Versuchen Sie
- nicht, einfach einen Treiber mit einem ähnlichen Namen zu
- verwenden. Mit <userinput>Xorg -configure</userinput> lassen sich
- viele Konfigurationsparameter automatisch einstellen.</para>
+ <application>&xorg;</application>-Dokumentation, um
+ festzustellen, ob Ihre Grafikkarte unterstützt wird. Ist dies
+ nicht der Fall, verwenden Sie einen allgemeinen Treiber.
+ Versuchen Sie nicht, einfach einen Treiber mit einem ähnlichen
+ Namen zu verwenden. Mit <userinput>Xorg -configure</userinput>
+ lassen sich viele Konfigurationsparameter automatisch
+ einstellen.</para>
<para>Manchmal verursacht auch die Konfiguration des Displays
Probleme. Die verfügbaren &xorg;-Ressourcen
@@ -95,12 +96,11 @@
und Sie müssen keine Modelines angeben, da die einfache
Angabe von horizontaler und vertikalen Wiederholrate ausreicht.
Reichen diese Angaben nicht aus, sollten Sie im Internet nach
- Seiten suchen, die sich mit der Konfiguration von X auf Notebooks
- beschäftigen (diese beziehen sich zwar oft auf Linux, da
- allerdings sowohl &os; als auch Linux &xorg; verwenden, spielt
- dies keine Rolle). Von dort können Sie sich eine
- Modeline kopieren, die für ähnliche Hardware
- gültig ist.</para>
+ Seiten suchen, die sich mit der Konfiguration von X auf
+ Notebooks beschäftigen (diese beziehen sich zwar oft auf Linux,
+ da allerdings sowohl &os; als auch Linux &xorg; verwenden,
+ spielt dies keine Rolle). Von dort können Sie sich eine
+ Modeline kopieren, die für ähnliche Hardware gültig ist.</para>
<para>Die meisten Notebooks haben zwei Maustasten, die unter X nur
selten Probleme verursachen (abgesehen von der mittleren
@@ -127,13 +127,13 @@
bereitzustellen). Besitzt Ihr Modem beispielsweise einen
Lucent&nbsp;LT-Chipsatz, wird dieser wahrscheinlich vom
<filename role="package">comms/ltmdm</filename>-Port
- unterstützt. Hat Ihr Notebook aber ein
- <quote>Winmodem</quote> eingebaut, müssen Sie sich ein
- externes Modem kaufen: Die kompakteste Lösung sind hier
- PCMCIA-Modems, die weiter unten besprochen werden. Serielle oder
- über USB angeschlossene Modems sind aber deutlich billiger.
- In der Regel sollten <quote>normale</quote> Modems (so genannte
- Non-Winmodems) problemlos funktionieren.</para>
+ unterstützt. Hat Ihr Notebook aber ein <quote>Winmodem</quote>
+ eingebaut, müssen Sie sich ein externes Modem kaufen: Die
+ kompakteste Lösung sind hier PCMCIA-Modems, die weiter unten
+ besprochen werden. Serielle oder über USB angeschlossene Modems
+ sind aber deutlich billiger. In der Regel sollten
+ <quote>normale</quote> Modems (so genannte Non-Winmodems)
+ problemlos funktionieren.</para>
</sect1>
<sect1 id="pcmcia">
@@ -143,29 +143,29 @@
PC-Card-Slots. Diese werden von FreeBSD sehr gut
unterstützt. Verwenden Sie &man.dmesg.8;, um festzustellen,
ob die PCMCIA-Geräte beim Systemstart korrekt erkannt wurden.
- Ist dies der Fall, sollten Einträge ähnlich den
- folgenden auftauchen: <devicename>pccard0</devicename>,
+ Ist dies der Fall, sollten Einträge ähnlich den folgenden
+ auftauchen: <devicename>pccard0</devicename>,
<devicename>pccard1</devicename> sowie Geräte wie
<devicename>pcic0</devicename>.</para>
<para>&os;&nbsp;4.X unterstützt nur 16-Bit PCMCIA-Karten,
&os;&nbsp;5.X unterstützt sowohl 16-Bit-Karten als auch
- 32-Bit-Karten. Eine Liste der unterstützten Karten finden
- Sie in <filename>/etc/defaults/pccard.conf</filename>. Kaufen
- Sie möglichst nur Karten, die in dieser Liste aufgeführt
- sind. Ist Ihre Karte nicht aufgeführt, kann sie aber
- trotzdem funktionieren, da die meisten 16-Bit-Modems trotzdem
- unterstützt werden, vorausgesetzt, es handelt sich nicht um
+ 32-Bit-Karten. Eine Liste der unterstützten Karten finden Sie
+ in <filename>/etc/defaults/pccard.conf</filename>. Kaufen Sie
+ möglichst nur Karten, die in dieser Liste aufgeführt sind. Ist
+ Ihre Karte nicht aufgeführt, kann sie aber trotzdem
+ funktionieren, da die meisten 16-Bit-Modems trotzdem unterstützt
+ werden, vorausgesetzt, es handelt sich nicht um
<quote>Winmodems</quote> (diese gibt es auch bei PCMCIA-Karten,
sie sollten daher beim Kauf der Karte aufpassen). Sollte Ihre
Karte als generisches Modem (<foreignphrase>generic
- modem</foreignphrase>) erkannt werden, müssen Sie daran
- denken, dass in der Defaultkonfiguration von
+ modem</foreignphrase>) erkannt werden, müssen Sie daran denken,
+ dass in der Defaultkonfiguration von
<filename>pccard.conf</filename> eine Verzögerung von
10&nbsp;Sekunden angegeben ist (dies verhindert das Einfrieren
bestimmter Modems). Für Ihr Modem kann dieser Eintrag
- überflüssig sein, Sie sollten daher versuchen, die Zeit
- zu reduzieren oder die Zeile komplett zu entfernen.</para>
+ überflüssig sein, Sie sollten daher versuchen, die Zeit zu
+ reduzieren oder die Zeile komplett zu entfernen.</para>
<para>Einige Abschnitte der Datei <filename>pccard.conf</filename>
müssen angepasst werden. Prüfen Sie die Zeile, in der
@@ -261,20 +261,20 @@
dass nur einige oder keiner dieser Befehle
funktionieren.</para>
- <para>Vielleicht können Sie den Suspend-/Standby-Modus
- nur auf der Konsole aktivieren, aber nicht unter X
- (dann bleibe der Bildschirm nach dem Reaktivieren dunkel).
- Seit &os;&nbsp;5.X könnte eine Lösung darin bestehen,
- die Zeile <literal>options SC_NO_SUSPEND_VTYSWITCH</literal> in
- die Kernel-Konfigurationsdatei aufzunehmen und den Kernel
- neu zu kompilieren. Eine andere Lösung wäre es, vor
- dem &man.apm.8;-Aufruf in den Konsolen-Modus zu wechseln, indem
+ <para>Vielleicht können Sie den Suspend-/Standby-Modus nur auf
+ der Konsole aktivieren, aber nicht unter X (dann bleibe der
+ Bildschirm nach dem Reaktivieren dunkel). Seit &os;&nbsp;5.X
+ könnte eine Lösung darin bestehen, die Zeile <literal>options
+ SC_NO_SUSPEND_VTYSWITCH</literal> in die
+ Kernel-Konfigurationsdatei aufzunehmen und den Kernel neu zu
+ kompilieren. Eine andere Lösung wäre es, vor dem
+ &man.apm.8;-Aufruf in den Konsolen-Modus zu wechseln, indem
die Tastenkombination <keycombo
action="simul"><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>
- oder eine andere Funktionstaste gedrückt wird. Dieser
- Vorgang kann mit &man.apmd.8; automatisiert werden, falls der
- &man.apmd.8;-Daemon läuft. Dazu fügen Sie die
- folgenden Abschnitte in <filename>/etc/apmd.conf</filename>
+ oder eine andere Funktionstaste gedrückt wird. Dieser Vorgang
+ kann mit &man.apmd.8; automatisiert werden, falls der
+ &man.apmd.8;-Daemon läuft. Dazu fügen Sie die folgenden
+ Abschnitte in <filename>/etc/apmd.conf</filename>
ein:</para>
<programlisting>apm_event SUSPENDREQ {
@@ -312,13 +312,13 @@ apm_event NORMRESUME, STANDBYRESUME {
kann sogar so weit kommen, dass &os; auf manchen Notebooks
nicht startet, wenn ACPI aktiviert ist.</para>
- <para>Sollte ACPI auf Ihrem Notebook Probleme verursachen, sollten
- Sie prüfen, ob der Hersteller Ihres Notebooks eine neuere
- BIOS-Version bereitstellt, in der die ACPI-Fehler behoben sind.
- Da die ACPI-Implementierung von &os; sich noch im
- Entwicklungsstatus befindet, könnten Sie auch Ihr System
- aktualisieren. Die Chancen stehen gut, dass sich Ihre Probleme
- damit beheben lassen.</para>
+ <para>Sollte ACPI auf Ihrem Notebook Probleme verursachen,
+ sollten Sie prüfen, ob der Hersteller Ihres Notebooks eine
+ neuere BIOS-Version bereitstellt, in der die ACPI-Fehler
+ behoben sind. Da die ACPI-Implementierung von &os; sich noch
+ im Entwicklungsstatus befindet, könnten Sie auch Ihr System
+ aktualisieren. Die Chancen stehen gut, dass sich Ihre
+ Probleme damit beheben lassen.</para>
<para>Möchten Sie ACPI abschalten, bearbeiten Sie die
Zeile <literal>hint.acpi.0.disabled="1"</literal> in
diff --git a/de_DE.ISO8859-1/articles/linux-comparison/article.xml b/de_DE.ISO8859-1/articles/linux-comparison/article.xml
index fcec49289c..0670e959bd 100644
--- a/de_DE.ISO8859-1/articles/linux-comparison/article.xml
+++ b/de_DE.ISO8859-1/articles/linux-comparison/article.xml
@@ -84,30 +84,29 @@ Copyright (c) 2005 Dru Lavigne
<sect1 id="introduction">
<title>Einleitung</title>
- <para>&os; ist ein &unix;-ähnliches Betriebssystem, das auf
- der
+ <para>&os; ist ein &unix;-ähnliches Betriebssystem, das auf der
Berkeley&nbsp;Software&nbsp;Distribution&nbsp;(<acronym>BSD</acronym>)
- basiert. Während &os; und &linux; häufig als sehr
- ähnlich empfunden werden, gibt es doch Unterschiede:</para>
+ basiert. Während &os; und &linux; häufig als sehr ähnlich
+ empfunden werden, gibt es doch Unterschiede:</para>
<orderedlist>
<listitem>
<para>&linux; selbst ist ein Kernel. Distributionen (z.B.
Red&nbsp;Hat, Debian, SUSE) stellen dem Benutzer ein
- Installationswerkzeug und Programme zur Verfügung. Auf
- der &linux;-Projektseite befindet sich eine <ulink
+ Installationswerkzeug und Programme zur Verfügung. Auf der
+ &linux;-Projektseite befindet sich eine <ulink
url="http://www.linux.org/dist/">Auflistung verschiedener
Distributionen</ulink> mit mehr als 300&nbsp;Einträgen.
- Während dem Benutzer ein Höchstmaß an
- Flexibilität geboten wird, erhöht das Bestehen
- dieser Vielzahl an Distributionen auch die Schwierigkeit,
- die eigenen Kenntnisse von einer Distribution auf eine
- andere zu übertragen. Distributionen unterscheiden sich
- nicht nur in der Einfachheit der Installation und der zur
- Verfügung stehenden Programme, sie unterscheiden sich
- auch in der Verzeichnisstruktur, in den verfügbaren
- Shells und Window&nbsp;Managern sowie in den Vorgehensweisen
- bei der Installation und Aktualisierung von Software.</para>
+ Während dem Benutzer ein Höchstmaß an Flexibilität geboten
+ wird, erhöht das Bestehen dieser Vielzahl an Distributionen
+ auch die Schwierigkeit, die eigenen Kenntnisse von einer
+ Distribution auf eine andere zu übertragen. Distributionen
+ unterscheiden sich nicht nur in der Einfachheit der
+ Installation und der zur Verfügung stehenden Programme, sie
+ unterscheiden sich auch in der Verzeichnisstruktur, in den
+ verfügbaren Shells und Window&nbsp;Managern sowie in den
+ Vorgehensweisen bei der Installation und Aktualisierung von
+ Software.</para>
<para>&os; ist ein komplettes Betriebssystem (Kernel und
Userland) mit einem hoch angesehenem Erbe, das bis in die
@@ -121,38 +120,36 @@ Copyright (c) 2005 Dru Lavigne
zurückreicht. Da der Kernel und die bereitgestellten
Programme unter der Aufsicht desselben
Release&nbsp;Engineering&nbsp;Teams stehen, ist die
- Wahrscheinlichkeit gering, dass Inkompatibilitäten
- zwischen Bibliotheken auftreten. Mit Sicherheitslücken
- kann sich das Security&nbsp;Team zeitnah befassen. Wenn neue
- Programm- oder Kernel-Funktionen hinzugefügt werden,
- braucht der Benutzer nur die Release&nbsp;Notes lesen, die
- auf der <ulink url="&url.base;/">&os;-Projektseite</ulink>
+ Wahrscheinlichkeit gering, dass Inkompatibilitäten zwischen
+ Bibliotheken auftreten. Mit Sicherheitslücken kann sich das
+ Security&nbsp;Team zeitnah befassen. Wenn neue Programm-
+ oder Kernel-Funktionen hinzugefügt werden, braucht der
+ Benutzer nur die Release&nbsp;Notes lesen, die auf der
+ <ulink url="&url.base;/">&os;-Projektseite</ulink>
veröffentlicht werden.</para>
</listitem>
<listitem>
- <para>&os; verfügt über eine großen und gut
- organisierten Entwicklerstamm, der gewährleistet, dass
- Änderungen auf schnelle und geregelte Art und Weise
- durchgeführt werden. Dazu gehören mehrere tausend
- Entwickler, die regelmäßig Code beisteuern, von
- denen jedoch nur etwa 300 ein sogenanntes Commit&nbsp;Bit
- besitzen, das es ihnen erlaubt, direkt Änderungen am
- Kernel, den Programmen und der offiziellen Dokumentation
- durchzuführen. Das Release&nbsp;Engineering&nbsp;Team
- ist zuständig für die Qualitätssicherung und
- das Security Team für die Behandlung von
- Sicherheitsproblemen. Des Weiteren existiert eine
+ <para>&os; verfügt über eine großen und gut organisierten
+ Entwicklerstamm, der gewährleistet, dass Änderungen auf
+ schnelle und geregelte Art und Weise durchgeführt werden.
+ Dazu gehören mehrere tausend Entwickler, die regelmäßig Code
+ beisteuern, von denen jedoch nur etwa 300 ein sogenanntes
+ Commit&nbsp;Bit besitzen, das es ihnen erlaubt, direkt
+ Änderungen am Kernel, den Programmen und der offiziellen
+ Dokumentation durchzuführen. Das
+ Release&nbsp;Engineering&nbsp;Team ist zuständig für die
+ Qualitätssicherung und das Security Team für die Behandlung
+ von Sicherheitsproblemen. Des Weiteren existiert eine
gewählte Core&nbsp;Group, die aus
8&nbsp;Senior&nbsp;Committern besteht und die Gesamtleitung
des Projekts übernimmt.</para>
- <para>Im Gegensatz dazu müssen Änderungen am
- &linux;-Kernel erst vom Kernel Source Maintainer
- Linus&nbsp;Torvalds bewilligt werden. Wie Änderungen an
- Distributionen erfolgen, kann von Projekt zu Projekt stark
- variieren und ist abhängig von der Größe des
- jeweiligen Entwicklerstamms sowie dessen
+ <para>Im Gegensatz dazu müssen Änderungen am &linux;-Kernel
+ erst vom Kernel Source Maintainer Linus&nbsp;Torvalds
+ bewilligt werden. Wie Änderungen an Distributionen erfolgen,
+ kann von Projekt zu Projekt stark variieren und ist abhängig
+ von der Größe des jeweiligen Entwicklerstamms sowie dessen
Organisation.</para>
</listitem>
@@ -186,7 +183,7 @@ Copyright (c) 2005 Dru Lavigne
und BSDL</ulink>, ohne Partei zu beziehen.</para>
</footnote>
- . Stabilen und sicheren Code unter die BSD-Lizenz zu stellen
+ Stabilen und sicheren Code unter die BSD-Lizenz zu stellen
ermöglicht, dass viele Betriebssysteme wie <ulink
url="http://developer.apple.com/opensource/">Mac&nbsp;OS&nbsp;X</ulink>
auf &os;-Code basieren. Daneben bedeutet die Nutzung von
@@ -268,8 +265,8 @@ Copyright (c) 2005 Dru Lavigne
zur einfachen Installation bereit
<footnote>
- <para><ulink url="&url.base;/de/ports/">&os;-Ports</ulink>: Zur
- Installation von Software genügt ein einfaches
+ <para><ulink url="&url.base;/de/ports/">&os;-Ports</ulink>:
+ Zur Installation von Software genügt ein einfaches
<command>pkg_add -r
<replaceable>Paketname</replaceable></command></para>
</footnote>
@@ -318,14 +315,13 @@ Copyright (c) 2005 Dru Lavigne
<para>Netgraph ist ein baukastenartiges
Netzwerkteilsystem, das verwendet werden kann, um die
bestehende Netzwerkinfrastruktur des Kernels zu
- erweitern. Entwickler haben durch Hooks die
- Möglichkeit, eigene Komponenten abzuleiten.
- Infolgedessen gestaltet sich der kurzfristige Bau von
- Prototypen und die anschließende
- Produktionsentwicklung bei erweiterten Netzwerkdiensten
- viel einfacher und weniger fehleranfällig. Viele
- funktionsfähige Komponenten werden mit &os;
- mitgeliefert, die unter anderem Unterstützung
+ erweitern. Entwickler haben durch Hooks die Möglichkeit,
+ eigene Komponenten abzuleiten. Infolgedessen gestaltet
+ sich der kurzfristige Bau von Prototypen und die
+ anschließende Produktionsentwicklung bei erweiterten
+ Netzwerkdiensten viel einfacher und weniger
+ fehleranfällig. Viele funktionsfähige Komponenten werden
+ mit &os; mitgeliefert, die unter anderem Unterstützung
bieten für:</para>
<itemizedlist>
@@ -613,13 +609,12 @@ Copyright (c) 2005 Dru Lavigne
url="&url.base;/doc/de_DE.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL">Mailinglisten</ulink>
zu &os;. Der Nachrichtenverkehr wird archiviert und ist
durchsuchbar. Falls eine Frage mit Hilfe des Handbuchs
- nicht beantwortet werden konnte, wurde sie mit
- größer Wahrscheinlichkeit schon auf einer der
- Mailinglisten beantwortet. Handbuch und Mailinglisten
- stehen in verschiedenen Sprachen zur Verfügung, die
- alle auf der Startseite des <ulink
- url="&url.base;/">&os; Projects</ulink>
- auswählbar sind.</para>
+ nicht beantwortet werden konnte, wurde sie mit größer
+ Wahrscheinlichkeit schon auf einer der Mailinglisten
+ beantwortet. Handbuch und Mailinglisten stehen in
+ verschiedenen Sprachen zur Verfügung, die alle auf der
+ Startseite des <ulink url="&url.base;/">&os;
+ Projects</ulink> auswählbar sind.</para>
</listitem>
<listitem>
@@ -665,16 +660,16 @@ Copyright (c) 2005 Dru Lavigne
</itemizedlist>
<para>Es gibt außerdem die Initiative, eine Zertifizierung von
- BSD-Systemadministratoren anzubieten. Weitere Informationen dazu
- finden Sie unter <ulink
+ BSD-Systemadministratoren anzubieten. Weitere Informationen
+ dazu finden Sie unter <ulink
url="http://www.bsdcertification.org"></ulink>.</para>
<para>Projekte, die eine Common&nbsp;Criteria-Zertifizierung
benötigen, können die Hilfe von <ulink
url="http://www.trustedbsd.org">TrustedBSD</ulink> in
Anspruch nehmen, um (beispielsweise durch den Einsatz des
- &os; MAC&nbsp;Frameworks) diesen Prozess zu erleichtern.</para>
- </sect2>
+ &os; MAC&nbsp;Frameworks) diesen Prozess zu
+ erleichtern.</para> </sect2>
</sect1>
<sect1 id="freebsd-advantages">
diff --git a/de_DE.ISO8859-1/articles/new-users/article.xml b/de_DE.ISO8859-1/articles/new-users/article.xml
index dc13a733cf..8a3c9b1c93 100644
--- a/de_DE.ISO8859-1/articles/new-users/article.xml
+++ b/de_DE.ISO8859-1/articles/new-users/article.xml
@@ -211,8 +211,8 @@
<listitem>
<para>Zeigt uns, wo wir uns befinden, gibt also das aktuelle
Verzeichnis
- (<foreignphrase>working directory</foreignphrase>) aus.</para>
- </listitem>
+ (<foreignphrase>working directory</foreignphrase>)
+ aus.</para> </listitem>
</varlistentry>
<varlistentry>
@@ -647,12 +647,12 @@
als der DOS-Editor EDIT. Rufen Sie doch einmal das Kommando
<command>:r</command> auf.) Drücken Sie die
<keycap>Esc</keycap>-Taste ruhig öfter als einmal, um sicher
- zu gehen, dass Sie sich im Kommandomodus befinden und arbeiten Sie
- in diesem Modus weiter, falls Probleme auftreten. Speichern Sie
- die Datei immer wieder mit <command>:w</command>, und geben Sie
- <command>:q!</command> ein, um von vorne zu beginnen (genauer
- gesagt, vom letzten <command>:w</command>-Kommando), falls dies
- nötig sein sollte.</para>
+ zu gehen, dass Sie sich im Kommandomodus befinden und arbeiten
+ Sie in diesem Modus weiter, falls Probleme auftreten. Speichern
+ Sie die Datei immer wieder mit <command>:w</command>, und geben
+ Sie <command>:q!</command> ein, um von vorne zu beginnen
+ (genauer gesagt, vom letzten <command>:w</command>-Kommando),
+ falls dies nötig sein sollte.</para>
<para>Danach können Sie mit <command>cd</command> nach
<filename>/etc</filename> wechseln, mit <command>su</command>
@@ -674,10 +674,10 @@
<para>Bis zu diesem Zeitpunkt haben Sie wahrscheinlich noch keinen
Drucker eingerichtet, daher zeigen wir Ihnen, wie man eine Datei
- aus einer Manualpage erzeugt, diese auf eine Diskette kopiert und
- dann unter DOS ausdruckt. Möchten Sie etwa nachlesen, wie
- Sie Dateirechte verändern können (was sehr wichtig ist),
- rufen Sie mit <command>man chmod</command> die entsprechende
+ aus einer Manualpage erzeugt, diese auf eine Diskette kopiert
+ und dann unter DOS ausdruckt. Möchten Sie etwa nachlesen, wie
+ Sie Dateirechte verändern können (was sehr wichtig ist), rufen
+ Sie mit <command>man chmod</command> die entsprechende
Manualpage auf. Der Befehl</para>
<informalexample>
@@ -703,8 +703,8 @@
benötigen, werden Sie durch die Eingabe von
<command>exit</command> wieder zu <username>jack</username>
und wechseln dann in das Verzeichnis, in dem sich
- <filename>chmod.txt</filename> befindet, und kopieren diese Datei
- mit</para>
+ <filename>chmod.txt</filename> befindet, und kopieren diese
+ Datei mit</para>
<informalexample>
<screen>&prompt.user; <userinput>cp chmod.txt /mnt</userinput></screen>
@@ -715,21 +715,22 @@
<filename>/mnt</filename> an. Als Ergebnis sollten Sie
<filename>chmod.txt</filename> erhalten.</para>
- <para>Leiten Sie nun die Ausgabe von <command>/sbin/dmesg</command>
- in eine Datei um, indem Sie</para>
+ <para>Leiten Sie nun die Ausgabe von
+ <command>/sbin/dmesg</command> in eine Datei um, indem
+ Sie</para>
<informalexample>
<screen>&prompt.user; <userinput>/sbin/dmesg &gt; dmesg.txt</userinput></screen>
</informalexample>
- <para>eingeben und diese Datei ebenfalls auf die Diskette kopieren.
- Mit <command>/sbin/dmesg</command> können Sie alle
- während des Systemstarts angezeigten Meldungen ausgeben.
- Es ist wichtig, dass Sie diese Meldungen verstehen, da hier
- angezeigt wird, welche Hardware von FreeBSD beim Systemstart
- gefunden wurde. Falls Sie Fragen auf der Mailingliste
- &a.de.questions; oder im USENET stellen (etwa <quote>FreeBSD erkennt
- mein Bandlaufwerk nicht, was soll ich tun?</quote>), wird man Sie
+ <para>eingeben und diese Datei ebenfalls auf die Diskette
+ kopieren. Mit <command>/sbin/dmesg</command> können Sie alle
+ während des Systemstarts angezeigten Meldungen ausgeben. Es ist
+ wichtig, dass Sie diese Meldungen verstehen, da hier angezeigt
+ wird, welche Hardware von FreeBSD beim Systemstart gefunden
+ wurde. Falls Sie Fragen auf der Mailingliste &a.de.questions;
+ oder im USENET stellen (etwa <quote>FreeBSD erkennt mein
+ Bandlaufwerk nicht, was soll ich tun?</quote>), wird man Sie
fragen, was <command>dmesg</command> ausgibt.</para>
<para>Anschließend können Sie das Diskettenlaufwerk
@@ -876,19 +877,19 @@
<sect1 id="next-steps">
<title>Die nächsten Schritte</title>
- <para>Sie sollten nun alle wichtigen Werkzeuge kennen, um sich auf Ihrem
- System zurechtzufinden, Dateien zu editieren und alles am Laufen
- zu halten. Viele nützliche Informationen finden sich im
- FreeBSD-Handbuch (das vielleicht schon auf Ihrer
- Festplatte ist) und auf der <ulink
- url="http://www.FreeBSD.org/index.html">FreeBSD Webseite</ulink>.
- Viele Softwarepakte und Ports sind sowohl auf der FreeBSD-CD-ROM
- als auch auf der Webseite verfügbar. Im Handbuch finden Sie
- Hinweise, wie Sie mit diesen arbeiten können. Pakete
- installieren Sie mit
+ <para>Sie sollten nun alle wichtigen Werkzeuge kennen, um sich auf
+ Ihrem System zurechtzufinden, Dateien zu editieren und alles am
+ Laufen zu halten. Viele nützliche Informationen finden sich im
+ FreeBSD-Handbuch (das vielleicht schon auf Ihrer Festplatte ist)
+ und auf der <ulink
+ url="http://www.FreeBSD.org/index.html">FreeBSD
+ Webseite</ulink>. Viele Softwarepakte und Ports sind sowohl auf
+ der FreeBSD-CD-ROM als auch auf der Webseite verfügbar. Im
+ Handbuch finden Sie Hinweise, wie Sie mit diesen arbeiten
+ können. Pakete installieren Sie mit
<command>pkg_add /cdrom/packages/All/<replaceable>Paketname</replaceable></command>,
- wobei <replaceable>Paketname</replaceable> für den
- Dateinamen des Paketes steht. Auf der CD-ROM finden Sie auch eine
+ wobei <replaceable>Paketname</replaceable> für den Dateinamen
+ des Paketes steht. Auf der CD-ROM finden Sie auch eine
Liste der Pakete und Ports inklusive einer kurzen Beschreibung.
Lesen Sie dazu
<filename>cdrom/packages/index</filename>,
@@ -917,9 +918,9 @@
</informalexample>
<para>Danach wird das Verzeichnis
- <filename>/usr/local/kermit</filename> angelegt, in dem sich alle
- Dateien des Unterverzeichnisses <filename>kermit</filename> der
- CD-ROM finden.</para>
+ <filename>/usr/local/kermit</filename> angelegt, in dem sich
+ alle Dateien des Unterverzeichnisses <filename>kermit</filename>
+ der CD-ROM finden.</para>
<para>Danach legen Sie mit <command>mkdir</command>
das Verzeichnis <filename>/usr/ports/distfiles</filename> an,
@@ -933,8 +934,8 @@
<para>Wechseln Sie nun mit <command>cd</command> nach
<filename>/usr/local/kermit</filename>. In diesem Verzeichnis
- befindet sich bereits ein <filename>Makefile</filename>. Geben Sie
- hier Folgendes ein:</para>
+ befindet sich bereits ein <filename>Makefile</filename>. Geben
+ Sie hier Folgendes ein:</para>
<informalexample>
<screen>&prompt.root; <userinput>make all install</userinput></screen>
@@ -947,25 +948,23 @@
Falls Sie noch keine Internetverbindung haben und die
benötigten Dateien nicht in
<filename>/cdrom/ports/distfiles</filename> vorhanden sind,
- müssen Sie sich die Dateien über einem anderen Rechner
- besorgen und manuell nach <filename>/usr/ports/distfiles</filename>
- kopieren (entweder über eine Diskette oder durch das
- Einhängen einer DOS-Partition. Sehen Sie im
- <filename>Makefile</filename> (mit <command>cat</command>,
- <command>more</command> oder <command>view</command>) nach, wo
- die Dateien zu finden sind (meist auf der Hauptseite des Programms)
- und besorgen Sie sich die Datei. Laden Sie die Datei unter DOS
- herunter, wird der Dateiname möglicherweise gekürzt. In
- diesem Fall müssen Sie, nachdem die Datei nach
- <filename>/usr/ports/distfiles</filename> kopiert wurde, den
- ursprünglichen Namen mit <command>mv</command>
- wiederherstellen, damit die Datei von der
+ müssen Sie sich die Dateien über einem anderen Rechner besorgen
+ und manuell nach <filename>/usr/ports/distfiles</filename>
+ kopieren (entweder über eine Diskette oder durch das Einhängen
+ einer DOS-Partition. Sehen Sie im <filename>Makefile</filename>
+ (mit <command>cat</command>, <command>more</command> oder
+ <command>view</command>) nach, wo die Dateien zu finden sind
+ (meist auf der Hauptseite des Programms) und besorgen Sie sich
+ die Datei. Laden Sie die Datei unter DOS herunter, wird der
+ Dateiname möglicherweise gekürzt. In diesem Fall müssen Sie,
+ nachdem die Datei nach <filename>/usr/ports/distfiles</filename>
+ kopiert wurde, den ursprünglichen Namen mit
+ <command>mv</command> wiederherstellen, damit die Datei von der
Installationsroutine gefunden werden kann. Laden Sie die Datei
- mit FTP herunter, müssen Sie den Binär-Modus verwenden.
- Nun wechseln Sie zurück nach
- <filename>/usr/local/kermit</filename> (hier befindet sich ja
- das zur Installation nötige <filename>Makefile</filename>)
- und installieren das Programm mit
+ mit FTP herunter, müssen Sie den Binär-Modus verwenden. Nun
+ wechseln Sie zurück nach <filename>/usr/local/kermit</filename>
+ (hier befindet sich ja das zur Installation nötige
+ <filename>Makefile</filename>) und installieren das Programm mit
<command>make all install</command>.</para>
<para>Beim Installieren von Ports oder Paketen kann es auch
@@ -1163,23 +1162,22 @@ setenv XNLSPATH /usr/X11R6/lib/X11/nls</programlisting>
<sect1 id="other">
<title>Einige abschließende Bemerkungen</title>
- <para>Als <username>root</username> können Sie das
- CD-ROM-Laufwerk mit <command>/sbin/umount /cdrom</command>
- abhängen, eine andere CD-ROM einlegen und mit
- <command>/sbin/mount_cd9660 /dev/cd0a /cdrom</command> wieder
- einhängen (falls <hardware>cd0a</hardware> der Devicename
- Ihres CD-ROM-Laufwerkes ist). Bei neueren FreeBSD-Versionen
- muss dafür nur <command>/sbin/mount /cdrom</command>
- eingegeben werden.</para>
-
- <para>Das Live-Filesystem (die zweite FreeBSD-CD-ROM) kann hilfreich
- sein, wenn auf Ihrem System nur begrenzt Speicherplatz vorhanden
- ist. Was genau auf dieser Live-CD enthalten ist, variiert von
- Ausgabe zu Ausgabe. Vielleicht können verschiedene Spiele
- von CD-ROM gespielt werden. Dazu muss aber auch
+ <para>Als <username>root</username> können Sie das CD-ROM-Laufwerk
+ mit <command>/sbin/umount /cdrom</command> abhängen, eine andere
+ CD-ROM einlegen und mit <command>/sbin/mount_cd9660 /dev/cd0a
+ /cdrom</command> wieder einhängen (falls
+ <hardware>cd0a</hardware> der Devicename Ihres CD-ROM-Laufwerkes
+ ist). Bei neueren FreeBSD-Versionen muss dafür nur
+ <command>/sbin/mount /cdrom</command> eingegeben werden.</para>
+
+ <para>Das Live-Filesystem (die zweite FreeBSD-CD-ROM) kann
+ hilfreich sein, wenn auf Ihrem System nur begrenzt Speicherplatz
+ vorhanden ist. Was genau auf dieser Live-CD enthalten ist,
+ variiert von Ausgabe zu Ausgabe. Vielleicht können verschiedene
+ Spiele von CD-ROM gespielt werden. Dazu muss aber auch
<command>lndir</command> vorhanden sein, damit diese Programme
- wissen, wo sie die von ihnen benötigten Dateien finden, da
- sich diese unter <filename>/cdrom</filename> und nicht unter
+ wissen, wo sie die von ihnen benötigten Dateien finden, da sich
+ diese unter <filename>/cdrom</filename> und nicht unter
<filename>/usr</filename> und den entsprechenden
Unterverzeichnissen befinden, wie es diese Programme erwarten.
Lesen Sie dazu auch &man.lndir.1;.</para>
diff --git a/de_DE.ISO8859-1/articles/port-mentor-guidelines/Makefile b/de_DE.ISO8859-1/articles/port-mentor-guidelines/Makefile
new file mode 100644
index 0000000000..08088577f8
--- /dev/null
+++ b/de_DE.ISO8859-1/articles/port-mentor-guidelines/Makefile
@@ -0,0 +1,22 @@
+#
+# The FreeBSD Documentation Project
+# The FreeBSD German Documentation Project
+#
+# $FreeBSD$
+# basiert auf: r39631
+#
+# Article: Port Mentor Guidelines
+#
+
+DOC?= article
+
+FORMATS?= html
+WITH_ARTICLE_TOC?= YES
+
+INSTALL_COMPRESSED?= gz
+INSTALL_ONLY_COMPRESSED?=
+
+SRCS= article.xml
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/de_DE.ISO8859-1/articles/port-mentor-guidelines/article.xml b/de_DE.ISO8859-1/articles/port-mentor-guidelines/article.xml
new file mode 100644
index 0000000000..275eccc463
--- /dev/null
+++ b/de_DE.ISO8859-1/articles/port-mentor-guidelines/article.xml
@@ -0,0 +1,266 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
+ "../../../share/xml/freebsd45.dtd">
+
+<!-- The FreeBSD Documentation Project
+ The FreeBSD German Documentation Project
+
+ $FreeBSD$
+ basiert auf: r396332
+-->
+
+<article lang="en">
+ <articleinfo>
+ <title>Richtlinien f&uuml;r Port-Mentoren</title>
+
+ <authorgroup>
+ <corpauthor>Das &os; Ports-Management Team</corpauthor>
+ </authorgroup>
+
+ <pubdate>$FreeBSD$</pubdate>
+
+ <releaseinfo>$FreeBSD$</releaseinfo>
+
+ <copyright>
+ <year>2011</year>
+ <holder role="mailto:tabthorpe@FreeBSD.org">Thomas
+ Abthorpe</holder>
+ <holder role="mailto:crees@FreeBSD.org">Chris Rees</holder>
+ </copyright>
+ </articleinfo>
+
+ <sect1 id="port-mentor.guidelines">
+ <title>Richtlinien f&uuml;r Mentor/Mentee Beziehungen</title>
+
+ <para>Dieser Abschnitt soll dazu dienen, den Mythos des
+ Mentoringprozesses zu entzaubern und gleichzeitig einen offenen
+ Dialog zu f&uuml;hren, um diese Richtlinien anzupassen und zu
+ erweitern. Es gibt bereits sehr viele Regeln in unserem Leben
+ und wir sind auch keine Regierungsorganisation, die Gesetze
+ aufzwingt. Stattdessen verstehen wir uns als eine Gemeinschaft
+ von gleichgesinnten Individuen, die an einem gemeinsamen Ziel
+ arbeiten, um die Qualit&auml;tsanspr&uuml;che an das Produkt,
+ welches als Portbaum bekannt ist, zu gew&auml;hrleisten.</para>
+
+ <sect2 id="why.mentor">
+ <title>Warum Mentor sein?</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Die meisten von uns kamen durch die Hife eines Mentors
+ in das Projekt hinein. Also sollte man jemand anderem auch
+ diesen Gefallen tun.</para>
+ </listitem>
+
+ <listitem>
+ <para>Sie haben das unwiderstehliche Bed&uuml;rfnis, anderen
+ Ihr Wissen mitzuteilen.</para>
+ </listitem>
+
+ <listitem>
+ <para>Die &uuml;bliche Bestrafung wird angewendet, da Sie es
+ mittlerweile Leid sind, die gute Arbeit von anderen Leuten
+ zu committen.</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2 id="mentor.comentor">
+ <title>Mentor/Mit-Mentor</title>
+
+ <para>Gr&uuml;nde f&uuml;r eine Mit-Mentorenschaft:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Signifikanter Zeitzonenunterschied. Verf&uuml;gbare
+ Mentoren, mit denen man interaktiv Dinge via Instant
+ Messenger besprechen kann, sind extrem hilfreich.</para>
+ </listitem>
+
+ <listitem>
+ <para>Potentielle Sprachbarriere. Ja, &os; ist, wie die
+ meiste Softwareentwicklung auch, sehr Englisch-orientiert.
+ Jedoch kann ein Mentor, der die eigene Sprache spricht,
+ hilfreich sein.</para>
+ </listitem>
+
+ <listitem>
+ <para>ENOTIME! Solange es keinen 30-Stunden Tag und eine
+ 8-Tage Woche gibt, haben manche von uns nur eine begrenzte
+ Menge Zeit zur Verf&uuml;gung. Diese Last mit jemandem zu
+ teilen macht die Sache einfacher.</para>
+ </listitem>
+
+ <listitem>
+ <para>Ein Mentor-Neuling kann von den Erfahrungen eines
+ erfahrenen Committers bzw. Mentors profitieren.</para>
+ </listitem>
+
+ <listitem>
+ <para>Zwei K&ouml;pfe sind besser als einer allein.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Gr&uuml;nde f&uuml;r einen Einzelmentor:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Sie arbeiten nicht so gut mit anderen zusammen.</para>
+ </listitem>
+
+ <listitem>
+ <para>Sie bevorzugen eine 1:1-Beziehung.</para>
+ </listitem>
+
+ <listitem>
+ <para>Die Gr&uuml;nde f&uuml;r die Mit-Mentorenschaft
+ treffen auf Sie nicht zu.</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2 id="mentor.expectations">
+ <title>Erwartungen</title>
+
+ <para>Wir erwarten, dass Mentoren alle vorgeschlagenen Patche,
+ zumindest f&uuml;r einen Anfangszeitraum, welcher mehr als
+ eine oder zwei Wochen dauert, pr&uuml;fen und testweise bauen
+ sollten.</para>
+
+ <para>Wir erwarten, dass Mentoren die Verantwortung f&uuml;r die
+ Aktionen Ihres Mentees &uuml;bernehmen. Ein Mentor sollte
+ hinter den Commits des Mentees stehen, sowohl implizit als
+ auch explizit.</para>
+
+ <para>Wir erwarten, dass Mentoren ihre Mentees die Lekt&uuml;re
+ des <ulink url="&url.books.porters-handbook;">Handbuch
+ f&uuml;r Ports Committer</ulink>, die <ulink
+ url="&url.articles.pr-guidelines;">PR-Richtlinien</ulink> sowie
+ den <ulink url="&url.articles.committers-guide;">Committer's
+ Guide</ulink> empfehlen. Obwohl es nicht notwendig ist, all
+ diese Details im Ged&auml;chtnis zu behalten, sollte jeder
+ Committer einen &Uuml;berblick &uuml;ber diese Dinge haben, um
+ ein effizienter Teil der Gemeinschaft zu sein (und um
+ Anf&auml;ngerfehler so weit wie m&ouml;glich zu vermeiden).</para>
+ </sect2>
+
+ <sect2 id="mentees">
+ <title>Auswahl eines Mentees</title>
+
+ <para>Es existiert keine definierte Regel, die festlegt, dass
+ ein Kandidat bereit ist. Es kann eine Kombination der Anzahl
+ von PRs sein, die an <application>GNATS</application>
+ geschickt wurden, die Anzahl an Ports, die von dieser Person
+ gepflegt werden, die H&auml;figkeit von Ports-Aktualisierungen
+ bzw. die Menge von Beteiligungen in einem bestimmten Bereich,
+ z.B. <application>GNOME</application>,
+ <application>KDE</application>,
+ <application>Gecko</application> oder andere.</para>
+
+ <para>Ein Kandidat sollte fasst keine Auszeiten haben, auf
+ Anfragen antworten und generell sehr hilfreich in der
+ Unterst&uuml;tzung seiner Ports sein.</para>
+
+ <para>Es sollte eine Historie von Einsatzbereitschaft vorliegen,
+ da es bekanntermassen Zeit und Aufwand ben&ouml;tigt, um einen
+ Committer zu trainieren. Falls jemand schon l&auml;ngere Zeit
+ dabei ist und Zeit damit verbringt, zu beobachten, wie die
+ Dinge funktionieren, ergibt sich eine Erwartungshaltung von
+ angeh&auml;uftem Wissen. Viel zu oft schon haben wir
+ beobachten m&uuml;ssen, dass jemand viele PRs schickt, um
+ anschliessend im IRC aufzutauchen um zu fragen, wann das
+ Commit-Bit gew&auml;hrt wird.</para>
+
+ <para>Eine Mailingliste abonniert zu haben und dieser zu folgen
+ ist vorteilhaft. Es gibt keine echte Erwartungshaltung, dass
+ durch das schreiben auf einer Mailingliste jemand zum
+ Committer wird, doch es zeigt dennoch die Bereitschaft. Manche
+ Mails bieten Einsichten in das Wissen eines Kandidaten
+ genauso, wie gut jemand mit anderen interagiert. Gleichfalls
+ kann durch Teilnahme im IRC jemand ein h&ouml;heres Ansehen
+ erhalten.</para>
+
+ <para>Fragen Sie sechs verschiedene Committer, wieviele PRs
+ jemand vor seiner Nominierung einschicken sollte und Sie
+ erhalten sechs verschiedene Antworten. Fragen Sie diese
+ Individuen wie lange jemand schon etwas beigetragen haben
+ sollte, ergibt sich das gleiche Dilemma. Wieviele Ports sollte
+ jemand als Minimum betreuen? Jetzt haben wir wirklich eine
+ Diskussion ausgel&ouml;st! Manche Dinge sind einfach schwer als
+ Mengen abzubilden, also muss ein Mentor eine Einsch&auml;tzung
+ machen und hoffen, dass portmgr zustimmt.</para>
+
+ </sect2>
+ <sect2 id="mentorship.duration">
+ <title>Dauer der Mentorenschaft</title>
+
+ <para>Mit der Zeit wird das Vertrauen in jemanden wachsen und
+ der Mentee wird <quote>implizite</quote> Commitrechte
+ erhalten. Dies kann triviale &Auml;nderungen f&uuml;r
+ <filename>Makefile</filename>, <filename>pkg-descr</filename>
+ und andere Dateien beinhalten. Genauso kann dies
+ Aktualisierungen der <makevar>PORTVERSION</makevar>, die keine
+ <makevar>plist</makevar>-&Auml;nderungen sind, betreffen.
+ Andere Umst&auml;nde k&ouml;nnen nach Gutd&uuml;nken des
+ Mentors formuliert werden. Allerdings sollten
+ Versions&auml;nderungen bei Ports, die andere Ports betreffen,
+ vorher von einem Mentor gepr&uuml;ft werden.</para>
+
+ <para>Genauso wie wir alle verschiedene Individuen sind, besitzt
+ jeder Mentee unterschiedliche Lernkurven, Zeitinvestitionen
+ und andere Einflussfaktoren, die zu der Zeit beitragen, bevor
+ jemand <quote>allein fliegt</quote>. Empirisch sollte ein
+ Mentee f&uuml;r mindestens 3 Monate beobachtet werden. 90-100
+ Commits ist ein weiteres Ziel, dass ein Mentor nutzen kann,
+ bevor jemand als Mentee entlassen wird. Andere Faktoren, die
+ man vor der Freilassung seines Mentees ber&uuml;cksichtigen
+ sollte, ist die Anzahl der gemachten Fehler, die erhaltenen
+ QATs, usw. Falls immer noch Fehler gemacht werden, ist die
+ Betreuung durch einen Mentor weiterhin notwendig.</para>
+ </sect2>
+
+ <sect2 id="mentor.comentor.debate">
+ <title>Mentor/Mit-Mentor Debatten</title>
+
+ <para>Wenn eine Anfrage an portmgr geht, sieht dies
+ normalerweise so aus: <quote>I propose 'foo' for a ports
+ commit bit, I will co-mentor with 'bar'</quote>. Anfrage wurde
+ erhalten, abgestimmt und die Entscheidung wird
+ getragen.</para>
+
+ <para>Der Mentor ist die prim&auml;re Kontaktperson, oder
+ zumindest der <quote>erste unter gleichgestellten</quote>, der
+ Co-Mentor dient als Absicherung.</para>
+
+ <para>Mancher Schurke, dessen Name hier nicht genannt werden
+ soll, machte den <ulink
+ url="http://lists.freebsd.org/pipermail/cvs-ports/2007-September/134614.html">
+ ersten aufgezeichneten Mit-Mentoren Commit</ulink>. Es wurden
+ auch schon Mit-Mentoren commits im src-Baum beobachtet. Macht
+ dieses Vorgehen die Sache richtig? Ist es falsch? Es scheint
+ Teil dessen zu sein, wie die Dinge sich entwickeln.</para>
+ </sect2>
+
+ <sect2 id="mentee.expectations">
+ <title>Erwartungen</title>
+
+ <para>Wir erwarten von Mentees, dass diese f&uuml;r konstruktive
+ Kritik aus der Gemeinschaft offen sind. Es gibt immer noch
+ viel <quote>Wissen</quote>, welches nicht geschrieben steht.
+ Richtig auf konstruktive Kritik zu antworten ist was wir
+ hoffen zu erkennen, wenn wir jemanden anhand seiner
+ Beitr&auml;ge im IRC und auf den Mailinglisten
+ ausw&auml;hlen.</para>
+
+ <para>Wir warnen Mentees davor, dass manche Kritik, die sie
+ erhalten werden, weniger <quote>konstruktiv</quote> als andere
+ sein wird (egal ob durch Verst&auml;ndigungsprobleme, die
+ durch die Sprache bedingt sind oder durch Pingeligkeit). Mit
+ dieser Art von Kritik kultiviert umzugehen ist auch Teil
+ davon, einer grossen Gemeinschaft anzugeh&ouml;ren. Bei
+ spezifischen Problemen mit bestimmten Leuten oder falls fragen
+ aufkommen, hoffen wir dass diese sich an ein Mitglied von
+ portmgr wenden, entweder via IRC oder per eMail.</para>
+ </sect2>
+ </sect1>
+</article>
diff --git a/de_DE.ISO8859-1/articles/solid-state/article.xml b/de_DE.ISO8859-1/articles/solid-state/article.xml
index 75a6d728c4..819b02ef07 100644
--- a/de_DE.ISO8859-1/articles/solid-state/article.xml
+++ b/de_DE.ISO8859-1/articles/solid-state/article.xml
@@ -72,22 +72,26 @@
<para>Dieser Artikel behandelt die Verwendung von Solid State Festplatten
in &os;, um eingebettete Systeme zu erstellen.</para>
- <para>Eingebettete Systeme haben den Vorteil, dass sie eine höhere
- Stabilität aufgrund des fehlens von beweglichen Bauteilen
- (Festplatten) besitzen. Es muss jedoch beachtet werden, dass generell
- weniger Speicherplatz zur Verfügung steht und die Lebensdauer des
- Speichermediums geringer ist.</para>
-
- <para>Spezielle Themen die behandelt werden beinhalten die Typen und
- Attribute von Solid State Datenträgern, die in &os; verwendet
- werden, Kernel-Optionen die in solch einer Umgebung von Interesse sind,
- der <filename>rc.initdiskless</filename>-Mechanismus, welcher die
- Initalisierung solcher Systeme automatisiert, sowie die Notwendigkeit
- von Nur-Lese-Dateisystemen und das Erstellen von Dateisystemen von
- Grund auf. Der Artikel schliesst mit ein paar generellen Strategien
- für kleine und Nur-Lese-&os; Umgebungen.</para>
-
- <para><emphasis>Übersetzt von Benedict Reuschling</emphasis>.</para>
+ <para>Eingebettete Systeme haben den Vorteil, dass sie eine
+ höhere Stabilität aufgrund des fehlens von beweglichen
+ Bauteilen (Festplatten) besitzen. Es muss jedoch beachtet
+ werden, dass generell weniger Speicherplatz zur Verfügung
+ steht und die Lebensdauer des Speichermediums geringer
+ ist.</para>
+
+ <para>Spezielle Themen die behandelt werden beinhalten die Typen
+ und Attribute von Solid State Datenträgern, die in &os;
+ verwendet werden, Kernel-Optionen die in solch einer Umgebung
+ von Interesse sind, der
+ <filename>rc.initdiskless</filename>-Mechanismus, welcher die
+ Initalisierung solcher Systeme automatisiert, sowie die
+ Notwendigkeit von Nur-Lese-Dateisystemen und das Erstellen von
+ Dateisystemen von Grund auf. Der Artikel schliesst mit ein
+ paar generellen Strategien für kleine und Nur-Lese-&os;
+ Umgebungen.</para>
+
+ <para><emphasis>Übersetzt von Benedict
+ Reuschling</emphasis>.</para>
</abstract>
</articleinfo>
@@ -95,39 +99,42 @@
<title>Solid State Festplattengeräte</title>
<para>Der Umfang des Artikels ist auf Solid State Geräte
- beschränkt, die auf Flash-Speicher basieren. Flash-Speicher ist ein
- Solid State Speicher (keine beweglichen Teile), der nicht flüchtig
- ist (der Speicher behält die Daten sogar nachdem alle Energiequellen
- ausgeschaltet wurden). Flash-Speicher kann grossen physischen Schock
- aushalten und ist vergleichsweise schnell (die Flash-Speicher
- Lösungen, die in diesem Artikel behandelt werden, sind nur wenig
- langsamer als eine EIDE-Festplatte in der Schreibgeschwindigkeit und viel
- schneller bei Lese-Operationen). Ein sehr wichtiger Aspekt von
+ beschränkt, die auf Flash-Speicher basieren. Flash-Speicher ist
+ ein Solid State Speicher (keine beweglichen Teile), der nicht
+ flüchtig ist (der Speicher behält die Daten sogar nachdem alle
+ Energiequellen ausgeschaltet wurden). Flash-Speicher kann
+ grossen physischen Schock aushalten und ist vergleichsweise
+ schnell (die Flash-Speicher Lösungen, die in diesem Artikel
+ behandelt werden, sind nur wenig langsamer als eine
+ EIDE-Festplatte in der Schreibgeschwindigkeit und viel schneller
+ bei Lese-Operationen). Ein sehr wichtiger Aspekt von
Flash-Speichern, dessen Auswirkungen später in diesem Artikel
- diskutiert werden, ist, dass jeder Sektor eine begrenzte Kapazität
- zur Wiederbeschreibung besitzt. Man kann nur eine bestimmte Anzahl von
- Schreib-, Lösch- und Wiederbeschreibungsvorgängen
- durchführen, bevor der Sektor permanent unbrauchbar wird. Obwohl
- viele Flash-Speicher Produkte automatisch schlechte Blöcke markieren
- und manche Geräte Schreiboperationen gleichmässig verteilen,
- bleibt weiterhin die Anzahl der durchführbaren Schreibvorgänge
- begrenzt. Verschiedene Geräteeinheiten besitzen zwischen 1,000,000
- und 10,000,000 Schreibzyklen pro Sektor in ihren Spezifikationen. Diese
- Zahlen variieren aufgrund der Umgebungstemperatur.</para>
+ diskutiert werden, ist, dass jeder Sektor eine begrenzte
+ Kapazität zur Wiederbeschreibung besitzt. Man kann nur eine
+ bestimmte Anzahl von Schreib-, Lösch- und
+ Wiederbeschreibungsvorgängen durchführen, bevor der Sektor
+ permanent unbrauchbar wird. Obwohl viele Flash-Speicher
+ Produkte automatisch schlechte Blöcke markieren und manche
+ Geräte Schreiboperationen gleichmässig verteilen, bleibt
+ weiterhin die Anzahl der durchführbaren Schreibvorgänge
+ begrenzt. Verschiedene Geräteeinheiten besitzen zwischen
+ 1,000,000 und 10,000,000 Schreibzyklen pro Sektor in ihren
+ Spezifikationen. Diese Zahlen variieren aufgrund der
+ Umgebungstemperatur.</para>
<para>Im Speziellen werden wir ATA-kompatible Compact-Flash-Karten
- betrachten, welche als Speichermedien für Digitalkameras ziemlich
- populär sind. Von besonderem Interesse ist der Umstand, dass diese
- direkt an den IDE-Bus angeschlossen werden und kompatibel zu den
- ATA-Befehlen sind. Aus diesem Grund können diese Geräte mit
- einem einfachen und billigen Adapter direkt an den IDE-Bus eines
- Computers angeschlossen werden. Auf diese Weise sehen Betriebssysteme
- wie &os; diese Geräte dann als normale (wenn auch sehr kleine)
- Festplatten an.</para>
-
- <para>Andere Solid State Plattenlösungen existieren, jedoch platzieren
- deren Kosten, Obskurität und ihre Unhandlichkeit sie aussserhalb
- des Umfangs dieses Artikels.</para>
+ betrachten, welche als Speichermedien für Digitalkameras
+ ziemlich populär sind. Von besonderem Interesse ist der
+ Umstand, dass diese direkt an den IDE-Bus angeschlossen werden
+ und kompatibel zu den ATA-Befehlen sind. Aus diesem Grund
+ können diese Geräte mit einem einfachen und billigen Adapter
+ direkt an den IDE-Bus eines Computers angeschlossen werden. Auf
+ diese Weise sehen Betriebssysteme wie &os; diese Geräte dann als
+ normale (wenn auch sehr kleine) Festplatten an.</para>
+
+ <para>Andere Solid State Plattenlösungen existieren, jedoch
+ platzieren deren Kosten, Obskurität und ihre Unhandlichkeit sie
+ aussserhalb des Umfangs dieses Artikels.</para>
</sect1>
<sect1 id="kernel">
@@ -137,17 +144,18 @@
diejenigen, welche diese eingebetteten &os;-Systeme erstellen
möchten.</para>
- <para>Alle eingebetteten &os;-Systeme, die Flash-Speicher als Systemplatte
- verwenden, sind interessant für Dateisysteme im Hauptspeicher und
- RAM-Disks. Wegen der begrenzten Anzahl von Schreibzyklen, die auf
- Flash-Speicher durchgeführt werden können, werden die Platte
- und die Dateisysteme darauf mit grosser Wahrscheinlichkeit nur lesend
- eingehängt werden. In dieser Umgebung werden Dateisysteme wie
- <filename>/tmp</filename> und <filename>/var</filename> als RAM-Disks
- eingebunden, um dem System zu erlauben, Logdateien anzulegen und
- Zähler sowie temporäre Dateien zu aktualisieren. RAM-Disks
- sind eine kritische Komponente für eine erfolgreiche Solid State
- Umsetzung in &os;.</para>
+ <para>Alle eingebetteten &os;-Systeme, die Flash-Speicher als
+ Systemplatte verwenden, sind interessant für Dateisysteme im
+ Hauptspeicher und RAM-Disks. Wegen der begrenzten Anzahl von
+ Schreibzyklen, die auf Flash-Speicher durchgeführt werden
+ können, werden die Platte und die Dateisysteme darauf mit
+ grosser Wahrscheinlichkeit nur lesend eingehängt werden. In
+ dieser Umgebung werden Dateisysteme wie
+ <filename>/tmp</filename> und <filename>/var</filename> als
+ RAM-Disks eingebunden, um dem System zu erlauben, Logdateien
+ anzulegen und Zähler sowie temporäre Dateien zu aktualisieren.
+ RAM-Disks sind eine kritische Komponente für eine erfolgreiche
+ Solid State Umsetzung in &os;.</para>
<para>Sie sollten dafür sorgen, dass die folgenden Zeilen in Ihrer
Kernelkonfigurationsdatei vorhanden sind:</para>
@@ -166,55 +174,58 @@ pseudo-device md # memory disk</programlisting>
kontrolliert.</para>
<para><filename>/etc/rc.d/var</filename> hängt
- <filename>/var</filename> als RAM-Disk ein, erstellt eine konfigurierbare
- Liste von Verzeichnissen in <filename>/var</filename> mittels des
- &man.mkdir.1;-Kommandos und ändert die Attribute von ein paar dieser
- Verzeichnisse. Bei der Ausführung von
- <filename>/etc/rc.d/var</filename> kommt eine andere
- <filename>rc.conf</filename>-Variable ins Spiel:
+ <filename>/var</filename> als RAM-Disk ein, erstellt eine
+ konfigurierbare Liste von Verzeichnissen in
+ <filename>/var</filename> mittels des &man.mkdir.1;-Kommandos
+ und ändert die Attribute von ein paar dieser Verzeichnisse. Bei
+ der Ausführung von <filename>/etc/rc.d/var</filename> kommt eine
+ andere <filename>rc.conf</filename>-Variable ins Spiel:
<literal>varsize</literal>. Die Datei <filename>/etc/rc.d/var</filename>
- erstellt eine <filename>/var</filename>-Partition basierend auf dem Wert
- dieser Variable in <filename>rc.conf</filename>:</para>
+ erstellt eine <filename>/var</filename>-Partition basierend auf
+ dem Wert dieser Variable in <filename>rc.conf</filename>:</para>
<programlisting>varsize=8192</programlisting>
- <para>Standardmässig wird dieser Wert in Sektoren angegeben.</para>
-
- <para>Der Fakt, dass es sich bei <filename>/var</filename> um ein nur-Lese
- Dateisystem handelt, ist eine wichtige Unterscheidung, da die
- <filename>/</filename>-Partition (und jede andere Partition, die Sie auf
- Ihrem Flash-Medium haben) nur lesend eingehängt wird. Erinnern Sie
- sich, dass in <xref linkend="intro"/> die Beschränkungen von
- Flash-Speichern erläutert wurden, speziell deren begrenzte
- Kapazität zum Schreiben. Die Notwendigkeit, Dateisysteme auf
- Flash-Speichern nur lesend einzubinden und keine Swap-Dateien zu
- verwenden, kann nicht oft genug erwähnt werden. Eine Swap-Datei auf
- einem ausgelasteten System kann in weniger als einem Jahr den gesamten
+ <para>Standardmässig wird dieser Wert in Sektoren
+ angegeben.</para>
+
+ <para>Der Fakt, dass es sich bei <filename>/var</filename> um ein
+ nur-Lese Dateisystem handelt, ist eine wichtige Unterscheidung,
+ da die <filename>/</filename>-Partition (und jede andere
+ Partition, die Sie auf Ihrem Flash-Medium haben) nur lesend
+ eingehängt wird. Erinnern Sie sich, dass in <xref
+ linkend="intro"/> die Beschränkungen von Flash-Speichern
+ erläutert wurden, speziell deren begrenzte Kapazität zum
+ Schreiben. Die Notwendigkeit, Dateisysteme auf Flash-Speichern
+ nur lesend einzubinden und keine Swap-Dateien zu verwenden, kann
+ nicht oft genug erwähnt werden. Eine Swap-Datei auf einem
+ ausgelasteten System kann in weniger als einem Jahr den gesamten
Flash-Speicher aufbrauchen. Häufige Protokollierung oder das
Erstellen und Löschen von temporären Dateien kann das gleiche
- verursachen. Aus diesem Grund sollten Sie zusätzlich zum entfernen
- des <literal>swap</literal>-Eintrags aus ihrer
- <filename>/etc/fstab</filename>-Datei auch noch die Optionsfelder
- für jedes Dateisystem auf <literal>ro</literal> wie folgt
- stellen:</para>
+ verursachen. Aus diesem Grund sollten Sie zusätzlich zum
+ entfernen des <literal>swap</literal>-Eintrags aus ihrer
+ <filename>/etc/fstab</filename>-Datei auch noch die
+ Optionsfelder für jedes Dateisystem auf <literal>ro</literal>
+ wie folgt stellen:</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1a / ufs ro 1 1</programlisting>
- <para>Ein paar Anwendungen im normalen System werden sofort nach dieser
- Änderung ausfallen. Beispielsweise wird Cron nicht richtig
- funktionieren, aufgrund von fehlenden Cron-Tabellen in
+ <para>Ein paar Anwendungen im normalen System werden sofort nach
+ dieser Änderung ausfallen. Beispielsweise wird Cron nicht
+ richtig funktionieren, aufgrund von fehlenden Cron-Tabellen in
<filename>/var</filename> die von
- <filename>/etc/rc.d/var</filename> erstellt wurden. Syslog und DHCP
- werden ebenfalls Probleme durch das nur-Lese Dateisystem
+ <filename>/etc/rc.d/var</filename> erstellt wurden. Syslog und
+ DHCP werden ebenfalls Probleme durch das nur-Lese Dateisystem
und fehlende Elemente im Verzeichnis <filename>/var</filename>
- verursachen, die <filename>/etc/rc.d/var</filename> erstellt hat. Diese
- Probleme sind jedoch nur vorübergehend und werden zusammen mit
- Lösungen zur Ausführung von anderen gebräuchlichen
- Softwarepaketen in <xref linkend="strategies"/> angesprochen.</para>
-
- <para>Eine wichtige Sache, an die man sich erinnern sollte, ist, dass
- ein Dateisystem, welches als nur lesend in
+ verursachen, die <filename>/etc/rc.d/var</filename> erstellt
+ hat. Diese Probleme sind jedoch nur vorübergehend und werden
+ zusammen mit Lösungen zur Ausführung von anderen gebräuchlichen
+ Softwarepaketen in <xref linkend="strategies"/>
+ angesprochen.</para>
+
+ <para>Eine wichtige Sache, an die man sich erinnern sollte, ist,
+ dass ein Dateisystem, welches als nur lesend in
<filename>/etc/fstab</filename> eingebunden wurde, jederzeit als
schreibend durch das folgende Kommando eingehängt werden
kann:</para>
@@ -229,55 +240,58 @@ pseudo-device md # memory disk</programlisting>
<sect1>
<title>Ein Dateisystem von Grund auf neu erstellen</title>
- <para>Wenn ATA-kompatible Compact-Flash-Karten von &os; als normale
- IDE-Festplatten erkannt werden, könnten Sie theoretisch &os; aus dem
- Netzwerk mittels der Kern- und mfsroot-Floppies oder einer CD
- installieren.</para>
-
- <para>Jedoch kann selbst eine kleine Installation von &os; durch die
- normale Installationsprozedur ein System erzeugen, dass grösser als
- 200&nbsp;MB ist. Da die meisten Leute kleinere Flash-Speichermedien
- einsetzen (128&nbsp;MB wird hier als gross angesehen - 32 oder sogar
- 16&nbsp;MB sind gebräuchlich) ist eine gewöhnliche Installation
- mit normalen Methoden nicht möglich, da es einfach nicht genug
- freien Plattenplatz gibt, selbst für die kleinste
- Installationsart.</para>
-
- <para>Der einfachste Weg, diese Speicherlimitierung zu umgehen, ist, &os;
- auf konventionelle Weise auf eine normale Festplatte zu installieren.
- Nachdem die Installation abgeschlossen wurde, kürzen Sie das
- Betriebssystem auf das nötigste, bis Sie eine Grösse erreicht
- hat, die auf das Flash-Medium passt und benutzen Sie dann tar auf dem
- gesamten Dateisystem. Die folgenden Schritte werden Sie durch den
- Prozess der Vorbereitung eines Flash-Mediums für ihr getartes
- Dateisystem führen. Beachten Sie, dass Operationen wie
- Partitionierung, Benennung, Erstellung von Dateisystemen, etc. von Hand
- durchgeführt werden müssen, da eine normale Installation nicht
- möglich ist. Zusätzlich zu den Kern- und mfsroot-Disketten
- benötigen Sie auch die fixit-Floppy.</para>
+ <para>Wenn ATA-kompatible Compact-Flash-Karten von &os; als
+ normale IDE-Festplatten erkannt werden, könnten Sie theoretisch
+ &os; aus dem Netzwerk mittels der Kern- und mfsroot-Floppies
+ oder einer CD installieren.</para>
+
+ <para>Jedoch kann selbst eine kleine Installation von &os; durch
+ die normale Installationsprozedur ein System erzeugen, dass
+ grösser als 200&nbsp;MB ist. Da die meisten Leute kleinere
+ Flash-Speichermedien einsetzen (128&nbsp;MB wird hier als gross
+ angesehen - 32 oder sogar 16&nbsp;MB sind gebräuchlich) ist eine
+ gewöhnliche Installation mit normalen Methoden nicht möglich, da
+ es einfach nicht genug freien Plattenplatz gibt, selbst für die
+ kleinste Installationsart.</para>
+
+ <para>Der einfachste Weg, diese Speicherlimitierung zu umgehen,
+ ist, &os; auf konventionelle Weise auf eine normale Festplatte
+ zu installieren. Nachdem die Installation abgeschlossen wurde,
+ kürzen Sie das Betriebssystem auf das nötigste, bis Sie eine
+ Grösse erreicht hat, die auf das Flash-Medium passt und benutzen
+ Sie dann tar auf dem gesamten Dateisystem. Die folgenden
+ Schritte werden Sie durch den Prozess der Vorbereitung eines
+ Flash-Mediums für ihr getartes Dateisystem führen. Beachten
+ Sie, dass Operationen wie Partitionierung, Benennung, Erstellung
+ von Dateisystemen, etc. von Hand durchgeführt werden müssen, da
+ eine normale Installation nicht möglich ist. Zusätzlich zu den
+ Kern- und mfsroot-Disketten benötigen Sie auch die
+ fixit-Floppy.</para>
<procedure>
<step>
<title>Partitionierung Ihrer Flash-Medien</title>
- <para>Wählen Sie nach dem Starten der Kern- und mfsroot-Disketten,
- <literal>custom</literal> aus dem Installationsmenü. In diesem
- Menü wählen Sie dann <literal>partition</literal> aus.
- Dort sollten Sie alle bestehenden Partitionen mit Hilfe der Taste
+ <para>Wählen Sie nach dem Starten der Kern- und
+ mfsroot-Disketten, <literal>custom</literal> aus dem
+ Installationsmenü. In diesem Menü wählen Sie dann
+ <literal>partition</literal> aus. Dort sollten Sie alle
+ bestehenden Partitionen mit Hilfe der Taste
<keycap>d</keycap> löschen. Nachdem alle bestehenden
Partitionen gelöscht wurden, erstellen Sie mittels der Taste
<keycap>c</keycap> eine Partition und akzeptieren Sie den
Standardwert für die Grösse der Partition. Wenn Sie nach
- dem Typ der Partition gefragt werden, stellen Sie sicher, dass der
- Wert auf <literal>165</literal> eingestellt ist. Schreiben Sie jetzt
- diese Partitionstabelle auf die Platte durch betätigen der Taste
- <keycap>w</keycap> (dies ist die versteckte Option auf diesem
- Bildschirm). Wenn Sie eine ATA-kompatible Compact Flash-Karte
- verwenden, sollten Sie den &os; Bootmanager auswählen.
- Drücken Sie nun die Taste <keycap>q</keycap>, um das
- Partitionsmenü zu verlassen. Sie werden das Menü des
- Bootmanagers noch ein weiteres Mal gezeigt bekommt. In diesem Fall
- wiederholen Sie die Auswahl von vorher.</para>
+ dem Typ der Partition gefragt werden, stellen Sie sicher,
+ dass der Wert auf <literal>165</literal> eingestellt ist.
+ Schreiben Sie jetzt diese Partitionstabelle auf die Platte
+ durch betätigen der Taste <keycap>w</keycap> (dies ist die
+ versteckte Option auf diesem Bildschirm). Wenn Sie eine
+ ATA-kompatible Compact Flash-Karte verwenden, sollten Sie
+ den &os; Bootmanager auswählen. Drücken Sie nun die Taste
+ <keycap>q</keycap>, um das Partitionsmenü zu verlassen. Sie
+ werden das Menü des Bootmanagers noch ein weiteres Mal
+ gezeigt bekommt. In diesem Fall wiederholen Sie die Auswahl
+ von vorher.</para>
</step>
<step>
@@ -285,27 +299,28 @@ pseudo-device md # memory disk</programlisting>
Flashspeicher-Gerät</title>
<para>Verlassen Sie das Installationsmenü und wählen Sie aus
- dem Hauptinstallationsmenü die Option <literal>fixit</literal>.
- In der fixit-Umgebung angelangt, geben Sie den folgenden Befehl
- ein:</para>
+ dem Hauptinstallationsmenü die Option
+ <literal>fixit</literal>. In der fixit-Umgebung angelangt,
+ geben Sie den folgenden Befehl ein:</para>
<screen>&prompt.root; <userinput>disklabel -e /dev/ad0c</userinput></screen>
- <para>Zu diesem Zeitpunkt sollten Sie sich im vi-Editor unter der
- Herrschaft des disklabel-Kommandos befinden. Als nächstes
- müssen Sie die eine <literal>a:</literal>-Zeile an das Ende der
- Datei hinzufügen. Diese
- <literal>a:</literal>-Zeile sollte wie folgt aussehen:</para>
+ <para>Zu diesem Zeitpunkt sollten Sie sich im vi-Editor unter
+ der Herrschaft des disklabel-Kommandos befinden. Als
+ nächstes müssen Sie die eine <literal>a:</literal>-Zeile an
+ das Ende der Datei hinzufügen. Diese
+ <literal>a:</literal>-Zeile sollte wie folgt
+ aussehen:</para>
<programlisting>a: <replaceable>123456</replaceable> 0 4.2BSD 0 0</programlisting>
- <para>Wobei <replaceable>123456</replaceable> eine Zahl darstellt, die
- exakt der gleichen Zahl in der bestehenden Zeile mit dem
- <literal>c:</literal>-Eintrag entspricht. Sie kopieren quasi
- die bestehende Zeile <literal>c:</literal> als eine neue Zeile
- <literal>a:</literal> und stellen sicher, dass fstype
- <literal>4.2BSD</literal> entspricht. Speichern Sie die Datei und
- verlassen Sie den Editor.</para>
+ <para>Wobei <replaceable>123456</replaceable> eine Zahl
+ darstellt, die exakt der gleichen Zahl in der bestehenden
+ Zeile mit dem <literal>c:</literal>-Eintrag entspricht. Sie
+ kopieren quasi die bestehende Zeile <literal>c:</literal>
+ als eine neue Zeile <literal>a:</literal> und stellen
+ sicher, dass fstype <literal>4.2BSD</literal> entspricht.
+ Speichern Sie die Datei und verlassen Sie den Editor.</para>
<screen>&prompt.root; <userinput>disklabel -B -r /dev/ad0c</userinput>
&prompt.root; <userinput>newfs /dev/ad0a</userinput></screen>
@@ -318,24 +333,26 @@ pseudo-device md # memory disk</programlisting>
<screen>&prompt.root; <userinput>mount /dev/ad0a /flash</userinput></screen>
- <para>Verbinden Sie diese Maschine mit dem Netzwerk, um die tar-Datei
- zu übertragen und extrahieren Sie es auf das Dateisystem des
- Flash-Mediums. Ein Beispiel dazu wäre folgendes:</para>
+ <para>Verbinden Sie diese Maschine mit dem Netzwerk, um die
+ tar-Datei zu übertragen und extrahieren Sie es auf das
+ Dateisystem des Flash-Mediums. Ein Beispiel dazu wäre
+ folgendes:</para>
<screen>&prompt.root; <userinput>ifconfig xl0 192.168.0.10 netmask 255.255.255.0</userinput>
&prompt.root; <userinput>route add default 192.168.0.1</userinput></screen>
- <para>Jetzt da die Maschine ans Netzwerk angeschlossen ist, kopieren
- Sie die tar-Datei. An diesem Punkt werden Sie möglicherweise
- mit einem Dilemma konfrontiert - sollte Ihr Flash-Speicher
- beispielsweise 128&nbsp;MB gross sein und Ihre tar-Datei grösser
- als 64&nbsp;MB, können Sie ihre tar-Datei auf dem Flash-Speicher
- nicht entpacken - Ihnen wird vorher der Speicherplatz ausgehen. Eine
- Lösung für dieses Problem, sofern Sie FTP verwenden, ist,
- dass Sie die Datei entpacken können, während es von FTP
- übertragen wird. Wenn Sie die Übertragung auf diese Weise
- durchführen, haben Sie niemals die tar-Datei und deren Inhalt
- zur gleichen Zeit auf Ihrem Medium:</para>
+ <para>Jetzt da die Maschine ans Netzwerk angeschlossen ist,
+ kopieren Sie die tar-Datei. An diesem Punkt werden Sie
+ möglicherweise mit einem Dilemma konfrontiert - sollte Ihr
+ Flash-Speicher beispielsweise 128&nbsp;MB gross sein und
+ Ihre tar-Datei grösser als 64&nbsp;MB, können Sie ihre
+ tar-Datei auf dem Flash-Speicher nicht entpacken - Ihnen
+ wird vorher der Speicherplatz ausgehen. Eine Lösung für
+ dieses Problem, sofern Sie FTP verwenden, ist, dass Sie die
+ Datei entpacken können, während es von FTP übertragen wird.
+ Wenn Sie die Übertragung auf diese Weise durchführen, haben
+ Sie niemals die tar-Datei und deren Inhalt zur gleichen Zeit
+ auf Ihrem Medium:</para>
<screen><prompt>ftp></prompt> <userinput>get tarfile.tar "| tar xvf -"</userinput></screen>
@@ -344,19 +361,20 @@ pseudo-device md # memory disk</programlisting>
<screen><prompt>ftp></prompt> <userinput>get tarfile.tar "| zcat | tar xvf -"</userinput></screen>
- <para>Nachdem der Inhalt Ihrer tar-Datei auf dem Dateisystem des
- Flash-Mediums abgelegt wurden, können Sie den Flash-Speicher
- aushängen und neu starten:</para>
+ <para>Nachdem der Inhalt Ihrer tar-Datei auf dem Dateisystem
+ des Flash-Mediums abgelegt wurden, können Sie den
+ Flash-Speicher aushängen und neu starten:</para>
<screen>&prompt.root; <userinput>cd /</userinput>
&prompt.root; <userinput>umount /flash</userinput>
&prompt.root; <userinput>exit</userinput></screen>
- <para>In der Annahme, dass Sie Ihr Dateisystem richtig konfiguriert
- haben, als es noch auf der gewöhnlichen Festplatte gebaut wurde
- (mit Ihren Nur-Lese-Dateisystemen und den nötigen Optionen im
- Kernel), sollten Sie nun erfolgreich von Ihrem &os; Embedded-System
- starten können.</para>
+ <para>In der Annahme, dass Sie Ihr Dateisystem richtig
+ konfiguriert haben, als es noch auf der gewöhnlichen
+ Festplatte gebaut wurde (mit Ihren Nur-Lese-Dateisystemen
+ und den nötigen Optionen im Kernel), sollten Sie nun
+ erfolgreich von Ihrem &os; Embedded-System starten
+ können.</para>
</step>
</procedure>
</sect1>
@@ -364,13 +382,14 @@ pseudo-device md # memory disk</programlisting>
<sect1 id="strategies">
<title>Systemstrategien für kleine und Nur-Lese-Umgebungen</title>
- <para>In <xref linkend="ro-fs"/> wurde darauf hingewiesen, dass das
- <filename>/var</filename>-Dateisystem von
- <filename>/etc/rc.d/var</filename> konstruiert wurde und die Präsenz
- eines Nur-Lese-Wurzeldateisystems Probleme mit vielen in &os;
- gebrächlichen Softwarepaketen verursacht. In diesem Artikel werden
- Vorschläge für das erfolgreiche Betreiben von cron, syslog,
- Installationen von Ports und dem Apache-Webserver unterbreitet.</para>
+ <para>In <xref linkend="ro-fs"/> wurde darauf hingewiesen, dass
+ das <filename>/var</filename>-Dateisystem von
+ <filename>/etc/rc.d/var</filename> konstruiert wurde und die
+ Präsenz eines Nur-Lese-Wurzeldateisystems Probleme mit vielen in
+ &os; gebrächlichen Softwarepaketen verursacht. In diesem
+ Artikel werden Vorschläge für das erfolgreiche Betreiben von
+ cron, syslog, Installationen von Ports und dem Apache-Webserver
+ unterbreitet.</para>
<sect2>
<title>cron</title>
@@ -385,36 +404,39 @@ pseudo-device md # memory disk</programlisting>
Standardverzeichnisse erstellt werden.</para>
<para>Jedoch löst das noch nicht das Problem, Crontabs über
- Neustarts des Systems hinaus zu erhalten. Wenn das System neu
- gestartet wird, verschwindet das <filename>/var</filename>-Dateiystem,
- welches sich im Hauptspeicher befunden hat und jegliche Crontabs, die
- Sie hatten werden ebenfalls verschwinden. Aus diesem Grund besteht eine
- Lösung darin, Crontabs für diejenigen Benutzer zu erstellen,
- die diese auch benötigen. Dazu sollte das
- <filename>/</filename>-Dateisystem lesend und schreibend
- eingehängt und diese Crontabs an einen sicheren Ort kopiert
- werden, wie beispielsweise <filename>/etc/tabs</filename>. Fügen
- Sie dann eine Zeile an das Ende der Datei
- <filename>/etc/rc.initdiskless</filename> hinzu, die diese Crontabs in
- <filename>/var/cron/tabs</filename> kopiert, nachdem dieses Verzeichnis
- während der Systeminitialisierung erstellt wurde. Sie werden auch
- eine Zeile hinzufügen mössen, welche die Besitzer und
- Berechtigungen auf diesen Verzeichnissen, die Sie erstellen und den
- dazugehörigen Dateien, die Sie mittels
- <filename>/etc/rc.initdiskless</filename> kopieren, setzen.</para>
+ Neustarts des Systems hinaus zu erhalten. Wenn das System neu
+ gestartet wird, verschwindet das
+ <filename>/var</filename>-Dateiystem, welches sich im
+ Hauptspeicher befunden hat und jegliche Crontabs, die Sie
+ hatten werden ebenfalls verschwinden. Aus diesem Grund besteht
+ eine Lösung darin, Crontabs für diejenigen Benutzer zu
+ erstellen, die diese auch benötigen. Dazu sollte das
+ <filename>/</filename>-Dateisystem lesend und schreibend
+ eingehängt und diese Crontabs an einen sicheren Ort kopiert
+ werden, wie beispielsweise <filename>/etc/tabs</filename>.
+ Fügen Sie dann eine Zeile an das Ende der Datei
+ <filename>/etc/rc.initdiskless</filename> hinzu, die diese
+ Crontabs in <filename>/var/cron/tabs</filename> kopiert,
+ nachdem dieses Verzeichnis während der Systeminitialisierung
+ erstellt wurde. Sie werden auch eine Zeile hinzufügen mössen,
+ welche die Besitzer und Berechtigungen auf diesen
+ Verzeichnissen, die Sie erstellen und den dazugehörigen
+ Dateien, die Sie mittels
+ <filename>/etc/rc.initdiskless</filename> kopieren,
+ setzen.</para>
</sect2>
<sect2>
<title>syslog</title>
- <para>Die Datei <filename>syslog.conf</filename> spezifiziert den Ort von
- bestimmten Logdateien, welche in <filename>/var/log</filename>
- existieren. Diese Dateien werden nicht von
- <filename>/etc/rc.d/var</filename> während der
- Systeminitialisierung erstellt. Aus diesem Grund müssen Sie
- irgendwo in <filename>/etc/rc.d/var</filename> nach dem Abschnitt, der
- die Verzeichnisse in <filename>/var</filename> erstellt, eine Zeile
- ähnlich der folgenden hinzufügen:</para>
+ <para>Die Datei <filename>syslog.conf</filename> spezifiziert
+ den Ort von bestimmten Logdateien, welche in
+ <filename>/var/log</filename> existieren. Diese Dateien
+ werden nicht von <filename>/etc/rc.d/var</filename> während
+ der Systeminitialisierung erstellt. Aus diesem Grund müssen
+ Sie irgendwo in <filename>/etc/rc.d/var</filename> nach dem
+ Abschnitt, der die Verzeichnisse in <filename>/var</filename>
+ erstellt, eine Zeile ähnlich der folgenden hinzufügen:</para>
<screen>&prompt.root; <userinput>touch /var/log/security /var/log/maillog /var/log/cron /var/log/messages</userinput>
&prompt.root; <userinput>chmod 0644 /var/log/*</userinput></screen>
@@ -424,56 +446,60 @@ pseudo-device md # memory disk</programlisting>
<title>Installation von Ports</title>
<para>Bevor die notwendigen Änderungen erkärt werden, einen
- Ports-Baum zu verwenden, ist es notwendig, Sie an die
- Nur-Lese-Besonderheit Ihres Dateisystems auf dem Flash-Medium zu
- erinnern. Da dieses nur lesend verfügbar ist, müssen Sie es
- vorübergehend mit Schreibrechten ausstatten, indem Sie die
- mount-Syntax, wie in <xref linkend="ro-fs"/> dargestellt wird,
- verwenden. Sie sollten immer diese Dateisysteme erneut mit
- nur-Lese-Rechten einhängen wenn Sie damit fertig sind -
- unnötige Schreibvorgänge auf dem Flash-Medium kann dessen
- Lebenszeit erheblich verkürzen.</para>
+ Ports-Baum zu verwenden, ist es notwendig, Sie an die
+ Nur-Lese-Besonderheit Ihres Dateisystems auf dem Flash-Medium
+ zu erinnern. Da dieses nur lesend verfügbar ist, müssen Sie
+ es vorübergehend mit Schreibrechten ausstatten, indem Sie die
+ mount-Syntax, wie in <xref linkend="ro-fs"/> dargestellt wird,
+ verwenden. Sie sollten immer diese Dateisysteme erneut mit
+ nur-Lese-Rechten einhängen wenn Sie damit fertig sind -
+ unnötige Schreibvorgänge auf dem Flash-Medium kann dessen
+ Lebenszeit erheblich verkürzen.</para>
<para>Um es zu ermöglichen, in das Ports-Verzeichnis zu wechseln
- und erfolgreich
- <command>make</command> <maketarget>install</maketarget>
- auszuführen, müssen wir ein Paketverzeichnis auf einem
- Nicht-Hauptspeicherdateisystem erstellen, welches die Pakete über
- Neustarts hinweg im Auge behält. Weil es sowieso nötig ist,
- Ihre Dateisysteme mit Lese-Schreibrechten für die Installation
- eines Pakets einzuhängen, ist es sinnvoll anzunehmen, dass ein
- Bereich Ihres Flash-Mediums ebenfalls für Paketinformationen, die
- darauf abgespeichert werden, verwendet wird.</para>
-
- <para>Erstellen Sie zuerst ein Verzeichnis für die Paketdatenbank.
- Normalerweise ist dies <filename>/var/db/pkg</filename>, jedoch
- können wir es dort nicht unterbringen, da es jedesmal verschwinden
- wird, wenn das System neu gestartet wird.</para>
+ und erfolgreich <command>make</command>
+ <maketarget>install</maketarget> auszuführen, müssen wir ein
+ Paketverzeichnis auf einem Nicht-Hauptspeicherdateisystem
+ erstellen, welches die Pakete über Neustarts hinweg im Auge
+ behält. Weil es sowieso nötig ist, Ihre Dateisysteme mit
+ Lese-Schreibrechten für die Installation eines Pakets
+ einzuhängen, ist es sinnvoll anzunehmen, dass ein Bereich
+ Ihres Flash-Mediums ebenfalls für Paketinformationen, die
+ darauf abgespeichert werden, verwendet wird.</para>
+
+ <para>Erstellen Sie zuerst ein Verzeichnis für die
+ Paketdatenbank. Normalerweise ist dies
+ <filename>/var/db/pkg</filename>, jedoch können wir es dort
+ nicht unterbringen, da es jedesmal verschwinden wird, wenn das
+ System neu gestartet wird.</para>
<screen>&prompt.root; <userinput>mkdir /etc/pkg</userinput></screen>
- <para>Fügen Sie nun eine Zeile in <filename>/etc/rc.d/var</filename>
- hinzu, welche das <filename>/etc/pkg</filename>-Verzeichnis mit
- <filename>/var/db/pkg</filename> verknüpft. Ein Beispiel:</para>
+ <para>Fügen Sie nun eine Zeile in
+ <filename>/etc/rc.d/var</filename> hinzu, welche das
+ <filename>/etc/pkg</filename>-Verzeichnis mit
+ <filename>/var/db/pkg</filename> verknüpft. Ein
+ Beispiel:</para>
<screen>&prompt.root; <userinput>ln -s /etc/pkg /var/db/pkg</userinput></screen>
<para>Nun wird jedes Mal, wenn Sie Ihre Dateisysteme mit
- Lese-Schreibrechten einbinden und ein Paket installieren, der Befehl
- <command>make</command> <maketarget>install</maketarget> funktionieren
- und Paketinformationen werden erfolgreich nach
- <filename>/etc/pkg</filename> geschrieben (da zu diesem Zeitpunkt das
- Dateisystem mit Lese-Schreibrechten eingebunden ist), welche dann stets
- dem Betriebssystem als <filename>/var/db/pkg</filename> zur
- Verfügung stehen.</para>
+ Lese-Schreibrechten einbinden und ein Paket installieren, der
+ Befehl <command>make</command>
+ <maketarget>install</maketarget> funktionieren und
+ Paketinformationen werden erfolgreich nach
+ <filename>/etc/pkg</filename> geschrieben (da zu diesem
+ Zeitpunkt das Dateisystem mit Lese-Schreibrechten eingebunden
+ ist), welche dann stets dem Betriebssystem als
+ <filename>/var/db/pkg</filename> zur Verfügung stehen.</para>
</sect2>
<sect2>
<title>Apache Webserver</title>
<note>
- <para>Die Anweisungen in diesem Abschnitt sind nur notwendig, wenn
- Apache so eingerichtet ist, dass dieser seine PID oder
+ <para>Die Anweisungen in diesem Abschnitt sind nur notwendig,
+ wenn Apache so eingerichtet ist, dass dieser seine PID oder
Protokollierungsinformationen ausserhalb von <filename
class="directory">/var</filename> ablegt. Standardmässig
bewahrt Apache seine PID-Datei in <filename
@@ -482,28 +508,31 @@ pseudo-device md # memory disk</programlisting>
class="directory">/var/log</filename> auf.</para>
</note>
- <para>Es wird nun davon ausgegangen, dass Apache seine Protokolldateien
- in einem Verzeichnis namens <filename
+ <para>Es wird nun davon ausgegangen, dass Apache seine
+ Protokolldateien in einem Verzeichnis namens <filename
class="directory"><replaceable>apache_log_dir</replaceable></filename>
- ausserhalb von <filename class="directory">/var</filename> speichert.
- Wenn dieses Verzeichnis auf einem nur-Lese-Dateisystem existiert, wird
- Apache nicht in der Lage sein, Protokolldateien zu speichern und wird
- vermutlich nicht richtig funktionieren. Wenn dies der Fall ist, muss
- ein neues Verzeichnis zu der Liste der Verzeichnisse in
- <filename>/etc/rc.d/var</filename> hinzugefügt werden, um dieses
- in <filename>/var</filename> zu erstellen und um <filename
+ ausserhalb von <filename class="directory">/var</filename>
+ speichert. Wenn dieses Verzeichnis auf einem
+ nur-Lese-Dateisystem existiert, wird Apache nicht in der Lage
+ sein, Protokolldateien zu speichern und wird vermutlich nicht
+ richtig funktionieren. Wenn dies der Fall ist, muss ein neues
+ Verzeichnis zu der Liste der Verzeichnisse in
+ <filename>/etc/rc.d/var</filename> hinzugefügt werden, um
+ dieses in <filename>/var</filename> zu erstellen und um
+ <filename
class="directory"><replaceable>apache_log_dir</replaceable></filename>
- nach <filename>/var/log/apache</filename> zu verknüpfen. Es ist
- auch nötig, Berechtigungen und Besitzer auf diesem neuen
+ nach <filename>/var/log/apache</filename> zu verknüpfen. Es
+ ist auch nötig, Berechtigungen und Besitzer auf diesem neuen
Verzeichnis zu setzen.</para>
- <para>Fügen Sie zuerst das Verzeichnis <literal>log/apache</literal>
- zu der Liste von Verzeichnissen hinzu, die in
- <filename>/etc/rc.d/var</filename> angelegt werden sollen.</para>
+ <para>Fügen Sie zuerst das Verzeichnis
+ <literal>log/apache</literal> zu der Liste von Verzeichnissen
+ hinzu, die in <filename>/etc/rc.d/var</filename> angelegt
+ werden sollen.</para>
<para>Danach tragen Sie die folgenden Befehle in
- <filename>/etc/rc.d/var</filename> nach dem Abschnitt zum Erstellen der
- Verzeichnisse ein:</para>
+ <filename>/etc/rc.d/var</filename> nach dem Abschnitt zum
+ Erstellen der Verzeichnisse ein:</para>
<screen>&prompt.root; <userinput>chmod 0774 /var/log/apache</userinput>
&prompt.root; <userinput>chown nobody:nobody /var/log/apache</userinput></screen>
diff --git a/de_DE.ISO8859-1/books/developers-handbook/Makefile b/de_DE.ISO8859-1/books/developers-handbook/Makefile
index d95d600e9a..375e408711 100644
--- a/de_DE.ISO8859-1/books/developers-handbook/Makefile
+++ b/de_DE.ISO8859-1/books/developers-handbook/Makefile
@@ -23,11 +23,11 @@ INSTALL_ONLY_COMPRESSED?=
IMAGES_EN= sockets/layers.eps sockets/sain.eps sockets/sainfill.eps sockets/sainlsb.eps sockets/sainmsb.eps sockets/sainserv.eps sockets/serv.eps sockets/serv2.eps sockets/slayers.eps
#
-# SRCS lists the individual SGML files that make up the document. Changes
+# SRCS lists the individual XML files that make up the document. Changes
# to any of these files will force a rebuild
#
-# SGML content
+# XML content
SRCS= book.xml
SRCS+= introduction/chapter.xml
SRCS+= ipv6/chapter.xml
diff --git a/de_DE.ISO8859-1/books/faq/Makefile b/de_DE.ISO8859-1/books/faq/Makefile
index ab4bd96f55..ab7732fd7e 100644
--- a/de_DE.ISO8859-1/books/faq/Makefile
+++ b/de_DE.ISO8859-1/books/faq/Makefile
@@ -20,11 +20,11 @@ INSTALL_ONLY_COMPRESSED?=
WITH_BIBLIOXREF_TITLE?=YES
#
-# SRCS lists the individual SGML files that make up the document. Changes
+# SRCS lists the individual XML files that make up the document. Changes
# to any of these files will force a rebuild
#
-# SGML content
+# XML content
SRCS= book.xml
URL_RELPREFIX?= ../../../..
diff --git a/de_DE.ISO8859-1/books/fdp-primer/Makefile b/de_DE.ISO8859-1/books/fdp-primer/Makefile
index e65b36fd2a..eab8b29286 100644
--- a/de_DE.ISO8859-1/books/fdp-primer/Makefile
+++ b/de_DE.ISO8859-1/books/fdp-primer/Makefile
@@ -15,11 +15,11 @@ INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
#
-# SRCS lists the individual SGML files that make up the document. Changes
+# SRCS lists the individual XML files that make up the document. Changes
# to any of these files will force a rebuild
#
-# SGML content
+# XML content
SRCS= book.xml
SRCS+= overview/chapter.xml
SRCS+= psgml-mode/chapter.xml
diff --git a/de_DE.ISO8859-1/books/handbook/Makefile b/de_DE.ISO8859-1/books/handbook/Makefile
index a14145b020..5787f7d20e 100644
--- a/de_DE.ISO8859-1/books/handbook/Makefile
+++ b/de_DE.ISO8859-1/books/handbook/Makefile
@@ -224,11 +224,11 @@ IMAGES_LIB+= callouts/14.png
IMAGES_LIB+= callouts/15.png
#
-# SRCS lists the individual SGML files that make up the document. Changes
+# SRCS lists the individual XML files that make up the document. Changes
# to any of these files will force a rebuild
#
-# SGML content
+# XML content
SRCS+= audit/chapter.xml
SRCS+= book.xml
SRCS+= bsdinstall/chapter.xml
@@ -275,8 +275,8 @@ SRCS+= chapters.ent
# alle Kapitel bauen
CHAPTERS?= ${SRCS:M*chapter.xml}
-SGMLFLAGS+= ${CHAPTERS:S/\/chapter.xml//:S/^/-i chap./}
-SGMLFLAGS+= -i chap.freebsd-glossary
+XMLFLAGS+= ${CHAPTERS:S/\/chapter.xml//:S/^/-i chap./}
+XMLFLAGS+= -i chap.freebsd-glossary
pgpkeyring: pgpkeys/chapter.xml
@${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
diff --git a/de_DE.ISO8859-1/books/porters-handbook/Makefile b/de_DE.ISO8859-1/books/porters-handbook/Makefile
index 06df80a74d..82650b4629 100644
--- a/de_DE.ISO8859-1/books/porters-handbook/Makefile
+++ b/de_DE.ISO8859-1/books/porters-handbook/Makefile
@@ -15,11 +15,11 @@ INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
#
-# SRCS lists the individual SGML files that make up the document. Changes
+# SRCS lists the individual XML files that make up the document. Changes
# to any of these files will force a rebuild
#
-# SGML content
+# XML content
SRCS= book.xml
# Use the local DSSSL file
diff --git a/de_DE.ISO8859-1/htdocs/Makefile b/de_DE.ISO8859-1/htdocs/Makefile
index 8ac43c6614..994a4a20c8 100644
--- a/de_DE.ISO8859-1/htdocs/Makefile
+++ b/de_DE.ISO8859-1/htdocs/Makefile
@@ -36,7 +36,7 @@ DOCS+= where.xml
#DATA+= vendors.html
# Subdirectories
-# SGML
+# XML
SUBDIR= community
SUBDIR+= developers
SUBDIR+= docproj
@@ -61,7 +61,7 @@ SUBDIR+= doc
SUBDIR+= relnotes
.endif
-# Non-SGML
+# Non-XML
SUBDIR+= gifs
WEBDIR?= data/de
diff --git a/de_DE.ISO8859-1/htdocs/administration.xml b/de_DE.ISO8859-1/htdocs/administration.xml
index 688b7f62d3..e2e635e38e 100644
--- a/de_DE.ISO8859-1/htdocs/administration.xml
+++ b/de_DE.ISO8859-1/htdocs/administration.xml
@@ -2,7 +2,7 @@
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY dedate "$FreeBSDde$">
-<!ENTITY reference "basiert auf: r39260">
+<!ENTITY reference "basiert auf: r39867">
<!ENTITY title "FreeBSD Project - Administration und Management">
]>
@@ -44,7 +44,7 @@
<li><a href="#t-donations">Donations Team</a></li>
<li><a href="#t-marketing">Marketing Team</a></li>
<li><a href="#t-secteam">Security Team</a></li>
- <li><a href="#t-vendor">Vendor Relations Team</a></li>
+ <li><a href="#t-vendor">Vendor Relations</a></li>
</ul>
</li>
<li>Sekretäre
@@ -62,7 +62,6 @@
<li><a href="#t-bugmeister">Bugmeisters &amp; GNATS
Administrators</a></li>
<li><a href="#t-clusteradm">Cluster Administrators</a></li>
- <li><a href="#t-dcvs">CVS doc/www Repository Managers</a></li>
<li><a href="#t-pcvs">CVS ports Repository Managers</a></li>
<li><a href="#t-ncvs">CVS src Repository Managers</a></li>
<li><a href="#t-cvsup-master">CVSup Mirror Site
@@ -133,12 +132,11 @@
<li>&a.tabthorpe; &lt;<a href="mailto:tabthorpe@FreeBSD.org">tabthorpe@FreeBSD.org</a>&gt;</li>
<li>&a.marcus; &lt;<a href="mailto:marcus@FreeBSD.org">marcus@FreeBSD.org</a>&gt;</li>
<li>&a.bapt; &lt;<a href="mailto:bapt@FreeBSD.org">bapt@FreeBSD.org</a>&gt;</li>
+ <li>&a.decke; &lt;<a href="mailto:decke@FreeBSD.org">decke@FreeBSD.org</a>&gt;</li>
<li>&a.beat; &lt;<a href="mailto:beat@FreeBSD.org">beat@FreeBSD.org</a>&gt;</li>
<li>&a.erwin; &lt;<a href="mailto:erwin@FreeBSD.org">erwin@FreeBSD.org</a>&gt;</li>
<li>&a.linimon; &lt;<a href="mailto:linimon@FreeBSD.org">linimon@FreeBSD.org</a>&gt;</li>
- <li>&a.pav; &lt;<a href="mailto:pav@FreeBSD.org">pav@FreeBSD.org</a>&gt;</li>
<li>&a.itetcu; &lt;<a href="mailto:itetcu@FreeBSD.org">itetcu@FreeBSD.org</a>&gt;</li>
- <li>&a.flz; &lt;<a href="mailto:flz@FreeBSD.org">flz@FreeBSD.org</a>&gt;</li>
<li>&a.miwi; &lt;<a href="mailto:miwi@FreeBSD.org">miwi@FreeBSD.org</a>&gt;</li>
</ul>
@@ -163,8 +161,6 @@
<li>&a.hrs; &lt;<a href="mailto:hrs@FreeBSD.org">hrs@FreeBSD.org</a>&gt;</li>
<li>&a.kensmith; &lt;<a href="mailto:kensmith@FreeBSD.org">kensmith@FreeBSD.org</a>&gt;
(Lead)</li>
- <li>&a.rwatson; &lt;<a href="mailto:rwatson@FreeBSD.org">rwatson@FreeBSD.org</a>&gt;</li>
- <li>&a.bz; &lt;<a href="mailto:bz@FreeBSD.org">bz@FreeBSD.org</a>&gt;</li>
</ul>
<h3><a name="t-re-builder">Builders Release Engineering Team</a>
@@ -177,6 +173,7 @@
<ul>
<li>&a.marcel; &lt;<a href="mailto:marcel@FreeBSD.org">marcel@FreeBSD.org</a>&gt;</li>
<li>&a.nyan; &lt;<a href="mailto:nyan@FreeBSD.org">nyan@FreeBSD.org</a>&gt;</li>
+ <li>&a.nwhitehorn; &lt;<a href="mailto:nwhitehorn@FreeBSD.org">nwhitehorn@FreeBSD.org</a>&gt;</li>
</ul>
<hr/>
@@ -192,8 +189,8 @@
href="&enbase;/donations/">FreeBSD Donations Liaison</a>.</p>
<ul>
+ <li>&a.tabthorpe; &lt;<a href="mailto:tabthorpe@FreeBSD.org">tabthorpe@FreeBSD.org</a>&gt;</li>
<li>&a.gjb; &lt;<a href="mailto:gjb@FreeBSD.org">gjb@FreeBSD.org</a>&gt;</li>
- <li>&a.wilko; &lt;<a href="mailto:wilko@FreeBSD.org">wilko@FreeBSD.org</a>&gt;</li>
<li>&a.gahr; &lt;<a href="mailto:gahr@FreeBSD.org">gahr@FreeBSD.org</a>&gt;</li>
<li>&a.pgollucci; &lt;<a href="mailto:pgolluci@FreeBSD.org">pgolluci@FreeBSD.org</a>&gt;</li>
<li>&a.skreuzer; &lt;<a href="mailto:skreuzer@FreeBSD.org">skreuzer@FreeBSD.org</a>&gt;</li>
@@ -245,25 +242,29 @@
Verantwortungsbereiche des Security Officers ausführlich.</p>
<ul>
+ <li>&a.benl; &lt;<a href="mailto:benl@FreeBSD.org">benl@FreeBSD.org</a>&gt;</li>
<li>&a.bz; &lt;<a href="mailto:bz@FreeBSD.org">bz@FreeBSD.org</a>&gt;</li>
<li>&a.cperciva; &lt;<a href="mailto:cperciva@FreeBSD.org">cperciva@FreeBSD.org</a>&gt;</li>
<li>&a.csjp; &lt;<a href="mailto:csjp@FreeBSD.org">csjp@FreeBSD.org</a>&gt;</li>
<li>&a.delphij; &lt;<a href="mailto:delphij@FreeBSD.org">delphij@FreeBSD.org</a>&gt;</li>
- <li>&a.miwi; &lt;<a href="mailto:miwi@FreeBSD.org">miwi@FreeBSD.org</a>&gt;</li>
+ <li>&a.des; &lt;<a href="mailto:des@FreeBSD.org">des@FreeBSD.org</a>&gt;</li>
+ <li>&a.gavin; &lt;<a href="mailto:gavin@FreeBSD.org">gavin@FreeBSD.org</a>&gt;</li>
+ <li>&a.jonathan; &lt;<a href="mailto:jonathan@FreeBSD.org">jonathan@FreeBSD.org</a>&gt;</li>
<li>&a.philip; &lt;<a href="mailto:philip@FreeBSD.org">philip@FreeBSD.org</a>&gt;</li>
- <li>&a.qingli; &lt;<a href="mailto:qingli@FreeBSD.org">qingli@FreeBSD.org</a>&gt;</li>
<li>&a.remko; &lt;<a href="mailto:remko@FreeBSD.org">remko@FreeBSD.org</a>&gt;</li>
- <li>&a.rwatson; &lt;<a href="mailto:rwatson@FreeBSD.org">rwatson@FreeBSD.org</a>&gt;
- (Core Team Liaison)</li>
+ <li>&a.rwatson; &lt;<a href="mailto:rwatson@FreeBSD.org">rwatson@FreeBSD.org</a>&gt;</li>
<li>&a.simon; &lt;<a href="mailto:simon@FreeBSD.org">simon@FreeBSD.org</a>&gt;
(Officer)</li>
<li>&a.stas; &lt;<a href="mailto:stas@FreeBSD.org">stas@FreeBSD.org</a>&gt;</li>
</ul>
- <h3><a name="t-vendor">Vendor Relations Team</a>
+ <h3><a name="t-vendor">Vendor Relations</a>
&lt;<a href="mailto:vendor-relations@FreeBSD.org">vendor-relations@FreeBSD.org</a>&gt;</h3>
- <p>Ansprechpartner für Unternehmen und Verkäufer.</p>
+ <p>&os; Vendor Relations ist für die Bearbeitung der E-Mails
+ von Hard- und Softwareverkäufern verantwortlich. An Vendor
+ Relations geschickte E-Mails werden zusätzlich an das
+ &os;&nbsp;Core Team sowie die &os;&nbsp;Foundation weitergeleitet.</p>
<ul>
<li>&a.gioria; &lt;<a href="mailto:gioria@FreeBSD.org">gioria@FreeBSD.org</a>&gt;</li>
@@ -364,10 +365,10 @@
ungültige Einträge.</p>
<ul>
+ <li>&a.eadler; &lt; <a href="mailto:eadler@FreeBSD.org">eadler@FreeBSD.org</a>&gt;</li>
<li>&a.gavin; &lt;<a href="mailto:gavin@FreeBSD.org">gavin@FreeBSD.org</a>&gt;</li>
+ <li>&a.gonzo; &lt;<a href="mailto:gonzo@FreeBSD.org">gonzo@FreeBSD.org</a>&gt;</li>
<li>&a.linimon; &lt;<a href="mailto:linimon@FreeBSD.org">linimon@FreeBSD.org</a>&gt;</li>
- <li>&a.remko; &lt;<a href="mailto:remko@FreeBSD.org">remko@FreeBSD.org</a>&gt;</li>
- <li>&a.vwe; &lt;<a href="mailto:vwe@FreeBSD.org">vwe@FreeBSD.org</a>&gt;</li>
</ul>
<h3><a name="t-clusteradm">Cluster Administrator</a>
@@ -384,30 +385,12 @@
werden.</p>
<ul>
+ <li>&a.bhaga; &lt;<a href="mailto:bhaga@FreeBSD.org">bhaga@FreeBSD.org</a>&gt;</li>
<li>&a.brd; &lt;<a href="mailto:brd@FreeBSD.org">brd@FreeBSD.org</a>&gt;</li>
- <li>&a.billf; &lt;<a href="mailto:billf@FreeBSD.org">billf@FreeBSD.org</a>&gt;</li>
- <li>&a.simon; &lt;<a href="mailto:simon@FreeBSD.org">simon@FreeBSD.org</a>&gt;</li>
- <li>&a.ps; &lt;<a href="mailto:ps@FreeBSD.org">ps@FreeBSD.org</a>&gt;</li>
<li>&a.kensmith; &lt;<a href="mailto:kensmith@FreeBSD.org">kensmith@FreeBSD.org</a>&gt;</li>
<li>&a.peter; &lt;<a href="mailto:peter@FreeBSD.org">peter@FreeBSD.org</a>&gt;</li>
- </ul>
-
- <h3><a name="t-dcvs">CVS doc/www Repository Manager</a>
- &lt;<a href="mailto:dcvs@FreeBSD.org">dcvs@FreeBSD.org</a>&gt;</h3>
-
- <p>CVS doc/www Repository Manager dürfen das doc/www-Repository
- ohne CVS-Mittel modifizieren. Sie achten darauf, dass Probleme
- innerhalb des Repositories umgehend gelöst werden.
- CVS www/doc Repository Manager haben das Recht, Committs
- rückgängig zu machen, falls dies zur Lösung eines
- CVS-Problems erforderlich ist. Anfragen bezüglich
- Repo-copies sollten ebenfalls direkt an die Repository Manager
- gestellt werden.</p>
-
- <ul>
- <li>&a.joe; &lt;<a href="mailto:joe@FreeBSD.org">joe@FreeBSD.org</a>&gt;</li>
- <li>&a.kuriyama; &lt;<a href="mailto:kuriyama@FreeBSD.org">kuriyama@FreeBSD.org</a>&gt;</li>
- <li>&a.markm; &lt;<a href="mailto:markm@FreeBSD.org">markm@FreeBSD.org</a>&gt;</li>
+ <li>&a.gioria; &lt;<a href="mailto:gioria@FreeBSD.org">gioria@FreeBSD.org</a>&gt;</li>
+ <li>&a.sbruno; &lt;<a href="mailto:sbruno@FreeBSD.org">sbruno@FreeBSD.org</a>&gt;</li>
<li>&a.simon; &lt;<a href="mailto:simon@FreeBSD.org">simon@FreeBSD.org</a>&gt;</li>
</ul>
@@ -475,7 +458,6 @@
<p>DNS Administrators verwalten DNS und verwandte Dienste.</p>
<ul>
- <li>&a.billf; &lt;<a href="mailto:billf@FreeBSD.org">billf@FreeBSD.org</a>&gt;</li>
<li>&a.dg; &lt;<a href="mailto:dg@FreeBSD.org">dg@FreeBSD.org</a>&gt;</li>
<li>&a.ps; &lt;<a href="mailto:ps@FreeBSD.org">ps@FreeBSD.org</a>&gt;</li>
<li>&a.kensmith; &lt;<a href="mailto:kensmith@FreeBSD.org">kensmith@FreeBSD.org</a>&gt;</li>
@@ -525,6 +507,7 @@
<ul>
<li>&a.jmb; &lt;<a href="mailto:jmb@FreeBSD.org">jmb@FreeBSD.org</a>&gt;</li>
<li>&a.brd; &lt;<a href="mailto:brd@FreeBSD.org">brd@FreeBSD.org</a>&gt;</li>
+ <li>&a.flo; &lt;<a href="mailto:flo@FreeBSD.org">flo@FreeBSD.org</a>&gt;</li>
<li>&a.sahil; &lt;<a href="mailto:sahil@FreeBSD.org">sahil@FreeBSD.org</a>&gt;</li>
<li>&a.dhw; &lt;<a href="mailto:dhw@FreeBSD.org">dhw@FreeBSD.org</a>&gt;</li>
</ul>
diff --git a/de_DE.ISO8859-1/htdocs/community.xsl b/de_DE.ISO8859-1/htdocs/community.xsl
index d8831d99b8..5b61e2f0ae 100644
--- a/de_DE.ISO8859-1/htdocs/community.xsl
+++ b/de_DE.ISO8859-1/htdocs/community.xsl
@@ -6,17 +6,19 @@
]>
<!-- $FreeBSD$ -->
-<!-- $FreeBSDde: de-www/community.xsl,v 1.7 2011/08/01 09:27:32 jkois Exp $ -->
-<!-- basiert auf: 1.9 -->
+<!-- $FreeBSDde$ -->
+<!-- basiert auf: r40558 -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns="http://www.w3.org/1999/xhtml">
+ xmlns:date="http://exslt.org/dates-and-times"
+ xmlns="http://www.w3.org/1999/xhtml"
+ extension-element-prefixes="date">
<xsl:import href="http://www.FreeBSD.org/XML/www/lang/share/xml/libcommon.xsl"/>
<xsl:import href="http://www.FreeBSD.org/XML/www/share/xml/xhtml.xsl"/>
- <xsl:key name="last-year-event-by-country" match="event[number(enddate/year) = (number($curdate.year) - 1)]"
+ <xsl:key name="last-year-event-by-country" match="event[number(enddate/year) = (number(date:year()) - 1)]"
use="location/country" />
<xsl:key name="event-by-year" match="event" use="enddate/year" />
@@ -39,7 +41,7 @@
select="count(document($usergroups.xml)//entry)"
/><xsl:text> </xsl:text>--> <a
href="&enbase;/usergroups.html">User Groups</a> in
- 36 Ländern. <!--<xsl:value-of
+ 38 Ländern. <!--<xsl:value-of
select="count(document($usergroups.xml)//country)" />-->
Zusätzlich existiert eine aktive <a
href="&base;/community/irc.html">IRC</a>-Gemeinde.
@@ -54,10 +56,10 @@
href="&enbase;/community/social.html">Sozialen
Netzwerken</a> vertreten.</p>
- <p>Letztes Jahr gab es insgesamt 19 <!-- <xsl:value-of
+ <p>Letztes Jahr gab es insgesamt 9 <!-- <xsl:value-of
select="count(/events/event[number(enddate/year) =
(number($curdate.year) -1)])" />-->
- &os;-Veranstaltungen in 12 <!--<xsl:value-of
+ &os;-Veranstaltungen in 9 <!--<xsl:value-of
select="count(/events/event[(number(enddate/year) =
(number($curdate.year) -1)) and (generate-id() =
generate-id(key('last-year-event-by-country',
diff --git a/de_DE.ISO8859-1/htdocs/features.xml b/de_DE.ISO8859-1/htdocs/features.xml
index 8a67bcfe0b..752a9e4e96 100644
--- a/de_DE.ISO8859-1/htdocs/features.xml
+++ b/de_DE.ISO8859-1/htdocs/features.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
-<!ENTITY dedate "$FreeBSDde: de-www/features.xml,v 1.22 2008/03/24 14:30:04 jkois Exp $">
-<!ENTITY reference "basiert auf: 1.34">
+<!ENTITY dedate "$FreeBSDde$">
+<!ENTITY reference "basiert auf: r39632">
<!ENTITY title "Die technischen Fortschritte von FreeBSD">
]>
@@ -299,7 +299,7 @@
sichere Shells, Kerberos-Authentifizierung,
"virtuelle Server" durch die Verwendung von Jails, den Betrieb
von Diensten in chroot-Umgebungen, um den Zugang der Dienste
- zum Dateisystem einzuschräken, Secure RPCs sowie
+ zum Dateisystem einzuschränken, Secure RPCs sowie
Zugriffslisten für Dienste, die TCP-Wrapper
unterstützen.</p>
diff --git a/de_DE.ISO8859-1/htdocs/releases/index.xml b/de_DE.ISO8859-1/htdocs/releases/index.xml
index db3b5d4144..9588eb6fdc 100644
--- a/de_DE.ISO8859-1/htdocs/releases/index.xml
+++ b/de_DE.ISO8859-1/htdocs/releases/index.xml
@@ -2,7 +2,7 @@
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY dedate "$FreeBSDde$">
-<!ENTITY reference "basiert auf: r39198">
+<!ENTITY reference "basiert auf: r40515">
<!ENTITY title "Release Information">
]>
@@ -49,7 +49,7 @@
<h3>Produktion</h3>
- <p><b>Release &rel.current;</b> (Januar 2012) <!--(&rel.current.date;) -->
+ <p><b>Release &rel.current;</b> (Dezember 2012) <!--(&rel.current.date;) -->
<em>
<a href="&u.rel.announce;">Announcement</a> :
<a href="&u.rel.notes;">Release Notes</a> :
@@ -96,17 +96,37 @@
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/current-stable.html#CURRENT">FreeBSD-CURRENT</a>
sind ebenfalls verfügbar. Weitere Informationen finden Sie
unter <a href="&base;/where.html">FreeBSD Bezugsquellen</a>.</p>
-
+<!--
<a name="prior-supported"></a>
<h2>Alte, aber noch unterstützte Versionen</h2>
+-->
+ <a name="prior-unsupported"></a>
- <p>Information zu aktuell unterstützten Versionen sowie
- finden Sie auf der Seite <a
- href="&base;/security/security.html#sup">&os;
- Sicherheit</a>.</p>
+ <h2>Alte, nicht mehr unterstützte Versionen
+ (End-of-Life-Versionen)</h2>
+
+ <p>Alle Informationen zu diesen Versionen, darunter Datum der
+ Veröffentlichung, Versionsart, Ende der
+ Unterstützung mit Sicherheitsupdates (End-of-Life-Datum)
+ finden Sie im Abschnitt <a
+ href="&base;/security/security.html#sup">Unterstützte
+ FreeBSD-Versionen</a> auf der Seite <a
+ href="&base;/security/security.html">FreeBSD Sicherheit</a>.</p>
<ul>
+ <li><b>9.0</b> (Januar 2012)
+ <em>
+ <a href="&enbase;/releases/9.0R/announce.html">Announcement</a>:
+ <a href="&enbase;/releases/9.0R/relnotes.html">Release Notes</a>:
+ <a href="&enbase;/releases/9.0R/installation.html">Installation
+ Instructions</a>:
+ <a href="&enbase;/releases/9.0R/hardware.html">Hardware Notes</a>:
+ <a href="&enbase;/releases/9.0R/readme.html">Readme</a>:
+ <a href="&enbase;/releases/9.0R/errata.html">Errata</a>
+ </em>
+ </li>
+
<li><b>8.2</b> (Februar 2011)
<em>
<a href="&enbase;/releases/8.2R/announce.html">Announcement</a>:
@@ -126,22 +146,7 @@
<a href="&enbase;/releases/8.1R/errata.html">Errata</a>
</em>
</li>
- </ul>
- <a name="prior-unsupported"></a>
-
- <h2>Alte, nicht mehr unterstützte Versionen
- (End-of-Life-Versionen)</h2>
-
- <p>Alle Informationen zu diesen Versionen, darunter Datum der
- Veröffentlichung, Versionsart, Ende der
- Unterstützung mit Sicherheitsupdates (End-of-Life-Datum)
- finden Sie im Abschnitt <a
- href="&base;/security/security.html#sup">Unterstützte
- FreeBSD-Versionen</a> auf der Seite <a
- href="&base;/security/security.html">FreeBSD Sicherheit</a>.</p>
-
- <ul>
<li><b>8.0</b> (November 2009)
<em>
<a href="&enbase;/releases/8.0R/announce.html">Announcement</a>:
diff --git a/de_DE.ISO8859-1/htdocs/security/security.xml b/de_DE.ISO8859-1/htdocs/security/security.xml
index 27fb357876..9099481997 100644
--- a/de_DE.ISO8859-1/htdocs/security/security.xml
+++ b/de_DE.ISO8859-1/htdocs/security/security.xml
@@ -2,7 +2,7 @@
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY dedate "$FreeBSDde$">
-<!ENTITY reference "basiert auf: r39195">
+<!ENTITY reference "basiert auf: r39632">
<!ENTITY title "FreeBSD Sicherheit">
<!ENTITY advisories.html.inc SYSTEM "advisories.html.inc">
<!ENTITY advisories.html.inc SYSTEM "advisories.html.inc">
@@ -286,22 +286,6 @@
</tr>
<tr>
- <td>RELENG_8_1</td>
- <td>8.1-RELEASE</td>
- <td>erweitert</td>
- <td>23. Juli 2010</td>
- <td>31. Juli 2012</td>
- </tr>
-
- <tr>
- <td>RELENG_8_2</td>
- <td>8.2-RELEASE</td>
- <td>normal</td>
- <td>24. Februar 2011</td>
- <td>31. Juli 2012</td>
- </tr>
-
- <tr>
<td>RELENG_8_3</td>
<td>8.3-RELEASE</td>
<td>erweitert</td>
@@ -502,6 +486,22 @@
<td>25. November 2009</td>
<td>30. November 2010</td>
</tr>
+
+ <tr>
+ <td>RELENG_8_1</td>
+ <td>8.1-RELEASE</td>
+ <td>erweitert</td>
+ <td>23. Juli 2010</td>
+ <td>31. Juli 2012</td>
+ </tr>
+
+ <tr>
+ <td>RELENG_8_2</td>
+ <td>8.2-RELEASE</td>
+ <td>normal</td>
+ <td>24. Februar 2011</td>
+ <td>31. Juli 2012</td>
+ </tr>
</table>
</body>
diff --git a/de_DE.ISO8859-1/htdocs/where.xml b/de_DE.ISO8859-1/htdocs/where.xml
index 2cfb87796f..c7c07adca9 100644
--- a/de_DE.ISO8859-1/htdocs/where.xml
+++ b/de_DE.ISO8859-1/htdocs/where.xml
@@ -2,7 +2,7 @@
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY dedate "$FreeBSDde$">
-<!ENTITY reference "basiert auf: r39304">
+<!ENTITY reference "basiert auf: r40536">
<!ENTITY title "FreeBSD Bezugsquellen">
<!ENTITY url.rel "ftp://ftp.FreeBSD.org/pub/FreeBSD/releases">
]>
@@ -50,11 +50,8 @@
<p>Wenn Sie FreeBSD über FTP oder HTTP beziehen wollen, suchen Sie in der <a
href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html"><strong>Liste
- der Spiegel</strong></a> des Handbuchs einen Spiegel in
- Ihrer Nähe. Alternativ können Sie auch BitTorrent
- verwenden, um &os; herunterzuladen. Die dazu benötigten
- <q>.torrent</q>-Dateien finden Sie über den <a
- href="http://torrents.FreeBSD.org:8080/">&os; BitTorrent-Tracker</a>.</p>
+ der FTP-Spiegelserver</strong></a> des Handbuchs einen Spiegelserver in
+ Ihrer Nähe.</p>
<table class="tblbasic">
<thead>
@@ -72,10 +69,10 @@
<tr>
<td colspan="2">FreeBSD &rel.current;-RELEASE</td>
<td colspan="2"></td>
- <td rowspan="7"><a href="&enbase;/releases/&rel.current;R/relnotes.html">[Lesen]</a></td>
- <td rowspan="7"><a href="&enbase;/releases/&rel.current;R/hardware.html">[Lesen]</a></td>
- <td rowspan="7"><a href="&enbase;/releases/&rel.current;R/installation.html">[Lesen]</a></td>
- <td rowspan="7"><a href="&enbase;/releases/&rel.current;R/errata.html">[Lesen]</a></td>
+ <td rowspan="5"><a href="&enbase;/releases/&rel.current;R/relnotes.html">[Lesen]</a></td>
+ <td rowspan="5"><a href="&enbase;/releases/&rel.current;R/hardware.html">[Lesen]</a></td>
+ <td rowspan="5"><a href="&enbase;/releases/&rel.current;R/installation.html">[Lesen]</a></td>
+ <td rowspan="5"><a href="&enbase;/releases/&rel.current;R/errata.html">[Lesen]</a></td>
</tr>
<tr>
<td></td>
@@ -89,6 +86,7 @@
<td><a href="&url.rel;/i386/i386/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/i386/i386/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
+ <!--
<tr>
<td></td>
<td>ia64</td>
@@ -101,6 +99,7 @@
<td><a href="&url.rel;/powerpc/powerpc/&rel.current;-RELEASE">[Distribution]</a></td>
<td><a href="&url.rel;/powerpc/powerpc/ISO-IMAGES/&rel.current;/">[ISO]</a></td>
</tr>
+ -->
<tr>
<td></td>
<td>powerpc64</td>
diff --git a/de_DE.ISO8859-1/share/xml/header.l10n.ent b/de_DE.ISO8859-1/share/xml/header.l10n.ent
index 63a2c85456..f4a92a6602 100644
--- a/de_DE.ISO8859-1/share/xml/header.l10n.ent
+++ b/de_DE.ISO8859-1/share/xml/header.l10n.ent
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $FreeBSD$
- $FreeBSDde: de-www/share/xml/header.l10n.ent,v 1.18 2012/02/12 09:46:42 jkois Exp $
- basiert auf: 1.19
+ $FreeBSDde$
+ basiert auf: r39675
-->
<!-- Components making up the standard headers and footers. -->
<!-- Override in the prolog <em>before</em> including this -->
<!-- file if necessary.-->
-<!ENTITY copyright '<span xmlns="http://www.w3.org/1999/xhtml"><a href="&enbase;/search/index-site.html">Sitemap</a> | <a href="&enbase;/copyright/">Legal Notices</a> | &copy; 1995-2012 The FreeBSD Project. Alle Rechte vorbehalten.</span>'>
+<!ENTITY copyright '<span xmlns="http://www.w3.org/1999/xhtml"><a href="&enbase;/search/index-site.html">Sitemap</a> | <a href="&enbase;/copyright/">Legal Notices</a> | &copy; 1995&ndash;2012 The FreeBSD Project. Alle Rechte vorbehalten.</span>'>
<!ENTITY author '<a href="&base;/index.html">Startseite</a> &nbsp; | &nbsp;
<a href="&base;/mailto.html">Ansprechpartner</a> &nbsp; | &nbsp;
<a href="&enbase;/copyright/index.html">Legal</a> &nbsp; | &nbsp;
@@ -67,7 +67,7 @@
<li><a href="&enbase;/projects/index.html">Entwicklung</a>
<ul>
<li><a href="http://wiki.FreeBSD.org/IdeasPage">Projektideen</a></li>
- <li><a href="http://svn.FreeBSD.org/viewvc/base/">SVN-Repository</a></li>
+ <li><a href="http://svnweb.FreeBSD.org">SVN-Repository</a></li>
<li><a href="http://cvsweb.FreeBSD.org">CVS-Repository</a></li>
<li><a href="http://p4web.FreeBSD.org">Perforce-Repository</a></li>
</ul>
diff --git a/de_DE.ISO8859-1/share/xml/news.xml b/de_DE.ISO8859-1/share/xml/news.xml
index fdfa0a3afd..880ea90d5f 100644
--- a/de_DE.ISO8859-1/share/xml/news.xml
+++ b/de_DE.ISO8859-1/share/xml/news.xml
@@ -4,7 +4,7 @@
<!--
$FreeBSD$
$FreeBSDde$
- basiert auf: r39424
+ basiert auf: r40659
-->
<!-- Simple schema for FreeBSD Project news.
@@ -36,9 +36,406 @@
</cvs:keyword>
<year>
+ <name>2013</name>
+
+ <month>
+ <name>1</name>
+
+ <day>
+ <name>16</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:carl@FreeBSD.org">Carl Delsey</a> (src)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>15</name>
+
+ <event>
+ <p>Erweiterte Commit-Privilegien: <a
+ href="mailto:rene@FreeBSD.org">Ren&eacute; Ladan</a> (ports,
+ full doc/www)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>14</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:dbn@FreeBSD.org">David Naylor</a> (ports)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>13</name>
+
+ <event>
+ <title>Statusreport April-Juni 2012</title>
+
+ <p>Der Statusreport für die Monate April bis Juni 2012 mit
+ 17 Einträgen ist ab sofort <a
+ href="&enbase;/news/status/report-2012-04-2012-06.html">verfügbar</a>.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>10</name>
+ <event>
+ <title>Ports-CVS: End-of-Life am 28. Februar 2013</title>
+
+ <p>Die Entwicklung von &os;-Ports erfolgt seit einiger Zeit
+ ausschließlich in Subversion. Ab 28. Februar 2013 wird
+ daher der &os;-Portsbaum nicht mehr nach CVS exportiert
+ werden. Ab diesem Zeitpunkt wird es nicht mehr möglich
+ sein, den Portsbaum via CVS, CVSup oder csup(1) zu
+ aktualisieren. Anwendern, die diese Programme derzeit
+ noch nutzen, wird empfohlen, künftig portsnap(8)
+ einzusetzen. Alternativ können Sie Subversion auch
+ direkt verwenden. Weitere Informationen zu diesem Thema
+ finden sich in der offiziellen <a
+ href="&lists.ports-announce;/2012-September/000026.html">Ankündigung</a>
+ auf der Mailingliste freebsd-ports-announce.</p>
+
+ <p>Eine Anleitung zur Migration von CVSup oder csup(1) nach
+ portsnap(8) finden Sie im <a
+ href="&enbase;/doc/en_US.ISO8859-1/books/handbook/ports-using.html#cvsup-migration">&os;-Handbuch</a>.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>8</name>
+
+ <event>
+ <title>Faces of &os; &dash; Thomas Abthorpe</title>
+
+ <p>Wir freuen uns, Ihnen unsere nächste Geschichte aus der
+ Reihe "Faces of &os;" präsentieren zu können. Diese Reihe
+ erlaubt es uns zu zeigen, wie wir verschiedene Personen
+ bei Ihrer Arbeit an/für &os; unterstützen.
+ Diese Unterstützung besteht beispielsweise in der
+ Finanzierung von Entwicklungsprojekten, der Organisation
+ von Konferenzen, der Übernahme von Reisekosten sowie
+ der allgemeinen Förderung von &os;.</p>
+
+ <p>Diesmal stellen wir Ihnen Thomas Abthorpe vor. Wir haben
+ es ihm ermöglicht, an der BSDCan 2009, 2011 und 2012
+ teilzunehmen, indem wir uns an seinen Reisekosten
+ beteiligt haben. Lesen Sie seine Geschichte <a
+ href="http://freebsdfoundation.blogspot.com/2013/01/faces-of-freebsd-thomas-abthorpe.html">hier.</a></p>
+ </event>
+ </day>
+ </month>
+ </year>
+
+ <year>
<name>2012</name>
<month>
+ <name>12</name>
+
+ <day>
+ <name>31</name>
+
+ <event>
+ <title>&os; 9.1-RELEASE verfügbar</title>
+
+ <p><a href="&enbase;/releases/9.1R/announce.html">FreeBSD
+ 9.1-RELEASE</a> ist ab sofort verfügbar. Lesen Sie unbedingt
+ die <a
+ href="&enbase;/releases/9.1R/relnotes.html">Release Notes</a>
+ (<a
+ href="&enbase;/releases/9.1R/relnotes-detailed.html">ausführliche
+ Version</a>) sowie die <a
+ href="&enbase;/releases/9.1R/errata.html">Release Errata</a>,
+ bevor Sie mit der Installation beginnen, um
+ sich über aktuelle Neuigkeiten und/oder eventuelle
+ Probleme im Umgang mit 9.1-RELEASE zu informieren.
+ Weitere Informationen zu verschiedenen FreeBSD-Versionen
+ finden Sie auf der Seite <a
+ href="&base;/releases/index.html">Release Information</a>.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>20</name>
+
+ <event>
+ <title>T&os; Foundation Newsletter Dezember 2012.</title>
+
+ <p>Die &os; Foundation hat ihren <a
+ href="http://www.freebsdfoundation.org/press/2012Dec-newsletter.shtml">End-of-Year Newsletter</a>
+ für das Jahr 2012 veröffentlicht.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>18</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:markj@FreeBSD.org">Mark Johnston</a> (src)</p>
+ </event>
+
+ <event>
+ <title>PC-BSD&nbsp;9.1 ist verfügbar</title>
+
+ <p>Das PC-BSD Team hat PC-BSD&nbsp;9.1 <a
+ href="http://blog.pcbsd.org/2012/12/pc-bsd-9-1-now-available/">veröffentlicht</a>.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>17</name>
+
+ <event>
+ <title>Faces of &os; &dash; Dan Langille</title>
+
+ <p>Wir freuen uns, Ihnen unsere nächste Geschichte aus der
+ Reihe "Faces of &os;" präsentieren zu können. Diese Reihe
+ erlaubt es uns zu zeigen, wie wir verschiedene Personen
+ bei Ihrer Arbeit an/für &os; unterstützen.
+ Diese Unterstützung besteht beispielsweise in der
+ Finanzierung von Entwicklungsprojekten, der Organisation
+ von Konferenzen, der Übernahme von Reisekosten sowie
+ der allgemeinen Förderung von &os;.</p>
+
+ <p>Diesmal stellen wir Ihnen Dan Langille vor. Wir
+ unterstützen ihn seit 2006 durch das Sponsering der jährlichen
+ BSDCan. Lesen Sie seine Geschichte <a
+ href="http://freebsdfoundation.blogspot.com/2012/12/faces-of-freebsd-dan-langille_17.html">hier.</a></p>
+ </event>
+ </day>
+
+ <day>
+ <name>12</name>
+
+ <event>
+ <title>Neuer Spendenrekord:&nbsp;Mehr als 650 neue
+ Spenden über insgesamt $43.200 in nur 3 Tagen!</title>
+
+ <p>Aufmerksame Leser des Blogs der FreeBSD Foundation
+ wissen, dass wir letzte Woche mit unserer jährlichen
+ Spendenaktion begonnen haben, mit der wir in der Regel
+ mehr als 50 Prozent aller Spenden erzielen. Weitere
+ Informationen zu dieser Aktion finden Sie <a
+ href="http://freebsdfoundation.blogspot.com/2012/12/stunning-news-website-fundraising.html">hier</a>.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>10</name>
+
+ <event>
+ <title>Faces of &os; &dash; Alberto Mijares</title>
+
+ <p>Wissen Sie, wie die &os; Foundation die &os;-Gemeinde im
+ letzten Jahr unterstützt hat? Im Rahmen unserer jährlichen
+ Spendenkampagne stellen wir Ihnen auf unserer Webseite, in
+ unserem Blog sowie auf Facebook verschiedene Personen vor,
+ die wir durch die Finanzierung von Entwicklungsprojekten,
+ die Organisation von Konferenzen, die Übernahme von
+ Reisekosten sowie die generelle Förderung von &os;
+ unterstützt haben. Weitere Information finden Sie <a
+ href="http://freebsdfoundation.blogspot.com/2012/12/faces-of-freebsd-alberto-mijares.html">hier</a>.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>5</name>
+
+ <event>
+ <title>&os;-Spendenkampagne</title>
+
+ <p>Ihre Spenden haben uns dabei geholfen, &os; zum besten
+ derzeit verfügbaren Betriebssystem zu machen. Indem Sie
+ die &os;&nbsp;Foundation unterstützen, helfen Sie uns dabei,
+ &os; als leistungsfähiges, sicheres und stabiles
+ Betriebssystem weiterzuentwickeln.</p>
+
+ <p>Dank Personen wie Ihnen konnte die &os;&nbsp;Foundation das
+ &os;&nbsp;Project sowie die &os;-Gemeinde in den letzten
+ zwölf Jahren kontinuierlich unterstützen. Weitere Informationen
+ zu unserer jährlichen Spendenkampagne finden Sie <a
+ href="http://freebsdfoundation.blogspot.com/2012/12/year-end-fundraising-campaign.html">hier</a>.</p>
+ </event>
+
+ <event>
+ <title>Die Webseite des &os;&nbsp;Projects verwendet ab sofort
+ Google Analytics</title>
+
+ <p>Das &os;&nbsp;Project hat Google Analytics aktiviert, um
+ anonymisierte Statistiken über die Nutzung der Webseiten
+ zu erhalten. Weitere Informationen zu dieser Umstellung
+ finden Sie in der offiziellen <a
+ href="&lists.announce;/2012-December/001441.html">Ankündigung</a>.</p>
+ </event>
+ </day>
+ </month>
+
+ <month>
+ <name>11</name>
+
+ <day>
+ <name>26</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:syuu@FreeBSD.org">Takuya ASADA</a> (src)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>25</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:bar@FreeBSD.org">Barbara Guida</a> (ports)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>17</name>
+
+ <event>
+ <title>Angriffsversuch auf die FreeBSD-Infrastruktur</title>
+
+ <p>Am 11. November 2012 wurde ein unerlaubter Zugriff auf zwei
+ Systeme innerhalb des FreeBSD.org-Clusters entdeckt. Wir
+ konnten zwar keinen Hinweis darauf finden, dass Dateien
+ manipuliert wurden, dennoch empfehlen wir allen Benutzern,
+ den dazu erstellten <a
+ href="&enbase;/news/2012-compromise.html">Bericht</a>
+ zu lesen und selbst zu entscheiden, ob Handlungsbedarf
+ besteht.</p>
+ </event>
+ </day>
+
+ <day>
+ <name>5</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:bryanv@FreeBSD.org">Bryan Venteicher</a> (src)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>4</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:gblach@FreeBSD.org">Grzegorz Blach</a> (ports)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>3</name>
+
+ <event>
+ <title>&os;&nbsp;9.1-RC3 verfügbar</title>
+
+ <p>Der dritte Release Candidate aus dem &os;-9.1-Releasezyklus
+ ist <a
+ href="&lists.stable;/2012-November/070401.html">verfügbar</a>.
+ ISO-Images für die Architekturen amd64, i386, sparc64 sowie
+ powerpc64 sind inzwischen auf den meisten <a
+ href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
+ Spiegelservern</a> vorhanden.</p>
+ </event>
+ </day>
+ </month>
+
+ <month>
+ <name>10</name>
+
+ <day>
+ <name>24</name>
+
+ <event>
+ <p>Erweiterte Commit-Privilegien: <a
+ href="mailto:erwin@FreeBSD.org">Erwin Lansing</a> (src, ports)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>23</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:sjg@FreeBSD.org">Simon J. Gerraty</a> (src)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>20</name>
+
+ <event>
+ <p>Erweiterte Commit-Privilegien: <a
+ href="mailto:eadler@FreeBSD.org">Eitan Adler</a> (src, ports, doc)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>19</name>
+
+ <event>
+ <p>Neues Mitglied im Ports Management Team: <a
+ href="mailto:decke@FreeBSD.org">Bernhard Fröhlich</a></p>
+ </event>
+ </day>
+
+ <day>
+ <name>10</name>
+
+ <event>
+ <title>&os;&nbsp;9.1-RC2 verfügbar</title>
+
+ <p>Der zweite Release Candidate aus dem &os;-9.1-Releasezyklus
+ ist <a
+ href="&lists.stable;/2012-October/069998.html">verfügbar</a>.
+ ISO-Images für die Architekturen amd64, i386, ia64, powerpc
+ sowie powerpc64 sind inzwischen auf den meisten <a
+ href="&enbase;/doc/de_DE.ISO8859-1/books/handbook/mirrors-ftp.html">&os;
+ Spiegelservern</a> vorhanden.</p>
+ </event>
+ </day>
+ </month>
+
+ <month>
+ <name>9</name>
+
+ <day>
+ <name>15</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:peterj@FreeBSD.org">Peter Jeremy</a> (src)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>13</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:ebrandi@FreeBSD.org">Edson Brandi</a> (doc/pt_BR, www/pt_BR)</p>
+ </event>
+ </day>
+
+ <day>
+ <name>10</name>
+
+ <event>
+ <p>Neuer Committer: <a
+ href="mailto:jhale@FreeBSD.org">Jason E. Hale</a> (ports)</p>
+ </event>
+ </day>
+ </month>
+
+ <month>
<name>8</name>
<day>
diff --git a/de_DE.ISO8859-1/share/xml/press.xml b/de_DE.ISO8859-1/share/xml/press.xml
index b4c0a8ba40..b21c424d19 100644
--- a/de_DE.ISO8859-1/share/xml/press.xml
+++ b/de_DE.ISO8859-1/share/xml/press.xml
@@ -7,7 +7,7 @@
"freefall:/c/www/bsddoc/press/".
$FreeBSD$
$FreeBSDde$
- basiert auf: r39030
+ basiert auf: r40251
-->
<press>
@@ -19,6 +19,39 @@
<name>2012</name>
<month>
+ <name>11</name>
+
+ <story>
+ <name>A world without Linux: Where would Apache,
+ Microsoft &mdash; even Apple be today?</name>
+ <url>http://www.infoworld.com/d/data-center/world-without-linux-where-would-apache-microsoft-even-apple-be-today-206680</url>
+ <site-name>Infoworld</site-name>
+ <site-url>http://www.infoworld.com</site-url>
+ <date>12. November 2012</date>
+ <author>Paul Venezia</author>
+ <p>Hätte Linux nicht die Welt erobert, würden wir heute alle FreeBSD
+ verwenden. Vielleicht sogar auf dem Desktop.</p>
+ </story>
+ </month>
+
+ <month>
+ <name>8</name>
+
+ <story>
+ <name>FreeBSD Now Supported on Windows Server Hyper-V Via Beta
+ Release</name>
+ <url>http://redmondmag.com/articles/2012/08/09/freebsd-beta-for-windows-server-hyper-v.aspx</url>
+ <site-name>Redmondmag</site-name>
+ <site-url>http://redmondmag.com</site-url>
+ <date>9. August 2012</date>
+ <author>Kurt Mackie</author>
+ <p>Microsoft hat heute die Betaversion eines Treibers veröffentlicht,
+ mit der erstmals das frei verfügbare FreeBSD 8.2 in einer virtuellen
+ Machine von Microsofts Hyper-V Server installiert werden kann.</p>
+ </story>
+ </month>
+
+ <month>
<name>6</name>
<story>
diff --git a/el_GR.ISO8859-7/articles/mailing-list-faq/Makefile b/el_GR.ISO8859-7/articles/mailing-list-faq/Makefile
index 998dcfc305..9219c6df86 100644
--- a/el_GR.ISO8859-7/articles/mailing-list-faq/Makefile
+++ b/el_GR.ISO8859-7/articles/mailing-list-faq/Makefile
@@ -16,11 +16,11 @@ INSTALL_ONLY_COMPRESSED?=
WITH_ARTICLE_TOC?=YES
#
-# SRCS lists the individual SGML files that make up the document. Changes
+# SRCS lists the individual XML files that make up the document. Changes
# to any of these files will force a rebuild
#
-# SGML content
+# XML content
SRCS= article.xml
URL_RELPREFIX?= ../../../..
diff --git a/el_GR.ISO8859-7/books/faq/Makefile b/el_GR.ISO8859-7/books/faq/Makefile
index 88c4409936..22b1c3e369 100644
--- a/el_GR.ISO8859-7/books/faq/Makefile
+++ b/el_GR.ISO8859-7/books/faq/Makefile
@@ -19,11 +19,11 @@ INSTALL_ONLY_COMPRESSED?=
WITH_BIBLIOXREF_TITLE?=YES
#
-# Ç ëßóôá SRCS ðåñéÝ÷åé üëá ôá SGML áñ÷åßá ðïõ áðïôåëïýí ìÝñç ôïõ êåéìÝíïõ.
+# Ç ëßóôá SRCS ðåñéÝ÷åé üëá ôá XML áñ÷åßá ðïõ áðïôåëïýí ìÝñç ôïõ êåéìÝíïõ.
# ÁëëáãÝò óå ïðïéïäÞðïôå áðü áõôÜ ôá áñ÷åßá ðñïêáëïýí rebuild.
#
-# SGML content
+# XML content
SRCS= book.xml
URL_RELPREFIX?= ../../../..
diff --git a/el_GR.ISO8859-7/books/handbook/Makefile b/el_GR.ISO8859-7/books/handbook/Makefile
index ffaec52edc..8038073aa3 100644
--- a/el_GR.ISO8859-7/books/handbook/Makefile
+++ b/el_GR.ISO8859-7/books/handbook/Makefile
@@ -246,11 +246,11 @@ IMAGES_LIB+= callouts/14.png
IMAGES_LIB+= callouts/15.png
#
-# Ç ëßóôá SRCS ðåñéÝ÷åé üëá ôá SGML áñ÷åßá ðïõ áðïôåëïýí ìÝñç ôïõ êåéìÝíïõ.
+# Ç ëßóôá SRCS ðåñéÝ÷åé üëá ôá XML áñ÷åßá ðïõ áðïôåëïýí ìÝñç ôïõ êåéìÝíïõ.
# ÁëëáãÝò óå ïðïéïäÞðïôå áðü áõôÜ ôá áñ÷åßá ðñïêáëïýí rebuild.
#
-# SGML content
+# XML content
SRCS+= audit/chapter.xml
SRCS+= book.xml
SRCS+= bsdinstall/chapter.xml
@@ -299,8 +299,8 @@ SYMLINKS= ${DESTDIR} index.html handbook.html
# Turn on all the chapters.
CHAPTERS?= ${SRCS:M*chapter.xml}
-SGMLFLAGS+= ${CHAPTERS:S/\/chapter.xml//:S/^/-i chap./}
-SGMLFLAGS+= -i chap.freebsd-glossary
+XMLFLAGS+= ${CHAPTERS:S/\/chapter.xml//:S/^/-i chap./}
+XMLFLAGS+= -i chap.freebsd-glossary
pgpkeyring: pgpkeys/chapter.xml
@${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
diff --git a/el_GR.ISO8859-7/htdocs/Makefile b/el_GR.ISO8859-7/htdocs/Makefile
index 07d422c49c..d3647c99f8 100644
--- a/el_GR.ISO8859-7/htdocs/Makefile
+++ b/el_GR.ISO8859-7/htdocs/Makefile
@@ -15,7 +15,7 @@
.endif
# Subdirectories
-# SGML
+# XML
SUBDIR= FAQ
.if !defined(WEB_ONLY) || empty(WEB_ONLY)
SUBDIR+= doc
diff --git a/en_US.ISO8859-1/articles/committers-guide/article.xml b/en_US.ISO8859-1/articles/committers-guide/article.xml
index 16dbbe89a2..76ba7fc331 100644
--- a/en_US.ISO8859-1/articles/committers-guide/article.xml
+++ b/en_US.ISO8859-1/articles/committers-guide/article.xml
@@ -23,6 +23,7 @@
<year>2010</year>
<year>2011</year>
<year>2012</year>
+ <year>2013</year>
<holder>The FreeBSD Documentation Project</holder>
</copyright>
@@ -209,7 +210,7 @@
<row>
<entry>doc</entry>
<entry>doceng@</entry>
- <entry>doc/, www/, src/ documentation</entry>
+ <entry>doc/, src/ documentation</entry>
</row>
<row>
@@ -367,7 +368,7 @@
<sect2 id="svn-getting-started">
<title>Getting Started</title>
- <para>There are three ways to obtain a working copy of the tree
+ <para>There are a few ways to obtain a working copy of the tree
from Subversion. This section will explain them.</para>
<sect3>
@@ -463,119 +464,6 @@
information on how to set one up.</para>
</sect3>
- <sect3>
- <title>Checkout from a Local Mirror Using
- <acronym>SVK</acronym></title>
-
- <para>The third alternative is to use <acronym>SVK</acronym>
- to maintain a local mirror. It is a version control system
- build on top of Subversion's storage engine. It is
- identical to Subversion in most respects, except that it
- allows for setting up parts of repositories as mirrors of
- other repositories, and keeping local branches for merging
- back into the upstream repositories. There are extensions
- that allow <acronym>SVK</acronym> to mirror
- <acronym>CVS</acronym> and Perforce repositories in addition
- to Subversion ones.</para>
-
- <para>Like everything, <acronym>SVK</acronym> has its
- disadvantages, one being that local revision numbers will
- not match upstream revision numbers. This makes it
- difficult to <command>svk log</command>, <command>svk
- diff</command>, or <command>svk update</command> to an
- arbitrary upstream revision.</para>
-
- <para>To set up a mirror of the &os; repository, do:</para>
-
- <screen>&prompt.user; <userinput>svk mirror svn+ssh://svn.freebsd.org/base //freebsd/base</userinput></screen>
-
- <para>The local <acronym>SVK</acronym> repository will be
- stored in <filename
- class="directory">~/.svk/local/</filename>, but can be
- moved to an alternate location. If it is moved,
- <filename>~/.svk/config</filename> should be amended
- manually to reflect the move.</para>
-
- <para>Any path can be used, not just the one in the example
- above. A common pattern is to place mirrors under
- <literal>//mirror</literal>, e.g.,
- <filename
- class="directory">//mirror/freebsd/base/</filename>, and
- local branches under <literal>//local</literal>.</para>
-
- <para>To pull down the contents of the repository to the
- mirror:</para>
-
- <screen>&prompt.user; <userinput>svk sync //freebsd/base</userinput></screen>
-
- <note>
- <para><command>svk sync</command> will take a very long
- time, possibly several days over a slow network
- connection. &a.peter; has a tarball that can be used to
- jumpstart the mirror, but only if one does not exist
- already.</para>
- </note>
-
- <para>To use the tarball referenced above:</para>
-
- <screen>&prompt.user; <userinput>cd ~</userinput>
-&prompt.user; <userinput>scp freefall:/home/peter/dot_svk_r179646.tbz2 .</userinput>
-&prompt.user; <userinput>tar xf dot_svk_r179646.tbz2</userinput></screen>
-
- <para>Then edit <filename>~/.svk/config</filename> and replace
- <filename
- class="directory">/scratch/tmp/peter/.svk/local/</filename>
- with the equivalent of <filename
- class="directory">/home/<replaceable>jarjar</replaceable>/.svk/local/</filename>.</para>
-
- <para>You can check out files directly from your mirror, once
- it has been created:</para>
-
- <screen>&prompt.user; <userinput>svk checkout //freebsd/base/head /usr/src</userinput></screen>
-
- <para>Unlike <acronym>SVN</acronym>, <acronym>SVK</acronym>
- does not store metadata or reference copies in the working
- copy. All metadata is recorded in
- <filename>~/.svk/config</filename>; reference copies are not
- used at all because <acronym>SVK</acronym> always operates
- on a local repository.</para>
-
- <para>When committing from a working copy like the one above,
- <acronym>SVN</acronym> will commit directly to the upstream
- repository, then synchronise the mirror.</para>
-
- <para>However, the <quote>killer app</quote> for
- <acronym>SVK</acronym> is the ability to work without a
- network connection. To do that, a local branch must be set
- up:</para>
-
- <screen>&prompt.user; <userinput>svk mkdir //local/freebsd</userinput>
-&prompt.user; <userinput>svk copy //freebsd/base/head //local/freebsd/head</userinput></screen>
-
- <para>Once again, any path can be used, it does not have to
- specifically be the one in the example.</para>
-
- <para>Before use, the local branch has to be synchronized,
- like so:</para>
-
- <screen>&prompt.user; <userinput>svk pull //local/freebsd/head</userinput></screen>
-
- <para>Then check out from the newly created local
- branch:</para>
-
- <screen>&prompt.user; <userinput>svk checkout //local/freebsd/head /usr/src</userinput></screen>
-
- <para>The point of this exercise is showing that it is
- possible to commit work-in-progress to a local branch, and
- only push it to the upstream repository when work is
- complete. The easy way to push is with <command>svk
- push</command>, but there is a serious disadvantage to it:
- it will push every single commit made to the local branch
- incrementally instead of lumping them all into a single
- commit. Therefore, using <command>svk smerge</command> is
- preferable.</para>
- </sect3>
-
<sect3 id="subversion-primer-base-layout">
<title><literal>RELENG_*</literal> Branches and General
Layout</title>
@@ -708,16 +596,6 @@
daily use, except for the revision renumbering mentioned
earlier.</para>
- <note>
- <para><acronym>SVN</acronym> and <acronym>SVK</acronym>
- commands that have direct <acronym>CVS</acronym> equivalents
- usually have the same name and abbreviations. For example:
- <emphasis>checkout</emphasis> and <emphasis>co</emphasis>,
- <emphasis>update</emphasis> and <emphasis>up</emphasis>, and
- <emphasis>commit</emphasis> and
- <emphasis>ci</emphasis>.</para>
- </note>
-
<sect3>
<title>Help</title>
@@ -821,11 +699,7 @@
<screen>&prompt.user; <userinput>svn status</userinput></screen>
- <para><acronym>CVS</acronym> has no direct equivalent of this
- command. The nearest would be <command>cvs up -N</command>
- which shows local changes and files that are out-of-date.
- Doing this in <acronym>SVN</acronym> is possible too,
- however:</para>
+ <para>To show local changes and files that are out-of-date do:</para>
<screen>&prompt.user; <userinput>svn status --show-updates</userinput></screen>
</sect3>
@@ -833,7 +707,7 @@
<sect3>
<title>Editing and Committing</title>
- <para>Like <acronym>CVS</acronym> but unlike Perforce,
+ <para>Unlike Perforce,
<acronym>SVN</acronym> and <acronym>SVK</acronym> do not
need to be told in advance about file editing.</para>
@@ -879,7 +753,7 @@
</para>
</note>
- <para>As with <acronym>CVS</acronym>, files are added to a
+ <para>Files are added to a
<acronym>SVN</acronym> repository with <command>svn
add</command>. To add a file named
<emphasis>foo</emphasis>, edit it, then:</para>
@@ -907,10 +781,9 @@
<screen>&prompt.user; <userinput>svn mkdir <replaceable>bar</replaceable></userinput></screen>
- <para>In <acronym>CVS</acronym>, the directory is immediately
- created in the repository when you <command>cvs
- add</command> it; this is not the case in Subversion.
- Furthermore, unlike <acronym>CVS</acronym>, Subversion
+ <para>The directory is not immediately
+ created in the repository when you use <command>svn
+ mkdir</command>. Subversion
allows directories to be removed using <command>svn
rm</command>, however there is no <command>svn
rmdir</command>:</para>
@@ -935,9 +808,6 @@
<screen>&prompt.user; <userinput>svn copy <replaceable>foo.c</replaceable> <replaceable>bar.c</replaceable></userinput>
&prompt.user; <userinput>svn remove <replaceable>foo.c</replaceable></userinput></screen>
-
- <para>Neither of these operations have equivalents in
- <acronym>CVS</acronym>.</para>
</sect3>
<sect3>
@@ -962,11 +832,11 @@
<para><command>svn diff</command> displays changes to the
working copy of the repository. Diffs generated by
- <acronym>SVN</acronym> are unified by default, unlike
- <acronym>CVS</acronym>, and include new files by default
+ <acronym>SVN</acronym> are unified
+ and include new files by default
in the diff output.</para>
- <para>As with <acronym>CVS</acronym>, <command>svn
+ <para><command>svn
diff</command> can show the changes between two revisions
of the same file:</para>
@@ -984,8 +854,8 @@
<title>Reverting</title>
<para>Local changes (including additions and deletions) can be
- reverted using <command>svn revert</command>. Unlike
- <command>cvs up -C</command>, it does not update out-of-date
+ reverted using <command>svn revert</command>.
+ It does not update out-of-date
files&mdash;it just replaces them with pristine copies of
the original version.</para>
</sect3>
@@ -1848,6 +1718,13 @@ U stable/9/share/man/man4/netmap.4
<screen>&prompt.user; <userinput>svn merge -r179454:179453 svn+ssh://svn.freebsd.org/base/ROADMAP.txt</userinput></screen>
+ <note>
+ <para>It is important to ensure that the mergeinfo
+ is correct when reverting a file in order to permit
+ <command>svn mergeinfo --eligible</command> to work as
+ expected.</para>
+ </note>
+
<para>Reverting the deletion of a file is slightly different.
Copying the version of the file that predates the deletion
is required. For example, to restore a file that was
@@ -1874,8 +1751,8 @@ U stable/9/share/man/man4/netmap.4
of <command>svn status</command> and <command>svn
diff</command> before committing.</para>
- <para>Mistakes will happen, but, unlike with
- <acronym>CVS</acronym>, they can generally be fixed without
+ <para>Mistakes will happen but,
+ they can generally be fixed without
disruption.</para>
<para>Take a case of adding a file in the wrong location. The
@@ -2011,37 +1888,20 @@ U stable/9/share/man/man4/netmap.4
<para>Don't remove and re-add the same file in a single commit
as this will break the CVS exporter.</para>
- <para>Speeding up checkouts and minimising network traffic is
- possible with the following recipe:</para>
-
- <screen>&prompt.user; <userinput>svn co --depth=empty svn+ssh://svn.freebsd.org/base fbsvn</userinput>
-&prompt.user; <userinput>cd fbsvn</userinput>
-&prompt.user; <userinput>svn up --depth=empty stable</userinput>
-&prompt.user; <userinput>svn up head</userinput>
-&prompt.user; <userinput>cd stable</userinput>
-&prompt.user; <userinput>cp -r ../head/ 7</userinput>
-&prompt.user; <userinput>cd 7</userinput>
-&prompt.user; <userinput>svn switch svn+ssh://svn.freebsd.org/base/stable/7</userinput>
-&prompt.user; <userinput>cd ..</userinput>
-&prompt.user; <userinput>cp -r 7/ 6</userinput>
-&prompt.user; <userinput>cd 6</userinput>
-&prompt.user; <userinput>svn switch svn+ssh://svn.freebsd.org/base/stable/6</userinput></screen>
-
- <para>What this bit of evil does is check out head, stable/7 and
- stable/6. We create the empty checkout directories under
- <acronym>SVN</acronym>'s control. In <acronym>SVN</acronym>,
- subtrees are self identifying, like in <acronym>CVS</acronym>.
- We check out head and clone it as stable/7. Except we don't
- want the head version so we <quote>switch</quote> it to the
- 7.x tree location. <acronym>SVN</acronym> downloads diffs to
- convert the <quote>head</quote> files to
- <quote>stable/7</quote> instead of doing a fresh checkout.
- The same goes for stable/6. This does, however, definitely
- count as abuse of the working copy client code!</para>
+ <para>Speeding up svn is
+ possible by adding the following to <filename>~/.ssh/config</filename>:</para>
+
+ <screen>Host *
+ControlPath ~/.ssh/sockets/master-%l-%r@%h:%p
+ControlMaster auto
+ControlPersist yes</screen>
+
+ <para>and then typing</para>
+ <screen><userinput>mkdir ~/.ssh/sockets</userinput></screen>
<para>Checking out a working copy with a stock Subversion client
without &os;-specific patches
- (<makevar>WITH_FREEBSD_TEMPLATE</makevar>) will mean that
+ (<makevar>OPTIONS_SET=FREEBSD_TEMPLATE</makevar>) will mean that
<literal>&dollar;FreeBSD&dollar;</literal> tags will not be
expanded. Once the correct version has been installed, trick
Subversion into expanding them like so:</para>
@@ -2049,8 +1909,7 @@ U stable/9/share/man/man4/netmap.4
<screen>&prompt.user; <userinput>svn propdel -R svn:keywords .</userinput>
&prompt.user; <userinput>svn revert -R .</userinput></screen>
- <para>This is not a good idea if uncommitted patches exist,
- however.</para>
+ <para>This will wipe out uncommitted patches.</para>
</sect2>
</sect1>
@@ -2078,7 +1937,7 @@ U stable/9/share/man/man4/netmap.4
<itemizedlist>
<listitem>
<para>Add your author entity to
- <filename>head/en_US.ISO8859-1/share/xml/authors.ent</filename>;
+ <filename>head/share/xml/authors.ent</filename>;
this should be done first since an omission of this commit will
cause the next commits to break the doc/ build.</para>
@@ -2186,8 +2045,8 @@ U stable/9/share/man/man4/netmap.4
</listitem>
<listitem>
- <para>(For committers only:)
- If you subscribe to &a.svn-src-all.name; or the &a.cvsall;,
+ <para>If you subscribe to &a.svn-src-all.name;,
+ &a.svn-ports-all.name; or &a.svn-doc-all.name;,
you will probably want to unsubscribe to avoid receiving duplicate
copies of commit messages and their followups.</para>
</listitem>
@@ -2591,14 +2450,13 @@ U stable/9/share/man/man4/netmap.4
<term>&a.committers;</term>
<listitem>
- <para>cvs-committers is the entity that the version control system uses to send you all your
- commit messages. You should <emphasis>never</emphasis> send email
- directly to this list. You should only send replies to this list
- when they are short and are directly related to a commit.</para>
-
- <para>There is a similar list, svn-committers, which has a
- similar purpose but is a normal list, i.e., you are free to
- send any suitable message to this list.</para>
+ <para>&a.svn-src-all.name;, &a.svn-ports-all.name; and
+ &a.svn-doc-all.name; are the mailing lists that the
+ version control system uses to send commit messages to.
+ You should <emphasis>never</emphasis> send email directly
+ to these lists. You should only send replies to this list
+ when they are short and are directly related to a
+ commit.</para>
</listitem>
</varlistentry>
@@ -3488,9 +3346,9 @@ U stable/9/share/man/man4/netmap.4
from the port <filename>Makefile</filename>.
It will also add an entry to the port's
category <filename>Makefile</filename>. It was
- written by &a.mharo; and &a.will;, and is currently maintained
- by &a.garga;, so please send questions/patches about
- <command>addport</command> to him.</para>
+ written by &a.mharo;, &a.will;, and &a.garga;. When sending
+ questions about this script to the &a.ports;, please also CC
+ &a.crees;, the current maintainer.</para>
</answer>
</qandaentry>
@@ -3597,9 +3455,9 @@ U stable/9/share/man/man4/netmap.4
<para>Alternatively, you can use the <command>rmport</command>
script, from <filename class="directory">ports/Tools/scripts</filename>.
- This script has been written by &a.vd;, who is also its current
- maintainer, so please send questions, patches or suggestions
- about <command>rmport</command> to him.</para>
+ This script was written by &a.vd;. When sending
+ questions about this script to the &a.ports;, please also CC
+ &a.crees;, the current maintainer.</para>
</answer>
</qandaentry>
</qandadiv>
@@ -3657,6 +3515,12 @@ U stable/9/share/man/man4/netmap.4
one step.</para>
</step>
</procedure>
+
+ <tip>
+ <para><command>addport</command> now detects when the port to
+ add has previously existed, and should handle all except
+ the <filename>ports/LEGAL</filename> step automatically.</para>
+ </tip>
</answer>
</qandaentry>
</qandadiv>
@@ -3954,7 +3818,7 @@ U stable/9/share/man/man4/netmap.4
<procedure>
<step>
- <para>Perform any needed repocopies. (This only applies
+ <para>Perform any needed moves. (This only applies
to physical categories.)</para>
</step>
@@ -3978,12 +3842,9 @@ U stable/9/share/man/man4/netmap.4
</question>
<answer>
- <para>The procedure is a strict superset of the one to
- repocopy individual ports (see above).</para>
-
<procedure>
<step>
- <para>Upgrade each copied port's
+ <para>Upgrade each moved port's
<filename>Makefile</filename>. Do not connect the
new category to the build yet.</para>
@@ -4030,10 +3891,11 @@ U stable/9/share/man/man4/netmap.4
sh -e <replaceable>/path/to/ports</replaceable>/Tools/scripts/chkorigin.sh
</command>. This will check <emphasis>every</emphasis>
port in the ports tree, even those not connected to the
- build, so you can run it directly after the repocopy.
+ build, so you can run it directly after the move
+ operation.
Hint: do not forget to look at the
<makevar>PKGORIGIN</makevar>s of any slave ports of the
- ports you just repocopied!</para>
+ ports you just moved!</para>
</step>
<step>
@@ -4067,57 +3929,11 @@ U stable/9/share/man/man4/netmap.4
</step>
<step>
- <para>Update the instructions for &man.cvsup.1;:</para>
-
- <itemizedlist>
- <listitem>
- <para>
- add the category to
- <filename>distrib/cvsup/sup/README</filename>
- </para>
- </listitem>
-
- <listitem>
- <para>
- adding the following files into
- <filename>distrib/cvsup/sup/ports-<replaceable>categoryname</replaceable></filename>:
- <filename>list.cvs</filename> and
- <filename>releases</filename>.</para>
- </listitem>
-
- <listitem>
- <para>
- add the category to
- <filename>src/share/examples/cvsup/ports-supfile</filename>
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- (Note: these are
- in the src, not the ports, repository). If you
- are not a src committer, you will need to submit
- a PR for this.</para>
- </step>
-
- <step>
- <para>
- Update the list of categories used by &man.sysinstall.8;
- in <filename>src/usr.sbin/sysinstall</filename>.</para>
- </step>
-
- <step>
<para>Update the documentation by modifying the
following:</para>
<itemizedlist>
<listitem>
- <para>the section of the Handbook that lists the
- <ulink url="&url.books.handbook;/cvsup.html#CVSUP-COLLEC">
- cvsup collections</ulink>.</para>
- </listitem>
-
- <listitem>
<para>the
<ulink url="&url.books.porters-handbook;/makefile-categories.html#PORTING-CATEGORIES">
list of categories</ulink> in the Porter's Handbook</para>
@@ -4167,10 +3983,6 @@ U stable/9/share/man/man4/netmap.4
<itemizedlist>
<listitem>
- <para><filename>src/usr.sbin/sysinstall</filename></para>
- </listitem>
-
- <listitem>
<para>the
<ulink url="&url.books.porters-handbook;/makefile-categories.html#PORTING-CATEGORIES">
list of categories</ulink> in the Porter's Handbook</para>
diff --git a/en_US.ISO8859-1/articles/contributing-ports/article.xml b/en_US.ISO8859-1/articles/contributing-ports/article.xml
index 7f299ebd98..f9778f0e7d 100644
--- a/en_US.ISO8859-1/articles/contributing-ports/article.xml
+++ b/en_US.ISO8859-1/articles/contributing-ports/article.xml
@@ -462,7 +462,7 @@
<para>Regularly check the automated ports building
cluster, <ulink
url="http://pointyhat.FreeBSD.org">pointyhat</ulink>,
- and the <ulink url="http://www.portscout.org">distfiles
+ and the <ulink url="http://portscout.FreeBSD.org">distfiles
scanner</ulink> to see if any of the ports you
maintain are failing to build or fetch (see <link
linkend="resources">resources</link> for more
@@ -794,7 +794,7 @@
build status of your ports. As a contributor you can use it to
find broken and unmaintained ports that need to be fixed.</para>
- <para>The <ulink url="http://www.portscout.org">FreeBSD Ports
+ <para>The <ulink url="http://portscout.FreeBSD.org">FreeBSD Ports
distfile scanner</ulink> can show you ports for which the
distfiles are not fetchable. You can check on your own ports or
use it to find ports that need their
diff --git a/en_US.ISO8859-1/articles/contributing/article.xml b/en_US.ISO8859-1/articles/contributing/article.xml
index be8171f5a2..ac6d5f2450 100644
--- a/en_US.ISO8859-1/articles/contributing/article.xml
+++ b/en_US.ISO8859-1/articles/contributing/article.xml
@@ -85,7 +85,7 @@
<para>Read through the FAQ and Handbook periodically. If
anything is badly explained, out of date or even just
completely wrong, let us know. Even better, send us a fix
- (SGML is not difficult to learn, but there is no objection
+ (Docbook is not difficult to learn, but there is no objection
to ASCII submissions).</para>
</listitem>
@@ -231,7 +231,8 @@
<title>Pick one of the items from the <quote>Ideas</quote>
page</title>
- <para>The <ulink url="&url.base;/projects/ideas/">&os; list of
+ <para>The <ulink url="http://wiki.freebsd.org/IdeasPage">&os;
+ list of
projects and ideas for volunteers</ulink> is also available
for people willing to contribute to the &os; project. The
list is being regularly updated and contains items for both
@@ -339,39 +340,22 @@
<para>The preferred &man.diff.1; format for submitting patches
is the unified output format generated by <command>diff
- -u</command>. However, for patches that substantially
- change a region of code, a context output format diff
- generated by <command>diff -c</command> may be more readable
- and thus preferable.</para>
+ -u</command>.</para>
<indexterm>
<primary><command>diff</command></primary>
</indexterm>
- <para>For example:</para>
-
- <screen>&prompt.user; <userinput>diff -c oldfile newfile</userinput></screen>
-
- <para>or</para>
-
- <screen>&prompt.user; <userinput>diff -c -r olddir newdir</userinput></screen>
-
- <para>would generate such a set of context diffs for the given
- source file or directory hierarchy.</para>
-
- <para>Likewise,</para>
-
<screen>&prompt.user; <userinput>diff -u oldfile newfile</userinput></screen>
<para>or</para>
- <screen>&prompt.user; <userinput>diff -u -r olddir newdir</userinput></screen>
+ <screen>&prompt.user; <userinput>diff -u -r -N olddir newdir</userinput></screen>
- <para>would do the same, except in the unified diff
- format.</para>
+ <para>would generate a set of unified diffs for the given source
+ file or directory hierarchy.</para>
- <para>See the manual page for &man.diff.1; for more
- details.</para>
+ <para>See &man.diff.1; for more information.</para>
<para>Once you have a set of diffs (which you may test with the
&man.patch.1; command), you should submit them for inclusion
@@ -397,9 +381,8 @@
welcome.</para>
<para>If your change is of a potentially sensitive nature,
- e.g. you are unsure of copyright issues governing its further
- distribution or you are simply not ready to release it without
- a tighter review first, then you should send it to &a.core;
+ such as if you are unsure of copyright issues governing its further
+ distribution then you should send it to &a.core;
directly rather than submitting it with &man.send-pr.1;. The
&a.core; reaches a much smaller group of people who
do much of the day-to-day work on FreeBSD. Note that this
@@ -503,7 +486,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- &#36;Id&#36;</programlisting>
+ &dollar;&os;&dollar;</programlisting>
<para>For your convenience, a copy of this text can be found in
<filename>/usr/share/examples/etc/bsd-style-copyright</filename>.</para>
@@ -532,9 +515,9 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<para>Donations may be sent in check form to:
<address>
The FreeBSD Foundation
- <street>7321 Brockway Dr.</street>
+ <street>P.O. Box 20247</street>,
<city>Boulder</city>,
- <state>CO</state> <postcode>80303</postcode>
+ <state>CO</state> <postcode>80308</postcode>
<country>USA</country>
</address></para>
@@ -562,16 +545,6 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<ulink url="&url.base;/donations/">Donations Liaison
Office</ulink>.</para>
</sect3>
-
- <sect3>
- <title>Donating Internet Access</title>
-
- <para>We can always use new mirror sites for FTP, WWW or
- <command>cvsup</command>. If you would like to be such a
- mirror, please see the
- <ulink url="&url.articles.hubs;/index.html">Mirroring
- FreeBSD</ulink> article for more information.</para>
- </sect3>
</sect2>
</sect1>
diff --git a/en_US.ISO8859-1/articles/contributors/contrib.additional.xml b/en_US.ISO8859-1/articles/contributors/contrib.additional.xml
index 02ba44b40c..fa3b55279e 100644
--- a/en_US.ISO8859-1/articles/contributors/contrib.additional.xml
+++ b/en_US.ISO8859-1/articles/contributors/contrib.additional.xml
@@ -1144,11 +1144,6 @@
</listitem>
<listitem>
- <para>Barbara</para>
- <!-- (rene@) No email address per request. -->
- </listitem>
-
- <listitem>
<para>Barry Bierbauch
<email>pivrnec@vszbr.cz</email></para>
</listitem>
@@ -1688,7 +1683,7 @@
<listitem>
<para>Chris Petrik
- <email>chris@officialunix.com</email></para>
+ <email>c.petrik.sosa@gmail.com</email></para>
</listitem>
<listitem>
@@ -1722,6 +1717,11 @@
</listitem>
<listitem>
+ <para>Christian Heckendorf
+ <email>heckend@bu.edu</email></para>
+ </listitem>
+
+ <listitem>
<para>Christian Lackas
<email>delta@lackas.net</email></para>
</listitem>
@@ -2121,6 +2121,11 @@
</listitem>
<listitem>
+ <para>Danilo Eg&ecirc;a Gondolfo
+ <email>danilogondolfo@gmail.com</email></para>
+ </listitem>
+
+ <listitem>
<para>Danny Braniss
<email>danny@cs.huji.ac.il</email></para>
</listitem>
@@ -2364,11 +2369,6 @@
</listitem>
<listitem>
- <para>David Naylor
- <email>naylor.b.david@gmail.com</email></para>
- </listitem>
-
- <listitem>
<para>David Otto
<email>ottodavid@gmx.net</email></para>
</listitem>
@@ -2414,18 +2414,23 @@
</listitem>
<listitem>
+ <para>David Vachulka
+ <email>arch_dvx@users.sourceforge.net</email></para>
+ </listitem>
+ <listitem>
+
<para>David Wolfskill
<email>david@catwhisker.org</email></para>
</listitem>
<listitem>
- <para>Dax Labrador
- <email>semprix@bsdmail.org</email></para>
+ <para>David Yeske
+ <email>dyeske@yahoo.com</email></para>
</listitem>
<listitem>
- <para>David Yeske
- <email>dyeske@yahoo.com</email></para>
+ <para>Dax Labrador
+ <email>semprix@bsdmail.org</email></para>
</listitem>
<listitem>
@@ -3091,6 +3096,11 @@
</listitem>
<listitem>
+ <para>Fabian M. Borschel
+ <email>fmb@onibox.net</email></para>
+ </listitem>
+
+ <listitem>
<para>Fabien Devaux
<email>fab@gcu.info</email></para>
</listitem>
@@ -3590,11 +3600,6 @@
</listitem>
<listitem>
- <para>Grzegorz Blach
- <email>magik@roorback.net</email></para>
- </listitem>
-
- <listitem>
<para>Guillaume Paquet
<email>amyfoub@videotron.ca</email></para>
</listitem>
@@ -4428,6 +4433,11 @@
</listitem>
<listitem>
+ <para>Jean Benoit
+ <email>jean@unistra.fr</email></para>
+ </listitem>
+
+ <listitem>
<para>Jean-Sebastien Roy
<email>js@jeannot.org</email></para>
</listitem>
@@ -5123,6 +5133,11 @@
</listitem>
<listitem>
+ <para>Joseph Mingrone
+ <email>jrm@ftfl.ca</email></para>
+ </listitem>
+
+ <listitem>
<para>Joseph Scott
<email>joseph@randomnetworks.com</email></para>
</listitem>
@@ -5302,11 +5317,6 @@
</listitem>
<listitem>
- <para>Kubilay Kocak
- <email>koobs.freebsd@gmail.com</email></para>
- </listitem>
-
- <listitem>
<para>KUNISHIMA Takeo
<email>kunishi@c.oka-pu.ac.jp</email></para>
</listitem>
@@ -6013,6 +6023,11 @@
</listitem>
<listitem>
+ <para>Manuel Creach
+ <email>manuel.creach@me.com</email></para>
+ </listitem>
+
+ <listitem>
<para>Manuel Rabade Garcia
<email>mig@mig-29.net</email></para>
</listitem>
@@ -6461,6 +6476,11 @@
</listitem>
<listitem>
+ <para>Matt Stofko
+ <email>matt@mjslabs.com</email></para>
+ </listitem>
+
+ <listitem>
<para>Matt Thomas
<email>matt@3am-software.com</email></para>
</listitem>
@@ -6760,6 +6780,11 @@
</listitem>
<listitem>
+ <para>Michael Gmelin
+ <email>freebsd@grem.de</email></para>
+ </listitem>
+
+ <listitem>
<para>Michael Hancock
<email>michaelh@cet.co.jp</email></para>
</listitem>
@@ -8315,6 +8340,11 @@
</listitem>
<listitem>
+ <para>Pierre David
+ <email>pdagog@gmail.com</email></para>
+ </listitem>
+
+ <listitem>
<para>Pierre Y. Dampure
<email>pierre.dampure@k2c.co.uk</email></para>
</listitem>
@@ -9337,11 +9367,6 @@
</listitem>
<listitem>
- <para>Simon J Gerraty
- <email>sjg@juniper.net</email></para>
- </listitem>
-
- <listitem>
<para>Simon Lang
<email>simon@lang-clan.de</email></para>
</listitem>
@@ -10518,6 +10543,11 @@
</listitem>
<listitem>
+ <para>Victor Popov
+ <email>v.a.popov@gmail.com</email></para>
+ </listitem>
+
+ <listitem>
<para>Victor Semionov
<email>semionov@mail.bg</email></para>
</listitem>
@@ -10798,6 +10828,11 @@
</listitem>
<listitem>
+ <para>Yamagi Burmeister
+ <email>yamagi@yamagi.org</email></para>
+ </listitem>
+
+ <listitem>
<para>Yanhui Shen
<email>shen.elf@gmail.com</email></para>
</listitem>
diff --git a/en_US.ISO8859-1/articles/contributors/contrib.committers.xml b/en_US.ISO8859-1/articles/contributors/contrib.committers.xml
index ba64dac81c..07b1018b5c 100644
--- a/en_US.ISO8859-1/articles/contributors/contrib.committers.xml
+++ b/en_US.ISO8859-1/articles/contributors/contrib.committers.xml
@@ -68,6 +68,10 @@
</listitem>
<listitem>
+ <para>&a.syuu;</para>
+ </listitem>
+
+ <listitem>
<para>&a.gavin;</para>
</listitem>
@@ -92,10 +96,6 @@
</listitem>
<listitem>
- <para>&a.dougb;</para>
- </listitem>
-
- <listitem>
<para>&a.art;</para>
</listitem>
@@ -120,6 +120,10 @@
</listitem>
<listitem>
+ <para>&a.gblach;</para>
+ </listitem>
+
+ <listitem>
<para>&a.mbr;</para>
</listitem>
@@ -172,10 +176,6 @@
</listitem>
<listitem>
- <para>&a.wilko;</para>
- </listitem>
-
- <listitem>
<para>&a.oleg;</para>
</listitem>
@@ -292,6 +292,10 @@
</listitem>
<listitem>
+ <para>&a.carl;</para>
+ </listitem>
+
+ <listitem>
<para>&a.vd;</para>
</listitem>
@@ -452,6 +456,10 @@
</listitem>
<listitem>
+ <para>&a.sjg;</para>
+ </listitem>
+
+ <listitem>
<para>&a.gibbs;</para>
</listitem>
@@ -496,6 +504,10 @@
</listitem>
<listitem>
+ <para>&a.bar;</para>
+ </listitem>
+
+ <listitem>
<para>&a.jmg;</para>
</listitem>
@@ -616,6 +628,10 @@
</listitem>
<listitem>
+ <para>&a.markj;</para>
+ </listitem>
+
+ <listitem>
<para>&a.tj;</para>
</listitem>
@@ -684,6 +700,10 @@
</listitem>
<listitem>
+ <para>&a.koobs;</para>
+ </listitem>
+
+ <listitem>
<para>&a.jkois;</para>
</listitem>
@@ -768,6 +788,10 @@
</listitem>
<listitem>
+ <para>&a.dru;</para>
+ </listitem>
+
+ <listitem>
<para>&a.jlh;</para>
</listitem>
@@ -792,6 +816,10 @@
</listitem>
<listitem>
+ <para>&a.ian;</para>
+ </listitem>
+
+ <listitem>
<para>&a.truckman;</para>
</listitem>
@@ -1008,6 +1036,10 @@
</listitem>
<listitem>
+ <para>&a.dbn;</para>
+ </listitem>
+
+ <listitem>
<para>&a.bland;</para>
</listitem>
@@ -1520,6 +1552,10 @@
</listitem>
<listitem>
+ <para>&a.bryanv;</para>
+ </listitem>
+
+ <listitem>
<para>&a.avilla;</para>
</listitem>
diff --git a/en_US.ISO8859-1/articles/contributors/contrib.corealumni.xml b/en_US.ISO8859-1/articles/contributors/contrib.corealumni.xml
index 0f42288312..45028ce029 100644
--- a/en_US.ISO8859-1/articles/contributors/contrib.corealumni.xml
+++ b/en_US.ISO8859-1/articles/contributors/contrib.corealumni.xml
@@ -3,6 +3,10 @@
<itemizedlist>
<listitem>
+ <para>&a.attilio; (2012)</para>
+ </listitem>
+
+ <listitem>
<para>&a.wilko; (2006 - 2012)</para>
</listitem>
diff --git a/en_US.ISO8859-1/articles/contributors/contrib.develalumni.xml b/en_US.ISO8859-1/articles/contributors/contrib.develalumni.xml
index 7ab3b549b0..e11b6ff7f4 100644
--- a/en_US.ISO8859-1/articles/contributors/contrib.develalumni.xml
+++ b/en_US.ISO8859-1/articles/contributors/contrib.develalumni.xml
@@ -3,6 +3,14 @@
<!-- $FreeBSD$ -->
<itemizedlist>
<listitem>
+ <para>Doug Barton (2000 - 2012)</para>
+ </listitem>
+
+ <listitem>
+ <para>&a.wilko; (2000 - 2012)</para>
+ </listitem>
+
+ <listitem>
<para>&a.murray; (2000 - 2012)</para>
</listitem>
diff --git a/en_US.ISO8859-1/articles/contributors/contrib.portmgralumni.xml b/en_US.ISO8859-1/articles/contributors/contrib.portmgralumni.xml
index 418f3e058e..f9cb424f6c 100644
--- a/en_US.ISO8859-1/articles/contributors/contrib.portmgralumni.xml
+++ b/en_US.ISO8859-1/articles/contributors/contrib.portmgralumni.xml
@@ -3,6 +3,10 @@
<itemizedlist>
<listitem>
+ <para>&a.pav; (2006 - 2012)</para>
+ </listitem>
+
+ <listitem>
<para>&a.flz; (2008 - 2012)</para>
</listitem>
diff --git a/en_US.ISO8859-1/articles/freebsd-update-server/article.xml b/en_US.ISO8859-1/articles/freebsd-update-server/article.xml
index 0d6fdac872..7f1aff1ba7 100644
--- a/en_US.ISO8859-1/articles/freebsd-update-server/article.xml
+++ b/en_US.ISO8859-1/articles/freebsd-update-server/article.xml
@@ -20,7 +20,7 @@
<year>2009</year>
<year>2010</year>
<year>2011</year>
- <holder role="mailto:jhelfman@experts-exchange.com">Jason Helfman</holder>
+ <holder role="mailto:jgh@FreeBSD.org">Jason Helfman</holder>
</copyright>
<legalnotice id="trademarks" role="trademarks">
@@ -49,9 +49,7 @@
<sect1 id="acknowledgments">
<title>Acknowledgments</title>
- <para>This article was originally published at <ulink
- url="http://www.experts-exchange.com/OS/Unix/BSD/FreeBSD/A_1941-Build-Your-Own-FreeBSD-Update-Server.html">Experts Exchange</ulink>,
- and subsequently printed at <ulink
+ <para>This article was subsequently printed at <ulink
url="http://bsdmag.org/magazine/1021-bsd-as-a-desktop">BSD
Magazine</ulink>.</para>
</sect1>
diff --git a/en_US.ISO8859-1/articles/geom-class/article.xml b/en_US.ISO8859-1/articles/geom-class/article.xml
index 97f7d87c21..bb33aaaf8d 100644
--- a/en_US.ISO8859-1/articles/geom-class/article.xml
+++ b/en_US.ISO8859-1/articles/geom-class/article.xml
@@ -89,7 +89,7 @@
<listitem><para>The &man.style.9; man page &mdash; for documentation on
the coding-style conventions which must be followed for any code
- which is to be committed to the FreeBSD CVS tree.</para></listitem>
+ which is to be committed to the FreeBSD Subversion tree.</para></listitem>
</itemizedlist>
diff --git a/en_US.ISO8859-1/articles/hubs/article.xml b/en_US.ISO8859-1/articles/hubs/article.xml
index c3bcf45556..c523a24e29 100644
--- a/en_US.ISO8859-1/articles/hubs/article.xml
+++ b/en_US.ISO8859-1/articles/hubs/article.xml
@@ -122,13 +122,10 @@
also affected by the types of services you want to offer.
Plain FTP or HTTP services may not require a huge
amount of resources. Watch out if you provide
- CVSup, rsync or even AnonCVS. This can have a huge
- impact on CPU and memory requirements. Especially
- rsync is considered a memory hog, and CVSup does
- indeed consume some CPU. For AnonCVS it might
- be a nice idea to set up a memory resident file system (MFS) of at least
- 300 MB, so you need to take this into account
- for your memory requirements. The following
+ rsync. This can have a huge
+ impact on CPU and memory requirements as it is
+ considered a memory hog.
+ The following
are just examples to give you a very rough hint.
</para>
<para>
diff --git a/en_US.ISO8859-1/articles/linux-users/article.xml b/en_US.ISO8859-1/articles/linux-users/article.xml
index ad9e71e091..d5a00d5dd6 100644
--- a/en_US.ISO8859-1/articles/linux-users/article.xml
+++ b/en_US.ISO8859-1/articles/linux-users/article.xml
@@ -404,7 +404,7 @@ ifconfig_em0="DHCP"</programlisting>
<para>Updating from source is the most involved update method, but offers
the greatest amount of flexibility. The process involves synchronizing a
local copy of the FreeBSD source code with the &os;
- <application>CVS</application> (Concurrent Versioning System) servers.
+ <application>Subversion</application> servers.
Once the local source code is up to date you can build new versions of
the kernel and userland. For more information on source updates see
<ulink url="&url.base;/doc/en_US.ISO8859-1/books/handbook/updating-upgrading.html">the chapter on updating</ulink>
diff --git a/en_US.ISO8859-1/articles/mailing-list-faq/Makefile b/en_US.ISO8859-1/articles/mailing-list-faq/Makefile
index 6412bc5980..53a873470a 100644
--- a/en_US.ISO8859-1/articles/mailing-list-faq/Makefile
+++ b/en_US.ISO8859-1/articles/mailing-list-faq/Makefile
@@ -13,11 +13,11 @@ INSTALL_ONLY_COMPRESSED?=
WITH_ARTICLE_TOC?=YES
#
-# SRCS lists the individual SGML files that make up the document. Changes
+# SRCS lists the individual XML files that make up the document. Changes
# to any of these files will force a rebuild
#
-# SGML content
+# XML content
SRCS= article.xml
URL_RELPREFIX?= ../../../..
diff --git a/en_US.ISO8859-1/articles/portbuild/article.xml b/en_US.ISO8859-1/articles/portbuild/article.xml
index 5c26bca917..03443e1e95 100644
--- a/en_US.ISO8859-1/articles/portbuild/article.xml
+++ b/en_US.ISO8859-1/articles/portbuild/article.xml
@@ -21,6 +21,7 @@
<year>2010</year>
<year>2011</year>
<year>2012</year>
+ <year>2013</year>
<holder role="mailto:portmgr@FreeBSD.org">The &os; Ports
Management Team</holder>
</copyright>
@@ -47,95 +48,113 @@
<ulink url="http://pointyhat.FreeBSD.org"></ulink>.</para>
<para>This article documents the internal workings of the
- cluster.</para>
+ cluster.</para>
<note>
<para>Many of the details in this article will be of interest only to
- those on the <ulink url="&url.base;/portmgr">Ports Management</ulink>
- team.</para>
+ those on the <ulink url="&url.base;/portmgr/">Ports Management</ulink>
+ team.</para>
</note>
<sect2 id="codebase">
<title>The codebase</title>
- <para>Most of the package building magic occurs under the
- <filename>/var/portbuild</filename> directory. Unless
- otherwise specified, all paths will be relative to
- this location. <replaceable>${arch}</replaceable> will
- be used to specify one of the package architectures
- (amd64, &i386;, ia64, powerpc, and &sparc64;), and
- <replaceable>${branch}</replaceable> will be used
- to specify the build branch (7, 7-exp, 8, 8-exp, 9, 9-exp, 10, 10-exp).
- </para>
+ <para>Most of the package building magic occurs under the
+ <filename>/var/portbuild</filename> directory. Unless
+ otherwise specified, all paths will be relative to
+ this location. <replaceable>${arch}</replaceable> will
+ be used to specify one of the package architectures
+ (e.g., amd64, arm, &i386;, ia64, powerpc, &sparc64;), and
+ <replaceable>${branch}</replaceable> will be used
+ to specify the build branch (e.g., 7, 7-exp, 8, 8-exp, 9, 9-exp, 10, 10-exp).
+ The set of branches that <username>portmgr</username> currently
+ supports is the same as those that the &os;
+ <ulink url="http://www.freebsd.org/security/index.html#supported-branches">security team</ulink>
+ supports.
+ </para>
- <note>
- <para>Packages are no longer built for Releases 4, 5, or 6, nor
- for the alpha architecture.</para>
- </note>
+ <note>
+ <para>Packages are no longer built for branches 4, 5, or 6, nor
+ for the alpha architecture.</para>
+ </note>
- <para>The scripts that control all of this live in
- <filename class="directory">/var/portbuild/scripts/</filename>.
- These are the checked-out copies from the Subversion repository
- <ulink url="http://svnweb.freebsd.org/base/projects/portbuild/scripts/">
- <filename class="directory">base/projects/portbuild/scripts/</filename>
- </ulink>.</para>
+ <para>The scripts that control all of this live in
+ <filename role="directory">/var/portbuild/scripts/</filename>.
+ These are the checked-out copies from the Subversion repository at
+ <ulink url="http://svnweb.freebsd.org/base/projects/portbuild/scripts/">
+ <filename role="directory">base/projects/portbuild/scripts/</filename>
+ </ulink>.</para>
- <para>Typically, incremental builds are done that use previous
- packages as dependencies; this takes less time, and puts less
- load on the mirrors. Full builds are usually only done:</para>
+ <para>Typically, incremental builds are done that use previous
+ packages as dependencies; this takes less time, and puts less
+ load on the mirrors. Full builds are usually only done:</para>
- <itemizedlist>
- <listitem><para>right after release time, for the
- <literal>-STABLE</literal> branches</para></listitem>
+ <itemizedlist>
+ <listitem>
+ <para>right after release time, for the
+ <literal>-STABLE</literal> branches</para>
+ </listitem>
- <listitem><para>periodically to test changes to
- <literal>-CURRENT</literal>
- </para></listitem>
+ <listitem>
+ <para>periodically to test changes to
+ <literal>-CURRENT</literal></para>
+ </listitem>
- <listitem><para>for experimental builds</para></listitem>
- </itemizedlist>
+ <listitem>
+ <para>for experimental (<literal>"exp-"</literal>) builds</para>
+ </listitem>
+ </itemizedlist>
+ <para>Packages from experimental builds are not uploaded.</para>
</sect2>
<sect2 id="codebase-notes">
<title>Notes on the codebase</title>
<para>Until mid-2010, the scripts were completely specific to
- <hostid>pointyhat</hostid> as the head (dispatch) node. During
+ <hostid>pointyhat.FreeBSD.org</hostid> as the head (dispatch) node. During
the summer of 2010, a significant rewrite was done in order to allow
for other hosts to be head nodes. Among the changes were:</para>
<itemizedlist>
- <listitem><para>removal of the hard-coding of the string
- <literal>pointyhat</literal></para></listitem>
-
- <listitem><para>factoring out all configuration constants (which
- were previously scattered throughout the code) into configuration
- files (see <link linkend="new-head-node">below</link>)
- </para></listitem>
+ <listitem>
+ <para>removal of the hard-coding of the string
+ <literal>pointyhat</literal></para>
+ </listitem>
- <listitem><para>appending the hostname to the directories
- specified by <literal>buildid</literal> (this will allow
- directories to be unambigious when copied between machines.)
- </para></listitem>
+ <listitem>
+ <para>factoring out all configuration constants (which
+ were previously scattered throughout the code) into configuration
+ files (see <link linkend="new-head-node">below</link>)</para>
+ </listitem>
- <listitem><para>making the scripts more robust in terms of setting
- up directories and symlinks</para></listitem>
+ <listitem>
+ <para>appending the hostname to the directories
+ specified by <literal>buildid</literal> (this will allow
+ directories to be unambigious when copied between machines.)</para>
+ </listitem>
- <listitem><para>where necessary, changing certain script invocations
- to make all the above easier</para></listitem>
+ <listitem>
+ <para>making the scripts more robust in terms of setting
+ up directories and symlinks</para>
+ </listitem>
+ <listitem>
+ <para>where necessary, changing certain script invocations
+ to make all the above easier</para>
+ </listitem>
</itemizedlist>
<para>This document was originally written before these changes
were made. Where things such as script invocations have changed,
- they are denoted as <literal>new codebase:</literal> as opposed
+ they were denoted as <literal>new codebase:</literal> as opposed
to <literal>old codebase:</literal>.</para>
<note>
- <para>As of December 2010, <hostid>pointyhat</hostid> is still
- running on the old codebase, until the new codebase is considered
- rock-solid.</para>
+ <para>Up until November 2012, <hostid>pointyhat</hostid> had still
+ been running the old codebase. That installation has now been
+ permanently offlined. Therefore, all the instructions having
+ to do with the old codebase have been removed.</para>
</note>
<note>
@@ -164,10 +183,10 @@
interesting data (ports and src trees, bindist tarballs,
scripts, etc.) to disconnected nodes during the node-setup
phase. Then, the disconnected portbuild directory is
- nullfs-mounted for chroot builds.</para>
+ nullfs-mounted for jail builds.</para>
<para>The
- <username>ports-<replaceable>${arch}</replaceable></username>
+ <username>portbuild</username>
user can &man.ssh.1; to the client nodes to monitor them.
Use <command>sudo</command> and check the
<hostid>portbuild.<replaceable>hostname</replaceable>.conf</hostid>
@@ -176,41 +195,32 @@
<para>The <command>scripts/allgohans</command> script can
be used to run a command on all of the
<replaceable>${arch}</replaceable> clients.</para>
-
- <para>The <command>scripts/checkmachines</command> script
- is used to monitor the load on all the nodes of the
- build cluster, and schedule which nodes build which ports.
- This script is not very robust, and has a tendency to die.
- It is best to start up this script on the build master
- (e.g. <hostid>pointyhat</hostid>)
- after boot time using a &man.while.1; loop.
- </para>
</sect1>
<sect1 id="setup">
- <title>Chroot Build Environment Setup</title>
+ <title>Jail Build Environment Setup</title>
<para>Package builds are performed in a
- <literal>chroot</literal> populated by the
+ <literal>jail</literal> populated by the
<filename>portbuild</filename> script using the
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/builds/<replaceable>${buildid}</replaceable>/bindist.tar</filename>
file.</para>
- <para>The following command builds a world from the
+ <para>The <command>makeworld</command> command builds a world from the
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/builds/<replaceable>${buildid}</replaceable>/src/</filename>
tree and installs it into
- <replaceable>${worlddir}</replaceable>. The tree will
- be updated first unless <literal>-nocvs</literal> is
- specified.</para>
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/builds/<replaceable>${buildid}</replaceable>/bindist.tar</filename>.
+ The tree will
+ be updated first unless <literal>-novcs</literal> is
+ specified. It should be run as <username>root</username>:</para>
- <screen>/var/portbuild&prompt.root; <userinput>scripts/makeworld <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> [-nocvs]</userinput></screen>
+ <screen>&prompt.root; <userinput>/var/portbuild/scripts/makeworld <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> [-novcs]</userinput></screen>
<para>The <filename>bindist.tar</filename> tarball is created from the
previously installed world by the <command>mkbindist</command>
- script. It should be run as <username>root</username> with the following
- command:</para>
+ script. It should be also be run as <username>root</username>:</para>
- <screen>/var/portbuild&prompt.root; <userinput>scripts/mkbindist <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable></userinput></screen>
+ <screen>&prompt.root; <userinput>/var/portbuild/scripts/mkbindist <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable></userinput></screen>
<para>The per-machine tarballs are located in
<filename><replaceable>${arch}</replaceable>/clients</filename>.</para>
@@ -218,24 +228,16 @@
<para>The <filename>bindist.tar</filename> file is extracted
onto each client at client boot time, and at the start of
each pass of the <command>dopackages</command>
- script.
- </para>
+ script.</para>
- <sect2>
- <title>New Codebase</title>
-
- <para>For both commands above, if
- <replaceable>${buildid}</replaceable> is
- <literal>latest</literal>, it may be omitted.
- </para>
- </sect2>
+ <para>For both commands above, if
+ <replaceable>${buildid}</replaceable> is
+ <literal>latest</literal>, it may be omitted.</para>
</sect1>
<sect1 id="customizing">
<title>Customizing Your Build</title>
- <para>(The following only applies to the new codebase.)</para>
-
<para>You can customize your build by providing local versions of
<filename>make.conf</filename> and/or
<filename>src.conf</filename>,
@@ -277,7 +279,7 @@
<para>(For this case, the contents are identical for both server
and client.)</para>
- <screen>RUBY_DEFAULT_VER= 1.9</screen>
+ <programlisting>RUBY_DEFAULT_VER= 1.9</programlisting>
</example>
<example>
@@ -288,8 +290,7 @@
<para>(For this case, the contents are also identical for both
server and client.)</para>
- <screen>
-.if !defined(CC) || ${CC} == "cc"
+ <programlisting>.if !defined(CC) || ${CC} == "cc"
CC=clang
.endif
.if !defined(CXX) || ${CXX} == "c++"
@@ -298,44 +299,44 @@ CXX=clang++
.if !defined(CPP) || ${CPP} == "cpp"
CPP=clang-cpp
.endif
-# Don't die on warnings
+# Do not die on warnings
NO_WERROR=
-WERROR=
-</screen>
+WERROR=</programlisting>
</example>
<example>
<title>Sample <filename>make.conf.server</filename> for
<application>pkgng</application></title>
- <screen>WITH_PKGNG=yes
-PKG_BIN=/usr/local/sbin/pkg</screen>
+ <programlisting>WITH_PKGNG=yes
+PKG_BIN=/usr/local/sbin/pkg</programlisting>
</example>
<example>
<title>Sample <filename>make.conf.client</filename> for
<application>pkgng</application></title>
- <screen>WITH_PKGNG=yes</screen>
+ <programlisting>WITH_PKGNG=yes</programlisting>
</example>
<example>
<title>Sample <filename>src.conf.server</filename>
to test new <application>sort</application> codebase</title>
- <screen>WITH_BSD_SORT=yes</screen>
+ <programlisting>WITH_BSD_SORT=yes</programlisting>
</example>
</sect1>
<sect1 id="starting">
<title>Starting the Build</title>
- <para>Several separate builds for each architecture - branch combination
+ <para>Separate builds for various combinations of architecture and branch
are supported. All data private to a build (ports tree, src tree,
- packages, distfiles, log files, bindist, Makefile, etc) are located under
- <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/builds/<replaceable>${buildid}</replaceable></filename>.
- The last created build can be alternatively referenced under buildid
- <literal>latest</literal>, the one before is called
+ packages, distfiles, log files, bindist, Makefile, etc) are located under the
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/builds/<replaceable>${buildid}</replaceable>/</filename>
+ directory.
+ The most recently created build can be alternatively referenced using buildid
+ <literal>latest</literal>, and the one before using
<literal>previous</literal>.</para>
<para>New builds are cloned from the <literal>latest</literal>, which is
@@ -344,365 +345,260 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<sect2 id="build-dopackages">
<title><command>dopackages</command> scripts</title>
- <para>The <filename>scripts/dopackages</filename> scripts
- are used to perform the builds.</para>
+ <para>The <filename>scripts/dopackages.wrapper</filename> script
+ is used to perform the builds.</para>
- <sect3>
- <title>Old codebase</title>
- <para>For the old codebase: the
- most useful are:</para>
+ <screen>&prompt.root; <userinput>dopackages.wrapper <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> <option>[-options]</option></userinput></screen>
- <itemizedlist>
- <listitem>
- <para><command>dopackages.7</command> - Perform
- a 7.X build
- </para>
- </listitem>
+ <para>Most often, you will be using <literal>latest</literal> for
+ the value of <replaceable>buildid</replaceable>.</para>
- <listitem>
- <para><command>dopackages.7-exp</command> - Perform
- a 7.X build with experimental patches
- (7-exp branch)
- </para>
- </listitem>
+ <para><literal>[-options]</literal> may be zero or more of the
+ following:</para>
- <listitem>
- <para><command>dopackages.8</command> - Perform
- a 8.X build
- </para>
- </listitem>
-
- <listitem>
- <para><command>dopackages.8-exp</command> - Perform
- a 8.X build with experimental patches
- (8-exp branch)
- </para>
- </listitem>
-
- <listitem>
- <para><command>dopackages.9</command> - Perform
- a 9.X build
- </para>
- </listitem>
-
- <listitem>
- <para><command>dopackages.9-exp</command> - Perform
- a 9.X build with experimental patches
- (9-exp branch)
- </para>
- </listitem>
-
- <listitem>
- <para><command>dopackages.10</command> - Perform
- a 10.X build
- </para>
- </listitem>
-
- <listitem>
- <para><command>dopackages.10-exp</command> - Perform
- a 10.X build with experimental patches
- (10-exp branch)
- </para>
- </listitem>
- </itemizedlist>
-
- <para>These are wrappers around <command>dopackages</command>,
- and are all symlinked to <command>dopackages.wrapper</command>.
- New branch wrapper scripts can be created by symlinking
- <command>dopackages.${branch}</command> to
- <command>dopackages.wrapper</command>. These scripts
- take a number of arguments. For example:</para>
-
- <screen><command>dopackages.7 <replaceable>${arch}</replaceable> <replaceable>${buildid}</replaceable> <literal>[-options]</literal></command></screen>
-
- </sect3>
-
- <sect3>
- <title>New codebase</title>
- <para>The symlinks go away, and you just use
- <command>dopackages.wrapper</command> directly. For example:</para>
-
- <screen><command>dopackages.wrapper <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> <literal>[-options]</literal></command></screen>
-
- </sect3>
-
- <sect3>
- <title>Either codebase</title>
+ <itemizedlist>
+ <listitem>
+ <para><option>-keep</option> - Do not delete this build in the
+ future, when it would be normally deleted as part of the
+ <literal>latest</literal> - <literal>previous</literal> cycle.
+ Do not forget to clean it up manually when you no longer need it.</para>
+ </listitem>
- <para>Most often, you will be using <literal>latest</literal> for
- the value of <replaceable>buildid</replaceable>.</para>
+ <listitem>
+ <para><option>-nofinish</option> - Do not perform
+ post-processing once the build is complete. Useful
+ if you expect that the build will need to be restarted
+ once it finishes. If you use this option, do not forget to cleanup
+ the clients when you do not need the build any more.</para>
+ </listitem>
- <para><literal>[-options]</literal> may be zero or more of the
- following:</para>
+ <listitem>
+ <para><option>-finish</option> - Perform
+ post-processing only.</para>
+ </listitem>
- <itemizedlist>
- <listitem>
- <para><literal>-keep</literal> - Do not delete this build in the
- future, when it would be normally deleted as part of the
- <literal>latest</literal> - <literal>previous</literal> cycle.
- Don't forget to clean it up manually when you no longer need it.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-nocleanup</option> - By default, when the
+ <option>-finish</option> stage of the build is complete, the build
+ data will be deleted from the clients. This option will prevent
+ that.</para>
+ </listitem>
- <listitem>
- <para><literal>-nofinish</literal> - Do not perform
- post-processing once the build is complete. Useful
- if you expect that the build will need to be restarted
- once it finishes. If you use this option, don't forget to cleanup
- the clients when you don't need the build anymore.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-restart</option> - Restart an interrupted
+ (or non-<literal>finish</literal>ed) build from the
+ beginning. Ports that failed on the previous build will
+ be rebuilt.</para>
+ </listitem>
- <listitem>
- <para><literal>-finish</literal> - Perform
- post-processing only.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-continue</option> - Restart an interrupted
+ (or non-<literal>finish</literal>ed) build. Will not
+ rebuild ports that failed on the previous build.</para>
+ </listitem>
- <listitem>
- <para><literal>-nocleanup</literal> - By default, when the
- <literal>-finish</literal> stage of the build is complete, the build
- data will be deleted from the clients. This option will prevent
- that.</para>
- </listitem>
+ <listitem>
+ <para><option>-incremental</option> - Compare the
+ interesting fields of the new
+ <filename>INDEX</filename> with the previous one,
+ remove packages and log files for the old ports that
+ have changed, and rebuild the rest. This
+ cuts down on build times substantially since
+ unchanged ports do not get rebuilt every time.</para>
+ </listitem>
- <listitem>
- <para><literal>-restart</literal> - Restart an interrupted
- (or non-<literal>finish</literal>ed) build from the
- beginning. Ports that failed on the previous build will
- be rebuilt.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-cdrom</option> - This package build is
+ intended to end up on a CD-ROM, so
+ <makevar>NO_CDROM</makevar> packages and distfiles
+ should be deleted in post-processing.</para>
+ </listitem>
- <listitem>
- <para><literal>-continue</literal> - Restart an interrupted
- (or non-<literal>finish</literal>ed) build. Will not
- rebuild ports that failed on the previous build.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-nobuild</option> - Perform all
+ the preprocessing steps, but do not actually do
+ the package build.</para>
+ </listitem>
- <listitem>
- <para><literal>-incremental</literal> - Compare the
- interesting fields of the new
- <literal>INDEX</literal> with the previous one,
- remove packages and log files for the old ports that
- have changed, and rebuild the rest. This
- cuts down on build times substantially since
- unchanged ports do not get rebuilt every time.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-noindex</option> - Do not rebuild
+ <filename>INDEX</filename> during preprocessing.</para>
+ </listitem>
- <listitem>
- <para><literal>-cdrom</literal> - This package build is
- intended to end up on a CD-ROM, so
- <literal>NO_CDROM</literal> packages and distfiles
- should be deleted in post-processing.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-noduds</option> - Do not rebuild the
+ <filename>duds</filename> file (ports that are never
+ built, e.g., those marked <literal>IGNORE</literal>,
+ <makevar>NO_PACKAGE</makevar>, etc.) during
+ preprocessing.</para>
+ </listitem>
- <listitem>
- <para><literal>-nobuild</literal> - Perform all
- the preprocessing steps, but do not actually do
- the package build.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-nochecksubdirs</option> - Do not check the
+ <makevar>SUBDIRS</makevar> for ports that are not connected
+ to the build.</para>
+ </listitem>
- <listitem>
- <para><literal>-noindex</literal> - Do not rebuild
- <filename>INDEX</filename> during preprocessing.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-trybroken</option> - Try to build
+ <makevar>BROKEN</makevar> ports (off by default
+ because the amd64/&i386; clusters are fast enough now
+ that when doing incremental builds, more time
+ was spent rebuilding things that were going to
+ fail anyway. Conversely, the other clusters
+ are slow enough that it would be a waste of time
+ to try and build <makevar>BROKEN</makevar> ports).</para>
- <listitem>
- <para><literal>-noduds</literal> - Do not rebuild the
- <filename>duds</filename> file (ports that are never
- built, e.g. those marked <literal>IGNORE</literal>,
- <literal>NO_PACKAGE</literal>, etc.) during
- preprocessing.
- </para>
- </listitem>
+ <note>
+ <para>With <option>-trybroken</option>, you probably
+ also want to use <option>-fetch-original</option>
+ and
+ <option>-unlimited-errors</option>.</para>
+ </note>
+ </listitem>
- <listitem>
- <para><literal>-nochecksubdirs</literal> - Do not check the
- <makevar>SUBDIRS</makevar> for ports that are not connected
- to the build. (New codebase only).
- </para>
- </listitem>
+ <listitem>
+ <para><option>-nosrc</option> - Do not update the
+ <filename>src</filename> tree from the ZFS snapshot, keep the tree from
+ previous build instead.</para>
+ </listitem>
- <listitem>
- <para><literal>-trybroken</literal> - Try to build
- <literal>BROKEN</literal> ports (off by default
- because the amd64/&i386; clusters are fast enough now
- that when doing incremental builds, more time
- was spent rebuilding things that were going to
- fail anyway. Conversely, the other clusters
- are slow enough that it would be a waste of time
- to try and build <literal>BROKEN</literal> ports).
- </para>
- <note>
- <para>With <literal>-trybroken</literal>, you probably
- also want to use <literal>-fetch-original</literal>
- (and, on the new codebase,
- <literal>-unlimited-errors</literal>).</para>
- </note>
- </listitem>
+ <listitem>
+ <para><option>-srcvcs</option> - Do not update the
+ <filename>src</filename> tree from the ZFS snapshot, update it with
+ a fresh checkout instead.</para>
+ </listitem>
- <listitem>
- <para><literal>-nosrc</literal> - Do not update the
- <literal>src</literal> tree from the ZFS snapshot, keep the tree from
- previous build instead.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-noports</option> - Do not update the
+ <filename>ports</filename> tree from the ZFS snapshot, keep the tree from
+ previous build instead.</para>
+ </listitem>
- <listitem>
- <para><literal>-srccvs</literal> - Do not update the
- <literal>src</literal> tree from the ZFS snapshot, update it with
- <literal>cvs update</literal> instead.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-portsvcs</option> - Do not update the
+ <filename>ports</filename> tree from the ZFS snapshot, update it with
+ a fresh checkout instead.</para>
+ </listitem>
- <listitem>
- <para><literal>-noports</literal> - Do not update the
- <literal>ports</literal> tree from the ZFS snapshot, keep the tree from
- previous build instead.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-norestr</option> - Do not attempt to build
+ <makevar>RESTRICTED</makevar> ports.</para>
+ </listitem>
- <listitem>
- <para><literal>-portscvs</literal> - Do not update the
- <literal>ports</literal> tree from the ZFS snapshot, update it with
- <literal>cvs update</literal> instead.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-noplistcheck</option> - Do not make it fatal for
+ ports to leave behind files after deinstallation.</para>
+ </listitem>
- <listitem>
- <para><literal>-norestr</literal> - Do not attempt to build
- <literal>RESTRICTED</literal> ports.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-nodistfiles</option> - Do not collect distfiles
+ that pass <command>make checksum</command> for later
+ uploading to <hostid>ftp-master</hostid>.</para>
+ </listitem>
- <listitem>
- <para><literal>-noplistcheck</literal> - Do not make it fatal for
- ports to leave behind files after deinstallation.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-fetch-original</option> - Fetch the
+ distfile from the original <makevar>MASTER_SITES</makevar>
+ rather than any cache such as on <hostid>ftp-master</hostid>.</para>
+ </listitem>
- <listitem>
- <para><literal>-nodistfiles</literal> - Do not collect distfiles
- that pass <command>make checksum</command> for later
- uploading to <hostid>ftp-master</hostid>.
- </para>
- </listitem>
+ <listitem>
+ <para><option>-unlimited-errors</option>
+ - defeat the "qmanager threshhold" check for runaway
+ builds. You want this primarily when doing a
+ <option>-restart</option> of a build that you expect to mostly
+ fail, or perhaps a <option>-trybroken</option> run. By default,
+ the threshhold check is done.</para>
+ </listitem>
+ </itemizedlist>
- <listitem>
- <para><literal>-fetch-original</literal> - Fetch the
- distfile from the original <literal>MASTER_SITES</literal>
- rather than <hostid>ftp-master</hostid>.
- </para>
- </listitem>
+ <para>Unless you specify <option>-restart</option>,
+ <option>-continue</option>, or <option>-finish</option>,
+ the symlinks for the existing builds will be rotated. i.e,
+ the existing symlink for <filename>previous</filename> will
+ be deleted; the most recent build will have its symlink changed
+ to <filename>previous/</filename>; and a new build will be
+ created and symlinked into <filename>latest/</filename>.</para>
- <listitem>
- <para><literal>-unlimited-errors</literal> (new codebase
- only) - defeat the "qmanager threshhold" check for runaway
- builds. You want this primarily when doing a
- <literal>-restart</literal> of a build that you expect to mostly
- fail, or perhaps a <literal>-trybroken</literal> run. By default,
- the threshhold check is done.</para>
- </listitem>
- </itemizedlist>
+ <para>If the last build finished cleanly you do not need to delete
+ anything. If it was interrupted, or you selected
+ <option>-nocleanup</option>, you need to clean up clients by running</para>
- <para>Unless you specify <literal>-restart</literal>,
- <literal>-continue</literal>, or <literal>-finish</literal>,
- the symlinks for the existing builds will be rotated. i.e,
- the existing symlink for <filename>previous</filename> will
- be deleted; the most recent build will have its symlink changed
- to <filename>previous/</filename>; and a new build will be
- created and symlinked into <filename>latest/</filename>.
- </para>
+ <screen>&prompt.user; <userinput>build cleanup <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> -full</userinput></screen>
- <para>If the last build finished cleanly you do not need to delete
- anything. If it was interrupted, or you selected
- <literal>-nocleanup</literal>, you need to clean up clients by running
- </para>
+ <para>When a new build is created, the directories <filename>errors/</filename>,
+ <filename>logs/</filename>, <filename>packages/</filename>, and so
+ forth, are cleaned by the scripts. If you are short of space,
+ you can also clean out <filename>ports/distfiles/</filename>.
+ Leave the <filename>latest/</filename> directory alone; it is
+ a symlink for the webserver.</para>
- <para><command>build cleanup <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> -full</command></para>
+ <note>
+ <para><literal>dosetupnodes</literal> is supposed to be run from
+ the <literal>dopackages</literal> script in the
+ <option>-restart</option> case, but it can be a good idea to
+ run it by hand and then verify that the clients all have the
+ expected job load. Sometimes,
+ <filename>dosetupnode</filename> cannot clean up a build and you
+ need to do it by hand. (This is a bug.)</para>
+ </note>
- <para><filename>errors/</filename>,
- <filename>logs/</filename>, <filename>packages/</filename>, and so
- forth, are cleaned by the scripts. If you are short of space,
- you can also clean out <filename>ports/distfiles/</filename>.
- Leave the <filename>latest/</filename> directory alone; it is
- a symlink for the webserver.</para>
+ <para>Make sure the <replaceable>${arch}</replaceable> build
+ is run as the <username>portbuild</username> user
+ or it will complain loudly.</para>
- <note>
- <para><literal>dosetupnodes</literal> is supposed to be run from
- the <literal>dopackages</literal> script in the
- <literal>-restart</literal> case, but it can be a good idea to
- run it by hand and then verify that the clients all have the
- expected job load. Sometimes,
- <literal>dosetupnode</literal> cannot clean up a build and you
- need to do it by hand. (This is a bug.)</para>
- </note>
+ <note>
+ <para>The actual package build itself occurs in two
+ identical phases. The reason for this is that sometimes
+ transient problems (e.g., NFS failures, FTP sites being
+ unreachable, etc.) may halt a build. Doing things
+ in two phases is a workaround for these types of
+ problems.</para>
+ </note>
- <para>Make sure the <replaceable>${arch}</replaceable> build
- is run as the ports-<replaceable>${arch}</replaceable> user
- or it will complain loudly.</para>
-
- <note><para>The actual package build itself occurs in two
- identical phases. The reason for this is that sometimes
- transient problems (e.g. NFS failures, FTP sites being
- unreachable, etc.) may halt a build. Doing things
- in two phases is a workaround for these types of
- problems.</para></note>
-
- <para>Be careful that <filename>ports/Makefile</filename>
- does not specify any empty subdirectories. This is especially
- important if you are doing an -exp build. If the build
- process encounters an empty subdirectory, both package build
- phases will stop short, and an error similar to the following
- will be written to
- <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/make.[0|1]</filename>:
- </para>
+ <para>Be careful that <filename>ports/Makefile</filename>
+ does not specify any empty subdirectories. This is especially
+ important if you are doing an -exp build. If the build
+ process encounters an empty subdirectory, both package build
+ phases will stop short, and an error similar to the following
+ will be written to
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/journal</filename>:</para>
- <screen><literal>don't know how to make dns-all(continuing)</literal></screen>
+ <screen>don't know how to make dns-all(continuing)</screen>
- <para>To correct this problem, simply comment out or remove
- the <literal>SUBDIR</literal> entries that point to empty
- subdirectories. After doing this, you can restart the build
- by running the proper <command>dopackages</command> command
- with the <literal>-restart</literal> option.
- </para>
+ <para>To correct this problem, simply comment out or remove
+ the <makevar>SUBDIR</makevar> entries that point to empty
+ subdirectories. After doing this, you can restart the build
+ by running the proper <command>dopackages</command> command
+ with the <option>-restart</option> option.</para>
- <note>
- <para>This problem also appears if you create a new category
- <filename>Makefile</filename> with no <makevar>SUBDIR</makevar>s
- in it. This is probably a bug.</para>
- </note>
+ <note>
+ <para>This problem also appears if you create a new category
+ <filename>Makefile</filename> with no <makevar>SUBDIR</makevar>s
+ in it. This is probably a bug.</para>
+ </note>
- <example>
- <title>Update the i386-7 tree and do a complete build</title>
+ <example>
+ <title>Update the i386-7 tree and do a complete build</title>
- <para><command>dopackages.7 i386 -nosrc -norestr -nofinish</command></para>
- <para><command>dopackages.wrapper i386 7 -nosrc -norestr -nofinish</command></para>
- </example>
+ <screen>&prompt.user; <userinput>dopackages.wrapper i386 7 -nosrc -norestr -nofinish</userinput></screen>
+ </example>
- <example>
- <title>Restart an interrupted amd64-8 build without updating</title>
+ <example>
+ <title>Restart an interrupted amd64-8 build without updating</title>
- <para><command>dopackages.8 amd64 -nosrc -noports -norestr -continue -noindex -noduds -nofinish</command></para>
- <para><command>dopackages.wrapper amd64 8 -nosrc -noports -norestr -continue -noindex -noduds -nofinish</command></para>
- </example>
+ <screen>&prompt.user; <userinput>dopackages.wrapper amd64 8 -nosrc -noports -norestr -continue -noindex -noduds -nofinish</userinput></screen>
+ </example>
- <example>
- <title>Post-process a completed sparc64-7 tree</title>
+ <example>
+ <title>Post-process a completed sparc64-7 tree</title>
- <para><command>dopackages.7 sparc64 -finish</command></para>
- <para><command>dopackages.wrapper sparc64 7 -finish</command></para>
- </example>
+ <screen>&prompt.user; <userinput>dopackages.wrapper sparc64 7 -finish</userinput></screen>
+ </example>
- <para>Hint: it us usually best to run the <command>dopackages</command>
- command inside of <command>screen(1)</command>.</para>
- </sect3>
+ <para>Hint: it is usually best to run the <command>dopackages</command>
+ command inside of <command>screen(1)</command>.</para>
</sect2>
<sect2 id="build-command">
@@ -719,10 +615,7 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<replaceable>branch</replaceable>
[<replaceable>newid</replaceable>]</literal> - Creates
<replaceable>newid</replaceable> (or a datestamp if not specified).
- Only needed when bringing up a new branch or a new architecture.
- (TODO: document whether newid must be specified as
- <literal>latest</literal> in the new codebase.)
- </para>
+ Only needed when bringing up a new branch or a new architecture.</para>
</listitem>
<listitem>
@@ -730,30 +623,26 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<replaceable>branch</replaceable> <replaceable>oldid</replaceable>
[<replaceable>newid</replaceable>]</literal> - Clones
<replaceable>oldid</replaceable> to
- <replaceable>newid</replaceable> (or a datestamp if not specified).
- </para>
+ <replaceable>newid</replaceable> (or a datestamp if not specified).</para>
</listitem>
<listitem>
<para><literal>build srcupdate <replaceable>arch</replaceable>
<replaceable>branch</replaceable>
<replaceable>buildid</replaceable></literal> - Replaces the src
- tree with a new ZFS snapshot. Don't forget to use
+ tree with a new ZFS snapshot. Do not forget to use
<literal>-nosrc</literal> flag to <command>dopackages</command>
- later!
- </para>
+ later!</para>
</listitem>
<listitem>
<para><literal>build portsupdate <replaceable>arch</replaceable>
<replaceable>branch</replaceable>
<replaceable>buildid</replaceable></literal> - Replaces the ports
- tree with a new ZFS snapshot. Don't forget to use
+ tree with a new ZFS snapshot. Do not forget to use
<literal>-noports</literal> flag to <command>dopackages</command>
- later!
- </para>
+ later!</para>
</listitem>
-
</itemizedlist>
</sect2>
@@ -764,7 +653,7 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
package set. This can be accomplished with the following
invocation:</para>
- <para><command><replaceable>path</replaceable>/qmanager/packagebuild <replaceable>amd64</replaceable> <replaceable>7-exp</replaceable> <replaceable>20080904212103</replaceable> <replaceable>aclock-0.2.3_2.tbz</replaceable></command></para>
+ <screen>&prompt.root; <command><replaceable>path</replaceable>/qmanager/packagebuild <replaceable>amd64</replaceable> <replaceable>7-exp</replaceable> <replaceable>20080904212103</replaceable> <replaceable>aclock-0.2.3_2.tbz</replaceable></command></screen>
</sect2>
</sect1>
@@ -777,88 +666,72 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<orderedlist>
<listitem>
- <para>An update of the current <literal>ports</literal>
- tree from the ZFS snapshot [*]
- </para>
+ <para>An update of the current <filename>ports</filename>
+ tree from the ZFS snapshot<footnote id="footnote-status1">
+ <para>Status of these steps can be found in
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/build.log</filename>
+ as well as on stderr of the tty running the
+ <command>dopackages</command> command.</para></footnote></para>
</listitem>
<listitem>
<para>An update of the running branch's
- <literal>src</literal> tree from the ZFS snapshot [*]
- </para>
+ <filename>src</filename> tree from the ZFS snapshot<footnoteref linkend='footnote-status1'></footnoteref></para>
</listitem>
<listitem>
<para>Checks which ports do not have a
- <literal>SUBDIR</literal> entry in their respective
- category's <filename>Makefile</filename> [*]
- </para>
+ <makevar>SUBDIR</makevar> entry in their respective
+ category's <filename>Makefile</filename><footnoteref linkend='footnote-status1'></footnoteref></para>
</listitem>
<listitem>
<para>Creates the <filename>duds</filename> file, which
- is a list of ports not to build [*] [+]
- </para>
+ is a list of ports not to build<footnoteref linkend='footnote-status1'></footnoteref><footnote id="footnote-buildstop">
+ <para>If any of these steps fail, the build will stop
+ cold in its tracks.</para></footnote></para>
</listitem>
<listitem>
<para>Generates a fresh <filename>INDEX</filename>
- file [*] [+]
- </para>
+ file<footnoteref linkend='footnote-status1'></footnoteref><footnoteref linkend='footnote-buildstop'></footnoteref></para>
</listitem>
<listitem>
<para>Sets up the nodes that will be used in the
- build [*] [+]
- </para>
+ build<footnoteref linkend='footnote-status1'></footnoteref><footnoteref linkend='footnote-buildstop'></footnoteref></para>
</listitem>
<listitem>
- <para>Builds a list of restricted ports [*] [+]</para>
+ <para>Builds a list of restricted ports<footnoteref linkend='footnote-status1'></footnoteref><footnoteref linkend='footnote-buildstop'></footnoteref></para>
</listitem>
<listitem>
- <para>Builds packages (phase 1) [++]</para>
+ <para>Builds packages (phase 1)<footnote id="footnote-status2"><para>Status of these steps can be found in
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/journal</filename>.
+ Individual ports will write
+ their build logs to
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/logs/</filename>
+ and their error logs to
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/errors/</filename>.
+ </para></footnote></para>
</listitem>
<listitem>
- <para>Performs another node setup [+]</para>
+ <para>Performs another node setup<footnoteref linkend='footnote-status1'></footnoteref></para>
</listitem>
<listitem>
- <para>Builds packages (phase 2) [++]</para>
+ <para>Builds packages (phase 2)<footnoteref linkend='footnote-status2'></footnoteref></para>
</listitem>
</orderedlist>
-
- <para>[*] Status of these steps can be found in
- <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/build.log</filename>
- as well as on stderr of the tty running the
- <command>dopackages</command> command.</para>
-
- <para>[+] If any of these steps fail, the build will stop
- cold in its tracks.</para>
-
- <para>[++] Status of these steps can be found in
- <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/make</filename> (old codebase) or
- <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/journal</filename> (new codebase).
- Individual ports will write
- their build logs to
- <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/logs</filename>
- and their error logs to
- <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/errors</filename>.
- </para>
-
- <para>Formerly the docs tree was also checked out, however, it has
- been found to be unnecessary.
- </para>
</sect1>
<sect1 id="build-maintenance">
<title>Build Maintenance</title>
<para>There are several cases where you will need to manually clean
- up a build:
- </para>
+ up a build:</para>
<orderedlist>
<listitem>
@@ -866,7 +739,7 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
</listitem>
<listitem>
- <para><hostid>pointyhat</hostid> has been rebooted while
+ <para>The head node has been rebooted while
a build was running.</para>
</listitem>
@@ -874,99 +747,98 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<para><filename>qmanager</filename> has crashed and
has been restarted.</para>
</listitem>
- </orderedlist>
-
- <sect2 id="interrupting">
- <title>Interrupting a Build</title>
-
- <para>Manually interrupting a build is a bit messy. First you need to
- identify the tty in which it's running (either record the output
- of &man.tty.1; when you start the build, or use <command>ps x</command>
- to identify it. You need to make sure that nothing else important
- is running in this tty, e.g. <command>ps -t p1</command> or whatever.
- If there is not, you can just kill off the whole term easily with
- <command>pkill -t pts/1</command>; otherwise issue a
- <command>kill -HUP</command> in there by, for example,
-<command>ps -t pts/1 -o pid= | xargs kill -HUP</command>. Replace
- <replaceable>p1</replaceable> by whatever the tty is, of course.</para>
+ </orderedlist>
- <para>The
- package builds dispatched by <command>make</command> to
- the client machines will clean themselves up after a
- few minutes (check with <command>ps x</command> until they
- all go away).</para>
+ <sect2 id="interrupting">
+ <title>Interrupting a Build</title>
+
+ <para>Manually interrupting a build is a bit messy. First you need to
+ identify the tty in which it's running (either record the output
+ of &man.tty.1; when you start the build, or use <command>ps x</command>
+ to identify it. You need to make sure that nothing else important
+ is running in this tty, e.g., <userinput>ps -t p1</userinput> or whatever.
+ If there is not, you can just kill off the whole term easily with
+ <userinput>pkill -t pts/1</userinput>; otherwise issue a
+ <userinput>kill -HUP</userinput> in there by, for example,
+ <userinput>ps -t pts/1 -o pid= | xargs kill -HUP</userinput>. Replace
+ <replaceable>p1</replaceable> by whatever the tty is, of course.</para>
+
+ <para>The
+ package builds dispatched by <command>make</command> to
+ the client machines will clean themselves up after a
+ few minutes (check with <command>ps x</command> until they
+ all go away).</para>
+
+ <para>If you do not kill &man.make.1;, then it will spawn more jobs.
+ If you do not kill <command>dopackages</command>, then it will restart
+ the entire build. If you do not kill the <command>pdispatch</command>
+ processes, they'll keep going (or respawn) until they've built their
+ package.</para>
+ </sect2>
- <para>If you do not kill &man.make.1;, then it will spawn more jobs.
- If you do not kill <command>dopackages</command>, then it will restart
- the entire build. If you do not kill the <command>pdispatch</command>
- processes, they'll keep going (or respawn) until they've built their
- package.</para>
+ <sect2 id="cleanup">
+ <title>Cleaning up a Build</title>
- </sect2>
+ <para>To free up resources, you will need to clean up client machines by
+ running <command>build cleanup</command> command. For example:</para>
- <sect2 id="cleanup">
- <title>Cleaning up a Build</title>
+ <screen>&prompt.user; <userinput>/var/portbuild/scripts/build cleanup i386 8-exp 20080714120411 -full</userinput></screen>
- <para>To free up resources, you will need to clean up client machines by
- running <command>build cleanup</command> command. For example:
- <screen>&prompt.user; <userinput>/var/portbuild/scripts/build cleanup i386 8-exp 20080714120411 -full</userinput></screen></para>
+ <para>If you forget to do this, then the old build
+ <literal>jail</literal>s will not be cleaned up for 24 hours, and no
+ new jobs will be dispatched in their place since
+ <hostid>pointyhat</hostid> thinks the job slot is still occupied.</para>
- <para>If you forget to do this, then the old build
- <literal>chroot</literal>s will not be cleaned up for 24 hours, and no
- new jobs will be dispatched in their place since
- <hostid>pointyhat</hostid> thinks the job slot is still occupied.</para>
+ <para>To check, <userinput>cat ~/loads/*</userinput> to display the
+ status of client machines; the first column is the number of jobs
+ it thinks is running, and this should be roughly concordant
+ with the load average. <literal>loads</literal> is refreshed
+ every 2 minutes. If you do <userinput>ps x | grep pdispatch</userinput>
+ and it is less than the number of jobs that <literal>loads</literal>
+ thinks are in use, you are in trouble.</para>
- <para>To check, <command>cat ~/loads/*</command> to display the
- status of client machines; the first column is the number of jobs
- it thinks is running, and this should be roughly concordant
- with the load average. <literal>loads</literal> is refreshed
- every 2 minutes. If you do <command>ps x | grep pdispatch</command>
- and it's less than the number of jobs that <literal>loads</literal>
- thinks are in use, you're in trouble.</para>
+ <para>You may have problem with the <command>umount</command>
+ commands hanging. If so, you are going to have to use the
+ <command>allgohans</command> script to run an &man.ssh.1;
+ command across all clients for that buildenv. For example:</para>
- <para>You may have problem with the <command>umount</command>
- commands hanging. If so, you are going to have to use the
- <command>allgohans</command> script to run an &man.ssh.1;
- command across all clients for that buildenv. For example:
-<screen>ssh -l root gohan24 df</screen>
+ <screen>&prompt.user; ssh gohan24 df</screen>
- will get you a df, and
+ <para>will get you a df, and</para>
-<screen>allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/ports"
-allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/src"</screen>
+ <screen>&prompt.user; allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/ports"
+&prompt.user; allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/src"</screen>
- are supposed to get rid of the hanging mounts. You will have to
- keep doing them since there can be multiple mounts.</para>
+ <para>are supposed to get rid of the hanging mounts. You will have to
+ keep doing them since there can be multiple mounts.</para>
- <note>
- <para>Ignore the following:
+ <note>
+ <para>Ignore the following:</para>
-<screen>umount: pointyhat.freebsd.org:/var/portbuild/i386/8-exp/ports: statfs: No such file or directory
+ <screen>umount: pointyhat.freebsd.org:/var/portbuild/i386/8-exp/ports: statfs: No such file or directory
umount: pointyhat.freebsd.org:/var/portbuild/i386/8-exp/ports: unknown file system
umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
/x/tmp/8-exp/chroot/53837/compat/linux/proc: not a file system root directory</screen>
- The former 2 mean that that client did not have those mounted;
- the latter 2 are a bug.</para>
-
- <para>You may also see messages about <literal>procfs</literal>.</para>
- </note>
+ <para>The former two mean that the client did not have those mounted;
+ the latter two are a bug.</para>
- <para>After you have done all the above, remove the
- <filename><replaceable>${arch}</replaceable>/lock</filename>
- file before trying to restart the build. If you do not,
- <filename>dopackages</filename> will simply exit.
- </para>
+ <para>You may also see messages about <literal>procfs</literal>.</para>
+ </note>
- <para>If you have to do a ports tree update before
- restarting, you may have to rebuild either <filename>duds</filename>,
- <filename>INDEX</filename>, or both.</para>
+ <para>After you have done all the above, remove the
+ <filename><replaceable>${arch}</replaceable>/lock</filename>
+ file before trying to restart the build. If you do not,
+ <filename>dopackages</filename> will simply exit.</para>
+ <para>If you have to do a ports tree update before
+ restarting, you may have to rebuild either <filename>duds</filename>,
+ <filename>INDEX</filename>, or both.</para>
</sect2>
<sect2 id="build-command-2">
<title>Maintaining builds with the <command>build</command>
- command</title>
+ command</title>
<para>Here are the rest of the options for the <command>build</command>
command:</para>
@@ -975,26 +847,16 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<listitem>
<para><literal>build destroy <replaceable>arch</replaceable>
<replaceable>branch</replaceable></literal> - Destroy the
- build id.
- </para>
+ build id.</para>
</listitem>
<listitem>
<para><literal>build list <replaceable>arch</replaceable>
<replaceable>branch</replaceable></literal> - Shows the current set
- of build ids.
- </para>
- </listitem>
-
- <listitem>
- <para><literal>build upload <replaceable>arch</replaceable>
- <replaceable>branch</replaceable></literal> - not yet
- implemented.</para>
+ of build ids.</para>
</listitem>
</itemizedlist>
-
</sect2>
-
</sect1>
<sect1 id="monitoring">
@@ -1003,14 +865,14 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<para>You can use <command>qclient</command> command to monitor the status
of build nodes, and to list the currently scheduled jobs:</para>
- <para><command>python <replaceable>path</replaceable>/qmanager/qclient jobs</command></para>
- <para><command>python <replaceable>path</replaceable>/qmanager/qclient status</command></para>
+ <screen>&prompt.user; <userinput>python <replaceable>path</replaceable>/qmanager/qclient jobs</userinput>
+&prompt.user; <userinput>python <replaceable>path</replaceable>/qmanager/qclient status</userinput></screen>
<para>The
- <command>scripts/stats <replaceable>${branch}</replaceable></command>
+ <userinput>scripts/stats <replaceable>${branch}</replaceable></userinput>
command shows the number of packages already built.</para>
- <para>Running <command>cat /var/portbuild/*/loads/*</command>
+ <para>Running <userinput>cat /var/portbuild/*/loads/*</userinput>
shows the client loads and number of concurrent builds in
progress. The files that have been recently updated are the clients
that are online; the others are the offline clients.</para>
@@ -1025,18 +887,17 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
idle node.</para>
</note>
- <para>Running <command>tail -f <replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/build.log</command>
+ <para>Running <userinput>tail -f <replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/build.log</userinput>
shows the overall build progress.</para>
<para>If a port build is failing, and it is not immediately obvious
from the log as to why, you can preserve the
- <literal>WRKDIR</literal> for further analysis. To do this,
+ <makevar>WRKDIR</makevar> for further analysis. To do this,
touch a file called <filename>.keep</filename> in the port's
directory. The next time the cluster tries to build this port,
- it will tar, compress, and copy the <literal>WRKDIR</literal>
+ it will tar, compress, and copy the <makevar>WRKDIR</makevar>
to
- <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/wrkdirs</filename>.
- </para>
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/wrkdirs/</filename>.</para>
<para>If you find that the system is looping trying to build the
same package over and over again, you may be able to fix the
@@ -1049,19 +910,18 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<para>Keep an eye on &man.df.1; output. If the
<filename>/var/portbuild</filename> file system becomes full
- then <trademark>Bad Things</trademark> happen.
- </para>
+ then <trademark>Bad Things</trademark> happen.</para>
- <para>The status of all current builds is generated twice an hour
- and posted to
+ <para>The status of all current builds is generated periodically
+ into the <filename>packagestats.html</filename> file, e.g.,
<ulink url="http://pointyhat.FreeBSD.org/errorlogs/packagestats.html"></ulink>.
For each <literal>buildenv</literal>, the following is displayed:</para>
<itemizedlist>
<listitem>
- <para><literal>cvs date</literal> is the contents of
- <filename>cvsdone</filename>. This is why we recommend that you
- update <filename>cvsdone</filename> for <literal>-exp</literal>
+ <para><literal>updated</literal> is the contents of
+ <filename>.updated</filename>. This is why we recommend that you
+ update <filename>.updated</filename> for <literal>-exp</literal>
runs (see below).</para>
</listitem>
@@ -1070,7 +930,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
</listitem>
<listitem>
- <para>number of lines in <literal>INDEX</literal></para>
+ <para>number of lines in <filename>INDEX</filename></para>
</listitem>
<listitem>
@@ -1092,7 +952,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<listitem>
<para><literal>missing</literal> shows the difference between
<filename>INDEX</filename> and the other columns. If you have
- restarted a run after a <command>cvs update</command>, there
+ restarted a run after a ports tree update, there
will likely be duplicates in the packages and error columns,
and this column will be meaningless. (The script is naive).</para>
</listitem>
@@ -1116,7 +976,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
You can easily bounce the new ones to maintainers.</para>
<para>After a port appears broken on every build combination
- multiple times, it is time to mark it <literal>BROKEN</literal>.
+ multiple times, it is time to mark it <makevar>BROKEN</makevar>.
Two weeks' notification for the maintainers seems fair.</para>
<note>
@@ -1133,20 +993,20 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<para>When building packages for a release, it may be
necessary to manually update the <literal>ports</literal>
- and <literal>src</literal> trees to the release tag and use
- <literal>-nocvs</literal> and
- <literal>-noportscvs</literal>.</para>
+ and <filename>src</filename> trees to the release tag and use
+ <option>-novcs</option> and
+ <option>-noportsvcs</option>.</para>
<para>To build package sets intended for use on a CD-ROM,
- use the <literal>-cdrom</literal> option to
+ use the <option>-cdrom</option> option to
<command>dopackages</command>.</para>
<para>If the disk space is not available on the cluster, use
- <literal>-nodistfiles</literal> to avoid collecting distfiles.</para>
+ <option>-nodistfiles</option> to avoid collecting distfiles.</para>
<para>After the initial build completes, restart the build
with
- <literal>-restart -fetch-original</literal>
+ <option>-restart -fetch-original</option>
to collect updated distfiles as well. Then, once the
build is post-processed, take an inventory of the list
of files fetched:</para>
@@ -1177,8 +1037,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
and inform them of the release package location.</para>
<para>Remember to coordinate with the &a.re; about the timing
- and status of the release builds.
- </para>
+ and status of the release builds.</para>
</sect1>
<sect1 id="uploading">
@@ -1187,11 +1046,11 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<para>Once a build has completed, packages and/or distfiles
can be transferred to <hostid>ftp-master</hostid> for
propagation to the FTP mirror network. If the build was
- run with <literal>-nofinish</literal>, then make sure to
+ run with <option>-nofinish</option>, then make sure to
follow up with
<command>dopackages -finish</command> to post-process the
- packages (removes <literal>RESTRICTED</literal> and
- <literal>NO_CDROM</literal> packages where appropriate,
+ packages (removes <makevar>RESTRICTED</makevar> and
+ <makevar>NO_CDROM</makevar> packages where appropriate,
prunes packages not listed in <filename>INDEX</filename>,
removes from <filename>INDEX</filename>
references to packages not built, and generates a
@@ -1199,7 +1058,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
summary); and distfiles (moves them from the temporary
<filename>distfiles/.pbtmp</filename> directory into
<filename>distfiles/</filename> and removes
- <literal>RESTRICTED</literal> and <literal>NO_CDROM</literal>
+ <makevar>RESTRICTED</makevar> and <makevar>NO_CDROM</makevar>
distfiles).</para>
<para>It is usually a good idea to run the
@@ -1212,41 +1071,42 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
the final package set for a release.</para>
<para>The package subdirectories are named by whether they are for
- <literal>release</literal>, <literal>stable</literal>, or
- <literal>current</literal>. Examples:</para>
+ <filename>release</filename>, <filename>stable</filename>, or
+ <filename>current</filename>. Examples:</para>
<itemizedlist>
<listitem>
- <para><literal>packages-7.2-release</literal></para>
+ <para><filename>packages-7.2-release</filename></para>
</listitem>
<listitem>
- <para><literal>packages-7-stable</literal></para>
+ <para><filename>packages-7-stable</filename></para>
</listitem>
<listitem>
- <para><literal>packages-8-stable</literal></para>
+ <para><filename>packages-8-stable</filename></para>
</listitem>
<listitem>
- <para><literal>packages-9-stable</literal></para>
+ <para><filename>packages-9-stable</filename></para>
</listitem>
<listitem>
- <para><literal>packages-10-current</literal></para>
+ <para><filename>packages-10-current</filename></para>
</listitem>
</itemizedlist>
- <note><para>Some of the directories on
- <hostid>ftp-master</hostid> are, in fact, symlinks. Examples:</para>
+ <note>
+ <para>Some of the directories on
+ <hostid>ftp-master</hostid> are, in fact, symlinks. Examples:</para>
<itemizedlist>
<listitem>
- <para><literal>packages-stable</literal></para>
+ <para><filename>packages-stable</filename></para>
</listitem>
<listitem>
- <para><literal>packages-current</literal></para>
+ <para><filename>packages-current</filename></para>
</listitem>
</itemizedlist>
@@ -1256,7 +1116,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
one of the symlinks that points to it.</para>
</note>
- <para>If you are doing a completely new package set (e.g. for
+ <para>If you are doing a completely new package set (e.g., for
a new release), copy packages to the staging area on
<hostid>ftp-master</hostid> with something like the following:</para>
@@ -1267,19 +1127,18 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
the package set was transferred successfully, remove the
package set that the new package set is to replace (in
<filename>~/w/ports/<replaceable>${arch}</replaceable></filename>),
- and move the new set into place. (<literal>w/</literal> is
+ and move the new set into place. (<filename>w/</filename> is
merely a shortcut.)</para>
<para>For incremental builds, packages should be uploaded
using <command>rsync</command> so we do not put too much
strain on the mirrors.</para>
- <para><emphasis>ALWAYS</emphasis> use <literal>-n</literal>
+ <para><emphasis>ALWAYS</emphasis> use <option>-n</option>
first with <command>rsync</command> and check the output
to make sure it is sane. If it looks good, re-run the
- <command>rsync</command> without the <literal>-n</literal>
- option.
- </para>
+ <command>rsync</command> without the <option>-n</option>
+ option.</para>
<para>Example <command>rsync</command> command for incremental
package upload:</para>
@@ -1308,12 +1167,17 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<para>In general, an experimental patches build is run the same
way as any other build, except that you should first update the
ports tree to the latest version and then apply your patches.
- To do the former, you can use the following:
+ To do the former, you can use the following:</para>
+
+ <note>
+ <para>The following example is obsolete</para>
+ </note>
+
+ <screen>&prompt.user; <userinput>cvs -R update -dP > update.out</userinput>
+&prompt.user; <userinput>date > .updated</userinput></screen>
- <screen>&prompt.user; <userinput>cvs -R update -dP > update.out</userinput>
-&prompt.user; <userinput>date > cvsdone</userinput></screen>
- This will most closely simulate what the <literal>dopackages</literal>
- script does. (While <filename>cvsdone</filename> is merely
+ <para>This will most closely simulate what the <literal>dopackages</literal>
+ script does. (While <filename>.updated</filename> is merely
informative, it can be a help.)</para>
<para>You will need to edit <filename>update.out</filename> to look
@@ -1327,7 +1191,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
tested.</para>
<para>Since the machine is shared, someone else may delete your
- changes by mistake, so keep a copy of them in e.g. your home
+ changes by mistake, so keep a copy of them in e.g., your home
directory on <hostid>freefall</hostid>. Do not use
<filename>tmp/</filename>; since <hostid>pointyhat</hostid>
itself runs some version of <literal>-CURRENT</literal>, you
@@ -1359,10 +1223,12 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
&prompt.user; <userinput>cd /var/portbuild/i386/8/errors</userinput>
&prompt.user; <userinput>find . -name \*.log\* | sort > /tmp/8-errs</userinput></screen>
- <note><para>If it has been a long time since one of the builds
+ <note>
+ <para>If it has been a long time since one of the builds
finished, the logs may have been automatically compressed with
- bzip2. In that case, you must use <literal>sort | sed
- 's,\.bz2,,g'</literal> instead.</para></note>
+ bzip2. In that case, you must use <userinput>sort | sed
+ 's,\.bz2,,g'</userinput> instead.</para>
+ </note>
<screen>&prompt.user; <userinput>comm -3 /tmp/8-errs /tmp/8-exp-errs | less</userinput></screen>
@@ -1376,20 +1242,17 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<listitem>
<para>Port was fixed since the control build was run, or was
upgraded to a newer version that is also broken (thus the
- newer version should appear in the second column)
- </para>
+ newer version should appear in the second column)</para>
</listitem>
<listitem>
<para>Port is fixed by the patches in the experimental patches
- build
- </para>
+ build</para>
</listitem>
<listitem>
<para>Port did not build under the experimental patches build
- due to a dependency failure
- </para>
+ due to a dependency failure</para>
</listitem>
</itemizedlist>
@@ -1397,42 +1260,49 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
include:</para>
<itemizedlist>
- <listitem>
- <para>Port was broken by the experimental patches [1]</para>
+ <listitem id="broken-by-exp-patches" xreflabel="broken by experimental patches">
+ <para>Port was broken by the experimental patches</para>
</listitem>
- <listitem>
+ <listitem id="broken-by-upgrading" xreflabel="broken by upgrading">
<para>Port was upgraded since the control build and has become
- broken [2]
- </para>
+ broken</para>
</listitem>
<listitem>
- <para>Port was broken due to a transient error (e.g. FTP site
- down, package client error, etc.)
- </para>
+ <para>Port was broken due to a transient error (e.g., FTP site
+ down, package client error, etc.)</para>
</listitem>
</itemizedlist>
<para>Both columns should be investigated and the reason for the
- errors understood before committing the experimental patches set.
- To differentiate between [1] and [2] above, you can do a rebuild
- of the affected packages under the control branch:</para>
+ errors understood before committing the experimental patches
+ set. To differentiate between <xref
+ linkend="broken-by-exp-patches"></xref> and <xref
+ linkend="broken-by-upgrading"></xref> above, you can do a
+ rebuild of the affected packages under the control
+ branch:</para>
<screen>&prompt.user; <userinput>cd /var/portbuild/i386/8/ports</userinput></screen>
- <note><para>Be sure to <literal>cvs update</literal> this tree to the same date as
- the experimental patches tree.</para></note>
+ <note>
+ <para>The following example is obsolete</para>
+ </note>
+
+ <note>
+ <para>Be sure to <userinput>cvs update</userinput> this tree to the same date as
+ the experimental patches tree.</para>
+ </note>
<!-- XXX MCL fix -->
<para>The following command will set up the control branch for
the partial build (old codebase):</para>
- <screen>&prompt.user; <userinput>/var/portbuild/scripts/dopackages.8 -noportscvs -nobuild -nocvs -nofinish</userinput></screen>
+ <screen>&prompt.user; <userinput>/var/portbuild/scripts/dopackages.8 -noportsvcs -nobuild -novcs -nofinish</userinput></screen>
<!-- XXX MCL obsolete -->
<para>The builds must be performed from the
- <literal>packages/All</literal> directory. This directory should
+ <filename>packages/All</filename> directory. This directory should
initially be empty except for the Makefile symlink. If this
symlink does not exist, it must be created:</para>
@@ -1440,15 +1310,17 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
&prompt.user; <userinput>ln -sf ../../Makefile .</userinput>
&prompt.user; <userinput>make -k -j&lt;#&gt; &lt;list of packages to build&gt;</userinput></screen>
- <note><para>&lt;#&gt; is the concurrency of the build to
- attempt. It is usually the sum of the weights listed in
- <filename>/var/portbuild/i386/mlist</filename> unless you have a
- reason to run a heavier or lighter build.</para>
-
- <para>The list of packages to build should be a list of package
- names (including versions) as they appear in
- <filename>INDEX</filename>. The <literal>PKGSUFFIX</literal>
- (i.e. .tgz or .tbz) is optional.</para></note>
+ <note>
+ <para>&lt;#&gt; is the concurrency of the build to
+ attempt. It is usually the sum of the weights listed in
+ <filename>/var/portbuild/i386/mlist</filename> unless you have a
+ reason to run a heavier or lighter build.</para>
+
+ <para>The list of packages to build should be a list of package
+ names (including versions) as they appear in
+ <filename>INDEX</filename>. The <makevar>PKGSUFFIX</makevar>
+ (i.e., <filename>.tgz</filename> or <filename>.tbz</filename>) is optional.</para>
+ </note>
<para>This will build only those packages listed as well as all
of their dependencies.</para>
@@ -1472,8 +1344,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<title>How to configure a new package building node</title>
<para>Before following these steps, please coordinate with
- <literal>portmgr</literal>.
- </para>
+ <literal>portmgr</literal>.</para>
<note>
<para>Due to some generous donations, <literal>portmgr</literal> is
@@ -1523,7 +1394,6 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
has been shown to saturate a cable modem line.</para>
</listitem>
</itemizedlist>
-
</sect2>
<sect2 id="node-preparation">
@@ -1561,16 +1431,19 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<step>
<para>Pick a directory to hold ports configuration and
- <command>chroot</command> subdirectories. It may be
+ <filename>chroot</filename> subdirectories. It may be
best to put it this on its own partition. (Example:
<filename>/usr2/</filename>.)</para>
+ <note>
+ <para>The filename <filename>chroot</filename> is a
+ historical remnant.</para>
+ </note>
</step>
</procedure>
-
</sect2>
<sect2 id="node-src">
- <title>Configuring <literal>src</literal></title>
+ <title>Configuring <filename>src</filename></title>
<procedure>
<step>
@@ -1584,7 +1457,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
</step>
<step>
- <para>If you are using <literal>pxeboot</literal>: create a
+ <para>If you are using <filename>pxeboot</filename>: create a
directory to contain the install bits. You will probably
want to use a subdirectory of <filename>/pxeroot</filename>,
e.g.,
@@ -1594,8 +1467,8 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<step>
<para>If you are cross-building, export
- <literal>TARGET_ARCH</literal>=<replaceable>${arch}</replaceable>.
- </para>
+ <makevar>TARGET_ARCH</makevar>=<replaceable>${arch}</replaceable>.</para>
+
<note>
<para>The procedure for cross-building ports is not yet
defined.</para>
@@ -1604,17 +1477,17 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<step>
<para>Generate a kernel config file. Include
- <literal>GENERIC</literal> (or, if you are using more than
- 3.5G on &i386;, <literal>PAE</literal>).
- </para>
- <para>
- Required options:<screen>
-options NULLFS
-options TMPFS</screen>
- </para>
- <para>
- Suggested options:<screen>
-options GEOM_CONCAT
+ <filename>GENERIC</filename> (or, if you are using more than
+ 3.5G on &i386;, <filename>PAE</filename>).</para>
+
+ <para>Required options:</para>
+
+ <programlisting>options NULLFS
+options TMPFS</programlisting>
+
+ <para>Suggested options:</para>
+
+ <programlisting>options GEOM_CONCAT
options GEOM_STRIPE
options SHMMAXPGS=65536
options SEMMNI=40
@@ -1622,41 +1495,41 @@ options SEMMNS=240
options SEMUME=40
options SEMMNU=120
-options ALT_BREAK_TO_DEBUGGER</screen>
- </para>
+options ALT_BREAK_TO_DEBUGGER</programlisting>
- <para>For <literal>PAE</literal>, it is not currently possible
+ <para>For <filename>PAE</filename>, it is not currently possible
to load modules. Therefore, if you are running an architecture
- that supports Linux emulation, you will need to add:<screen>
-options COMPAT_LINUX
-options LINPROCFS</screen>
- </para>
-
- <para>Also for <literal>PAE</literal>, as of 20110912 you need
- the following. This needs to be investigated:<screen>
-nooption NFSD # New Network Filesystem Server
+ that supports Linux emulation, you will need to add:</para>
+
+ <programlisting>options COMPAT_LINUX
+options LINPROCFS</programlisting>
+
+ <para>Also for <filename>PAE</filename>, as of 20110912 you need
+ the following. This needs to be investigated:</para>
+
+ <programlisting>nooption NFSD # New Network Filesystem Server
options NFSCLIENT # Network Filesystem Client
-options NFSSERVER # Network Filesystem Server</screen>
- </para>
+options NFSSERVER # Network Filesystem Server</programlisting>
</step>
<step>
- <para>As root, do the usual build steps, e.g.:<screen>
-<userinput>make -j4 buildworld</userinput>
-<userinput>make buildkernel KERNCONF=<replaceable>${kernconf}</replaceable></userinput>
-<userinput>make installkernel KERNCONF=<replaceable>${kernconf}</replaceable></userinput>
-<userinput>make installworld</userinput></screen>
- The install steps use <makevar>DESTDIR</makevar>.
- </para>
+ <para>As root, do the usual build steps, e.g.:</para>
+
+ <screen>&prompt.root; <userinput>make -j4 buildworld</userinput>
+&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>${kernconf}</replaceable></userinput>
+&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>${kernconf}</replaceable></userinput>
+&prompt.root; <userinput>make installworld</userinput></screen>
+
+ <para>The install steps use <makevar>DESTDIR</makevar>.</para>
</step>
<step>
<para>Customize files in <filename>etc/</filename>.
Whether you do this on the client itself, or another
machine, will depend on whether you are using
- <literal>pxeboot</literal>.</para>
+ <filename>pxeboot</filename>.</para>
- <para>If you are using <literal>pxeboot</literal>: create
+ <para>If you are using <filename>pxeboot</filename>: create
a subdirectory of
<filename><replaceable>${DESTDIR}</replaceable></filename>
called <filename>conf/</filename>. Create one subdirectory
@@ -1677,20 +1550,20 @@ options NFSSERVER # Network Filesystem Server</screen>
<itemizedlist>
<listitem>
<para>Create a
- <literal>ports-<replaceable>${arch}</replaceable></literal>
- user and group. Add it to the <literal>wheel</literal>
- group. It can have the <literal>'*'</literal> password.</para>
+ <literal>portbuild</literal>
+ user and group. It can have the <literal>'*'</literal> password.</para>
<para>Create
- <filename>/home/ports-<replaceable>${arch}/.ssh/</replaceable></filename>
+ <filename>/home/portbuild/.ssh/</filename>
and populate <filename>authorized_keys</filename>. </para>
</listitem>
<listitem>
- <para>Also add the following users:<screen>
-squid:*:100:100::0:0:User &amp;:/usr/local/squid:/bin/sh
-ganglia:*:102:102::0:0:User &amp;:/usr/local/ganglia:/bin/sh</screen>
- </para>
+ <para>Also add the following users:</para>
+
+ <programlisting>squid:*:100:100::0:0:User &amp;:/usr/local/squid:/bin/sh
+ganglia:*:102:102::0:0:User &amp;:/usr/local/ganglia:/bin/sh</programlisting>
+
<para>Add them to <filename>etc/group</filename> as well.</para>
</listitem>
@@ -1700,45 +1573,45 @@ ganglia:*:102:102::0:0:User &amp;:/usr/local/ganglia:/bin/sh</screen>
</listitem>
<listitem>
- <para>In <filename>etc/crontab</filename>: add
- <screen>* * * * * root /var/portbuild/scripts/client-metrics</screen>
- </para>
+ <para>In <filename>etc/crontab</filename>: add</para>
+
+ <programlisting>* * * * * root /var/portbuild/scripts/client-metrics</programlisting>
</listitem>
<listitem>
<para>Create the appropriate
<filename>etc/fstab</filename>. (If you have multiple,
- different, machines, you will need to put those in
- the override directories.)</para>
+ different, machines, you will need to put those in
+ the override directories.)</para>
</listitem>
<listitem>
- <para>In <filename>etc/inetd.conf</filename>: add
- <screen>infoseek stream tcp nowait nobody /var/portbuild/scripts/reportload</screen>
- </para>
+ <para>In <filename>etc/inetd.conf</filename>: add</para>
+
+ <programlisting>infoseek stream tcp nowait nobody /var/portbuild/scripts/reportload</programlisting>
</listitem>
<listitem>
- <para>We run the cluster on UTC:
- <screen>cp /usr/share/zoneinfo/Etc/UTC etc/localtime</screen>
- </para>
+ <para>You should run the cluster on UTC. If you have not set the clock
+ to UTC:</para>
+
+ <programlisting>&prompt.root; cp -p /usr/share/zoneinfo/Etc/UTC etc/localtime</programlisting>
</listitem>
<listitem>
<para>Create the appropriate
<filename>etc/rc.conf</filename>. (If you are using
- <literal>pxeboot</literal>, and have multiple,
- different, machines, you will need to put those in
- the override directories.)</para>
+ <literal>pxeboot</literal>, and have multiple,
+ different, machines, you will need to put those in
+ the override directories.)</para>
- <para>Recommended entries for physical nodes:<screen>
-hostname="<replaceable>${hostname}</replaceable>"
+ <para>Recommended entries for physical nodes:</para>
+
+ <programlisting>hostname="<replaceable>${hostname}</replaceable>"
inetd_enable="YES"
linux_enable="YES"
nfs_client_enable="YES"
ntpd_enable="YES"
-ntpdate_enable="YES"
-ntpdate_flags="north-america.pool.ntp.org"
sendmail_enable="NONE"
sshd_enable="YES"
sshd_program="/usr/local/sbin/sshd"
@@ -1746,18 +1619,16 @@ sshd_program="/usr/local/sbin/sshd"
gmond_enable="YES"
squid_enable="YES"
squid_chdir="<filename>/<replaceable>usr2</replaceable>/squid/logs</filename>"
-squid_pidfile="<filename>/<replaceable>usr2</replaceable>/squid/logs/squid.pid</filename>"
-</screen>
- </para>
+squid_pidfile="<filename>/<replaceable>usr2</replaceable>/squid/logs/squid.pid</filename>"</programlisting>
- <para>Required entries for VMWare-based nodes:<screen>
-vmware_guest_vmmemctl_enable="YES"
-vmware_guest_guestd_enable="YES"
-</screen>
- </para>
+ <para>Required entries for VMWare-based nodes:</para>
+
+ <programlisting>vmware_guest_vmmemctl_enable="YES"
+vmware_guest_guestd_enable="YES"</programlisting>
+
+ <para>Recommended entries for VMWare-based nodes:</para>
- <para>Recommended entries for VMWare-based nodes:<screen>
-hostname=""
+ <programlisting>hostname=""
ifconfig_em0="DHCP"
fsck_y_enable="YES"
@@ -1771,9 +1642,7 @@ sshd_program="/usr/local/sbin/sshd"
gmond_enable="YES"
squid_enable="YES"
squid_chdir="<filename>/<replaceable>usr2</replaceable>/squid/logs</filename>"
-squid_pidfile="<filename>/<replaceable>usr2</replaceable>/squid/logs/squid.pid</filename>"
-</screen>
- </para>
+squid_pidfile="<filename>/<replaceable>usr2</replaceable>/squid/logs/squid.pid</filename>"</programlisting>
<para>&man.ntpd.8; should <emphasis>not</emphasis>
be enabled for VMWare instances.</para>
@@ -1785,7 +1654,6 @@ squid_pidfile="<filename>/<replaceable>usr2</replaceable>/squid/logs/squid.pid</
persistent (which should save instantiation time.)
Work is still ongoing.
</para>
-
</listitem>
<listitem>
@@ -1794,8 +1662,9 @@ squid_pidfile="<filename>/<replaceable>usr2</replaceable>/squid/logs/squid.pid</
</listitem>
<listitem>
- <para>Modify <filename>etc/sysctl.conf</filename>:<screen>
-9a10,30
+ <para>Modify <filename>etc/sysctl.conf</filename>:</para>
+
+ <screen>9a10,30
> kern.corefile=<filename>/<replaceable>usr2</replaceable>/%N.core</filename>
> kern.sugid_coredump=1
> #debug.witness_ddb=0
@@ -1805,7 +1674,7 @@ squid_pidfile="<filename>/<replaceable>usr2</replaceable>/squid/logs/squid.pid</
> kern.maxfiles=40000
> kern.maxfilesperproc=30000
>
-> # Since the NFS root is static we don't need to check frequently for file changes
+> # Since the NFS root is static we do not need to check frequently for file changes
> # This saves >75% of NFS traffic
> vfs.nfs.access_cache_timeout=300
> debug.debugger_on_panic=1
@@ -1817,7 +1686,6 @@ squid_pidfile="<filename>/<replaceable>usr2</replaceable>/squid/logs/squid.pid</
> security.jail.enforce_statfs=1
>
> vfs.lookup_shared=1</screen>
- </para>
</listitem>
<listitem>
@@ -1826,36 +1694,32 @@ squid_pidfile="<filename>/<replaceable>usr2</replaceable>/squid/logs/squid.pid</
<literal>@pointyhat.freebsd.org</literal>.</para>
</listitem>
</itemizedlist>
-
</step>
-
</procedure>
-
</sect2>
<sect2 id="node-ports">
- <title>Configuring <literal>ports</literal></title>
+ <title>Configuring <filename>ports</filename></title>
<procedure>
<step>
- <para>Install the following ports:<screen>
-net/rsync
+ <para>Install the following ports:</para>
+
+ <programlisting>net/rsync
security/openssh-portable (with HPN on)
security/sudo
sysutils/ganglia-monitor-core (with GMETAD off)
-www/squid (with SQUID_AUFS on)</screen>
- </para>
+www/squid (with SQUID_AUFS on)</programlisting>
<para>There is a WIP to create a meta-port, but it is not yet
- complete.
- </para>
+ complete.</para>
</step>
<step>
<para>Customize files in <filename>usr/local/etc/</filename>.
Whether you do this on the client itself, or another
machine, will depend on whether you are using
- <literal>pxeboot</literal>.</para>
+ <filename>pxeboot</filename>.</para>
<note>
<para>The trick of using <filename>conf</filename>
@@ -1870,8 +1734,9 @@ www/squid (with SQUID_AUFS on)</screen>
<itemizedlist>
<listitem>
<para>Modify
- <filename>usr/local/etc/gmond.conf</filename>:<screen>
-21,22c21,22
+ <filename>usr/local/etc/gmond.conf</filename>:</para>
+
+ <screen>21,22c21,22
&lt; name = "unspecified"
&lt; owner = "unspecified"
---
@@ -1881,7 +1746,6 @@ www/squid (with SQUID_AUFS on)</screen>
&lt; url = "unspecified"
---
&gt; url = "http://pointyhat.freebsd.org"</screen>
- </para>
<!-- XXX MCL adapted literally from krismail; I do not understand it -->
<para>If there are machines from more than one cluster in the
@@ -1892,10 +1756,11 @@ www/squid (with SQUID_AUFS on)</screen>
<listitem>
<!-- XXX MCL get latest patches from narutos -->
<para>Create
- <filename>usr/local/etc/rc.d/portbuild.sh</filename>,
- using the appropriate value for
- <literal>scratchdir</literal>:<screen>
-#!/bin/sh
+ <filename>usr/local/etc/rc.d/portbuild.sh</filename>,
+ using the appropriate value for
+ <literal>scratchdir</literal>:</para>
+
+ <programlisting>#!/bin/sh
#
# Configure a package build system post-boot
@@ -1904,7 +1769,7 @@ scratchdir=<filename>/<replaceable>usr2</replaceable></filename>
ln -sf ${scratchdir}/portbuild /var/
# Identify builds ready for use
-cd /var/portbuild/<replaceable>${arch}</replaceable>
+cd /var/portbuild/<replaceable>arch</replaceable>
for i in */builds/*; do
if [ -f ${i}/.ready ]; then
mkdir /tmp/.setup-${i##*/}
@@ -1912,14 +1777,14 @@ for i in */builds/*; do
done
# Flag that we are ready to accept jobs
-touch /tmp/.boot_finished</screen>
- </para>
+touch /tmp/.boot_finished</programlisting>
</listitem>
<listitem>
<para>Modify
- <filename>usr/local/etc/squid/squid.conf</filename>:<screen>
-288,290c288,290
+ <filename>usr/local/etc/squid/squid.conf</filename>:</para>
+
+ <screen>288,290c288,290
&lt; #auth_param basic children 5
&lt; #auth_param basic realm Squid proxy-caching web server
&lt; #auth_param basic credentialsttl 2 hours
@@ -1935,7 +1800,6 @@ touch /tmp/.boot_finished</screen>
&gt; maximum_object_size 400 MB
2828a2838
&gt; negative_ttl 0 minutes</screen>
- </para>
<para>Also, change <filename>usr/local</filename>
to <filename><replaceable>usr2</replaceable></filename> in
@@ -1945,37 +1809,35 @@ touch /tmp/.boot_finished</screen>
<literal>cache_store_log</literal>,
<literal>pid_filename</literal>,
<literal>netdb_filename</literal>,
- <literal>coredump_dir</literal>.
- </para>
+ <literal>coredump_dir</literal>.</para>
<para>Finally, change the <literal>cache_dir</literal>
storage scheme from <literal>ufs</literal> to
- <literal>aufs</literal> (offers better performance).
- </para>
+ <literal>aufs</literal> (offers better performance).</para>
</listitem>
<listitem>
<para>Configure <command>ssh</command>: copy
- <filename>/etc/ssh</filename> to
- <filename>/usr/local/etc/ssh</filename> and add
+ <filename>etc/ssh</filename> to
+ <filename>usr/local/etc/ssh</filename> and add
<literal>NoneEnabled yes</literal> to
<filename>sshd_config</filename>.</para>
</listitem>
<listitem>
- <para>Modify
- <filename>usr/local/etc/sudoers</filename>:<screen>
-38a39,42
->
-> # local changes for package building
-> %wheel ALL=(ALL) ALL
-> ports-<replaceable>${arch}</replaceable> ALL=(ALL) NOPASSWD: ALL</screen>
- </para>
+ <note>
+ <para>This step is under review.</para>
+ </note>
+
+ <para>Create
+ <filename>usr/local/etc/sudoers/sudoers.d/portbuild</filename>:</para>
+
+ <programlisting># local changes for package building
+portbuild ALL=(ALL) NOPASSWD: ALL</programlisting>
</listitem>
</itemizedlist>
</step>
</procedure>
-
</sect2>
<sect2 id="node-configuration">
@@ -1985,21 +1847,20 @@ touch /tmp/.boot_finished</screen>
<step>
<para>Change into the port/package directory you picked
above, e.g.,
- <command>cd <filename>/<replaceable>usr2</replaceable></filename></command>.
- </para>
+ <command>cd <filename>/<replaceable>usr2</replaceable></filename></command>.</para>
</step>
<step>
- <para>As root:<screen>
-<userinput>mkdir portbuild</userinput>
-<userinput>chown ports-<replaceable>${arch}</replaceable>:ports-<replaceable>${arch}</replaceable> portbuild</userinput>
-<userinput>mkdir pkgbuild</userinput>
-<userinput>chown ports-<replaceable>${arch}</replaceable>:ports-<replaceable>${arch}</replaceable> pkgbuild</userinput>
-<userinput>mkdir squid</userinput>
-<userinput>mkdir squid/cache</userinput>
-<userinput>mkdir squid/logs</userinput>
-<userinput>chown -R squid:squid squid</userinput></screen>
- </para>
+ <para>As root:</para>
+
+ <screen>&prompt.root; <userinput>mkdir portbuild</userinput>
+&prompt.root; <userinput>chown portbuild:portbuild portbuild</userinput>
+&prompt.root; <userinput>mkdir pkgbuild</userinput>
+&prompt.root; <userinput>chown portbuild:portbuild pkgbuild</userinput>
+&prompt.root; <userinput>mkdir squid</userinput>
+&prompt.root; <userinput>mkdir squid/cache</userinput>
+&prompt.root; <userinput>mkdir squid/logs</userinput>
+&prompt.root; <userinput>chown -R squid:squid squid</userinput></screen>
</step>
<!-- XXX MCL adapted literally from krismail; I do not understand it -->
@@ -2008,9 +1869,8 @@ touch /tmp/.boot_finished</screen>
between boots then they must either preserve their
<filename>/tmp</filename>, or revalidate their available
builds at boot time (see the script on the <literal>amd64</literal>
- machines). They must also clean up stale chroots from previous
- builds before creating <filename>/tmp/.boot_finished</filename>.
- </para>
+ machines). They must also clean up stale jails from previous
+ builds before creating <filename>/tmp/.boot_finished</filename>.</para>
</step>
<step>
@@ -2019,32 +1879,32 @@ touch /tmp/.boot_finished</screen>
<step>
<para>As root, initialize the <command>squid</command>
- directories:
- <screen><userinput>squid -z</userinput></screen></para>
+ directories:</para>
+
+ <screen><userinput>squid -z</userinput></screen>
</step>
</procedure>
-
</sect2>
<sect2 id="pointyhat-configuration">
- <title>Configuration on <literal>pointyhat</literal></title>
+ <title>Configuration on the server</title>
<para>These steps need to be taken by a <literal>portmgr</literal>
- acting as <literal>ports-<replaceable>${arch}</replaceable></literal>
- on <hostid>pointyhat</hostid>.
- </para>
+ acting as <literal>portbuild</literal>
+ on the server.</para>
<procedure>
<step>
<para>If any of the default TCP ports is not available (see
above), you will need to create an <command>ssh</command>
- tunnel for it and include it in the
+ tunnel for them and include its invocation command in
+ <literal>portbuild</literal>'s
<filename>crontab</filename>.</para>
</step>
<step>
- <para>Add an entry to
- <filename>/home/ports-<replaceable>${arch}</replaceable>/.ssh/config</filename>
+ <para>Unless you can use the defaults, add an entry to
+ <filename>/home/portbuild/.ssh/config</filename>
to specify the public IP address, TCP port for
<command>ssh</command>, username, and any other necessary
information.</para>
@@ -2052,34 +1912,36 @@ touch /tmp/.boot_finished</screen>
<step>
<para>Create
-<filename>/var/portbuild/<replaceable>${arch}</replaceable>/clients/bindist-<replaceable>${hostname}</replaceable>.tar</filename>.
- </para>
+ <filename>/var/portbuild/<replaceable>${arch}</replaceable>/clients/bindist-<replaceable>${hostname}</replaceable>.tar</filename>.</para>
<itemizedlist>
<listitem>
<para>Copy one of the existing ones as a template and unpack it
in a temporary directory.</para>
</listitem>
+
<listitem>
<para>Customize <filename>etc/resolv.conf</filename>
- for the local site.</para>
+ for the local site.</para>
</listitem>
+
<listitem>
<para>Customize <filename>etc/make.conf</filename> for
- FTP fetches for the local site. Note: the nulling-out
- of <makevar>MASTER_SITE_BACKUP</makevar> must be common
- to all nodes, but the first entry in
- <makevar>MASTER_SITE_OVERRIDE</makevar> should be the
- nearest local FTP mirror. Example:<screen><command>
-.if defined(FETCH_ORIGINAL)
+ FTP fetches for the local site. Note: the nulling-out
+ of <makevar>MASTER_SITE_BACKUP</makevar> must be common
+ to all nodes, but the first entry in
+ <makevar>MASTER_SITE_OVERRIDE</makevar> should be the
+ nearest local FTP mirror. Example:</para>
+
+ <programlisting>.if defined(FETCH_ORIGINAL)
MASTER_SITE_BACKUP=
.else
MASTER_SITE_OVERRIDE= \
ftp://<replaceable>friendly-local-ftp-mirror</replaceable>/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ \
ftp://${BACKUP_FTP_SITE}/pub/FreeBSD/distfiles/${DIST_SUBDIR}/
-.endif</command></screen>
- </para>
+.endif</programlisting>
</listitem>
+
<listitem>
<para><command>tar</command> it up and move it to the right
location.</para>
@@ -2088,7 +1950,7 @@ MASTER_SITE_OVERRIDE= \
<para>Hint: you will need one of these for each machine;
however, if you have multiple machines at one site, you
- should create a site-specific one (e.g. in
+ should create a site-specific one (e.g., in
<filename>/var/portbuild/conf/clients/</filename>)
and symlink to it.</para>
</step>
@@ -2100,33 +1962,31 @@ MASTER_SITE_OVERRIDE= \
file contains overrides to
<filename>/var/portbuild/<replaceable>${arch}</replaceable>/portbuild.conf</filename>.</para>
- <para>Suggested values:<screen>
-disconnected=1
+ <para>Suggested values:</para>
+
+ <programlisting>disconnected=1
http_proxy="http://localhost:3128/"
squid_dir=<filename>/<replaceable>usr2</replaceable>/squid</filename>
scratchdir=<filename>/<replaceable>usr2</replaceable>/pkgbuild</filename>
-client_user=ports-<replaceable>${arch}</replaceable>
+client_user=portbuild
sudo_cmd="sudo -H"
rsync_gzip=-z
infoseek_host=localhost
-infoseek_port=<replaceable>${tunelled-tcp-port}</replaceable></screen>
- </para>
+infoseek_port=<replaceable>${tunelled-tcp-port}</replaceable></programlisting>
- <para>Possible other values:<screen>
-use_md_swap=1
+ <para>Possible other values:</para>
+
+ <programlisting>use_md_swap=1
md_size=9g
use_zfs=1
scp_cmd="/usr/local/bin/scp"
-ssh_cmd="/usr/local/bin/ssh"
-</screen>
- </para>
+ssh_cmd="/usr/local/bin/ssh"</programlisting>
</step>
</procedure>
<para>These steps need to be taken by a <literal>portmgr</literal>
- acting as <literal>root</literal> on <hostid>pointyhat</hostid>.
- </para>
+ acting as <literal>root</literal> on <hostid>pointyhat</hostid>.</para>
<procedure>
<step>
@@ -2138,43 +1998,41 @@ ssh_cmd="/usr/local/bin/ssh"
<step>
<para>Add an appropriate <literal>data_source</literal> entry to
<filename>/usr/local/etc/gmetad.conf</filename>:</para>
- <para>
- <literal>data_source "<replaceable>arch</replaceable>/<replaceable>location</replaceable> Package Build Cluster" 30 <replaceable>hostname</replaceable></literal>
- </para>
- <para>You will need to restart <filename>gmetad</filename>.
- </para>
+ <programlisting>data_source "<replaceable>arch</replaceable>/<replaceable>location</replaceable> Package Build Cluster" 30 <replaceable>hostname</replaceable></programlisting>
+
+ <para>You will need to restart <filename>gmetad</filename>.</para>
</step>
</procedure>
-
</sect2>
<sect2 id="node-enabling">
<title>Enabling the node</title>
<para>These steps need to be taken by a <literal>portmgr</literal>
- acting as <literal>ports-<replaceable>arch</replaceable></literal>
- on <hostid>pointyhat</hostid>.
- </para>
+ acting as <literal>portbuild</literal>:</para>
<procedure>
<step>
- <para>Ensure that <literal>ssh</literal> is working by executing
- <command>ssh <replaceable>hostname</replaceable></command>.
- </para>
+ <para>Ensure that <literal>ssh</literal> to the client
+ is working by executing
+ <userinput>ssh <replaceable>hostname</replaceable> uname -a</userinput>.
+ The actual command is not important; what is important is to
+ confirm the setup, and also add an entry into
+ <filename>known_hosts</filename>, once you have confirmed the
+ node's identity.</para>
</step>
<step>
- <para>Populate <filename>/var/portbuild/scripts/</filename>
- by something like
- <command>/var/portbuild/scripts/dosetupnode <replaceable>arch</replaceable> <replaceable>major</replaceable> latest <replaceable>hostname</replaceable></command>.
- Verify that you now have files in that directory.
- </para>
+ <para>Populate the client's copy of
+ <filename>/var/portbuild/scripts/</filename> by something like
+ <userinput>/var/portbuild/scripts/dosetupnode <replaceable>arch</replaceable> <replaceable>major</replaceable> latest <replaceable>hostname</replaceable></userinput>.
+ Verify that you now have files in that directory.</para>
</step>
<step>
<para>Test the other TCP ports by executing
- <command>telnet <replaceable>hostname</replaceable> <replaceable>portnumber</replaceable></command>.
+ <userinput>telnet <replaceable>hostname</replaceable> <replaceable>portnumber</replaceable></userinput>.
<literal>414</literal> (or its tunnel) should give you a few lines of status
information including <literal>arch</literal> and
<literal>osversion</literal>; <literal>8649</literal> should
@@ -2184,15 +2042,13 @@ ssh_cmd="/usr/local/bin/ssh"
</procedure>
<para>This step needs to be taken by a <literal>portmgr</literal>
- acting as <literal>root</literal> on <hostid>pointyhat</hostid>.
- </para>
+ acting as <literal>root</literal>:</para>
<procedure>
<step>
- <para>Tell <filename>qmanager</filename> about the node. Example:
- </para>
+ <para>Tell <filename>qmanager</filename> about the node. Example:</para>
- <para><command>python <replaceable>path</replaceable>/qmanager/qclient add
+ <para><userinput>python <replaceable>path</replaceable>/qmanager/qclient add
name=<replaceable>uniquename</replaceable>
arch=<replaceable>arch</replaceable>
osversion=<replaceable>osversion</replaceable>
@@ -2203,7 +2059,19 @@ ssh_cmd="/usr/local/bin/ssh"
primarypool=package
pools="package all" maxjobs=1
acl="ports-<replaceable>arch</replaceable>,deny_all"
- </command></para>
+ </userinput></para>
+ </step>
+ </procedure>
+
+ <para>Finally, again as <literal>portmgr</literal>
+ acting as <literal>portbuild</literal>:</para>
+
+ <procedure>
+ <step>
+ <para>Once you are sure that the client is working, tell
+ <application>pollmachine</application> about it by adding
+ it to
+ <filename>/var/portbuild/<replaceable>${arch}</replaceable>/mlist</filename>.</para>
</step>
</procedure>
</sect2>
@@ -2212,118 +2080,73 @@ ssh_cmd="/usr/local/bin/ssh"
<sect1 id="new-branch">
<title>How to configure a new &os; branch</title>
- <para>When a new branch is created, some work needs to
- be done to specify that the previous branch is no longer
- equivalent to <literal>HEAD</literal>. The following
- instructions apply to the <emphasis>previous</emphasis>
- branch number:</para>
-
- <itemizedlist>
- <listitem>
- <para>(new codebase) Edit <filename>/var/portbuild/conf/server.conf</filename>
- with the following changes:</para>
-
- <itemizedlist>
- <listitem>
- <para>Add <replaceable>new-branch</replaceable> to
- <makevar>SRC_BRANCHES</makevar>.</para>
- </listitem>
-
- <listitem>
- <para>For what was previously head, change
- <makevar>SRC_BRANCH_<replaceable>branch</replaceable>_TAG</makevar> to
- <literal>RELENG_<replaceable>branch</replaceable>_0</literal>.</para>
- </listitem>
-
- <listitem>
- <para>Add
- <makevar>SRC_BRANCH_<replaceable>new-branch</replaceable>_TAG</makevar>
- <literal>=.</literal> (literal period).</para>
- </listitem>
- </itemizedlist>
- </listitem>
+ <sect2 id="new-branch-pre-qmanager">
+ <title>Steps necessary before <application>qmanager</application> is started</title>
- <listitem>
- <para>(new codebase) Run <command>
-/var/portbuild/updatesnap</command> manually.</para>
- </listitem>
+ <para>When a new branch is created, some work needs to
+ be done to specify that the previous branch is no longer
+ equivalent to <literal>HEAD</literal>.</para>
- <listitem>
- <para>(Only for old codebase)
- Create a new <application>zfs</application> filesystem
- for sources:
- <screen>zfs create a/snap/src-<replaceable>branch</replaceable></screen>
- </para>
- </listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Edit <filename>/var/portbuild/conf/server.conf</filename>
+ with the following changes:</para>
- <listitem>
- <para>(Only necessary for old codebase):
- Checkout a <literal>src</literal> tree in the new filesystem:
- <screen>cvs -Rq -d /r/ncvs co -d src-<replaceable>branch</replaceable>-r RELENG_<replaceable>branch</replaceable></screen>
- </para>
- </listitem>
+ <itemizedlist>
+ <listitem>
+ <para>Add <replaceable>new-branch</replaceable> to
+ <makevar>SRC_BRANCHES</makevar>.</para>
+ </listitem>
- <listitem>
- <para>(Only necessary for old codebase):
- Edit the master copy of
- <filename>Tools/portbuild/portbuild.conf</filename>.</para>
- </listitem>
+ <listitem>
+ <para>For what was previously head, change
+ <makevar>SRC_BRANCH_<replaceable>branch</replaceable>_SUBDIR</makevar> to
+ <literal>releng/<replaceable>branch</replaceable>.0</literal>
+ (literal zero).</para>
+ </listitem>
- <listitem>
- <para>(Only necessary for old codebase):
- For each arch, edit its copy of the above in
- <filename>/var/portbuild/<replaceable>arch</replaceable>/portbuild.conf</filename>.</para>
- </listitem>
+ <listitem>
+ <para>Add
+ <makevar>SRC_BRANCH_<replaceable>new-branch</replaceable>_SUBDIR</makevar>
+ <literal>=head</literal>.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
- <listitem>
- <para>(Only necessary for old codebase):
- Edit <filename>/var/portbuild/scripts/buildenv</filename>.</para>
- </listitem>
+ <listitem>
+ <para>Run <command>/var/portbuild/updatesnap</command> manually.</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
- <listitem>
- <para>(Only necessary for old codebase):
- Add a link from
- <filename>/var/portbuild/scripts/dopackages</filename> to
- <filename>/var/portbuild/scripts/dopackages.<replaceable>branch</replaceable></filename>.</para>
- </listitem>
+ <sect2 id="new-branch-post-qmanager">
+ <title>Steps necessary after <application>qmanager</application> is started</title>
- <listitem>
- <para>(Only necessary for old codebase):
- Modify <makevar>HEAD_BRANCH</makevar> and
- <makevar>NON_HEAD_BRANCHES</makevar> in
- <filename>/var/portbuild/scripts/updatesnap</filename>.</para>
- </listitem>
+ <note>
+ <para>Again, as
+ <literal>portbuild</literal>:</para>
+ </note>
- <listitem>
- <!-- XXX MCL writeup for new codebase -->
- <para>(Only necessary for old codebase):
- Add the <literal>snap</literal> directory to
- <filename>/var/portbuild/scripts/zexpire</filename>.</para>
- </listitem>
+ <itemizedlist>
+ <listitem>
+ <para>For each branch that will be supported, do the following:</para>
- <listitem>
- <para>(Only necessary for old codebase):
- In the <filename>/var/portbuild/errorlogs/</filename>
- directory, create links for the webserver:<screen>
-ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/bak/errors <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-full
-ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/bak/logs <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-full-logs
-ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/errors <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-latest
-ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/logs <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-latest-logs
-ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/bak/packages <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-packages-full
-ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/packages <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-packages-latest</screen>
- </para>
- </listitem>
+ <itemizedlist>
+ <listitem>
+ <para>Kick-start the build for the branch with:</para>
- <listitem>
- <para>Kick-start the build for the branch with
- <screen>build create <replaceable>arch</replaceable> <replaceable>branch</replaceable></screen></para>
- </listitem>
+ <screen>build create <replaceable>arch</replaceable> <replaceable>branch</replaceable></screen>
+ </listitem>
- <listitem>
- <para><link linkend="setup">Create <filename>bindist.tar</filename>
- </link>.</para>
- </listitem>
- </itemizedlist>
+ <listitem>
+ <para><link linkend="setup">Create
+ <filename>bindist.tar</filename></link>.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </sect2>
</sect1>
<sect1 id="old-branch">
@@ -2334,61 +2157,57 @@ ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/build
<itemizedlist>
<listitem>
- <para>(new codebase) Edit <filename>/var/portbuild/conf/server.conf</filename>
+ <para>Edit <filename>/var/portbuild/conf/server.conf</filename>
with the following changes:</para>
- <itemizedlist>
- <listitem>
- <para>Delete <replaceable>old-branch</replaceable> from
- <makevar>SRC_BRANCHES</makevar>.</para>
- </listitem>
- <listitem>
- <para>Delete
- <makevar>SRC_BRANCH_<replaceable>old-branch</replaceable>_TAG</makevar>
- <literal>=<replaceable>whatever</replaceable></literal></para>
- </listitem>
- </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para>Delete <replaceable>old-branch</replaceable> from
+ <makevar>SRC_BRANCHES</makevar>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Delete
+ <makevar>SRC_BRANCH_<replaceable>old-branch</replaceable>_SUBDIR</makevar><literal>=</literal>
+ <replaceable>whatever</replaceable></para>
+ </listitem>
+ </itemizedlist>
</listitem>
<listitem>
- <para>(both):
-<command>umount a/snap/src-<replaceable>old-branch</replaceable>/src;
+ <screen>umount a/snap/src-<replaceable>old-branch</replaceable>/src;
umount a/snap/src-<replaceable>old-branch</replaceable>;
-zfs destroy -r a/snap/src-<replaceable>old-branch</replaceable></command></para>
+zfs destroy -r a/snap/src-<replaceable>old-branch</replaceable></screen>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem>
- <para>(both) You will probably find that the following files and
+ <para>You will probably find that the following files and
symlinks in <filename>/var/portbuild/errorlogs/</filename>
can be removed:</para>
- <itemizedlist>
- <listitem>
- <para>Files named
- <filename>*-<replaceable>old_branch</replaceable>-failure.html</filename>
- </para>
- </listitem>
- <listitem>
- <para>Files named
- <filename>buildlogs_*-<replaceable>old_branch</replaceable>-*-logs.txt</filename>
- </para>
- </listitem>
+ <itemizedlist>
+ <listitem>
+ <para>Files named
+ <filename>*-<replaceable>old_branch</replaceable>-failure.html</filename></para>
+ </listitem>
- <listitem>
- <para>Symlinks named
- <filename>*-<replaceable>old_branch</replaceable>-previous*</filename>
- </para>
- </listitem>
+ <listitem>
+ <para>Files named
+ <filename>buildlogs_*-<replaceable>old_branch</replaceable>-*-logs.txt</filename></para>
+ </listitem>
- <listitem>
- <para>Symlinks named
- <filename>*-<replaceable>old_branch</replaceable>-latest*</filename>
- </para>
- </listitem>
+ <listitem>
+ <para>Symlinks named
+ <filename>*-<replaceable>old_branch</replaceable>-previous*</filename></para>
+ </listitem>
- </itemizedlist>
+ <listitem>
+ <para>Symlinks named
+ <filename>*-<replaceable>old_branch</replaceable>-latest*</filename></para>
+ </listitem>
+ </itemizedlist>
</listitem>
</itemizedlist>
</sect1>
@@ -2404,34 +2223,32 @@ zfs destroy -r a/snap/src-<replaceable>old-branch</replaceable></command></para>
<para>As releases go End-Of-Life (see
<ulink url="http://www.freebsd.org/security/index.html#supported-branches">chart</ulink>),
- a full (not incremental!) package build should be done and uploaded.
- </para>
+ a full (not incremental!) package build should be done and uploaded.</para>
- <para>The procedure for the new codebase is as follows:</para>
+ <para>The procedure is as follows:</para>
<itemizedlist>
<listitem>
<para>Edit <filename>/var/portbuild/conf/server.conf</filename>
with the following changes:</para>
- <itemizedlist>
- <listitem>
- <para>Change
- <makevar>SRC_BRANCH_<replaceable>branch</replaceable>_TAG</makevar> to
- <literal>RELENG_<replaceable>branch</replaceable>_<replaceable>N</replaceable></literal>
- where <literal>N</literal> is the newest 'oldest' release
- for that branch.</para>
- </listitem>
- </itemizedlist>
+
+ <itemizedlist>
+ <listitem>
+ <para>Change the value of
+ <makevar>SRC_BRANCH_<replaceable>branch</replaceable>_SUBDIR</makevar> to
+ <literal>releng/</literal><replaceable>branch</replaceable>.<replaceable>N</replaceable>
+ where <literal>N</literal> is the newest 'oldest' release
+ for that branch.</para>
+ </listitem>
+ </itemizedlist>
</listitem>
<listitem>
- <para>Run <command>
-/var/portbuild/updatesnap</command> manually.</para>
+ <para>Run <command>/var/portbuild/updatesnap</command> manually.</para>
</listitem>
<listitem>
- <para>Run <command>
-dopackages</command> with <literal>-nobuild</literal>.</para>
+ <para>Run <command>dopackages</command> with <literal>-nobuild</literal>.</para>
</listitem>
<listitem>
@@ -2439,370 +2256,375 @@ dopackages</command> with <literal>-nobuild</literal>.</para>
</listitem>
<listitem>
- <para>Now you can run <command>
-dopackages</command> without <literal>-nobuild</literal>.</para>
+ <para>Now you can run <command>dopackages</command> without <literal>-nobuild</literal>.</para>
</listitem>
-
</itemizedlist>
-
- <para>The procedure for the old codebase is left as an
- exercise for the reader.</para>
-
</sect1>
<sect1 id="new-arch">
<title>How to configure a new architecture</title>
- <note>
- <para>The initial steps need to be done using
- <application>sudo</application>.</para>
- </note>
+ <sect2 id="new-arch-pre-qmanager">
+ <title>Steps necessary before <application>qmanager</application> is started</title>
- <itemizedlist>
- <listitem>
- <para>Create a new
- <literal>ports-<replaceable>arch</replaceable></literal>
- user and group.</para>
- </listitem>
+ <note>
+ <para>The initial steps need to be done as
+ <literal>root</literal>.</para>
+ </note>
- <listitem>
- <screen>mkdir /var/portbuild/<replaceable>arch</replaceable></screen>
- </listitem>
+ <itemizedlist>
+ <listitem>
+ <para>If it has not already been done, create the
+ <literal>portbuild</literal>
+ user and group.</para>
+ </listitem>
- <listitem>
- <para>Create a new <application>zfs</application> filesystem:
- <screen>zfs create -o mountpoint=/a/portbuild/<replaceable>arch</replaceable> a/portbuild/<replaceable>arch</replaceable></screen>
- </para>
- </listitem>
+ <listitem>
+ <screen>mkdir /var/portbuild/<replaceable>arch</replaceable></screen>
+ </listitem>
- <listitem>
- <screen>
-chown ports-<replaceable>arch</replaceable>:portmgr /var/portbuild/<replaceable>arch</replaceable>;
-chmod 755 /var/portbuild/<replaceable>arch</replaceable>;
-cd /var/portbuild/<replaceable>arch</replaceable></screen>
- </listitem>
+ <listitem>
+ <para>Create a new <application>zfs</application> filesystem:</para>
- <listitem>
- <para>Create and populate the <filename>.ssh</filename> directory.</para>
+ <screen>&prompt.root; zfs create -o mountpoint=/a/portbuild/<replaceable>arch</replaceable> a/portbuild/<replaceable>arch</replaceable></screen>
</listitem>
- <listitem>
- <para>Create a directory for buildlogs and errorlogs:
- <screen>mkdir /dumpster/pointyhat/<replaceable>arch</replaceable>/archive</screen>
- </para>
-
- <note>
- <para>It is possible that <filename>/dumpster/pointyhat</filename>
- will not have enough space. In that case, create the archive
- directory as
- <filename>/dumpster/pointyhat/<replaceable>arch</replaceable>/archive</filename>
- and symlink to that. (This needs to be sorted out.)
- </para>
- </note>
- </listitem>
+ <listitem>
+ <screen>&prompt.root; chown portbuild:portbuild /var/portbuild/<replaceable>arch</replaceable>;
+&prompt.root; chmod 775 /var/portbuild/<replaceable>arch</replaceable>;
+&prompt.root; cd /var/portbuild/<replaceable>arch</replaceable></screen>
+ </listitem>
- <listitem>
- <para>Create a link to the above for the webserver:
- <screen>ln -s /dumpster/pointyhat/<replaceable>arch</replaceable>/archive archive</screen>
- </para>
- </listitem>
- </itemizedlist>
+ <listitem>
+ <para>Create the <filename>.ssh</filename> directory.</para>
+ </listitem>
+ </itemizedlist>
- <note>
- <para>The next steps are most easily done as user
- <literal>ports-<replaceable>arch</replaceable></literal>.</para>
- </note>
+ <note>
+ <para>The next steps are most easily done as user
+ <literal>portbuild</literal>.</para>
+ </note>
- <itemizedlist>
- <listitem>
- <para>In the
- <filename>/var/portbuild/<replaceable>arch</replaceable></filename>
- directory:<screen>mkdir clients</screen></para>
- </listitem>
+ <itemizedlist>
+ <listitem>
+ <para>Create an archive directory for buildlogs and errorlogs
+ under <filename>archive/</filename>.</para>
+ </listitem>
- <listitem>
- <para>Populate <filename>clients</filename> as usual.</para>
- </listitem>
+ <listitem>
+ <para>For each branch that will be supported, do the following:</para>
- <listitem>
- <para><screen>mkdir loads</screen></para>
- </listitem>
+ <itemizedlist>
+ <listitem>
+ <para>Kick-start the build for the branch with</para>
- <listitem>
- <para><screen>mkdir lockfiles</screen></para>
- </listitem>
+ <screen>&prompt.root; build create <replaceable>arch</replaceable> <replaceable>branch</replaceable></screen>
+ </listitem>
+ </itemizedlist>
+ </listitem>
- <listitem>
- <para>Create a local <filename>make.conf</filename>. In the
- most trivial case, you can
- <screen>ln ../make.conf ./make.conf</screen></para>
- </listitem>
+ <listitem>
+ <para>If you are going to store your historical buildlogs and
+ errorlogs on your head node's hard drive, you may skip this step.
+ Otherwise:</para>
- <listitem>
- <para>Create an empty <filename>mlist</filename> file.</para>
- </listitem>
+ <para>Create an external directory and link to it:</para>
- <listitem>
- <para>(Only necessary for old codebase) Create
- <filename>pnohang.<replaceable>arch</replaceable></filename>.
- (The easiest way may be to do the following on a client, and
- then copy it back):
- <screen>cc pnohang.c -o pnohang-<replaceable>arch</replaceable></screen>
- </para>
- </listitem>
+ <example>
+ <title>Creating and linking an external archive directory</title>
- <listitem>
- <para>Create a fresh <filename>portbuild.conf</filename> file
- from one of the ones for another architecture.</para>
- </listitem>
+ <screen>&prompt.root; mkdir /dumpster/pointyhat/<replaceable>arch</replaceable>/archive
+&prompt.root; ln -s /dumpster/pointyhat/<replaceable>arch</replaceable>/archive archive</screen>
+ </example>
- <listitem>
- <para>Create customized
- <filename>portbuild.<replaceable>machinename</replaceable>.conf</filename>
- files as appropriate.</para>
- </listitem>
+ <note>
+ <para>(Historical note that only applied to the original
+ <hostid>pointyhat.FreeBSD.org</hostid> installation)</para>
+
+ <para>It is possible that <filename>/dumpster/pointyhat</filename>
+ will not have enough space. In that case, create the archive
+ directory as
+ <filename>/dumpster/pointyhat/<replaceable>arch</replaceable>/archive</filename>
+ and symlink to that.</para>
+ </note>
+ </listitem>
- <listitem>
- <para><screen>cd .ssh &amp;&amp; ssh-keygen</screen></para>
- </listitem>
+ <listitem>
+ <para>Populate <filename>clients</filename> as usual.</para>
+ </listitem>
- <listitem>
- <para>Edit the <filename>.ssh/config</filename> file for
- convenience in using <application>ssh</application>.</para>
- </listitem>
+ <listitem>
+ <para>Create a fresh <filename>portbuild.conf</filename> file
+ from one of the ones for another architecture.</para>
+ </listitem>
- <listitem>
- <para>Make the private configuration directory:
- <screen>mkdir /var/portbuild/conf/<replaceable>arch</replaceable></screen>
- </para>
- </listitem>
+ <listitem>
+ <para>Create customized
+ <filename>portbuild.<replaceable>machinename</replaceable>.conf</filename>
+ files as appropriate.</para>
+ </listitem>
- <listitem>
- <para>In that directory: create any <filename>dotunnel.*</filename>
- scripts needed.</para>
- </listitem>
- </itemizedlist>
+ <listitem>
+ <screen>&prompt.root; cd .ssh &amp;&amp; ssh-keygen</screen>
+ </listitem>
- <note>
- <para>Once again using <application>sudo</application>:</para>
- </note>
+ <listitem>
+ <para>If desired,
+ edit the <filename>.ssh/config</filename> file for
+ convenience in using <application>ssh</application>.</para>
+ </listitem>
- <itemizedlist>
- <listitem>
- <para>Tell <application>qmanager</application> about the arch:
- <screen>python <replaceable>path</replaceable>/qmanager/qclient add_acl name=ports-<replaceable>arch</replaceable> uidlist=ports-<replaceable>arch</replaceable> gidlist=portmgr sense=1</screen></para>
- </listitem>
+ <listitem>
+ <para>If you need to create any tunnels:</para>
- <listitem>
- <para>(Only necessary for new codebase):
- Add <replaceable>arch</replaceable> to <makevar>SUPPORTED_ARCHS</makevar> in
- <filename>/var/portbuild/<replaceable>arch</replaceable>/server.conf</filename>.</para>
- </listitem>
+ <procedure>
+ <step>
+ <para>Make a private configuration directory:</para>
- <listitem>
- <para>(Only necessary for old codebase):
- Edit <filename>/var/portbuild/scripts/buildenv</filename>.</para>
- </listitem>
+ <screen>&prompt.root; mkdir /var/portbuild/conf/<replaceable>arch</replaceable></screen>
+ </step>
- <listitem>
- <para>Add the <replaceable>arch</replaceable> directory to
- <filename>/var/portbuild/scripts/zbackup</filename> and
- <filename>/var/portbuild/scripts/zexpire</filename>.</para>
- </listitem>
+ <step>
+ <para>In that directory: create any <filename>dotunnel.*</filename>
+ scripts needed.</para>
+ </step>
+ </procedure>
+ </listitem>
+ </itemizedlist>
- <listitem>
- <para>(Only necessary for old codebase):
- As with the procedure for creating a new branch:
- in the <filename>/var/portbuild/errorlogs/</filename>
- directory, create links for the webserver:<screen>
-ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/bak/errors <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-full
-ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/bak/logs <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-full-logs
-ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/errors <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-latest
-ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/logs <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-latest-logs
-ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/bak/packages <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-packages-full
-ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/packages <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-packages-latest</screen>
- </para>
- </listitem>
+ <note>
+ <para>Once again as <literal>root</literal>:</para>
+ </note>
- <listitem>
- <para>
- In the <filename>/var/portbuild/errorlogs/</filename>
- directory, create two more links for the webserver:<screen>
-ln -s ../<replaceable>arch</replaceable>/archive/buildlogs <replaceable>arch</replaceable>-buildlogs
-ln -s ../<replaceable>arch</replaceable>/archive/errorlogs <replaceable>arch</replaceable>-errorlogs</screen></para>
- </listitem>
- </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para>Add <replaceable>arch</replaceable> to <makevar>SUPPORTED_ARCHS</makevar> in
+ <filename>/var/portbuild/conf/server.conf</filename>.</para>
+ </listitem>
- <note>
- <para>Again, as
- <literal>ports-<replaceable>arch</replaceable></literal>:</para>
- </note>
+ <listitem>
+ <para>Add the <replaceable>arch</replaceable> directory to
+ <filename>/var/portbuild/scripts/zbackup</filename> and
+ <filename>/var/portbuild/scripts/zexpire</filename>.</para>
+ </listitem>
+ </itemizedlist>
- <itemizedlist>
- <listitem>
- <para>For each branch that will be supported, do the following:
- </para>
+ <itemizedlist>
+ <listitem>
+ <para>Add an appropriate <replaceable>arch</replaceable> entry for
+ <filename>/var/portbuild/scripts/dologs</filename> to the portbuild
+ <filename>crontab</filename>. (This is a hack and should go away.)</para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
- <itemizedlist>
- <listitem>
- <para>Kick-start the build for the branch with
- <screen>build create <replaceable>arch</replaceable> <replaceable>branch</replaceable></screen></para>
- </listitem>
+ <sect2 id="new-arch-post-qmanager">
+ <title>Steps necessary after <application>qmanager</application> is started</title>
- <listitem>
- <para><link linkend="setup">Create
- <filename>bindist.tar</filename></link>.</para>
- </listitem>
- </itemizedlist>
+ <note>
+ <para>Again as <literal>root</literal>:</para>
+ </note>
- </listitem>
- </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para>Tell <application>qmanager</application> about the arch:</para>
- <note>
- <para>One last time using <application>sudo</application>:</para>
- </note>
+ <screen>python <replaceable>path</replaceable>/qmanager/qclient add_acl name=ports-<replaceable>arch</replaceable> uidlist=ports-<replaceable>arch</replaceable> gidlist=portbuild sense=1</screen>
+ </listitem>
- <itemizedlist>
- <listitem>
- <para>(Only necessary for old codebase):
- Only after the first time a
- <application>dopackages</application> has been run for the
- arch: add the arch to
- <filename>/var/portbuild/scripts/dopackagestats</filename>.</para>
- </listitem>
+ <listitem>
+ <para>For each branch that will be supported, do the following:</para>
- <listitem>
- <para>Add an appropriate <replaceable>arch</replaceable> entry for
- <filename>/var/portbuild/scripts/dologs</filename> to the root
- <filename>crontab</filename>. (This is a hack and should go away.)
- </para>
- </listitem>
- </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para><link linkend="setup">Create
+ <filename>bindist.tar</filename></link>.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </sect2>
</sect1>
<sect1 id="new-head-node">
<title>How to configure a new head node (pointyhat instance)</title>
- <para>This section is in progress.</para>
+ <para>Please talk to Mark Linimon before making any changes
+ to this section.</para>
- <para>Please talk to Mark Linimon before making any changes.</para>
+ <sect2 id="pointyhat-privsep">
+ <title>Notes on privilege separation</title>
+
+ <para>As of January 2013, a rewrite is in progress to further separate
+ privileges. The following concepts are introduced:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Server-side user <username>portbuild</username> assumes all
+ responsiblity for operations involving builds and communicating
+ with the clients. This user no longer has access to
+ <application>sudo</application>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Server-side user <username>srcbuild</username> is created
+ and given responsiblity for operations involving both VCS
+ operations and anything involving src builds for the clients.
+ This user does not have access to
+ <application>sudo</application>.</para>
+ </listitem>
+
+ <listitem>
+ <para>The server-side
+ <literal>ports-</literal><replaceable>arch</replaceable>
+ users go away.</para>
+ </listitem>
+
+ <listitem>
+ <para>None of the above server-side users have
+ <application>ssh</application> keys. Individual
+ <literal>portmgr</literal> will accomplish all those
+ tasks using <application>ksu</application>. (This is
+ still work-in-progress.)</para>
+ </listitem>
+
+ <listitem>
+ <para>The only client-side user is also named
+ <username>portbuild</username> and still has access to
+ <application>sudo</application> for the purpose of managing
+ jails.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>This document has not yet been updated with the latest changes.
+ </para>
+ </sect2>
<sect2 id="pointyhat-basics">
<title>Basic installation</title>
<procedure>
-
<step>
<para>Install FreeBSD.</para>
</step>
<step>
- <para>For each supported arch, add a
- <literal>ports-<replaceable>${arch}</replaceable></literal>
- user and group. Add them to the <literal>wheel</literal>
- group. They should have the <literal>'*'</literal> password.
- Also, similarly, create the <literal>ports</literal> and
- <literal>portmgr</literal> users.</para>
+ <para>Create a user to own the <application>portbuild</application>
+ repository, such as <literal>portbuild</literal>. It should have the
+ <literal>'*'</literal> password.</para>
</step>
<step>
- <para>For each supported arch, create
- <filename>/home/ports-<replaceable>${arch}/.ssh/</replaceable></filename>
- and populate <filename>authorized_keys</filename>. </para>
- </step>
+ <para>Export that value for a later initialization step:</para>
-<!-- NOTYET
- <step>
- <para>Also add the following users:<screen>
-squid:*:100:100::0:0:User &:/usr/local/squid:/bin/sh
-ganglia:*:102:102::0:0:User &:/usr/local/ganglia:/bin/sh</screen>
- </para>
- <para>Add them to <filename>/etc/group</filename> as well.</para>
+ <screen>&prompt.root; export PORTBUILD_USER=<replaceable>portbuild</replaceable></screen>
</step>
--->
<step>
- <para>Create the appropriate files in
- <filename>/etc/.ssh/</filename>.</para>
+ <para>Similarly, create a user to own the <application>svn</application>
+ repository, such as <literal>srcbuild</literal>. It should have the
+ <literal>'*'</literal> password.</para>
</step>
<step>
- <para>Add the following to <filename>/boot/loader.conf</filename>:<screen>
-console="vidconsole,comconsole"</screen>
- </para>
+ <para>Export that value for a later initialization step:</para>
+
+ <screen>&prompt.root; export SRCBUILD_USER=<replaceable>srcbuild</replaceable></screen>
</step>
<step>
- <para>Add the following to <filename>/etc/sysctl.conf</filename>:<screen>
-kern.maxfiles=40000</screen>
- </para>
+ <para>Add the following to <filename>/boot/loader.conf</filename>:</para>
+
+ <programlisting>console="vidconsole,comconsole"</programlisting>
</step>
<step>
- <para>Make sure the following change is made to
- <filename>/etc/ttys</filename>:<screen>
-ttyu0 "/usr/libexec/getty std.9600" vt100 on secure</screen>
- </para>
+ <para>You should run the cluster on UTC. If you have not set the clock
+ to UTC:</para>
+
+ <programlisting>&prompt.root; cp -p /usr/share/zoneinfo/Etc/UTC /etc/localtime</programlisting>
</step>
<step>
- <para>TBA</para>
- </step>
- </procedure>
+ <para>Create the appropriate
+ <filename>/etc/rc.conf</filename>.</para>
- </sect2>
+ <para>Required entries:</para>
- <sect2 id="pointyhat-disk">
- <title>Configuring the disk</title>
+ <programlisting>hostname="<replaceable>${hostname}</replaceable>"
+sshd_enable="YES"
+zfs_enable="YES"</programlisting>
- <procedure>
+ <para>Recommended entries:</para>
- <step>
- <para>Create a <application>zfs</application> volume named
- <filename>a</filename> and mount it on
- <filename>/a</filename>:<screen>
-# zpool create a mirror da1 da2 mirror da3 da4 mirror da5 da6 mirror da7 da8</screen>
- </para>
+ <programlisting>background_fsck="NO"
+clear_tmp_enable="YES"
+dumpdev="AUTO"
+fsck_y_enable="YES"
+
+apache22_enable="YES"
+apache_flags=""
+apache_pidfile="/var/run/httpd.pid"
+gmetad_enable="YES"
+gmond_enable="YES"
+inetd_enable="YES"
+inetd_flags="-l -w"
+mountd_enable="YES"
+nfs_server_enable="YES"
+nfs_server_flags="-u -t -n 12"
+nfs_remote_port_only="YES"
+ntpd_enable="YES"
+rpcbind_enable="YES"
+rpc_lockd_enable="NO"
+rpc_statd_enable="YES"
+sendmail_enable="NONE"
+smartd_enable="YES"</programlisting>
</step>
<step>
- <para>Set up the base portbuild directory:<screen>
-# mkdir -p /a/portbuild
-# cd /a/portbuild
-# chown portmgr:portmgr .
-# chmod 775 .</screen>
- </para>
+ <para>Create <filename>/etc/resolv.conf</filename>, if
+ necessary.</para>
</step>
<step>
- <para>TBA</para>
+ <para>Create the appropriate files in
+ <filename>/etc/ssh/</filename>.</para>
</step>
- </procedure>
-
- </sect2>
-
- <sect2 id="pointyhat-src">
- <title>Configuring <literal>src</literal></title>
+ <step>
+ <para>Add the following to <filename>/etc/sysctl.conf</filename>:</para>
- <procedure>
+ <programlisting>kern.maxfiles=40000
+kern.maxfilesperproc=38000
+sysctl vfs.usermount=1
+sysctl vfs.zfs.super_owner=1</programlisting>
+ </step>
<step>
- <para>TBA</para>
- </step>
+ <para>Make sure the following change is made to
+ <filename>/etc/ttys</filename>:</para>
+ <programlisting>ttyu0 "/usr/libexec/getty std.9600" vt100 on secure</programlisting>
+ </step>
</procedure>
+ </sect2>
+ <sect2 id="pointyhat-src">
+ <title>Configuring <filename>src</filename></title>
+
+ <para>You should be able to install from the most recent release
+ using only the default kernel configuration.</para>
</sect2>
<sect2 id="pointyhat-ports">
- <title>Configuring <literal>ports</literal></title>
+ <title>Configuring <filename>ports</filename></title>
<procedure>
<step>
- <para>The following ports (or their latest successors) are required:<screen>
-databases/py-pysqlite23
-databases/py-sqlalchemy
+ <para>The following ports (or their latest successors) are required:</para>
+
+ <programlisting>databases/py-sqlite3
+databases/py-sqlalchemy (only SQLITE is needed)
devel/git (WITH_SVN)
devel/py-configobj
devel/py-setuptools
@@ -2810,85 +2632,420 @@ devel/subversion
net/nc
net/rsync
sysutils/ganglia-monitor-core (with GMETAD off)
-sysutils/ganglia-webfrontend (WITHOUT_X11)
-www/apache22 (with EXT_FILTER and THREADS)</screen>
- </para>
-
- <para>Expect those to bring in:<screen>
-databases/sqlite3
-lang/perl-5.12
-lang/python27</screen>
- </para>
-
- <para>The following ports (or their latest successors) are strongly suggested:<screen>
-benchmarks/bonnie++
-devel/ccache
+sysutils/ganglia-webfrontend (compile with -DWITHOUT_X11)
+www/apache22 (with EXT_FILTER)</programlisting>
+
+ <para>Expect those to bring in, among others:</para>
+
+ <programlisting>databases/sqlite3
+lang/perl-5.14 (or successor)
+lang/python27 (or sucessor)</programlisting>
+
+ <para>The following ports (or their latest successors) are strongly suggested:</para>
+
+ <programlisting>devel/ccache
mail/postfix
net/isc-dhcp41-server
-ports-mgmt/pkg_cutleaves
-ports-mgmt/pkg_tree
+ports-mgmt/pkg
ports-mgmt/portaudit
ports-mgmt/portmaster
-security/sudo
shells/bash
shells/zsh
-sysutils/screen
-sysutils/smartmontools</screen>
- </para>
+sysutils/screen</programlisting>
+
+ <note>
+ <para>The use of <application>sudo</application> on the master,
+ which was formerly required, is
+ <emphasis>no longer recommended</emphasis>.
+ </para>
+ </note>
+
+ <para>The following ports (or their latest successors) are handy:</para>
+
+ <programlisting>benchmarks/bonnie++
+ports-mgmt/pkg_tree
+sysutils/dmidecode
+sysutils/smartmontools
+sysutils/zfs-stats</programlisting>
+ </step>
+ </procedure>
+ </sect2>
+
+ <sect2 id="pointyhat-zfs-volume">
+ <title>Configuring the zfs volume and setting up the repository</title>
+
+ <para>The following steps need to be done as euid root.</para>
+
+ <procedure>
+ <step>
+ <para>Pick a <application>zfs</application> volume name and export
+ it. We have used <replaceable>a</replaceable> so far to date.</para>
+
+ <programlisting>&prompt.root; export ZFS_VOLUME=<replaceable>a</replaceable></programlisting>
+ </step>
+
+ <step>
+ <para>Pick a mountpoint and export it. We have used
+ <filename>/<replaceable>a</replaceable></filename> so far to date.</para>
+
+ <screen>&prompt.root; export ZFS_MOUNTPOINT=/<replaceable>a</replaceable></screen>
+ </step>
+
+ <step>
+ <para>Create the <application>zfs</application> volume
+ and mount it.</para>
+
+ <example>
+ <title>Creating a <application>zfs</application> volume for portbuild</title>
+
+ <screen>&prompt.root; zpool create ${ZFS_VOLUME} mirror da1 da2 mirror da3 da4 mirror da5 da6 mirror da7 da8</screen>
+ </example>
+
+ <note>
+ <para>We will define a <application>zfs</application>
+ <literal>permission set</literal> below, so that the
+ <replaceable>portbuild</replaceable> user may administer this
+ volume without having to have root privileges.</para>
+ </note>
+ </step>
+
+ <step>
+ <para>Select an <application>svn</application> repository
+ and export it. See the
+ <ulink url="&url.books.handbook;/mirrors-svn.html">&os; Handbook</ulink>
+ for the currently supported list.</para>
+
+ <screen>&prompt.root; export VCS_REPOSITORY=<replaceable>svn://svn0.us-east.FreeBSD.org</replaceable></screen>
+ </step>
+
+ <step>
+ <para>Obtain a copy of the kickstart script into a
+ temporary directory. (You will not need to keep this
+ directory later.)</para>
+
+ <screen>&prompt.root; mkdir -p /home/<replaceable>portbuild</replaceable>/<replaceable>tmp</replaceable>
+&prompt.root; svn checkout ${VCS_REPOSITORY}/base/projects/portbuild/admin/tools /home/<replaceable>portbuild</replaceable>/<replaceable>tmp</replaceable></screen>
+ </step>
+
+ <step>
+ <para>Run the kickstart script:</para>
+
+ <screen>&prompt.root; sh /home/<replaceable>portbuild</replaceable>/<replaceable>tmp</replaceable>/mkportbuild</screen>
+
+ <para>This will accomplish all the following 5 steps:</para>
+
+ <procedure>
+
+<!-- begin of whitespace-broken area -->
+ <step>
+ <para>Create the <filename>portbuild</filename> directory:</para>
+
+ <screen>&prompt.root; mkdir -p ${ZFS_MOUNTPOINT}/portbuild</screen>
+ </step>
+
+ <step>
+ <para>Create and mount a new <application>zfs</application>
+ filesystem on it:</para>
+
+ <screen>zfs create -o mountpoint=${ZFS_MOUNTPOINT}/portbuild ${ZFS_VOLUME}/portbuild</screen>
+ </step>
+
+ <step>
+ <para>Set up the directory:</para>
+
+ <screen>&prompt.root; chown ${PORTBUILD_USER}:${PORTBUILD_USER} ${ZFS_MOUNTPOINT}/portbuild
+&prompt.root; chmod 775 ${ZFS_MOUNTPOINT}/portbuild
+&prompt.root; ln -sf ${ZFS_MOUNTPOINT}/portbuild /var/portbuild</screen>
+
+ <note>
+ <para>The <command>ln</command> is necessary due to a number
+ of hardcoded paths. This is a bug.</para>
+ </note>
+ </step>
+
+ <step>
+ <para>Set up the initial repository:</para>
+
+ <screen>&prompt.user; svn checkout ${VCS_REPOSITORY}/base/projects/portbuild ${ZFS_MOUNTPOINT}/portbuild</screen>
+ </step>
+<!-- end of whitespace-broken area -->
+
+ <step>
+ <para>Set up the <application>zfs</application>
+ <literal>permission sets</literal>.</para>
+ </step>
+ </procedure>
+
+ </step>
+ </procedure>
+ </sect2>
+
+ <sect2 id="portbuild-repo-configuration">
+ <title>Configuring the <application>portbuild</application> files</title>
+
+ <procedure>
+ <step>
+ <para>Configure how build slaves will talk to your server
+ by making the following changes to
+ <filename>/<replaceable>a</replaceable>/portbuild/conf/client.conf</filename>:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Set <makevar>CLIENT_NFS_MASTER</makevar> to wherever
+ your build slaves will PXE boot from. (Possibly, the
+ hostname of your server.)</para>
+ </listitem>
+
+ <listitem>
+ <para>Set <makevar>CLIENT_BACKUP_FTP_SITE</makevar>
+ to a backup site for FTP fetches; again, possibly
+ the hostname of your server.</para>
+ </listitem>
+
+ <listitem>
+ <para>Set <makevar>CLIENT_UPLOAD_HOST</makevar> to
+ where completed packages will be uploaded.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Most of the other default values should be fine.</para>
</step>
<step>
- <para>Configure mail by doing the following: TBA.
- </para>
+ <para>Most of the default values in
+ <filename>/<replaceable>a</replaceable>/portbuild/conf/common.conf</filename>
+ should be fine. This file holds definitions used by
+ both the server and all its clients.</para>
+ </step>
+
+ <step>
+ <para>Configure the server by making the following changes to
+ <filename>/<replaceable>a</replaceable>/portbuild/conf/server.conf</filename>:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Set <makevar>SUPPORTED_ARCHS</makevar> to the
+ list of architectures you wish to build packages for.</para>
+ </listitem>
+
+ <listitem>
+ <para>For each source branch you will be building for, set
+ <makevar>SRC_BRANCHES</makevar> and
+ <makevar>SRC_BRANCH_<replaceable>branch</replaceable>_SUBDIR</makevar>
+ as detailed in <xref linkend="new-branch-pre-qmanager"/>.
+ You should not need to change
+ <makevar>SRC_BRANCHES_PATTERN</makevar>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Set <makevar>ZFS_VOLUME</makevar> and
+ <makevar>ZFS_MOUNTPOINT</makevar> to whatever you
+ chose above.</para>
+ </listitem>
+
+ <listitem>
+ <para>Set <makevar>UPLOAD_DIRECTORY</makevar>,
+ <makevar>UPLOAD_TARGET</makevar>, and
+ <makevar>UPLOAD_USER</makevar> as appropriate
+ for your site.</para>
+ </listitem>
+
+ <listitem>
+ <para>Set <makevar>VCS_REPOSITORY</makevar> to whatever
+ you chose above.</para>
+ </listitem>
+
+ <listitem>
+ <para>Set <makevar>MASTER_URL</makevar> to the http
+ URL of your server. This will be stamped into the
+ package build logs and the indices thereof.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Most of the other default values should be fine.</para>
</step>
</procedure>
+ </sect2>
+ <sect2 id="pointyhat-pre-qmanager">
+ <title>pre-<application>qmanager</application></title>
+
+ <procedure>
+ <step>
+ <para>For each architecture, follow the steps in
+ <xref linkend="new-arch-pre-qmanager"/>.</para>
+ </step>
+ </procedure>
</sect2>
- <sect2 id="pointyhat-other">
- <title>Other</title>
+ <sect2 id="pointyhat-qmanager">
+ <title><application>qmanager</application></title>
<procedure>
+ <step>
+ <para>Copy the following files from
+ <filename>/a/portbuild/admin/etc/rc.d/</filename> to
+ <filename>/usr/local/etc/rc.d/</filename>:</para>
+
+ <programlisting>pollmachine
+qmanager</programlisting>
+
+ <para>As root, start each one of them. You may find it handy
+ to start each under <application>screen</application> for
+ debugging purposes.</para>
+ </step>
<step>
- <para>TBA</para>
+ <para>Initialize the <application>qmanager</application>
+ database's acl list:</para>
+
+ <note>
+ <para>This should now be automatically done for you by
+ the first <command>build</command> command.</para>
+ </note>
+
+ <screen>&prompt.root; python /<replaceable>a</replaceable>/portbuild/qmanager/qclient add_acl name=deny_all uidlist= gidlist= sense=0</screen>
</step>
+ </procedure>
+ </sect2>
+ <sect2 id="pointyhat-src-ports-repos">
+ <title>Creating src and ports repositories</title>
+
+ <procedure>
+ <step>
+ <para>As the <replaceable>srcbuild</replaceable> user,
+ run the following commands manually to create the
+ <literal>src</literal> and <literal>ports</literal>
+ repositories, respectively:</para>
+
+ <screen>&prompt.user; /<replaceable>a</replaceable>/portbuild/admin/scripts/updatesnap.ports
+&prompt.user; /<replaceable>a</replaceable>/portbuild/admin/scripts/updatesnap</screen>
+
+ <para>These will be periodically run from the
+ <replaceable>srcbuild</replaceable>
+ <filename>crontab</filename>, which you will
+ install below.</para>
+ </step>
</procedure>
+ </sect2>
+ <sect2 id="pointyhat-other-services">
+ <title>Other services</title>
+
+ <procedure>
+ <step>
+ <para>Configure
+ <filename>/usr/local/etc/apache22/httpd.conf</filename>
+ as appropriate for your site.</para>
+ </step>
+
+ <step>
+ <para>Copy <filename>/a/portbuild/admin/conf/apache.conf</filename>
+ to the appropriate <filename>Includes/</filename> subdirectory, e.g.,
+ <filename>/usr/local/etc/apache22/Includes/portbuild.conf</filename>.
+ Configure it as appropriate for your site.</para>
+ </step>
+
+ <step>
+ <para>Install <filename>/a/portbuild/admin/crontabs/portbuild</filename> as
+ the <username>portbuild</username> crontab via
+ <command>crontab -u portbuild -e</command>. If you do
+ not support all the archs listed there, make sure to comment out
+ the appropriate <application>dologs</application> entries.</para>
+ </step>
+
+ <step>
+ <para>Install <filename>/a/srcbuild/admin/crontabs/portbuild</filename> as
+ the <username>srcbuild</username> crontab via
+ <command>crontab -u srcbuild -e</command>.</para>
+ </step>
+
+ <step>
+ <para>If your build slaves will be pxebooted, make sure to
+ enable the <application>tftp</application> entries in
+ <filename>/etc/inetd.conf</filename>.</para>
+ </step>
+
+ <step>
+ <para>Configure mail by doing the following:</para>
+
+ <para><command>newaliases</command>.</para>
+ </step>
+ </procedure>
</sect2>
+ <sect2 id="pointyhat-finishing-up">
+ <title>Finishing up</title>
+
+ <procedure>
+ <step>
+ <para>For each architecture, follow the steps in
+ <xref linkend="new-arch-post-qmanager"/>.</para>
+ </step>
+
+ <step>
+ <para>You will probably find it handy to append
+ the following to the <makevar>PATH</makevar> definition for
+ the <replaceable>portbuild</replaceable> user:</para>
+
+ <programlisting>/<replaceable>a</replaceable>/portbuild/scripts:/<replaceable>a</replaceable>/portbuild/tools</programlisting>
+ </step>
+
+ <step>
+ <para>You will also probably find it handy to append
+ the following to the <makevar>PATH</makevar> definition for
+ the <replaceable>srcbuild</replaceable> user:</para>
+
+ <programlisting>/<replaceable>a</replaceable>/portbuild/admin/scripts:/<replaceable>a</replaceable>/portbuild/admin/tools</programlisting>
+ </step>
+ </procedure>
+
+ <para>You should now be ready to build packages.</para>
+ </sect2>
</sect1>
<sect1 id="disk-failure">
<title>Procedures for dealing with disk failures</title>
- <para>When a machine has a disk failure (e.g. panics due to read errors,
+ <note>
+ <para>The following section is particular to <hostid>freebsd.org</hostid>
+ and is somewhat obsolete.</para>
+ </note>
+
+ <para>When a machine has a disk failure (e.g., panics due to read errors,
etc), then we should do the following steps:</para>
<itemizedlist>
- <listitem><para>Note the time and failure mode (e.g. paste in the
- relevant console output) in
- <filename>/var/portbuild/<replaceable>${arch}</replaceable>/reboots</filename></para></listitem>
+ <listitem>
+ <para>Note the time and failure mode (e.g., paste in the
+ relevant console output) in
+ <filename>/var/portbuild/<replaceable>${arch}</replaceable>/reboots</filename></para>
+ </listitem>
- <listitem><para>For i386 gohan clients, scrub the disk by touching
- <filename>/SCRUB</filename> in the nfsroot (e.g.
- <filename>/a/nfs/8.dir1/SCRUB</filename>) and rebooting. This will
- <command>dd if=/dev/zero of=/dev/ad0</command> and force the drive to
- remap any bad sectors it finds, if it has enough spares left. This is
- a temporary measure to extend the lifetime of a drive that is on the
- way out.</para>
+ <listitem>
+ <para>For i386 gohan clients, scrub the disk by touching
+ <filename>/SCRUB</filename> in the nfsroot (e.g.,
+ <filename>/a/nfs/8.dir1/SCRUB</filename>) and rebooting. This will
+ <command>dd if=/dev/zero of=/dev/ad0</command> and force the drive to
+ remap any bad sectors it finds, if it has enough spares left. This is
+ a temporary measure to extend the lifetime of a drive that is on the
+ way out.</para>
- <note><para>For the i386 blade systems another signal of a failing
- disk seems to be that the blade will completely hang and be
- unresponsive to either console break, or even NMI.</para></note>
+ <note>
+ <para>For the i386 blade systems another signal of a failing
+ disk seems to be that the blade will completely hang and be
+ unresponsive to either console break, or even NMI.</para>
+ </note>
- <para>For other build systems that don't newfs their disk at boot (e.g.
- amd64 systems) this step has to be skipped.</para></listitem>
+ <para>For other build systems that do not newfs their disk at boot (e.g.,
+ amd64 systems) this step has to be skipped.</para>
+ </listitem>
- <listitem><para>If the problem recurs, then the disk is probably toast.
- Take the machine out of <filename>mlist</filename> and (for ata disks)
- run <command>smartctl</command> on the drive:</para>
+ <listitem>
+ <para>If the problem recurs, then the disk is probably toast.
+ Take the machine out of <filename>mlist</filename> and (for ata disks)
+ run <command>smartctl</command> on the drive:</para>
<screen>smartctl -t long /dev/ad0</screen>
@@ -2919,7 +3076,8 @@ LifeTime(hours) LBA_of_first_error
<para>It will also display other data including a log of previous drive
errors. It is possible for the drive to show previous DMA errors
without failing the self-test though (because of sector
- remapping).</para></listitem>
+ remapping).</para>
+ </listitem>
</itemizedlist>
<para>When a disk has failed, please inform the cluster administrators
diff --git a/en_US.ISO8859-1/articles/problem-reports/article.xml b/en_US.ISO8859-1/articles/problem-reports/article.xml
index 5386264d2a..61ad4fa589 100644
--- a/en_US.ISO8859-1/articles/problem-reports/article.xml
+++ b/en_US.ISO8859-1/articles/problem-reports/article.xml
@@ -8,7 +8,6 @@
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
- &tm-attrib.cvsup;
&tm-attrib.ibm;
&tm-attrib.intel;
&tm-attrib.sparc;
@@ -86,7 +85,7 @@
course of action, and will only serve to frustrate you and the
developers. Conversely, there are cases where it might be
appropriate to submit a problem report about something else than
- a bug&mdash;an enhancement or a feature request, for
+ a bug&mdash;an enhancement or a new feature, for
instance.</para>
<para>So how do you determine what is a bug and what is not? As a
@@ -103,12 +102,6 @@
<itemizedlist>
<listitem>
- <para>Requests for feature enhancements. It is generally a
- good idea to air these on the mailing lists before
- submitting a problem report.</para>
- </listitem>
-
- <listitem>
<para>Notification of updates to externally maintained
software (mainly ports, but also externally maintained base
system components such as BIND or various GNU
@@ -277,7 +270,7 @@
carefully study the contents of the
<filename>/usr/src/UPDATING</filename> file on your system
or its latest version at
- <ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/UPDATING"></ulink>.
+ <ulink url="http://svnweb.freebsd.org/base/head/UPDATING?view=log"></ulink>.
(This is vital information
if you are upgrading from one version to
another&mdash;especially if you are upgrading to the
@@ -288,10 +281,10 @@
<filename>/usr/ports/UPDATING</filename> (for individual ports)
or <filename>/usr/ports/CHANGES</filename> (for changes
that affect the entire Ports Collection).
- <ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/UPDATING"></ulink>
+ <ulink url="http://svnweb.freebsd.org/ports/head/UPDATING?view=log"></ulink>
and
- <ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/CHANGES"></ulink>
- are also available via CVSweb.</para>
+ <ulink url="http://svnweb.freebsd.org/ports/head/CHANGES?view=log"></ulink>
+ are also available via svnweb.</para>
</listitem>
</itemizedlist>
</section>
@@ -371,8 +364,8 @@
is a place to put that, see below) and on which architecture.
You should include whether you are running from a release
(e.g. from a CDROM or download), or from
- a system maintained by &man.cvsup.1; (and, if so, how
- recently you updated). If you are tracking the
+ a system maintained by Subversion (and, if so,
+ what revision number you are at). If you are tracking the
&os.current; branch, that is the very first thing someone
will ask, because fixes (especially for high-profile
problems) tend to get committed very quickly, and
@@ -584,11 +577,11 @@
<option>-c</option> or <option>-u</option> option to
&man.diff.1; to create a context or unified diff (unified is
preferred), and make
- sure to specify the exact CVS revision numbers of the files
+ sure to specify the exact SVN revision numbers of the files
you modified so the developers who read your report will be
able to apply them easily. For problems with the kernel or the
base utilities, a patch against &os.current; (the HEAD
- CVS branch) is preferred since all new code should be applied
+ Subversion branch) is preferred since all new code should be applied
and tested there first. After appropriate or substantial testing
has been done, the code will be merged/migrated to the &os.stable;
branch.</para>
@@ -661,8 +654,8 @@
<para><emphasis>Confidential:</emphasis> This is prefilled
to <literal>no</literal>. Changing it makes no sense as
there is no such thing as a confidential &os; problem
- report&mdash;the PR database is distributed worldwide by
- <application>CVSup</application>.</para>
+ report&mdash;the PR database is distributed
+ worldwide.</para>
</listitem>
<listitem>
@@ -920,7 +913,7 @@
</itemizedlist>
<para>Here is the current list of categories (taken from
- <ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/gnu/usr.bin/send-pr/categories"></ulink>):</para>
+ <ulink url="http://svnweb.freebsd.org/base/head/gnu/usr.bin/send-pr/categories"></ulink>):</para>
<itemizedlist>
<listitem>
@@ -929,11 +922,6 @@
</listitem>
<listitem>
- <para><literal>alpha:</literal> problems specific to the
- Alpha platform.</para>
- </listitem>
-
- <listitem>
<para><literal>amd64:</literal> problems specific to the
AMD64 platform.</para>
</listitem>
diff --git a/en_US.ISO8859-1/articles/rc-scripting/article.xml b/en_US.ISO8859-1/articles/rc-scripting/article.xml
index 9a93599a53..c12a4a58d6 100644
--- a/en_US.ISO8859-1/articles/rc-scripting/article.xml
+++ b/en_US.ISO8859-1/articles/rc-scripting/article.xml
@@ -397,8 +397,8 @@ start_cmd="${name}_start"
stop_cmd=":"
load_rc_config $name<co id="rcng-confdummy-loadconfig"/>
-eval "${rcvar}=\${${rcvar}:-'NO'}"<co id="rcng-confdummy-enable"/>
-dummy_msg=${dummy_msg:-"Nothing started."}<co id="rcng-confdummy-opt"/>
+: ${dummy_enable:=no} <co id="rcng-confdummy-enable"/>
+: ${dummy_msg="Nothing started."}<co id="rcng-confdummy-opt"/>
dummy_start()
{
@@ -445,7 +445,7 @@ run_rc_command "$1"</programlisting>
system, you should add a default setting for the knob to
<filename>/etc/defaults/rc.conf</filename> and document
it in &man.rc.conf.5;. Otherwise it is your script that
- should provide a default setting for the knob. A portable
+ should provide a default setting for the knob. The canonical
approach to the latter case is shown in the example.</para>
<note>
@@ -476,7 +476,7 @@ run_rc_command "$1"</programlisting>
<important>
<para>The names of all &man.rc.conf.5; variables used
exclusively by our script <emphasis>must</emphasis>
- have the same prefix: <envar>${name}</envar>. For
+ have the same prefix: <envar>${name}_</envar>. For
example: <envar>dummy_mode</envar>,
<envar>dummy_state_file</envar>, and so on.</para>
</important>
@@ -484,19 +484,10 @@ run_rc_command "$1"</programlisting>
<note>
<para>While it is possible to use a shorter name internally,
e.g., just <envar>msg</envar>, adding the unique prefix
- <envar>${name}</envar> to all global names introduced by
+ <envar>${name}_</envar> to all global names introduced by
our script will save us from possible
collisions with the &man.rc.subr.8; namespace.</para>
- <para>As long as an &man.rc.conf.5; variable and its
- internal equivalent are the same, we can use a more
- compact expression to set the default value:</para>
-
- <programlisting>: ${dummy_msg:="Nothing started."}</programlisting>
-
- <para>The current style is to use the more verbose form
- though.</para>
-
<para>As a rule, <filename>rc.d</filename> scripts of the
base system need not provide defaults for their
&man.rc.conf.5; variables because the defaults should
@@ -509,7 +500,11 @@ run_rc_command "$1"</programlisting>
<callout arearefs="rcng-confdummy-msg">
<para>Here we use <envar>dummy_msg</envar> to actually
- control our script, i.e., to emit a variable message.</para>
+ control our script, i.e., to emit a variable message.
+ Use of a shell function is overkill here, since it only
+ runs a single command; an equally valid alternative is:</para>
+
+ <programlisting>start_cmd="echo \"$dummy_msg\""</programlisting>
</callout>
</calloutlist>
</sect1>
diff --git a/en_US.ISO8859-1/articles/solid-state/article.xml b/en_US.ISO8859-1/articles/solid-state/article.xml
index a4fc36fdfc..1290cb19cc 100644
--- a/en_US.ISO8859-1/articles/solid-state/article.xml
+++ b/en_US.ISO8859-1/articles/solid-state/article.xml
@@ -67,79 +67,84 @@
<releaseinfo>$FreeBSD$</releaseinfo>
<abstract>
- <para>This article covers the use of solid state disk devices in &os;
- to create embedded systems.</para>
-
- <para>Embedded systems have the advantage of increased stability due to
- the lack of integral moving parts (hard drives). Account must be
- taken, however, for the generally low disk space available in the
- system and the durability of the storage medium.</para>
-
- <para>Specific topics to be covered include the types and attributes of
- solid state media suitable for disk use in &os;, kernel options
- that are of interest in such an environment, the
- <filename>rc.initdiskless</filename> mechanisms that automate the
- initialization of such systems and the need for read-only filesystems,
- and building filesystems from scratch. The article will conclude
- with some general strategies for small and read-only &os;
- environments.</para>
+ <para>This article covers the use of solid state disk devices in
+ &os; to create embedded systems.</para>
+
+ <para>Embedded systems have the advantage of increased stability
+ due to the lack of integral moving parts (hard drives).
+ Account must be taken, however, for the generally low disk
+ space available in the system and the durability of the
+ storage medium.</para>
+
+ <para>Specific topics to be covered include the types and
+ attributes of solid state media suitable for disk use in &os;,
+ kernel options that are of interest in such an environment,
+ the <filename>rc.initdiskless</filename> mechanisms that
+ automate the initialization of such systems and the need for
+ read-only filesystems, and building filesystems from scratch.
+ The article will conclude with some general strategies for
+ small and read-only &os; environments.</para>
</abstract>
</articleinfo>
<sect1 id="intro">
<title>Solid State Disk Devices</title>
- <para>The scope of this article will be limited to solid state disk
- devices made from flash memory. Flash memory is a solid state memory
- (no moving parts) that is non-volatile (the memory maintains data even
- after all power sources have been disconnected). Flash memory can
- withstand tremendous physical shock and is reasonably fast (the flash
- memory solutions covered in this article are slightly slower than a EIDE
- hard disk for write operations, and much faster for read operations).
- One very important aspect of flash memory, the ramifications of which
- will be discussed later in this article, is that each sector has a
- limited rewrite capacity. You can only write, erase, and write again to
- a sector of flash memory a certain number of times before the sector
- becomes permanently unusable. Although many flash memory products
- automatically map bad blocks, and although some even distribute write
- operations evenly throughout the unit, the fact remains that there
- exists a limit to the amount of writing that can be done to the device.
- Competitive units have between 1,000,000 and 10,000,000 writes per
- sector in their specification. This figure varies due to the
- temperature of the environment.</para>
-
- <para>Specifically, we will be discussing ATA compatible compact-flash
- units, which are quite popular as storage media for digital
- cameras. Of particular interest is the fact that they pin out directly
- to the IDE bus and are compatible with the ATA command set. Therefore,
- with a very simple and low-cost adaptor, these devices can be attached
- directly to an IDE bus in a computer. Once implemented in this manner,
- operating systems such as &os; see the device as a normal hard disk
- (albeit small).</para>
-
- <para>Other solid state disk solutions do exist, but their expense,
- obscurity, and relative unease of use places them beyond the scope of
- this article.</para>
+ <para>The scope of this article will be limited to solid state
+ disk devices made from flash memory. Flash memory is a solid
+ state memory (no moving parts) that is non-volatile (the memory
+ maintains data even after all power sources have been
+ disconnected). Flash memory can withstand tremendous physical
+ shock and is reasonably fast (the flash memory solutions covered
+ in this article are slightly slower than a EIDE hard disk for
+ write operations, and much faster for read operations). One
+ very important aspect of flash memory, the ramifications of
+ which will be discussed later in this article, is that each
+ sector has a limited rewrite capacity. You can only write,
+ erase, and write again to a sector of flash memory a certain
+ number of times before the sector becomes permanently unusable.
+ Although many flash memory products automatically map bad
+ blocks, and although some even distribute write operations
+ evenly throughout the unit, the fact remains that there exists a
+ limit to the amount of writing that can be done to the device.
+ Competitive units have between 1,000,000 and 10,000,000 writes
+ per sector in their specification. This figure varies due to
+ the temperature of the environment.</para>
+
+ <para>Specifically, we will be discussing ATA compatible
+ compact-flash units, which are quite popular as storage media
+ for digital cameras. Of particular interest is the fact that
+ they pin out directly to the IDE bus and are compatible with the
+ ATA command set. Therefore, with a very simple and low-cost
+ adaptor, these devices can be attached directly to an IDE bus in
+ a computer. Once implemented in this manner, operating systems
+ such as &os; see the device as a normal hard disk (albeit
+ small).</para>
+
+ <para>Other solid state disk solutions do exist, but their
+ expense, obscurity, and relative unease of use places them
+ beyond the scope of this article.</para>
</sect1>
<sect1 id="kernel">
<title>Kernel Options</title>
- <para>A few kernel options are of specific interest to those creating
- an embedded &os; system.</para>
+ <para>A few kernel options are of specific interest to those
+ creating an embedded &os; system.</para>
<para>All embedded &os; systems that use flash memory as system
- disk will be interested in memory disks and memory filesystems. Because
- of the limited number of writes that can be done to flash memory, the
- disk and the filesystems on the disk will most likely be mounted
- read-only. In this environment, filesystems such as
- <filename>/tmp</filename> and <filename>/var</filename> are mounted as
- memory filesystems to allow the system to create logs and update
- counters and temporary files. Memory filesystems are a critical
- component to a successful solid state &os; implementation.</para>
-
- <para>You should make sure the following lines exist in your kernel
- configuration file:</para>
+ disk will be interested in memory disks and memory filesystems.
+ Because of the limited number of writes that can be done to
+ flash memory, the disk and the filesystems on the disk will most
+ likely be mounted read-only. In this environment, filesystems
+ such as <filename>/tmp</filename> and <filename>/var</filename>
+ are mounted as memory filesystems to allow the system to create
+ logs and update counters and temporary files. Memory
+ filesystems are a critical component to a successful solid state
+ &os; implementation.</para>
+
+ <para>You should make sure the following lines exist in your
+ kernel configuration file:</para>
<programlisting>options MFS # Memory Filesystem
options MD_ROOT # md device usable as a potential root device
@@ -147,58 +152,63 @@ pseudo-device md # memory disk</programlisting>
</sect1>
<sect1 id="ro-fs">
- <title>The <literal>rc</literal> Subsystem and Read-Only Filesystems</title>
+ <title>The <literal>rc</literal> Subsystem and Read-Only
+ Filesystems</title>
<para>The post-boot initialization of an embedded &os; system is
controlled by <filename>/etc/rc.initdiskless</filename>.</para>
- <para><filename>/etc/rc.d/var</filename> mounts <filename>/var</filename>
- as a memory filesystem, makes a configurable list of directories in
- <filename>/var</filename> with the &man.mkdir.1; command, and
- changes modes on some of those directories. In the execution of
+ <para><filename>/etc/rc.d/var</filename> mounts
+ <filename>/var</filename> as a memory filesystem, makes a
+ configurable list of directories in <filename>/var</filename>
+ with the &man.mkdir.1; command, and changes modes on some of
+ those directories. In the execution of
<filename>/etc/rc.d/var</filename>, one other
<filename>rc.conf</filename> variable comes into play &ndash;
- <literal>varsize</literal>. The <filename>/etc/rc.d/var</filename>
- file creates a <filename>/var</filename> partition based on the value of
+ <literal>varsize</literal>. The
+ <filename>/etc/rc.d/var</filename> file creates a
+ <filename>/var</filename> partition based on the value of
this variable in <filename>rc.conf</filename>:</para>
<programlisting>varsize=8192</programlisting>
<para>Remember that this value is in sectors by default.</para>
- <para>The fact that <filename>/var</filename>
- is a read-write filesystem is an important
- distinction, as the <filename>/</filename> partition (and any other
- partitions you may have on your flash media) should be mounted
- read-only. Remember that in <xref linkend="intro"/> we detailed the
- limitations of flash memory - specifically the limited write capability.
- The importance of not mounting filesystems on flash media read-write,
- and the importance of not using a swap file, cannot be overstated. A
- swap file on a busy system can burn through a piece of flash media in
- less than one year. Heavy logging or temporary file creation and
- destruction can do the same. Therefore, in addition to removing the
+ <para>The fact that <filename>/var</filename> is a read-write
+ filesystem is an important distinction, as the
+ <filename>/</filename> partition (and any other partitions you
+ may have on your flash media) should be mounted read-only.
+ Remember that in <xref linkend="intro"/> we detailed the
+ limitations of flash memory - specifically the limited write
+ capability. The importance of not mounting filesystems on flash
+ media read-write, and the importance of not using a swap file,
+ cannot be overstated. A swap file on a busy system can burn
+ through a piece of flash media in less than one year. Heavy
+ logging or temporary file creation and destruction can do the
+ same. Therefore, in addition to removing the
<literal>swap</literal> entry from your
- <filename>/etc/fstab</filename> file, you should also change the Options
- field for each filesystem to <literal>ro</literal> as follows:</para>
+ <filename>/etc/fstab</filename> file, you should also change the
+ Options field for each filesystem to <literal>ro</literal> as
+ follows:</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1a / ufs ro 1 1</programlisting>
- <para>A few applications in the average system will immediately begin to
- fail as a result of this change. For instance, cron
+ <para>A few applications in the average system will immediately
+ begin to fail as a result of this change. For instance, cron
will not run properly as a result of missing cron tabs in the
<filename>/var</filename> created by
<filename>/etc/rc.d/var</filename>, and syslog and dhcp will
- encounter problems as well as a result of the read-only filesystem and
- missing items in the <filename>/var</filename> that
- <filename>/etc/rc.d/var</filename> has created. These are only
- temporary problems though, and are addressed, along with solutions to
- the execution of other common software packages in
+ encounter problems as well as a result of the read-only
+ filesystem and missing items in the <filename>/var</filename>
+ that <filename>/etc/rc.d/var</filename> has created. These are
+ only temporary problems though, and are addressed, along with
+ solutions to the execution of other common software packages in
<xref linkend="strategies"/>.</para>
- <para>An important thing to remember is that a filesystem that was mounted
- read-only with <filename>/etc/fstab</filename> can be made read-write at
- any time by issuing the command:</para>
+ <para>An important thing to remember is that a filesystem that was
+ mounted read-only with <filename>/etc/fstab</filename> can be
+ made read-write at any time by issuing the command:</para>
<screen>&prompt.root; <userinput>/sbin/mount -uw <replaceable>partition</replaceable></userinput></screen>
@@ -210,73 +220,79 @@ pseudo-device md # memory disk</programlisting>
<sect1>
<title>Building a File System From Scratch</title>
- <para>Because ATA compatible compact-flash cards are seen by &os; as
- normal IDE hard drives, you could
- theoretically install &os; from the network using the kern and
- mfsroot floppies or from a CD.</para>
+ <para>Because ATA compatible compact-flash cards are seen by &os;
+ as normal IDE hard drives, you could theoretically install &os;
+ from the network using the kern and mfsroot floppies or from a
+ CD.</para>
<para>However, even a small installation of &os; using normal
- installation procedures can produce a system in size of greater than 200
- megabytes. Because most people will be using smaller flash memory
- devices (128 megabytes is considered fairly large - 32 or even 16
- megabytes is common) an installation using normal mechanisms is not
- possible&mdash;there is simply not enough disk space for even the
- smallest of conventional installations.</para>
-
- <para>The easiest way to overcome this space limitation is to install
- &os; using conventional means to a normal hard disk. After the
- installation is complete, pare down the operating system to a size that
- will fit onto your flash media, then tar the entire filesystem. The
- following steps will guide you through the process of preparing a piece
- of flash memory for your tarred filesystem. Remember, because a normal
- installation is not being performed, operations such as partitioning,
- labeling, file-system creation, etc. need to be performed by hand. In
- addition to the kern and mfsroot floppy disks, you will also need to use
- the fixit floppy.</para>
+ installation procedures can produce a system in size of greater
+ than 200 megabytes. Because most people will be using smaller
+ flash memory devices (128 megabytes is considered fairly large -
+ 32 or even 16 megabytes is common) an installation using normal
+ mechanisms is not possible&mdash;there is simply not enough disk
+ space for even the smallest of conventional
+ installations.</para>
+
+ <para>The easiest way to overcome this space limitation is to
+ install &os; using conventional means to a normal hard disk.
+ After the installation is complete, pare down the operating
+ system to a size that will fit onto your flash media, then tar
+ the entire filesystem. The following steps will guide you
+ through the process of preparing a piece of flash memory for
+ your tarred filesystem. Remember, because a normal installation
+ is not being performed, operations such as partitioning,
+ labeling, file-system creation, etc. need to be performed by
+ hand. In addition to the kern and mfsroot floppy disks, you
+ will also need to use the fixit floppy.</para>
<procedure>
<step>
<title>Partitioning your flash media device</title>
<para>After booting with the kern and mfsroot floppies, choose
- <literal>custom</literal> from the installation menu. In the custom
- installation menu, choose <literal>partition</literal>. In the
- partition menu, you should delete all existing partitions using the
- <keycap>d</keycap> key. After deleting all existing partitions,
- create a partition using the <keycap>c</keycap> key and accept the
- default value for the size of the partition. When asked for the
- type of the partition, make sure the value is set to
- <literal>165</literal>. Now write this partition table to the disk
- by pressing the <keycap>w</keycap> key (this is a hidden option on
- this screen). If you are using an ATA compatible compact
- flash card, you should choose the &os; Boot Manager. Now press
- the <keycap>q</keycap> key to quit the partition menu. You will be
- shown the boot manager menu once more - repeat the choice you made
- earlier.</para>
+ <literal>custom</literal> from the installation menu. In
+ the custom installation menu, choose
+ <literal>partition</literal>. In the partition menu, you
+ should delete all existing partitions using the
+ <keycap>d</keycap> key. After deleting all existing
+ partitions, create a partition using the <keycap>c</keycap>
+ key and accept the default value for the size of the
+ partition. When asked for the type of the partition, make
+ sure the value is set to <literal>165</literal>. Now write
+ this partition table to the disk by pressing the
+ <keycap>w</keycap> key (this is a hidden option on this
+ screen). If you are using an ATA compatible compact flash
+ card, you should choose the &os; Boot Manager. Now press
+ the <keycap>q</keycap> key to quit the partition menu. You
+ will be shown the boot manager menu once more - repeat the
+ choice you made earlier.</para>
</step>
<step>
- <title>Creating filesystems on your flash memory device</title>
+ <title>Creating filesystems on your flash memory
+ device</title>
<para>Exit the custom installation menu, and from the main
- installation menu choose the <literal>fixit</literal> option. After
- entering the fixit environment, enter the following command:</para>
+ installation menu choose the <literal>fixit</literal>
+ option. After entering the fixit environment, enter the
+ following command:</para>
<screen>&prompt.root; <userinput>disklabel -e /dev/ad0c</userinput></screen>
- <para>At this point you will have entered the vi editor under the
- auspices of the disklabel command. Next, you need to add
- an <literal>a:</literal> line at the end of the file. This
- <literal>a:</literal> line should look like:</para>
+ <para>At this point you will have entered the vi editor under
+ the auspices of the disklabel command. Next, you need to
+ add an <literal>a:</literal> line at the end of the file.
+ This <literal>a:</literal> line should look like:</para>
<programlisting>a: <replaceable>123456</replaceable> 0 4.2BSD 0 0</programlisting>
- <para>Where <replaceable>123456</replaceable> is a number that is
- exactly the same as the number in the existing <literal>c:</literal>
- entry for size. Basically you are duplicating the existing
- <literal>c:</literal> line as an <literal>a:</literal> line, making
- sure that fstype is <literal>4.2BSD</literal>. Save the file and
- exit.</para>
+ <para>Where <replaceable>123456</replaceable> is a number that
+ is exactly the same as the number in the existing
+ <literal>c:</literal> entry for size. Basically you are
+ duplicating the existing <literal>c:</literal> line as an
+ <literal>a:</literal> line, making sure that fstype is
+ <literal>4.2BSD</literal>. Save the file and exit.</para>
<screen>&prompt.root; <userinput>disklabel -B -r /dev/ad0c</userinput>
&prompt.root; <userinput>newfs /dev/ad0a</userinput></screen>
@@ -289,22 +305,24 @@ pseudo-device md # memory disk</programlisting>
<screen>&prompt.root; <userinput>mount /dev/ad0a /flash</userinput></screen>
- <para>Bring this machine up on the network so we may transfer our tar
- file and explode it onto our flash media filesystem. One example of
- how to do this is:</para>
+ <para>Bring this machine up on the network so we may transfer
+ our tar file and explode it onto our flash media filesystem.
+ One example of how to do this is:</para>
<screen>&prompt.root; <userinput>ifconfig xl0 192.168.0.10 netmask 255.255.255.0</userinput>
&prompt.root; <userinput>route add default 192.168.0.1</userinput></screen>
- <para>Now that the machine is on the network, transfer your tar file.
- You may be faced with a bit of a dilemma at this point - if your
- flash memory part is 128 megabytes, for instance, and your tar file
- is larger than 64 megabytes, you cannot have your tar file on the
- flash media at the same time as you explode it - you will run out of
- space. One solution to this problem, if you are using FTP, is to
- untar the file while it is transferred over FTP. If you perform
- your transfer in this manner, you will never have the tar file and
- the tar contents on your disk at the same time:</para>
+ <para>Now that the machine is on the network, transfer your
+ tar file. You may be faced with a bit of a dilemma at this
+ point - if your flash memory part is 128 megabytes, for
+ instance, and your tar file is larger than 64 megabytes, you
+ cannot have your tar file on the flash media at the same
+ time as you explode it - you will run out of
+ space. One solution to this problem, if you are using FTP,
+ is to untar the file while it is transferred over FTP. If
+ you perform your transfer in this manner, you will never
+ have the tar file and the tar contents on your disk at the
+ same time:</para>
<screen><prompt>ftp></prompt> <userinput>get tarfile.tar "| tar xvf -"</userinput></screen>
@@ -313,70 +331,74 @@ pseudo-device md # memory disk</programlisting>
<screen><prompt>ftp></prompt> <userinput>get tarfile.tar "| zcat | tar xvf -"</userinput></screen>
- <para>After the contents of your tarred filesystem are on your flash
- memory filesystem, you can unmount the flash memory and
- reboot:</para>
+ <para>After the contents of your tarred filesystem are on your
+ flash memory filesystem, you can unmount the flash memory
+ and reboot:</para>
<screen>&prompt.root; <userinput>cd /</userinput>
&prompt.root; <userinput>umount /flash</userinput>
&prompt.root; <userinput>exit</userinput></screen>
- <para>Assuming that you configured your filesystem correctly when it
- was built on the normal hard disk (with your filesystems mounted
- read-only, and with the necessary options compiled into the kernel)
- you should now be successfully booting your &os; embedded
- system.</para>
+ <para>Assuming that you configured your filesystem correctly
+ when it was built on the normal hard disk (with your
+ filesystems mounted read-only, and with the necessary
+ options compiled into the kernel) you should now be
+ successfully booting your &os; embedded system.</para>
</step>
</procedure>
</sect1>
<sect1 id="strategies">
- <title>System Strategies for Small and Read Only Environments</title>
+ <title>System Strategies for Small and Read Only
+ Environments</title>
<para>In <xref linkend="ro-fs"/>, it was pointed out that the
<filename>/var</filename> filesystem constructed by
- <filename>/etc/rc.d/var</filename> and the presence of a read-only
- root filesystem causes problems with many common software packages used
- with &os;. In this article, suggestions for successfully running
- cron, syslog, ports installations, and the Apache web server will be
- provided.</para>
+ <filename>/etc/rc.d/var</filename> and the presence of a
+ read-only root filesystem causes problems with many common
+ software packages used with &os;. In this article, suggestions
+ for successfully running cron, syslog, ports installations, and
+ the Apache web server will be provided.</para>
<sect2>
<title>cron</title>
- <para>Upon boot, <filename class="directory">/var</filename> gets
- populated by <filename>/etc/rc.d/var</filename> using the list from
- <filename>/etc/mtree/BSD.var.dist</filename>, so the <filename
- class="directory">cron</filename>, <filename
- class="directory">cron/tabs</filename>, <filename
- class="directory">at</filename>, and a few other standard
+ <para>Upon boot, <filename class="directory">/var</filename>
+ gets populated by <filename>/etc/rc.d/var</filename> using the
+ list from <filename>/etc/mtree/BSD.var.dist</filename>, so the
+ <filename class="directory">cron</filename>, <filename
+ class="directory">cron/tabs</filename>, <filename
+ class="directory">at</filename>, and a few other standard
directories get created.</para>
- <para>However, this does not solve the problem of maintaining cron
- tabs across reboots. When the system reboots, the
- <filename>/var</filename> filesystem that is in memory will disappear
- and any cron tabs you may have had in it will also disappear.
- Therefore, one solution would be to create cron tabs for the users
- that need them, mount your <filename>/</filename> filesystem as
- read-write and copy those cron tabs to somewhere safe, like
+ <para>However, this does not solve the problem of maintaining
+ cron tabs across reboots. When the system reboots, the
+ <filename>/var</filename> filesystem that is in memory will
+ disappear and any cron tabs you may have had in it will also
+ disappear. Therefore, one solution would be to create cron
+ tabs for the users that need them, mount your
+ <filename>/</filename> filesystem as read-write and copy those
+ cron tabs to somewhere safe, like
<filename>/etc/tabs</filename>, then add a line to the end of
- <filename>/etc/rc.initdiskless</filename> that copies those crontabs into
- <filename>/var/cron/tabs</filename> after that directory has been
- created during system initialization. You may also need to add a line
- that changes modes and permissions on the directories you create and
- the files you copy with <filename>/etc/rc.initdiskless</filename>.</para>
+ <filename>/etc/rc.initdiskless</filename> that copies those
+ crontabs into <filename>/var/cron/tabs</filename> after that
+ directory has been created during system initialization. You
+ may also need to add a line that changes modes and permissions
+ on the directories you create and the files you copy with
+ <filename>/etc/rc.initdiskless</filename>.</para>
</sect2>
<sect2>
<title>syslog</title>
- <para><filename>syslog.conf</filename> specifies the locations of
- certain log files that exist in <filename>/var/log</filename>. These
- files are not created by <filename>/etc/rc.d/var</filename> upon
- system initialization. Therefore, somewhere in
- <filename>/etc/rc.d/var</filename>, after the section that creates
- the directories in <filename>/var</filename>, you will need to add
- something like this:</para>
+ <para><filename>syslog.conf</filename> specifies the locations
+ of certain log files that exist in
+ <filename>/var/log</filename>. These files are not created by
+ <filename>/etc/rc.d/var</filename> upon system initialization.
+ Therefore, somewhere in <filename>/etc/rc.d/var</filename>,
+ after the section that creates the directories in
+ <filename>/var</filename>, you will need to add something like
+ this:</para>
<screen>&prompt.root; <userinput>touch /var/log/security /var/log/maillog /var/log/cron /var/log/messages</userinput>
&prompt.root; <userinput>chmod 0644 /var/log/*</userinput></screen>
@@ -385,27 +407,30 @@ pseudo-device md # memory disk</programlisting>
<sect2>
<title>Ports Installation</title>
- <para>Before discussing the changes necessary to successfully use the
- ports tree, a reminder is necessary regarding the read-only nature of
- your filesystems on the flash media. Since they are read-only, you
- will need to temporarily mount them read-write using the mount syntax
- shown in <xref linkend="ro-fs"/>. You should always remount those
+ <para>Before discussing the changes necessary to successfully
+ use the ports tree, a reminder is necessary regarding the
+ read-only nature of your filesystems on the flash media.
+ Since they are read-only, you will need to temporarily mount
+ them read-write using the mount syntax shown in <xref
+ linkend="ro-fs"/>. You should always remount those
filesystems read-only when you are done with any maintenance -
- unnecessary writes to the flash media could considerably shorten its
- lifespan.</para>
-
- <para>To make it possible to enter a ports directory and successfully
- run <command>make</command> <maketarget>install</maketarget>,
- we must create a packages directory on
- a non-memory filesystem that will keep track of our packages across
- reboots. Because it is necessary to mount your filesystems as
- read-write for the installation of a package anyway, it is sensible to
- assume that an area on the flash media can also be used for package
+ unnecessary writes to the flash media could considerably
+ shorten its lifespan.</para>
+
+ <para>To make it possible to enter a ports directory and
+ successfully run
+ <command>make</command> <maketarget>install</maketarget>, we
+ must create a packages directory on a non-memory filesystem
+ that will keep track of our packages across reboots. Because
+ it is necessary to mount your filesystems as read-write for
+ the installation of a package anyway, it is sensible to assume
+ that an area on the flash media can also be used for package
information to be written to.</para>
- <para>First, create a package database directory. This is normally in
- <filename>/var/db/pkg</filename>, but we cannot place it there as it
- will disappear every time the system is booted.</para>
+ <para>First, create a package database directory. This is
+ normally in <filename>/var/db/pkg</filename>, but we cannot
+ place it there as it will disappear every time the system is
+ booted.</para>
<screen>&prompt.root; <userinput>mkdir /etc/pkg</userinput></screen>
@@ -415,12 +440,13 @@ pseudo-device md # memory disk</programlisting>
<screen>&prompt.root; <userinput>ln -s /etc/pkg /var/db/pkg</userinput></screen>
- <para>Now, any time that you mount your filesystems as read-write and
- install a package, the <command>make</command> <maketarget>install</maketarget> will work,
- and package information
- will be written successfully to <filename>/etc/pkg</filename> (because
- the filesystem will, at that time, be mounted read-write) which will
- always be available to the operating system as
+ <para>Now, any time that you mount your filesystems as
+ read-write and install a package, the
+ <command>make</command> <maketarget>install</maketarget> will
+ work, and package information will be written successfully to
+ <filename>/etc/pkg</filename> (because the filesystem will, at
+ that time, be mounted read-write) which will always be
+ available to the operating system as
<filename>/var/db/pkg</filename>.</para>
</sect2>
@@ -428,40 +454,42 @@ pseudo-device md # memory disk</programlisting>
<title>Apache Web Server</title>
<note>
- <para>The steps in this section are only necessary if Apache is
- set up to write its pid or log information outside of
+ <para>The steps in this section are only necessary if Apache
+ is set up to write its pid or log information outside of
<filename class="directory">/var</filename>. By default,
Apache keeps its pid file in <filename
- class="directory">/var/run/httpd.pid</filename> and its log
- files in <filename class="directory">/var/log</filename>.</para>
+ class="directory">/var/run/httpd.pid</filename> and its
+ log files in <filename
+ class="directory">/var/log</filename>.</para>
</note>
<para>It is now assumed that Apache keeps its log files in a
directory <filename
- class="directory"><replaceable>apache_log_dir</replaceable></filename>
+ class="directory"><replaceable>apache_log_dir</replaceable></filename>
outside of <filename class="directory">/var</filename>.
- When this directory lives on a read-only filesystem, Apache will
- not be able to save any log files, and may have problems working.
- If so, it is necessary to add a new directory to the
+ When this directory lives on a read-only filesystem, Apache
+ will not be able to save any log files, and may have problems
+ working. If so, it is necessary to add a new directory to the
list of directories in <filename>/etc/rc.d/var</filename> to
create in <filename>/var</filename>, and to link
- <filename class="directory"><replaceable>apache_log_dir</replaceable></filename> to
- <filename>/var/log/apache</filename>. It is also necessary to set
- permissions and ownership on this new directory.</para>
+ <filename
+ class="directory"><replaceable>apache_log_dir</replaceable></filename>
+ to <filename>/var/log/apache</filename>. It is also necessary
+ to set permissions and ownership on this new directory.</para>
- <para>First, add the directory <literal>log/apache</literal> to the list
- of directories to be created in
+ <para>First, add the directory <literal>log/apache</literal> to
+ the list of directories to be created in
<filename>/etc/rc.d/var</filename>.</para>
<para>Second, add these commands to
- <filename>/etc/rc.d/var</filename> after the directory creation
- section:</para>
+ <filename>/etc/rc.d/var</filename> after the directory
+ creation section:</para>
<screen>&prompt.root; <userinput>chmod 0774 /var/log/apache</userinput>
&prompt.root; <userinput>chown nobody:nobody /var/log/apache</userinput></screen>
- <para>Finally, remove the existing
- <filename class="directory"><replaceable>apache_log_dir</replaceable></filename>
+ <para>Finally, remove the existing <filename
+ class="directory"><replaceable>apache_log_dir</replaceable></filename>
directory, and replace it with a link:</para>
<screen>&prompt.root; <userinput>rm -rf <filename class="directory"><replaceable>apache_log_dir</replaceable></filename></userinput>
diff --git a/en_US.ISO8859-1/books/Makefile b/en_US.ISO8859-1/books/Makefile
index ecf27143de..4cf91fdde1 100644
--- a/en_US.ISO8859-1/books/Makefile
+++ b/en_US.ISO8859-1/books/Makefile
@@ -1,7 +1,6 @@
# $FreeBSD$
SUBDIR = arch-handbook
-SUBDIR+= corp-net-guide
SUBDIR+= design-44bsd
SUBDIR+= dev-model
SUBDIR+= developers-handbook
diff --git a/en_US.ISO8859-1/books/arch-handbook/Makefile b/en_US.ISO8859-1/books/arch-handbook/Makefile
index 7c1f296a6c..9ad49d0e62 100644
--- a/en_US.ISO8859-1/books/arch-handbook/Makefile
+++ b/en_US.ISO8859-1/books/arch-handbook/Makefile
@@ -16,11 +16,11 @@ INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
#
-# SRCS lists the individual SGML files that make up the document. Changes
+# SRCS lists the individual XML files that make up the document. Changes
# to any of these files will force a rebuild
#
-# SGML content
+# XML content
SRCS= book.xml
SRCS+= boot/chapter.xml
SRCS+= driverbasics/chapter.xml
diff --git a/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.xml b/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.xml
index f70027a2e9..c4b87c9ba7 100644
--- a/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.xml
+++ b/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.xml
@@ -48,13 +48,7 @@
<para>Most devices in a &unix;-like operating system are accessed
through device-nodes, sometimes also called special files.
These files are usually located under the directory
- <filename>/dev</filename> in the filesystem hierarchy.
- In releases of FreeBSD older than 5.0-RELEASE, where
- &man.devfs.5; support is not integrated into FreeBSD,
- each device node must be
- created statically and independent of the existence of the
- associated device driver. Most device nodes on the system are
- created by running <command>MAKEDEV</command>.</para>
+ <filename>/dev</filename> in the filesystem hierarchy.</para>
<para>Device drivers can roughly be broken down into two
categories; character and network device drivers.</para>
@@ -208,25 +202,23 @@ KMOD=skeleton
<para>This simple example pseudo-device remembers whatever values
you write to it and can then supply them back to you when you
- read from it. Two versions are shown, one for &os;&nbsp;4.X and
- one for &os;&nbsp;5.X.</para>
+ read from it.</para>
<example>
<title>Example of a Sample Echo Pseudo-Device Driver for
- &os;&nbsp;4.X</title>
+ &os;&nbsp;10.X</title>
<programlisting>/*
- * Simple `echo' pseudo-device KLD
+ * Simple Echo pseudo-device KLD
*
* Murray Stokely
+ * Søren (Xride) Straarup
+ * Eitan Adler
*/
-#define MIN(a,b) (((a) &lt; (b)) ? (a) : (b))
-
#include &lt;sys/types.h&gt;
#include &lt;sys/module.h&gt;
#include &lt;sys/systm.h&gt; /* uprintf */
-#include &lt;sys/errno.h&gt;
#include &lt;sys/param.h&gt; /* defines used in kernel.h */
#include &lt;sys/kernel.h&gt; /* types used in module initialization */
#include &lt;sys/conf.h&gt; /* cdevsw struct */
@@ -236,170 +228,6 @@ KMOD=skeleton
#define BUFFERSIZE 256
/* Function prototypes */
-d_open_t echo_open;
-d_close_t echo_close;
-d_read_t echo_read;
-d_write_t echo_write;
-
-/* Character device entry points */
-static struct cdevsw echo_cdevsw = {
- echo_open,
- echo_close,
- echo_read,
- echo_write,
- noioctl,
- nopoll,
- nommap,
- nostrategy,
- "echo",
- 33, /* reserved for lkms - /usr/src/sys/conf/majors */
- nodump,
- nopsize,
- D_TTY,
- -1
-};
-
-typedef struct s_echo {
- char msg[BUFFERSIZE];
- int len;
-} t_echo;
-
-/* vars */
-static dev_t sdev;
-static int count;
-static t_echo *echomsg;
-
-MALLOC_DECLARE(M_ECHOBUF);
-MALLOC_DEFINE(M_ECHOBUF, "echobuffer", "buffer for echo module");
-
-/*
- * This function is called by the kld[un]load(2) system calls to
- * determine what actions to take when a module is loaded or unloaded.
- */
-
-static int
-echo_loader(struct module *m, int what, void *arg)
-{
- int err = 0;
-
- switch (what) {
- case MOD_LOAD: /* kldload */
- sdev = make_dev(<literal>&amp;</literal>echo_cdevsw,
- 0,
- UID_ROOT,
- GID_WHEEL,
- 0600,
- "echo");
- /* kmalloc memory for use by this driver */
- MALLOC(echomsg, t_echo *, sizeof(t_echo), M_ECHOBUF, M_WAITOK);
- printf("Echo device loaded.\n");
- break;
- case MOD_UNLOAD:
- destroy_dev(sdev);
- FREE(echomsg,M_ECHOBUF);
- printf("Echo device unloaded.\n");
- break;
- default:
- err = EOPNOTSUPP;
- break;
- }
- return(err);
-}
-
-int
-echo_open(dev_t dev, int oflags, int devtype, struct proc *p)
-{
- int err = 0;
-
- uprintf("Opened device \"echo\" successfully.\n");
- return(err);
-}
-
-int
-echo_close(dev_t dev, int fflag, int devtype, struct proc *p)
-{
- uprintf("Closing device \"echo.\"\n");
- return(0);
-}
-
-/*
- * The read function just takes the buf that was saved via
- * echo_write() and returns it to userland for accessing.
- * uio(9)
- */
-
-int
-echo_read(dev_t dev, struct uio *uio, int ioflag)
-{
- int err = 0;
- int amt;
-
- /*
- * How big is this read operation? Either as big as the user wants,
- * or as big as the remaining data
- */
- amt = MIN(uio-&gt;uio_resid, (echomsg-&gt;len - uio-&gt;uio_offset &gt; 0) ?
- echomsg-&gt;len - uio-&gt;uio_offset : 0);
- if ((err = uiomove(echomsg-&gt;msg + uio-&gt;uio_offset,amt,uio)) != 0) {
- uprintf("uiomove failed!\n");
- }
- return(err);
-}
-
-/*
- * echo_write takes in a character string and saves it
- * to buf for later accessing.
- */
-
-int
-echo_write(dev_t dev, struct uio *uio, int ioflag)
-{
- int err = 0;
-
- /* Copy the string in from user memory to kernel memory */
- err = copyin(uio-&gt;uio_iov-&gt;iov_base, echomsg-&gt;msg,
- MIN(uio-&gt;uio_iov-&gt;iov_len, BUFFERSIZE - 1));
-
- /* Now we need to null terminate, then record the length */
- *(echomsg-&gt;msg + MIN(uio-&gt;uio_iov-&gt;iov_len, BUFFERSIZE - 1)) = 0;
- echomsg-&gt;len = MIN(uio-&gt;uio_iov-&gt;iov_len, BUFFERSIZE);
-
- if (err != 0) {
- uprintf("Write failed: bad address!\n");
- }
- count++;
- return(err);
-}
-
-DEV_MODULE(echo,echo_loader,NULL);</programlisting>
- </example>
-
- <example>
- <title>Example of a Sample Echo Pseudo-Device Driver for
- &os;&nbsp;5.X</title>
-
- <programlisting>/*
- * Simple `echo' pseudo-device KLD
- *
- * Murray Stokely
- *
- * Converted to 5.X by S&oslash;ren (Xride) Straarup
- */
-
-#include &lt;sys/types.h&gt;
-#include &lt;sys/module.h&gt;
-#include &lt;sys/systm.h&gt; /* uprintf */
-#include &lt;sys/errno.h&gt;
-#include &lt;sys/param.h&gt; /* defines used in kernel.h */
-#include &lt;sys/kernel.h&gt; /* types used in module initialization */
-#include &lt;sys/conf.h&gt; /* cdevsw struct */
-#include &lt;sys/uio.h&gt; /* uio struct */
-#include &lt;sys/malloc.h&gt;
-
-#define BUFFERSIZE 256
-
-
-/* Function prototypes */
static d_open_t echo_open;
static d_close_t echo_close;
static d_read_t echo_read;
@@ -415,15 +243,14 @@ static struct cdevsw echo_cdevsw = {
.d_name = "echo",
};
-typedef struct s_echo {
+struct s_echo {
char msg[BUFFERSIZE];
int len;
-} t_echo;
+};
/* vars */
static struct cdev *echo_dev;
-static int count;
-static t_echo *echomsg;
+static struct s_echo *echomsg;
MALLOC_DECLARE(M_ECHOBUF);
MALLOC_DEFINE(M_ECHOBUF, "echobuffer", "buffer for echo module");
@@ -434,20 +261,25 @@ MALLOC_DEFINE(M_ECHOBUF, "echobuffer", "buffer for echo module");
*/
static int
-echo_loader(struct module *m, int what, void *arg)
+echo_loader(struct module *m __unused, int what, void *arg __unused)
{
- int err = 0;
+ int error = 0;
switch (what) {
case MOD_LOAD: /* kldload */
- echo_dev = make_dev(<literal>&amp;</literal>echo_cdevsw,
+ error = make_dev_p(MAKEDEV_CHECKNAME | MAKEDEV_WAITOK,
+ &amp;echo_dev,
+ &amp;echo_cdevsw,
0,
UID_ROOT,
GID_WHEEL,
0600,
"echo");
+ if (error != 0)
+ break;
+
/* kmalloc memory for use by this driver */
- echomsg = malloc(sizeof(t_echo), M_ECHOBUF, M_WAITOK);
+ echomsg = malloc(sizeof(*echomsg), M_ECHOBUF, M_WAITOK);
printf("Echo device loaded.\n");
break;
case MOD_UNLOAD:
@@ -456,26 +288,27 @@ echo_loader(struct module *m, int what, void *arg)
printf("Echo device unloaded.\n");
break;
default:
- err = EOPNOTSUPP;
+ error = EOPNOTSUPP;
break;
}
- return(err);
+ return (error);
}
static int
-echo_open(struct cdev *dev, int oflags, int devtype, struct thread *p)
+echo_open(struct cdev *dev __unused, int oflags __unused, int devtype __unused, struct thread *p __unused)
{
- int err = 0;
+ int error = 0;
uprintf("Opened device \"echo\" successfully.\n");
- return(err);
+ return (error);
}
static int
-echo_close(struct cdev *dev, int fflag, int devtype, struct thread *p)
+echo_close(struct cdev *dev __unused, int fflag __unused, int devtype __unused, struct thread *p __unused)
{
- uprintf("Closing device \"echo.\"\n");
- return(0);
+
+ uprintf("Closing device \"echo\".\n");
+ return (0);
}
/*
@@ -485,21 +318,21 @@ echo_close(struct cdev *dev, int fflag, int devtype, struct thread *p)
*/
static int
-echo_read(struct cdev *dev, struct uio *uio, int ioflag)
+echo_read(struct cdev *dev __unused, struct uio *uio, int ioflag __unused)
{
- int err = 0;
- int amt;
+ int error, amt;
/*
* How big is this read operation? Either as big as the user wants,
* or as big as the remaining data
*/
- amt = MIN(uio-&gt;uio_resid, (echomsg-&gt;len - uio-&gt;uio_offset &gt; 0) ?
- echomsg-&gt;len - uio-&gt;uio_offset : 0);
- if ((err = uiomove(echomsg-&gt;msg + uio-&gt;uio_offset, amt, uio)) != 0) {
+
+ amt = MIN(uio-&gt;uio_resid, echomsg-&gt;len - uio-&gt;uio_offset);
+ uio-&gt;uio_offset += amt;
+ if ((error = uiomove(echomsg-&gt;msg, amt, uio)) != 0)
uprintf("uiomove failed!\n");
- }
- return(err);
+
+ return (error);
}
/*
@@ -508,55 +341,57 @@ echo_read(struct cdev *dev, struct uio *uio, int ioflag)
*/
static int
-echo_write(struct cdev *dev, struct uio *uio, int ioflag)
+echo_write(struct cdev *dev __unused, struct uio *uio, int ioflag __unused)
{
- int err = 0;
+ int error, amt;
+
+ /* Copy the string in from user memory to kernel memory */
+
+ /*
+ * We either write from the beginning or are appending -- do
+ * not allow random access.
+ */
+ if (uio-&gt;uio_offset != 0 &amp;&amp; (uio-&gt;uio_offset != echomsg-&gt;len))
+ return (EINVAL);
+
+ /*
+ * This is new message, reset length
+ */
+ if (uio-&gt;uio_offset == 0)
+ echomsg-&gt;len = 0;
+
+ /* NULL character should be overridden */
+ if (echomsg-&gt;len != 0)
+ echomsg-&gt;len--;
/* Copy the string in from user memory to kernel memory */
- err = copyin(uio-&gt;uio_iov-&gt;iov_base, echomsg-&gt;msg,
- MIN(uio-&gt;uio_iov-&gt;iov_len, BUFFERSIZE - 1));
+ amt = MIN(uio-&gt;uio_resid, (BUFFERSIZE - echomsg-&gt;len));
+
+ error = uiomove(echomsg-&gt;msg + uio-&gt;uio_offset, amt, uio);
/* Now we need to null terminate, then record the length */
- *(echomsg-&gt;msg + MIN(uio-&gt;uio_iov-&gt;iov_len, BUFFERSIZE - 1)) = 0;
- echomsg-&gt;len = MIN(uio-&gt;uio_iov-&gt;iov_len, BUFFERSIZE);
+ echomsg-&gt;len += amt + 1;
+ uio-&gt;uio_offset += amt + 1;
+ echomsg-&gt;msg[echomsg-&gt;len - 1] = 0;
- if (err != 0) {
+ if (error != 0)
uprintf("Write failed: bad address!\n");
- }
- count++;
- return(err);
+ return (error);
}
DEV_MODULE(echo,echo_loader,NULL);</programlisting>
</example>
- <para>To install this driver on &os;&nbsp;4.X you will first need to
- make a node on your filesystem with a command such as:</para>
-
- <screen>&prompt.root; <userinput>mknod /dev/echo c 33 0</userinput></screen>
-
<para>With this driver loaded you should now be able to type
something like:</para>
<screen>&prompt.root; <userinput>echo -n "Test Data" &gt; /dev/echo</userinput>
&prompt.root; <userinput>cat /dev/echo</userinput>
-Test Data</screen>
+Opened device "echo" successfully.
+Test Data
+Closing device "echo".</screen>
<para>Real hardware devices are described in the next chapter.</para>
-
- <para>Additional Resources
- <itemizedlist>
- <listitem><simpara><ulink
- url="http://ezine.daemonnews.org/200010/blueprints.html">Dynamic
- Kernel Linker (KLD) Facility Programming Tutorial</ulink> -
- <ulink url="http://www.daemonnews.org/">Daemonnews</ulink> October 2000</simpara></listitem>
- <listitem><simpara><ulink
- url="http://ezine.daemonnews.org/200007/newbus-intro.html">How
- to Write Kernel Drivers with NEWBUS</ulink> - <ulink
- url="http://www.daemonnews.org/">Daemonnews</ulink> July
- 2000</simpara></listitem>
- </itemizedlist>
- </para>
</sect1>
<sect1 id="driverbasics-block">
diff --git a/en_US.ISO8859-1/books/arch-handbook/isa/chapter.xml b/en_US.ISO8859-1/books/arch-handbook/isa/chapter.xml
index 20a2996f02..578d7da34b 100644
--- a/en_US.ISO8859-1/books/arch-handbook/isa/chapter.xml
+++ b/en_US.ISO8859-1/books/arch-handbook/isa/chapter.xml
@@ -146,7 +146,7 @@
DEVMETHOD(device_suspend, xxx_isa_suspend),
DEVMETHOD(device_resume, xxx_isa_resume),
- { 0, 0 }
+ DEVMETHOD_END
};
static driver_t xxx_isa_driver = {
diff --git a/en_US.ISO8859-1/books/arch-handbook/pci/chapter.xml b/en_US.ISO8859-1/books/arch-handbook/pci/chapter.xml
index b6f5aff26d..15a70da312 100644
--- a/en_US.ISO8859-1/books/arch-handbook/pci/chapter.xml
+++ b/en_US.ISO8859-1/books/arch-handbook/pci/chapter.xml
@@ -37,7 +37,7 @@
#include &lt;sys/conf.h&gt; /* cdevsw struct */
#include &lt;sys/uio.h&gt; /* uio struct */
#include &lt;sys/malloc.h&gt;
-#include &lt;sys/bus.h&gt; /* structs, prototypes for pci bus stuff */
+#include &lt;sys/bus.h&gt; /* structs, prototypes for pci bus stuff and DEVMETHOD macros! */
#include &lt;machine/bus.h&gt;
#include &lt;sys/rman.h&gt;
@@ -221,7 +221,7 @@ static device_method_t mypci_methods[] = {
DEVMETHOD(device_suspend, mypci_suspend),
DEVMETHOD(device_resume, mypci_resume),
- { 0, 0 }
+ DEVMETHOD_END
};
static devclass_t mypci_devclass;
diff --git a/en_US.ISO8859-1/books/arch-handbook/sound/chapter.xml b/en_US.ISO8859-1/books/arch-handbook/sound/chapter.xml
index 4ce5564a02..9686fae370 100644
--- a/en_US.ISO8859-1/books/arch-handbook/sound/chapter.xml
+++ b/en_US.ISO8859-1/books/arch-handbook/sound/chapter.xml
@@ -82,16 +82,16 @@
<sect1 id="oss-files">
<title>Files</title>
- <para>All the relevant code currently (FreeBSD 4.4) lives in
+ <para>All the relevant code lives in
<filename>/usr/src/sys/dev/sound/</filename>, except for the
public ioctl interface definitions, found in
<filename>/usr/src/sys/sys/soundcard.h</filename></para>
<para>Under <filename>/usr/src/sys/dev/sound/</filename>, the
<filename>pcm/</filename> directory holds the central code,
- while the <filename>isa/</filename> and
- <filename>pci/</filename> directories have the drivers for ISA
- and PCI boards.</para>
+ while the <filename>pci/</filename>, <filename>isa/</filename>
+ and <filename>usb/</filename> directories have the drivers
+ for PCI and ISA boards, and for USB audio devices.</para>
</sect1>
@@ -527,7 +527,7 @@
<function>channel_resetdone()</function>, and
<function>channel_notify()</function> are for special purposes
and should not be implemented in a driver without discussing
- it with the authorities (&a.cg;).</para>
+ it on the &a.multimedia;.</para>
<para><function>channel_setdir()</function> is deprecated.</para>
</sect3>
diff --git a/en_US.ISO8859-1/books/bibliography/Makefile b/en_US.ISO8859-1/books/bibliography/Makefile
index c638bf7fff..3a4bb68350 100644
--- a/en_US.ISO8859-1/books/bibliography/Makefile
+++ b/en_US.ISO8859-1/books/bibliography/Makefile
@@ -13,11 +13,11 @@ INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
#
-# SRCS lists the individual SGML files that make up the document. Changes
+# SRCS lists the individual XML files that make up the document. Changes
# to any of these files will force a rebuild
#
-# SGML content
+# XML content
SRCS= book.xml
DOC_PREFIX?= ${.CURDIR}/../../..
diff --git a/en_US.ISO8859-1/books/corp-net-guide/Makefile b/en_US.ISO8859-1/books/corp-net-guide/Makefile
deleted file mode 100644
index e4834d3e81..0000000000
--- a/en_US.ISO8859-1/books/corp-net-guide/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# $FreeBSD$
-
-DOC?= book
-
-FORMATS?= html
-
-INSTALL_COMPRESSED?=gz
-INSTALL_ONLY_COMPRESSED?=
-
-SRCS= book.xml
-
-IMAGES_EN= 08-01.eps
-IMAGES_EN+= 08-02.eps
-IMAGES_EN+= 08-03.eps
-IMAGES_EN+= 08-04.eps
-IMAGES_EN+= 08-05.eps
-IMAGES_EN+= 08-06.eps
-
-# Use the local DSSSL file
-DSLHTML?= ${.CURDIR}/freebsd.dsl
-DSLPRINT?= ${.CURDIR}/freebsd.dsl
-
-DOC_PREFIX?= ${.CURDIR}/../../..
-
-.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/books/corp-net-guide/book.xml b/en_US.ISO8859-1/books/corp-net-guide/book.xml
deleted file mode 100644
index abe65ada67..0000000000
--- a/en_US.ISO8859-1/books/corp-net-guide/book.xml
+++ /dev/null
@@ -1,3223 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
- "../../../share/xml/freebsd45.dtd">
-
-<!-- $FreeBSD$ -->
-<!-- FreeBSD Documentation Project -->
-
-<book lang='en'>
- <bookinfo>
- <title>The FreeBSD Corporate Networker's Guide</title>
-
- <author>
- <firstname>Ted</firstname>
- <surname>Mittelstaedt</surname>
- </author>
-
- <copyright>
- <year>2001</year>
- <holder>Addison-Wesley Longman, Inc (Original English language edition)</holder>
- </copyright>
-
- <copyright>
- <year>2001</year>
- <holder>Pearson Educational Japan (Japanese language translation)</holder>
- </copyright>
-
- <isbn>ENGLISH LANGUAGE EDITION ISBN: 0-201-70481-1</isbn>
- <isbn>JAPANESE LANGUAGE EDITION ISBN: 4-89471-464-7</isbn>
-
- <legalnotice id="legalnotice">
- <para>The eighth chapter of the book, <citetitle>The FreeBSD Corporate
- Networker's Guide</citetitle> is excerpted here with the permission
- of the publisher. No part of it may be further reproduced or
- distributed without the publisher's express written
- <email>Chanda.Leary-Coutu@awl.com</email>.
- The other chapters of
- <ulink url="http://cseng.aw.com/book/0,,0201704811,00.html">the
- book</ulink> covers topics such as system administration,
- fileserving, and e-mail delivery. More information about this book is
- available from the publisher, with whom you can also sign up to
- receive news of <ulink url="mailto:Chanda.Leary-Coutu@awl.com">related
- titles</ulink>. The author's web site for the book includes sample
- code, working examples,
- <ulink url="http://www.freebsd-corp-net-guide.com/errata.html">errata</ulink>
- and a Q&amp;A forum, and is available at
- <ulink url="http://www.freebsd-corp-net-guide.com/"></ulink>.</para>
- </legalnotice>
-
- <releaseinfo>$FreeBSD$</releaseinfo>
- </bookinfo>
-
- <chapter id="printserving" label="8">
- <title>Printserving</title>
-
- <para>Printserving is a complicated topic. There are many different
- software interfaces to printers, as well as a wide variety of printer
- hardware interfaces. This chapter covers the basics of setting up a
- print queue, using Samba to print, and administering print queues and
- connections.</para>
-
- <sect1 id="printserving-history">
- <title>PC printing history</title>
-
- <para>In the early days of the personal computer, printing was simple.
- The PC owner bought a cheap printer, usually a dot matrix that barely
- supported ASCII, and plugged it into the computer with a parallel
- cable. Applications would either work with the printer or not, and
- most did because all they could do was output DOS or ASCII text. The
- few software applications that supported graphics generally could only
- output on specific makes and models of printers. Shared
- <emphasis>network</emphasis> printing, if it existed, was usually done
- by some type of serial port switchbox.</para>
-
- <para>This was the general state of affairs with the PC until the
- Windows operating system was released. All at once, application
- programmers were finally free of the restrictions of worrying about
- how some printer manufacturer would change printer control codes.
- Graphics printing, in the form of fonts and images, was added to most
- applications, and demand for it rapidly increased across the
- corporation. Large, high-capacity laser printers designed for office
- printing appeared on the scene. Printing went from 150 to 300 to
- 600 dpi for the common desktop laser printer.</para>
-
- <para>Today organizational network printing is complex, and printers
- themselves are more complicated. Most organizations find that sharing
- a few high-quality laser printers is much more cost effective than
- buying many cheaper dot matrix units. Good network print serving is a
- necessity, and it can be very well provided by the FreeBSD UNIX
- system.</para>
- </sect1>
-
- <sect1 id="printserving-protocols">
- <title>Printer communication protocols and hardware</title>
-
- <para>Printers that don't use proprietary vendor codes communicate with
- computers using one or more of three major printing protocols. The
- communication is done over a hardware cable that can be a parallel
- connection (printer port) or a serial connection (COM port).</para>
-
- <sect2>
- <title>ASCII Printing Protocol</title>
-
- <para>The ASCII protocol is the simplest protocol used, as well as the
- oldest. ASCII is also used to represent text files internally in
- the DOS, UNIX, and Windows operating systems. Therefore, data taken
- from a text file or a directory listing generally requires little
- preparation before being sent to the printer, other than a
- newline-to-carriage return/linefeed conversion for UNIX. Printers
- usually follow the DOS text file convention of the print head
- requiring an explicit carriage return character followed by a
- linefeed character at the end of a line of text. Since UNIX uses
- only the linefeed character to terminate text, an additional
- carriage return character must be added to the end of each line in
- raw text print output; otherwise, text prints in a
- <emphasis>stairstep</emphasis> output. (Some printers have hardware
- or software switches to do the conversion.)</para>
- </sect2>
-
- <sect2>
- <title>PostScript Printing Protocol</title>
-
- <para>Adobe introduced the PostScript language in 1985; it is used to
- enable the printout of high quality graphics and styled font text.
- PostScript is now the de-facto print standard in the UNIX community,
- and the only print standard in the Macintosh community. Numerous
- UNIX utilities exist to <emphasis>beautify</emphasis> and enhance
- text printing with PostScript. PostScript can be used to download
- font files into a printer as well as the data to be printed.
- PostScript commands can be sent to instruct the printer CPU to
- image, rotate, and scale complex graphics and images, thus freeing
- the host CPU. Scaling is particularly important with fonts since
- the document with the font has been produced on a computer screen
- with far lower resolution than the printer. For example, a 1024x768
- computer screen on a 17-inch monitor allows for a resolution of
- approximately 82dpi, a modern desktop printer prints at a resolution
- of 600dpi. Therefore, a font must be scaled at least seven times
- larger for WYSIWYG output!</para>
-
- <para>PostScript printers generally come with a number of resident
- fonts. For example, the NEC Silentwriter 95 contains Courier,
- Helvetica, ITC Avant Garde Gothic Book, ITC Bookman Light, New
- Century Schoolbook Roman, Palatino Roman, Times Roman, and several
- symbol fonts. These are stored in Read Only Memory (ROM) in the
- printer. When a page is printed from a Windows client that contains
- a font not in the printer, a font substitution table is used. If no
- substitute can be made, Courier is usually used. The user should be
- conscious of this when creating documents - documents with fonts not
- listed in the substitution table may cause other users problems when
- printing. Avoid use of strange fonts for documents that will be
- widely distributed.</para>
-
- <para>The user program can choose to download different fonts as
- outline fonts to the PostScript printer if desired. Fonts that are
- commonly used by the user are often downloaded to PostScript
- printers that are connected directly to the user's computer, the
- fonts are then available to successive print jobs until the printer
- is turned off. When PostScript printers are networked, the clients
- must download any fonts desired <emphasis>with each print
- job</emphasis>. Since jobs come from different clients, the
- clients cannot assume that downloaded fonts will still be in the
- printer.</para>
-
- <para>PostScript print jobs also contain a header that is sent
- describing the page layout, among other things. On a shared network
- printer, this header must also be downloaded with each print job.
- Although some PostScript drivers allow downloading of the header
- only once, this usually requires a bi-directional serial connection
- to the printer, instead of a unidirectional parallel
- connection.</para>
-
- <para>PostScript print jobs can be sent either as binary data or as
- ASCII. The main advantage of binary data transmission is that it is
- faster. However, not all PostScript printers support it. Also,
- fonts can generally not be downloaded in binary. When FreeBSD is
- used as a printserver, ASCII PostScript printing should be selected
- on the clients, this is generally the default with most PostScript
- drivers.</para>
-
- <para>The Adobe company licenses PostScript interpreters as well as
- resident fonts to printer manufacturers, and extracts a hefty
- license fee from any printer manufacturer who wants to use them in
- its printer. This presents both a benefit and a problem to the end
- user. Although a single company holding control over a standard can
- guarantee compliance, it does significantly raise the cost of the
- printer. As a result, PostScript has not met with much success in
- the lower-end laser and inkjet Windows printing market, despite the
- fact that Adobe distributes PostScript software operating system
- drivers for free.</para>
-
- <para>One issue that is a concern when networking PostScript printers
- is the selection of banner page, (also known as header page, or
- <emphasis>burst page)</emphasis> printing. UNIX shared printing
- began with ASCII line printers, and since UNIX is a multiuser
- system, often many different user print jobs piled up in the printer
- output hopper. To separate these jobs the UNIX printing system
- programs support banner page printing if the client program that
- submits jobs asks for them. These pages print at the beginning or
- end of every print job and contain the username, submittal date, and
- so on.. By default, most clients, whether remote (e.g., a Windows
- LPR client) or local (e.g., the <command>/usr/bin/lpr</command>
- program) trigger a banner page to be printed. One problem is that
- some PostScript printers abort the entire job if they get
- unformatted ASCII text instead of PostScript. (In general,
- PostScript printers compatible with Hewlett-Packard Printer Control
- Language [HPPCL] handle banners without problems) Banner printing
- should be disabled for any printers with this problem, unless
- PostScript banner page printing is set up on the server.</para>
- </sect2>
-
- <sect2>
- <title>HPPCL Printing Protocol</title>
-
- <para>The Hewlett Packard company currently holds the largest market
- share of desktop inkjet and office laser printers. Back when
- Windows was released, HP decided to expand into the desktop laser
- jet market with the first LaserJet series of printers. At the time
- there was much pressure on Microsoft to use Adobe Type Manager for
- scalable fonts within Windows, and to print PostScript to
- higher-end printers. Microsoft decided against doing this and used
- a technically inferior font standard, Truetype. They thought that
- it would be unlikely that the user would download fonts to the
- printer, since desktop Publishing was not being done on PC's at the
- time. Instead users would rasterize the entire page to the printer
- using whatever proprietary graphics printer codes the selected
- printer needed. HP devised HPPCL for their LaserJets, and make
- PostScript an add-on. The current revision of HPPCL now allows for
- many of the same scaling and font download commands that PostScript
- does. HP laser jet printers that support PostScript can be
- distinguished by the letter "M" in their model number. (M is for
- Macintosh, since Macintosh requires PostScript to print) For
- example, the HP 6MP has PostScript, the 6P doesn't.</para>
-
- <para>HPPCL has almost no support in the UNIX applications market, and
- it is very unlikely that any will appear soon. One big reason is
- the development of the free <application>Ghostscript</application>
- PostScript interpreter. <application>Ghostscript</application> can
- take a PostScript input stream and print it on a PCL printer under
- UNIX. Another reason is the UNIX community's dislike of reinventing
- the wheel. HPPCL has no advantage over PostScript, and in many ways
- there are fewer problems with PostScript. Considering that
- PostScript can be added to a printer, either by hardware or use of
- <application>Ghostscript</application>, what is the point of
- exchanging an existing working solution for a slightly technically
- inferior one? Over the life of the printer, taking into account the
- costs of toner, paper, and maintenance, the initial higher cost of
- PostScript support is infinitesimal.</para>
- </sect2>
- </sect1>
-
- <sect1 id="printserving-network">
- <title>Network Printing Basics</title>
-
- <para>The most common network printing implementation is a printserver
- accepting print jobs from clients tied to the server via a network
- cable.</para>
-
- <sect2>
- <title>Printservers</title>
-
- <para>The term "printserver" is one of those networking terms, like
- <emphasis>packet,</emphasis> that has been carelessly tossed around
- until its meaning has become somewhat confusing and blurred. To be
- specific, a printserver is simply a program that arbitrates print
- data from multiple clients for a single printer. Printservers can
- be implemented in one of the four methods described in the following
- sections.</para>
-
- <sect3>
- <title>Printserver on the fileserver</title>
-
- <para>The printer can be physically cabled to the PC running the
- Network OS. Print jobs are submitted by clients to the
- printserver software on the fileserver, which sends them down the
- parallel or serial cable to the printer. The printer must be
- physically close to the fileserver. This kind of printserving is
- popular in smaller workgroup networks, in smaller offices.</para>
-
- <figure>
- <title>Printserver on the fileserver</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="08-01" format="EPS"/>
- </imageobject>
-
- <textobject>
- <literallayout class="monospaced"> ,---------.
- | ======= | Server
- | ======= | +---------------------+ ,-----.
-+-----------+ | +---------------+ | | |
-| Printer [ ]------------[ ] | Printserver | | |_____|
-+-----------+ Parallel | | Software | [ ]------_________
- Cable | +---------------+ | / ::::::: \
- +---------------------+ `---------'
-