BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Ein gutes neues Jahr Euch allen

Oder um es mit den Worten von BSD make zu sagen:

# uname
FreeBSD
# gmake love
gmake: *** No rule to make target `love'.  Stop.
# make love
Not war.
Comments (1)  Permalink

Prüfen ob Port-Patches angewendet werden können

Ändert man einen FreeBSD Port, zum Beispiel durch das Aktualisieren auf eine neuere Version, so kann es vorkommen, dass die Port-Patches welche sich im files-Verzeichnis befindenk, nicht mehr angewendet werden können. Dies kann mit make checkpatch geprüft werden:

# make checkpatch
===>  Found saved configuration for firefox-3.1.b3,1
===>  Extracting for firefox-3.6.b5,1
=> MD5 Checksum OK for firefox-3.6b5.source.tar.bz2.
=> SHA256 Checksum OK for firefox-3.6b5.source.tar.bz2.
===>   firefox-3.6.b5,1 depends on file: /usr/local/bin/perl5.8.9 - found
===>  Patching for firefox-3.6.b5,1
===>   firefox-3.6.b5,1 depends on file: /usr/local/bin/perl5.8.9 - found
===>  Applying extra patch /usr/home/beat/dev/freebsd-gecko/branches/experimental/www/firefox3-devel/files/libsydney_oss
===>  Applying FreeBSD patches for firefox-3.6.b5,1
Ignoring previously applied (or reversed) patch.
1 out of 1 hunks ignored--saving rejects to toolkit/xre/Makefile.in.rej
=> Patch patch-toolkit_xre_Makefile.in failed to apply cleanly.
=> Patch(es) patch-build_unix_run-mozilla.sh patch-config_autoconf.mk.in patch-config_mkdepend_Makefile.in patch-configure.in patch-content-xslt-public-txDouble.h patch-db_sqlite3_src_Makefile.in patch-js-src-Makefile.in patch-js-src-config-mkdepend_Makefile.in patch-js-src-config_config.mk patch-js-src-configure.in patch-js-src-jslock.cpp patch-js_src_jsnum.cpp patch-layout_generic_Makefile.in patch-media-libsydneyaudio-include-sydney_audio.h patch-media_liboggz_include_oggz_oggz_off_t_generated.h patch-security-coreconf-FreeBSD.mk patch-security_manager_ssl_src_nsNSSComponent.cpp patch-storage_build_Makefile.in patch-toolkit_mozapps_update_src_updater_updater.cpp applied cleanly.
*** Error code 1

Stop in /usr/home/beat/dev/freebsd-gecko/branches/experimental/www/firefox3-devel.
*** Error code 1

Stop in /usr/home/beat/dev/freebsd-gecko/branches/experimental/www/firefox3-devel.

Dabei werden die Patch-Dateien nur überprüft ob diese mit den aktuellen Code noch angewendet werden können, ohne den Quellcode jedoch zu verändern. Schlägt ein Patch fehl, kann dieser korrigiert und danach das Ergebnis wieder mit make checkpatch überprüft werden.

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

Überprüfen ob ein Port mit einem anderen in Konflikt steht

Möchte man überprüfen ob ein Port mit einem bereits installierten Port in Konflikt steht, so kann dies vor dem Installieren mit make check-conflicts getestet werden:

# cd /usr/ports/www/seamonkey2 && make check-conflicts

===>  seamonkey-2.0.1 conflicts with installed package(s):
      spidermonkey-1.7.0

      They install files into the same place.
      Please remove them first with pkg_delete(1).

*** Error code 1

Stop in /usr/ports/www/seamonkey2
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

Fotos auf der Kommandozeile aufbessern

Mit HIlfe von aaphoto lassen sich Fotos auf der Kommandozeile aufbessern, zum Beispiel automatisch die Farben korrigiert. Im FreeBSD Portbaum findet man aaphoto unter graphics/aaphoto:

# cd /usr/ports/graphics/aaphoto && make install clean

Ruft man aaphoto ohne Optionen auf, werden automatisch die Farben des Bildes verbessert und dieses in einer neuen Datei gespeichert:

# ls -l beat.jpg
-rw-r--r--  1 beat  wheel  26641 26 Dez 11:04 beat.jpg
# aaphoto beat.jpg
beat.jpg . . . done
# ls -l beat*
-rw-r--r--  1 beat  wheel  26641 26 Dez 11:04 beat.jpg
-rw-r--r--  1 beat  wheel   8181 26 Dez 11:08 beat_new.jpg

Auch kann das Bild um 90 Grad im Uhrzeigersinn gedreht und um 50% verkleinert werden. Verwendet man zusätzliche Optionen so werden die Farben des Bildes nicht automatisch korrigiert. Mit der -a Option kann die Farbkorrektur wieder aktiviert werden:

# aaphoto -a --rotate90 -r50% beat.jpg
beat.jpg . . . done

Mehr Informationen zu aaphoto erhält man mit der -h Option:

# aaphoto -h
 Permalink

Herausfinden in welchen Verzeichnissen eine Manpage gesucht wird

Mit Hilfe von mapath kann angezeigt werden in welchen Verzeichnissen man(1) nach einer Manpage sucht:

# manpath 
/usr/share/man:/usr/local/man:/usr/share/openssl/man:/usr/local/lib/perl5/5.8.9/man:/usr/local/lib/perl5/5.8.9/perl/man

Konfiguriert werden diese Verzeichnisse in der Datei /etc/manpath.config. Möchte man ein weiteres Verzeichnis mit Manpages hinzufügen, so kann dazu zum Beispiel mit OPTIONAL_MANPATH festgelegt werden:

# ls -d /home/beat/man/*
/home/beat/man/man1
# echo "OPTIONAL_MANPATH        /usr/home/beat/man" >> /etc/manpath.config
# manpath
/usr/share/man:/usr/local/man:/usr/share/openssl/man:/usr/local/lib/perl5/5.8.9/man:/usr/local/lib/perl5/5.8.9/perl/man:/usr/home/beat/man

Auch kann mit Hilfe der Umgebungsvariable MANPATH die globale Konfiguration überschrieben werden:

# setenv MANPATH /home/beat/man
# manpath
(Warning: MANPATH environment variable set)
/home/beat/man

Auf FreeBSD ist manpath standardmässig im Basissystem vorhanden. Mehr Informationen zu manpath findet man in der Manpage manpath(1).

 Permalink

Portmaster mit Unterstützung für Pakete

Mit Hilfe von portmaster könnten installierte Ports aktualisiert werden. Seit der Version 2.12 wird nun auch das Aktualisieren mit Hilfe von Paketen unterstützt. Im FreeBSD Portbaum findet man portmaster unter ports-mgmt/portmaster:

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

Mit Hilfe der -PP Option werden die installierten Ports aussschliesslich mit Paketen aktualisiert. Die heruntergeladenen Pakete werden dabei im /usr/ports/packages/portmaster-download/ Verzeichnis gespeichert:

# portmaster -PP pkg_cutleave

===>>> Currently installed version: pkg_cutleaves-20080320
===>>> Port directory: /usr/ports/ports-mgmt/pkg_cutleaves
===>>> Gathering dependency list for ports-mgmt/pkg_cutleaves from ports
===>>> Starting dependency check
===>>> Dependency check complete for ports-mgmt/pkg_cutleaves
===>>> Starting install for ports-mgmt/pkg_cutleaves <<<===

===>>> All dependencies are up to date

===>>> Checking package repository for latest available version
===>>> Creating a backup package for old version pkg_cutleaves-20080320
===>>> Installing package

===>>> Updating dependencies for pkg_cutleaves-20090810 to match installed versions

===>>> Upgrade of pkg_cutleaves-20080320 to pkg_cutleaves-20090810 complete

Möchte man den Server festlegen, von welchem die Pakete heruntergeladen werden, so kann dazu die PACKAGESITE-Umgebungsvariable gesetzt werden. Zum Beispiel in der (t)csh:

# setenv PACKAGESITE http://tinderbox.chruetertee.ch/tb/packages/8-FreeBSD

Verwendet man die -P Option so wird falls vorhanden ein Paket zur Aktualisierung verwendet, wird aber keines gefunden, so wird der Port mit Hilfe des Portbaumes aktualisiert. Im folgenden Beispiel werden alle installierten Ports aktualisiert für welche es eine neuere Version gibt. Falls möglich wird zur Aktualisierung ein Paket verwendet, ist keines vorhanden wir der Port mit Hilfe des Portbaumes kompiliert:

# portmaster -P -a

Findet portmaster ein Paket, welches neuer ist als das Installierte ist, im Portbaum befindet sich allerdings noch eine neuere Version des Portes, kann mit der --packages-if-newer festgelegt werden, dass trotzdem das Paket installiert wird:

# portmaster -P --packages-if-newer nmap

Sollten beim Aktualisieren eines Ports neue Abhängigkeiten für das Kompilieren dieses Portes benötigt werden, können diese mit Hilfe der --packages-build Option als Pakete heruntergeladen und installiert werden.

# portmaster --packages-build screen

Mehr Informationen zu portmaster findet man in der Manpage portmaster(8). Informationen über die zukünftigen Möglichkeiten von portmaster und wie man die Entwicklung  von portmaster unterstützen kann, findet man auf der "portmaster funding proposal"-Webseite.

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

x86-Prozessorinformationen auslesen

Mit Hilfe von x86info werden Informationen zum Cache, den unterstützten CPU-Funktionen, sowie den Registern und allgemeine Informationen zu den vorhandenen Prozessoren ausgelesen. Im FreeBSD-Portbaum findet man x86info unter sysutils/x86info:

# cd /usr/ports/sysutils/x86info && make install clean

Ruft man x86info mit der -a Option auf, werden alle verfürbaren Informationen zu den vorhandenen Prozessoren angezeigt:

# x86info -a
x86info v1.25.  Dave Jones 2001-2009
Feedback to <davej@redhat.com>.

Found 2 CPUs
MP Table:
#       APIC ID Version State           Family  Model   Step    Flags
#        0       0x14    BSP, usable     6       7       6       0xbfebfbff
#        1       0x14    AP, usable      6       7       6       0xbfebfbff

--------------------------------------------------------------------------
CPU #1
EFamily: 0 EModel: 1 Family: 6 Model: 23 Stepping: 6
CPU Model: Core 2 Duo P8600
Processor name string: Intel(R) Core(TM)2 Duo CPU     T9300  @ 2.50GHz
Type: 0 (Original OEM)  Brand: 0 (Unsupported)
Number of cores per physical package=1
Number of logical processors per socket=2
Number of logical processors per core=2
APIC ID: 0x1    Package: 0  Core: 0   SMT ID 1
eax in: 0x00000000, eax = 0000000a ebx = 756e6547 ecx = 6c65746e edx = 49656e69
eax in: 0x00000001, eax = 00010676 ebx = 01020800 ecx = 0008e3bd edx = bfebfbff
eax in: 0x00000002, eax = 05b0b101 ebx = 005657f0 ecx = 00000000 edx = 2cb4304e
eax in: 0x00000003, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000004, eax = 04000121 ebx = 01c0003f ecx = 0000003f edx = 00000001
eax in: 0x00000005, eax = 00000040 ebx = 00000040 ecx = 00000003 edx = 03122220
eax in: 0x00000006, eax = 00000003 ebx = 00000002 ecx = 00000001 edx = 00000000
eax in: 0x00000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000008, eax = 00000400 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000009, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x0000000a, eax = 07280202 ebx = 00000000 ecx = 00000000 edx = 00000503

eax in: 0x80000000, eax = 80000008 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000001, eax = 00000000 ebx = 00000000 ecx = 00000001 edx = 20100000
eax in: 0x80000002, eax = 65746e49 ebx = 2952286c ecx = 726f4320 edx = 4d542865
eax in: 0x80000003, eax = 44203229 ebx = 43206f75 ecx = 20205550 edx = 54202020
eax in: 0x80000004, eax = 30303339 ebx = 20402020 ecx = 30352e32 edx = 007a4847
eax in: 0x80000005, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000006, eax = 00000000 ebx = 00000000 ecx = 18008040 edx = 00000000
eax in: 0x80000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000008, eax = 00003024 ebx = 00000000 ecx = 00000000 edx = 00000000

Cache info
 L1 Instruction cache: 32KB, 8-way associative. 64 byte line size.
 L1 Data cache: 32KB, 8-way associative. 64 byte line size.
 L2 cache: 6MB, 24-way set associative, 64-byte line size.
TLB info
 Instruction TLB: 4x 4MB page entries, or 8x 2MB pages entries, 4-way associative
 Instruction TLB: 4K pages, 4-way associative, 128 entries.
 Data TLB: 4MB pages, 4-way associative, 32 entries
 L1 Data TLB: 4KB pages, 4-way set associative, 16 entries
 L1 Data TLB: 4MB pages, 4-way set associative, 16 entries
 Data TLB: 4K pages, 4-way associative, 256 entries.
 64 byte prefetching.
Feature flags:
 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflsh ds acpi mmx fxsr sse sse2 ss ht tm pbe
Extended feature flags:
 sse3 [2] monitor ds-cpl vmx est tm2 ssse3 cx16 xTPR [15] [19]

2.50GHz processor (estimate).

--------------------------------------------------------------------------
CPU #2
EFamily: 0 EModel: 1 Family: 6 Model: 23 Stepping: 6
CPU Model: Core 2 Duo P8600
Processor name string: Intel(R) Core(TM)2 Duo CPU     T9300  @ 2.50GHz
Type: 0 (Original OEM)  Brand: 0 (Unsupported)
Number of cores per physical package=1
Number of logical processors per socket=2
Number of logical processors per core=2
APIC ID: 0x1    Package: 0  Core: 0   SMT ID 1
eax in: 0x00000000, eax = 0000000a ebx = 756e6547 ecx = 6c65746e edx = 49656e69
eax in: 0x00000001, eax = 00010676 ebx = 01020800 ecx = 0008e3bd edx = bfebfbff
eax in: 0x00000002, eax = 05b0b101 ebx = 005657f0 ecx = 00000000 edx = 2cb4304e
eax in: 0x00000003, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000004, eax = 04000121 ebx = 01c0003f ecx = 0000003f edx = 00000001
eax in: 0x00000005, eax = 00000040 ebx = 00000040 ecx = 00000003 edx = 03122220
eax in: 0x00000006, eax = 00000003 ebx = 00000002 ecx = 00000001 edx = 00000000
eax in: 0x00000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000008, eax = 00000400 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x00000009, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x0000000a, eax = 07280202 ebx = 00000000 ecx = 00000000 edx = 00000503

eax in: 0x80000000, eax = 80000008 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000001, eax = 00000000 ebx = 00000000 ecx = 00000001 edx = 20100000
eax in: 0x80000002, eax = 65746e49 ebx = 2952286c ecx = 726f4320 edx = 4d542865
eax in: 0x80000003, eax = 44203229 ebx = 43206f75 ecx = 20205550 edx = 54202020
eax in: 0x80000004, eax = 30303339 ebx = 20402020 ecx = 30352e32 edx = 007a4847
eax in: 0x80000005, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000006, eax = 00000000 ebx = 00000000 ecx = 18008040 edx = 00000000
eax in: 0x80000007, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
eax in: 0x80000008, eax = 00003024 ebx = 00000000 ecx = 00000000 edx = 00000000

Cache info
 L1 Instruction cache: 32KB, 8-way associative. 64 byte line size.
 L1 Data cache: 32KB, 8-way associative. 64 byte line size.
 L2 cache: 6MB, 24-way set associative, 64-byte line size.
TLB info
 Instruction TLB: 4x 4MB page entries, or 8x 2MB pages entries, 4-way associative
 Instruction TLB: 4K pages, 4-way associative, 128 entries.
 Data TLB: 4MB pages, 4-way associative, 32 entries
 L1 Data TLB: 4KB pages, 4-way set associative, 16 entries
 L1 Data TLB: 4MB pages, 4-way set associative, 16 entries
 Data TLB: 4K pages, 4-way associative, 256 entries.
 64 byte prefetching.
Feature flags:
 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflsh ds acpi mmx fxsr sse sse2 ss ht tm pbe
Extended feature flags:
 sse3 [2] monitor ds-cpl vmx est tm2 ssse3 cx16 xTPR [15] [19]

2.50GHz processor (estimate).

Mehr Informationen zu x86info findet man in der Manpage x86info(1).

 Permalink
1-7/7