Haven’t been keeping pace with my Journal for the last couple days, let’s just say I don’t want to talk about the Holidays.

Dixie spent about 2 days solid compiling ports, nearly 240 of mine and well over 800 when dependencies are included. That’s finally finished, so my beloved laptop is again ready for getting stuff done :-D.

Here’s the list I fed through updater.sh:

devel/pkg-config
devel/gmake
devel/autoconf-wrapper
devel/automake-wrapper
lang/perl5.10
devel/p5-ExtUtils-Depends
devel/p5-ExtUtils-PkgConfig
lang/python26
devel/py-setuptools
lang/python31
lang/ruby18
lang/guile
java/javavmwrapper
graphics/png
graphics/ruby-libpng
graphics/jpeg
graphics/tiff
devel/nasm
devel/php5
devel/glib20
devel/glibmm
devel/gamin
devel/gio-fam-backend
devel/p5-Glib2
devel/py-gamin
devel/py-gobject
devel/ruby-glib2
converters/libiconv
converters/ruby-iconv
devel/gettext
devel/p5-Locale-gettext
devel/ruby-gettext
devel/p5-ReadLine-Gnu
devel/p5-ReadLine-Perl
devel/p5-Storable
devel/p5-Term-ReadLine-Zoid
devel/p5-Term_ReadKey
devel/pcre
devel/pcre++
devel/php5-pcre
security/gnupg
secruity/ca_root_nss
security/gnutls
security/py-gnutls
security/nss
security/openssl
security/php5-openssl
security/py-openssl
www/libwww
ftp/curl
ftp/curlpp
www/p5-WWW-Curl
ftp/py-curl
ftp/wget
mail/php5-imap
net/php5-sockets
net/librsync
archivers/p7zip
archivers/unrar
archivers/unzip
archivers/zip
devel/bison
devel/bisoncpp
ports-mgr/portmaster
ports-mgr/portupgrade
ports-mgr/psearch
graphics/dri
graphics/libdrm
x11/xbitmaps
x11-themes/xcursor-themes
x11-fonts/xorg-fonts
x11/xorg-apps
x11/xorg-libraries
x11/xorg-server
x11/xorg-drivers
x11/xorg-docs
x11/xdm
x11/rxvt-unicode
devel/dbus
devel/dbus-glib
misc/hicolor-icon-theme
misc/shared-mime-info
x11-fonts/terminus-font
x11-fonts/webfonts
textproc/expat2
textproc/libxml++26
textproc/libxml2
textproc/libxslt
textproc/p5-XML-LibXML
textproc/p5-XML-Parser
textproc/py-expat
textproc/py-libxml2
textproc/ruby-libxml
devel/libIDL
devel/ORBit2
devel/boost-all
accessiblity/py-papi
audio/freealut
databases/sqlite3
databases/py-sqlite3
databases/ruby-sqlite
databases/p5-DBD-SQLite
databases/p5-DBI
databases/php5-mysql
databases/php5-sqlite
graphics/GraphicsMagick
graphics/ImageMagic
graphics/freeimage
lang/clisp
math/py-numeric
multimedia/libdvdcss
multimedia/libdvdnav
multimedia/libdvdplay
multimedia/libdvdread
textproc/docbook
textproc/docbook-tdg
textproc/docbook-xsl
textproc/doocbook-xsd
textproc/py-docutils
textproc/aspell
multimedia/win32-codecs
emulators/linux_base-f10
x11-toolkits/py-tkinter
devel/libglade2
devel/libglademm24
x11-toolkits/p5-Glade2
devel/ruby-libglade2
devel/libnotify
devel/libnotifymm
graphics/cairo
graphics/cairomm
graphics/p5-Cairo
graphics/py-cairo
graphics/ruby-cairo
graphics/ruby-gdk_pixbuf2
x11-toolkits/pango
x11-toolkits/pangomm
x11-toolkits/ruby-pango
graphics/cegui
accessibility/atk
accessiblity/ruby-atk
x11-toolkits/gtk20
x11-toolkits/gtkmm24
x11-toolkits/p5-Gtk2
x11-toolkits/py-gtk2
x11-toolkits/ruby-gtk2
x11-toolkits/qt33
devel/qt4
x11-toolkits/qscintilla
devel/py-qt4-qscintilla2
devel/qscintilla2
multimedia/mencoder
multimedia/mplayer
www/opera
www/libxul
www/firefox35
www/mplayerplug-in
www/linux-f10-flashplugin10
www/nspluginwrapper
x11-toolkits/vte
archivers/php5-bz2
archivers/php5-zlib
devel/php5-spl
devel/py-xdg
devel/xdg-user-dirs
graphics/driconf
sysutils/fusefs-kmod
sysutils/fusefs-sshfs
audio/cdparanoia
deskutils/notification-daemon
devel/cmake
devel/cscope
devel/ctags
devel/doxygen
devel/bazaar-ng
devel/git
devel/mercurial
devel/subversion
lang/pcc
devel/qtcreator
devel/xdg-utils
devel/desktop-file-utils
editors/abiword
editors/emacs
editors/mg
emulators/wine
graphics/evince
graphics/dia
graphics/geeqie
grahpics/gimp
graphics/hsetroot
graphics/inkscape
mail/hairloom-mailx
math/gnumeric
net-im/pidgin
net-im/pidgin-libnotify
net-im/pidgin-otr
net/rdesktop
net/rsync
shells/bash
shells/ksh93
shells/pdksh
shells/v7sh
shells/zsh
sysutils/bsdstats
sysutils/cdrdao
sysutils/cdrtools
sysutils/dvd+rw-tools
sysutils/e2fsprogs
textproc/antiword
textproc/webcpp
www/arora
x11-wm/fvwm2-devel
x11-wm/transset-df
x11-wm/xcompmgr
x11-wm/xfce4
x11/xrefresh
games/chromium-bsu
games/doom-data
games/doom-freedoom
games/doom-hr
games/openarena
games/prboom
games/supertux
games/wesnoth
games/xgalaga
accessibility/atk-reference
x11/libgnome-reference
x11-toolkits/pango-reference
devel/ORBit2-reference
devel/glib20-reference
devel/glibmm-reference
devel/libglade2-reference
graphics/cairo-reference
textproc/libxml2-reference
textproc/libxslt-reference
x11-toolkits/gtk20-reference
x11-toolkits/vte-reference

