BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Gespeicherte Optionen nach OptionsNG konvertieren

Mit OptionsNG werden die ausgewählten Ports-Optionen in einem anderen Format gespeichert. Möchte man die ausgewählten und gespeicherten Optionen in das neue Format konvertieren kann dazu das Skript /usr/ports/Tools/scripts/options2ng.sh verwendet werden. Dabei wird ein Backup mit den alten Dateien unter /tmp gespeichert:

# cat /var/db/ports/apache22/options
_OPTIONS_READ=apache-2.2.19
WITHOUT_THREADS=true
WITHOUT_MYSQL=true
WITHOUT_PGSQL=true
[...]
# /usr/ports/Tools/scripts/options2ng.sh -p
tar: Removing leading '/' from member names
Converting /var/db/ports/apache22/options
Converting /var/db/ports/apr/options
[...]
# cat /var/db/ports/apache22/options 
_OPTIONS_READ=apache-2.2.19
OPTIONS_FILE_SET+=AUTH_BASIC
OPTIONS_FILE_SET+=AUTHN_FILE
OPTIONS_FILE_SET+=AUTHZ_HOST
[...]
#  ls -l /tmp/optionsbackup.tar.gz.*
-rw-------  1 root  wheel  14062 11 Aug 20:08 /tmp/optionsbackup.tar.gz.PUB
Related Entries:
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
FreeBSD-Dokumentation auf bekannte Fehler prüfen
 Permalink

Ports-Subversion-Repository spiegeln

Letztes Wochenende gab es das erste Mal seit dem chruetertee.ch existiert keinen Befehl der Woche. Grund war die Umstellung des FreeBSD-Portbaumes von CVS auf Subversion was mich das letzte Wochenende und die Woche davor ziemlich ausgelastet hat so das keine Zeit für einen Befehl der Woche da war.

Für Benutzer ändert sich nach der Umstellung nichts, falls man aber cvsup(1) oder csup(1) zum aktualisieren des Portbaumes verwendet sollte man allerdings in Betracht ziehen langsam auf portsnap(8) zu wechseln. CVS und CVSup ist zwar im Moment noch unterstützt, wird aber irgendwann in der Zukunft abgeschaltet, natürlich erst nachdem dies vorgängig angekündigt wurde.

Verwendete man bis anhin CVS um Patches gegen den Portbaum zu erstellen so kann dies nun gegen Subversion gemacht werden. Dazu muss zuerst Subversion in installiert werden:

# cd /usr/ports/devel/subversion && make install clean

Das Ports-Subversion-Repository kann nun wie folgt ausgecheckt werden:

# svn co svn://svn.FreeBSD.org/ports/head ports

Möchte man das ganze Ports-Repository spiegeln, zum Beispiel man einen eigenen Repository-Server anbieten will, so kann das initiale Repository von dem nächsten FTP-Server heruntergelanden werden:

# mkdir svnsync
# cd svnsync
# fetch ftp://ftp.ch.freebsd.org/pub/FreeBSD/development/subversion/svnmirror-ports-r300897.tar.xz
# tar xf svnmirror-ports-r300897.tar.xz

Ist das Repository entpackt (Achtung ca. 16 GB) kann es aufsynchronisiert werden:

# svnsync sync file:///pfad/zu/svnsync/ports
Übertrage Daten .
Revision 300898 übertragen.
Eigenschaften für Revision 300898 kopiert.
Übertrage Daten .
Revision 300899 übertragen.
Eigenschaften für Revision 300899 kopiert.
Übertrage Daten .
Revision 300900 übertragen.
Eigenschaften für Revision 300900 kopiert.
Übertrage Daten ..
Revision 300901 übertragen.
Eigenschaften für Revision 300901 kopiert.
Übertrage Daten .
Revision 300902 übertragen.
[...]
Übertrage Daten ..
Revision 301267 übertragen.
Eigenschaften für Revision 301267 kopiert.

Anschliessend kann man seine Arbeitskopieren vom lokalen Repositroy holen:

# svn co file:///pfad/zu/svnsync/ports/head ports

Auch ist es möglich das Repository via svnserve(8) übers Netzwerk zugänglich zu machen. Mehr Informationen zu Subversion und den FreeBSD-Ports findet man im Ports Subversion Primer im FreeBSD Wiki. Mehr Informationen zu Subversion findet man in den Manpages svn(1), svnync(1) und svnserve(8).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
FreeBSD-Dokumentation auf bekannte Fehler prüfen
 Permalink

sysinstall-Ersatz für neuere FreeBSD-Versionen

Seit FreeBSD 9.0 ist sysinstall nicht mehr im Basissystem vorhanden. Möchte man trotzdem nicht auf ein dialog-basiertes Konfigurationsprogramm verzichten so befindet sich seit kurzem bsdconfig unter sysutils/bsdconfig im FreeBSD-Portsbaum:

# /usr/ports/sysutils/bsdconfig && make install clean

Benutzer von pkgng können bsdconfig wie folgt installieren:

# pkg install bsdconfig

Nun kann bsdconfig als root gestartet werden:

# bsdconfig

