pktvafs, from PonkTV 3.0 pktvafs is an Automation From Scratch (AFS) script to build the PonkTV (www.ponktv.com) system. PonkTV is a media server for your TV. It uses the PonkTV Network to distribute movies, music, games, web pages, and more to view on your TV. PonkTV requires a dedicated computer with hard-drive, CD-ROM, sound card, IR infrared receiver, graphics card with TV-OUT, and a high-speed network connection. The PonkTV system is a LFS/BLFS based system with Xorg, OpenBox, customized Mozilla, MPlayer, and other applications. alsa-driver-1.0.9b.tar.bz2, alsa-lib-1.0.9.tar.bz2, alsa-utils-1.0.9a.tar.bz2, atk-1.9.1.tar.bz2, autoconf-2.59.tar.bz2, autofs-4.1.4.tar.bz2, automake-1.9.5.tar.bz2, bash-3.0.tar.bz2, bash-doc-3.0.tar.bz2, binutils-2.15.94.0.2.2.tar.bz2, bison-2.0.tar.bz2, blfs-bootscripts-6.1.tar.bz2, Blue-1.5.tar.bz2, bluefish-1.0.2.tar.bz2, bootsplash-3.1.6-2.6.11.diff, bootsplash-3.1.tar.bz2, bzip2-1.0.3.tar.bz2, cdrtools-2.01.tar.bz2, coreutils-5.2.1.tar.bz2, cpio-2.6.tar.bz2, cvs-1.11.20.tar.bz2, dejagnu-1.4.4.tar.bz2, dhcpcd-1.3.22-pl4.tar.bz2, diffutils-2.8.1.tar.bz2, docbook-xml-4.4.zip, docbook-xsl-1.68.1.tar.bz2, e2fsprogs-1.37.tar.bz2, ed2k-2.1.tar.bz2, edonkeyclc_1.3.0_i386.tar.bz2, essential-20050412.tar.bz2, expat-1.95.8.tar.bz2, expect-5.43.0.tar.bz2, fcron-2.9.7.src.tar.bz2, file-4.13.tar.bz2, findutils-4.2.23.tar.bz2, flex-2.5.31.tar.bz2, font-arial-iso-8859-1.tar.bz2, fontconfig-2.3.2.tar.bz2, freetype-2.1.10.tar.bz2, gawk-3.1.4.tar.bz2, gcc-3.4.3.tar.bz2, gettext-0.14.3.tar.bz2, glib-2.6.4.tar.bz2, glibc-2.3.4.tar.bz2, glibc-linuxthreads-2.3.4.tar.bz2, gnet-2.0.7.tar.bz2, grep-2.5.1a.tar.bz2, groff-1.19.1.tar.bz2, grub-0.96.tar.bz2, gtk+-2.6.7.tar.bz2, gtk-engines-2.6.3.tar.bz2, gzip-1.3.5.tar.bz2, hotplug-2004_09_23.tar.bz2, httpd-2.0.54.tar.bz2, iana-etc-1.04.tar.bz2, ImageMagick-6.2.3-6.tar.bz2, inetutils-1.4.2.tar.bz2, install_flash_player_7_linux.tar.bz2, iproute2-2.6.11-050330.tar.bz2, jpegsrc.v6b.tar.bz2, jre-1_5_0_06-linux-i586.bin, kbd-1.12.tar.bz2, klibc-1.1.1.tar.bz2, lcms-1.14.tar.bz2, less-382.tar.bz2, lfs-bootscripts-3.2.1.tar.bz2, libIDL-0.8.5.tar.bz2, libirman-0.4.3.tar.bz2, libmng-1.0.9.tar.bz2, libpng-1.2.8.tar.bz2, libtool-1.5.14.tar.bz2, libxml2-2.6.20.tar.bz2, libxslt-1.1.14.tar.bz2, linux-2.6.11.12.tar.bz2, linux-libc-headers-2.6.11.2.tar.bz2, lirc-0.7.2.tar.bz2, logrotate_3.7-5.diff, logrotate_3.7.orig.tar.bz2, m4-1.4.3.tar.bz2, make-3.80.tar.bz2, man-1.5p.tar.bz2, man-pages-2.01.tar.bz2, mktemp-1.5.tar.bz2, module-init-tools-3.1.tar.bz2, module-init-tools-testsuite-3.1.tar.bz2, mozilla-1.7.12-source.tar.bz2, mozplugger-1.7.3.tar.bz2, MPlayer-1.0pre7.tar.bz2, ncurses-5.4.tar.bz2, net-tools-1.60.tar.bz2, NVIDIA-Linux-x86-1.0-8174-pkg1.run, openbox-3.2.tar.bz2, openssh-4.1p1.tar.bz2, openssl-0.9.7g.tar.bz2, pango-1.8.1.tar.bz2, patch-2.5.4.tar.bz2, pci.ids.bz2, pciutils-2.1.11.tar.bz2, pcre-6.1.tar.bz2, perl-5.8.7.tar.bz2, php-5.0.4.tar.bz2, pkg-config-0.19.tar.bz2, pktv-bootsplash.tar.bz2, pktv-cdcursors.tar.bz2, pktv-cdtheme.tar.bz2, pktv-cursors.tar.bz2, pktv-docs.tar.bz2, pktv-ir.tar.bz2, pktv-mozilla-1.7.12.tar.bz2, pktv-pages.tar.bz2, pktv-theme.tar.bz2, pktvinstall, pktvkernel-2.6.11.12.cfg, pktvutils-1.0.tar.bz2, ponktv-3.0.tar.bz2, popt_1.7-5.diff, popt_1.7.orig.tar.bz2, procps-3.2.5.tar.bz2, psmisc-21.6.tar.bz2, readline-5.0.tar.bz2, realplay-10.0.6.776-linux-2.2-libc6-gcc32-i586.bin, samba-3.0.14a.tar.bz2, sed-4.1.4.tar.bz2, shadow-4.0.9.tar.bz2, squashfs2.2-r2.tar.bz2, subversion-1.1.4.tar.bz2, sudo-1.6.8p12.tar.bz2, sysklogd-1.4.1.tar.bz2, sysvinit-2.86.tar.bz2, tar-1.15.1.tar.bz2, tcl8.4.9-src.tar.bz2, texinfo-4.8.tar.bz2, tidy_docs_050705.tar.bz2, tidy_src_050722.tar.bz2, tiff-3.7.3.tar.bz2, tvdialog-1.2.tar.bz2, udev-056.tar.bz2, udev-config-4.rules, unzip551.tar.bz2, util-linux-2.12q.tar.bz2, vim-6.3-lang.tar.bz2, vim-6.3.tar.bz2, wget-1.9.1.tar.bz2, which-2.16.tar.bz2, wmctrl-1.07.tar.bz2, X11R6.8.2-src.tar.bz2, zip231.tar.bz2, zlib-1.2.3.tar.bz2 To use pktvafs: ./pktvafs help #!/bin/bash # vi:nowrap:ts=4 # Begin pktvafs (ponktv-3.0) # PonkTV AFS (LFS 6.1.1/BLFS 6.1) # pktvafs - build script for ponktv # # Usage: # # pktvafs help # this screen. # pktvafs manifest # prints a manifest to the file MANIFEST. # pktvafs ckpkgs # checks if all packages and patches are available. # pktvafs logpkg # logs a package by timestamp (/tmp/timestamp) in /var/lib/packages/name. # package name. # pktvafs ponktv [dev] # builds a ponktv or (dev) ponktv development system. # pktvafs boot # installs a ponktv development system. # linux boot device (/dev/hda). # linux root device (/dev/hda1). # linux swap device (/dev/hda2). # # Set global environment settings and variables. # Language/Country/Charmap PKTV_CC=US PKTV_LL=en PKTV_CHARMAP=iso88591 # Keyboard (console) PKTV_CONSOLE=us.map.gz PKTV_FONT=default8x16 # Keyboard console for kernel PKTV_KERNEL_CONSOLE=i386/qwerty/us.map.gz # System paper size PKTV_PAPER=letter # System timezone PKTV_TIMEZONE=America/Chicago # Hardware clock config # Set to build systems hardware clock # Local Tine: 0 # UTC Time: 1 PKTV_UTCCODE=1 # Network ethernet device PKTV_ETH=eth0 # Bootsplash font BOOT_FONT=Vera # PonkTV version PKTV_VERSION=3.0 # System name PKTV_SYSNAME=ponktv-${PKTV_VERSION} # Initrd boot file system size BTFS_SIZE=16000 # Build settings, from afs set -e +h umask 022 # --------------------------- # ---- pktvafs functions ---- # --------------------------- # Create a manifest file - a list of all # packages needed for the build. function manifest () { cat > MANIFEST << "EOF" AUTHORS COPYING COPYING.CD INSTALL LOGO pktvcd pktvafs README packages/alsa-driver-1.0.9b.tar.bz2 packages/alsa-lib-1.0.9.tar.bz2 packages/alsa-utils-1.0.9a.tar.bz2 packages/atk-1.9.1.tar.bz2 packages/autoconf-2.59.tar.bz2 packages/autofs-4.1.4-misc-fixes.patch packages/autofs-4.1.4-multi-parse-fix.patch packages/autofs-4.1.4-non-replicated-ping.patch packages/autofs-4.1.4.tar.bz2 packages/automake-1.9.5.tar.bz2 packages/bash-3.0-avoid_WCONTINUED-1.patch packages/bash-3.0-fixes-3.patch packages/bash-3.0.tar.bz2 packages/bash-doc-3.0.tar.bz2 packages/binutils-2.15.94.0.2.2-gcc4-1.patch packages/binutils-2.15.94.0.2.2.tar.bz2 packages/bison-2.0.tar.bz2 packages/blfs-bootscripts-6.1.tar.bz2 packages/Blue-1.5.tar.bz2 packages/bluefish-1.0.2.tar.bz2 packages/bootsplash-3.1.6-2.6.11.diff packages/bootsplash-3.1.tar.bz2 packages/bzip2-1.0.3-bzgrep_security-1.patch packages/bzip2-1.0.3-install_docs-1.patch packages/bzip2-1.0.3.tar.bz2 packages/cdrtools-2.01.tar.bz2 packages/coreutils-5.2.1-suppress_uptime_kill_su-1.patch packages/coreutils-5.2.1-uname-2.patch packages/coreutils-5.2.1.tar.bz2 packages/cpio-2.6-security_fixes-1.patch packages/cpio-2.6.tar.bz2 packages/cvs-1.11.20-zlib-1.patch packages/cvs-1.11.20.tar.bz2 packages/dejagnu-1.4.4.tar.bz2 packages/dhcpcd-1.3.22-pl4-fhs-1.patch packages/dhcpcd-1.3.22-pl4.tar.bz2 packages/diffutils-2.8.1.tar.bz2 packages/docbook-xml-4.4.zip packages/docbook-xsl-1.68.1.tar.bz2 packages/e2fsprogs-1.37.tar.bz2 packages/ed2k-2.1.tar.bz2 packages/edonkeyclc_1.3.0_i386.tar.bz2 packages/essential-20050412.tar.bz2 packages/expat-1.95.8.tar.bz2 packages/expect-5.43.0-spawn-1.patch packages/expect-5.43.0.tar.bz2 packages/fcron-2.9.7.src.tar.bz2 packages/file-4.13.tar.bz2 packages/findutils-4.2.23.tar.bz2 packages/flex-2.5.31-debian_fixes-3.patch packages/flex-2.5.31.tar.bz2 packages/font-arial-iso-8859-1.tar.bz2 packages/fontconfig-2.3.2.tar.bz2 packages/freetype-2.1.10.tar.bz2 packages/gawk-3.1.4.tar.bz2 packages/gcc-3.3.4-linkonce-1.patch packages/gcc-3.3.4-no_fixincludes-1.patch packages/gcc-3.3.4.tar.bz2 packages/gcc-3.4.3-linkonce-1.patch packages/gcc-3.4.3-no_fixincludes-1.patch packages/gcc-3.4.3-specs-2.patch packages/gcc-3.4.3.tar.bz2 packages/gettext-0.14.3.tar.bz2 packages/glib-2.6.4.tar.bz2 packages/glibc-2.3.4-fix_test-1.patch packages/glibc-2.3.4-rtld_search_dirs-1.patch packages/glibc-2.3.4-tls_assert-1.patch packages/glibc-2.3.4.tar.bz2 packages/glibc-linuxthreads-2.3.4.tar.bz2 packages/gnet-2.0.7.tar.bz2 packages/grep-2.5.1a.tar.bz2 packages/groff-1.19.1.tar.bz2 packages/grub-0.96.tar.bz2 packages/gtk+-2.6.7.tar.bz2 packages/gtk-engines-2.6.3.tar.bz2 packages/gzip-1.3.5-security_fixes-1.patch packages/gzip-1.3.5.tar.bz2 packages/hotplug-2004_09_23.tar.bz2 packages/httpd-2.0.54-config-1.patch packages/httpd-2.0.54.tar.bz2 packages/iana-etc-1.04.tar.bz2 packages/ImageMagick-6.2.3-6.tar.bz2 packages/inetutils-1.4.2-kernel_headers-1.patch packages/inetutils-1.4.2-no_server_man_pages-1.patch packages/inetutils-1.4.2.tar.bz2 packages/install_flash_player_7_linux.tar.bz2 packages/iproute2-2.6.11-050330.tar.bz2 packages/jpegsrc.v6b.tar.bz2 packages/jre-1_5_0_06-linux-i586.bin packages/kbd-1.12.tar.bz2 packages/klibc-1.1.1.tar.bz2 packages/lcms-1.14-gcc343-1.patch packages/lcms-1.14.tar.bz2 packages/less-382.tar.bz2 packages/lfs-bootscripts-3.2.1.tar.bz2 packages/libIDL-0.8.5.tar.bz2 packages/libirman-0.4.3.tar.bz2 packages/libmng-1.0.9.tar.bz2 packages/libpng-1.2.8-link_to_proper_libs-1.patch packages/libpng-1.2.8.tar.bz2 packages/libtool-1.5.14.tar.bz2 packages/libxml2-2.6.20.tar.bz2 packages/libxslt-1.1.14.tar.bz2 packages/linux-2.6.11.12.tar.bz2 packages/linux-libc-headers-2.6.11.2.tar.bz2 packages/lirc-0.7.2-autogen.patch packages/lirc-0.7.2-irtvdialog.patch packages/lirc-0.7.2-sendxevent.patch packages/lirc-0.7.2.tar.bz2 packages/logrotate_3.7-5.diff packages/logrotate_3.7.orig.tar.bz2 packages/m4-1.4.3.tar.bz2 packages/make-3.80.tar.bz2 packages/man-1.5p.tar.bz2 packages/man-pages-2.01.tar.bz2 packages/mktemp-1.5-add_tempfile-2.patch packages/mktemp-1.5.tar.bz2 packages/module-init-tools-3.1.tar.bz2 packages/module-init-tools-testsuite-3.1.tar.bz2 packages/mozilla-1.7.11-gcc4-2.patch packages/mozilla-1.7.12-hidechrome.patch packages/mozilla-1.7.12-pktv-bookmarks.patch packages/mozilla-1.7.12-pktv-browser-prefs.patch packages/mozilla-1.7.12-pktv-browser.patch packages/mozilla-1.7.12-pktv-chrome.patch packages/mozilla-1.7.12-pktv-localstore.patch packages/mozilla-1.7.12-pktv-makefiles.patch packages/mozilla-1.7.12-pktv-mimeTypes.patch packages/mozilla-1.7.12-pktv-pref.patch packages/mozilla-1.7.12-pktv-startup.patch packages/mozilla-1.7.12-source.tar.bz2 packages/mozplugger-1.7.3.tar.bz2 packages/MPlayer-1.0pre7-kernel_2.6-1.patch packages/MPlayer-1.0pre7.tar.bz2 packages/ncurses-5.4.tar.bz2 packages/net-tools-1.60-gcc34-3.patch packages/net-tools-1.60-kernel_headers-2.patch packages/net-tools-1.60-mii_ioctl-1.patch packages/net-tools-1.60.tar.bz2 packages/NVIDIA-Linux-x86-1.0-8174-pkg1.run packages/openbox-3.2.tar.bz2 packages/openssh-4.1p1.tar.bz2 packages/openssl-0.9.7g-fix_manpages-1.patch packages/openssl-0.9.7g.tar.bz2 packages/pango-1.8.1.tar.bz2 packages/patch-2.5.4.tar.bz2 packages/pci.ids.bz2 packages/pciutils-2.1.11.tar.bz2 packages/pcre-6.1.tar.bz2 packages/perl-5.8.7-libc-1.patch packages/perl-5.8.7-sprintf_vulnerability-1.patch packages/perl-5.8.7.tar.bz2 packages/php-5.0.4-db43-1.patch packages/php-5.0.4.tar.bz2 packages/pkg-config-0.19.tar.bz2 packages/pktv-blfs-bootscripts-6.1-fcron.patch packages/pktv-bootscripts.patch packages/pktv-bootsplash.tar.bz2 packages/pktv-cdcursors.tar.bz2 packages/pktv-cdtheme.tar.bz2 packages/pktv-cursors.tar.bz2 packages/pktv-docs.tar.bz2 packages/pktv-httpd-2.0.54-conf.patch packages/pktv-ir.tar.bz2 packages/pktv-mozilla-1.7.12.tar.bz2 packages/pktv-pages.tar.bz2 packages/pktv-php-5.0.4-ini.patch packages/pktv-theme.tar.bz2 packages/pktvinstall packages/pktvkernel-2.6.11.12.cfg packages/pktvutils-1.0.tar.bz2 packages/ponktv-3.0.tar.bz2 packages/popt_1.7-5.diff packages/popt_1.7.orig.tar.bz2 packages/procps-3.2.5.tar.bz2 packages/psmisc-21.6.tar.bz2 packages/readline-5.0-fixes-1.patch packages/readline-5.0.tar.bz2 packages/realplay-10.0.6.776-linux-2.2-libc6-gcc32-i586.bin packages/samba-3.0.14a.tar.bz2 packages/sed-4.1.4.tar.bz2 packages/shadow-4.0.9.tar.bz2 packages/squashfs2.2-r2.tar.bz2 packages/subversion-1.1.4.tar.bz2 packages/sudo-1.6.8p12.tar.bz2 packages/sysklogd-1.4.1-fixes-1.patch packages/sysklogd-1.4.1.tar.bz2 packages/sysvinit-2.86.tar.bz2 packages/tar-1.15.1-sparse_fix-1.patch packages/tar-1.15.1.tar.bz2 packages/tcl8.4.9-src.tar.bz2 packages/texinfo-4.8-tempfile_fix-1.patch packages/texinfo-4.8.tar.bz2 packages/tidy-050722-prevent_PRE_newlines-1.patch packages/tidy_docs_050705.tar.bz2 packages/tidy_src_050722.tar.bz2 packages/tiff-3.7.3.tar.bz2 packages/tvdialog-1.2.tar.bz2 packages/udev-056.tar.bz2 packages/udev-config-4.rules packages/unzip-5.52-dont_make_noise-1.patch packages/unzip-5.52-fix_libz-1.patch packages/unzip-5.52-fix_Makefile-1.patch packages/unzip551.tar.bz2 packages/util-linux-2.12q-cramfs-1.patch packages/util-linux-2.12q-umount_fix-1.patch packages/util-linux-2.12q.tar.bz2 packages/vim-6.3-lang.tar.bz2 packages/vim-6.3-security_fix-2.patch packages/vim-6.3.tar.bz2 packages/wget-1.9.1.tar.bz2 packages/which-2.16.tar.bz2 packages/wmctrl-1.07.tar.bz2 packages/X11R6.8.2-src.tar.bz2 packages/zip231.tar.bz2 packages/zlib-1.2.3.tar.bz2 EOF } # ----------------------- # ---- lfs functions ---- # ----------------------- # functions to build lfs # Binutils-2.15.94.0.2.2 - Pass 1 function chapter05-binutils-pass1 () { echo "chapter05-binutils-pass1" cd /tools/ponktv tar -jxf packages/binutils-2.15.94.0.2.2.tar.bz2 cd binutils-2.15.94.0.2.2 # ---- patch -Np1 -i ../packages/binutils-2.15.94.0.2.2-gcc4-1.patch mkdir -v ../binutils-build cd ../binutils-build ../binutils-2.15.94.0.2.2/configure --prefix=/tools --disable-nls make make install make -C ld clean make -C ld LIB_PATH=/tools/lib # ---- cd /tools/ponktv } # GCC-3.4.3 - Pass 1 function chapter05-gcc-pass1 () { echo "chapter05-gcc-pass1" cd /tools/ponktv tar -jxf packages/gcc-3.4.3.tar.bz2 cd gcc-3.4.3 # ---- mkdir -v ../gcc-build cd ../gcc-build ../gcc-3.4.3/configure --prefix=/tools \ --libexecdir=/tools/lib --with-local-prefix=/tools \ --disable-nls --enable-shared --enable-languages=c make bootstrap make install ln -vs gcc /tools/bin/cc # ---- cd /tools/ponktv rm -rf gcc-build rm -rf gcc-3.4.3 } # Linux-Libc-Headers-2.6.11.2 function chapter05-linux-libc-headers () { echo "chapter05-linux-libc-headers" cd /tools/ponktv tar -jxf packages/linux-libc-headers-2.6.11.2.tar.bz2 cd linux-libc-headers-2.6.11.2 # ---- cp -Rv include/asm-i386 /tools/include/asm cp -Rv include/linux /tools/include # ---- cd /tools/ponktv rm -rf linux-libc-headers-2.6.11.2 } # Glibc-2.3.4 function chapter05-glibc () { echo "chapter05-glibc" cd /tools/ponktv tar -jxf packages/glibc-2.3.4.tar.bz2 cd glibc-2.3.4 # ---- patch -Np1 -i ../packages/glibc-2.3.4-fix_test-1.patch mkdir -v ../glibc-build cd ../glibc-build ../glibc-2.3.4/configure --prefix=/tools \ --disable-profile --enable-add-ons \ --enable-kernel=2.6.0 --with-binutils=/tools/bin \ --without-gd --with-headers=/tools/include \ --without-selinux make # make check mkdir -v /tools/etc touch /tools/etc/ld.so.conf make install # ---- cd /tools/ponktv rm -rf glibc-build rm -rf glibc-2.3.4 } # Adjusting the Toolchain function chapter05-adjusting () { echo "chapter05-adjusting" cd /tools/ponktv # ---- cd binutils-build make -C ld install cd /tools/ponktv rm -rf binutils-build rm -rf binutils-2.15.94.0.2.2 SPECFILE=`gcc --print-file specs` && sed 's@ /lib/ld-linux.so.2@ /tools/lib/ld-linux.so.2@g' \ $SPECFILE > tempspecfile && mv -f tempspecfile $SPECFILE && unset SPECFILE rm -vf /tools/lib/gcc/*/*/include/{pthread.h,bits/sigthread.h} echo 'main(){}' > dummy.c cc dummy.c TOOLCHAIN_TEST=`readelf -l a.out | \ grep "\[Requesting program interpreter: /tools/lib/ld-linux.so.2\]"` if test -z "$TOOLCHAIN_TEST" then echo "*** FATAL ERROR: Failed tool chain test, chapter05-adjusting" exit 1 fi rm -v dummy.c a.out # ---- } # Tcl-8.4.9 function chapter05-tcl () { echo "chapter05-tcl" cd /tools/ponktv tar -jxf packages/tcl8.4.9-src.tar.bz2 cd tcl8.4.9 # ---- # The tcl directory is needed by expect cd unix sed -i "s/relid'/relid/" configure ./configure --prefix=/tools make make install cd .. ln -sv tclsh8.4 /tools/bin/tclsh # ---- cd /tools/ponktv } # Expect-5.43.0 function chapter05-expect () { echo "chapter05-expect" cd /tools/ponktv tar -jxf packages/expect-5.43.0.tar.bz2 cd expect-5.43 # ---- # expect needs to know where the tcl directory is at. patch -Np1 -i ../packages/expect-5.43.0-spawn-1.patch ./configure --prefix=/tools --with-tcl=/tools/lib \ --with-tclinclude=../tcl8.4.9 --with-x=no make make SCRIPTS="" install # ---- cd /tools/ponktv rm -rf expect-5.43 rm -rf tcl8.4.9 } # DejaGNU-1.4.4 function chapter05-dejagnu () { echo "chapter05-dejagnu" cd /tools/ponktv tar -jxf packages/dejagnu-1.4.4.tar.bz2 cd dejagnu-1.4.4 # ---- ./configure --prefix=/tools make install # ---- cd /tools/ponktv rm -rf dejagnu-1.4.4 } # GCC-3.4.3 - Pass 2 function chapter05-gcc-pass2 () { echo "chapter05-gcc-pass2" cd /tools/ponktv tar -jxf packages/gcc-3.4.3.tar.bz2 cd gcc-3.4.3 # ---- patch -Np1 -i ../packages/gcc-3.4.3-no_fixincludes-1.patch patch -Np1 -i ../packages/gcc-3.4.3-specs-2.patch mkdir -v ../gcc-build cd ../gcc-build ../gcc-3.4.3/configure --prefix=/tools \ --libexecdir=/tools/lib --with-local-prefix=/tools \ --enable-clocale=gnu --enable-shared \ --enable-threads=posix --enable-__cxa_atexit \ --enable-languages=c,c++ --disable-libstdcxx-pch make # make -k check # ../gcc-3.4.3/contrib/test_summary make install echo 'main(){}' > dummy.c cc dummy.c TOOLCHAIN_TEST=`readelf -l a.out | \ grep "\[Requesting program interpreter: /tools/lib/ld-linux.so.2\]"` if test -z "$TOOLCHAIN_TEST" then echo "*** FATAL ERROR: Failed tool chain test, chapter05-gcc-pass2" exit 1 fi # ---- cd /tools/ponktv rm -rf gcc-build rm -rf gcc-3.4.3 } # Binutils-2.15.94.0.2.2 - Pass 2 function chapter05-binutils-pass2 () { echo "chapter05-binutils-pass2" cd /tools/ponktv tar -jxf packages/binutils-2.15.94.0.2.2.tar.bz2 cd binutils-2.15.94.0.2.2 # ---- mkdir -v ../binutils-build cd ../binutils-build ../binutils-2.15.94.0.2.2/configure --prefix=/tools \ --disable-nls --enable-shared --with-lib-path=/tools/lib make # make check make install make -C ld clean make -C ld LIB_PATH=/usr/lib:/lib # ---- cd /tools/ponktv } # Gawk-3.1.4 function chapter05-gawk () { echo "chapter05-gawk" cd /tools/ponktv tar -jxf packages/gawk-3.1.4.tar.bz2 cd gawk-3.1.4 # ---- ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf gawk-3.1.4 } # Coreutils-5.2.1 function chapter05-coreutils () { echo "chapter05-coreutils" cd /tools/ponktv tar -jxf packages/coreutils-5.2.1.tar.bz2 cd coreutils-5.2.1 # ---- DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf coreutils-5.2.1 } # Bzip2-1.0.3 function chapter05-bzip2 () { echo "chapter05-bzip2" cd /tools/ponktv tar -jxf packages/bzip2-1.0.3.tar.bz2 cd bzip2-1.0.3 # ---- make make PREFIX=/tools install # ---- cd /tools/ponktv rm -rf bzip2-1.0.3 } # Gzip-1.3.5 function chapter05-gzip () { echo "chapter05-gzip" cd /tools/ponktv tar -jxf packages/gzip-1.3.5.tar.bz2 cd gzip-1.3.5 # ---- ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf gzip-1.3.5 } # Diffutils-2.8.1 function chapter05-diffutils () { echo "chapter05-diffutils" cd /tools/ponktv tar -jxf packages/diffutils-2.8.1.tar.bz2 cd diffutils-2.8.1 # ---- ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf diffutils-2.8.1 } # Findutils-4.2.23 function chapter05-findutils () { echo "chapter05-findutils" cd /tools/ponktv tar -jxf packages/findutils-4.2.23.tar.bz2 cd findutils-4.2.23 # ---- ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf findutils-4.2.23 } # Make-3.80 function chapter05-make () { echo "chapter05-make" cd /tools/ponktv tar -jxf packages/make-3.80.tar.bz2 cd make-3.80 # ---- ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf make-3.80 } # Grep-2.5.1a function chapter05-grep () { echo "chapter05-grep" cd /tools/ponktv tar -jxf packages/grep-2.5.1a.tar.bz2 cd grep-2.5.1a # ---- ./configure --prefix=/tools \ --disable-perl-regexp make make install # ---- cd /tools/ponktv rm -rf grep-2.5.1a } # Sed-4.1.4 function chapter05-sed () { echo "chapter05-sed" cd /tools/ponktv tar -jxf packages/sed-4.1.4.tar.bz2 cd sed-4.1.4 # ---- ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf sed-4.1.4 } # Gettext-0.14.3 function chapter05-gettext () { echo "chapter05-gettext" cd /tools/ponktv tar -jxf packages/gettext-0.14.3.tar.bz2 cd gettext-0.14.3 # ---- ./configure --prefix=/tools \ --disable-libasprintf --without-csharp make make install # ---- cd /tools/ponktv rm -rf gettext-0.14.3 } # Ncurses-5.4 function chapter05-ncurses () { echo "chapter05-ncurses" cd /tools/ponktv tar -jxf packages/ncurses-5.4.tar.bz2 cd ncurses-5.4 # ---- ./configure --prefix=/tools --with-shared \ --without-debug --without-ada --enable-overwrite make make install # ---- cd /tools/ponktv rm -rf ncurses-5.4 } # Patch-2.5.4 function chapter05-patch () { echo "chapter05-patch" cd /tools/ponktv tar -jxf packages/patch-2.5.4.tar.bz2 cd patch-2.5.4 # ---- CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf patch-2.5.4 } # Tar-1.15.1 function chapter05-tar () { echo "chapter05-tar" cd /tools/ponktv tar -jxf packages/tar-1.15.1.tar.bz2 cd tar-1.15.1 # ---- ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf tar-1.15.1 } # Texinfo-4.8 function chapter05-texinfo () { echo "chapter05-texinfo" cd /tools/ponktv tar -jxf packages/texinfo-4.8.tar.bz2 cd texinfo-4.8 # ---- ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf texinfo-4.8 } # Bash-3.0 function chapter05-bash () { echo "chapter05-bash" cd /tools/ponktv tar -jxf packages/bash-3.0.tar.bz2 cd bash-3.0 # ---- patch -Np1 -i ../packages/bash-3.0-avoid_WCONTINUED-1.patch ./configure --prefix=/tools --without-bash-malloc make make install ln -vs bash /tools/bin/sh # ---- cd /tools/ponktv rm -rf bash-3.0 } # M4-1.4.3 function chapter05-m4 () { echo "chapter05-m4" cd /tools/ponktv tar -jxf packages/m4-1.4.3.tar.bz2 cd m4-1.4.3 # ---- ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf m4-1.4.3 } # Bison-2.0 function chapter05-bison () { echo "chapter05-bison" cd /tools/ponktv tar -jxf packages/bison-2.0.tar.bz2 cd bison-2.0 # ---- ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf bison-2.0 } # Flex-2.5.31 function chapter05-flex () { echo "chapter05-flex" cd /tools/ponktv tar -jxf packages/flex-2.5.31.tar.bz2 cd flex-2.5.31 # ---- patch -Np1 -i ../packages/flex-2.5.31-debian_fixes-3.patch touch doc/flex.1 ./configure --prefix=/tools make make install # ---- cd /tools/ponktv rm -rf flex-2.5.31 } # Util-linux-2.12q function chapter05-util-linux () { echo "chapter05-util-linux" cd /tools/ponktv tar -jxf packages/util-linux-2.12q.tar.bz2 cd util-linux-2.12q # ---- sed -i 's@/usr/include@/tools/include@g' configure ./configure make -C lib make -C mount mount umount make -C text-utils more cp mount/{,u}mount text-utils/more /tools/bin # ---- cd /tools/ponktv rm -rf util-linux-2.12q } # Perl-5.8.7 function chapter05-perl () { echo "chapter05-perl" cd /tools/ponktv tar -jxf packages/perl-5.8.7.tar.bz2 cd perl-5.8.7 # ---- patch -Np1 -i ../packages/perl-5.8.7-libc-1.patch ./configure.gnu --prefix=/tools -Dstatic_ext='IO Fcntl POSIX' make perl utilities cp -v perl pod/pod2man /tools/bin mkdir -pv /tools/lib/perl5/5.8.7 cp -Rv lib/* /tools/lib/perl5/5.8.7 # ---- cd /tools/ponktv rm -rf perl-5.8.7 } # Stripping function chapter05-stripping () { echo "chapter05-stripping" cd /tools/ponktv # ---- set +e strip --strip-debug /tools/lib/* strip --strip-unneeded /tools/{,s}bin/* set -e rm -rf /tools/{info,man} # ---- } # Mounting Virtual Kernel File Systems function chapter06-kernfs () { echo "chapter06-kernfs" # ---- install -d build/proc install -d build/sys mount -vt proc proc build/proc mount -vt sysfs sysfs build/sys mount -vft tmpfs tmpfs build/dev mount -vft tmpfs tmpfs build/dev/shm mount -vft devpts -o gid=4,mode=620 devpts build/dev/pts # ---- } # Changing Ownership function chapter06-changingowner () { echo "chapter06-changingowner" cd /tools/ponktv # ---- chown -R 0:0 /tools # ---- } # Creating Directories function chapter06-creatingdirs () { echo "chapter06-creatingdirs" cd /tools/ponktv # ---- install -dv /{bin,boot,dev,etc/opt,home,lib,mnt} install -dv /{sbin,srv,usr/local,var,opt} install -dv /root -m 0750 install -dv /tmp /var/tmp -m 1777 install -dv /media/{floppy,cdrom} install -dv /usr/{bin,include,lib,sbin,share,src} ln -sv share/{man,doc,info} /usr install -dv /usr/share/{doc,info,locale,man} install -dv /usr/share/{misc,terminfo,zoneinfo} install -dv /usr/share/man/man{1,2,3,4,5,6,7,8} install -dv /usr/local/{bin,etc,include,lib,sbin,share,src} ln -sv share/{man,doc,info} /usr/local install -dv /usr/local/share/{doc,info,locale,man} install -dv /usr/local/share/{misc,terminfo,zoneinfo} install -dv /usr/local/share/man/man{1,2,3,4,5,6,7,8} install -dv /var/{lock,log,mail,run,spool} install -dv /var/{opt,cache,lib/{misc,locate},local} install -dv /opt/{bin,doc,include,info} install -dv /opt/{lib,man/man{1,2,3,4,5,6,7,8}} # ---- } # Creating Essential Symlinks function chapter06-createfiles () { echo "chapter06-createfiles" cd /tools/ponktv # ---- ln -sv /tools/bin/{bash,cat,pwd,stty} /bin ln -sv /tools/bin/perl /usr/bin ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib ln -sv bash /bin/sh # ---- } # Creating the passwd, group, and log Files function chapter06-pwdgroup () { echo "chapter06-pwdgroup" cd /tools/ponktv # ---- cat > /etc/passwd << "EOF" root::0:0:root:/root:/bin/bash EOF cat > /etc/group << "EOF" root:x:0: bin:x:1: sys:x:2: kmem:x:3: tty:x:4: tape:x:5: daemon:x:6: floppy:x:7: disk:x:8: lp:x:9: dialout:x:10: audio:x:11: video:x:12: utmp:x:13: usb:x:14: cdrom:x:15: EOF touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} chgrp -v utmp /var/run/utmp /var/log/lastlog chmod -v 664 /var/run/utmp /var/log/lastlog # ---- } # Populating /dev function chapter06-devices () { echo "chapter06-devices" cd /tools/ponktv # ---- mknod -m 600 /dev/console c 5 1 mknod -m 666 /dev/null c 1 3 mount -nvt tmpfs none /dev mknod -m 622 /dev/console c 5 1 mknod -m 666 /dev/null c 1 3 mknod -m 666 /dev/zero c 1 5 mknod -m 666 /dev/ptmx c 5 2 mknod -m 666 /dev/tty c 5 0 mknod -m 444 /dev/random c 1 8 mknod -m 444 /dev/urandom c 1 9 chown -v root:tty /dev/{console,ptmx,tty} ln -sv /proc/self/fd /dev/fd ln -sv /proc/self/fd/0 /dev/stdin ln -sv /proc/self/fd/1 /dev/stdout ln -sv /proc/self/fd/2 /dev/stderr ln -sv /proc/kcore /dev/core mkdir -v /dev/pts mkdir -v /dev/shm mount -vt devpts -o gid=4,mode=620 none /dev/pts mount -vt tmpfs none /dev/shm # ---- } # Linux-Libc-Headers-2.6.11.2 function chapter06-linux-libc-headers () { echo "chapter06-linux-libc-headers" cd /tools/ponktv tar -jxf packages/linux-libc-headers-2.6.11.2.tar.bz2 cd linux-libc-headers-2.6.11.2 # ---- cp -Rv include/asm-i386 /usr/include/asm cp -Rv include/linux /usr/include chown -Rv root:root /usr/include/{asm,linux} find /usr/include/{asm,linux} -type d -exec chmod -v 755 {} \; find /usr/include/{asm,linux} -type f -exec chmod -v 644 {} \; # ---- cd /tools/ponktv rm -rf linux-libc-headers-2.6.11.2 log-package Linux-Libc-Headers-2.6.11.2 } # Man-pages-2.01 function chapter06-man-pages () { echo "chapter06-man-pages" cd /tools/ponktv tar -jxf packages/man-pages-2.01.tar.bz2 cd man-pages-2.01 # ---- make install # ---- cd /tools/ponktv rm -rf man-pages-2.01 log-package Man-pages-2.01 } # Glibc-2.3.4 function chapter06-glibc () { echo "chapter06-glibc" cd /tools/ponktv tar -jxf packages/glibc-2.3.4.tar.bz2 cd glibc-2.3.4 # ---- tar -xjf ../packages/glibc-linuxthreads-2.3.4.tar.bz2 patch -Np1 -i ../packages/glibc-2.3.4-rtld_search_dirs-1.patch patch -Np1 -i ../packages/glibc-2.3.4-fix_test-1.patch patch -Np1 -i ../packages/glibc-2.3.4-tls_assert-1.patch mkdir -v ../glibc-build cd ../glibc-build ../glibc-2.3.4/configure --prefix=/usr \ --disable-profile --enable-add-ons \ --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc make # make -k check >glibc-check-log 2>&1 # grep Error glibc-check-log touch /etc/ld.so.conf make install # To make full locale data make localedata/install-locales # To make limited locale data # mkdir -pv /usr/lib/locale # localedef -i de_DE -f ISO-8859-1 de_DE # localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro # localedef -i en_HK -f ISO-8859-1 en_HK # localedef -i en_PH -f ISO-8859-1 en_PH # localedef -i en_US -f ISO-8859-1 en_US # localedef -i es_MX -f ISO-8859-1 es_MX # localedef -i fa_IR -f UTF-8 fa_IR # localedef -i fr_FR -f ISO-8859-1 fr_FR # localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro # localedef -i it_IT -f ISO-8859-1 it_IT # localedef -i ja_JP -f EUC-JP ja_JP make -C ../glibc-2.3.4/linuxthreads/man make -C ../glibc-2.3.4/linuxthreads/man install cat > /etc/nsswitch.conf << "EOF" # Begin /etc/nsswitch.conf passwd: files group: files shadow: files hosts: files dns networks: files protocols: files services: files ethers: files rpc: files # End /etc/nsswitch.conf EOF cp -v --remove-destination /usr/share/zoneinfo/${PKTV_TIMEZONE} \ /etc/localtime cat > /etc/ld.so.conf << "EOF" # Begin /etc/ld.so.conf /usr/local/lib /opt/lib # End /etc/ld.so.conf EOF # ---- cd /tools/ponktv rm -rf glibc-build rm -rf glibc-2.3.4 log-package Glibc-2.3.4 } # Re-adjusting the Toolchain function chapter06-readjusting () { echo "chapter06-readjusting" cd /tools/ponktv # ---- cd binutils-build make -C ld INSTALL=/tools/bin/install install cd /tools/ponktv rm -rf binutils-build rm -rf binutils-2.15.94.0.2.2 perl -pi -e 's@ /tools/lib/ld-linux.so.2@ /lib/ld-linux.so.2@g;' \ -e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' \ `gcc --print-file specs` echo 'main(){}' > dummy.c cc dummy.c TOOLCHAIN_TEST=`readelf -l a.out | \ grep "\[Requesting program interpreter: /lib/ld-linux.so.2\]"` if test -z "$TOOLCHAIN_TEST" then echo "*** FATAL ERROR: Failed tool chain test, chapter06-readjusting" exit 1 fi rm -v dummy.c a.out # ---- } # Binutils-2.15.94.0.2.2 function chapter06-binutils () { echo "chapter06-binutils" cd /tools/ponktv tar -jxf packages/binutils-2.15.94.0.2.2.tar.bz2 cd binutils-2.15.94.0.2.2 # ---- mkdir -v ../binutils-build cd ../binutils-build ../binutils-2.15.94.0.2.2/configure --prefix=/usr \ --enable-shared make tooldir=/usr # make check make tooldir=/usr install cp -v ../binutils-2.15.94.0.2.2/include/libiberty.h /usr/include # ---- cd /tools/ponktv rm -rf binutils-build rm -rf binutils-2.15.94.0.2.2 log-package Binutils-2.15.94.0.2.2 } # GCC-3.4.3 function chapter06-gcc () { echo "chapter06-gcc" cd /tools/ponktv tar -jxf packages/gcc-3.4.3.tar.bz2 cd gcc-3.4.3 # ---- patch -Np1 -i ../packages/gcc-3.4.3-no_fixincludes-1.patch patch -Np1 -i ../packages/gcc-3.4.3-linkonce-1.patch sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in mkdir -v ../gcc-build cd ../gcc-build ../gcc-3.4.3/configure --prefix=/usr \ --libexecdir=/usr/lib --enable-shared \ --enable-threads=posix --enable-__cxa_atexit \ --enable-clocale=gnu --enable-languages=c,c++ make # make -k check make install ln -sv ../usr/bin/cpp /lib ln -sv gcc /usr/bin/cc echo 'main(){}' > dummy.c cc dummy.c TOOLCHAIN_TEST=`readelf -l a.out | \ grep "\[Requesting program interpreter: /lib/ld-linux.so.2\]"` if test -z "$TOOLCHAIN_TEST" then echo "*** FATAL ERROR: Failed tool chain test, chapter06-gcc" exit 1 fi # ---- cd /tools/ponktv rm -rf gcc-build rm -rf gcc-3.4.3 log-package GCC-3.4.3 } # Coreutils-5.2.1 function chapter06-coreutils () { echo "chapter06-coreutils" cd /tools/ponktv tar -jxf packages/coreutils-5.2.1.tar.bz2 cd coreutils-5.2.1 # ---- patch -Np1 -i ../packages/coreutils-5.2.1-uname-2.patch patch -Np1 -i ../packages/coreutils-5.2.1-suppress_uptime_kill_su-1.patch DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/usr make echo "dummy1:x:1000:" >> /etc/group echo "dummy2:x:1001:dummy" >> /etc/group echo "dummy:x:1000:1000:::/bin/bash" >> /etc/passwd make NON_ROOT_USERNAME=dummy check-root src/su dummy -c "make RUN_EXPENSIVE_TESTS=yes check" sed -i '/dummy/d' /etc/passwd /etc/group make install mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin mv -v /usr/bin/{false,hostname,ln,ls,mkdir,mknod,mv,pwd,rm} /bin mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin mv -v /usr/bin/chroot /usr/sbin mv -v /usr/bin/{head,sleep} /bin # ---- cd /tools/ponktv rm -rf coreutils-5.2.1 log-package Coreutils-5.2.1 } # Zlib-1.2.3 function chapter06-zlib () { echo "chapter06-zlib" cd /tools/ponktv tar -jxf packages/zlib-1.2.3.tar.bz2 cd zlib-1.2.3 # ---- ./configure --prefix=/usr --shared --libdir=/lib make make install rm -v /lib/libz.so ln -sfv ../../lib/libz.so.1.2.3 /usr/lib/libz.so make clean ./configure --prefix=/usr make make install chmod -v 644 /usr/lib/libz.a # ---- cd /tools/ponktv rm -rf zlib-1.2.3 log-package Zlib-1.2.3 } # Mktemp-1.5 function chapter06-mktemp () { echo "chapter06-mktemp" cd /tools/ponktv tar -jxf packages/mktemp-1.5.tar.bz2 cd mktemp-1.5 # ---- patch -Np1 -i ../packages/mktemp-1.5-add_tempfile-2.patch ./configure --prefix=/usr --with-libc make make install make install-tempfile # ---- cd /tools/ponktv rm -rf mktemp-1.5 log-package Mktemp-1.5 } # Iana-Etc-1.04 function chapter06-iana-etc () { echo "chapter06-iana-etc" cd /tools/ponktv tar -jxf packages/iana-etc-1.04.tar.bz2 cd iana-etc-1.04 # ---- make make install # ---- cd /tools/ponktv rm -rf iana-etc-1.04 log-package Iana-Etc-1.04 } # Findutils-4.2.23 function chapter06-findutils () { echo "chapter06-findutils" cd /tools/ponktv tar -jxf packages/findutils-4.2.23.tar.bz2 cd findutils-4.2.23 # ---- ./configure --prefix=/usr --libexecdir=/usr/lib/locate \ --localstatedir=/var/lib/locate make make install # ---- cd /tools/ponktv rm -rf findutils-4.2.23 log-package Findutils-4.2.23 } # Gawk-3.1.4 function chapter06-gawk () { echo "chapter06-gawk" cd /tools/ponktv tar -jxf packages/gawk-3.1.4.tar.bz2 cd gawk-3.1.4 # ---- ./configure --prefix=/usr --libexecdir=/usr/lib make make install # ---- cd /tools/ponktv rm -rf gawk-3.1.4 log-package Gawk-3.1.4 } # Ncurses-5.4 function chapter06-ncurses () { echo "chapter06-ncurses" cd /tools/ponktv tar -jxf packages/ncurses-5.4.tar.bz2 cd ncurses-5.4 # ---- ./configure --prefix=/usr --with-shared --without-debug make make install chmod -v 755 /usr/lib/*.5.4 chmod -v 644 /usr/lib/libncurses++.a mv -v /usr/lib/libncurses.so.5* /lib ln -sfv ../../lib/libncurses.so.5 /usr/lib/libncurses.so ln -sfv libncurses.so /usr/lib/libcurses.so # ---- cd /tools/ponktv rm -rf ncurses-5.4 log-package Ncurses-5.4 } # Readline-5.0 function chapter06-readline () { echo "chapter06-readline" cd /tools/ponktv tar -jxf packages/readline-5.0.tar.bz2 cd readline-5.0 # ---- patch -Np1 -i ../packages/readline-5.0-fixes-1.patch ./configure --prefix=/usr --libdir=/lib make SHLIB_XLDFLAGS=-lncurses make install chmod -v 755 /lib/lib{readline,history}.so* mv -v /lib/lib{readline,history}.a /usr/lib rm -v /lib/lib{readline,history}.so ln -sfv ../../lib/libreadline.so.5 /usr/lib/libreadline.so ln -sfv ../../lib/libhistory.so.5 /usr/lib/libhistory.so # ---- cd /tools/ponktv rm -rf readline-5.0 log-package Readline-5.0 } # Vim-6.3 function chapter06-vim () { echo "chapter06-vim" cd /tools/ponktv tar -jxf packages/vim-6.3.tar.bz2 cd vim63 # ---- echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h patch -Np1 -i ../packages/vim-6.3-security_fix-2.patch ./configure --prefix=/usr --enable-multibyte make make install ln -sv vim /usr/bin/vi cat > /etc/vimrc << "EOF" " Begin /etc/vimrc set nocompatible set backspace=2 syntax on if (&term == "iterm") || (&term == "putty") set background=dark endif " End /etc/vimrc EOF # ---- cd /tools/ponktv rm -rf vim63 log-package Vim-6.3 } # M4-1.4.3 function chapter06-m4 () { echo "chapter06-m4" cd /tools/ponktv tar -jxf packages/m4-1.4.3.tar.bz2 cd m4-1.4.3 # ---- ./configure --prefix=/usr make make install # ---- cd /tools/ponktv rm -rf m4-1.4.3 log-package M4-1.4.3 } # Bison-2.0 function chapter06-bison () { echo "chapter06-bison" cd /tools/ponktv tar -jxf packages/bison-2.0.tar.bz2 cd bison-2.0 # ---- ./configure --prefix=/usr make make install # ---- cd /tools/ponktv rm -rf bison-2.0 log-package Bison-2.0 } # Less-382 function chapter06-less () { echo "chapter06-less" cd /tools/ponktv tar -jxf packages/less-382.tar.bz2 cd less-382 # ---- ./configure --prefix=/usr --bindir=/bin --sysconfdir=/etc make make install # ---- cd /tools/ponktv rm -rf less-382 log-package Less-382 } # Groff-1.19.1 function chapter06-groff () { echo "chapter06-groff" cd /tools/ponktv tar -jxf packages/groff-1.19.1.tar.bz2 cd groff-1.19.1 # ---- PAGE=${PKTV_PAPER} ./configure --prefix=/usr make make install ln -sv soelim /usr/bin/zsoelim ln -sv eqn /usr/bin/geqn ln -sv tbl /usr/bin/gtbl # ---- cd /tools/ponktv rm -rf groff-1.19.1 log-package Groff-1.19.1 } # Sed-4.1.4 function chapter06-sed () { echo "chapter06-sed" cd /tools/ponktv tar -jxf packages/sed-4.1.4.tar.bz2 cd sed-4.1.4 # ---- sed -i 's@/doc@&/sed-4.1.4@' doc/Makefile.in ./configure --prefix=/usr --bindir=/bin make make install # ---- cd /tools/ponktv rm -rf sed-4.1.4 log-package Sed-4.1.4 } # Flex-2.5.31 function chapter06-flex () { echo "chapter06-flex" cd /tools/ponktv tar -jxf packages/flex-2.5.31.tar.bz2 cd flex-2.5.31 # ---- patch -Np1 -i ../packages/flex-2.5.31-debian_fixes-3.patch touch doc/flex.1 ./configure --prefix=/usr make make install ln -sv libfl.a /usr/lib/libl.a cat > /usr/bin/lex << "EOF" #!/bin/sh # Begin /usr/bin/lex exec /usr/bin/flex -l "$@" # End /usr/bin/lex EOF chmod -v 755 /usr/bin/lex # ---- cd /tools/ponktv rm -rf flex-2.5.31 log-package Flex-2.5.31 } # Gettext-0.14.3 function chapter06-gettext () { echo "chapter06-gettext" cd /tools/ponktv tar -jxf packages/gettext-0.14.3.tar.bz2 cd gettext-0.14.3 # ---- ./configure --prefix=/usr make make install # ---- cd /tools/ponktv rm -rf gettext-0.14.3 log-package Gettext-0.14.3 } # Inetutils-1.4.2 function chapter06-inetutils () { echo "chapter06-inetutils" cd /tools/ponktv tar -jxf packages/inetutils-1.4.2.tar.bz2 cd inetutils-1.4.2 # ---- patch -Np1 -i ../packages/inetutils-1.4.2-kernel_headers-1.patch patch -Np1 -i ../packages/inetutils-1.4.2-no_server_man_pages-1.patch ./configure --prefix=/usr --libexecdir=/usr/sbin \ --sysconfdir=/etc --localstatedir=/var \ --disable-logger --disable-syslogd \ --disable-whois --disable-servers make make install mv -v /usr/bin/ping /bin # ---- cd /tools/ponktv rm -rf inetutils-1.4.2 log-package Inetutils-1.4.2 } # IPRoute2-2.6.11-050330 function chapter06-iproute2 () { echo "chapter06-iproute2" cd /tools/ponktv tar -jxf packages/iproute2-2.6.11-050330.tar.bz2 cd iproute2-2.6.11 # ---- sed -i '/^TARGETS/s@arpd@@g' misc/Makefile ./configure make SBINDIR=/sbin make SBINDIR=/sbin install # ---- cd /tools/ponktv rm -rf iproute2-2.6.11 log-package IPRoute2-2.6.11-050330 } # Perl-5.8.7 function chapter06-perl () { echo "chapter06-perl" cd /tools/ponktv tar -jxf packages/perl-5.8.7.tar.bz2 cd perl-5.8.7 # ---- patch -Np1 -i ../packages/perl-5.8.7-sprintf_vulnerability-1.patch ./configure.gnu --prefix=/usr -Dpager="/bin/less -isR" make echo "127.0.0.1 localhost $(hostname)" > /etc/hosts # make test make install # ---- cd /tools/ponktv rm -rf perl-5.8.7 log-package Perl-5.8.7 } # Texinfo-4.8 function chapter06-texinfo () { echo "chapter06-texinfo" cd /tools/ponktv tar -jxf packages/texinfo-4.8.tar.bz2 cd texinfo-4.8 # ---- patch -Np1 -i ../packages/texinfo-4.8-tempfile_fix-1.patch ./configure --prefix=/usr make make install make TEXMF=/usr/share/texmf install-tex # Commands to resync texinfo # cd /usr/share/info # rm dir # for f in * # do install-info $f dir 2>/dev/null # done # ---- cd /tools/ponktv rm -rf texinfo-4.8 log-package Texinfo-4.8 } # Autoconf-2.59 function chapter06-autoconf () { echo "chapter06-autoconf" cd /tools/ponktv tar -jxf packages/autoconf-2.59.tar.bz2 cd autoconf-2.59 # ---- ./configure --prefix=/usr make make install # ---- cd /tools/ponktv rm -rf autoconf-2.59 log-package Autoconf-2.59 } # Automake-1.9.5 function chapter06-automake () { echo "chapter06-automake" cd /tools/ponktv tar -jxf packages/automake-1.9.5.tar.bz2 cd automake-1.9.5 # ---- ./configure --prefix=/usr make make install # ---- cd /tools/ponktv rm -rf automake-1.9.5 log-package Automake-1.9.5 } # Bash-3.0 function chapter06-bash () { echo "chapter06-bash" cd /tools/ponktv tar -jxf packages/bash-3.0.tar.bz2 cd bash-3.0 # ---- tar -jxf ../packages/bash-doc-3.0.tar.bz2 sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/bash-3.0|" \ Makefile.in patch -Np1 -i ../packages/bash-3.0-fixes-3.patch patch -Np1 -i ../packages/bash-3.0-avoid_WCONTINUED-1.patch ./configure --prefix=/usr --bindir=/bin \ --without-bash-malloc --with-installed-readline make make install # ---- cd /tools/ponktv rm -rf bash-3.0 log-package Bash-3.0 } # File-4.13 function chapter06-file () { echo "chapter06-file" cd /tools/ponktv tar -jxf packages/file-4.13.tar.bz2 cd file-4.13 # ---- ./configure --prefix=/usr make make install # ---- cd /tools/ponktv rm -rf file-4.13 log-package File-4.13 } # Libtool-1.5.14 function chapter06-libtool () { echo "chapter06-libtool" cd /tools/ponktv tar -jxf packages/libtool-1.5.14.tar.bz2 cd libtool-1.5.14 # ---- ./configure --prefix=/usr make make install # ---- cd /tools/ponktv rm -rf libtool-1.5.14 log-package Libtool-1.5.14 } # Bzip2-1.0.3 function chapter06-bzip2 () { echo "chapter06-bzip2" cd /tools/ponktv tar -jxf packages/bzip2-1.0.3.tar.bz2 cd bzip2-1.0.3 # ---- patch -Np1 -i ../packages/bzip2-1.0.3-install_docs-1.patch patch -Np1 -i ../packages/bzip2-1.0.3-bzgrep_security-1.patch make -f Makefile-libbz2_so make clean make make install cp -v bzip2-shared /bin/bzip2 cp -av libbz2.so* /lib ln -sv ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so rm -v /usr/bin/{bunzip2,bzcat,bzip2} ln -sv bzip2 /bin/bunzip2 ln -sv bzip2 /bin/bzcat # ---- cd /tools/ponktv rm -rf bzip2-1.0.3 log-package Bzip2-1.0.3 } # Diffutils-2.8.1 function chapter06-diffutils () { echo "chapter06-diffutils" cd /tools/ponktv tar -jxf packages/diffutils-2.8.1.tar.bz2 cd diffutils-2.8.1 # ---- ./configure --prefix=/usr make make install # ---- cd /tools/ponktv rm -rf diffutils-2.8.1 log-package Diffutils-2.8.1 } # Kbd-1.12 function chapter06-kbd () { echo "chapter06-kbd" cd /tools/ponktv tar -jxf packages/kbd-1.12.tar.bz2 cd kbd-1.12 # ---- ./configure make make install # ---- cd /tools/ponktv rm -rf kbd-1.12 log-package Kbd-1.12 } # E2fsprogs-1.37 function chapter06-e2fsprogs () { echo "chapter06-e2fsprogs" cd /tools/ponktv tar -jxf packages/e2fsprogs-1.37.tar.bz2 cd e2fsprogs-1.37 # ---- sed -i -e 's/-DTEST/$(ALL_CFLAGS) &/' lib/e2p/Makefile.in mkdir -v build cd build ../configure --prefix=/usr --with-root-prefix="" \ --enable-elf-shlibs --disable-evms make make install make install-libs cd .. # ---- cd /tools/ponktv rm -rf e2fsprogs-1.37 log-package E2fsprogs-1.37 } # Grep-2.5.1a function chapter06-grep () { echo "chapter06-grep" cd /tools/ponktv tar -jxf packages/grep-2.5.1a.tar.bz2 cd grep-2.5.1a # ---- ./configure --prefix=/usr --bindir=/bin make make install # ---- cd /tools/ponktv rm -rf grep-2.5.1a log-package Grep-2.5.1a } # GRUB-0.96 function chapter06-grub () { echo "chapter06-grub" cd /tools/ponktv tar -jxf packages/grub-0.96.tar.bz2 cd grub-0.96 # ---- ./configure --prefix=/usr make make install mkdir -v /boot/grub cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub # ---- cd /tools/ponktv rm -rf grub-0.96 log-package GRUB-0.96 } # Gzip-1.3.5 function chapter06-gzip () { echo "chapter06-gzip" cd /tools/ponktv tar -jxf packages/gzip-1.3.5.tar.bz2 cd gzip-1.3.5 # ---- patch -Np1 -i ../packages/gzip-1.3.5-security_fixes-1.patch ./configure --prefix=/usr sed -i 's@"BINDIR"@/bin@g' gzexe.in make make install mv -v /usr/bin/gzip /bin rm -v /usr/bin/{gunzip,zcat} ln -sv gzip /bin/gunzip ln -sv gzip /bin/zcat ln -sv gzip /bin/compress ln -sv gunzip /bin/uncompress # ---- cd /tools/ponktv rm -rf gzip-1.3.5 log-package Gzip-1.3.5 } # Hotplug-2004_09_23 function chapter06-hotplug () { echo "chapter06-hotplug" cd /tools/ponktv tar -jxf packages/hotplug-2004_09_23.tar.bz2 cd hotplug-2004_09_23 # ---- make install cp -v etc/hotplug/pnp.distmap /etc/hotplug rm -rfv /etc/init.d rm -fv /etc/hotplug/net.agent mkdir -v /lib/firmware # ---- cd /tools/ponktv rm -rf hotplug-2004_09_23 log-package Hotplug-2004_09_23 } # Man-1.5p function chapter06-man () { echo "chapter06-man" cd /tools/ponktv tar -jxf packages/man-1.5p.tar.bz2 cd man-1.5p # ---- sed -i 's@-is@&R@g' configure sed -i 's@MANPATH./usr/man@#&@g' src/man.conf.in ./configure -confdir=/etc make make install # ---- cd /tools/ponktv rm -rf man-1.5p log-package Man-1.5p } # Make-3.80 function chapter06-make () { echo "chapter06-make" cd /tools/ponktv tar -jxf packages/make-3.80.tar.bz2 cd make-3.80 # ---- ./configure --prefix=/usr make make install # ---- cd /tools/ponktv rm -rf make-3.80 log-package Make-3.80 } # Module-Init-Tools-3.1 function chapter06-module-init-tools () { echo "chapter06-module-init-tools" cd /tools/ponktv tar -jxf packages/module-init-tools-3.1.tar.bz2 cd module-init-tools-3.1 # ---- touch modprobe.conf.5 # Test suite for Module-Init-Tools # tar -xvf ../packages/module-init-tools-testsuite-3.1.tar.bz2 --strip-path=1 && # ./configure && # make check && # make distclean ./configure --prefix="" --enable-zlib make make install # ---- cd /tools/ponktv rm -rf module-init-tools-3.1 log-package Module-Init-Tools-3.1 } # Patch-2.5.4 function chapter06-patch () { echo "chapter06-patch" cd /tools/ponktv tar -jxf packages/patch-2.5.4.tar.bz2 cd patch-2.5.4 # ---- CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/usr make make install # ---- cd /tools/ponktv rm -rf patch-2.5.4 log-package Patch-2.5.4 } # Procps-3.2.5 function chapter06-procps () { echo "chapter06-procps" cd /tools/ponktv tar -jxf packages/procps-3.2.5.tar.bz2 cd procps-3.2.5 # ---- make make install # ---- cd /tools/ponktv rm -rf procps-3.2.5 log-package Procps-3.2.5 } # Psmisc-21.6 function chapter06-psmisc () { echo "chapter06-psmisc" cd /tools/ponktv tar -jxf packages/psmisc-21.6.tar.bz2 cd psmisc-21.6 # ---- ./configure --prefix=/usr --exec-prefix="" make make install mv -v /bin/pstree* /usr/bin ln -sv killall /bin/pidof # ---- cd /tools/ponktv rm -rf psmisc-21.6 log-package Psmisc-21.6 } # Shadow-4.0.9 function chapter06-shadow () { echo "chapter06-shadow" cd /tools/ponktv tar -jxf packages/shadow-4.0.9.tar.bz2 cd shadow-4.0.9 # ---- ./configure --libdir=/lib --enable-shared sed -i 's/groups$(EXEEXT) //' src/Makefile sed -i '/groups/d' man/Makefile make make install cp -v etc/{limits,login.access} /etc sed -e's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \ -e 's@/var/spool/mail@/var/mail@' \ etc/login.defs.linux > /etc/login.defs mv -v /usr/bin/passwd /bin mv -v /lib/libshadow.*a /usr/lib rm -v /lib/libshadow.so ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so mkdir -v /etc/default pwconv grpconv # ---- cd /tools/ponktv rm -rf shadow-4.0.9 log-package Shadow-4.0.9 } # Sysklogd-1.4.1 function chapter06-sysklogd () { echo "chapter06-sysklogd" cd /tools/ponktv tar -jxf packages/sysklogd-1.4.1.tar.bz2 cd sysklogd-1.4.1 # ---- patch -Np1 -i ../packages/sysklogd-1.4.1-fixes-1.patch make make install cat > /etc/syslog.conf << "EOF" # Begin /etc/syslog.conf auth,authpriv.* -/var/log/auth.log *.*;auth,authpriv.none -/var/log/sys.log daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log mail.* -/var/log/mail.log user.* -/var/log/user.log *.emerg * # log the bootscript output: local2.* -/var/log/boot.log # End /etc/syslog.conf EOF # ---- cd /tools/ponktv rm -rf sysklogd-1.4.1 log-package Sysklogd-1.4.1 } # Sysvinit-2.86 function chapter06-sysvinit () { echo "chapter06-sysvinit" cd /tools/ponktv tar -jxf packages/sysvinit-2.86.tar.bz2 cd sysvinit-2.86 # ---- sed -i 's@Sending processes@& started by init@g' \ src/init.c make -C src make -C src install cat > /etc/inittab << "EOF" # Begin /etc/inittab id:3:initdefault: si::sysinit:/etc/rc.d/init.d/rc sysinit l0:0:wait:/etc/rc.d/init.d/rc 0 l1:S1:wait:/etc/rc.d/init.d/rc 1 l2:2:wait:/etc/rc.d/init.d/rc 2 l3:3:wait:/etc/rc.d/init.d/rc 3 l4:4:wait:/etc/rc.d/init.d/rc 4 l5:5:wait:/etc/rc.d/init.d/rc 5 l6:6:wait:/etc/rc.d/init.d/rc 6 ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now su:S016:once:/sbin/sulogin 1:2345:respawn:/sbin/agetty -I '\033(K' tty1 9600 2:2345:respawn:/sbin/agetty -I '\033(K' tty2 9600 3:2345:respawn:/sbin/agetty -I '\033(K' tty3 9600 4:2345:respawn:/sbin/agetty -I '\033(K' tty4 9600 5:2345:respawn:/sbin/agetty -I '\033(K' tty5 9600 6:2345:respawn:/sbin/agetty -I '\033(K' tty6 9600 # End /etc/inittab EOF # ---- cd /tools/ponktv rm -rf sysvinit-2.86 log-package Sysvinit-2.86 } # Tar-1.15.1 function chapter06-tar () { echo "chapter06-tar" cd /tools/ponktv tar -jxf packages/tar-1.15.1.tar.bz2 cd tar-1.15.1 # ---- patch -Np1 -i ../packages/tar-1.15.1-sparse_fix-1.patch ./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin make make install # ---- cd /tools/ponktv rm -rf tar-1.15.1 log-package Tar-1.15.1 } # Udev-056 function chapter06-udev () { echo "chapter06-udev" cd /tools/ponktv tar -jxf packages/udev-056.tar.bz2 cd udev-056 # ---- make udevdir=/dev make DESTDIR=/ udevdir=/dev install cp -v ../packages/udev-config-4.rules /etc/udev/rules.d/25-lfs.rules /sbin/udevstart # ---- cd /tools/ponktv rm -rf udev-056 log-package Udev-056 } # Util-linux-2.12q function chapter06-util-linux () { echo "chapter06-util-linux" cd /tools/ponktv tar -jxf packages/util-linux-2.12q.tar.bz2 cd util-linux-2.12q # ---- sed -i 's@etc/adjtime@var/lib/hwclock/adjtime@g' \ hwclock/hwclock.c mkdir -p /var/lib/hwclock patch -Np1 -i ../packages/util-linux-2.12q-cramfs-1.patch patch -Np1 -i ../packages/util-linux-2.12q-umount_fix-1.patch ./configure make HAVE_KILL=yes HAVE_SLN=yes make HAVE_KILL=yes HAVE_SLN=yes install mv /usr/bin/logger /bin # ---- cd /tools/ponktv rm -rf util-linux-2.12q log-package Util-linux-2.12q } # Stripping Again function chapter06-strippingagain () { echo "chapter06-strippingagain" cd /tools/ponktv # ---- # logout /tools/bin/find /{,usr/}{bin,lib,sbin} -type f \ -exec /tools/bin/strip --strip-debug '{}' ';' # ---- } # Cleaning Up # LFS-Bootscripts-3.2.1 function chapter07-bootscripts () { echo "chapter07-bootscripts" cd /tools/ponktv tar -jxf packages/lfs-bootscripts-3.2.1.tar.bz2 cd lfs-bootscripts-3.2.1 # ---- make install # ---- cd /tools/ponktv rm -rf lfs-bootscripts-3.2.1 } # Device and Module Handling on an LFS System function chapter07-udev () { echo "chapter07-udev" cd /tools/ponktv # ---- # install snd-pcm modprobe -i snd-pcm ; modprobe \ # snd-pcm-oss ; true # ---- } # Configuring the setclock Script function chapter07-setclock () { echo "chapter07-setclock" cd /tools/ponktv # ---- cat > /etc/sysconfig/clock << "EOF" # Begin /etc/sysconfig/clock UTC=1 # End /etc/sysconfig/clock EOF # ---- } # Configuring the Linux Console function chapter07-console () { echo "chapter07-console" cd /tools/ponktv # ---- echo "KEYMAP=\"${PKTV_CONSOLE}\"" > /etc/sysconfig/console echo "FONT=\"${PKTV_FONT}\"" >> /etc/sysconfig/console # Another way to set console # cat >/etc/sysconfig/console <<"EOF" #KEYMAP="es euro2" #FONT="lat9-16 -u iso01" #EOF # FONT="lat1-16" # zgrep '\W14\W' [/path/to/your/keymap] # mkdir -pv /etc/kbd && cat > /etc/kbd/bs-sends-del <<"EOF" # keycode 14 = Delete Delete Delete Delete # alt keycode 14 = Meta_Delete # altgr alt keycode 14 = Meta_Delete # keycode 111 = Remove # altgr control keycode 111 = Boot # control alt keycode 111 = Boot #altgr control alt keycode 111 = Boot #EOF # cat >>/etc/sysconfig/console <<"EOF" #KEYMAP_CORRECTIONS="/etc/kbd/bs-sends-del" #EOF # ---- } # Configuring the sysklogd script function chapter07-sysklogd () { echo "chapter07-sysklogd" # ---- # ---- } # Creating the /etc/inputrc File function chapter07-inputrc () { echo "chapter07-inputrc" cd /tools/ponktv # ---- cat > /etc/inputrc << "EOF" # Begin /etc/inputrc # Modified by Chris Lynn # Allow the command prompt to wrap to the next line set horizontal-scroll-mode Off # Enable 8bit input set meta-flag On set input-meta On # Turns off 8th bit stripping set convert-meta Off # Keep the 8th bit for display set output-meta On # none, visible or audible set bell-style none # All of the following map the escape sequence of the # value contained inside the 1st argument to the # readline specific functions "\eOd": backward-word "\eOc": forward-word # for linux console "\e[1~": beginning-of-line "\e[4~": end-of-line "\e[5~": beginning-of-history "\e[6~": end-of-history "\e[3~": delete-char "\e[2~": quoted-insert # for xterm "\eOH": beginning-of-line "\eOF": end-of-line # for Konsole "\e[H": beginning-of-line "\e[F": end-of-line # End /etc/inputrc EOF # ---- } # The Bash Shell Startup Files function chapter07-profile () { echo "chapter07-profile" cd /tools/ponktv # ---- echo '# Begin /etc/profile' > /etc/profile echo '' >> /etc/profile echo 'export LANG='${PKTV_LL}'_'${PKTV_CC}'.'${PKTV_CHARMAP} >> /etc/profile echo 'export INPUTRC=/etc/inputrc' >> /etc/profile echo '' >> /etc/profile echo '# End /etc/profile' >> /etc/profile # ---- } # Configuring the localnet Script function chapter07-hostname () { echo "chapter07-hostname" cd /tools/ponktv # ---- echo "HOSTNAME=ponktv" > /etc/sysconfig/network # ---- } # Creating the /etc/hosts File function chapter07-hosts () { echo "chapter07-hosts" cd /tools/ponktv # ---- cat > /etc/hosts << "EOF" # Begin /etc/hosts (network card version) 127.0.0.1 localhost 192.168.0.10 ponktv.local.net ponktv # End /etc/hosts (network card version) EOF # No network card # cat > /etc/hosts << "EOF" ## Begin /etc/hosts (no network card version) # #127.0.0.1 [.example.org] [HOSTNAME] localhost # ## End /etc/hosts (no network card version) #EOF # ---- } # Configuring the network Script function chapter07-network () { echo "chapter07-network" cd /tools/ponktv # ---- cd /etc/sysconfig/network-devices mkdir -v /etc/sysconfig/network-devices/ifconfig.${PKTV_ETH} cat > /etc/sysconfig/network-devices/ifconfig.${PKTV_ETH}/ipv4 << "EOF" ONBOOT=yes SERVICE=ipv4-static IP=192.168.0.10 GATEWAY=192.168.0.1 PREFIX=24 BROADCAST=192.168.0.255 EOF cat > /etc/resolv.conf << "EOF" # Begin /etc/resolv.conf domain {local.net} nameserver 192.168.0.1 nameserver 192.168.0.1 # End /etc/resolv.conf EOF # ---- } # Creating the /etc/fstab File function chapter08-fstab () { echo "chapter08-fstab" cd /tools/ponktv # ---- cat > /etc/fstab << "EOF" # Begin /etc/fstab # file system mount-point type options dump fsck # order # / ext2 defaults 1 1 # swap swap pri=1 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 devpts /dev/pts devpts gid=4,mode=620 0 0 shm /dev/shm tmpfs defaults 0 0 # End /etc/fstab EOF # ---- } # Linux-2.6.11.12 function chapter08-kernel () { echo "chapter08-kernel" cd /tools/ponktv tar -jxf packages/squashfs2.2-r2.tar.bz2 tar -jxf packages/linux-2.6.11.12.tar.bz2 cd linux-2.6.11.12 # ---- patch -Np1 -i ../squashfs2.2-r2/linux-2.6.11/squashfs2.2-patch rm -r ../squashfs2.2-r2 patch -Np1 -i ../packages/bootsplash-3.1.6-2.6.11.diff make mrproper loadkeys -m /usr/share/kbd/keymaps/${PKTV_KERNEL_CONSOLE} > \ drivers/char/defkeymap.c cp ../packages/pktvkernel-2.6.11.12.cfg .config make oldconfig make make modules_install cp -v arch/i386/boot/bzImage /boot/pktvkernel-2.6.11.12 cp -v System.map /boot/System.map-2.6.11.12 cp -v .config /boot/pktvkernel-2.6.11.12.cfg # ---- cd /tools/ponktv } # Making the LFS System Bootable function chapter08-grub () { echo "chapter08-grub" # ---- # To make boot floppy # dd if=/boot/grub/stage1 of=/dev/fd0 bs=512 count=1 # dd if=/boot/grub/stage2 of=/dev/fd0 bs=512 seek=1 cat > /boot/grub/menu.lst << "EOF" # Begin /boot/grub/menu.lst # By default boot the first menu entry. default 0 # Allow 30 seconds before booting the default. timeout 30 # Use prettier colors. color green/black light-green/black # The first entry is for LFS. title LFS 6.1.1 #root (hd0,0) #kernel /boot/pktvkernel-2.6.11.12 root=/dev/hda1 EOF mkdir -v /etc/grub ln -sv /boot/grub/menu.lst /etc/grub # ---- } # The End function chapter09-theend () { echo "chapter09-theend" # ---- mv /tools/ponktv /usr/src/ponktv echo 6.1.1 > /etc/lfs-release # ---- } # Rebooting the System function chapter09-reboot () { echo "chapter09-reboot" # ---- umount -v build/dev/pts umount -v build/dev/shm umount -v build/dev umount -v build/proc umount -v build/sys # ---- } # ------------------------ # ---- blfs functions ---- # ------------------------ # functions to build selected blfs packages # Configuring for Adding Users function blfs-config () { echo "Configuring for Adding Users" # ---- cat > /etc/default/useradd <<"EOF" # Begin /etc/default/useradd GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel # End /etc/default/useradd EOF install -d /etc/skel # ---- } # The Bash Shell Startup Files function blfs-profile () { echo "The Bash Shell Startup Files" # ---- cat > /etc/profile << "EOF" # Begin /etc/profile # Written for Beyond Linux From Scratch # by James Robertson # modifications by Dagmar d'Surreal # System wide environment variables and startup programs. # System wide aliases and functions should go in /etc/bashrc. Personal # environment variables and startup programs should go into # ~/.bash_profile. Personal aliases and functions should go into # ~/.bashrc. # Functions to help us manage paths. Second argument is the name of the # path variable to be modified (default: PATH) pathremove () { local IFS=':' local NEWPATH local DIR local PATHVARIABLE=${2:-PATH} for DIR in ${!PATHVARIABLE} ; do if [ "$DIR" != "$1" ] ; then NEWPATH=${NEWPATH:+$NEWPATH:}$DIR fi done export $PATHVARIABLE="$NEWPATH" } pathprepend () { pathremove $1 $2 local PATHVARIABLE=${2:-PATH} export $PATHVARIABLE="$1${!PATHVARIABLE:+:${!PATHVARIABLE}}" } pathappend () { pathremove $1 $2 local PATHVARIABLE=${2:-PATH} export $PATHVARIABLE="${!PATHVARIABLE:+${!PATHVARIABLE}:}$1" } # Set the initial path export PATH=/bin:/usr/bin if [ $EUID -eq 0 ] ; then pathappend /sbin:/usr/sbin unset HISTFILE fi # Setup some environment variables. export HISTSIZE=1000 export HISTIGNORE="&:[bf]g:exit" #export PS1="[\u@\h \w]\\$ " export PS1='\u@\h:\w\$ ' for script in /etc/profile.d/*.sh ; do if [ -r $script ] ; then . $script fi done # Now to clean up unset pathremove pathprepend pathappend # End /etc/profile EOF install --directory --mode=0755 --owner=root --group=root /etc/profile.d cat > /etc/profile.d/dircolors.sh << "EOF" # Setup for /bin/ls to support color, the alias is in /etc/bashrc. if [ -f "/etc/dircolors" ] ; then eval $(dircolors -b /etc/dircolors) if [ -f "$HOME/.dircolors" ] ; then eval $(dircolors -b $HOME/.dircolors) fi fi alias ls='ls --color=auto' EOF cat > /etc/profile.d/extrapaths.sh << "EOF" if [ -d /usr/local/lib/pkgconfig ] ; then pathappend /usr/local/lib/pkgconfig PKG_CONFIG_PATH fi if [ -d /usr/local/bin ]; then pathprepend /usr/local/bin fi if [ -d /usr/local/sbin -a $EUID -eq 0 ]; then pathprepend /usr/local/sbin fi for directory in $(find /opt/*/lib/pkgconfig -type d 2>/dev/null); do pathappend $directory PKG_CONFIG_PATH done for directory in $(find /opt/*/bin -type d 2>/dev/null); do pathappend $directory done if [ -d ~/bin ]; then pathprepend ~/bin fi #if [ $EUID -gt 99 ]; then # pathappend . #fi EOF cat > /etc/profile.d/readline.sh << "EOF" # Setup the INPUTRC environment variable. if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ] ; then INPUTRC=/etc/inputrc fi export INPUTRC EOF cat > /etc/profile.d/tinker-term.sh << "EOF" # This will tinker with the value of TERM in order to convince certain # apps that we can, indeed, display color in their window. if [ -n "$COLORTERM" ]; then export TERM=xterm-color fi if [ "$TERM" = "xterm" ]; then export TERM=xterm-color fi EOF cat > /etc/profile.d/umask.sh << "EOF" # By default we want the umask to get set. if [ "$(id -gn)" = "$(id -un)" -a $EUID -gt 99 ] ; then umask 002 else umask 022 fi EOF cat > /etc/profile.d/X.sh << "EOF" if [ -x /usr/X11R6/bin/X ]; then pathappend /usr/X11R6/bin fi if [ -d /usr/X11R6/lib/pkgconfig ] ; then pathappend /usr/X11R6/lib/pkgconfig PKG_CONFIG_PATH fi EOF cat > /etc/profile.d/extra-prompt.sh << "EOF" #PROMPT_COMMAND="echo -ne '\e[1m${USER}@${HOSTNAME} : ${PWD}\e[0m\a'" #export PROMPT_COMMAND EOF echo "# Set up i18n variables" > /etc/profile.d/i18n.sh echo "export LC_ALL="${PKTV_LL}"_"${PKTV_CC} >> /etc/profile.d/i18n.sh echo "export LANG="${PKTV_LL}"_"${PKTV_CC} >> /etc/profile.d/i18n.sh echo "export G_FILENAME_ENCODING=@locale" >> /etc/profile.d/i18n.sh cat > /etc/bashrc << "EOF" # Begin /etc/bashrc # Written for Beyond Linux From Scratch # by James Robertson # updated by Bruce Dubbs # Make sure that the terminal is set up properly for each shell if [ -f /etc/profile.d/tinker-term.sh ]; then source /etc/profile.d/tinker-term.sh fi # System wide aliases and functions. # System wide environment variables and startup programs should go into # /etc/profile. Personal environment variables and startup programs # should go into ~/.bash_profile. Personal aliases and functions should # go into ~/.bashrc # Provides a colored /bin/ls command. Used in conjunction with code in # /etc/profile. alias ls='ls --color=auto' # Provides prompt for non-login shells, specifically shells started # in the X environment. [Review the LFS archive thread titled # PS1 Environment Variable for a great case study behind this script # addendum.] #export PS1="[\u@\h \w]\\$ " export PS1='\u@\h:\w\$ ' # End /etc/bashrc EOF cat > /etc/skel/.bash_profile << "EOF" # Begin ~/.bash_profile # Written for Beyond Linux From Scratch # by James Robertson # updated by Bruce Dubbs # Personal environment variables and startup programs. # Personal aliases and functions should go in ~/.bashrc. System wide # environment variables and startup programs are in /etc/profile. # System wide aliases and functions are in /etc/bashrc. append () { # First remove the directory local IFS=':' local NEWPATH for DIR in $PATH; do if [ "$DIR" != "$1" ]; then NEWPATH=${NEWPATH:+$NEWPATH:}$DIR fi done # Then append the directory export PATH=$NEWPATH:$1 } if [ -f "$HOME/.bashrc" ] ; then source $HOME/.bashrc fi if [ -d "$HOME/bin" ] ; then append $HOME/bin fi unset append # End ~/.bash_profile EOF cat > /etc/skel/.bashrc << "EOF" # Begin ~/.bashrc # Written for Beyond Linux From Scratch # by James Robertson # Personal aliases and functions. # Personal environment variables and startup programs should go in # ~/.bash_profile. System wide environment variables and startup # programs are in /etc/profile. System wide aliases and functions are # in /etc/bashrc. if [ -f "/etc/bashrc" ] ; then source /etc/bashrc fi # End ~/.bashrc EOF cat > /etc/skel/.bash_logout << "EOF" # Begin ~/.bash_logout # Written for Beyond Linux From Scratch # by James Robertson # Personal items to perform on logout. # End ~/.bash_logout EOF dircolors -p > /etc/dircolors chmod 0644 /etc/skel/.bash_profile cp /etc/skel/.bash_profile /root/.bash_profile chmod 0644 /etc/skel/.bashrc cp /etc/skel/.bashrc /root/.bashrc chmod 0644 /etc/skel/.bash_logout cp /etc/skel/.bash_logout /root/.bash_logout # ---- } # Customizing your Logon with /etc/issue function blfs-logon () { echo "Customizing your Logon with /etc/issue" # ---- touch /etc/issue # ---- } # The /etc/vimrc and ~/.vimrc Files function blfs-vimrc () { echo "The /etc/vimrc and ~/.vimrc Files" # ---- cat > /etc/.vimrc << EOF " Begin /etc/vimrc set nocompatible set backspace=2 syntax on if (&term == "iterm") || (&term == "putty") set background=dark endif " End /etc/vimrc EOF cp /etc/vimrc ~/.vimrc # ---- } # The /etc/shells File function blfs-shells () { echo "The /etc/shells File" # ---- cat > /etc/shells << "EOF" # Begin /etc/shells /bin/sh /bin/bash # End /etc/shells EOF # ---- } # Random Number Generation function blfs-random () { echo "Random Number Generation" cd /usr/src/ponktv tar -jxf packages/blfs-bootscripts-6.1.tar.bz2 cd blfs-bootscripts-6.1 # ---- make install-random # ---- cd /usr/src/ponktv rm -rf blfs-bootscripts-6.1 } # Compressing Man and Info Pages function blfs-compressdoc () { echo "Compressing Man and Info Pages" # ---- cat > /usr/sbin/compressdoc << "EOF" #!/bin/bash # VERSION: 20050112.0027 # # Compress (with bzip2 or gzip) all man pages in a hierarchy and # update symlinks - By Marc Heerdink # # Modified to be able to gzip or bzip2 files as an option and to deal # with all symlinks properly by Mark Hymers # # Modified 20030930 by Yann E. Morin # to accept compression/decompression, to correctly handle hard-links, # to allow for changing hard-links into soft- ones, to specify the # compression level, to parse the man.conf for all occurrences of MANPATH, # to allow for a backup, to allow to keep the newest version of a page. # # Modified 20040330 by Tushar Teredesai to replace $0 by the name of the # script. # (Note: It is assumed that the script is in the user's PATH) # # Modified 20050112 by Randy McMurchy to shorten line lengths and # correct grammar errors. # # TODO: # - choose a default compress method to be based on the available # tool : gzip or bzip2; # - offer an option to automagically choose the best compression # methed on a per page basis (eg. check which of # gzip/bzip2/whatever is the most effective, page per page); # - when a MANPATH env var exists, use this instead of /etc/man.conf # (useful for users to (de)compress their man pages; # - offer an option to restore a previous backup; # - add other compression engines (compress, zip, etc?). Needed? # Funny enough, this function prints some help. function help () { if [ -n "$1" ]; then echo "Unknown option : $1" fi ( echo "Usage: $MY_NAME [options] [dirs]" && \ cat << EOT Where comp_method is one of : --gzip, --gz, -g --bzip2, --bz2, -b Compress using gzip or bzip2. --decompress, -d Decompress the man pages. --backup Specify a .tar backup shall be done for all directories. In case a backup already exists, it is saved as .tar.old prior to making the new backup. If a .tar.old backup exists, it is removed prior to saving the backup. In backup mode, no other action is performed. And where options are : -1 to -9, --fast, --best The compression level, as accepted by gzip and bzip2. When not specified, uses the default compression level for the given method (-6 for gzip, and -9 for bzip2). Not used when in backup or decompress modes. --force, -F Force (re-)compression, even if the previous one was the same method. Useful when changing the compression ratio. By default, a page will not be re-compressed if it ends with the same suffix as the method adds (.bz2 for bzip2, .gz for gzip). --soft, -S Change hard-links into soft-links. Use with _caution_ as the first encountered file will be used as a reference. Not used when in backup mode. --hard, -H Change soft-links into hard-links. Not used when in backup mode. --conf=dir, --conf dir Specify the location of man.conf. Defaults to /etc. --verbose, -v Verbose mode, print the name of the directory being processed. Double the flag to turn it even more verbose, and to print the name of the file being processed. --fake, -f Fakes it. Print the actual parameters compman will use. dirs A list of space-separated _absolute_ pathnames to the man directories. When empty, and only then, parse ${MAN_CONF}/man.conf for all occurrences of MANPATH. Note about compression: There has been a discussion on blfs-support about compression ratios of both gzip and bzip2 on man pages, taking into account the hosting fs, the architecture, etc... On the overall, the conclusion was that gzip was much more efficient on 'small' files, and bzip2 on 'big' files, small and big being very dependent on the content of the files. See the original post from Mickael A. Peters, titled "Bootable Utility CD", dated 20030409.1816(+0200), and subsequent posts: http://linuxfromscratch.org/pipermail/blfs-support/2003-April/038817.html On my system (x86, ext3), man pages were 35564KB before compression. gzip -9 compressed them down to 20372KB (57.28%), bzip2 -9 got down to 19812KB (55.71%). That is a 1.57% gain in space. YMMV. What was not taken into consideration was the decompression speed. But does it make sense to? You gain fast access with uncompressed man pages, or you gain space at the expense of a slight overhead in time. Well, my P4-2.5GHz does not even let me notice this... :-) EOT ) | less } # This function checks that the man page is unique amongst bzip2'd, # gzip'd and uncompressed versions. # $1 the directory in which the file resides # $2 the file name for the man page # Returns 0 (true) if the file is the latest and must be taken care of, # and 1 (false) if the file is not the latest (and has therefore been # deleted). function check_unique () { # NB. When there are hard-links to this file, these are # _not_ deleted. In fact, if there are hard-links, they # all have the same date/time, thus making them ready # for deletion later on. # Build the list of all man pages with the same name DIR=$1 BASENAME=`basename "${2}" .bz2` BASENAME=`basename "${BASENAME}" .gz` GZ_FILE="$BASENAME".gz BZ_FILE="$BASENAME".bz2 # Look for, and keep, the most recent one LATEST=`(cd "$DIR"; ls -1rt "${BASENAME}" "${GZ_FILE}" "${BZ_FILE}" \ 2>/dev/null | tail -n 1)` for i in "${BASENAME}" "${GZ_FILE}" "${BZ_FILE}"; do [ "$LATEST" != "$i" ] && rm -f "$DIR"/"$i" done # In case the specified file was the latest, return 0 [ "$LATEST" = "$2" ] && return 0 # If the file was not the latest, return 1 return 1 } # Name of the script MY_NAME=`basename $0` # OK, parse the command-line for arguments, and initialize to some # sensible state, that is: don't change links state, parse # /etc/man.conf, be most silent, search man.conf in /etc, and don't # force (re-)compression. COMP_METHOD= COMP_SUF= COMP_LVL= FORCE_OPT= LN_OPT= MAN_DIR= VERBOSE_LVL=0 BACKUP=no FAKE=no MAN_CONF=/etc while [ -n "$1" ]; do case $1 in --gzip|--gz|-g) COMP_SUF=.gz COMP_METHOD=$1 shift ;; --bzip2|--bz2|-b) COMP_SUF=.bz2 COMP_METHOD=$1 shift ;; --decompress|-d) COMP_SUF= COMP_LVL= COMP_METHOD=$1 shift ;; -[1-9]|--fast|--best) COMP_LVL=$1 shift ;; --force|-F) FORCE_OPT=-F shift ;; --soft|-S) LN_OPT=-S shift ;; --hard|-H) LN_OPT=-H shift ;; --conf=*) MAN_CONF=`echo $1 | cut -d '=' -f2-` shift ;; --conf) MAN_CONF="$2" shift 2 ;; --verbose|-v) let VERBOSE_LVL++ shift ;; --backup) BACKUP=yes shift ;; --fake|-f) FAKE=yes shift ;; --help|-h) help exit 0 ;; /*) MAN_DIR="${MAN_DIR} ${1}" shift ;; -*) help $1 exit 1 ;; *) echo "\"$1\" is not an absolute path name" exit 1 ;; esac done # Redirections case $VERBOSE_LVL in 0) # O, be silent DEST_FD0=/dev/null DEST_FD1=/dev/null VERBOSE_OPT= ;; 1) # 1, be a bit verbose DEST_FD0=/dev/stdout DEST_FD1=/dev/null VERBOSE_OPT=-v ;; *) # 2 and above, be most verbose DEST_FD0=/dev/stdout DEST_FD1=/dev/stdout VERBOSE_OPT="-v -v" ;; esac # Note: on my machine, 'man --path' gives /usr/share/man twice, once # with a trailing '/', once without. if [ -z "$MAN_DIR" ]; then MAN_DIR=`man --path -C "$MAN_CONF"/man.conf \ | sed 's/:/\\n/g' \ | while read foo; do dirname "$foo"/.; done \ | sort -u \ | while read bar; do echo -n "$bar "; done` fi # If no MANPATH in ${MAN_CONF}/man.conf, abort as well if [ -z "$MAN_DIR" ]; then echo "No directory specified, and no directory found with \`man --path'" exit 1 fi # Fake? if [ "$FAKE" != "no" ]; then echo "Actual parameters used:" echo -n "Compression.......: " case $COMP_METHOD in --bzip2|--bz2|-b) echo -n "bzip2";; --gzip|__gz|-g) echo -n "gzip";; --decompress|-d) echo -n "decompressing";; *) echo -n "unknown";; esac echo " ($COMP_METHOD)" echo "Compression level.: $COMP_LVL" echo "Compression suffix: $COMP_SUF" echo -n "Force compression.: " [ "foo$FORCE_OPT" = "foo-F" ] && echo "yes" || echo "no" echo "man.conf is.......: ${MAN_CONF}/man.conf" echo -n "Hard-links........: " [ "foo$LN_OPT" = "foo-S" ] && echo "convert to soft-links" || echo "leave as is" echo -n "Soft-links........: " [ "foo$LN_OPT" = "foo-H" ] && echo "convert to hard-links" || echo "leave as is" echo "Backup............: $BACKUP" echo "Faking (yes!).....: $FAKE" echo "Directories.......: $MAN_DIR" echo "Verbosity level...: $VERBOSE_LVL" exit 0 fi # If no method was specified, print help if [ -z "${COMP_METHOD}" -a "${BACKUP}" = "no" ]; then help exit 1 fi # In backup mode, do the backup solely if [ "$BACKUP" = "yes" ]; then for DIR in $MAN_DIR; do cd "${DIR}/.." DIR_NAME=`basename "${DIR}"` echo "Backing up $DIR..." > $DEST_FD0 [ -f "${DIR_NAME}.tar.old" ] && rm -f "${DIR_NAME}.tar.old" [ -f "${DIR_NAME}.tar" ] && mv "${DIR_NAME}.tar" "${DIR_NAME}.tar.old" tar -cfv "${DIR_NAME}.tar" "${DIR_NAME}" > $DEST_FD1 done exit 0 fi # I know MAN_DIR has only absolute path names # I need to take into account the localized man, so I'm going recursive for DIR in $MAN_DIR; do MEM_DIR=`pwd` cd "$DIR" for FILE in *; do # Fixes the case were the directory is empty if [ "foo$FILE" = "foo*" ]; then continue; fi # Fixes the case when hard-links see their compression scheme change # (from not compressed to compressed, or from bz2 to gz, or from gz # to bz2) # Also fixes the case when multiple version of the page are present, # which are either compressed or not. if [ ! -L "$FILE" -a ! -e "$FILE" ]; then continue; fi # Do not compress whatis files if [ "$FILE" = "whatis" ]; then continue; fi if [ -d "$FILE" ]; then cd "${MEM_DIR}" # Go back to where we ran "$0", # in case "$0"=="./compressdoc" ... # We are going recursive to that directory echo "-> Entering ${DIR}/${FILE}..." > $DEST_FD0 # I need not pass --conf, as I specify the directory to work on # But I need exit in case of error "$MY_NAME" ${COMP_METHOD} ${COMP_LVL} ${LN_OPT} ${VERBOSE_OPT} \ ${FORCE_OPT} "${DIR}/${FILE}" || exit 1 echo "<- Leaving ${DIR}/${FILE}." > $DEST_FD1 cd "$DIR" # Needed for the next iteration of the loop else # !dir if ! check_unique "$DIR" "$FILE"; then continue; fi # Check if the file is already compressed with the specified method BASE_FILE=`basename "$FILE" .gz` BASE_FILE=`basename "$BASE_FILE" .bz2` if [ "${FILE}" = "${BASE_FILE}${COMP_SUF}" \ -a "foo${FORCE_OPT}" = "foo" ]; then continue; fi # If we have a symlink if [ -h "$FILE" ]; then case "$FILE" in *.bz2) EXT=bz2 ;; *.gz) EXT=gz ;; *) EXT=none ;; esac if [ ! "$EXT" = "none" ]; then LINK=`ls -l "$FILE" | cut -d ">" -f2 \ | tr -d " " | sed s/\.$EXT$//` NEWNAME=`echo "$FILE" | sed s/\.$EXT$//` mv "$FILE" "$NEWNAME" FILE="$NEWNAME" else LINK=`ls -l "$FILE" | cut -d ">" -f2 | tr -d " "` fi if [ "$LN_OPT" = "-H" ]; then # Change this soft-link into a hard- one rm -f "$FILE" && ln "${LINK}$COMP_SUF" "${FILE}$COMP_SUF" chmod --reference "${LINK}$COMP_SUF" "${FILE}$COMP_SUF" else # Keep this soft-link a soft- one. rm -f "$FILE" && ln -s "${LINK}$COMP_SUF" "${FILE}$COMP_SUF" fi echo "Relinked $FILE" > $DEST_FD1 # else if we have a plain file elif [ -f "$FILE" ]; then # Take care of hard-links: build the list of files hard-linked # to the one we are {de,}compressing. # NB. This is not optimum has the file will eventually be # compressed as many times it has hard-links. But for now, # that's the safe way. inode=`ls -li "$FILE" | awk '{print $1}'` HLINKS=`find . \! -name "$FILE" -inum $inode` if [ -n "$HLINKS" ]; then # We have hard-links! Remove them now. for i in $HLINKS; do rm -f "$i"; done fi # Now take care of the file that has no hard-link # We do decompress first to re-compress with the selected # compression ratio later on... case "$FILE" in *.bz2) bunzip2 $FILE FILE=`basename "$FILE" .bz2` ;; *.gz) gunzip $FILE FILE=`basename "$FILE" .gz` ;; esac # Compress the file with the given compression ratio, if needed case $COMP_SUF in *bz2) bzip2 ${COMP_LVL} "$FILE" && chmod 0644 "${FILE}${COMP_SUF}" echo "Compressed $FILE" > $DEST_FD1 ;; *gz) gzip ${COMP_LVL} "$FILE" && chmod 0644 "${FILE}${COMP_SUF}" echo "Compressed $FILE" > $DEST_FD1 ;; *) echo "Uncompressed $FILE" > $DEST_FD1 ;; esac # If the file had hard-links, recreate those (either hard or soft) if [ -n "$HLINKS" ]; then for i in $HLINKS; do NEWFILE=`echo "$i" | sed s/\.gz$// | sed s/\.bz2$//` if [ "$LN_OPT" = "-S" ]; then # Make this hard-link a soft- one ln -s "${FILE}$COMP_SUF" "${NEWFILE}$COMP_SUF" else # Keep the hard-link a hard- one ln "${FILE}$COMP_SUF" "${NEWFILE}$COMP_SUF" fi # Really work only for hard-links. Harmless for soft-links chmod 0644 "${NEWFILE}$COMP_SUF" done fi else # There is a problem when we get neither a symlink nor a plain # file. Obviously, we shall never ever come here... :-( echo -n "Whaooo... \"${DIR}/${FILE}\" is neither a symlink " echo "nor a plain file. Please check:" ls -l "${DIR}/${FILE}" exit 1 fi fi done # for FILE done # for DIR EOF chmod 0755 /usr/sbin/compressdoc # ---- } # Automate Mounting of File Systems function blfs-autofs () { echo "Automate Mounting of File Systems" cd /usr/src/ponktv tar -jxf packages/autofs-4.1.4.tar.bz2 cd autofs-4.1.4 # ---- patch -Np1 -i ../packages/autofs-4.1.4-misc-fixes.patch patch -Np1 -i ../packages/autofs-4.1.4-multi-parse-fix.patch patch -Np1 -i ../packages/autofs-4.1.4-non-replicated-ping.patch ./configure --prefix=/ --mandir=/usr/share/man make make install rm /etc/rc.d/init.d/autofs mv /etc/auto.master /etc/auto.master.bak cat > /etc/auto.master << "EOF" # Begin /etc/auto.master /media /etc/auto.misc # End /etc/auto.master EOF tar -jxf ../packages/blfs-bootscripts-6.1.tar.bz2 cd blfs-bootscripts-6.1 make install-autofs cd .. rm -rf blfs-bootscripts-6.1 # ---- cd /usr/src/ponktv rm -rf autofs-4.1.4 log-package Autofs-4.1.4 } # Configuring for Network Filesystems function blfs-netfs () { echo "Configuring for Network Filesystems" cd /usr/src/ponktv tar -jxf packages/blfs-bootscripts-6.1.tar.bz2 cd blfs-bootscripts-6.1 # ---- make install-netfs # ---- cd /usr/src/ponktv rm -rf blfs-bootscripts-6.1 } # Net-tools-1.60 function blfs-net-tools () { echo "Net-tools-1.60" cd /usr/src/ponktv tar -jxf packages/net-tools-1.60.tar.bz2 cd net-tools-1.60 # ---- patch -Np1 -i ../packages/net-tools-1.60-gcc34-3.patch patch -Np1 -i ../packages/net-tools-1.60-kernel_headers-2.patch patch -Np1 -i ../packages/net-tools-1.60-mii_ioctl-1.patch yes "" | make config sed -i -e 's|HAVE_IP_TOOLS 0|HAVE_IP_TOOLS 1|g' \ -e 's|HAVE_MII 0|HAVE_MII 1|g' config.h && sed -i -e 's|# HAVE_IP_TOOLS=0|HAVE_IP_TOOLS=1|g' \ -e 's|# HAVE_MII=0|HAVE_MII=1|g' config.make make make update # ---- cd /usr/src/ponktv rm -rf net-tools-1.60 log-package Net-tools-1.60 } # Which-2.16 and Alternatives function blfs-which () { echo "Which-2.16 and Alternatives" cd /usr/src/ponktv tar -jxf packages/which-2.16.tar.bz2 cd which-2.16 # ---- ./configure --prefix=/usr make make install # ---- cd /usr/src/ponktv rm -rf which-2.16 log-package Which-2.16 } # PCI Utilities-2.1.11 function blfs-pciutils-2.1.11 () { echo "pciutils" cd /usr/src/ponktv tar -jxf packages/pciutils-2.1.11.tar.bz2 cd pciutils-2.1.11 # ---- make PREFIX=/usr make PREFIX=/usr install install -v -m755 -d /usr/include/pci install -v -m 644 lib/libpci.a /usr/lib install -v -m 644 lib/*.h /usr/include/pci # ---- cd /usr/src/ponktv rm -rf pciutils-2.1.11 log-package PCI-Utilities-2.1.11 } # UnZip-5.52 function blfs-unzip () { echo "UnZip-5.52" cd /usr/src/ponktv tar -jxf packages/unzip551.tar.bz2 cd unzip-5.51 # ---- patch -Np1 -i ../packages/unzip-5.52-fix_Makefile-1.patch patch -Np1 -i ../packages/unzip-5.52-fix_libz-1.patch patch -Np1 -i ../packages/unzip-5.52-dont_make_noise-1.patch cp -v unix/Makefile . make prefix=/usr LOCAL_UNZIP=-DUSE_UNSHRINK linux make prefix=/usr LOCAL_UNZIP=-DUSE_UNSHRINK linux_shlibz make prefix=/usr LOCAL_UNZIP=-DUSE_UNSHRINK install cp -v -d libunzip.so* /usr/lib # ---- cd /usr/src/ponktv rm -rf unzip-5.51 log-package UnZip-5.52 } # Zip-2.31 function blfs-zip () { echo "Zip-2.31" cd /usr/src/ponktv tar -jxf packages/zip231.tar.bz2 cd zip-2.31 # ---- sed -i -e 's@$(INSTALL) man/zip.1@$(INSTALL_PROGRAM) man/zip.1@' \ unix/Makefile make prefix=/usr -f unix/Makefile generic_gcc make prefix=/usr -f unix/Makefile install # ---- cd /usr/src/ponktv rm -rf zip-2.31 log-package Zip-2.31 } # ALSA Driver-1.0.9b function blfs-alsa-driver () { echo "ALSA Driver-1.0.9b" cd /usr/src/ponktv tar -jxf packages/alsa-driver-1.0.9b.tar.bz2 cd alsa-driver-1.0.9b # ---- ./configure \ --with-moddir=/lib/modules/2.6.11.12/kernel/drivers/sound \ --with-kernel=/lib/modules/2.6.11.12/build \ --with-sequencer=yes \ --with-oss=yes \ --with-isapnp=no \ --with-cards=all make make install # ---- cd /usr/src/ponktv rm -rf alsa-driver-1.0.9b log-package ALSA-Driver-1.0.9b } # ALSA Library-1.0.9 function blfs-alsa-lib () { echo "ALSA Library-1.0.9" cd /usr/src/ponktv tar -jxf packages/alsa-lib-1.0.9.tar.bz2 cd alsa-lib-1.0.9 # ---- ./configure --enable-static make make install # ---- cd /usr/src/ponktv rm -rf alsa-lib-1.0.9 log-package ALSA-Library-1.0.9 } # ALSA Utilities-1.0.9a function blfs-alsa-utils () { echo "ALSA Utilities-1.0.9a" cd /usr/src/ponktv tar -jxf packages/alsa-utils-1.0.9a.tar.bz2 cd alsa-utils-1.0.9a # ---- ./configure make make install tar -jxf ../packages/blfs-bootscripts-6.1.tar.bz2 cd blfs-bootscripts-6.1 make install-alsa cd .. rm -rf blfs-bootscripts-6.1 touch /etc/asound.state install -v -d -m755 /etc/dev.d/snd cat > /etc/dev.d/snd/alsa.dev << "EOF" #!/bin/sh -e # This script is called by udevd when a change in a device is # detected, including initial detection upon bootup. # udevd sets the environment variables ACTION and DEVNAME. [ "$ACTION" = "add" ] || exit 0 DEV_BASENAME="${DEVNAME##*/}" N="${DEV_BASENAME#controlC}" case "$DEV_BASENAME" in controlC[0-7]) x=0 while [ $x -lt 20 ]; do # Wait up to 20 seconds for /usr to be mounted if necessary if [ -f /usr/sbin/alsactl ]; then /usr/sbin/alsactl restore $N exit 0 fi sleep 1 x=`expr $x + 1` done & # Put the while command in the background and continue ;; esac exit 0 EOF chmod -v 755 /etc/dev.d/snd/alsa.dev # ---- cd /usr/src/ponktv rm -rf alsa-utils-1.0.9a log-package ALSA-Utilities-1.0.9a } # Dhcpcd-1.3.22-pl4 function blfs-dhcpcd () { echo "Dhcpcd-1.3.22-pl4" cd /usr/src/ponktv tar -jxf packages/dhcpcd-1.3.22-pl4.tar.bz2 cd dhcpcd-1.3.22-pl4 # ---- patch -Np1 -i ../packages/dhcpcd-1.3.22-pl4-fhs-1.patch ./configure --prefix="" --sysconfdir=/var/lib make make install tar -jxf ../packages/blfs-bootscripts-6.1.tar.bz2 cd blfs-bootscripts-6.1 make install-service-dhcpcd cd .. rm -rf blfs-bootscripts-6.1 install -v -d /etc/sysconfig/network-devices/ifconfig.eth0 cat > /etc/sysconfig/network-devices/ifconfig.eth0/dhcpcd << "EOF" ONBOOT="yes" SERVICE="dhcpcd" DHCP_START="-d -H -D" DHCP_STOP="-k" # Set PRINTIP="yes" to have the script print # the DHCP assigned IP address PRINTIP="yes" # Set PRINTALL="yes" to print the DHCP assigned values for # IP, SM, DG, and 1st NS. This requires PRINTIP="yes". PRINTALL="no" EOF # ---- cd /usr/src/ponktv rm -rf dhcpcd-1.3.22-pl4 log-package Dhcpcd-1.3.22-pl4 } # OpenSSL-0.9.7g function blfs-openssl () { echo "OpenSSL-0.9.7g" cd /usr/src/ponktv tar -jxf packages/openssl-0.9.7g.tar.bz2 cd openssl-0.9.7g # ---- patch -Np1 -i ../packages/openssl-0.9.7g-fix_manpages-1.patch ./config --openssldir=/etc/ssl --prefix=/usr shared make MANDIR=/usr/share/man make MANDIR=/usr/share/man install cp -v -r certs /etc/ssl # ---- cd /usr/src/ponktv rm -rf openssl-0.9.7g log-package OpenSSL-0.9.7g } # OpenSSH-4.1p1 function blfs-openssh () { echo "OpenSSH-4.1p1" cd /usr/src/ponktv tar -jxf packages/openssh-4.1p1.tar.bz2 cd openssh-4.1p1 # ---- install -v -d -m700 /var/lib/sshd chown root:sys /var/lib/sshd groupadd -g 50 sshd useradd -c 'sshd PrivSep' -d /var/lib/sshd -g sshd \ -s /bin/false -u 50 sshd sed -i "s:-lcrypto:/usr/lib/libcrypto.a:g" configure ./configure --prefix=/usr --sysconfdir=/etc/ssh \ --libexecdir=/usr/sbin --with-md5-passwords \ --with-privsep-path=/var/lib/sshd sed -i -e "s/lkrb5 -ldes/lkrb5/" Makefile make make install echo "PermitRootLogin no" >> /etc/ssh/sshd_config tar -jxf ../packages/blfs-bootscripts-6.1.tar.bz2 cd blfs-bootscripts-6.1 make install-sshd cd .. rm -rf blfs-bootscripts-6.1 # ---- cd /usr/src/ponktv rm -rf openssh-4.1p1 log-package OpenSSH-4.1p } # Samba-3.0.14a function blfs-samba3 () { echo "Samba-3.0.14a" cd /usr/src/ponktv tar -jxf packages/samba-3.0.14a.tar.bz2 cd samba-3.0.14a # ---- cd source ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --with-piddir=/var/run \ --with-fhs \ --with-smbmount make install -v -m755 -d /var/cache/samba make install mv -v /usr/lib/samba/libsmbclient.so /usr/lib ln -v -sf ../libsmbclient.so /usr/lib/samba chmod -v 644 /usr/include/libsmbclient.h install -v -m644 ../examples/smb.conf.default /etc/samba install -v -m644 ../docs/*.pdf /usr/share/samba cd .. # ---- cd /usr/src/ponktv rm -rf samba-3.0.14a log-package Samba-3.0.14a } # Libpng-1.2.8 function blfs-libpng () { echo "Libpng-1.2.8" cd /usr/src/ponktv tar -jxf packages/libpng-1.2.8.tar.bz2 cd libpng-1.2.8 # ---- patch -Np1 -i ../packages/libpng-1.2.8-link_to_proper_libs-1.patch make prefix=/usr ZLIBINC= \ ZLIBLIB= -f scripts/makefile.linux make prefix=/usr install -f scripts/makefile.linux # ---- cd /usr/src/ponktv rm -rf libpng-1.2.8 log-package Libpng-1.2.8 } # FreeType-2.1.10 function blfs-freetype2 () { echo "FreeType-2.1.10" cd /usr/src/ponktv tar -jxf packages/freetype-2.1.10.tar.bz2 cd freetype-2.1.10 # ---- sed -i -r 's:.*(#.*BYTE.*) .*:\1:' \ include/freetype/config/ftoption.h ./configure --prefix=/usr make make install # ---- cd /usr/src/ponktv rm -rf freetype-2.1.10 log-package FreeType-2.1.10 } # Expat-1.95.8 function blfs-expat () { echo "Expat-1.95.8" cd /usr/src/ponktv tar -jxf packages/expat-1.95.8.tar.bz2 cd expat-1.95.8 # ---- ./configure --prefix=/usr make make install /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf expat-1.95.8 log-package Expat-1.95.8 } # Fontconfig-2.3.2 function blfs-fontconfig () { echo "Fontconfig-2.3.2" cd /usr/src/ponktv tar -jxf packages/fontconfig-2.3.2.tar.bz2 cd fontconfig-2.3.2 # ---- ./configure --prefix=/usr --sysconfdir=/etc --disable-docs make make install install -v -m755 -d /usr/share/doc/fontconfig/fontconfig-devel install -v -m644 doc/*.3 /usr/share/man/man3 install -v -m644 doc/*.5 /usr/share/man/man5 install -v -m644 doc/*.{html,pdf,txt} /usr/share/doc/fontconfig install -v -m644 doc/fontconfig-devel/* \ /usr/share/doc/fontconfig/fontconfig-devel # ---- cd /usr/src/ponktv rm -rf fontconfig-2.3.2 log-package Fontconfig-2.3.2 } # Xorg-6.8.2 function blfs-xorg () { echo "Xorg-6.8.2" cd /usr/src/ponktv tar -jxf packages/X11R6.8.2-src.tar.bz2 cd xc # ---- sed -i '/^SUBDIRS =/s/ etc$//' programs/Xserver/Xprint/Imakefile pushd config/util && make -f Makefile.ini lndir cp -v lndir /usr/bin/ popd mkdir ../xcbuild && cd ../xcbuild && lndir ../xc cat > config/cf/host.def << "EOF" /* Begin Xorg host.def file */ /* System Related Information. If you read and configure only one * section then it should be this one. The Intel architecture defaults * are set for a i686 and higher. Axp is for the Alpha architecture * and Ppc is for the Power PC. AMD64 is for the Opteron processor. * Note that there have been reports that the Ppc optimization line * causes segmentation faults during build. If that happens, try * building without the DefaultGcc2PpcOpt line. ***********/ /* #define DefaultGcc2i386Opt -O2 -fno-strength-reduce \ -fno-strict-aliasing -march=i686 */ /* #define DefaultGcc2AMD64Opt -O2 -fno-strength-reduce \ -fno-strict-aliasing */ /* #define DefaultGcc2AxpOpt -O2 -mcpu=ev6 */ /* #define DefaultGcc2PpcOpt -O2 -mcpu=750 */ #define HasFreetype2 YES #define HasFontconfig YES #define HasExpat YES #define HasLibpng YES #define HasZlib YES /* * Which drivers to build. When building a static server, each of * these will be included in it. When building the loadable server * each of these modules will be built. * #define XF86CardDrivers mga glint nv tga s3virge sis rendition \ neomagic i740 tdfx savage \ cirrus vmware tseng trident chips apm \ GlideDriver fbdev i128 \ ati AgpGartDrivers DevelDrivers ark cyrix \ siliconmotion \ vesa vga XF86OSCardDrivers XF86ExtraCardDrivers */ #define XF86CardDrivers nv vesa vga /* * Select the XInput devices you want by uncommenting this. * #define XInputDrivers mouse keyboard acecad calcomp citron \ digitaledge dmc dynapro elographics \ microtouch mutouch penmount spaceorb summa \ wacom void magictouch aiptek */ /* Most installs will only need this */ #define XInputDrivers mouse keyboard void /* Disable building Xprint server and clients until we get them figured * out but build Xprint libraries to allow precompiled binaries such as * Acrobat Reader to run. */ #define XprtServer NO #define BuildXprintClients NO /* Uncomment the following define if you would prefer to install X into * /usr or change it to any other location that you prefer. * The GL related defines disable compatibility symlinks (the links are not needed * when X is installed in /usr). #define ProjectRoot /usr #define LinkGLToUsrInclude NO #define LinkGLToUsrLib NO */ /* Uncomment the following define if you would prefer to install the * fonts into /usr/share/fonts, a directory that is fontconfig's default * font search path. #define FontDir /usr/share/fonts */ #define FontDir /usr/share/fonts #define BuildSpeedo NO #define BuildSpeedoFonts NO #define BuildCyrillicFonts NO /* End Xorg host.def file */ EOF sed -i -e "s@^#include @/* & */@" \ `grep -lr linux/config.h *` && ( make World 2>&1 | tee xorg-compile.log && exit $PIPESTATUS ) make install make install.man ln -v -sf ../X11R6/bin /usr/bin/X11 ln -v -sf ../X11R6/lib/X11 /usr/lib/X11 ln -v -sf ../X11R6/include/X11 /usr/include/X11 sed -i 's%^# End /etc/ld.so.conf$%/usr/X11R6/lib\n\n# End /etc/ld.so.conf%' \ /etc/ld.so.conf /sbin/ldconfig cat > ~/.xinitrc << "EOF" # Begin .xinitrc file xterm -g 80x40+0+0 & xclock -g 100x100-0+0 & twm EOF # cat >> /etc/sysconfig/createfiles << "EOF" #/tmp/.ICE-unix dir 1777 root root #EOF sed -i -e "s%^# End /etc/sysconfig/createfiles%/tmp/.ICE-unix dir 1777 root root\n\n# End /etc/sysconfig/createfiles%" \ /etc/sysconfig/createfiles # ---- cd /usr/src/ponktv rm -rf xcbuild rm -rf xc log-package Xorg-6.8.2 } # X Window System Components function blfs-x-setup () { echo "X Window System Components" # ---- # truetype fonts cat > /etc/fonts/local.conf << "EOF" /usr/share/fonts/TTF /usr/share/fonts/Type1 EOF fc-cache # ---- } # Pkg-config-0.19 function blfs-pkgconfig () { echo "Pkg-config-0.19" cd /usr/src/ponktv tar -jxf packages/pkg-config-0.19.tar.bz2 cd pkg-config-0.19 # ---- ./configure --prefix=/usr make make install # ---- cd /usr/src/ponktv rm -rf pkg-config-0.19 log-package Pkg-config-0.19 } # GLib-2.6.4 function blfs-glib2 () { echo "GLib-2.6.4" cd /usr/src/ponktv tar -jxf packages/glib-2.6.4.tar.bz2 cd glib-2.6.4 # ---- export PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig ./configure --prefix=/usr make make install /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf glib-2.6.4 log-package GLib-2.6.4 } # GNet-2.0.7 function blfs-gnet () { echo "GNet-2.0.7" cd /usr/src/ponktv tar -jxf packages/gnet-2.0.7.tar.bz2 cd gnet-2.0.7 # ---- # export PKG_CONFIG_PATH=/usr/lib/pkgconfig ./configure --prefix=/usr make make install /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf gnet-2.0.7 log-package GNet-2.0.7 } # Pango-1.8.1 function blfs-pango () { echo "Pango-1.8.1" cd /usr/src/ponktv tar -jxf packages/pango-1.8.1.tar.bz2 cd pango-1.8.1 # ---- # export PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig ./configure --prefix=/usr --sysconfdir=/etc make make install /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf pango-1.8.1 log-package Pango-1.8.1 } # ATK-1.9.1 function blfs-atk () { echo "ATK-1.9.1" cd /usr/src/ponktv tar -jxf packages/atk-1.9.1.tar.bz2 cd atk-1.9.1 # ---- ./configure --prefix=/usr make make install /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf atk-1.9.1 log-package ATK-1.9.1 } # Libjpeg-6b function blfs-libjpeg () { echo "Libjpeg-6b" cd /usr/src/ponktv tar -jxf packages/jpegsrc.v6b.tar.bz2 cd jpeg-6b # ---- ./configure --prefix=/usr --enable-static --enable-shared make make install /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf jpeg-6b log-package Libjpeg-6b } # Libtiff-3.7.3 function blfs-libtiff () { echo "Libtiff-3.7.3" cd /usr/src/ponktv tar -jxf packages/tiff-3.7.3.tar.bz2 cd tiff-3.7.3 # ---- ./configure --prefix=/usr make make install /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf tiff-3.7.3 log-package Libtiff-3.7.3 } # GTK+-2.6.7 function blfs-gtk2 () { echo "GTK+-2.6.7" cd /usr/src/ponktv tar -jxf packages/gtk+-2.6.7.tar.bz2 cd gtk+-2.6.7 # ---- # export PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig ./configure --prefix=/usr --sysconfdir=/etc make make install /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf gtk+-2.6.7 log-package GTK+-2.6.7 } # Libxml2-2.6.20 function blfs-libxml2 () { echo "Libxml2-2.6.20" cd /usr/src/ponktv tar -jxf packages/libxml2-2.6.20.tar.bz2 cd libxml2-2.6.20 # ---- ./configure --prefix=/usr --with-history make make install /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf libxml2-2.6.20 log-package Libxml2-2.6.20 } # LibIDL-0.8.5 function blfs-libidl () { echo "LibIDL-0.8.5" cd /usr/src/ponktv tar -jxf packages/libIDL-0.8.5.tar.bz2 cd libIDL-0.8.5 # ---- ./configure --prefix=/usr make make install /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf libIDL-0.8.5 log-package LibIDL-0.8.5 } # MPlayer-1.0pre7 function blfs-mplayer () { echo "MPlayer-1.0pre7" cd /usr/src/ponktv tar -jxf packages/MPlayer-1.0pre7.tar.bz2 cd MPlayer-1.0pre7 # ---- install -v -d -m755 /usr/lib/mplayer/codecs tar -jxf ../packages/essential-20050412.tar.bz2 \ -C /usr/lib/mplayer/codecs --strip-components=1 chown -v -R root:root /usr/lib/mplayer/codecs install -v -d -m755 /usr/share/mplayer/Skin tar -jxf ../packages/Blue-1.5.tar.bz2 \ -C /usr/share/mplayer/Skin chown -v -R root:root /usr/share/mplayer/Skin/Blue chmod -v 0755 /usr/share/mplayer/Skin/Blue{,/icons} ln -sfv Blue /usr/share/mplayer/Skin/default patch -Np1 -i ../packages/MPlayer-1.0pre7-kernel_2.6-1.patch ./configure --prefix=/usr --confdir=/etc/mplayer \ --enable-largefiles --enable-menu --enable-runtime-cpudetection make make install install -v -m755 -d /usr/share/doc/mplayer-1.0pre7 cp -v -R DOCS/* /usr/share/doc/mplayer-1.0pre7 ln -v -s libdha.so.1.0 /usr/lib/libdha.so install -m644 etc/codecs.conf /etc/mplayer install -m644 etc/*.conf /etc/mplayer echo "dev.rtc.max-user-freq=1024" >> /etc/sysctl.conf # install -v -m750 -d ~/.mplayer # ln -v -sf /usr/X11R6/lib/X11/fonts/TTF/luxisri.ttf \ # ~/.mplayer/subfont.ttf # Available font sizes are 14, 18, 24 or 28 tar -jxf ../packages/font-arial-iso-8859-1.tar.bz2 \ -C /usr/share/mplayer/font chown -v -R root:root /usr/share/mplayer/font ln -v -sf font-arial-iso-8859-1/font-arial-28-iso-8859-1/font.desc \ /usr/share/mplayer/font/font.desc ln -v -sf font-arial-iso-8859-1/font-arial-28-iso-8859-1/iso-8859-1-a.raw \ /usr/share/mplayer/font/iso-8859-1-a.raw ln -v -sf font-arial-iso-8859-1/font-arial-28-iso-8859-1/iso-8859-1-b.raw \ /usr/share/mplayer/font/iso-8859-1-b.raw ln -v -sf font-arial-iso-8859-1/font-arial-28-iso-8859-1/osd-mplayer-a.raw \ /usr/share/mplayer/font/osd-mplayer-a.raw ln -v -sf font-arial-iso-8859-1/font-arial-28-iso-8859-1/osd-mplayer-b.raw \ /usr/share/mplayer/font/osd-mplayer-b.raw # ---- cd /usr/src/ponktv rm -rf MPlayer-1.0pre7 log-package MPlayer-1.0pre7 } # Lcms-1.14 function blfs-lcms () { echo "Lcms-1.14" cd /usr/src/ponktv tar -jxf packages/lcms-1.14.tar.bz2 cd lcms-1.14 # ---- patch -Np1 -i ../packages/lcms-1.14-gcc343-1.patch ./configure --prefix=/usr make make install install -v -m755 -d /usr/share/doc/lcms-1.14 install -v -m644 doc/* /usr/share/doc/lcms-1.14 /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf lcms-1.14 log-package Lcms-1.14 } # Libmng-1.0.9 function blfs-libmng () { echo "Libmng-1.0.9" cd /usr/src/ponktv tar -jxf packages/libmng-1.0.9.tar.bz2 cd libmng-1.0.9 # ---- cp makefiles/makefile.linux Makefile make make prefix=/usr install install -v -m644 doc/man/*.3 /usr/share/man/man3 install -v -m644 doc/man/*.5 /usr/share/man/man5 install -v -m755 -d /usr/share/doc/libmng-1.0.9 install -v -m644 doc/*.{png,txt} /usr/share/doc/libmng-1.0.9 /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf libmng-1.0.9 log-package Libmng-1.0.9 } # Apache-2.0.54 function blfs-apache () { echo "Apache-2.0.54" cd /usr/src/ponktv tar -jxf packages/httpd-2.0.54.tar.bz2 cd httpd-2.0.54 # ---- groupadd -g 25 apache useradd -c "Apache Server" -d /dev/null -g apache \ -s /bin/false -u 25 apache patch -Np1 -i ../packages/httpd-2.0.54-config-1.patch ./configure --enable-layout=FHS --enable-mods-shared=all --enable-ssl make make install chown root:root /usr/sbin/{apxs,apachectl,dbmmanage,envvars-std,envvars} \ /usr/include/apache/* /usr/lib/apache/httpd.exp \ /usr/share/man/man1/{dbmmanage,htdigest,htpasswd}.1 \ /usr/share/man/man8/{ab,apachectl,apxs,httpd}.8 \ /usr/share/man/man8/{logresolve,rotatelogs,suexec}.8 chown -R apache:apache /srv/www sed -i -e "s%User nobody%User apache%" \ -e "s%^Group #-1%Group apache%" \ /etc/apache/httpd.conf sed -i -e "s/^LoadModule isapi_module/# &/" \ /etc/apache/httpd.conf tar -jxf ../packages/blfs-bootscripts-6.1.tar.bz2 cd blfs-bootscripts-6.1 make install-apache cd .. rm -rf blfs-bootscripts-6.1 # ---- cd /usr/src/ponktv rm -rf httpd-2.0.54 log-package Apache-2.0.54 } # PHP-5.0.4 function blfs-php () { echo "PHP-5.0.4" cd /usr/src/ponktv tar -jxf packages/php-5.0.4.tar.bz2 cd php-5.0.4 # ---- patch -Np1 -i ../packages/php-5.0.4-db43-1.patch ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-apxs2 \ --with-config-file-path=/etc \ --with-zlib \ --enable-bcmath \ --with-bz2 \ --enable-calendar \ --enable-dba \ --enable-exif \ --enable-ftp \ --with-gettext \ --enable-mbstring \ --with-ncurses \ --with-readline make make install cp -v php.ini-recommended /etc/php.ini # ---- cd /usr/src/ponktv rm -rf php-5.0.4 log-package PHP-5.0.4 } # GTK Engines-2.6.3 function blfs-gtk-engines () { echo "GTK Engines-2.6.3" cd /usr/src/ponktv tar -jxf packages/gtk-engines-2.6.3.tar.bz2 cd gtk-engines-2.6.3 # ---- ./configure --prefix=/usr make make install /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf gtk-engines-2.6.3 log-package GTK-Engines-2.6.3 } # GCC-3.3.4 function blfs-gcc3 () { echo "GCC-3.3.4" cd /usr/src/ponktv tar -jxf packages/gcc-3.3.4.tar.bz2 cd gcc-3.3.4 # ---- patch -Np1 -i ../packages/gcc-3.3.4-no_fixincludes-1.patch patch -Np1 -i ../packages/gcc-3.3.4-linkonce-1.patch mkdir ../gcc-build cd ../gcc-build ../gcc-3.3.4/configure \ --prefix=/opt/gcc-3.3.4 \ --enable-shared --enable-languages=c,c++ \ --enable-threads=posix make bootstrap # make -k check # ../gcc-3.3.4/contrib/test_summary >test_summary.log 2>&1 # ../gcc-3.3.4/contrib/test_summary | \ # grep -A7 Summ >test_summary_short.log 2>&1 make install mv -v /opt/gcc-3.3.4/lib/libstdc++.so.5* /usr/lib ln -v -sf /usr/lib/libstdc++.so.5.0.6 /opt/gcc-3.3.4/lib ln -v -sf libstdc++.so.5.0.6 /opt/gcc-3.3.4/lib/libstdc++.so.5 chown -v -R root:root \ /opt/gcc-3.3.4/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include # ---- cd /usr/src/ponktv rm -rf gcc-build rm -rf gcc-3.3.4 log-package GCC-3.3.4 } # Fcron-2.9.7 function blfs-fcron () { echo "Fcron-2.9.7" cd /usr/src/ponktv tar -jxf packages/fcron-2.9.7.src.tar.bz2 cd fcron-2.9.7 # ---- cat >> /etc/syslog.conf << "EOF" # Begin fcron addition to /etc/syslog.conf cron.* -/var/log/cron.log # End fcron addition EOF groupadd -g 22 fcron useradd -d /dev/null -c "Fcron User" -g fcron -s /bin/false -u 22 fcron ./configure --without-sendmail --with-boot-install=no make make install tar -jxf ../packages/blfs-bootscripts-6.1.tar.bz2 cd blfs-bootscripts-6.1 make install-fcron cd .. rm -rf blfs-bootscripts-6.1 # ---- cd /usr/src/ponktv rm -rf fcron-2.9.7 log-package Fcron-2.9.7 } # Popt-1.7-5 function blfs-popt () { echo "Popt-1.7-5" cd /usr/src/ponktv tar -jxf packages/popt_1.7.orig.tar.bz2 cd popt-1.7 # ---- patch -Np1 -i ../packages/popt_1.7-5.diff ./configure --prefix=/usr cp configure.in configure.ac touch configure.in configure.ac make make install # ---- cd /usr/src/ponktv rm -rf popt-1.7 log-package Popt-1.7-5 } # BLFS Mozilla-1.7.12 function blfs-mozilla () { echo "Mozilla-1.7.12" cd /usr/src/ponktv tar -jxf packages/mozilla-1.7.12-source.tar.bz2 cd mozilla # ---- patch -Np1 -i ../packages/mozilla-1.7.11-gcc4-2.patch export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/X11R6/lib/pkgconfig cat > .mozconfig << "EOF" # This file contains the options used in the Mozilla build. You may # need to specify additional options for your specific build needs. # Use the information provided by running './configure --help' to # help you determine if you need to add any additional options. # Some additional options can be added by uncommenting the examples # in this file or adding options by inserting a line containing # 'ac_add_options --some-option-you-need'. # # See http://www.mozilla.org/build/ for build instructions. # # Options for client.mk. mk_add_options MOZ_CO_PROJECT=suite mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-pktv-blfs-6.1 # Options for 'configure' (same as command-line options). ac_add_options --prefix=/opt ac_add_options --with-default-mozilla-five-home=/opt/lib/mozilla ac_add_options --enable-application=suite ac_add_options --enable-default-toolkit=gtk2 ac_add_options --enable-extensions="default,-editor" ac_add_options --with-system-jpeg ac_add_options --with-system-zlib ac_add_options --with-system-png ac_add_options --enable-pango ac_add_options --enable-crypto ac_add_options --enable-xft ac_add_options --enable-optimize ac_add_options --enable-reorder ac_add_options --enable-strip ac_add_options --enable-cpp-rtti ac_add_options --enable-elf-dynstr-gc ac_add_options --enable-xterm-updates ac_add_options --disable-freetype2 ac_add_options --disable-accessibility ac_add_options --disable-xinerama ac_add_options --disable-debug ac_add_options --disable-tests ac_add_options --disable-logging ac_add_options --disable-pedantic ac_add_options --disable-mailnews ac_add_options --disable-installer ac_add_options --disable-calendar ac_add_options --disable-ldap ac_add_options --disable-mailnews ac_add_options --disable-postscript ac_add_options --disable-xprint ac_add_options --disable-gnomevfs ac_add_options --disable-composer EOF make -f client.mk build make -f client.mk install install -v -m755 -d /opt/include/mozilla-1.7.12/nss cp -v -Lf obj-pktv-blfs-6.1/dist/{private,public}/nss/*.h \ /opt/include/mozilla-1.7.12/nss for i in lib{nspr4,plc4,plds4,nss3,smime3,softokn3,ssl3}.so libsoftokn3.chk do mv -v /opt/lib/mozilla-1.7.12/$i /opt/lib/ ln -v -sf ../$i /opt/lib/mozilla-1.7.12/ done export LD_LIBRARY_PATH=/opt/lib/mozilla-1.7.12 export MOZILLA_FIVE_HOME=/opt/lib/mozilla-1.7.12 /opt/lib/mozilla-1.7.12/regxpcom /opt/lib/mozilla-1.7.12/regchrome touch `find /opt/lib/mozilla-1.7.12 -name *.rdf` # ---- cd /usr/src/ponktv rm -rf mozilla log-package BLFS-Mozilla-1.7.12 } # Cpio-2.6 function blfs-cpio () { echo "Cpio-2.6" cd /usr/src/ponktv tar -jxf packages/cpio-2.6.tar.bz2 cd cpio-2.6 # ---- sed -i -e "s/invalid_arg/argmatch_invalid/" src/mt.c patch -Np1 -i ../packages/cpio-2.6-security_fixes-1.patch ./configure CPIO_MT_PROG=mt --prefix=/usr \ --bindir=/bin --libexecdir=/tmp \ --with-rmt=/usr/sbin/rmt echo "#define HAVE_SETLOCALE 1" >> config.h echo "#define HAVE_LSTAT 1" >> config.h make make install # ---- cd /usr/src/ponktv rm -rf cpio-2.6 log-package Cpio-2.6 } # Cdrtools-2.01 function blfs-cdrtools () { echo "Cdrtools-2.01" cd /usr/src/ponktv tar -jxf packages/cdrtools-2.01.tar.bz2 cd cdrtools-2.01 # ---- make INS_BASE=/usr DEFINSUSR=root DEFINSGRP=root make INS_BASE=/usr DEFINSUSR=root DEFINSGRP=root install install -v -m755 -d /usr/share/doc/cdrtools-2.01 install -v -m644 README* ABOUT doc/*.ps \ /usr/share/doc/cdrtools-2.01 # ---- cd /usr/src/ponktv rm -rf cdrtools-2.01 log-package Cdrtools-2.01 } # CVS-1.11.20 function blfs-cvs () { echo "CVS-1.11.20" cd /usr/src/ponktv tar -jxf packages/cvs-1.11.20.tar.bz2 cd cvs-1.11.20 # ---- patch -Np1 -i ../packages/cvs-1.11.20-zlib-1.patch ./configure --prefix=/usr make make install install -v -m755 -d /usr/share/doc/cvs-1.11.20 install -v -m644 doc/cvs{,client}.ps /usr/share/doc/cvs-1.11.20 # ---- cd /usr/src/ponktv rm -rf cvs-1.11.20 log-package CVS-1.11.20 } # Subversion-1.1.4 function blfs-subversion () { echo "Subversion-1.1.4" cd /usr/src/ponktv tar -jxf packages/subversion-1.1.4.tar.bz2 cd subversion-1.1.4 # ---- ./configure --prefix=/usr make make install install -v -d -m755 /usr/share/doc/subversion-1.1.4 cp -v -R doc/* /usr/share/doc/subversion-1.1.4 # ---- cd /usr/src/ponktv rm -rf subversion-1.1.4 log-package Subversion-1.1.4 } # Wget-1.9.1 function blfs-wget () { echo "Wget-1.9.1" cd /usr/src/ponktv tar -jxf packages/wget-1.9.1.tar.bz2 cd wget-1.9.1 # ---- ./configure --prefix=/usr --sysconfdir=/etc make make install # ---- cd /usr/src/ponktv rm -rf wget-1.9.1 log-package Wget-1.9.1 } # PCRE-6.1 function blfs-pcre () { echo "PCRE-6.1" cd /usr/src/ponktv tar -jxf packages/pcre-6.1.tar.bz2 cd pcre-6.1 # ---- ./configure --prefix=/usr --enable-utf8 make make install install -v -m755 -d /usr/share/doc/pcre-6.1/html install -v -m644 doc/html/* /usr/share/doc/pcre-6.1/html install -v -m644 doc/{Tech.Notes,*.txt} /usr/share/doc/pcre-6.1 mv -v /usr/lib/libpcre.so.* /lib/ ln -v -sf ../../lib/libpcre.so.0 /usr/lib/libpcre.so # ---- cd /usr/src/ponktv rm -rf pcre-6.1 log-package PCRE-6.1 } # Bluefish-1.0.2 function blfs-bluefish () { echo "Bluefish-1.0.2" cd /usr/src/ponktv tar -jxf packages/bluefish-1.0.2.tar.bz2 cd bluefish-1.0.2 # ---- ./configure --prefix=/usr make make install # ---- cd /usr/src/ponktv rm -rf bluefish-1.0.2 log-package Bluefish-1.0.2 } # ImageMagick-6.2.3-5 function blfs-imagemagick () { echo "ImageMagick-6.2.3-5" cd /usr/src/ponktv tar -jxf packages/ImageMagick-6.2.3-6.tar.bz2 cd ImageMagick-6.2.3 # ---- sed -i -e 's/\$(LIBLTDL) \$/\$/' Makefile.in ./configure --prefix=/usr --with-modules make make install # ---- cd /usr/src/ponktv rm -rf ImageMagick-6.2.3 log-package ImageMagick-6.2.3-5 } # Libxslt 1.1.14 function blfs-libxslt () { echo "Libxslt-1.1.14" cd /usr/src/ponktv tar -jxf packages/libxslt-1.1.14.tar.bz2 cd libxslt-1.1.14 # ---- ./configure --prefix=/usr make make install # ---- cd /usr/src/ponktv rm -rf libxslt-1.1.14 log-package Libxslt-1.1.14 } # HTML Tidy-050722 function blfs-tidy () { echo "HTML-Tidy-050722" cd /usr/src/ponktv tar -jxf packages/tidy_src_050722.tar.bz2 tar -jxf packages/tidy_docs_050705.tar.bz2 cd tidy # ---- patch -Np1 -i ../packages/tidy-050722-prevent_PRE_newlines-1.patch sh build/gnuauto/setup.sh ./configure --prefix=/usr make make install cd htmldoc tidy -xml-help > tidy-help.xml tidy -xml-config > tidy-config.xml xsltproc -o tidy.1 tidy1.xsl tidy-help.xml xsltproc -o quickref.html quickref-html.xsl tidy-config.xml cd .. install -v -m644 htmldoc/tidy.1 /usr/share/man/man1 install -v -m755 -d /usr/share/doc/tidy cp -v -R htmldoc/* /usr/share/doc/tidy # ---- cd /usr/src/ponktv rm -rf tidy log-package HTML-Tidy-050722 } # DocBook XML DTD 4.4 function blfs-docbook-xml () { echo "DocBook XML DTD-4.4" cd /usr/src/ponktv mkdir -p docbook-xml-4.4 cd docbook-xml-4.4 unzip ../packages/docbook-xml-4.4.zip # ---- install -v -d -m755 /usr/share/xml/docbook/xml-dtd-4.4 install -v -d -m755 /etc/xml chown -R root:root . cp -v -af docbook.cat *.dtd ent/ *.mod /usr/share/xml/docbook/xml-dtd-4.4 if [ ! -e /etc/xml/docbook ]; then xmlcatalog --noout --create /etc/xml/docbook fi && xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML V4.4//EN" \ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML CALS Table Model V4.4//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.4/calstblx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.4/soextblx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ELEMENTS DocBook XML Information Pool V4.4//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.4/dbpoolx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.4//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.4/dbhierx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.4//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.4/htmltblx.mod" \ /etc/xml/docbook xmlcatalog --noout --add "public" \ "-//OASIS//ENTITIES DocBook XML Notations V4.4//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.4/dbnotnx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ENTITIES DocBook XML Character Entities V4.4//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.4/dbcentx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.4//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.4/dbgenent.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "rewriteSystem" \ "http://www.oasis-open.org/docbook/xml/4.4" \ "file:///usr/share/xml/docbook/xml-dtd-4.4" \ /etc/xml/docbook && xmlcatalog --noout --add "rewriteURI" \ "http://www.oasis-open.org/docbook/xml/4.4" \ "file:///usr/share/xml/docbook/xml-dtd-4.4" \ /etc/xml/docbook if [ ! -e /etc/xml/catalog ]; then xmlcatalog --noout --create /etc/xml/catalog fi && xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//ENTITIES DocBook XML" \ "file:///etc/xml/docbook" \ /etc/xml/catalog && xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//DTD DocBook XML" \ "file:///etc/xml/docbook" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog for DTDVERSION in 4.1.2 4.2 4.3 do xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \ /etc/xml/docbook xmlcatalog --noout --add "rewriteSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ "file:///usr/share/xml/docbook/xml-dtd-4.4" \ /etc/xml/docbook xmlcatalog --noout --add "rewriteURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ "file:///usr/share/xml/docbook/xml-dtd-4.4" \ /etc/xml/docbook xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog done # ---- cd /usr/src/ponktv rm -rf docbook-xml-4.4 log-package DocBook-XML-DTD-4.4 } # DocBook XSL Stylesheets-1.68.1 function blfs-docbook-xsl () { echo "DocBook XSL Stylesheets 1.68.1" cd /usr/src/ponktv tar -jxf packages/docbook-xsl-1.68.1.tar.bz2 cd docbook-xsl-1.68.1 # ---- install -v -d -m755 /usr/share/xml/docbook/xsl-stylesheets-1.68.1 install -v -d -m755 /etc/xml chown -R root:root . cp -v -af INSTALL VERSION common eclipse extensions fo html htmlhelp \ images javahelp lib manpages params profiling template xhtml \ /usr/share/xml/docbook/xsl-stylesheets-1.68.1 install -v -d -m755 /usr/share/doc/xml cp -v -af doc/* /usr/share/doc/xml cd /usr/share/xml/docbook/xsl-stylesheets-1.68.1 sh INSTALL if [ ! -f /etc/xml/catalog ]; then xmlcatalog --noout --create /etc/xml/catalog fi && if [ ! -f /etc/xml/docbook ]; then xmlcatalog --noout --create /etc/xml/docbook fi && xmlcatalog --noout --add "rewriteSystem" \ "http://docbook.sourceforge.net/release/xsl/1.68.1" \ "/usr/share/xml/docbook/xsl-stylesheets-1.68.1" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteURI" \ "http://docbook.sourceforge.net/release/xsl/1.68.1" \ "/usr/share/xml/docbook/xsl-stylesheets-1.68.1" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteSystem" \ "http://docbook.sourceforge.net/release/xsl/current" \ "/usr/share/xml/docbook/xsl-stylesheets-1.68.1" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteURI" \ "http://docbook.sourceforge.net/release/xsl/current" \ "/usr/share/xml/docbook/xsl-stylesheets-1.68.1" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateSystem" \ "http://docbook.sourceforge.net/release/xsl/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://docbook.sourceforge.net/release/xsl/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog cat > /etc/profile.d/xsl.sh << "EOF" # Set up Environment Variable for XSL Processing export XML_CATALOG_FILES="/usr/share/xml/docbook/\ xsl-stylesheets-1.68.1/catalog.xml /etc/xml/catalog" EOF xmlcatalog --noout --add "rewriteSystem" \ "http://docbook.sourceforge.net/release/xsl/1.69.1" \ "/usr/share/xml/docbook/xsl-stylesheets-1.68.1" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteURI" \ "http://docbook.sourceforge.net/release/xsl/1.69.1" \ "/usr/share/xml/docbook/xsl-stylesheets-1.68.1" \ /etc/xml/catalog # ---- cd /usr/src/ponktv rm -rf docbook-xsl-1.68.1 log-package DocBook-XSL-Stylesheets-1.68.1 } # ------------------------- # ---- pkblfs functions --- # ------------------------- # functions to build pkblfs packages (packages not found in blfs) # PKTV Mozilla-1.7.12 function pkblfs-mozilla () { echo "Mozilla-1.7.12" cd /usr/src/ponktv tar -jxf packages/mozilla-1.7.12-source.tar.bz2 tar -jxf packages/pktv-mozilla-1.7.12.tar.bz2 cd mozilla # ---- patch -Np1 -i ../packages/mozilla-1.7.11-gcc4-2.patch patch -Np1 -i ../packages/mozilla-1.7.12-hidechrome.patch patch -Np1 -i ../packages/mozilla-1.7.12-pktv-bookmarks.patch patch -Np1 -i ../packages/mozilla-1.7.12-pktv-browser.patch patch -Np1 -i ../packages/mozilla-1.7.12-pktv-chrome.patch patch -Np1 -i ../packages/mozilla-1.7.12-pktv-localstore.patch patch -Np1 -i ../packages/mozilla-1.7.12-pktv-mimeTypes.patch patch -Np1 -i ../packages/mozilla-1.7.12-pktv-makefiles.patch patch -Np1 -i ../packages/mozilla-1.7.12-pktv-pref.patch patch -Np1 -i ../packages/mozilla-1.7.12-pktv-browser-prefs.patch patch -Np1 -i ../packages/mozilla-1.7.12-pktv-startup.patch export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/X11R6/lib/pkgconfig cat > .mozconfig << "EOF" # This file contains the options used in the Mozilla build. You may # need to specify additional options for your specific build needs. # Use the information provided by running './configure --help' to # help you determine if you need to add any additional options. # Some additional options can be added by uncommenting the examples # in this file or adding options by inserting a line containing # 'ac_add_options --some-option-you-need'. # # See http://www.mozilla.org/build/ for build instructions. # # Options for client.mk. mk_add_options MOZ_CO_PROJECT=suite mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-pktv-blfs-6.1 # Options for 'configure' (same as command-line options). ac_add_options --prefix=/usr ac_add_options --with-default-mozilla-five-home=/usr/lib/mozilla ac_add_options --enable-application=suite ac_add_options --enable-default-toolkit=gtk2 #ac_add_options --enable-extensions="default,pktv,-content-packs,-help,-venkman,-inspector,-irc,-typeaheadfind,-spellcheck,-gnomevfs" ac_add_options --enable-extensions="default,pktv,-content-packs,-help,-venkman,-inspector,-irc,-typeaheadfind,-spellcheck,-gnomevfs" ac_add_options --with-system-jpeg ac_add_options --with-system-zlib ac_add_options --with-system-png ac_add_options --enable-crypto ac_add_options --enable-xft ac_add_options --enable-optimize ac_add_options --enable-reorder ac_add_options --enable-strip ac_add_options --enable-cpp-rtti ac_add_options --enable-elf-dynstr-gc ac_add_options --enable-xterm-updates ac_add_options --disable-freetype2 ac_add_options --disable-accessibility ac_add_options --disable-xinerama ac_add_options --disable-debug ac_add_options --disable-tests ac_add_options --disable-logging ac_add_options --disable-pedantic ac_add_options --disable-installer ac_add_options --disable-calendar ac_add_options --disable-ldap ac_add_options --disable-mailnews ac_add_options --disable-postscript ac_add_options --disable-xprint ac_add_options --disable-gnomevfs ac_add_options --disable-jsd ac_add_options --disable-view-source ac_add_options --disable-composer EOF make -f client.mk build make -f client.mk install install -v -m755 -d /usr/include/mozilla-1.7.12/nss cp -v -Lf obj-pktv-blfs-6.1/dist/{private,public}/nss/*.h \ /usr/include/mozilla-1.7.12/nss for i in lib{nspr4,plc4,plds4,nss3,smime3,softokn3,ssl3}.so libsoftokn3.chk do mv -v /usr/lib/mozilla-1.7.12/$i /usr/lib/ ln -v -sf ../$i /usr/lib/mozilla-1.7.12/ done export LD_LIBRARY_PATH=/usr/lib/mozilla-1.7.12 export MOZILLA_FIVE_HOME=/usr/lib/mozilla-1.7.12 /usr/lib/mozilla-1.7.12/regxpcom /usr/lib/mozilla-1.7.12/regchrome touch `find /usr/lib/mozilla-1.7.12 -name *.rdf` ln -v -sf mozilla /usr/bin/netscape # ---- cd /usr/src/ponktv rm -rf mozilla log-package PKTV-Mozilla-1.7.12 } # Squashfs 2.2-rc2 function pkblfs-squashfs () { echo "Squashfs 2.2-rc2" cd /usr/src/ponktv tar -jxf packages/squashfs2.2-r2.tar.bz2 cd squashfs2.2-r2/squashfs-tools # ---- make cp mksquashfs /usr/sbin # ---- cd /usr/src/ponktv rm -rf squashfs2.2-r2 log-package Squashfs-2.2-rc2 } # Openbox 3.2 function pkblfs-openbox () { echo "Openbox 3.2" cd /usr/src/ponktv tar -jxf packages/openbox-3.2.tar.bz2 cd openbox-3.2 # ---- ./configure --prefix=/usr make make install cat > /root/.xinitrc << "EOF" # Begin .xinitrc file xsetroot -solid "#004880" openbox & xclock -g 100x100-0+0 & xterm -g 80x40+0+0 # End .xinitrc EOF # ---- cd /usr/src/ponktv rm -rf openbox-3.2 log-package Openbox-3.2 } # logrotate-3.7-5 function pkblfs-logrotate () { echo "logrotate-3.7-5" cd /usr/src/ponktv tar -jxf packages/logrotate_3.7.orig.tar.bz2 cd logrotate-3.7 # ---- patch -Np1 -i ../packages/logrotate_3.7-5.diff for i in $(ls debian/patches/*.dpatch) do patch -Np1 -i $i done make make install install -d -o 0 -g 0 -m 0755 /var/lib/logrotate # ---- cd /usr/src/ponktv rm -rf logrotate-3.7 log-package logrotate-3.7-5 } # Bootsplash-3.1 function pkblfs-bootsplash () { echo "Bootsplash-3.1" cd /usr/src/ponktv tar -jxf packages/bootsplash-3.1.tar.bz2 cd bootsplash-3.1 # ---- cd Utilities make cp splash /sbin cp fbresolution /sbin cp fbmngplay /sbin cp fbtruetype /sbin cd .. cp Scripts/bootanim /sbin chmod +x /sbin/bootanim cp Scripts/sysconfig.bootsplash /etc/sysconfig/bootsplash echo "THEME=\"current\"" >> /etc/sysconfig/bootsplash install -d /etc/bootsplash/themes # ---- cd /usr/src/ponktv rm -rf bootsplash-3.1 log-package Bootsplash-3.1 } # Libirman-0.4.3 function pkblfs-libirman () { echo "Libirman-0.4.3" cd /usr/src/ponktv tar -jxf packages/libirman-0.4.3.tar.bz2 cd libirman-0.4.3 # ---- ./configure --prefix=/usr make make install /sbin/ldconfig # ---- cd /usr/src/ponktv rm -rf libirman-0.4.3 log-package Libirman-0.4.3 } # Lirc-0.7.2 function pkblfs-lirc () { echo "Lirc-0.7.2" cd /usr/src/ponktv tar -jxf packages/lirc-0.7.2.tar.bz2 cd lirc-0.7.2 # ---- patch -Np1 -i ../packages/lirc-0.7.2-autogen.patch patch -Np1 -i ../packages/lirc-0.7.2-irtvdialog.patch patch -Np1 -i ../packages/lirc-0.7.2-sendxevent.patch chmod u+x autogen.sh aclocal ./autogen.sh ./configure \ --prefix=/usr \ --with-x \ --with-driver=irman \ --with-major=61 \ --with-port=none \ --with-irq=none \ --with-syslog=LOG_LOCAL3 make make install gcc -L/usr/X11R6/lib -lX11 -o sendxevent contrib/sendxevent.c install -m 0755 sendxevent /usr/sbin/ install -m 0644 contrib/lirc.rules /etc/udev/rules.d/lirc.rules cat > /etc/rc.d/init.d/lircd <<"EOF" #!/bin/sh ######################################################################## # Begin $rc_base/init.d/lircd # # Description : Lirc init # # Authors : Paul Estep # # Version : 1.0 # # Notes : # ######################################################################## . /etc/sysconfig/rc . ${rc_functions} case "${1}" in start) boot_mesg "Starting LIRC daemon..." loadproc nice -n -15 /usr/sbin/lircd --device /dev/ttyS0 ;; stop) boot_mesg "Stopping LIRC daemon..." killproc /usr/sbin/lircd ;; restart) ${0} stop sleep 1 ${0} start ;; status) statusproc /sbin/lircd ;; *) echo "Usage: ${0} {start|stop|restart|status}" exit 1 ;; esac # End $rc_base/init.d/lircd EOF chmod 0754 /etc/rc.d/init.d/lircd ln -sf ../init.d/lircd /etc/rc.d/rc0.d/K32lircd ln -sf ../init.d/lircd /etc/rc.d/rc1.d/K32lircd ln -sf ../init.d/lircd /etc/rc.d/rc2.d/K32lircd ln -sf ../init.d/lircd /etc/rc.d/rc3.d/S32lircd ln -sf ../init.d/lircd /etc/rc.d/rc4.d/S32lircd ln -sf ../init.d/lircd /etc/rc.d/rc5.d/S32lircd ln -sf ../init.d/lircd /etc/rc.d/rc6.d/K32lircd touch /etc/lircd.conf # ---- cd /usr/src/ponktv rm -rf lirc-0.7.2 log-package Lirc-0.7.2 } # Sudo-1.6.8p12 function pkblfs-sudo () { echo "Sudo-1.6.8p12" cd /usr/src/ponktv tar -jxf packages/sudo-1.6.8p12.tar.bz2 cd sudo-1.6.8p12 # ---- ./configure --prefix=/usr --with-password-timeout=1 \ --with-logging=syslog --without-lecture --enable-static make make install # ---- cd /usr/src/ponktv rm -rf sudo-1.6.8p12 log-package sudo-1.6.8p12 } # wmctrl-1.07 function pkblfs-wmctrl () { echo "wmctrl-1.07" cd /usr/src/ponktv tar -jxf packages/wmctrl-1.07.tar.bz2 cd wmctrl-1.07 # ---- ./configure --prefix="" make make install # ---- cd /usr/src/ponktv rm -rf wmctrl-1.07 log-package wmctrl-1.07 } # TVDialog-1.2 function pkblfs-tvdialog () { echo "TVDialog-1.2" cd /usr/src/ponktv tar -jxf packages/tvdialog-1.2.tar.bz2 cd tvdialog-1.2 # ---- ./configure --prefix=/usr make make install # ---- cd /usr/src/ponktv rm -rf tvdialog-1.2 log-package TVDialog-1.2 } # Ed2k-2.1 function pkblfs-ed2k () { echo "Ed2k-2.1" cd /usr/src/ponktv tar -jxf packages/ed2k-2.1.tar.bz2 cd ed2k-2.1 # ---- ./configure --prefix="" make make install # ---- cd /usr/src/ponktv rm -rf ed2k-2.1 log-package Ed2k-2.1 } # PKTV-Utils 1.0 function pkblfs-pktvutils () { echo "PKTV-Utils 1.0" cd /usr/src/ponktv tar -jxf packages/pktvutils-1.0.tar.bz2 cd pktvutils-1.0 # ---- ./configure --prefix=/usr make make install # ---- cd /usr/src/ponktv rm -rf pktvutils-1.0 log-package PKTV-Utils-1.0 } # Edonkeyclc-1.3.0 function pkblfs-edonkeyclc () { echo "Edonkeyclc-1.3.0" cd /usr/src/ponktv # ---- mkdir edonkey cd edonkey tar -jxf ../packages/edonkeyclc_1.3.0_i386.tar.bz2 cp usr/bin/edonkeyclc /sbin cp -r usr/share/doc/edonkeyclc /usr/share/doc/ cp -r usr/share/edonkeyclc /usr/share/ cd .. rm -rf edonkey cat > /etc/rc.d/init.d/edonkeyclc <<"EOF" #!/bin/sh ######################################################################## # Begin $rc_base/init.d/edonkeyclc # # Description : eDonkey init # # Authors : Paul Estep # # Version : 1.0 # # Notes : There is an issue with killproc so use kill # ######################################################################## . /etc/sysconfig/rc . ${rc_functions} case "${1}" in start) boot_mesg "Starting eDonkey Command Line Cilent..." loadproc /sbin/edonkeyclc -g 4663 --user=ponktv \ --daemon --pidfile=/var/run/edonkeyclc.pid ;; stop) boot_mesg "Stopping eDonkey Command Line Cilent..." # killproc kill -s TERM `cat /var/run/edonkeyclc.pid` ;; restart) ${0} stop sleep 5 ${0} start ;; status) statusproc /sbin/edonkeyclc ;; *) echo "Usage: ${0} {start|stop|restart|status}" exit 1 ;; esac # End $rc_base/init.d/edonkeyclc EOF chmod 0754 /etc/rc.d/init.d/edonkeyclc ln -sf ../init.d/edonkeyclc /etc/rc.d/rc0.d/K34edonkeyclc ln -sf ../init.d/edonkeyclc /etc/rc.d/rc1.d/K34edonkeyclc ln -sf ../init.d/edonkeyclc /etc/rc.d/rc2.d/K34edonkeyclc ln -sf ../init.d/edonkeyclc /etc/rc.d/rc3.d/S34edonkeyclc ln -sf ../init.d/edonkeyclc /etc/rc.d/rc4.d/S34edonkeyclc ln -sf ../init.d/edonkeyclc /etc/rc.d/rc5.d/S34edonkeyclc ln -sf ../init.d/edonkeyclc /etc/rc.d/rc6.d/K34edonkeyclc log-package Edonkeyclc-1.3.0 } # Mozplugger-1.7.3 function pkblfs-mozplugger () { echo "Mozplugger-1.7.3" cd /usr/src/ponktv tar -jxf packages/mozplugger-1.7.3.tar.bz2 cd mozplugger-1.7.3 # ---- make linux install mozplugger-helper /usr/bin/ install mozplugger-controller /usr/bin/ install mozplugger.so /usr/lib/mozilla-1.7.12/plugins/ install -m 644 mozpluggerrc /etc/ install -m 644 mozplugger.7.bz2 /usr/share/man/man7/ # ---- cd /usr/src/ponktv rm -rf mozplugger-1.7.3 log-package Mozplugger-1.7.3 } # JRE-1_5_0_06-linux-i586 function pkblfs-jre () { echo "JRE-1_5_0_06-linux-i586" cd /usr/src/ponktv # ---- cp packages/jre-1_5_0_06-linux-i586.bin . chmod u+x jre-1_5_0_06-linux-i586.bin # bad trick - mv /bin/more to /bin/more.org in order to not have # to page the sun license agreement. after extracting move it back mv /bin/more /bin/more.org yes | ./jre-1_5_0_06-linux-i586.bin mv /bin/more.org /bin/more cp -r jre1.5.0_06 /usr/lib ln -s ../../../lib/jre1.5.0_06/man/man1/java.1 /usr/share/man/man1/java.1 ln -s ../../../lib/jre1.5.0_06/man/man1/javaws.1 /usr/share/man/man1/javaws.1 ln -s ../../../lib/jre1.5.0_06/man/man1/keytool.1 /usr/share/man/man1/keytool.1 ln -s ../../../lib/jre1.5.0_06/man/man1/kinit.1 /usr/share/man/man1/kinit.1 ln -s ../../../lib/jre1.5.0_06/man/man1/klist.1 /usr/share/man/man1/klist.1 ln -s ../../../lib/jre1.5.0_06/man/man1/ktab.1 /usr/share/man/man1/ktab.1 ln -s ../../../lib/jre1.5.0_06/man/man1/orbd.1 /usr/share/man/man1/orbd.1 ln -s ../../../lib/jre1.5.0_06/man/man1/pack200.1 /usr/share/man/man1/pack200.1 ln -s ../../../lib/jre1.5.0_06/man/man1/policytool.1 /usr/share/man/man1/policytool.1 ln -s ../../../lib/jre1.5.0_06/man/man1/rmid.1 /usr/share/man/man1/rmid.1 ln -s ../../../lib/jre1.5.0_06/man/man1/rmiregistry.1 /usr/share/man/man1/rmiregistry.1 ln -s ../../../lib/jre1.5.0_06/man/man1/servertool.1 /usr/share/man/man1/servertool.1 ln -s ../../../lib/jre1.5.0_06/man/man1/tnameserv.1 /usr/share/man/man1/tnameserv.1 ln -s ../../../lib/jre1.5.0_06/man/man1/unpack200.1 /usr/share/man/man1/unpack200.1 ln -v -s ../../jre1.5.0_06/plugin/i386/ns7/libjavaplugin_oji.so \ /usr/lib/mozilla-1.7.12/plugins/libjavaplugin_oji.so rm -rf /etc/mailcap /root/.mailcap /root/.mime.types # ---- rm -rf jre1.5.0_06 rm -rf jre-1_5_0_06-linux-i586.bin log-package JRE-1_5_0_06-linux-i586 } # NVIDIA-Linux-x86-1.0-8174 function pkblfs-NVIDIA () { echo "NVIDIA-Linux-x86-1.0-8174" cd /usr/src/ponktv # ---- cp packages/NVIDIA-Linux-x86-1.0-8174-pkg1.run . chmod u+x NVIDIA-Linux-x86-1.0-8174-pkg1.run ./NVIDIA-Linux-x86-1.0-8174-pkg1.run -x cd NVIDIA-Linux-x86-1.0-8174-pkg1 ./nvidia-installer \ --kernel-name=2.6.11.12 \ --no-rpms \ --no-network \ --silent rm /var/log/nvidia-installer.log # ---- cd /usr/src/ponktv rm -rf NVIDIA-Linux-x86-1.0-8174-pkg1 rm -rf NVIDIA-Linux-x86-1.0-8174-pkg1.run log-package NVIDIA-Linux-x86-1.0-8174 } # Real Player 10.0.6 function pkblfs-realplay () { echo "Real Player 10.0.6" cd /usr/src/ponktv # ---- cp packages/realplay-10.0.6.776-linux-2.2-libc6-gcc32-i586.bin . chmod u+x realplay-10.0.6.776-linux-2.2-libc6-gcc32-i586.bin cat > realplay.setup < /usr/bin/realplayfullscreen << "EOF" #!/bin/bash /usr/lib/RealPlayer/realplay -f ${1} EOF chmod 0755 /usr/bin/realplayfullscreen # ---- rm -rf realplay-10.0.6.776-linux-2.2-libc6-gcc32-i586.bin log-package RealPlayer-10.0.6 } # Flash Player 7 function pkblfs-flash_player () { echo "Flash Player 7" cd /usr/src/ponktv tar -jxf packages/install_flash_player_7_linux.tar.bz2 cd install_flash_player_7_linux # ---- mv libflashplayer.so /usr/lib/mozilla-1.7.12/plugins/ mv flashplayer.xpt /usr/lib/mozilla-1.7.12/plugins/ # ---- cd /usr/src/ponktv rm -rf install_flash_player_7_linux log-package Flash-Player-7 } # ----------------------- # ---- PonkTV System ---- # ----------------------- # PonkTV system configuration functions function pktvsys-config () { echo "PonkTV System Configure" cd /usr/src/ponktv # ---- # additional groups and users groupadd -g 100 users groupadd -g 102 lirc groupadd -g 101 ponktv useradd -c 'ponktv' -d /home/ponktv -m \ -g users -G apache,audio,lirc,ponktv,video \ -s /bin/bash ponktv # set mozilla owned by ponktv user chown -R root:ponktv /usr/lib/mozilla-1.7.12 chmod -R g+w /usr/lib/mozilla-1.7.12 # install ponktv directories install -d /usr/share/ponktv install -d /usr/share/ponktv/movies install -d /usr/share/ponktv/temp install -d /usr/share/ponktv/files install -d /usr/share/ponktv/localhost chmod g+w /usr/share/ponktv/movies chown apache:apache /usr/share/ponktv/files chown apache:apache /usr/share/ponktv/localhost chown ponktv:apache /usr/share/ponktv/movies chown ponktv:ponktv /usr/share/ponktv/temp # compress documentation compressdoc --bz2 # patch lfs bootscripts for ponktv patch -Np0 -i packages/pktv-bootscripts.patch # PCI Utilities-2.1.11 pci.ids # maybe download at time of build # unpack pci.ids bzcat packages/pci.ids.bz2 > /usr/share/misc/pci.ids # ---- } # PonkTV Bootsplash function pktvsys-bootsplash () { echo "PonkTV Bootsplash" cd /usr/src/ponktv tar -jxf packages/pktv-bootsplash.tar.bz2 cd pktv-bootsplash # ---- cp -r PonkTV /etc/bootsplash install -d /etc/bootsplash/PonkTV/fonts cp /usr/share/fonts/TTF/${BOOT_FONT}.ttf /etc/bootsplash/PonkTV/fonts/default.ttf ln -s ../PonkTV /etc/bootsplash/themes/current cat > /etc/rc.d/init.d/splashstart << "EOF" #!/bin/sh ######################################################################## # Begin $rc_base/init.d/splashstart # # Description : start splash animation # # Authors : Paul Estep # # Version : 00.00 # # Notes : When run with start splashstart starts the bootsplash animation. # ######################################################################## . /etc/sysconfig/rc . ${rc_functions} if test -e /proc/splash then case "${1}" in start) boot_mesg "Staring bootsplash animation" if [[ "$(cat /proc/splash)" == *silent* ]] then fbmngplay -S -b -x 370 -y 340 \ /etc/bootsplash/themes/current/animations/logo.mng & fi ;; *) echo "Usage: ${0} {start}" exit 1 ;; esac fi # End $rc_base/init.d/splashstart EOF chmod 0754 /etc/rc.d/init.d/splashstart ln -s ../init.d/splashstart /etc/rc.d/rcsysinit.d/S42splashstart cat > /etc/rc.d/init.d/splashstop << "EOF" #!/bin/sh ######################################################################## # Begin $rc_base/init.d/splashstop # # Description : Stop bootsplash animation on start. # # Authors : Paul Estep # # Version : 00.00 # # Notes : When run with start splashstop stops the bootsplash animation. # ######################################################################## . /etc/sysconfig/rc . ${rc_functions} if test -e /proc/splash then case "${1}" in start) boot_mesg "Stoping PonkTV Bootsplash Animation..." splash -s \ /etc/bootsplash/themes/current/config/edonkey-800x600.cfg sleep 10 bootanim stop while ! test -z "$(ps -A | grep fbmngplay)" do sleep 1 done splash -s \ /etc/bootsplash/themes/current/config/shutdown-800x600.cfg ;; *) echo "Usage: ${0} {start}" exit 1 ;; esac fi # End $rc_base/init.d/splashstop EOF chmod 0754 /etc/rc.d/init.d/splashstop ln -s ../init.d/splashstop /etc/rc.d/rc3.d/S50splashstop ln -s ../init.d/splashstop /etc/rc.d/rc4.d/S50splashstop ln -s ../init.d/splashstop /etc/rc.d/rc5.d/S50splashstop # ---- cd /usr/src/ponktv rm -rf pktv-bootsplash } # PonkTV Cursors function pktvsys-cursors () { echo "PonkTV Cursors" cd /usr/src/ponktv tar -jxf packages/pktv-cursors.tar.bz2 # ---- cp -rv pktv-cursors/ponktv /usr/X11R6/lib/X11/icons ln -s watch /usr/X11R6/lib/X11/icons/ponktv/cursors/08e8e1c95fe2fc01f976f1e063a24ccd ln -s watch /usr/X11R6/lib/X11/icons/ponktv/cursors/3ecb610c1bf2410f44200f48c40d3599 ln -s watch /usr/X11R6/lib/X11/icons/ponktv/cursors/cross ln -s watch /usr/X11R6/lib/X11/icons/ponktv/cursors/cross_reverse ln -s watch /usr/X11R6/lib/X11/icons/ponktv/cursors/crossed_circle ln -s watch /usr/X11R6/lib/X11/icons/ponktv/cursors/crosshair ln -s watch /usr/X11R6/lib/X11/icons/ponktv/cursors/draped_box ln -s watch /usr/X11R6/lib/X11/icons/ponktv/cursors/left_ptr_watch ln -s watch /usr/X11R6/lib/X11/icons/ponktv/cursors/question_arrow ln -s left_ptr /usr/X11R6/lib/X11/icons/ponktv/cursors/4498f0e0c1937ffe01fd06f973665830 ln -s left_ptr /usr/X11R6/lib/X11/icons/ponktv/cursors/move ln -s left_ptr /usr/X11R6/lib/X11/icons/ponktv/cursors/right_ptr ln -s left_ptr /usr/X11R6/lib/X11/icons/ponktv/cursors/top_left_arrow rm -rf pktv-cursors # ---- rm -rf pktv-cursors } # PonkTV Theme function pktvsys-theme () { echo "PonkTV Theme" cd /usr/src/ponktv tar -jxf packages/pktv-theme.tar.bz2 # ---- cp -r pktv-theme/PonkTV/ /usr/share/themes # ---- rm -rf pktv-theme } # PonkTV Pages function pktvsys-pages () { echo "PonkTV Pages" cd /usr/src/ponktv tar -jxf packages/pktv-pages.tar.bz2 # ---- cp -r pktv-pages /srv/www/ chown -R apache:apache /srv/www/pktv-pages install -d -o apache -g apache -m 0755 /srv/www/tvs # ---- rm -rf pktv-pages } # PonkTV Docs function pktvsys-docs () { echo "PonkTV Docs" cd /usr/src/ponktv tar -jxf packages/pktv-docs.tar.bz2 # ---- mkdir /srv/www/pktv-pages/remote/pktvug cd pktv-docs make -f Makefile html OUTPUT=/srv/www/pktv-pages/remote/pktvug chown -R apache:apache /srv/www/pktv-pages/remote/pktvug # ---- rm -rf pktv-docs } # PonkTV IR function pktvsys-ir () { echo "PonkTV IR" cd /usr/src/ponktv tar -jxf packages/pktv-ir.tar.bz2 cd pktv-ir # ---- install lircrc -o root -g root -m 0644 /etc/ install pktvir -o root -g root -m 0755 /sbin/ # ---- cd /usr/src/ponktv rm -rf pktv-ir } # Configure logrotate function pktvsys-logrotate-config () { echo "Configure logrotate" # ---- cat > /etc/logrotate.conf << "EOF" # see "man logrotate" for details # rotate log files daily daily # keep 4 daily worth of backlogs rotate 4 # create new (empty) log files after rotating old ones create # uncomment this if you want your log files compressed #compress # no packages own wtmp -- we'll rotate them here /var/log/wtmp { monthly create 0664 root utmp rotate 1 } # system-specific logs may be also be configured here. "/var/log/auth.log" /var/log/messages.log { create 0664 root root size=100k postrotate /etc/rc.d/init.d/sysklogd reload endscript } /var/log/cron.log { create 0664 root root # postrotate # /etc/rc.d/init.d/fcron restart # endscript } /var/log/daemon.log { create 0664 root root postrotate endscript } /var/log/kern.log { create 0664 root root } /var/log/user.log { create 0664 root root } #/var/log/lircd.log { # create 0664 root root # size=100k # postrotate # /etc/rc.d/init.d/lircd restart # endscript #} /var/log/hotplug/events { create 0664 root root postrotate /etc/rc.d/init.d/hotplug restart endscript } "/var/log/apache/error_log" /var/log/apache/access_log { create 0664 root root size=100k sharedscripts postrotate /etc/rc.d/init.d/apache restart endscript } EOF # ---- } # Configure syslogd function pktvsys-syslogd-config () { echo "Configure syslogd" # ---- cat > /etc/syslog.conf << "EOF" # Begin /etc/syslog.conf auth.* -/var/log/auth.log authpriv.* -/var/log/auth.log *.* -/var/log/messages.log auth.none -/var/log/messages.log authpriv.none -/var/log/messages.log cron.* -/var/log/cron.log daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log user.* -/var/log/user.log *.emerg * # End /etc/syslog.conf EOF # ---- } # Samba Condifguration function pktvsys-samba-config () { echo "Samba Configuration" touch /etc/samba/smb.conf } # Dhcpd Configuration function pktvsys-dhcpd-config () { echo "Dhcpd Configuration" sed -i -e "s/ONBOOT=yes/ONBOOT=no/" \ /etc/sysconfig/network-devices/ifconfig.eth0/ipv4 } # PonkTV Xorg Configure function pktvsys-xorg-config () { echo "PonkTV Xorg Configure" cd /usr/src/ponktv # ---- cat > /etc/X11/xorg.conf << "EOF" # Begin /etc/X11/xorg.conf Section "ServerLayout" Identifier "ServerLayoutSystem" Screen "ScreenMonitor" InputDevice "Mouse" "CorePointer" InputDevice "Keyboard" "CoreKeyboard" EndSection Section "ServerLayout" Identifier "ServerLayoutTV" Screen "ScreenTV" InputDevice "Void" "CorePointer" InputDevice "Keyboard" "CoreKeyboard" EndSection Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" ModulePath "/usr/X11R6/lib/modules" FontPath "/usr/share/fonts/misc/" FontPath "/usr/share/fonts/TTF/" FontPath "/usr/share/fonts/Type1/" FontPath "/usr/share/fonts/100dpi/" FontPath "/usr/share/fonts/75dpi/" EndSection Section "Module" Load "extmod" Load "dbe" Load "record" Load "xtrap" Load "freetype" Load "type1" Load "glx" Load "int10" EndSection Section "InputDevice" Identifier "Keyboard" Driver "keyboard" EndSection Section "InputDevice" Identifier "Mouse" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/input/mice" Option "Emulate3Buttons" "true" EndSection Section "InputDevice" Identifier "Void" Driver "void" EndSection Section "Device" Identifier "VideoCardTV" Driver "nvidia" VendorName "nVidia" BoardName "" # BusID "PCI:0:0:0" Option "NoLogo" "true" Option "ConnectedMonitor" "TV" EndSection Section "Device" Identifier "VideoCardMonitor" Driver "nvidia" VendorName "nVidia" BoardName "" # BusID "PCI:0:0:0" Option "ConnectedMonitor" "CRT" EndSection Section "Monitor" Identifier "MonitorCRT" Option "DPMS" "true" EndSection Section "Screen" Identifier "ScreenMonitor" Device "VideoCardMonitor" Monitor "MonitorCRT" DefaultDepth 24 SubSection "Display" Depth 24 Modes "800x600" EndSubSection EndSection Section "Monitor" Identifier "MonitorTV" HorizSync 30-50 VertRefresh 60 Option "DPMS" "true" EndSection Section "Screen" Identifier "ScreenTV" Device "VideoCardTV" Monitor "MonitorTV" DefaultDepth 24 SubSection "Display" Depth 24 Modes "800x600" EndSubSection EndSection # End /etc/X11/xorg.conf EOF # ---- } # Sudo Configure function pktvsys-sudo-config () { echo "Sudo Configure" cd /usr/src/ponktv # ---- cat >> /etc/sudoers << "EOF" Cmnd_Alias SHUTDOWN = /sbin/shutdown -t[0-9] -h now Cmnd_Alias REBOOT = /sbin/shutdown -t[0-9] -r now Cmnd_Alias EDONKEYCLC = /etc/rc.d/init.d/edonkeyclc Cmnd_Alias ED2K = /bin/ed2k Cmnd_Alias XSET = /usr/X11R6/bin/xset Cmnd_Alias MPLAYER = /usr/bin/mplayer Cmnd_Alias SENDEXIT = /usr/sbin/sendxevent apache ALL = NOPASSWD: SHUTDOWN, REBOOT, EDONKEYCLC, ED2K, XSET apache ALL = (ponktv) NOPASSWD: MPLAYER, SENDEXIT EOF chmod 0400 /etc/sudoers # ---- } # Fcron Configure function pktvsys-fcron-config () { echo "Fcron Configure" cd /usr/src/ponktv # ---- patch -Np0 -i packages/pktv-blfs-bootscripts-6.1-fcron.patch cat >> /etc/fcrontab << "EOF" # Begin PonkTV System crontab %nightly,lavg(1.5,2,2) * * /usr/sbin/logrotate /etc/logrotate.conf # End PonkTV System crontab EOF chmod 0400 /etc/fcrontab # ---- } # PonkTV Ed2k Configure function pktvsys-ed2k-config () { echo "PonkTV Ed2k Configure" cd /usr/src/ponktv # ---- cat > /etc/ed2k.conf << "EOF" localhost 4663 EOF chown root:ponktv /etc/ed2k.conf chmod 0600 /etc/ed2k.conf # ---- } # PonkTV Apache Configure function pktvsys-apache-config () { echo "PonkTV Apache Configure" cd /usr/src/ponktv # ---- patch -Np0 -i packages/pktv-httpd-2.0.54-conf.patch # ---- } # PonkTV PHP Configure function pktvsys-php-config () { echo "PonkTV PHP Configure" cd /usr/src/ponktv # ---- patch -Np0 -i packages/pktv-php-5.0.4-ini.patch # ---- } # PonkTV mailcap Configure function pktvsys-mailcap-config () { echo "PonkTV mail Configure" cd /usr/src/ponktv # ---- cat > /etc/mailcap << "EOF" application/x-java-jnlp-file; /usr/lib/jre1.5.0_06/bin/javaws %s application/x-ogg;/usr/bin/realplayfullscreen %s application/ogg;/usr/bin/realplayfullscreen %s text/vnd.rn-realtext;/usr/bin/realplayfullscreen %s image/vnd.rn-realpix;/usr/bin/realplayfullscreen %s application/smil;/usr/bin/realplayfullscreen %s audio/mp3;/usr/bin/realplayfullscreen %s audio/x-mp3;/usr/bin/realplayfullscreen %s audio/mpeg;/usr/bin/realplayfullscreen %s audio/mpg;/usr/bin/realplayfullscreen %s audio/x-mpeg;/usr/bin/realplayfullscreen %s audio/x-mpg;/usr/bin/realplayfullscreen %s audio/mpegurl;/usr/bin/realplayfullscreen %s audio/x-mpegurl;/usr/bin/realplayfullscreen %s audio/wav;/usr/bin/realplayfullscreen %s audio/x-wav;/usr/bin/realplayfullscreen %s audio/x-pn-wav;/usr/bin/realplayfullscreen %s audio/x-pn-windows-acm;/usr/bin/realplayfullscreen %s audio/x-pn-windows-pcm;/usr/bin/realplayfullscreen %s application/vnd.rn-realmedia-secure;/usr/bin/realplayfullscreen %s application/vnd.rn-realaudio-secure;/usr/bin/realplayfullscreen %s audio/x-realaudio-secure;/usr/bin/realplayfullscreen %s video/vnd.rn-realvideo-secure;/usr/bin/realplayfullscreen %s audio/vnd.rn-realaudio;/usr/bin/realplayfullscreen %s audio/x-realaudio;/usr/bin/realplayfullscreen %s application/vnd.rn-realmedia;/usr/bin/realplayfullscreen %s application/vnd.rn-realmedia-vbr;/usr/bin/realplayfullscreen %s image/vnd.rn-realpix;/usr/bin/realplayfullscreen %s audio/x-pn-realaudio;/usr/bin/realplayfullscreen %s video/vnd.rn-realvideo;/usr/bin/realplayfullscreen %s application/vnd.rn-realsystem-rmj;/usr/bin/realplayfullscreen %s application/vnd.rn-realsystem-rmx;/usr/bin/realplayfullscreen %s audio/aac;/usr/bin/realplayfullscreen %s audio/m4a;/usr/bin/realplayfullscreen %s audio/mp2;/usr/bin/realplayfullscreen %s audio/mp1;/usr/bin/realplayfullscreen %s audio/rn-mpeg;/usr/bin/realplayfullscreen %s audio/scpls;/usr/bin/realplayfullscreen %s audio/x-scpls;/usr/bin/realplayfullscreen %s application/streamingmedia;/usr/bin/realplayfullscreen %s application/sdp;/usr/bin/realplayfullscreen %s application/x-sdp;/usr/bin/realplayfullscreen %s EOF # ---- } # PonkTV Mozplugger Configure function pktvsys-mozplugger-config () { echo "PonkTV Mozplugger Configure" cd /usr/src/ponktv # ---- cat > /etc/mozpluggerrc << "EOF" # Configure file for MozPlugger 1.7 # Version: July 17, 2005 # # Commands which are not installed on your system will not be used. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. # # Modified for PonkTV ################### ### m4 macros ### ################### changequote([,]) ### Helpers #define(ENABLE_HELPERS) ifdef([ENABLE_HELPERS],[ define(HELPER,[nokill noisy: $1]) ],[ define(HELPER,[]) ]) ### MPlayer define(MP_CMD,[mplayer -really-quiet -nojoystick -nofs -zoom -vo xv,x11 -ao esd,alsa,oss,arts,null -osdlevel 0 $1 /sbin/pktvlogin << "EOF" #!/bin/sh # Begin /sbin/pktvlogin su - ponktv -c /sbin/pktv # End /sbin/pktvlogin EOF chmod 0744 /sbin/pktvlogin cat > /sbin/pktv << "EOF" #!/bin/sh # Begin /sbin/pktv export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin export GTK2_RC_FILES=/home/ponktv/pktv.themes/current/gtkrc xinit /home/ponktv/pktv.xinitrc \ -- /usr/X11R6/bin/X \ -quiet \ -config xorg.conf \ -layout "ServerLayoutTV" # End /sbin/pktv EOF chmod 0755 /sbin/pktv chown root:root /sbin/pktv # ---- } # PonkTV Initrd function pktvsys-initrd () { echo "PonkTV Initrd" cd /usr/src/ponktv # ---- splash -s -f /etc/bootsplash/themes/current/config/startup-800x600.cfg > /boot/initrd-btfs-2.6.11.12.img.gz # ---- } # --------------------- # ---- PonkTV User ---- # --------------------- # PonkTV user configuration functions # PonkTV Xorg Configure function pktvusr-xorg-config () { echo "PonkTV Xorg Configure" cd /usr/src/ponktv # ---- cat > /home/ponktv/pktv.Xresources << "EOF" Xcursor.theme: ponktv EOF chown ponktv:ponktv /home/ponktv/pktv.Xresources cat > /home/ponktv/pktv.xinitrc << "EOF" # Begin /home/ponktv/pktv.xinitrc xrdb -load /home/ponktv/pktv.Xresources display -window root /home/ponktv/pktv.themes/current/pktv.jpg xset s off & xset -display :0.0 +dpms xset -display :0.0 dpms 0 0 0 xset -display :0.0 dpms force off irexec -d /etc/lircrc openbox & mozilla # End /home/ponktv/pktv.xinitrc EOF chown ponktv:ponktv /home/ponktv/pktv.xinitrc # ---- } # PonkTV Openbox Configure function pktvusr-openbox-config () { echo "PonkTV Openbox Configure" # ---- install -d /home/ponktv/.config/openbox cat > /home/ponktv/.config/openbox/menu.xml << "EOF" EOF cat > /home/ponktv/.config/openbox/rc.xml << "EOF" 10 0 yes no no 0 no PonkTV L Smart 1 1 one yes menu.xml EOF chown -R ponktv:ponktv /home/ponktv/.config # ---- } # PonkTV Gtk+ Configure function pktvusr-gtk-config () { echo "PonkTV Gtk+ Configure" cd /usr/src/ponktv # ---- install -d /home/ponktv/pktv.themes ln -s /usr/share/themes/PonkTV/gtk-2.0 /home/ponktv/pktv.themes/current chown -R ponktv:ponktv /home/ponktv/pktv.themes # ---- } # PonkTV Edonkey Configure function pktvusr-edonkey-config () { echo "PonkTV Edonkey Configure" cd /usr/src/ponktv # ---- install -d /home/ponktv/.eDonkey2000 cp /usr/share/edonkeyclc/server.met /home/ponktv/.eDonkey2000 cp /usr/share/edonkeyclc/contact.dat /home/ponktv/.eDonkey2000 touch /home/ponktv/.eDonkey2000/pref.xml chown -R ponktv:ponktv /home/ponktv/.eDonkey2000 # ---- } # PonkTV RealPlayer Configure function pktvusr-realplayer-config () { echo "PonkTV RealPlayer Configure" cd /usr/src/ponktv # ---- cat > /home/ponktv/.realplayerrc << "EOF" [helix] Rotuma=gfcgghcifjnklldmeooroukqmojrktlufkjjkidlijgffiplnnjoruoqmrlnoqppifqgghii AutoTransport=1 SendStatistics=1 AttemptRTSPvMulticast=1 AttemptRTSPvUDP=1 AttemptRTSPvTCP=1 AttemptRTSPvHTTP=1 RTSPProxySupport=0 RTSPProxyHost= RTSPProxyPort=554 AttemptPNAvMulticast=1 AttemptPNAvUDP=1 AttemptPNAvTCP=1 AttemptPNAvHTTP=1 PNAProxySupport=0 PNAProxyHost= PNAProxyPort=1090 HTTPProxySupport=0 HTTPProxyHost= HTTPProxyPort=80 UserSDKDataPath=/home/ponktv/.helix/ Bandwidth=10485800 MaxBandwidth=10485800 PluginHandlerData\FileInfo0={memfsys.so,508EA791E13BE0F31EEFA78D1333EE07,0,116568,1}{vidsite.so,BDCEB36985EBE6D5605235FB79CB909C,0,326088,1}{hxxml.so,2CA1123DA974966AE3A6A8A2706EA3C4,0,95492,1}{authmgr.so,3B2DB3B6EA00AC28F339AB35B4CAC838,0,164024,1}{clbascauth.so,DBA192214B11494929F2334C4FC32BAC,0,48124,1}{rn5auth.so,DAF81C933FEFAC36E301DBA0FCCDE296,1,70100,2}{ramfformat.so,28A88EBDF2BE9DBDDCD05D5984598E4B,0,53084,1}{ramrender.so,C60FF69CB6213523BEA7B35975496331,0,85908,1}{smlfformat.so,8E1FE104535F123AEDBEC8C6D3CB01C7,0,86696,1}{smlrender.so,C73F6AE1817D36DE764578E073A46A20,1,793164,4}{giffformat.so,8933FB53E99F56F628BAC8A65C747E14,0,129572,1}{gifrender.so,16B5A8262CBE9ECB5DAD97CA372E53C0,0,187448,1}{jpgfformat.so,B61B40D587CE0E7B3D3BF167DB54C05E,0,116364,1}{jpgrender.so,F63084326ABFF01BE74A70019959D4C0,0,225700,1}{pngfformat.so,A09A826CACE12C7E1187AA0D6BBB6A7C,0,207368,1}{pngrender.so,FE1AF6B3945E4F36050EA81D27FD12C5,0,236980,1}{wbmpfformat.so,8262512A122D5EDD4BFAB7DBBD5BE4EC,0,64940,1}{wbmprend.so,EE78AB3DDB12A301DFDB216950FBDD45,0,112396,1}{rpfformat.so,CD663BAD059116203E1293EFF8CE1D15,0,239644,1}{rprender.so,61DBFB5393299623ADDB1FA1E4908E33,0,230652,1}{rpgifplin.so,85E0176FF9DFB3B446C93B5C4A5C3D06,1,65832,2}{rpjpgplin.so,1715E2E2B5337D9DFA2FB03FE02F3F66,1,158780,2}{rppngplin.so,BFA5AF9DF20C2F3C94BEDFB8E8FA77F4,1,164764,2}{rtfformat.so,C6DDD6BB457F003FBF3FDA21218DD248,0,178528,1}{rtrender.so,4135485EAD2B9F9AF7F261E3B5F039E3,0,212264,1}{smplfsys.so,6D27DCB707CCE7C300C07187B0E0EE0D,0,115728,1}{httpfsys.so,39817CCA1A47C76E6E8DBCE7835CE6BF,1,289140,2}{hxsdp.so,FED26F1D7A7C2B6F2B037BA094CC2AFF,0,44792,1}{sdpplin.so,DF0E9F9037172C80328FBC8F2139D40E,1,70624,2}{vsrlocal.so,EDC58D5BB647D8DAD5034330BE573E1C,0,132980,1}{vsrcplin.so,B295FDA4C32AE311CDDCCF6875937357,1,201076,3}{amrff.so,5BDD63F62BC51B21C2C7CEB641888A0E,0,69632,1}{h263render.so,1A47F2A49FA0140BAB85AC6A1AA34390,0,148568,1}{mp4fformat.so,F05F979A22086D405EB281B132903677,0,115484,1}{mp4arender.so,3B4ADE77F6CE3D2378ED867B03DF21F2,0,177636,1}{rvxrender.so,312856224E6AD40575E8F06DA4629D62,0,186876,1}{rarender.so,5D0CA10D2E9142C48F6945ECDB815095,0,211140,1}{aacff.so,D8F88CFB45534CEF821E3B6E78C658E4,0,86188,1}{rmfformat.so,1C1A36C5516161C49E223E60548BB12D,0,279684,1}{smmrender.so,78542D8F1B7D3B24A29D9CE529AE2DAD,0,83208,1}{mp3fformat.so,BB52C2E1C47F1D5597BF62291599632E,0,88084,1}{mp3render.so,1D7E8E5BFDF06BC4C45CC81729080F45,0,125352,1}{mp3metaff.so,4303A9387280F87529F38667427C6D5C,0,103604,1}{vorbisrend.so,8815C1995748B5EB9614A099DFC98B3E,0,222340,1}{theorarend.so,727399D2652E0DFBEBBAC2A91B71603C,0,276460,1}{oggfformat.so,A4AFE4D6BDEE4C6D9BED6F9F93FABE65,0,87988,1}{swfrender.so,C25142887A7C87A97CFF281758805109,0,797408,1}{swfformat.so,8D3BC66D8B234E1C47C3ACF41CB22420,0,170428,1}{audplin.so,2D71CC4EF762AA34F1E626D4FE903571,1,274168,6}{aufformat.so,D82BCD3A2AEAFA2AB87A09C25B52849B,0,20056,1}{pcmrend.so,391234357EF73FEA67D4AE49059E1E62,0,95692,1}2918 PluginHandlerData\PluginInfo0={IndexNumber~N0~LoadMultiple~N1~Version~N-1610611824~PluginFilename~Smemfsys.so~Description~SRealNetworks Memory File System~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_SYSTEM~FileShort~Spn-memory~FileProtocol~Smem}{IndexNumber~N0~LoadMultiple~N0~Version~N-1610609319~PluginFilename~Svidsite.so~Description~SSurface/Site Window Factory Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.real.com~PluginType~SPLUGIN_CLASS_FACT}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610605587~PluginFilename~Shxxml.so~Description~SRealNetworks XML Parser Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_CLASS_FACT}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610611010~PluginFilename~Sauthmgr.so~Description~SHelix Authentication Manager~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_CLASS_FACT}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610611897~PluginFilename~Sclbascauth.so~Description~SRealNetworks Basic Authenticator~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610611732~PluginFilename~Srn5auth.so~Description~SRealNetworks RN5 Authenticator~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SAuthenticator~PluginID~Srn-auth-rn5~AuthenticationProtocolID~SRN5}{IndexNumber~N1~LoadMultiple~N1~Version~N-1610611732~PluginFilename~Srn5auth.so~Description~SRealNetworks Digest Authenticator~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SAuthenticator~PluginID~Srn-auth-digest~AuthenticationProtocolID~SDigest}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610609602~PluginFilename~Sramfformat.so~Description~SRealNetworks RealMedia Meta File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Sapplication/ram|audio/x-musicnet-stream~FileExtensions~Sram|rmm|mns~FileOpenNames~SRAM Meta File (*.ram, *.rmm, *.mns)}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610609606~Renderer_Granularity~N0~PluginFilename~Sramrender.so~Description~SRealNetworks RAM Driver Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/ram~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610608968~PluginFilename~Ssmlfformat.so~Description~SRealNetworks SMIL File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Sapplication/smil~FileExtensions~Ssmi|smil~FileOpenNames~SSMIL File Format (*.smi,*.smil)}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610612736~Renderer_Granularity~N67~PluginFilename~Ssmlrender.so~Description~SRealNetworks RMA Driver Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/rma-driver|application/smil|application/smil|application/smil~PluginType~SPLUGIN_RENDERER}{IndexNumber~N1~LoadMultiple~N1~Version~N-1610612736~Renderer_Granularity~N66~PluginFilename~Ssmlrender.so~Description~SRealNetworks RMA Driver Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/vnd.rn-rmadriver|application/rma-driver~PluginType~SPLUGIN_RENDERER}{IndexNumber~N2~LoadMultiple~N1~Version~N-1610612736~PluginFilename~Ssmlrender.so~Description~SRealNetworks Brush File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Stext/brush~FileExtensions~Sbsh~FileOpenNames~SBrush Files (*.bsh)}{IndexNumber~N3~LoadMultiple~N1~Version~N-1610612736~Renderer_Granularity~N200~PluginFilename~Ssmlrender.so~Description~SRealNetworks Brush Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/vnd.rn-brushstream~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610609596~PluginFilename~Sgiffformat.so~Description~SHelix GIF File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Simage/gif~FileExtensions~Sgif~FileOpenNames~SGIF File Format (*.gif)}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610609911~Renderer_Granularity~N1000~PluginFilename~Sgifrender.so~Description~SHelix GIF Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/vnd.rn-gifstream|application/vnd.rn-gifstream2|application/vnd.rn-gifstream3~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610610691~PluginFilename~Sjpgfformat.so~Description~SHelix JPEG File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Simage/jpeg~FileExtensions~Sjpg|jpeg|jpe|jfif~FileOpenNames~SJPEG Images (*.jpg)}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610611009~Renderer_Granularity~N100~PluginFilename~Sjpgrender.so~Description~SHelix JPEG Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/vnd.rn-jpegstream~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610610693~PluginFilename~Spngfformat.so~Description~SHelix PNG File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Simage/png~FileExtensions~Spng~FileOpenNames~SPNG Images (*.png)}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610611012~Renderer_Granularity~N200~PluginFilename~Spngrender.so~Description~SHelix PNG Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/vnd.rn-pngstream~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610611863~PluginFilename~Swbmpfformat.so~Description~SHelix WBMP File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Simage/x-wap.wbmp~FileExtensions~Swbmp~FileOpenNames~SWireless BMP Images (*.wbmp)}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610611970~Renderer_Granularity~N200~PluginFilename~Swbmprend.so~Description~SHelix Wireless BMP Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/vnd.rn-wbmpstream~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610610696~PluginFilename~Srpfformat.so~Description~SHelix RealPix Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Sapplication/vnd.rn-realpix|image/vnd.rn-realpix~FileExtensions~Srp~FileOpenNames~SRealPix (*.rp)}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610611012~Renderer_Granularity~N33~PluginFilename~Srprender.so~Description~SHelix RealPix Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights r PluginHandlerData\PluginInfo1=eserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/vnd.rn-realpixstream|application/vnd.rn-realpixstream2~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610610694~PluginFilename~Srpgifplin.so~Description~SHelix RealPix GIF File Format Codec Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org}{IndexNumber~N1~LoadMultiple~N1~Version~N-1610610694~PluginFilename~Srpgifplin.so~Description~SHelix RealPix GIF Renderer Codec Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610610694~PluginFilename~Srpjpgplin.so~Description~SHelix RealPix JPEG File Format Codec Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org}{IndexNumber~N1~LoadMultiple~N1~Version~N-1610610694~PluginFilename~Srpjpgplin.so~Description~SHelix RealPix JPEG Renderer Codec Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610610693~PluginFilename~Srppngplin.so~Description~SHelix RealPix PNG File Format Codec Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org}{IndexNumber~N1~LoadMultiple~N1~Version~N-1610610693~PluginFilename~Srppngplin.so~Description~SHelix RealPix PNG Renderer Codec Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610611478~PluginFilename~Srtfformat.so~Description~SHelix RealText File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Sapplication/vnd.rn-realtext|text/vnd.rn-realtext|application/x-pn-realtext|text/plain~FileExtensions~Srtx|rt|txt~FileOpenNames~SRealText File Format (*.rt)}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610611692~Renderer_Granularity~N50~PluginFilename~Srtrender.so~Description~SHelix RealText Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/vnd.rn-realtext|application/x-pn-realtext|text/plain~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610608516~PluginFilename~Ssmplfsys.so~Description~SRealNetworks Local File System~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_SYSTEM~FileShort~Spn-local~FileProtocol~Sfile}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610608634~PluginFilename~Shttpfsys.so~Description~SRealNetworks HTTP File System with CHTTP Support~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_SYSTEM~FileShort~Spn-http~FileProtocol~Shttp|chttp}{IndexNumber~N1~LoadMultiple~N1~Version~N-1610612736~PluginFilename~Shttpfsys.so~Description~SRealNetworks RFC 2397 Data Scheme File System~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_SYSTEM~FileShort~Spn-datafsys~FileProtocol~Sdata}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610612223~PluginFilename~Shxsdp.so~Description~SRealNetworks SDP Stream Description Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~StreamDescription~Sapplication/sdp~PluginType~SPLUGIN_STREAM_DESC}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610612363~Renderer_Granularity~N0~PluginFilename~Ssdpplin.so~Description~SRealNetworks SDP Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/sdp~PluginType~SPLUGIN_RENDERER}{IndexNumber~N1~LoadMultiple~N1~Version~N-1610612363~PluginFilename~Ssdpplin.so~Description~SRealNetworks SDP File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Sapplication/sdp~FileExtensions~Ssdp~FileOpenNames~SSDP File (*.sdp)}{IndexNumber~N0~LoadMultiple~N0~Version~N-1609564018~PluginFilename~Svsrlocal.so~Description~SRealNetworks Local View Source Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org}{IndexNumber~N0~LoadMultiple~N1~Version~N-1609564160~PluginFilename~Svsrcplin.so~Description~SRealNetworks View Source Tag Replacement Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org}{IndexNumber~N1~LoadMultiple~N1~Version~N-1609564160~PluginFilename~Svsrcplin.so~Description~SRealNetworks View Source Allowance Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_ALLOWANCE}{IndexNumber~N2~LoadMultiple~N1~Version~N-1609564018~PluginFilename~Svsrcplin.so~Description~SRealNetworks View Source File System~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_SYSTEM~FileShort~Spn-vsrcfsys~FileProtocol~Svsrc}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610610275~PluginFilename~Samrff.so~Description~SHelix AMR File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Saudio/amr|audio/awb~FileExtensions~Samr|awb~FileOpenNames~SAMR Files (*.amr,*.awb)}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610609322~Renderer_Granularity~N20~PluginFilename~Sh263render.so~Description~SRealNetworks H263 Video Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Svideo/H263-2000|video/h263-1998|video/h263|video/X-RN-3GPP-H263~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610607099~PluginFilename~Smp4fformat.so~Description~SRealNetworks Mpeg4 File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Sapplication/x-pn-quicktime-stream|audio/3gpp|video/3gpp~FileExtensions~Smov|qt|mp4|3gp|3g2|m4a~FileOpenNames~SQuickTime Files (*.mov, *.qt)|MP4 Files (*.mp4)|3GPP-MP4 Files (*.3gp, *.3g2)}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610609542~Renderer_Granularity~N100~PluginFilename~Smp4arender.so~Description~SRealNetworks MPEG-4 Audio Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Saudio/x-ralf-mpeg4-generic|audio/X-RN-MP4-RAWAU|audio/MP4A-LATM|audio/mpeg4-simple-A2|audio/mpeg4-generic|audio/X-HX-AAC-GENERIC|audio/X-RN-3GPP-AMR|audio/AMR|audio/X-RN-3GPP-AMR-WB|audio/AMR-WB~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610609604~Renderer_Granularity~N20~PluginFilename~Srvxrender.so~Description~SRealNetworks RealVideo Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Svideo/x-pn-realvideo|video/x-pn-multirate-realvideo~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610609192~Renderer_Granularity~N100~Bandwidth.000~N100~Priority.000~N100~Bandwidth.001~N50~Priority.001~N50~Bandwidth.002~N40~Priority.002~N40~Bandwidth.003~N25~Priority.003~N25~Bandwidth.004~N20~Priority.004~N21~Bandw PluginHandlerData\PluginInfo2=idth.005~N20~Priority.005~N20~Bandwidth.006~N36~Priority.006~N19~Bandwidth.007~N15~Priority.007~N15~Bandwidth.008~N10~Priority.008~N11~Bandwidth.009~N10~Priority.009~N10~Bandwidth.010~N8~Priority.010~N9~Bandwidth.011~N6~Priority.011~N8~Bandwidth.012~N18~Priority.012~N7~Bandwidth.013~N7~Priority.013~N6~CodecCount~N14~PluginFilename~Srarender.so~Description~SRealNetworks RealAudio Renderer Plugin~Copyright~S(c) 1995-2002 RealNetworks, Inc. All rights reserved. %0a %0aRealNetworks RealAudio 8 Audio Codec: %0aCopyright (c) 1995-2002 RealNetworks, Inc. All rights reserved. %0a %0aATRAC3 %0aCopyright (c) 2000 Sony Corporation. All rights reserved. %0a %0aaacPlus %0aaacPlus developed by Coding Technologies. All rights reserved. %0a %0aDolbyNet(tm) audio system manufactured under license from Dolby Laboratories Licensing Corporation. %0aCopyright (c) 1996-1997, Dolby Laboratories Licensing Corporation. All rights reserved. %0a %0aACELP(r) is either registered trademark or trademark of VoiceAge Corporation in the United States and/or other countries and used under license from VoiceAge Corporation %0aThe ACELP(r).net codec in this product is used under license from VoiceAge Corporation %0aCopyright (c) 1998,1999, 2000 VoiceAge Corporation. All rights reserved. %0a~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Saudio/x-pn-realaudio|audio/x-pn-multirate-realaudio|audio/x-pn-multirate-realaudio-live~PluginType~SPLUGIN_RENDERER~Codec.000~Bdnet~Codec.001~Bdnet~Codec.002~Bdnet~Codec.003~Bdnet~Codec.004~Bsipr~Codec.005~Bdnet~Codec.006~B28_8~Codec.007~Bdnet~Codec.008~Bsipr~Codec.009~Bdnet~Codec.010~Bsipr~Codec.011~Bsipr~Codec.012~BlpcJ~Codec.013~B05_6}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610612182~PluginFilename~Saacff.so~Description~SAAC Audio Format~Copyright~SRealNetworks Inc~PlgCopy~SHelix DNA platform~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Saudio/aac~FileExtensions~SAAC~FileOpenNames~S}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610612736~PluginFilename~Srmfformat.so~Description~SRealNetworks RealMedia File Format Plugin~Copyright~S(c) 1995-2002 RealNetworks, Inc. All rights reserved.~PlgCopy~Shttp://www.real.com~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Saudio/x-pn-realaudio|application/x-pn-realmedia|video/x-pn-realvideo-encrypted|audio/x-pn-realaudio-encrypted|application/vnd.rn-realmedia-secure|application/x-musicnet-download|application/vnd.rn-realmedia-vbr|application/x-musicnet-stream~FileExtensions~Sra|rm|rmd|rmj|rms|mnd|rmc|rmvb|mns|mrc|rax|rvx|rv~FileOpenNames~SRealMedia Files (*.ra, *.rm, *.rmj, *.rms, *.mnd, *.rmc, *.rmvb, *.mns, *.mrc, *.rax, *.rvx, *.rv)}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610611915~Renderer_Granularity~N100~PluginFilename~Ssmmrender.so~Description~SRealNetworks Synchronized Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/x-pn-realevent|syncMM/x-pn-realvideo|application/x-pn-realad~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N0~PluginFilename~Smp3fformat.so~Description~SRealNetworks MP3 File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Saudio/rn-mpeg|audio/mpeg|audio/mpg|audio/mp3|audio/x-mpeg|audio/x-mpg|audio/x-mp3~FileExtensions~Smp3|mp2|mpa|mp1|mpga|mpg|mpeg|mpv|dat~FileOpenNames~SMPEG Audio Files (.mp3;.mp2;.mpa;.mp1;.mpga)}{IndexNumber~N0~LoadMultiple~N1~Version~N0~Renderer_Granularity~N50~PluginFilename~Smp3render.so~Description~SRealNetworks MPEG Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Saudio/X-MP3-draft-00|audio/X-MP3-draft-00-RN|audio/MPEG-ELEMENTARY|audio/MPEG-ELEMENTARY-RN|audio/MPEG-ELEMENTARY-RAW|audio/rn-mpeg|audio/mpa-robust|audio/MPA~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610612138~PluginFilename~Smp3metaff.so~Description~SRealNetworks RealMedia MP3 Playlist File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Saudio/mpegurl|audio/x-mpegurl|audio/scpls|audio/x-scpls~FileExtensions~Sm3u|pls|xpl~FileOpenNames~SMP3 Playlist Files (*.m3u,*.pls,*.xpl)}{IndexNumber~N0~LoadMultiple~N1~Version~N0~Renderer_Granularity~N100~PluginFilename~Svorbisrend.so~Description~SVorbis Renderer Plugin~Copyright~S(c) 2001 Xiphophorus, All Rights Reserved~PlgCopy~Shttp://www.xiph.org~RendererMime~Sapplication/x-ogg|application/ogg~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N1610644538~Renderer_Granularity~N20~PluginFilename~Stheorarend.so~Description~STheora Video Renderer~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Svideo/x-rn-theora~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N0~PluginFilename~Soggfformat.so~Description~SOgg File Format Plugin~Copyright~S(c) 2001 Xiphophorus, All rights reserved.~PlgCopy~Shttp://www.xiph.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Sapplication/x-ogg|application/ogg~FileExtensions~Sogg~FileOpenNames~SOgg (*.ogg)}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610612598~Renderer_Granularity~N100~PluginFilename~Sswfrender.so~Description~SHelix Renderer Plugin for Macromedia Flash 4~Copyright~SContains Macromedia(R) Flash Player technology by Macromedia, Inc. %0aCopyright (c) 1995-2000 Macromedia, Inc. All rights reserved. %0aCopyright (c) 1995-2002 RealNetworks, Inc. All rights reserved.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Sapplication/x-shockwave-flash|application/x-shockwave-flash2~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610612264~PluginFilename~Sswfformat.so~Description~SHelix Macromedia Flash 4 File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Sapplication/x-shockwave-flash~FileExtensions~Sswf~FileOpenNames~SMacromedia Flash (*.swf)}{IndexNumber~N0~LoadMultiple~N1~Version~N1610643503~Renderer_Granularity~N100~PluginFilename~Saudplin.so~Description~SHelix PCM Audio Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Saudio/L8|audio/L16|audio/x-pn-wav|audio/PCMA|audio/pcma|audio/PCMU~PluginType~SPLUGIN_RENDERER}{IndexNumber~N1~LoadMultiple~N1~Version~N-1610612736~PluginFilename~Saudplin.so~Description~SHelix WAVE File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Saudio/x-pn-wav~FileExtensions~Swav~FileOpenNames~SWAVE Files (*.wav)}{IndexNumber~N2~LoadMultiple~N1~Version~N-1610612392~PluginFilename~Saudplin.so~Description~SRealNetworks AU File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Saudio/x-pn-au|audio/PCMU|audio/L8|audio/L16|audio/G721|audio/G722|audio/G726-24|audio/G726-40|audio/PCMA|audio/basic~FileExtensions~Sau~FileOpenNames~SAU Files (*.au)}{IndexNumber~N3~LoadMultiple~N1~Version~N-1610612400~PluginFilename~Saudplin.so~Description~SHelix AIFF File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Saudio/x-pn-aiff~FileExtensions~Saiff|aif~FileOpenNames~SAIFF Files (*.aif)}{IndexNumber~N4~LoadMultiple~N1~Version~N-1610610275~PluginFilename~Saudplin.so~Description~SHelix AMR File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Saudio/amr|audio/awb~FileExtensions~Samr|awb~FileOpenNames~SAMR Files (*.amr,*.awb)}{IndexNumber~N5~LoadMultiple~N1~Version~N-1610609542~Renderer_Granularity~N100~PluginFilename~Saudplin.so~Description~SRealNetworks MPEG-4 Audio Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Saudio/x-ralf-mpeg4-generic|audio/X-RN-MP4-RAWAU|audio/MP4A-LATM|audio/mpeg4-simple-A2|audio/mpeg4-generic|audio/X-HX-AAC-GENERIC|audio/X-RN-3GPP-AMR|audio/AMR|audio/X-RN-3GPP-AMR-WB|audio/AMR-WB~PluginType~SPLUGIN_RENDERER}{IndexNumber~N0~LoadMultiple~N1~Version~N-1610612392~PluginFilename~Saufformat.so~Description~SRealNetworks AU File Format Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~PluginType~SPLUGIN_FILE_FORMAT~FileMime~Saudio/x PluginHandlerData\PluginInfo3=-pn-au|audio/PCMU|audio/L8|audio/L16|audio/G721|audio/G722|audio/G726-24|audio/G726-40|audio/PCMA|audio/basic~FileExtensions~Sau~FileOpenNames~SAU Files (*.au)}{IndexNumber~N0~LoadMultiple~N1~Version~N1610643503~Renderer_Granularity~N100~PluginFilename~Spcmrend.so~Description~SHelix PCM Audio Renderer Plugin~Copyright~SCopyright(c) RealNetworks, Inc. 1995-2004. All rights reserved. Source code for this program is available under the RealNetworks Public Source License.~PlgCopy~Shttp://www.helixcommunity.org~RendererMime~Saudio/L8|audio/L16|audio/x-pn-wav|audio/PCMA|audio/pcma|audio/PCMU~PluginType~SPLUGIN_RENDERER}30618 PluginHandlerData\GUIDInfo0={00000000-0901-11d1-8b06-00a024406d59,vidsite.so,0,hxxml.so,0,authmgr.so,0}{00000202-0901-11d1-8b06-00a024406d59,memfsys.so,0,smplfsys.so,0,httpfsys.so,0,httpfsys.so,1,vsrcplin.so,2}{00001900-0901-11d1-8b06-00a024406d59,hxsdp.so,0}231 rpregistered=1 TurboPlay=1 PreferredTransportFiles=C0A80000.txt,0 CookiesPath=/home/ponktv/.helix/Cookies_6_0 [player] XPos=0 YPos=0 EnableRecentUrlsList=1 EnableUrlHurling=1 MediaFilesPath= WebBrowserPath= LastBrowsedDirectory= DistCode=RXEN1D OrigCode=RXEN1D [recent_urls] [favorites] EOF chmod 0644 /home/ponktv/.realplayerrc chown ponktv:ponktv /home/ponktv/.realplayerrc # ---- } # ---------------------- # ---- afs functions --- # ---------------------- # Check if all packages are in the packages directory function ckpkgs () { manifest if ! test -z "`ls -d * packages/* | cat MANIFEST - | sort \ | uniq -d | cat MANIFEST - | sort | uniq -u`" then echo "*** Package files not found" ls -d * packages/* | cat MANIFEST - | sort | \ uniq -u | cat MANIFEST - | sort | uniq -d ; \ exit 1 fi } # Log a package function logpkg () { if test -z "${1}" then echo "Expected a package name." echo "usage: logpkg " exit 1 fi if ! test -f /tmp/timestamp then echo "*** Can't find previous /tmp/timestamp" exit 1 fi log-package ${1} rm -f /tmp/timestamp } # Log a package for afs function log-package () { rm -f /var/lib/packages/${1} find /{bin,lib,sbin,usr} -cnewer /tmp/timestamp -type f -print \ -exec sh -c " strip -g {} 2>/dev/null; \ md5sum {} >>/var/lib/packages/${1} " \; touch /tmp/timestamp } # Translate linux drive device to grub drive function grubdrive () { echo "${1}" | gawk '/^\/dev\/hd[a-z][1-9]$/ \ { printf "hd%d,%d\n", \ index("abcdefghijklmnopqrstuvwxyz", substr($1,8,1))-1, \ substr($1,9,1)-1 \ }' } # -------------------------- # ---- PonkTV LFS 6.1.1 ---- # -------------------------- # PonkTV LFS 6.1.1 function lfs () { install -d build # Copy required tools and packages to build # chapter03-introduction/chapter04-creatingtoolsdir install -d build/tools ln -sv `pwd`/build/tools / install -d build/tools/ponktv/packages chmod -v a+wt build/tools/ponktv/packages for i in `cat MANIFEST`; do install $i -o 0 -g 0 -m 0644 build/tools/ponktv/$i; done chmod u+x build/tools/ponktv/pktvafs chmod u+x build/tools/ponktv/pktvcd LFSRC="export PATH=/tools/bin:/bin:/usr/bin; export LC_ALL=POSIX; \ /tools/ponktv/pktvafs" su - -c "$LFSRC chapter05-binutils-pass1" su - -c "$LFSRC chapter05-gcc-pass1" su - -c "$LFSRC chapter05-linux-libc-headers" su - -c "$LFSRC chapter05-glibc" su - -c "$LFSRC chapter05-adjusting" su - -c "$LFSRC chapter05-tcl" su - -c "$LFSRC chapter05-expect" su - -c "$LFSRC chapter05-dejagnu" su - -c "$LFSRC chapter05-gcc-pass2" su - -c "$LFSRC chapter05-binutils-pass2" su - -c "$LFSRC chapter05-gawk" su - -c "$LFSRC chapter05-coreutils" su - -c "$LFSRC chapter05-bzip2" su - -c "$LFSRC chapter05-gzip" su - -c "$LFSRC chapter05-diffutils" su - -c "$LFSRC chapter05-findutils" su - -c "$LFSRC chapter05-make" su - -c "$LFSRC chapter05-grep" su - -c "$LFSRC chapter05-sed" su - -c "$LFSRC chapter05-gettext" su - -c "$LFSRC chapter05-ncurses" su - -c "$LFSRC chapter05-patch" su - -c "$LFSRC chapter05-tar" su - -c "$LFSRC chapter05-texinfo" su - -c "$LFSRC chapter05-bash" su - -c "$LFSRC chapter05-m4" su - -c "$LFSRC chapter05-bison" su - -c "$LFSRC chapter05-flex" su - -c "$LFSRC chapter05-util-linux" su - -c "$LFSRC chapter05-perl" su - -c "$LFSRC chapter05-stripping" chapter06-kernfs # PonkTV - install package management directory install -d build/var/lib/packages # LFS Chapter 6, Entering the Chroot Environment # chroot "$LFS" /tools/bin/env -i \ # HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \ # PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \ # /tools/bin/bash --login +h CHRTTOOL="chroot build /tools/bin/env -i HOME=/root \ PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \ /tools/bin/bash --login " $CHRTTOOL /tools/ponktv/pktvafs chapter06-changingowner $CHRTTOOL /tools/ponktv/pktvafs chapter06-creatingdirs $CHRTTOOL /tools/ponktv/pktvafs chapter06-createfiles $CHRTTOOL /tools/ponktv/pktvafs chapter06-pwdgroup $CHRTTOOL /tools/ponktv/pktvafs chapter06-devices touch build/tmp/timestamp $CHRTTOOL /tools/ponktv/pktvafs chapter06-linux-libc-headers $CHRTTOOL /tools/ponktv/pktvafs chapter06-man-pages $CHRTTOOL /tools/ponktv/pktvafs chapter06-glibc $CHRTTOOL /tools/ponktv/pktvafs chapter06-readjusting touch build/tmp/timestamp $CHRTTOOL /tools/ponktv/pktvafs chapter06-binutils $CHRTTOOL /tools/ponktv/pktvafs chapter06-gcc $CHRTTOOL /tools/ponktv/pktvafs chapter06-coreutils $CHRTTOOL /tools/ponktv/pktvafs chapter06-zlib $CHRTTOOL /tools/ponktv/pktvafs chapter06-mktemp $CHRTTOOL /tools/ponktv/pktvafs chapter06-iana-etc $CHRTTOOL /tools/ponktv/pktvafs chapter06-findutils $CHRTTOOL /tools/ponktv/pktvafs chapter06-gawk $CHRTTOOL /tools/ponktv/pktvafs chapter06-ncurses $CHRTTOOL /tools/ponktv/pktvafs chapter06-readline $CHRTTOOL /tools/ponktv/pktvafs chapter06-vim $CHRTTOOL /tools/ponktv/pktvafs chapter06-m4 $CHRTTOOL /tools/ponktv/pktvafs chapter06-bison $CHRTTOOL /tools/ponktv/pktvafs chapter06-less $CHRTTOOL /tools/ponktv/pktvafs chapter06-groff $CHRTTOOL /tools/ponktv/pktvafs chapter06-sed $CHRTTOOL /tools/ponktv/pktvafs chapter06-flex $CHRTTOOL /tools/ponktv/pktvafs chapter06-gettext $CHRTTOOL /tools/ponktv/pktvafs chapter06-inetutils $CHRTTOOL /tools/ponktv/pktvafs chapter06-iproute2 $CHRTTOOL /tools/ponktv/pktvafs chapter06-perl $CHRTTOOL /tools/ponktv/pktvafs chapter06-texinfo $CHRTTOOL /tools/ponktv/pktvafs chapter06-autoconf $CHRTTOOL /tools/ponktv/pktvafs chapter06-automake $CHRTTOOL /tools/ponktv/pktvafs chapter06-bash $CHRTTOOL /tools/ponktv/pktvafs chapter06-file $CHRTTOOL /tools/ponktv/pktvafs chapter06-libtool $CHRTTOOL /tools/ponktv/pktvafs chapter06-bzip2 $CHRTTOOL /tools/ponktv/pktvafs chapter06-diffutils $CHRTTOOL /tools/ponktv/pktvafs chapter06-kbd $CHRTTOOL /tools/ponktv/pktvafs chapter06-e2fsprogs $CHRTTOOL /tools/ponktv/pktvafs chapter06-grep $CHRTTOOL /tools/ponktv/pktvafs chapter06-grub $CHRTTOOL /tools/ponktv/pktvafs chapter06-gzip $CHRTTOOL /tools/ponktv/pktvafs chapter06-hotplug $CHRTTOOL /tools/ponktv/pktvafs chapter06-man $CHRTTOOL /tools/ponktv/pktvafs chapter06-make $CHRTTOOL /tools/ponktv/pktvafs chapter06-module-init-tools $CHRTTOOL /tools/ponktv/pktvafs chapter06-patch $CHRTTOOL /tools/ponktv/pktvafs chapter06-procps $CHRTTOOL /tools/ponktv/pktvafs chapter06-psmisc $CHRTTOOL /tools/ponktv/pktvafs chapter06-shadow $CHRTTOOL /tools/ponktv/pktvafs chapter06-sysklogd $CHRTTOOL /tools/ponktv/pktvafs chapter06-sysvinit $CHRTTOOL /tools/ponktv/pktvafs chapter06-tar $CHRTTOOL /tools/ponktv/pktvafs chapter06-udev $CHRTTOOL /tools/ponktv/pktvafs chapter06-util-linux # LFS Chapter 6, Stripping Again # chroot $LFS /tools/bin/env -i \ # HOME=/root TERM=$TERM PS1='\u:\w\$ ' \ # PATH=/bin:/usr/bin:/sbin:/usr/sbin \ # /tools/bin/bash --login CHRTSTRIP="chroot build /tools/bin/env -i HOME=/root \ PATH=/bin:/usr/bin:/sbin:/usr/sbin \ /tools/bin/bash --login " $CHRTSTRIP /tools/ponktv/pktvafs chapter06-strippingagain # LFS Chapter 6, Cleaning Up # chroot "$LFS" /usr/bin/env -i \ # HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \ # PATH=/bin:/usr/bin:/sbin:/usr/sbin \ # /bin/bash --login CHRT="chroot build /usr/bin/env -i HOME=/root \ PATH=/bin:/usr/bin:/sbin:/usr/sbin \ /bin/bash --login " rm -rf /tools $CHRT /tools/ponktv/pktvafs chapter07-bootscripts $CHRT /tools/ponktv/pktvafs chapter07-udev $CHRT /tools/ponktv/pktvafs chapter07-setclock $CHRT /tools/ponktv/pktvafs chapter07-console $CHRT /tools/ponktv/pktvafs chapter07-sysklogd $CHRT /tools/ponktv/pktvafs chapter07-inputrc $CHRT /tools/ponktv/pktvafs chapter07-profile $CHRT /tools/ponktv/pktvafs chapter07-hostname $CHRT /tools/ponktv/pktvafs chapter07-hosts $CHRT /tools/ponktv/pktvafs chapter07-network $CHRT /tools/ponktv/pktvafs chapter08-fstab $CHRT /tools/ponktv/pktvafs chapter08-kernel mv build/tools/ponktv/linux-2.6.11.12 build/usr/src ln -sf /usr/src/linux-2.6.11.12 build/lib/modules/2.6.11.12/build ln -sf /usr/src/linux-2.6.11.12 build/lib/modules/2.6.11.12/source $CHRT /tools/ponktv/pktvafs chapter08-grub $CHRT /tools/ponktv/pktvafs chapter09-theend rm -rf build/tmp/* chapter09-reboot } # --------------------------- # ---- PonkTV BLFS 6.1.1 ---- # --------------------------- # Enter BLFS chroot environment function blfs-enter () { echo "Enter BLFS chroot environment" cd /usr/src/ponktv # ---- mount -nvt tmpfs none /dev mknod -m 622 /dev/console c 5 1 mknod -m 666 /dev/null c 1 3 mknod -m 666 /dev/zero c 1 5 mknod -m 666 /dev/ptmx c 5 2 mknod -m 666 /dev/tty c 5 0 mknod -m 444 /dev/random c 1 8 mknod -m 444 /dev/urandom c 1 9 chown -v root:tty /dev/{console,ptmx,tty} ln -sv /proc/self/fd /dev/fd ln -sv /proc/self/fd/0 /dev/stdin ln -sv /proc/self/fd/1 /dev/stdout ln -sv /proc/self/fd/2 /dev/stderr ln -sv /proc/kcore /dev/core mkdir -v /dev/pts mkdir -v /dev/shm mount -vt devpts -o gid=4,mode=620 none /dev/pts mount -vt tmpfs none /dev/shm # dd if=/dev/urandom of=/var/tmp/random-seed count=1 &>/dev/null # ---- } # PonkTV BLFS 6.1.1 function blfs () { mount -vt proc proc build/proc mount -vt sysfs sysfs build/sys mount -vft tmpfs tmpfs build/dev mount -vft tmpfs tmpfs build/dev/shm mount -vft devpts -o gid=4,mode=620 devpts build/dev/pts CHRT="chroot build /usr/bin/env -i HOME=/root \ PATH=/bin:/usr/bin:/sbin:/usr/sbin \ /bin/bash --login " $CHRT /usr/src/ponktv/pktvafs blfs-enter $CHRT /usr/src/ponktv/pktvafs blfs-config $CHRT /usr/src/ponktv/pktvafs blfs-profile $CHRT /usr/src/ponktv/pktvafs blfs-logon $CHRT /usr/src/ponktv/pktvafs blfs-vimrc $CHRT /usr/src/ponktv/pktvafs blfs-shells $CHRT /usr/src/ponktv/pktvafs blfs-random $CHRT /usr/src/ponktv/pktvafs blfs-compressdoc touch build/tmp/timestamp $CHRT /usr/src/ponktv/pktvafs blfs-autofs $CHRT /usr/src/ponktv/pktvafs blfs-netfs touch build/tmp/timestamp $CHRT /usr/src/ponktv/pktvafs blfs-net-tools $CHRT /usr/src/ponktv/pktvafs blfs-which $CHRT /usr/src/ponktv/pktvafs blfs-pciutils-2.1.11 $CHRT /usr/src/ponktv/pktvafs blfs-unzip $CHRT /usr/src/ponktv/pktvafs blfs-zip $CHRT /usr/src/ponktv/pktvafs blfs-alsa-driver $CHRT /usr/src/ponktv/pktvafs blfs-alsa-lib $CHRT /usr/src/ponktv/pktvafs blfs-alsa-utils $CHRT /usr/src/ponktv/pktvafs blfs-dhcpcd $CHRT /usr/src/ponktv/pktvafs blfs-openssl $CHRT /usr/src/ponktv/pktvafs blfs-openssh $CHRT /usr/src/ponktv/pktvafs blfs-samba3 $CHRT /usr/src/ponktv/pktvafs blfs-libpng $CHRT /usr/src/ponktv/pktvafs blfs-freetype2 $CHRT /usr/src/ponktv/pktvafs blfs-expat $CHRT /usr/src/ponktv/pktvafs blfs-fontconfig $CHRT /usr/src/ponktv/pktvafs blfs-xorg $CHRT /usr/src/ponktv/pktvafs blfs-x-setup $CHRT /usr/src/ponktv/pktvafs blfs-pkgconfig $CHRT /usr/src/ponktv/pktvafs blfs-glib2 $CHRT /usr/src/ponktv/pktvafs blfs-gnet $CHRT /usr/src/ponktv/pktvafs blfs-pango $CHRT /usr/src/ponktv/pktvafs blfs-atk $CHRT /usr/src/ponktv/pktvafs blfs-libjpeg $CHRT /usr/src/ponktv/pktvafs blfs-libtiff $CHRT /usr/src/ponktv/pktvafs blfs-gtk2 $CHRT /usr/src/ponktv/pktvafs blfs-libxml2 $CHRT /usr/src/ponktv/pktvafs blfs-libidl $CHRT /usr/src/ponktv/pktvafs blfs-mplayer $CHRT /usr/src/ponktv/pktvafs blfs-lcms $CHRT /usr/src/ponktv/pktvafs blfs-libmng $CHRT /usr/src/ponktv/pktvafs blfs-apache $CHRT /usr/src/ponktv/pktvafs blfs-php $CHRT /usr/src/ponktv/pktvafs blfs-gtk-engines $CHRT /usr/src/ponktv/pktvafs blfs-gcc3 $CHRT /usr/src/ponktv/pktvafs blfs-fcron $CHRT /usr/src/ponktv/pktvafs blfs-popt if test "${1}" = dev then $CHRT /usr/src/ponktv/pktvafs blfs-mozilla $CHRT /usr/src/ponktv/pktvafs blfs-cpio $CHRT /usr/src/ponktv/pktvafs blfs-cdrtools $CHRT /usr/src/ponktv/pktvafs blfs-cvs $CHRT /usr/src/ponktv/pktvafs blfs-subversion $CHRT /usr/src/ponktv/pktvafs blfs-wget $CHRT /usr/src/ponktv/pktvafs blfs-pcre $CHRT /usr/src/ponktv/pktvafs blfs-bluefish $CHRT /usr/src/ponktv/pktvafs blfs-imagemagick $CHRT /usr/src/ponktv/pktvafs blfs-libxslt $CHRT /usr/src/ponktv/pktvafs blfs-tidy $CHRT /usr/src/ponktv/pktvafs blfs-docbook-xml $CHRT /usr/src/ponktv/pktvafs blfs-docbook-xsl fi rm -rf build/tmp/* # From chapter09-reboot umount -v build/dev/pts umount -v build/dev/shm umount -v build/dev umount -v build/proc umount -v build/sys } # ----------------------- # ---- PonkTV PKBLFS ---- # ----------------------- # Enter PKBLFS chroot environment function pkblfs-enter () { echo "Enter PKBLFS chroot environment" cd /usr/src/ponktv # ---- mount -nvt tmpfs none /dev mknod -m 622 /dev/console c 5 1 mknod -m 666 /dev/null c 1 3 mknod -m 666 /dev/zero c 1 5 mknod -m 666 /dev/ptmx c 5 2 mknod -m 666 /dev/tty c 5 0 mknod -m 444 /dev/random c 1 8 mknod -m 444 /dev/urandom c 1 9 chown -v root:tty /dev/{console,ptmx,tty} ln -sv /proc/self/fd /dev/fd ln -sv /proc/self/fd/0 /dev/stdin ln -sv /proc/self/fd/1 /dev/stdout ln -sv /proc/self/fd/2 /dev/stderr ln -sv /proc/kcore /dev/core mkdir -v /dev/pts mkdir -v /dev/shm mount -vt devpts -o gid=4,mode=620 none /dev/pts mount -vt tmpfs none /dev/shm # dd if=/dev/urandom of=/var/tmp/random-seed count=1 &>/dev/null # ---- } function pktv-debug () { cp /root/.xinitrc /home/ponktv/xinitrc-debug chown ponktv:ponktv /home/ponktv/xinitrc-debug } # PonkTV BLFS function pkblfs () { mount -vt proc proc build/proc mount -vt sysfs sysfs build/sys mount -vft tmpfs tmpfs build/dev mount -vft tmpfs tmpfs build/dev/shm mount -vft devpts -o gid=4,mode=620 devpts build/dev/pts CHRT="chroot build /usr/bin/env -i HOME=/root \ PATH=/bin:/usr/bin:/sbin:/usr/sbin \ /bin/bash --login " $CHRT /usr/src/ponktv/pktvafs pkblfs-enter touch build/tmp/timestamp $CHRT /usr/src/ponktv/pktvafs pkblfs-squashfs $CHRT /usr/src/ponktv/pktvafs pkblfs-openbox $CHRT /usr/src/ponktv/pktvafs pkblfs-mozilla $CHRT /usr/src/ponktv/pktvafs pkblfs-logrotate $CHRT /usr/src/ponktv/pktvafs pkblfs-bootsplash $CHRT /usr/src/ponktv/pktvafs pkblfs-libirman $CHRT /usr/src/ponktv/pktvafs pkblfs-lirc $CHRT /usr/src/ponktv/pktvafs pkblfs-sudo $CHRT /usr/src/ponktv/pktvafs pkblfs-wmctrl $CHRT /usr/src/ponktv/pktvafs pkblfs-tvdialog $CHRT /usr/src/ponktv/pktvafs pkblfs-ed2k $CHRT /usr/src/ponktv/pktvafs pkblfs-edonkeyclc $CHRT /usr/src/ponktv/pktvafs pkblfs-pktvutils $CHRT /usr/src/ponktv/pktvafs pkblfs-mozplugger $CHRT /usr/src/ponktv/pktvafs pkblfs-jre $CHRT /usr/src/ponktv/pktvafs pkblfs-NVIDIA $CHRT /usr/src/ponktv/pktvafs pkblfs-realplay $CHRT /usr/src/ponktv/pktvafs pkblfs-flash_player # if test "${1}" = dev # then # # fi $CHRT /usr/src/ponktv/pktvafs pktvsys-config $CHRT /usr/src/ponktv/pktvafs pktvsys-bootsplash $CHRT /usr/src/ponktv/pktvafs pktvsys-cursors $CHRT /usr/src/ponktv/pktvafs pktvsys-theme $CHRT /usr/src/ponktv/pktvafs pktvsys-pages $CHRT /usr/src/ponktv/pktvafs pktvsys-docs $CHRT /usr/src/ponktv/pktvafs pktvsys-ir $CHRT /usr/src/ponktv/pktvafs pktvsys-syslogd-config $CHRT /usr/src/ponktv/pktvafs pktvsys-logrotate-config $CHRT /usr/src/ponktv/pktvafs pktvsys-samba-config $CHRT /usr/src/ponktv/pktvafs pktvsys-dhcpd-config $CHRT /usr/src/ponktv/pktvafs pktvsys-xorg-config $CHRT /usr/src/ponktv/pktvafs pktvsys-sudo-config $CHRT /usr/src/ponktv/pktvafs pktvsys-fcron-config $CHRT /usr/src/ponktv/pktvafs pktvsys-ed2k-config $CHRT /usr/src/ponktv/pktvafs pktvsys-apache-config $CHRT /usr/src/ponktv/pktvafs pktvsys-php-config $CHRT /usr/src/ponktv/pktvafs pktvsys-mailcap-config $CHRT /usr/src/ponktv/pktvafs pktvsys-mozplugger-config $CHRT /usr/src/ponktv/pktvafs pktvsys-startup $CHRT /usr/src/ponktv/pktvafs pktvsys-initrd $CHRT /usr/src/ponktv/pktvafs pktvusr-xorg-config $CHRT /usr/src/ponktv/pktvafs pktvusr-openbox-config $CHRT /usr/src/ponktv/pktvafs pktvusr-gtk-config $CHRT /usr/src/ponktv/pktvafs pktvusr-edonkey-config $CHRT /usr/src/ponktv/pktvafs pktvusr-realplayer-config $CHRT /usr/src/ponktv/pktvafs pktv-debug rm -rf build/tmp/* # From chapter09-reboot umount -v build/dev/pts umount -v build/dev/shm umount -v build/dev umount -v build/proc umount -v build/sys } # ---------------- # ---- ponktv ---- # ---------------- # Build a ponktv and place in a tarball, # stanard system - ponktv--sys.tar.gz # development system - ponktv--devsys.tar.gz function ponktv () { # Check for all files in manifest ckpkgs # Check for previous ponktv tar file if test -f ${PKTV_SYSNAME}-sys.tar.gz || \ test -f ${PKTV_SYSNAME}-devsys.tar.gz then echo "*** previous build found, ${PKTV_SYSNAME}-sys.tar.gz/${PKTV_SYSNAME}-devsys.tar.gz" echo "remove or do 'make -f makefile-ponktv clean-pklfs'" exit 1 fi # Check for previous build directory if test -e build then echo "*** Previous build directory found ***" echo "Remove before continuing." exit 1 fi # Create build directory # Mounting the New Partition (chapter02-mounting) mkdir -v build lfs ${1} # To remove the toolchain rm -rf build/tools blfs ${1} pkblfs ${1} if test "${1}" = "dev" then tar -czvpf ${PKTV_SYSNAME}-devsys.tar.gz --exclude build/usr/src/ponktv build else rm -rf build//usr/src/linux-2.6.11.12 tar -czvpf ${PKTV_SYSNAME}-sys.tar.gz --exclude build/usr/src/ponktv build fi rm -rf build rm -f MANIFEST echo echo "-----------------------" echo "---- Reboot System ----" echo "-----------------------" } # Make bootable partion of a ponktv development tarball # (ponktv--devsys.tar.gz). function boot () { PKTVBOOT=${1} PKTVROOT=${2} PKTVSWAP=${3} if test -z "$PKTVBOOT" then echo "Requires boot device, see $0 help." exit 1 fi if test -z "$PKTVROOT" then echo "Requires root device, see $0 help." exit 1 fi if test -z "$PKTVSWAP" then echo "Requires swap device, see $0 help." exit 1 fi # Check for ponktv tar file if ! test -f ${PKTV_SYSNAME}-devsys.tar.gz then echo "*** can't find build ${PKTV_SYSNAME}-devsys.tar.gz" exit 1 fi # Check for previous build directory if test -e build then echo "*** Previous build directory found ***" echo "Remove before continuing." exit 1 fi mkdir build mke2fs $PKTVROOT mount -t ext2 $PKTVROOT build tar -zxpf ${PKTV_SYSNAME}-devsys.tar.gz manifest install -d -o 0 -g 0 -m 0755 build/usr/src/ponktv install -d -o 0 -g 0 -m 0755 build/usr/src/ponktv/packages chmod -v a+wt build/usr/src/ponktv/packages for i in `cat MANIFEST`; do install $i -o 0 -g 0 -m 0644 build/usr/src/ponktv/$i; done chmod u+x build/usr/src/ponktv/pktvafs chmod u+x build/usr/src/ponktv/pktvcd rm MANIFEST echo "# Begin /etc/sysconfig/clock" > build/etc/sysconfig/clock echo "" >> build/etc/sysconfig/clock echo "UTC=${PKTV_UTCCODE}" >> build/etc/sysconfig/clock echo "" >> build/etc/sysconfig/clock echo "# End /etc/sysconfig/clock" >> build/etc/sysconfig/clock echo "# Begin /etc/fstab" > build/etc/fstab echo "" >> build/etc/fstab echo "# file system mount-point type options dump fsck" >> build/etc/fstab echo "# order" >> build/etc/fstab echo "" >> build/etc/fstab echo "$PKTVROOT / ext2 defaults 1 1" >> build/etc/fstab echo "$PKTVSWAP swap swap pri=1 0 0" >> build/etc/fstab echo "proc /proc proc defaults 0 0" >> build/etc/fstab echo "sysfs /sys sysfs defaults 0 0" >> build/etc/fstab echo "devpts /dev/pts devpts gid=4,mode=620 0 0" >> build/etc/fstab echo "shm /dev/shm tmpfs defaults 0 0" >> build/etc/fstab echo "# End /etc/fstab" >> build/etc/fstab cat > build/etc/inittab << "EOF" # Begin /etc/inittab id:3:initdefault: si::sysinit:/etc/rc.d/init.d/rc sysinit l0:0:wait:/etc/rc.d/init.d/rc 0 l1:S1:wait:/etc/rc.d/init.d/rc 1 l2:2:wait:/etc/rc.d/init.d/rc 2 l3:3:wait:/etc/rc.d/init.d/rc 3 l4:4:wait:/etc/rc.d/init.d/rc 4 l5:5:wait:/etc/rc.d/init.d/rc 5 l6:6:wait:/etc/rc.d/init.d/rc 6 ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now su:S016:once:/sbin/sulogin 1:235:respawn:/sbin/agetty -I '\033(K' tty1 9600 #1:2345:respawn:/sbin/agetty -I '\033(K' tty1 9600 2:2345:respawn:/sbin/agetty -I '\033(K' tty2 9600 3:2345:respawn:/sbin/agetty -I '\033(K' tty3 9600 4:2345:respawn:/sbin/agetty -I '\033(K' tty4 9600 5:2345:respawn:/sbin/agetty -I '\033(K' tty5 9600 6:2345:respawn:/sbin/agetty -I '\033(K' tty6 9600 pktv:4:once:/sbin/agetty -I '\033(K' -n -l /sbin/pktvlogin tty1 9600 # End /etc/inittab EOF echo "# Begin /boot/grub/menu.lst" > build/boot/grub/menu.lst echo "" >> build/boot/grub/menu.lst echo "# default boot the first menu entry." >> build/boot/grub/menu.lst echo "default 1" >> build/boot/grub/menu.lst echo "" >> build/boot/grub/menu.lst echo "# Allow 15 seconds before booting the default." >> build/boot/grub/menu.lst echo "#timeout 15" >> build/boot/grub/menu.lst echo "" >> build/boot/grub/menu.lst echo "# Boot colors." >> build/boot/grub/menu.lst echo "color black/blue white/blue" >> build/boot/grub/menu.lst echo "" >> build/boot/grub/menu.lst echo "# Standard Boot" >> build/boot/grub/menu.lst echo "title PonkTV $VERSION - TV" >> build/boot/grub/menu.lst echo "root ($(grubdrive $PKTVROOT))" >> build/boot/grub/menu.lst echo "kernel /boot/pktvkernel-2.6.11.12 root=$PKTVROOT vga=788 splash=silent init 4" >> build/boot/grub/menu.lst echo "initrd /boot/initrd-btfs-2.6.11.12.img.gz" >> build/boot/grub/menu.lst echo "" >> build/boot/grub/menu.lst echo "# System Boot." >> build/boot/grub/menu.lst echo "title PonkTV $VERSION - Safe Mode" >> build/boot/grub/menu.lst echo "root ($(grubdrive $PKTVROOT))" >> build/boot/grub/menu.lst echo "kernel /boot/pktvkernel-2.6.11.12 root=$PKTVROOT" >> build/boot/grub/menu.lst echo "" >> build/boot/grub/menu.lst echo "# System Boot." >> build/boot/grub/menu.lst echo "title PonkTV $VERSION - Console" >> build/boot/grub/menu.lst echo "root ($(grubdrive $PKTVROOT))" >> build/boot/grub/menu.lst echo "kernel /boot/pktvkernel-2.6.11.12 root=$PKTVROOT vga=788 splash=verbose" >> build/boot/grub/menu.lst echo "initrd /boot/initrd-btfs-2.6.11.12.img.gz" >> build/boot/grub/menu.lst echo "" >> build/boot/grub/menu.lst echo "# End /boot/grub/menu.lst" >> build/boot/grub/menu.lst grub-install --recheck --no-floppy --root-directory=build $PKTVBOOT umount build rm -rf build } # Display usage function help () { echo "Usage:" echo "${0} help" echo " this screen." echo "${0} manifest" echo " prints a manifest to the file MANIFEST." echo "${0} ckpkgs" echo " checks if all packages and patches are available." echo "${0} logpkg " echo " logs a package by timestamp in /var/lib/packages/." echo " - package name." echo " *requires /tmp/timestamp to be created before package installation." echo "${0} ponktv [dev]" echo " build a ponktv system." echo " dev - build development system." echo "${0} boot " echo " installs a ponktv development system." echo " - linux boot device (/dev/hda)." echo " - linux root device (/dev/hda1)." echo " - linux swap device (/dev/hda2)." } # ------------ # --- main --- # ------------ if test -z "${1}" then help exit elif test "${1}" = "logpkg" then logpkg ${2} exit elif test "${1}" = "ponktv" then ponktv ${2} exit elif test "${1}" = "boot" then boot ${2} ${3} ${4} exit fi ${1} # End pktvafs (ponktv-3.0)