FreeBSD 8.0 day 2.0: upgrading ports

Since I have accumulated a lot of stuff since 7.0 was released, I have elected to do a clean slate — nuke it all and rebuild. The perfect chance to get rid of any stale leaves hehe.

# cd /var/db/pkg && pkg_delete -f *

As Mal.exe reminded me, this is equalivulent to pkg_delete -a; I forgot about that hahahaha!!!

while all the ports are being put under the hbomb, I set to work in an already running session of vim (since it depends on plenty of ports with my builds!) and wrote a list.

Every time I update my laptops ports, I use a customised “updater.sh” script, which does exactly what I want. The portmaster and portupgrade systems are only used when needed for an expedient coverage of issues marked /usr/ports/UPDATING. It was just smoother to write my own small script around the ports tree, then live with the qirks in portmaster and portupgrade: mine does just what I want and without the hub bub.

My updater.sh is programmed to parse a file, expecting input lines in the format of category/portname, which tell it what ports need upgrading. In my experience, it works better then portmaster and without that need for constantly asking “Are you still running?” that portupgrade has…

updater.sh is in the middle of fetching ~230 distfiles, and setting any stray build options. So that everything will be ready op for compiling all this junk. At least I can go play SWAT while things compile, but need all the stuff fetched and recursively configured before I can have fun hehe.

Will post the input list later.

The first FreeBSD upgrade to ever piss me off

I built world, two kernels: (my custom) VIPER, and GENERIC. I took about 2 hours using make -j6 on my lowly Sempron.

Fetched updates to the ports tree via portsnap while waiting for the install kernel to finish; I noticed that the boot into single user mode for mergemaster’ing was blazingly fast. Everything went well until the first multi user boot.

The blasted wireless card stopped working. Changing in the ath manual and the release notes info about Atheros support made me expect there might be problems. Plugged in a spare (broken) Ethernet cable and did a search on the FreeBSD forums where a thread mentioned cloning the wireless interface to a generic wlan0…. it worked.

ifconfig wlan0 create wlandev ath0