Nun startet ein dialog-basiertes Konfigurationsmenü in dem man die Dokumentation nachträglich installieren, ein neues root-Passwort setzten, Disks, Maus, Benutzer und Gruppen verwalten, Konsolen und Netzwerk-Einstellungen vornehmen, die Zeitzone und Sicherheitseinstellungen setzen, und rc.conf-Einstellungen ändern kann.

Weiter ist es möglich direkt von der Kommandozeile ein Untermenü aufzurufen. Alle verfügbaren Untermenüs können mit der -h Option ausgegeben werden:

# bsdconfig -h
Usage:
	bsdconfig [-h]
	bsdconfig command [-h]
	bsdconfig [OPTIONS] [command [OPTIONS]]

OPTIONS:
	-h         Print usage statement and exit.
	-S         Secure X11 mode (implies `-X'). As root, always prompt-for
	           and validate sudo(8) username/password before starting.
	-X         Use Xdialog(1) in place of dialog(1).

COMMANDS:
	console             defaultrouter       diskmgmt            docsinstall         dot              
	groupadd            groupdel            groupedit           groupmgmt           hostname         
	kern_securelevel    mouse               mouse_disable       mouse_enable        mouse_flags      
	mouse_port          mouse_type          nameservers         netdev              networking       
	password            security            startup             startup_misc        startup_rcadd    
	startup_rcconf      startup_rcdelete    startup_rcvar       syscons_font        syscons_keymap   
	syscons_repeat      syscons_saver       syscons_screenmap   syscons_ttys        timezone         
	ttys                useradd             userdel             useredit            usermgmt
# bsdconfig startup

Mehr Informationen zu bsdconfig findet man in der Manpage bsdconfig(8).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
FreeBSD-Dokumentation auf bekannte Fehler prüfen
Comments (1)  Permalink

Alte FreeBSD-Port Patchdateien aufsplitten

Alte Patchdateien im FreeBSD-Portbaum enthalten nicht den Dateinamen der zur patchenden Datei in der Patchbezeichnung sondern einen Namen im Stile von patch-aa, patch-ab usw. Auch ist es möglich dass eine solche Datei mehrere Dateien patcht. Mit Hilfe des ports/Tools/scripts/splitpatch.pl Skriptes lassen sich solche Patches in einzelne Dateien aufsplitten und richtig benennen:

# pwd
/usr/ports/www/mod_ruby/files
# ls -l
total 10
-rw-r--r--  1 root  wheel  5494 18 Feb  2010 patch-aa-git
-rw-r--r--  1 root  wheel   631 18 Feb  2010 patch-connection.c
-rw-r--r--  1 root  wheel   473 22 Apr  2002 patch-httpd.conf
# /usr/ports/Tools/scripts/splitpatch.pl patch-aa-git
Wrote patch-Makefile.in
Wrote patch-autoconf.rb
Wrote patch-configure.rb
Wrote patch-lib__apache__erb-run.rb
Wrote patch-lib__apache__eruby-run.rb
Wrote patch-lib__apache__ruby-run.rb
Wrote patch-mod_ruby.c
Wrote patch-request.c
# rm patch-aa-git 
# ls -l
total 20
-rw-r--r--  1 root  wheel   568 26 Mai 00:24 patch-Makefile.in
-rw-r--r--  1 root  wheel  1011 26 Mai 00:24 patch-autoconf.rb
-rw-r--r--  1 root  wheel  1031 26 Mai 00:24 patch-configure.rb
-rw-r--r--  1 root  wheel   631 18 Feb  2010 patch-connection.c
-rw-r--r--  1 root  wheel   473 22 Apr  2002 patch-httpd.conf
-rw-r--r--  1 root  wheel   400 26 Mai 00:24 patch-lib__apache__erb-run.rb
-rw-r--r--  1 root  wheel   417 26 Mai 00:24 patch-lib__apache__eruby-run.rb
-rw-r--r--  1 root  wheel   639 26 Mai 00:24 patch-lib__apache__ruby-run.rb
-rw-r--r--  1 root  wheel   463 26 Mai 00:24 patch-mod_ruby.c
-rw-r--r--  1 root  wheel   908 26 Mai 00:24 patch-request.c
Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
FreeBSD-Portbaum auf Fehler überprüfen
FreeBSD-Dokumentation auf bekannte Fehler prüfen
 Permalink

FreeBSD-Portbaum auf Fehler überprüfen

Mit Hilfe von pchecker lässt sich der FreeBSD-Portbaum auf bekannte Fehler überprüfen. Im FreeBSD-Portbaum findet man pchecker unter ports-mgmt/pchecker:

# cd /usr/ports/ports-mgmt/pchecker && make install clean

Führt man nun pchecker aus wird der aktuell installierte Portbaum nach bekannten Fehlern durchsucht:

# pchecker
zero size files:

nonstandard directories:
/usr/ports/distfiles/xorg/proto
/usr/ports/distfiles/xorg/util
[...]
/usr/ports/packages/portmaster-backup/hidesvn-1.0.tbz

nonstandard pkg-*:
whitelist: databases/squirrel-sql/pkg-messages don't exists
/usr/ports/distfiles/gnome2/pkg-config-0.23.tar.gz
/usr/ports/distfiles/gnome2/pkg-config-0.25.tar.gz
/usr/ports/distfiles/rubygem/pkg-config-1.1.1.gem

missing/nonstandard/duplicate lines in distinfo:
/usr/ports/devel/avrdude/distinfo: missing SIZE for avrdude-5.11.tar.gz
/usr/ports/devel/py-configobj/distinfo:  ???
/usr/ports/devel/py-asn1/distinfo: missing SIZE for pyasn1-0.1.2.tar.gz
/usr/ports/devel/py-DateTime/distinfo: missing SIZE for zope/DateTime-3.0b3.zip
/usr/ports/devel/yasm/distinfo: missing SIZE for yasm-1.2.0.tar.gz
/usr/ports/games/openarena-oax/distinfo: missing SIZE for oaxB50.zip
/usr/ports/graphics/inkscape/distinfo: missing SIZE for inkscape-0.48.2.tar.bz2
/usr/ports/graphics/gmt/distinfo: missing SHA256 for gmt/GMT_full.tar.bz2
/usr/ports/graphics/gmt/distinfo: missing SHA256 for gmt/GMT_high.tar.bz2
/usr/ports/graphics/gmt/distinfo: missing SHA256 for gmt/triangle.tar.bz2
/usr/ports/mail/qmail/distinfo: missing SIZE for qmail/qmail-ldap-1.03-20060201-SRS.patch
/usr/ports/net-mgmt/zenpack-macreport/distinfo: missing SIZE for zenoss-ZenPacks.sodonnell.MACReport-b345f53.zip
/usr/ports/security/fprint_demo/distinfo:  ???
/usr/ports/security/fprint_demo/distinfo:  ???
/usr/ports/security/ssl-admin/distinfo: missing SIZE for ssl-admin-1.0.4.tar.gz
/usr/ports/www/yii/distinfo: missing SHA256 for yii-1.1.9.r3135.tar.gz
/usr/ports/www/yii/distinfo: missing SIZE for yii-1.1.9.r3527.tar.gz

BROKEN/IGNORE quoted:
/usr/ports/databases/linux-oracle-instantclient-basic/Makefile:IGNORE+=         \"${DISTFILES}\".  \n
/usr/ports/databases/linux-oracle-instantclient-sdk/Makefile:IGNORE+=           \"${DISTFILES}\".  \n
/usr/ports/databases/linux-oracle-instantclient-sqlplus/Makefile:IGNORE+=               \"${DISTFILES}\".  \n
/usr/ports/databases/postgresql-docs/Makefile:BROKEN=           "not implemented yet"
/usr/ports/databases/sqldeveloper/Makefile:IGNORE+=             \"${DISTFILES}\".  \n
/usr/ports/editors/mode-info/Makefile:IGNORE=   cannot install: MI_ELISP_LANG should be "en"
/usr/ports/emulators/stonx/Makefile:IGNORE="Please get a ROM dump from your AtariST and save it as"\
/usr/ports/emulators/xmame/Makefile:IGNORE=             cannot install: MAMEMESS must be set to one of "mame" or "mess".
/usr/ports/games/darkplaces/Makefile:BROKEN=            Does not compile on ia64, powerpc, or sparc64: unrecognized command line option "-msse2"
/usr/ports/java/jai-imageio/Makefile:IGNORE=            you must manually fetch the "Linux Install" distribution (${DISTNAME}${EXTRACT_SUFX}) from ${DOWNLOAD_URL}, place it in ${DISTDIR} and then run make again
/usr/ports/java/jai/Makefile:IGNORE=            You must manually fetch from the \"Java Advanced Imaging API 1.1.3 Download Page\", the \"Java (no native acceleration)\" distribution \(${DISTNAME}${EXTRACT_SUFX}\) from ${DOWNLOAD_URL}, place it in ${DISTDIR} and then run make again
/usr/ports/java/jdk16-doc/Makefile:IGNORE=You must manually fetch ${DISTNAME}${EXTRACT_SUFX} from ${DOWNLOAD_URL} by selecting the \"Download\" link for the \"Java SE 6 Documentation\", place it in ${DISTDIR} and then run make again
/usr/ports/lang/python-doc-html/Makefile:IGNORE=                invalid value for DOCFORMAT: "${DOCFORMAT}", possible values are: text, html, pdf-a4, pdf-letter
/usr/ports/lang/python-doc-html/Makefile:IGNORE=                invalid value for DOCFORMAT: "${DOCFORMAT}", possible values are: html, pdf-a4, pdf-letter, postscript-a4, postscript-letter
/usr/ports/mail/dbmail22/Makefile:IGNORE="requires at least one database backend selected. Run 'make config'"
/usr/ports/math/unixstat/Makefile:IGNORE="Gary Perlman requires that users agree to his license"\
/usr/ports/ports-mgmt/vulnerability-test-port/Makefile:IGNORE=          ": \`\`${INSTALLATION_DATE}\'\' is not a legal date. INSTALLATION_DATE must be in the form YYYY.MM.DD"
/usr/ports/science/gamess/Makefile:IGNORE=you must manually get the source distribution from master site. http://www.msg.ameslab.gov/GAMESS/download.html. Please selsect "Source code distribution", and check on "running on Intel compatible PC running Linux". You must have license, and freely obtainable
/usr/ports/science/afni/Makefile:BROKEN=        Does not compile on sparc64: "undefined reference to '_mcount'"
/usr/ports/security/pam_krb5/Makefile:IGNORE=                   you must define KRB5_IMPL to be \"mit\" or \"heimdal\"
/usr/ports/www/apache20/Makefile.modules:IGNORE=                "Unknown MPM: ${WITH_MPM}"
/usr/ports/www/apache20/Makefile.modules:IGNORE=                "Unknown DBM"
/usr/ports/www/apache22/Makefile.modules:IGNORE=                "Unknown MPM: ${WITH_MPM}"
/usr/ports/www/apache22/Makefile.modules:IGNORE=                "Unknown DBM"

misspelled(wrong) USE_* vars in Makefile:
/usr/ports/editors/xemacs-devel/Makefile:#USE_XPM=      no
/usr/ports/ftp/proftpd/Makefile:USE_CLAMAV=     yes
/usr/ports/mail/dovecot2-antispam-plugin/Makefile:USE_CONFIGURE=        yes
/usr/ports/devel/d-feet/Makefile:USE_GTK=       yes
/usr/ports/audio/wildmidi/Makefile:USE_GZIP=    yes
/usr/ports/devel/ocaml-cppo/Makefile:USE_GZIP=  yes
/usr/ports/net-mgmt/collectd/Makefile:USE_PDNS= yes
/usr/ports/net-mgmt/collectd5/Makefile:USE_PDNS=        yes
/usr/ports/chinese/fcitx/Makefile:USE_QT=       yes
/usr/ports/textproc/ruby-htree/Makefile:USE_RUBY_RD2=           yes
/usr/ports/databases/xapian-bindings10/Makefile:USE_RUBY_RDOCS= no
/usr/ports/net/opal3/Makefile:USE_SLD=  yes
/usr/ports/mail/squirrelmail-user_special_mailboxes-plugin/Makefile:USE_SQ_COMPAT=      yes
/usr/ports/lang/ocaml/Makefile:USE_TK_THREADS = yes

lines after '.include <bsd.port.mk>|<bsd.port.post.mk>' in Makefile:
/usr/ports/emulators/virtualbox-ose-legacy/Makefile:

Mit der -a Option lassen sich zusätzliche Tests durchführen, diese dauern aber länger und sind zum Teil sehr CPU-Intensiv. Da pchecker noch nicht so lange existiert werden zum Teil noch Falschmeldungen ausgeben und daher sollte man den Ergebnissen nicht blind vertrauen, man kann aber davon ausgehen, dass pchecker in der Zukunft weiter ausgebaut und verbessert wird.

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Dokumentation auf bekannte Fehler prüfen
 Permalink

FreeBSD-Dokumentation auf bekannte Fehler prüfen

Mit Hilfe von Igor lassen sich FreeBSD-Manpages oder die FreeBSD-Dokumentation auf bekannte Fehler prüfen. Im FreeBSD-Portbaum findet man Igor unter textproc/igor:

# cd /usr/ports/textproc/igor && make install clean

Danach kann mit Igor eine Manpage auf bekannte Fehler überprüft werden. Dabei spielt es keine Rolle ob die Manpage komprimiert oder nicht ist:

# igor pkg-updating.1.gz 
pkg-updating.1.gz:18:date not today:[February 12, 2012]
pkg-updating.1.gz:34:sentence not on new line:of the installed ports. [Alternative a list of pkg-names could be passed.]
pkg-updating.1.gz:44:sentence not on new line:are shown. [Use a YYYYMMDD date format.]
pkg-updating.1.gz:45:trailing whitespace:.It Fl f Ar file[ ]

Soll das Datum in der Manpage nicht überprüft werden, verwendet man die -D Option:

# igor -D pkg-updating.1.gz
pkg-updating.1.gz:34:sentence not on new line:of the installed ports. [Alternative a list of pkg-names could be passed.]
pkg-updating.1.gz:44:sentence not on new line:are shown. [Use a YYYYMMDD date format.]
pkg-updating.1.gz:45:trailing whitespace:.It Fl f Ar file[ ]

Weiter lässt sich mit Igor auch die FreeBSD-Dokumentation auf Probleme prüfen:

# igor en_US.ISO8859-1/books/porters-handbook/book.sgml 
book.sgml:2851:repeated:	      <programlisting>MASTER_SITES=	[alpha alpha]:SOME_SITE</programlisting>
book.sgml:9179:repeated:GROUPS=	[pulse pulse]-access pulse-rt</programlisting>
book.sgml:13960:use "aka":		table support ([a.k.a.] setfib(1), setfib(2)).</entry>

Mehr Informationen zu Igor erhält man durch die -h Option oder in der Manpage igor(1).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Abhängigkeiten eines Portes als Baum anzeigen

Mit Hilfe von porttree können die Abhängigkeiten eines Portes graphisch als Baum dargestellt werden. Im FreeBSD-Portbaum findet man porttree unter ports-mgmt/porttree:

# cd /usr/ports/ports-mgmt/porttree && make install clean

Mit der -A Option werden alle Ports aufgelistet, welche für das Bauen und das Ausführen des angegebenen Portes benötigt werden. Mit der -R Option werden alle Ports aufgelistet, welchen den angegebenen Port als Abhängigkeit haben. Folgendes Beispiel zeigt alle Abhängigkeiten von Firefox:

# porttree -A -R www/firefox
/usr/ports/accessibility
/usr/ports/arabic
/usr/ports/archivers
/usr/ports/astro
[...]
/usr/ports/x11-toolkits
/usr/ports/x11-wm
Depending on
0	+www/firefox
1	++accessibility/atk
2	|++devel/gettext
3	||++converters/libiconv
4	|||`devel/libtool
	||`devel/libtool -> 4
5	|++devel/gio-fam-backend
6	||++devel/gamin
	|||++devel/gettext -> 2
7	|||++devel/glib20
	||||++devel/gettext -> 2
8	||||++devel/gmake
	|||||`+devel/gettext -> 2
	||||+devel/libtool -> 4
9	||||+devel/pcre
10	||||++devel/pkg-config
	|||||`+devel/gmake -> 8
11	||||+lang/perl5.10
12	||||`lang/python26
	|||++devel/gmake -> 8
	|||+devel/libtool -> 4
	|||`+devel/pkg-config -> 10
	||++devel/glib20 -> 7
	||++devel/gmake -> 8
	||`+devel/pkg-config -> 10
	|++devel/glib20 -> 7
	|++devel/gmake -> 8
13	|++devel/gobject-introspection
14	||++devel/bison
	|||++devel/gettext -> 2
15	|||`devel/m4
	||++devel/gettext -> 2
	||++devel/gio-fam-backend -> 5
	||++devel/glib20 -> 7
	||++devel/gmake -> 8
16	||++devel/libffi
	|||`+devel/pkg-config -> 10
	||+devel/libtool -> 4
	||++devel/pkg-config -> 10
17	||++graphics/cairo
	|||++devel/gio-fam-backend -> 5
	|||++devel/glib20 -> 7
	|||+devel/libtool -> 4
	|||++devel/pkg-config -> 10
18	|||+graphics/png
19	|||++print/freetype2
	||||++devel/gmake -> 8
	||||+devel/libtool -> 4
	||||`+devel/pkg-config -> 10
20	|||++x11-fonts/fontconfig
	||||++devel/gmake -> 8
	||||+devel/libtool -> 4
	||||++devel/pkg-config -> 10
	||||++print/freetype2 -> 19
21	||||`textproc/expat2
22	|||++x11/libXrender
	||||++devel/pkg-config -> 10
23	||||++x11/libX11
	|||||++devel/pkg-config -> 10
24	|||||+devel/xorg-macros
25	|||||+x11-fonts/xf86bigfontproto
26	|||||+x11/bigreqsproto
27	|||||+x11/inputproto
28	|||||+x11/kbproto
29	|||||++x11/libXau
	||||||++devel/pkg-config -> 10
30	||||||`+x11/xproto
	|||||| `+devel/pkg-config -> 10
31	|||||++x11/libXdmcp
	||||||++devel/pkg-config -> 10
	||||||`+x11/xproto -> 30
32	|||||++x11/libxcb
	||||||++devel/gmake -> 8
33	||||||++devel/libcheck
	|||||||`+devel/gmake -> 8
34	||||||++devel/libpthread-stubs
	|||||||++devel/gmake -> 8
	|||||||`+devel/pkg-config -> 10
	||||||+lang/python26 -> 12
35	||||||++textproc/libxslt
	|||||||++devel/gmake -> 8
	|||||||++devel/pkg-config -> 10
36	|||||||++security/libgcrypt
	||||||||+devel/libtool -> 4
37	||||||||`+security/libgpg-error
	|||||||| ++converters/libiconv -> 3
	|||||||| ++devel/gettext -> 2
	|||||||| `devel/libtool -> 4
38	|||||||`+textproc/libxml2
	||||||| ++converters/libiconv -> 3
	||||||| ++devel/gmake -> 8
	||||||| `+devel/pkg-config -> 10
	||||||++x11/libXau -> 29
	||||||++x11/libXdmcp -> 31
39	||||||`+x11/xcb-proto
	|||||| +lang/python26 -> 12
	|||||| `+textproc/libxml2 -> 38
40	|||||+x11/xcmiscproto
41	|||||+x11/xextproto
	|||||++x11/xproto -> 30
42	|||||`+x11/xtrans
	||||| `+devel/pkg-config -> 10
43	||||+x11/renderproto
	||||`+x11/xproto -> 30
44	|||++x11/pixman
	||||+devel/libtool -> 4
	||||++devel/pkg-config -> 10
	||||`lang/perl5.10 -> 11
45	|||`+x11/xcb-util
	||| ++devel/gmake -> 8
46	||| +devel/gperf
	||| +devel/libtool -> 4
	||| ++x11/libXau -> 29
	||| ++x11/libXdmcp -> 31
	||| `+x11/libxcb -> 32
	||`lang/python26 -> 12
	|+devel/libtool -> 4
	|`+devel/pkg-config -> 10
47	+archivers/unzip
48	++archivers/zip
	|`archivers/unzip -> 47
	++converters/libiconv -> 3
49	++devel/autoconf213
50	|+devel/autoconf-wrapper
	|+devel/m4 -> 15
	|`lang/perl5.10 -> 11
51	++devel/dbus-glib
52	|++devel/dbus
	||++devel/gmake -> 8
	||+devel/libtool -> 4
	||++devel/pkg-config -> 10
53	||+sysutils/gnome_subr
	||+textproc/expat2 -> 21
	||++textproc/libxml2 -> 38
54	||++x11/libICE
	|||++devel/pkg-config -> 10
	|||++x11/xproto -> 30
	|||`+x11/xtrans -> 42
55	||++x11/libSM
	|||++devel/pkg-config -> 10
	|||+devel/xorg-macros -> 24
	|||++x11/libICE -> 54
	|||++x11/xproto -> 30
	|||`+x11/xtrans -> 42
	||`+x11/libX11 -> 23
	|++devel/gettext -> 2
	|++devel/gio-fam-backend -> 5
	|++devel/glib20 -> 7
	|++devel/gmake -> 8
	|+devel/libtool -> 4
	|`+devel/pkg-config -> 10
56	++devel/desktop-file-utils
	|++devel/gettext -> 2
	|++devel/gio-fam-backend -> 5
	|++devel/glib20 -> 7
	|++devel/gmake -> 8
	|`+devel/pkg-config -> 10
	++devel/gio-fam-backend -> 5
	++devel/glib20 -> 7
	++devel/gmake -> 8
57	++devel/libIDL
	|++devel/bison -> 14
	|++devel/gettext -> 2
	|++devel/gio-fam-backend -> 5
	|++devel/glib20 -> 7
	|++devel/gmake -> 8
	|`+devel/pkg-config -> 10
58	+devel/libevent
59	+devel/libexecinfo
60	++devel/libnotify
	|++accessibility/atk -> 1
	|++devel/gettext -> 2
	|++devel/gio-fam-backend -> 5
	|++devel/glib20 -> 7
	|++devel/gmake -> 8
	|++devel/gobject-introspection -> 13
	|+devel/libtool -> 4
	|++devel/pkg-config -> 10
61	|++textproc/intltool
	||++converters/libiconv -> 3
	||++devel/gmake -> 8
	||+lang/perl5.10 -> 11
62	||`+textproc/p5-XML-Parser
	|| +lang/perl5.10 -> 11
	|| `textproc/expat2 -> 21
63	|++x11-toolkits/gtk20
	||++accessibility/atk -> 1
	||++devel/gettext -> 2
	||++devel/gio-fam-backend -> 5
	||++devel/glib20 -> 7
	||++devel/gmake -> 8
	||++devel/gobject-introspection -> 13
	||+devel/libtool -> 4
	||++devel/pkg-config -> 10
64	||++graphics/gdk-pixbuf2
	|||++devel/gio-fam-backend -> 5
	|||++devel/glib20 -> 7
	|||++devel/gmake -> 8
	|||++devel/gobject-introspection -> 13
	|||+devel/libtool -> 4
	|||++devel/pkg-config -> 10
65	|||++graphics/jasper
	||||+archivers/unzip -> 47
	||||+devel/libtool -> 4
66	||||`+graphics/jpeg
	|||| `devel/libtool -> 4
	|||++graphics/jpeg -> 66
	|||+graphics/png -> 18
67	|||++graphics/tiff
	||||+devel/libtool -> 4
68	||||+graphics/jbigkit
	||||`+graphics/jpeg -> 66
69	|||++x11-toolkits/libXt
	||||++devel/pkg-config -> 10
	||||+x11/kbproto -> 28
	||||++x11/libSM -> 55
	||||++x11/libX11 -> 23
	||||`+x11/xproto -> 30
	|||++x11/libX11 -> 23
70	|||`+x11/libXi
	||| ++devel/pkg-config -> 10
	||| +x11/inputproto -> 27
	||| ++x11/libX11 -> 23
71	||| ++x11/libXext
	||| |++devel/pkg-config -> 10
	||| |++x11/libX11 -> 23
	||| |++x11/libXau -> 29
	||| |+x11/xextproto -> 41
	||| |`+x11/xproto -> 30
	||| +x11/xextproto -> 41
	||| `+x11/xproto -> 30
72	||++graphics/gtk-update-icon-cache
	|||++accessibility/atk -> 1
	|||++devel/gettext -> 2
	|||++devel/gio-fam-backend -> 5
	|||++devel/glib20 -> 7
	|||++devel/gmake -> 8
	|||++devel/gobject-introspection -> 13
	|||+devel/libtool -> 4
	|||++devel/pkg-config -> 10
	|||++graphics/gdk-pixbuf2 -> 64
	|||+lang/perl5.10 -> 11
73	|||+misc/hicolor-icon-theme
74	|||++misc/shared-mime-info
	||||++devel/gettext -> 2
	||||++devel/gio-fam-backend -> 5
	||||++devel/glib20 -> 7
	||||++devel/gmake -> 8
	||||++devel/pkg-config -> 10
	||||++textproc/intltool -> 61
	||||`+textproc/libxml2 -> 38
75	|||++x11-toolkits/pango
	||||++devel/gettext -> 2
	||||++devel/gio-fam-backend -> 5
	||||++devel/glib20 -> 7
	||||++devel/gmake -> 8
	||||++devel/gobject-introspection -> 13
	||||+devel/libtool -> 4
	||||++devel/pkg-config -> 10
	||||++graphics/cairo -> 17
	||||++print/freetype2 -> 19
76	||||++x11-fonts/encodings
77	|||||++x11-fonts/bdftopcf
	||||||++devel/pkg-config -> 10
78	||||||`+x11-fonts/libXfont
	|||||| ++devel/pkg-config -> 10
	|||||| ++print/freetype2 -> 19
79	|||||| +x11-fonts/fontsproto
80	|||||| ++x11-fonts/libfontenc
	|||||| |++devel/pkg-config -> 10
	|||||| |`+x11/xproto -> 30
	|||||| ++x11/xproto -> 30
	|||||| `+x11/xtrans -> 42
81	|||||+x11-fonts/font-util
82	|||||`+x11-fonts/mkfontscale
	||||| ++devel/pkg-config -> 10
	||||| ++print/freetype2 -> 19
	||||| ++x11-fonts/libfontenc -> 80
	||||| `+x11/xproto -> 30
83	||||++x11-fonts/libXft
	|||||++devel/pkg-config -> 10
	|||||++print/freetype2 -> 19
	|||||++x11-fonts/fontconfig -> 20
	|||||++x11/libXrender -> 22
	|||||`+x11/xproto -> 30
84	||||++x11-fonts/xorg-fonts-truetype
85	|||||++x11-fonts/bitstream-vera
	||||||`+x11-fonts/fontconfig -> 20
	|||||++x11-fonts/encodings -> 76
86	|||||++x11-fonts/font-bh-ttf
	||||||++devel/pkg-config -> 10
	||||||++x11-fonts/fontconfig -> 20
87	||||||++x11-fonts/mkfontdir
	|||||||++devel/pkg-config -> 10
	|||||||`+x11-fonts/mkfontscale -> 82
	||||||`+x11-fonts/mkfontscale -> 82
88	|||||++x11-fonts/font-misc-ethiopic
	||||||++devel/pkg-config -> 10
	||||||++x11-fonts/fontconfig -> 20
	||||||++x11-fonts/mkfontdir -> 87
	||||||`+x11-fonts/mkfontscale -> 82
89	|||||`+x11-fonts/font-misc-meltho
	||||| ++devel/pkg-config -> 10
	||||| ++x11-fonts/fontconfig -> 20
	||||| ++x11-fonts/mkfontdir -> 87
	||||| `+x11-fonts/mkfontscale -> 82
	||||`+x11/libXrender -> 22
	|||++x11/libX11 -> 23
90	|||++x11/libXcomposite
	||||++devel/pkg-config -> 10
91	||||+x11/compositeproto
92	||||+x11/fixesproto
	||||++x11/libX11 -> 23
	||||++x11/libXext -> 71
93	||||++x11/libXfixes
	|||||++devel/pkg-config -> 10
	|||||+x11/fixesproto -> 92
	|||||++x11/libX11 -> 23
	|||||+x11/xextproto -> 41
	|||||`+x11/xproto -> 30
	||||`+x11/xproto -> 30
94	|||++x11/libXcursor
	||||++devel/pkg-config -> 10
	||||+x11/fixesproto -> 92
	||||++x11/libX11 -> 23
	||||++x11/libXfixes -> 93
	||||++x11/libXrender -> 22
	||||+x11/xextproto -> 41
	||||`+x11/xproto -> 30
95	|||++x11/libXdamage
	||||++devel/pkg-config -> 10
96	||||+x11/damageproto
	||||+x11/fixesproto -> 92
	||||++x11/libX11 -> 23
	||||++x11/libXfixes -> 93
	||||+x11/xextproto -> 41
	||||`+x11/xproto -> 30
	|||++x11/libXext -> 71
	|||++x11/libXfixes -> 93
	|||++x11/libXi -> 70
97	|||++x11/libXinerama
	||||+devel/libtool -> 4
	||||++devel/pkg-config -> 10
	||||++x11/libX11 -> 23
	||||++x11/libXext -> 71
	||||+x11/xextproto -> 41
98	||||`x11/xineramaproto
99	|||++x11/libXrandr
	||||++devel/pkg-config -> 10
	||||++x11/libX11 -> 23
	||||++x11/libXext -> 71
	||||++x11/libXrender -> 22
100	||||+x11/randrproto
	||||+x11/renderproto -> 43
	||||+x11/xextproto -> 41
	||||`+x11/xproto -> 30
	|||`+x11/libXrender -> 22
	||+lang/perl5.10 -> 11
	||+misc/hicolor-icon-theme -> 73
	||++misc/shared-mime-info -> 74
101	||++print/cups-client
	|||`+devel/gmake -> 8
	||++x11-toolkits/pango -> 75
	||++x11/libX11 -> 23
	||++x11/libXcomposite -> 90
	||++x11/libXcursor -> 94
	||++x11/libXdamage -> 95
	||++x11/libXext -> 71
	||++x11/libXfixes -> 93
	||++x11/libXi -> 70
	||++x11/libXinerama -> 97
	||++x11/libXrandr -> 99
	||`+x11/libXrender -> 22
	|`+x11-toolkits/pango -> 75
102	++devel/nspr
	|`+devel/gmake -> 8
	++devel/pkg-config -> 10
103	++devel/yasm
	|++converters/libiconv -> 3
	|`+devel/gettext -> 2
	++graphics/cairo -> 17
104	++graphics/libGL
	|++devel/gmake -> 8
105	|++devel/makedepend
	||++devel/pkg-config -> 10
	||`+x11/xproto -> 30
106	|++graphics/libdrm
	||`+devel/libpthread-stubs -> 34
	|+textproc/expat2 -> 21
107	|+x11/dri2proto
108	|+x11/glproto
	|++x11/libX11 -> 23
	|++x11/libXdamage -> 95
	|++x11/libXext -> 71
	|++x11/libXfixes -> 93
109	|`+x11/libXxf86vm
	| ++devel/pkg-config -> 10
	| ++x11/libX11 -> 23
	| ++x11/libXext -> 71
	| +x11/xextproto -> 41
110	| +x11/xf86vidmodeproto
	| `+x11/xproto -> 30
	+lang/perl5.10 -> 11
	++textproc/intltool -> 61
	++x11-toolkits/gtk20 -> 63
	++x11-toolkits/libXt -> 69
	++x11-toolkits/pango -> 75
	++x11/libICE -> 54
	++x11/libSM -> 55
	++x11/libX11 -> 23
	++x11/libXext -> 71
	++x11/libXi -> 70
	++x11/libXinerama -> 97
111	+x11/printproto
	`+x11/xproto -> 30

Required by:
0	+www/firefox
1	+german/bsdforen-firefox-searchplugin
2	+german/bsdgroup-firefox-searchplugin
3	`www/firefox-i18n

Auch können nur gewisse Abhängigkeiten abgefragt werden. Die -f Option zeigt nur die Abhängigkeiten welche zum Herunterladen des Quellcodes gebraucht werden, die -e Option jene die zum Auspacken des Quellcodes verwendet werden, die -p Option die Patch-Abhängigkeiten, die -b Option alle Ports die zum Bauen gebraucht werden, die -l Optionen alle Ports die aufgrund ihrer Libraries verwendet werden und mit der -r Option alle Ports die zum Ausführen benötigt werden.

Folgendes Beispiel zeigt alle Abhängigkeiten die zum Bauen von LLVM gebraucht werden:

# porttree -A -R -b devel/llvm
/usr/ports/accessibility
/usr/ports/arabic
[...]
/usr/ports/x11-themes
/usr/ports/x11-toolkits
/usr/ports/x11-wm
Depending on
0	+devel/llvm
1	+devel/gmake
2	`lang/perl5.10

Required by:
0	+devel/llvm
1	+graphics/opengtl
2	+lang/clang
3	+lang/ldc-devel
4	+lang/llvm-gcc4
5	`lang/pure

Mehr Informationen und alle Optionen von porttree findet man in der Manpage porttree(1).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Tinderbox aufräumen

Mit der Zeit sammeln sich in der Tinderbox immer mehr Logdateien und Datenbank-Einträge an. Mit Hilfe von tc tbcleanup werden alte Logdateien gelöscht und Datenbank-Einträge zu Ports von welchen kein Paket mehr existiert entfernt:

# cd /usr/local/tinderbox/scripts && ./tc tbcleanup

Verwendet man zusätzlich noch die -d Option so wird auch der gespeicherte Quellcode welcher nicht mehr benötigt wird gelöscht.

Related Entries:
Wartezeit von tinderd ändern
Quellcode in der Tinderbox speichern
Tinderbox-Jail ohne Kompilieren erstellen
RSS-Feed der zuletzt gebauten Ports einer Tinderbox
Port-Optionen in der Tinderbox verwenden
 Permalink

Wartezeit von tinderd ändern

Verwendet man in der Tinderbox den tinderd so prüft tinderd standardmässig alle zwei Minuten ob sich neue Ports in der Warteschlange befinden. Möchte man diese Wartezeit ändern, so kann dies mit dem tc-Skript gemacht werden. Im folgenden Beispiel wird die Wartezeit auf 30 Sekunden verkürzt:

# cd /usr/local/tinderbox/scripts && ./tc configTinderd -t 30
Related Entries:
Tinderbox aufräumen
Quellcode in der Tinderbox speichern
Tinderbox-Jail ohne Kompilieren erstellen
RSS-Feed der zuletzt gebauten Ports einer Tinderbox
Port-Optionen in der Tinderbox verwenden
 Permalink

Zeit beim Systemstart synchronisieren

Möchte man die Uhrzeit beim Systemstart mit Hilfe von ntpdate synchronisieren, so kann dies durch das Setzen von ntpdate_enable in der /etc/rc.conf gemacht werden. Mit der Variable ntpdate_hosts können die NTP-Server angegeben werden, welche zur Synchronisation verwendet werden sollen:

ntpdate_enable="YES"
ntpdate_hosts="0.freebsd.pool.ntp.org"
Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink
Next1-10/125