and volia!

So, just how did this creep up on me, and why wasn’t it in the release notes… (that anyone I know seems to have noticed)???

The manual for rc.conf explains this under network_interface:

If a wlans_ variable is set, an wlan(4) interface
will be created for each item in the list with the wlandev
argument set to interface. Further wlan cloning arguments
may be passed to the ifconfig(8) create command by setting
the create_args_ variable. One or more wlan(4)
devices must be created for each wireless devices as of
FreeBSD 8.0. Debugging flags for wlan(4) devices as set by
wlandebug(8) may be specified with an wlandebug_
variable. The contents of this variable will be passed
directly to wlandebug(8).

which makes the fix in rc.conf, adding wlans_interfacename=”wlan0″ into the mixture:

wlans_ath0="wlan0"      
ifconfig_wlan="self censored :-P"

In order to find some backstory in /usr/src/UPDATING, I had to GREP for it:

20080420:
The 802.11 wireless support was redone to enable multi-bss
operation on devices that are capable. The underlying device
is no longer used directly but instead wlanX devices are
cloned with ifconfig. This requires changes to rc.conf files.
For example, change:
ifconfig_ath0=”WPA DHCP”
to
wlans_ath0=wlan0
ifconfig_wlan0=”WPA DHCP”
see rc.conf(5) for more details. In addition, mergemaster of
/etc/rc.d is highly recommended. Simultaneous update of userland
and kernel wouldn’t hurt either.

As part of the multi-bss changes the wlan_scan_ap and wlan_scan_sta
modules were merged into the base wlan module. All references
to these modules (e.g. in kernel config files) must be removed.

If changing from FreeBSDs natural to wlan for that makes one damn lick of sense what so ever (eth0 lovers aside), I will leave it to someone who knows to comment…. because I don’t know, and I don’t really give a fart.

The release notes in provides two helpful sentences: wlan pseudo devices are now used and check out the ifconfig manual.

Other then wasting an two hours of my time over a change that probably isn’t even the bloody handbook yet, everything went smoothly.

Wow, either Internet Malware is getting worse then ever or Firefox 3 just sucks worse then ever >_>. Javascript just took over Firefox, tried to convince me to install an Antivirus program — loaded “Explorer”‘s my computer page (in Firefox), obviouly faked scanning files and finding a few thousand bits of malware, before trying to redirect me back to their “Antivirus program” — and setting a Windows XP like pop up right in the middle of the Explorer-replicating page, that’s so obviously not a pop up window but a web hack. The irony of this? I’m running FreeBSD, and the most damage the account being used can do is write data to /dev/null (a black hole file). Are Windows lusers really stupid enough to fall for that trick? Wait, don’t answer that question.

Bugs can be fun, as long as I didn’t write them

In order to make optimal use of tonight, I did a portsnap and fed a list of ports to be updated, into my updater.sh script; then went to work on playing with pthreads. A short while later, when things got to ImageMagick, I got the shock of my week—pkg_delete crashed during a make deinstall!

In looking through the code, I’ve found the reason why, there’s a package name passing through the code as a null by the time it finishes passing through pkg_do in src/usr.sbin/pkg_install/delete/permform.c. From the looks of things, it goes bonkers once Plist is setup via read_plist(). Hmm, well well, the Package (_pack) structure being passed to it has rather interesting contents at the time.

I just don’t have much more time to fiddle with this damn thing! I’ve got to be up for another groaning day of work tomorrow.

OK, found it, there’s some funkyness here. When it hands off to add_plist (basically every damn thing in the bloody +CONTENTS), it has NULL’d the dohicky that gets copied in later. read_plist() sucks a file line by line, looks like if the trailing character is a space, read_plist() sets it to the null character ().

That creates a bit of a problem, because the +CONTENTS file for ImageMagick has a line ‘@pkgdep ‘, which results in pissing off the whole damn thing… lol.

So… how to handle this problemo? I see two things: 0.) pkg_delete should NEVER FUCKING CRASH!!!! No matter what is in a +CONTENTS file, at least, that is my opinion!!! And 1.) if ‘@pkgdep ‘ is not valid in a +CONTENTS file, whatever causes ImageMagick/ports to be shoved there needs to be found and fixed. Digging into +CONTENTS file creation is a beast for another hour. Why the pkg_delete program chooses to pass a NULL through I have no bloody idea, maybe shifting through CVS logs might hold the answer to that mystery. The pkg_install suite has some rather ugly and quickly hacked together parts, that really makes me wish they had used shell or (like OpenBSD) imported Perl into the base for the job, rather then doing it in C. Don’t get me wrong, I like C, but please don’t write functions with over 1,000 Lines Of Code ;). Either way, when it comes to fixing the pkg_install issues… that’s something I’m not going to touch unless a developer suggests what they would like to see in a patch, because whomever is maintaining it, should have a better overview of things then I do at the moment; I’m in no shape to do any more thinking tonight. Perhaps I’ll just file a bug report on it and see what comes of it.

Right now I just need to get some freaking sleep before work. Ugh, stairs here we come…….

nights log

So far it has been a fairly uneventful night. I’ve been contemplating taking up another language, I’m interested in both Latin and Spanish, but have started studying neither yet. Mathematically, I would have to favour Spanish… because shall we say, while exposure to Spanish is fairly easy for me, Latin is a bit of a dead language! Really the only languages of value out here, is what *passes* for English, and of course Mexican / Puerto Rican dialects of Spanish. Considering the simpler grammar, studying Spanish in the long run: might also help to improve my German, which is useless at the compositional level, but occasionally handy at the reading level. I think the entire world would agree though, that I should work on improving my English skills, or at least stop the mixture of US/UK elements.

For time passing, I setup sudo on my laptop; had done it some years back, when I was running PC-BSD, but haven’t used it since an updated overwrote my sudoers file, as I had forgotten to backup /usr/local/etc. I knew that PC-BSD was taking ownership of /etc/rc.local and making overwriting changes to sudoers, but didn’t use sudo enough to care lol. That’s one thing that has always pissed me off about PC-BSD, yet I have always respected about the *real* BSD projects: a concept of user edited files. You can play with /etc/rc.local and /etc/rc.conf on FreeBSD without getting biten, on PC-BSD you should use an rc.conf.local file: OpenBSD style. I’m always running the latest FreeBSD STABLE branch on the laptop, in this case RELENG_7, and anxious to see RELENG_8 become a practical reality. Heh, even on the OpenBSD box (which as sudo preinstalled) I don’t bother using sudo that much. What I like about sudo however, is the ability to skip ‘su – root’, and limit access in a more general way—to specific commands. It’s probably one of the best programs of its kind written, since su.

In getting playful, I split up my word lists (:help spellfile) in vim, into smaller organized chunks, and added a few more entries from FreeBSDs system dictionaries. As time goes on, I might expand things further, based on the kinds of texts I end up editing. All of my text editing is basically done in vim, so it also does most of my spell checkin’ by virtue of that. Of course, Vi IMproved has an excellent spell checker, and perhaps the only one I’ve met that could be considered superior to MS Words. While I utterly hate word processors, and find them to be useless paper weights; I generally consider Microsoft Word the best known example of spell checking lol. I’m happy to say though, that I’ve evolved somewhat in the past eleven or twelve years ;). Now if only I could do something about the having-to-type-as-fast-as-i-can-freaking-think-problem, maybe my writing might actually be worth something, someday lol.

The ‘Burbs was on TV, and coming on in a little bit is a good film that I really haven’t seen in a long time. It’s called Throw Momma from the Train, best described as a comedic remake of Strangers on a Train. I plan to log off, lay down, and try to relax for a bit…. hopefully relax. Probably will try to dig up another quick snack, something light but useful.

The internet connection has been offline for the last couple hours, first found out it was up when an instant message popped up on me mid-sentence! Hmm, got about 10 minutes until the movie starts, so it’s time tos tart winding down. I’ll probably be awake early tomorrow, assuming I get any sleep before work….. sigh.

So far experiments continue with SWAT 4 performance issues. Deeper testing has shown that it is no longer connected to graphical issues, not when running on my current hardware/driver config; nice to be able to max out the graphics online *and* in single player.

What happens is periodically when moving through an area, I get a stutter-lag-warp like motion: as if the whole game stopped spinning and then suddenly unlocked. The only consistency I’ve noticed is it happens when entering a region of the map that I have not been in previously—or have not been in for a while. One thought is that perhaps it occurs when the cache must be updated with stuff that has already been moved out of the games memory cache. My machine has RAM to burn so I have been testing the game with various cache sizes, but don’t honestly expect any positive result. On modern machines, cache size shouldn’t matter to much with the Unreal Engine 2.x lol.

Atm I’m defragging a few disks, maybe that might help a little. I don’t know if it is just the much greater frequency of crashes with Windows XP, or that NTFS really sucks that much worse then FreeBSDs UFS2 system. But for one reason or another, my windows file systems always end up very highly fragmented. Although on the upside, unlike Win32: FreeBSD does kind of encourage you to fsck afterwards hehe.

Hopefully my experiments will yield some fruit, and I can stop warping all over the place lol.

DTrace entry in /usr/src/UPDATING

20080826:
DTrace support was merged to STABLE today. In the best
tradition of “the dog ate my homework”, subversion decided
that the commit message was too large and opted not to send
it. It was a stealth commit!

A ‘make buildkernel’ will now default to build the kernel
and modules with both DTrace kernel hooks and CTF data ready
for DTrace.

After you have installed both world and the kernel, and
rebooted, you can ‘kldload dtraceall’ to load all the DTrace
kernel modules and then you’re set to run the ‘dtrace’
client (as root).

For DTrace documentation, refer to:

We are limited to kernel tracing at the moment, so the pid
provider is not available.

For the syscall provider, note that the arguments to the
return probes are the same as for the entry probes.

hehe, gotta love Subversion 🙂

Getting playful

I’ve been experimenting with extracting PC-BSD PBI on FreeBSD; mainly because I would like to do a little postmortem analysis on a couple of PBI’s, to see if the “Officially sanctioned” PBI Developers are still following the rules.

The process is actually a lot simpler then I thought it would be, the only problem is doing it in a chroot lol. Already more then 200MB in files in /tmp/chroot, and I’ve found that PBI must “assume” the presence of a lot of shit, because it will segfault if even simple things like awk or whoami are missing, let along bigger things 8=), what ever happened to error checking? But anyway, it’s a fairly easy thing to sort out, even with having to take a fair number of libraries and programs into the chroot, in order to fool the thing into -extract’ing. So far, I’ve only hit one snag:

/home/0/.PBItmp/.pbistart: ./PBI: not found

which I have not figured out yet.

I think I’ve also found the origin of one of the more stupid elements of the PBC Sh API, and it seems to reflect the PBI sub systems source, judging by what I see in PC-BSDs Subversion >_>. It also reminds me, that some people seem to have never heard of a symbolic constant in their entire lives…. which also explains a few other things about the PBI Creation process and PC-BSD in general. Since PC-BSD, unlike a *real* BSD system, does not believe in documenting anything. I’ve had to go straight to the (also undocumented) source for answers, it also temps me to write a detailed review and commentary – but I’ll keep my mouth shut for now. The number of people they will probably buttfuck in the long run is their own concern, I’ve already left. I’m not really interested in shifting through several thousand lines of intermixed Bourne, Bourne Again, and C++ code just to audit a few PBI; let some other poor schlep, eh Good Samaritan deal with this schlockware.

If my post doesn’t make it obvious by now, the reasons why I was conducting the tests within a chroot environment, rather then sparing myself the trouble -> I wouldn’t let the PC-BSD developers, or most peoples PBI touch one of my systems with a ten-thousand foot cattle prod, and I don’t have time for setting up a jail. That is the kind of feelings I’ve got for the project, after using PC-BSD for years; now OpenBSD, FreeBSD, and NetBSD on the other hand, them I trust… and have seen the resulting work to warrant it lol.

– A strict son of a bitch.

TexLive 2008 on FreeBSD

First download the ISO image, and compare the checksums (both md and sha based on avail); alternatively, buy the sucker on DVD :-).

Since I can’t afford a yearly DVD, and don’t have a spare disk; I need to unpack the ISO and mount it directly. If you bought the disk, mount it as normal. For me, this procedure required:

dixie# lzma d texlive2008-20080822.iso.lzma texlive2008-20080822.iso.lzma


LZMA 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19

dixie# mdconfig -a -v -t vnode -u 10 -f texlive2008-20080822.iso


dixie# mount -t cd9660 /dev/md10 /mnt


dixie# ls /mnt


.mkisofsrc index.html source

LICENSE.CTAN install-tl support

LICENSE.TL install-tl.bat texmf

README install-tl.bat.manifest texmf-dist

README.usergroups readme-html.dir texmf-doc

autorun.inf readme-txt.dir tl-portable

bin release-texlive.txt tl-portable.bat

doc.html rr_moved tlpkg

Now that the ISO is ready op, we can start the installation. TexLive uses a nice Perl based installer, if you’ve got the necessary TK GUI modules for Perl installed, you can use a a -gui switch; me, I’m fine with the perl script.

Obviously, you will need lang/perl5 installed, along with the necessary dependencies for programs shipped in TeXLive. I don’t know what release of FreeBSD i386, the binaries in TexLive 2007 were compiled against, but 2008 used FreeBSD 7:

Terry@dixie$ file /usr/local/texlive/2007/bin/i386-freebsd/pdftex          0:11
/usr/local/texlive/2007/bin/i386-freebsd/pdftex: ELF 32-bit LSB executable, Intel 80386,
version 1 (FreeBSD), dynamically linked (uses shared libs), stripped
Terry@dixie$ file /usr/local/texlive/2008/bin/i386-freebsd/pdftex 0:13
/usr/local/texlive/2008/bin/i386-freebsd/pdftex: ELF 32-bit LSB executable, Intel 80386,
version 1 (FreeBSD), for FreeBSD 7.0 (700055), dynamically linked (uses shared libs),
FreeBSD-style, stripped
Terry@dixie$ 0:13

Several of the programs used in TexLive are sh/cmd wrappers, but once installed, you can get a general idea of dependencies with the following command:

Terry@dixie$ ldd /usr/local/texlive/2008/bin/i386-freebsd/* 2>- | pgr      0:17

N.B. 2>- means to close the standard error stream, what you need to type, may vary depending on shell; 2>- works on Bourne style shells (ash/dash, bash, ksh, zsh). In the case of shell script wrappers, you’ll need to open them, and manually parse to find anything hidden; most people don’t need to do this.

For the most part, the depends are on the systems C and C++ libraries (libc, libm, libstdc++), a few require other things, such as ncurses, zlib, the new libthr, and gcc related stuff – all this comes with FreeBSD 7. Some programs require X-related libraries (such as MetaFont), fontconfig, and freetype. If you have a working install of X.Org 7.3, you will probably be fine, while disk space holds out lol. The need for handling #!/bin/sh and ‘#!/usr/bin/env perl’ are of course a prerequisite. On my X based system, everything is ready. Checking all this out, shouldn’t be necessary, and any “missing” perl modules or libraries can be installed later: when required.

Anyway, let’s get to actually installing this sucker:

dixie# cd /mnt; ./install-tl


Platform: i386-freebsd => 'Intel x86 with FreeBSD'

Distribution: live (uncompressed)

Directory for temporary files: '/tmp'

Installer directory: '.'

Loading /mnt/tlpkg/texlive.tlpdb

======================> TeX Live installation procedure <=====================



=======> Note: Letters/digits in indicate menu items <=======

=======> for commands or configurable options <=======



Detected platform: Intel x86 with FreeBSD



<B> binary systems: 1 out of 15



<S> Installation scheme (scheme-full)

83 collections out of 84, disk space required: 1720 MB



Customizing installation scheme:

<C> standard collections

<L> language collections



<D> directories:

TEXDIR (the main TeX directory):

/usr/local/texlive/2008

TEXMFLOCAL (directory for site-wide local files):

/usr/local/texlive/texmf-local

TEXMFSYSVAR (directory for variable and automatically generated data):

/usr/local/texlive/2008/texmf-var

TEXMFSYSCONFIG (directory for local config):

/usr/local/texlive/2008/texmf-config

TEXMFHOME (directory for user-specific files):

~/texmf



<O> options:

[ ] use letter size instead of A4 by default

[X] create all format files

[X] install macro/font doc tree

[X] install macro/font source tree

[ ] create symlinks in standard directories



<V> set up for running from DVD



Other actions:

<I> start installation to hard disk

<H> help

<Q> quit



Enter command: i


Installing: [name of package]
.... repeated for each one, have fun waiting on z
running post install action for bin-texdoc

running post install action for bin-texlive

running post install action for texlive-cz

running post install action for texlive-de

running post install action for texlive-en

running post install action for texlive-fr

running post install action for texlive-pl

running post install action for texlive-ru

running post install action for texlive-zh-cn

running post install action for texlive.infra

running post install action for xetex

running mktexlsr /usr/local/texlive/2008/texmf-dist /usr/local/texlive/2008/texmf

mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R...

mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R...

mktexlsr: Done.

writing fmtutil.cnf data to /usr/local/texlive/2008/texmf-var/web2c/fmtutil.cnf

writing updmap.cfg to /usr/local/texlive/2008/texmf-var/web2c/updmap.cfg

writing language.dat data to /usr/local/texlive/2008/texmf-var/tex/generic/config/language.dat

writing language.def data to /usr/local/texlive/2008/texmf-var/tex/generic/config/language.def

running mktexlsr /usr/local/texlive/2008/texmf-var

mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R...

mktexlsr: Done.

running updmap-sys... done

re-running mktexlsr /usr/local/texlive/2008/texmf-var

mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R...

mktexlsr: Done.

pre-generating all format files (fmtutil-sys --all), be patient...done



See

/usr/local/texlive/2008/index.html

for links to documentation. The TeX Live web site (http://tug.org/texlive/)

contains any updates and corrections.



TeX Live is a joint project of the TeX user groups around the world;

please consider supporting it by joining the group best for you. The

list of groups is available on the web at http://tug.org/usergroups.html.



Add /usr/local/texlive/2008/texmf/doc/man to MANPATH.

Add /usr/local/texlive/2008/texmf/doc/info to INFOPATH.

Most importantly, add /usr/local/texlive/2008/bin/i386-freebsd

to your PATH for current and future sessions.



Welcome to TeX Live!



./install-tl: done.

Logfile: /usr/local/texlive/2008/install-tl.log

After that completes, be it 10 minutes later or 10 hours, depending on your hardware…. If desired, one can customize the installation process. If the command prompt scares you, use install-tl -gui instead. You probably will want to setup your installation afterwords, the tlmgr program will be of use, and supports a -gui option I think. For me, all I do is set the default paper type, and update my environment so I can use TeXLive binaries, manuals, and info pages.

dixie# setenv PATH "/usr/local/texlive/2008/bin/i386-freebsd/:$PATH"
dixie# /usr/local/texlive/2008/bin/i386-freebsd/tlmgr paper a4


N.B. the default shell for root on FreeBSD is (t)csh. My interactive shells always sources ~/.site_shrc at the end of it’s setup, so this is where I set my environment, others would probably want ~/.bashrc or other shell specific file:

# TeX Live stuff
PATH="/usr/local/texlive/2008/bin/i386-freebsd:$PATH:/usr/games:/usr/local/bin:/usr/local/sbin:${HOME}/sh:${HOME}/bin"; export PATH
MANPATH="/usr/local/texlive/2008/texmf/doc/man:/usr/share/man:/usr/local/man:$MANPATH"; export MANPATH
INFOPATH="/usr/local/texlive/2008/texmf/doc/info:/usr/share/info:/usr/local/info:$INFOPATH"; export INFOPATH

and resource the file. As root, one can also add the manuals from TexLive to /etc/manpath.conf (read the comments in it), which will update the man commands search path, Updates to the environment can also be done to the various files in your skel system if desired, and mail existing users about the update. I’m not aware if there is a file to configure the info commands search path, probably is, but I don’t use info pages that often ^_^. I require each user account to adjust their own environment before using TexLive, which suits me fine. Once TexLive 2008 is ready op, and one is satisfied, /usr/local/texlive/2007 can be rm -rf’d, recovering around 1.1GB, depending on what you had installed. Also, my 2008 install is ~1.7GB. I generally opt-in to the defaults, but I expect many people would want to setup a more localized-only set of files. Now to clean up:

dixie# umount /mnt
dixie# mdconfig -d -u 10

Happy trails