libsigc++ PackageWelcome to OakHeart!
I like the ease with which you can fix your system if you build it by hand as in LFS, but cut and pasting commands one by one is a waste of time after the first few builds. Since the LFS project is not willing to make saving that time a priority, I started this project. I also want to achieve a more unified project through responsiveness to user and developer needs, a much more inclusive feature acceptance policy, a frequent and responsive release schedule, high technical quality, and full credit for all contributors.
This is a development preview release. Various things, including the documentation, aren't complete and others can be expected to change so jump in and help!
This work is in the development stages. Infrastructure is in place for building an assortment of packages. Commands for building an install from the ground up are not yet in complete.
The instructions.xml file
and all the files under the instructions/ directory
form one big XML document which contains both
shell commands for building both packages and Linux systems
as well as documentation.
(You're reading that documentation right now.)
That XML document can be quickly transformed into other formats
for printing or reading using a few simple commands.
You're probably reading something produced that way.
This example won't work until you've read further,
but the following command creates
a single html file called instructions.html:
./oakheart --html
Specific parts, like the shell commands,
can also be extracted so you don't have to run them by hand.
Again, this won't work yet, but the following example would
download cpio to the current directory,
build it
and install it under /usr.
./oakheart --download cpio | make -f -
./oakheart --commands cpio | sh
Unless you're adding or updating instructions
(which you're encouraged to do),
everything is designed so you shouldn't need to modify
anything under the instructions/ directory.
However, for each machine you build on,
there are some things that must be done differently.
Hostname settings and such are obvious examples.
For that purpose, the instructions pull in some information from
things in the config/ directory.
config/ Directory
To start, you'll need a config/config.xml file
and a config/config/ directory.
The following commands will use the defaults.
ln -s default.xml config/config.xml
ln -s default config/config
If you want to change the defaults for a specific machine,
you should copy
config/default.xml and config/default/
to a different name and link there instead.
sudo Command
The generated scripts need to run make install and such as root.
By default, they use sudo to do so.
See config/config.xml if that won't work for you.
To be used, sudo must be configured using visudo.
The following sample config will work
although you might want to set timeouts
shorter than the forever given in the example.
You'll need to change <user> to the user you use.
# timeouts are in minutes
Defaults:<user> timestamp_timeout=-1, passwd_timeout=0, \
passprompt="%u's Password: "
<user> ALL=(root) ALL # a shell as root is a shell as anyone
Now the above examples will work.
Many of the following commands take one or more "option"s as arguments. Rather than try to explain both the commands and how options work at the same time, options will be covered later.
Rendered Versions
Regenerating these may be useful
if you've changed var elements in config.xml
or such.
instructions.html./oakheart --html
For now, the HTML is all there is, unfortunately.
Chunked HTML, text, XSL:FO, Docbook, and who knows what else
would be nice.
Temporarily,
links -dump instructions.html >instructions.txt
will probably produce decent text
and you might get acceptable PS/PDF from
your (*ix) web browser's print to file function
and ps2pdf.
Script Generation
./oakheart --commands [<option> ...]./oakheart --download [<option> ...]Release Watching
./oakheart --distpoint [<option> ...]./oakheart --distpoint-test <n> [<option> ...]nth
level of distpoint processing.
Fetches if the source hasn't already been fetched.
Distpoint processing, URL lists, and such are explained later.
./oakheart --hot <n> [<option> ...]./oakheart --show <n> [<option> ...]./oakheart --diff <n> [<option> ...]./oakheart --mark <n> [<option> ...]
If they are ever to be selected by a frontend,
all commands, download, tarlist,
and distpoint elements need a selector element.
If they contain child selector elements, the first is taken;
otherwise, each parent element is considered in turn
and the first child selector element
in the first parent element to contain one is used.
The selector elements must have a mode attribute
which must have one of the values any or all.
Any selector elements
lacking a correct mode attribute will be ignored.
If the mode attribute is set to all,
all of the selector element's children must succeed
for the selector element to succeed.
If it is set to any,
then the selector element will succeed
if any of its children do.
All selector elements may contain an arbitrary mix of
other selector elements,
not elements,
and option elements.
The not elements may contain
the same children as selector elements
except that they should have only one child.
If a not element's child succeeds, the element fails;
if its child fails, it succeeds.
The option elements contain a string of characters.
They succeed if their contents match one of the option strings
passed to the frontend and fail if not.
The option elements' contents should be all lower case,
should start with a letter,
and should contain nothing but letters, dashes, and underscores.
When adapting a string that contains other characters to an option string,
the other characters should simply be removed, not replaced with something,
except for spaces which should be replaced with dashes.
The commands elements contain shell code for building the package.
The download elements contain shell code for downloading a file,
checking its md5sum, and recompressing it if necessary.
(All files, other than single compressed image files and such,
are converted to bzip2 compressed tar files to save space.)
WARNING: the shell code in a download element
is copied into a Makefile
so cd commands only apply to the rest of the
(possibly backslash continued) line on which they appear!
Each download element must have a file attribute
which gives the name of the file it produces.
Both tarlist and distpoint elements must have a name
which they get from a name element
which is found in the same manner as selector elements are found.
The contents of name elements is similar
to that of option elements.
tarlist and distpoint elements may filter
HTML code into a list.
For this purpose they may contain
one prefilter element and one filter element.
These elements contain code for sed -nr
(-n: no automatic print;
-r: extended regex syntax).
If omitted, either one defaults to p
which simply passes the content unchanged.
The prefilter is a first pass used to add line breaks where needed
while the filter is a second pass and does the primary work.
The distpoint elements are used to get pages off the net
that list downloadable files for packages.
They must have a url attribute
which contains the URL of the first, and often only, page to download.
If the list is stored in a directory tree or similar
instead of a single page,
the distpoint element may contain a depth attribute
which specifies how far down to descend.
A value of 1 fetches only one page.
A value of 2 filters the first page to get a list of URLs
which it then downloads.
Higher values repeat this process.
Because of its complexity, and therefore fragility,
this feature should be used only where needed.
The tarlist elements are used to filter the pages fetched
by a distpoint element into a list of downloadable files
for a package.
They may have a distpoint attribute which contains
the name of the distpoint from which they get pages to filter.
The distpoint attribute defaults to
the tarlist element's name.
If you find a set of instructions useful, you're willing to maintain them, and no one has a better way or can find anything truly broken about them, then they can be added. If that means there are multiple ways to do the same thing in here, so be it. Same with alternate instructions for building from CVS and such.
Simplisticly, one would think that uninstall would be a simple matter of tracking installed files and deleting them. It isn't. It is more like reverting a change from many revisions ago in a source tree. This is non-trivial. The most trustworthy solution is to not uninstall or upgrade in place but to build fresh installs whenever you can.
Adding installed file tracking should be no problem.
touch $stampfile && make install &&
find / -cnewer $stampfile
should get you started.
If generating a build script for several packages at once is going to work, packages must be listed in an order that satisfies dependencies. And the reasons for that order must be documented else experience shows that they will have to be worked out time and time again.
How far beyond that we go depends.... If we go too far, we've just reinvented Gentoo which is unlikely to be wise. Also, most any dependency system will duplicate the dependency information in configure scripts and duplicating information is also unlikely to be wise although it is difficult to figure which is the redundant copy in this case. (Changing configure scripts to export dependency information in a machine readable form is another, and interesting, project in itself.)
On the other hand, it is tempting to support generating a script that builds a package and all its dependencies. And of course such a script shouldn't needlessly reinstall things, which leads to some sort of system database, which leads quite directly to reinventing Gentoo. It is a very slippery slope, but.... One of the nice things about LFS is that you know every package on the system because you installed each one yourself and that is something we shouldn't sacrifice, even for apparent convenience. Especially since Gentoo already does so.
One would think that it would be simplest to support instructions like:
<build package="foo" version="1.0"/>
and so I tried it several years ago.
It isn't simpler.
The savings in instructions size are vastly outweighed by
the size and complexity of the code to support them.
Same thing with downloading.
There are some attractive advantages to expressing commands in XML instead of shell scripts but experience with nALFS proves the approach fraught with source code readability issues and all the problems inherent in reinventing wheels.
This needs simplification, I think.
A site specific, OakHeart created, archive would be a separate function from net fetching because fetching from the site archive is as simple as appending the @file content to the site fetch command.
That doesn't cover the instance where the site archive isn't complete and the local machine has independent net access. If that is a common enough scenario, merging it with the standard net fetch should be simple enough.
A number of other projects suggest themselves during work on OakHeart:
Many packages, including nearly all those associated with the GNU project, don't include man pages of a quality that compares with other Unix like systems such as FreeBSD. There are existing projects to address this and work might be done in cooperation with them. Any successful effort would need considerable automated tracking of changes in the documented project, an thorough commitment to detailed quality, and a strong connection with users including those who are highly competent. Familiarity with and reference to existing high quality Unix documentation, such as the FreeBSD man pages would likely be very helpful.
Various small projects are unmaintained or crying out to be forked by a maintainer who is responsive and has respect for current standards. Instead of merely patching such projects, perhaps with patches from Gentoo or Debian, it would be nice to find someone with some expertice in the project's field who could assume maintainership.
If you're interested by these possibilities, I recommend gaining thorough competence with autoconf, automake, libtool, diff, and man page writing. These skills will serve you well no matter what you do. Unix embodies three decades of experience in system design and it is well to understand it before endeavoring to fix it. While nothing can replace actually working with the system, reading The Art of Unix Programming may be useful so long as you don't take it as gospel, and Advanced Programming in the UNIX Environment is widely recommended.
Sometimes you want to upgrade by installing over. It's always risky, rarely wise, but sometimes you do it anyway. And sometimes, usually when GCC ABIs change badly, you can't do it anyway because the libc install will hose the very tools it is using to do the install somewhere partway through the process. These commands are for that time.
An understanding of LFS 5.1.1 is useful when trying to figure out what side does and how it works.
### Selected by all of options (any of side-env, side-binutils-static, side-gcc-static, side-linux-libc-headers, side-linux-headers, side-glibc, side-binutils-chlib, side-specs, side-rm-fixed, side or all) and (not: no-side-env)
set +h
export PATH=/side/bin":$PATH"
export LC_ALL=POSIX
### Selected by all of options (any of side-init, side or all) and (not: no-side-init)
sudo rm -rf /side
sudo install -d /side
### Selected by any of options side-binutils-static, side or all
rm -rf binutils-build binutils-2.14
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/binutils-2.14.tar.bz2
mkdir binutils-build
pushd binutils-build
../binutils-2.14/configure --prefix=/side --disable-nls
make configure-host
make LDFLAGS="-all-static"
sudo make install
make -C ld clean
make -C ld LDFLAGS="-all-static" LIB_PATH=/side/lib
popd
### Selected by any of options side-gcc-static, side or all
rm -rf gcc-3.3.3 gcc-build
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/gcc-core-3.3.3.tar.bz2
mkdir gcc-build
pushd gcc-build
../gcc-3.3.3/configure \
--prefix=/side --with-local-prefix=/side \
--disable-nls --enable-shared --enable-languages=c
make BOOT_LDFLAGS="-static" bootstrap
sudo make install
sudo ln -s gcc /side/bin/cc
popd
rm -rf gcc-3.3.3 gcc-build
### Selected by any of options side-linux-libc-headers, side or all
rm -rf linux-libc-headers-2.6.11.2
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/linux-libc-headers-2.6.11.2.tar.bz2
pushd linux-libc-headers-2.6.11.2
### Selected by all of options (any of i586-pc-linux-gnu) and (any of side-linux-libc-headers, side or all)
mv include/asm-i386 include/asm
### Selected by all of options powerpc-unknown-linux-gnu and (any of side-linux-libc-headers, side or all)
mv include/asm-ppc include/asm
### Selected by any of options side-linux-libc-headers, side or all
sudo make -f - SRC='include/asm include/linux' \
DEST=/side <<'EOF'
DIRS := $(shell find $(SRC) -follow -type d)
FILES := $(shell find $(SRC) -follow -type f)
all: $(DIRS) $(FILES)
$(DIRS):: ; install -d $(DEST)/$@
$(FILES):: ; install -m 644 $@ $(DEST)/$@
EOF
popd
rm -rf linux-libc-headers-2.6.11.2
### Selected by any of options side-glibc, side or all
rm -rf glibc-build glibc-2.3.3-lfs-5.1
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/glibc-2.3.3-lfs-5.1.tar.bz2
mkdir glibc-build
pushd glibc-build
../glibc-2.3.3-lfs-5.1/configure --prefix=/side \
--disable-profile --enable-add-ons=linuxthreads \
--with-binutils=/side/bin \
--with-headers=/side/include \
--without-gd --without-cvs
make AUTOCONF=no
sudo install -d /side/etc
sudo install -m 644 /dev/null /side/etc/ld.so.conf
sudo make install
popd
rm -rf glibc-build glibc-2.3.3-lfs-5.1
### Selected by any of options side-binutils-chlib, side or all
pushd binutils-build
sudo make -C ld install
popd
rm -rf binutils-build binutils-2.14
### Selected by any of options side-specs, side or all
pushd /side/lib/gcc-lib/powerpc-unknown-linux-gnu/3.3.3
sudo cp specs specs.orig
sed -r 's@ (/lib/ld\.so\.1)@ '/side'\1@g' specs.orig \
| sudo tee specs >/dev/null
diff -u specs.orig specs
popd
### Selected by all of options (any of i586-pc-linux-gnu) and (any of side-specs, side-rm-fixed, side or all)
pushd /side/lib/gcc-lib/i586-pc-linux-gnu/3.3.3
### Selected by all of options (any of powerpc-unknown-linux-gnu) and (any of side-specs, side-rm-fixed, side or all)
pushd /side/lib/gcc-lib/powerpc-unknown-linux-gnu/3.3.3
### Selected by any of options side-specs, side or all
sudo cp specs specs.orig
sed -r 's@ (/lib/ld\.so\.1)@ '/side'\1@g' specs.orig \
| sudo tee specs >/dev/null
diff -u specs.orig specs
popd
This is how LFS cleans out "fixed" headers. A bit of grep will actually remove them all but we'll stick with this for now because it is somewhat more tested.
### Selected by any of options side-rm-fixed, side or all
sudo rm -vf pthread.h bits/sigthread.h
popd
FIX: There should be some compiler testing at this point.
This section contains commands for building a base install from an existing install based on the method used by LFS 5.1.1. This section is only just begun although I have more in a scratch file. If you want to finish it, let me know and I'll be happy to help and to apply your patches. That said, let's get to it:
These instructions leave a few things to be done by hand.
To start with, you'll need to mount the target partition
on the temporary mount point that you've specified in
config/config.xml in the variable mnttmp.
As of when this was generated, it was set to /mnt/tmp.
You'll also need to delete any existing build on the partition.
The following commands might be what you need to accomplish all this:
cfdisk /dev/hdb mke2fs -j /dev/hdb1 mkswap /dev/hdb2 swapon /dev/hdb2 install -d /mnt/tmp mount /dev/hdb1 /mnt/tmp install -d /mnt/tmp/usr/src cd /mnt/tmp/usr/src oakheart --download lfs
### Selected by any of options lfs or all
sudo install -d /mnt/tmp/mnt/tmp/tools
sudo ln -sf `echo /mnt/tmp/tools | sed 's@^/*@@'` /mnt/tmp/tools
This section is currently incomplete but growing. Feel free to pitch in and help.
### Selected by any of options preboot or all
umask 0022
unset LD_LIBRARY_PATH || true
unset LD_PRELOAD || true
export PATH=/mnt/tmp/tools/sbin:/mnt/tmp/tools/bin:"$PATH"
export LC_ALL=POSIX
set +h
sudo rm -rf /mnt/tmp/*
sudo install -d /mnt/tmp/mnt/tmp/tools
sudo ln -sf `echo /mnt/tmp/tools | sed 's@^/*@@'` /mnt/tmp/tools
sudo sh -ev <<'EOC'
cd /mnt/tmp
install -d bin
install -d boot
install -d dev
install -d etc
echo 'root:x:0:0:Super User:/root:/bin/bash' >etc/passwd
echo 'root:x:0:root' >etc/group
echo 'root::12072:0:99999:7:::' >etc/shadow
chmod 640 etc/shadow
install -d lib
install -d mnt
install -d mnt/tmp
install -d proc
install -d sbin
install -d -m 1777 tmp
install -d usr
install -d usr/bin
install -d usr/include
install -d usr/lib
install -d usr/sbin
install -d usr/share
install -d usr/share/man
install -d usr/share/info
install -d usr/share/doc
install -d usr/share/misc
install -d usr/src
install -d var
install -d var/cache
install -d var/lib
install -d var/lib/misc
install -d var/lock
install -d var/log
touch var/log/lastlog
touch var/log/messages
touch var/log/wtmp
touch var/log/btmp
install -d var/run
touch var/run/utmp
install -d var/spool
install -d var/mail
install -d -m 1777 var/tmp
install -d home
install -d root
EOC
rm -rf glibc-kernheaders-2.4-8.44
tar --no-same-owner -xvjf \
"$OAKHEART_IPWD"/glibc-kernheaders-2.4-8.44.src.tar.bz2
pushd glibc-kernheaders-2.4-8.44
sudo tar --no-same-owner -xvjf glibc-kernheaders.tar.bz2 \
-C /mnt/tmp usr/include/{asm-i386,linux}/'*'
sudo mv /mnt/tmp/usr/include/{asm-i386,asm}
sudo install -d /mnt/tmp/tools/include
sudo cp -a /mnt/tmp/usr/include/{asm,linux} /mnt/tmp/tools/include
popd
rm -rf glibc-kernheaders-2.4-8.44
rm -rf binutils-build binutils-2.14
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/binutils-2.14.tar.bz2
mkdir binutils-build
pushd binutils-build
../binutils-2.14/configure --prefix=/mnt/tmp/tools --disable-nls
make configure-host
make LDFLAGS="-all-static"
sudo make install
cd ld
make clean
make LDFLAGS="-all-static" LIB_PATH=/mnt/tmp/tools/lib
popd
type ld | grep /mnt/tmp/tools
file /mnt/tmp/tools/bin/ld | grep static
rm -rf gcc-3.3.2 gcc-build
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/gcc-3.3.2.tar.bz2
mkdir gcc-build
pushd gcc-build
../gcc-3.3.2/configure --prefix=/mnt/tmp/tools \
--with-local-prefix=/mnt/tmp/tools \
--enable-languages=c --disable-nls --enable-shared
make BOOT_LDFLAGS="-static" bootstrap
sudo make install
popd
rm -r gcc-3.3.2 gcc-build
sudo ln -sf gcc /mnt/tmp/tools/bin/cc
file /mnt/tmp/tools/bin/gcc | grep static
rm -rf glibc-2.3.2 glibc-build
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/glibc-2.3.2.tar.bz2
tar --no-same-owner -C glibc-2.3.2 -xvjf \
"$OAKHEART_IPWD"/glibc-linuxthreads-2.3.2.tar.bz2
patch -p0 -i "$OAKHEART_IPWD"/glibc-2.3.2-sscanf-1.patch
mkdir glibc-build
pushd glibc-build
../glibc-2.3.2/configure --prefix=/mnt/tmp/tools \
--disable-profile --enable-add-ons --without-gd \
--with-headers=/mnt/tmp/tools/include \
--with-binutils=/mnt/tmp/tools/bin
make
sudo install -d /mnt/tmp/tools/etc
sudo touch /mnt/tmp/etc/ld.so.conf
sudo chmod 644 /mnt/tmp/etc/ld.so.conf
sudo make install
sudo make localedata/install-locales
popd
rm -rf glibc-2.3.2 glibc-build
sudo sh -ev <<'EOC'
cat >/mnt/tmp/etc/nsswitch.conf <<'OAKHEART_EOT'
passwd: files
group: files
shadow: files
publickey: files
hosts: files dns
networks: files
protocols: files
services: files
ethers: files
rpc: files
netgroup: files
OAKHEART_EOT
chmod 644 /mnt/tmp/etc/nsswitch.conf
EOC
sudo cp /mnt/tmp{/usr/share/zoneinfo/US/Eastern,/etc/localtime}
readelf -l /mnt/tmp/tools/bin/locale | grep -e interpreter -e tools
pushd binutils-build/ld
sudo make install-data-local
popd
rm -rf binutils-2.14 binutils-build
pushd /mnt/tmp/tools/lib/gcc-lib/i586-pc-linux-gnu/3.3.2/
sudo sh -ev <<'EOC'
cp specs specs.orig
sed 's@ \(/lib/ld-linux.so.2\)@ /mnt/tmp/tools\1@g' specs.orig >specs
diff -u specs{.orig,} && exit 1 || true
grep -rl 'auto-edited by fixincludes' . | xargs -r rm -v
EOC
popd
echo 'main(){}' | gcc -x c - -o oakheart-test
readelf -l oakheart-test | grep -e interpreter -e tools
rm oakheart-test
# XXX: instead of gcc libiberty patch
# i don't know why we use the one from binutils. lfs-dev prolly does
# lfs isn't currently using this at this point....
# cd gcc-v.v.v/libiberty && sed -r 's/^(install:) [^ ]+(.*)/\1\2/' Makefile.in
rm -rf gcc-3.3.2 gcc-build
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/gcc-3.3.2.tar.bz2
pushd gcc-3.3.2/gcc
cp Makefile.in Makefile.in.orig
grep -v ' ./fixinc.sh ' Makefile.in.orig >Makefile.in
diff -u Makefile{.orig,} && exit 1 || true
popd
pushd gcc-3.3.2/gcc/config/i386
cp linux.h linux.h.orig
sed 's@ \(/lib/ld-linux.so.2\)@ /mnt/tmp/tools\1@g' linux.h.orig >linux.h
diff -u linux.h{.orig,} && exit 1 || true
popd
cat >>gcc-3.3.2/gcc/config/linux.h <<'EOT'
/* Remove /usr/include from the end of the include search path. */
#undef STANDARD_INCLUDE_DIR
#define STANDARD_INCLUDE_DIR 0
EOT
mkdir gcc-build
pushd gcc-build
../gcc-3.3.2/configure --prefix=/mnt/tmp/tools \
--with-local-prefix=/mnt/tmp/tools \
--enable-clocale=gnu --enable-shared --enable-threads=posix \
--enable-__cxa_atexit --enable-languages=c,c++
make
sudo make install
popd
rm -r gcc-3.3.2 gcc-build
echo 'main(){}' | gcc -x c - -o oakheart-test
readelf -l oakheart-test | grep -e interpreter -e tools
rm oakheart-test
rm -rf binutils-build binutils-2.14
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/binutils-2.14.tar.bz2
mkdir binutils-build
pushd binutils-build
../binutils-2.14/configure --prefix=/mnt/tmp/tools \
--enable-shared --with-lib-path=/mnt/tmp/tools/lib
make
sudo make install
cd ld
make clean
make LIB_PATH=/usr/lib:/lib
popd
echo 'main(){}' | gcc -x c - -o oakheart-test
readelf -l oakheart-test | grep -e interpreter -e tools
rm oakheart-test
rm -rf gawk-3.1.3
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/gawk-3.1.3.tar.bz2
pushd gawk-3.1.3
./configure --prefix=/mnt/tmp/tools
make
sudo make install
popd
rm -rf gawk-3.1.3
# XXX: posix ver patch
rm -rf coreutils-5.0
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/coreutils-5.0.tar.bz2
pushd coreutils-5.0
pushd src
cp Makefile.in Makefile.in.orig
sed -r '/^bin_PROGRAMS = /,/[^\\]$/s/(hostname|kill)[^ ]* //g' \
Makefile.in.orig >Makefile.in
diff -u Makefile.in{.orig,} && exit
popd
pushd man
cp Makefile.in Makefile.in.orig
sed -r '/^dist_man_MANS = /,/[^\\]$/s/(hostname|kill)[^ ]* //g' \
Makefile.in.orig >Makefile.in
diff -u Makefile.in{.orig,} && exit
popd
./configure --prefix=/mnt/tmp/tools
make
sudo make install
sudo mv -v /mnt/tmp/tools/usr/bin/{cat,chgrp,chmod} \
/mnt/tmp/tools/usr/bin/{chown,cp,date,dd,df,echo,false,ln,ls} \
/mnt/tmp/tools/usr/bin/{mkdir,mknod,mv,pwd,rm,rmdir,stty,su} \
/mnt/tmp/tools/usr/bin/{true,uname} \
/mnt/tmp/tools/bin
sudo mv -v /mnt/tmp/tools/usr/bin/chroot \
/mnt/tmp/tools/usr/sbin/
sudo ln -vsf test /mnt/tmp/tools/usr/bin/[
popd
rm -rf coreutils-5.0
# bzip2
# diffutils (really?)
# make
# grep
# sed
# gettext (really?)
# ncurses (for texinfo, iirc)
# tar
# texinfo
# ./confi...
# make prefix=/mnt/tmp/usr TEXMF=/usr/share/texmf install install-tex
# bash and sh symlink
# util-linux
# make -C lib
# make -C mount
# install mount/{u,}mount /mnt/tmp/bin
exit
# ed
# modutils
# devfsd (really?)
# make KERNEL_DIR=/usr/src/linux-benh
# make PREFIX=/mnt/tmp install
# echo "include /etc/modules.conf" > /mnt/tmp/etc/modules.devfs
# need kernel modules and kernel and boot loader
The title of this section is a reference to the BSD
make
world.
The subsections are organized by dependencies. Everything in a subsection should be in alphabetical order and shouldn't rely on anything in its section or later sections. The section names are more of a memorable tag than an indication of the section's content although they do tend to match up fairly well.
binutils Packagehome: http://sources.redhat.com/binutils/
fm: http://freshmeat.net/projects/binutils/
binutils requires itself
and goes before gcc because many build processes use that order.
### Selected by any of options binutils, binutils-hjl or all rm -rf binutils-build binutils-2.15.91.0.2 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/binutils-2.15.91.0.2.tar.bz2 mkdir binutils-build pushd binutils-build ../binutils-2.15.91.0.2/configure --prefix=/usr make sudo make install popd rm -rf binutils-build binutils-2.15.91.0.2
binutils-2.15.91.0.2.tar.bz2### Selected by any of options binutils, binutils-hjl or all
wget http://ftp.kernel.org/pub/linux/devel/binutils/binutils-2.15.91.0.2.tar.bz2
md5sum binutils-2.15.91.0.2.tar.bz2
echo '41983069bef07af4f1350c6d30666b2d binutils-2.15.91.0.2.tar.bz2' \
| md5sum -c
binutils-hjl### Selected by any of options binutils, binutils-hjl or all
### Distpoint: binutils-hjl
binutils-hjl
# Filter
s/.*href="(binutils-[^"]*\.tar\.bz2)".*/\1/ip
binutils-hjl### Selected by any of options binutils, binutils-hjl or all ### URL: http://ftp.kernel.org/pub/linux/devel/binutils/ ### Depth: 1 binutils-hjl
binutils-2.15.tar.bz2### Selected by any of options binutils-gnu or all
wget http://ftp.gnu.org/gnu/binutils/binutils-2.15.tar.bz2
md5sum binutils-2.15.tar.bz2
echo '624e6b74983ac6b2960edaf2d522ca58 binutils-2.15.tar.bz2' | md5sum -c
binutils-gnu### Selected by any of options binutils-gnu, side-binutils, side-binutils-static, side-binutils-chlib, side or all
### Distpoint: binutils-gnu
binutils-gnu
# Filter
s/.*href="([^"]*\.tar\.bz2)".*/\1/ip
binutils-gnu### Selected by any of options binutils-gnu, side-binutils, side-binutils-static, side-binutils-chlib, side or all ### URL: http://ftp.gnu.org/gnu/binutils/ ### Depth: 1 binutils-gnu
binutils-2.14.tar.bz2### Selected by any of options side-binutils, side-binutils-static, side-binutils-chlib, side or all
wget http://ftp.gnu.org/gnu/binutils/binutils-2.14.tar.bz2
md5sum binutils-2.14.tar.bz2
echo '2da8def15d28af3ec6af0982709ae90a binutils-2.14.tar.bz2' | md5sum -c
gcc Packagehome: http://gcc.gnu.org/
fm: http://freshmeat.net/projects/gcc/
gcc-3.4.2.tar.bz2### Selected by any of options gcc or all
wget http://ftp.gnu.org/gnu/gcc/gcc-3.4.2/gcc-3.4.2.tar.bz2
md5sum gcc-3.4.2.tar.bz2
echo '2fada3a3effd2fd791df09df1f1534b3 gcc-3.4.2.tar.bz2' | md5sum -c
gcc-core-3.3.3.tar.bz2### Selected by any of options side-gcc-static, side or all
wget ftp://ftp.linuxfromscratch.org/pub/lfs/lfs-packages/conglomeration/gcc/gcc-core-3.3.3.tar.bz2
md5sum gcc-core-3.3.3.tar.bz2
echo 'f878a455b14b3830aaf2da0a17f003c0 gcc-core-3.3.3.tar.bz2' | md5sum -c
gcc-3.3.2.tar.bz2### Selected by any of options preboot or all
wget http://ftp.gnu.org/gnu/gcc/gcc-3.3.2/gcc-3.3.2.tar.bz2
md5sum gcc-3.3.2.tar.bz2
echo '65999f654102f5438ac8562d13a6eced gcc-3.3.2.tar.bz2' | md5sum -c
gcc-2.95.3.tar.bz2### Selected by any of options gcc-2 or all
wget http://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-2.95.3.tar.bz2
md5sum gcc-2.95.3.tar.bz2
echo '87ee083a830683e2aaa57463940a0c3c gcc-2.95.3.tar.bz2' | md5sum -c
gcc### Selected by any of options gcc, gcc-2, side-gcc-static, side, preboot or all
### Distpoint: gcc
# Filter
s/.*href="(gcc-[^"]*)\/".*/\1/ip
gcc### Selected by any of options gcc, gcc-2, side-gcc-static, side, preboot or all ### URL: http://ftp.gnu.org/gnu/gcc/ ### Depth: 1
linux-libc-headers Packagehome: http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
linux-libc-headers-2.6.11.2.tar.bz2### Selected by all of options (any of linux-libc-headers, side-linux-libc-headers, side or all) and (not: side-linux-headers)
wget http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-2.6.11.2.tar.bz2
md5sum linux-libc-headers-2.6.11.2.tar.bz2
echo '2d21d8e7ff641da74272b114c786464e linux-libc-headers-2.6.11.2.tar.bz2' \
| md5sum -c
linux-libc-headers### Selected by all of options (any of linux-libc-headers, side-linux-libc-headers, side or all) and (not: side-linux-headers)
### Distpoint: linux-libc-headers
# Filter
s/.*href="([^"]*\.tar\.bz2)".*/\1/ip
linux-libc-headers### Selected by all of options (any of linux-libc-headers, side-linux-libc-headers, side or all) and (not: side-linux-headers) ### URL: http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ ### Depth: 1
glibc Packagehome: http://www.gnu.org/software/libc/
fm: http://freshmeat.net/projects/glibc/
glibc-2.3.3.tar.bz2### Selected by any of options glibc or all wget http://ftp.gnu.org/gnu/glibc/glibc-2.3.3.tar.bz2 md5sum glibc-2.3.3.tar.bz2 # echo '' | md5sum -c
glibc-linuxthreads-2.3.3.tar.bz2### Selected by any of options glibc or all wget http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.3.tar.bz2 md5sum glibc-linuxthreads-2.3.3.tar.bz2 # echo '' | md5sum -c
glibc-2.3.3-sscanf-1.patch### Selected by any of options glibc or all wget http://www.linuxfromscratch.org/patches/lfs/5.0/glibc-2.3.3-sscanf-1.patch md5sum glibc-2.3.3-sscanf-1.patch # echo '' | md5sum -c
glibc### Selected by any of options glibc, side-glibc, side or all
### Distpoint: glibc
# Filter
s/.*href="(glibc-[^"]*\.tar\.bz2)".*/\1/ip
glibc### Selected by any of options glibc, side-glibc, side or all ### URL: http://ftp.gnu.org/gnu/glibc/ ### Depth: 1
glibc-2.3.3-lfs-5.1.tar.bz2### Selected by any of options side-glibc, side or all
wget ftp://ftp.linuxfromscratch.org/pub/lfs/lfs-packages/conglomeration/glibc/glibc-2.3.3-lfs-5.1.tar.bz2
md5sum glibc-2.3.3-lfs-5.1.tar.bz2
echo 'cd11fabdf5162ad68329e7b28b308278 glibc-2.3.3-lfs-5.1.tar.bz2' | md5sum -c
This is a bit of a misc section. It should probably go away.
linux Packagehome: http://www.kernel.org/
fm: http://freshmeat.net/projects/linux/
DocsNote that these commands do not remove the built source tree. This is a feature. They are also interactive so piping them to a shell won't work.
### Selected by any of options linux or all
rm -rf linux-2.6.11
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/linux-2.6.11.tar.bz2
pushd linux-2.6.11
make mrproper
make menuconfig
make
sudo make modules_install
sudo make install
popd
### Selected by any of options linux-2.6.10-2.6.11 or all
rm -rf linux-2.6.11
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/linux-2.6.11.tar.bz2
pushd linux-2.6.11
make mrproper
cp ../linux-2.6.10/.config .
make oldconfig
make
sudo make modules_install
sudo make install
popd
### Selected by any of options linux-reconfig or all
pushd linux-2.6.11
cp .config .config.bak
# it is advisable to set "Local version" under "General setup"
make menuconfig
make
sudo make modules_install
sudo make install
popd
### Selected by any of options linux-patch-2.6.4-2.6.5 or all
rm -rf linux-2.6.4-2.6.5
mkdir linux-2.6.4-2.6.5
pushd linux-2.6.4-2.6.5
wget http://ftp.kernel.org/pub/linux/kernel/v2.6/patch-2.6.5.bz2
md5sum patch-2.6.5.bz2
echo 'b5c6c41d718c298a7342e6765a7fd017 patch-2.6.5.bz2' | md5sum -c
bunzip2 patch-2.6.5.bz2
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/linux-2.6.4.tar.bz2
pushd linux-2.6.4
patch -p1 -i ../patch-2.6.5
popd
mv linux-2.6.4 linux-2.6.5
tar --owner=root --group=root -cvjf \
"$OAKHEART_IPWD"/linux-2.6.5.tar.bz2 linux-2.6.5
popd
rm -rf linux-2.6.4-2.6.5
linux-2.6.11.tar.bz2### Selected by any of options linux or all wget http://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2 md5sum linux-2.6.11.tar.bz2 # echo '' | md5sum -c
### Selected by any of options linux-2.4 or all
rm -rf linux-2.4.26
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/linux-2.4.26.tar.bz2
pushd linux-2.4.26
make mrproper
make menuconfig
make dep
make bzImage
sudo make modules_install
popd
linux-2.4.26.tar.bz2### Selected by any of options linux or all wget http://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.26.tar.bz2 md5sum linux-2.4.26.tar.bz2 echo '88d7aefa03c92739cb70298a0b486e2c linux-2.4.26.tar.bz2' | md5sum -c
linux### Selected by any of options linux or all
### Distpoint: linux
# Filter
/\.tar\.bz2"/!b
s/.*href="(linux-[^"]*\.tar\.bz2)".*/\1/ip
linux### Selected by any of options linux or all ### URL: http://ftp.kernel.org/pub/linux/kernel/ ### Depth: 2 # Filter s/.*<base[ \t]+href="([^"]*)">.*/\1/i T notbase x b :notbase /href="v1\./b s/.*href="(v[^"]*\/)".*/\1/i T G s/(.*)\n(.*)/\2\1/p
home: http://www.penguinppc.org/kernel/
### Selected by any of options linux-rsync, powerpc-unknown-linux-gnu or all
pushd linux-ppc
cp .config ../linux-ppc.config
# should be the new way...
# rsync -avz --delete source.mvista.com::linuxppc-2.5 linux
rsync -avz --delete rsync.penguinppc.org::linux-2.4-benh .
make mrproper
tar --owner=root --group=root -cvjf \
"$OAKHEART_IPWD"/linux-benh-2.4-`date +%Y.%m.%d`.tar.bz2 -C .. linux-ppc
cp ../linux-ppc.config .config
yaboot Packagehome: http://www.penguinppc.org/projects/yaboot/
fm: NONE
News Docs### Selected by any of options yaboot or all rm -rf yaboot-1.3.12 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/yaboot-1.3.12.tar.bz2 pushd yaboot-1.3.12 make PREFIX=usr MANDIR=share/man sudo make PREFIX=usr MANDIR=share/man install popd rm -rf yaboot-1.3.12
yaboot-1.3.12.tar.bz2### Selected by any of options yaboot or all wget http://www.penguinppc.org/projects/yaboot/yaboot-1.3.12.tar.gz md5sum yaboot-1.3.12.tar.gz echo '85cf685c1dc5873c2a5124ba4524b2d2 yaboot-1.3.12.tar.gz' | md5sum -c gunzip yaboot-1.3.12.tar.gz bzip2 yaboot-1.3.12.tar
yaboot### Selected by any of options yaboot or all
### Distpoint: yaboot
# Filter
/binary/b
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
yaboot### Selected by any of options yaboot or all ### URL: http://www.penguinppc.org/projects/yaboot/ ### Depth: 1
module-init-tools Packagehome: http://www.kernel.org/pub/linux/kernel/people/rusty/modules/
fm: NONE
### Selected by any of options module-init-tools or all rm -rf module-init-tools-3.1 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/module-init-tools-3.1.tar.bz2 pushd module-init-tools-3.1 find | xargs touch # don't regen man pages from docbook ./configure --prefix="" make [ -f /sbin/lsmod.old ] || sudo make moveold sudo make install popd rm -rf module-init-tools-3.1
module-init-tools-3.1.tar.bz2### Selected by any of options module-init-tools or all wget http://www.kernel.org/pub/linux/kernel/people/rusty/modules/module-init-tools-3.1.tar.bz2 md5sum module-init-tools-3.1.tar.bz2 echo '8ddecbcf0e56aef8617f67a3906faf3e module-init-tools-3.1.tar.bz2' | md5sum -c
module-init-tools### Selected by any of options module-init-tools or all
### Distpoint: module-init-tools
# Filter
s/.*href="(module-init-tools-[0-9][^"]*\.tar\.bz2)".*/\1/ip
module-init-tools### Selected by any of options module-init-tools or all ### URL: http://www.kernel.org/pub/linux/kernel/people/rusty/modules/ ### Depth: 1
rpm2targz PackageFails silently if cpio isn't available.
### Selected by any of options rpm2targz or all rm -rf rpm2targz tar --no-same-owner -xvjf "$OAKHEART_IPWD"/rpm2targz.tar.bz2 pushd rpm2targz gcc -o rpmoffset rpmoffset.c sudo install rpm2targz rpmoffset /usr/bin popd rm -rf rpm2targz
rpm2targz.tar.bz2### Selected by any of options rpm2targz or all wget http://www.linuxfromscratch.org/~tushar/downloads/rpm2targz.tar.bz2 md5sum rpm2targz.tar.bz2 echo '857bd279d1594e54a51dc08d014beb55 rpm2targz.tar.bz2' | md5sum -c
This tarlist is rather useless since the watched filename doesn't include a version number.
rpm2targz### Selected by any of options rpm2targz or all
### Distpoint: rpm2targz
# Filter
s/.*href="([^"]*\.tar\.bz2)".*/\1/ip
rpm2targz### Selected by any of options rpm2targz or all ### URL: http://www.linuxfromscratch.org/~tushar/downloads/ ### Depth: 1
glibc-kernheaders PackageDon't upgrade these unless upgrading glibc right after. (And, of course, don't upgrade glibc on production installs. Instead, build and test a new install.)
### Selected by any of options glibc-kernheaders or all
rm -rf glibc-kernheaders-2.4-8.46
tar --no-same-owner -xvjf \
"$OAKHEART_IPWD"/glibc-kernheaders-2.4-8.46.src.tar.bz2
pushd glibc-kernheaders-2.4-8.46
sudo tar --no-same-owner -xvjf glibc-kernheaders.tar.bz2 \
-C / usr/include/{asm-i386,linux}/'*'
sudo mv /usr/include/{asm-i386,asm}
popd
rm -rf glibc-kernheaders-2.4-8.46
glibc-kernheaders-2.4-8.46.src.tar.bz2### Selected by any of options glibc-kernheaders or all wget http://mirrors.kernel.org/fedora/core/development/SRPMS/glibc-kernheaders-2.4-8.46.src.rpm md5sum glibc-kernheaders-2.4-8.46.src.rpm echo '24c8e06f9fa047b5dca727f8a56abf66 glibc-kernheaders-2.4-8.46.src.rpm' | md5sum -c rpm2targz glibc-kernheaders-2.4-8.46.src.rpm gunzip glibc-kernheaders-2.4-8.46.src.tar.gz bzip2 glibc-kernheaders-2.4-8.46.src.tar rm glibc-kernheaders-2.4-8.46.src.rpm
glibc-kernheaders### Selected by any of options glibc-kernheaders or all
### Distpoint: glibc-kernheaders
# Filter
/glibc-kernheaders-/!b # optimize
s/.*href="(glibc-kernheaders-[^"]*\.src\.rpm)".*/\1/ip
glibc-kernheaders### Selected by any of options glibc-kernheaders or all ### URL: http://mirrors.kernel.org/fedora/core/development/SRPMS/ ### Depth: 1
These package require themselves to build in one way or another.
bzip2 Packagehome: http://sources.redhat.com/bzip2/
fm: http://freshmeat.net/projects/bzip2/
News DocsBzip2 requires itself unless you have a non-bzip2ed source tarball. It is wise to be careful when messing with it.
If you have a use for the shared library,
building it is simple enough;
feel free to contribute the commands.
However, /bin/bzip2 should remain static by default
both for reliability and performance (see bzip2-1.0.2/README).
### Selected by any of options bzip2 or all
rm -rf bzip2-1.0.2
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/bzip2-1.0.2.tar.bz2
pushd bzip2-1.0.2
make
sudo sh -ev <<'EOC'
install -d /bin /usr/{bin,lib,share/man/man1,include}
install bzip2 /bin
ln -f /bin/{bzip2,bunzip2}
ln -f /bin/{bzip2,bzcat}
ln -sf ../../bin/bzip2 /usr/bin
ln -sf ../../bin/bunzip2 /usr/bin
ln -sf ../../bin/bzcat /usr/bin
install bzip2recover bzgrep bzmore bzdiff /usr/bin
ln -f /usr/bin/{bzgrep,bzegrep}
ln -f /usr/bin/{bzgrep,bzfgrep}
ln -f /usr/bin/{bzmore,bzless}
ln -f /usr/bin/{bzdiff,bzcmp}
install -m 644 bzip2.1 bzgrep.1 bzmore.1 bzdiff.1 /usr/share/man/man1
echo ".so man1/bzgrep.1" > /usr/share/man/man1/bzegrep.1
echo ".so man1/bzgrep.1" > /usr/share/man/man1/bzfgrep.1
echo ".so man1/bzmore.1" > /usr/share/man/man1/bzless.1
echo ".so man1/bzdiff.1" > /usr/share/man/man1/bzcmp.1
chmod 644 /usr/share/man/man1/{bzegrep,bzfgrep,bzless,bzcmp}.1
install -m 644 bzlib.h /usr/include
install -m 644 libbz2.a /usr/lib
EOC
popd
rm -rf bzip2-1.0.2
bzip2-1.0.2.tar.bz2### Selected by any of options bzip2 or all wget ftp://sources.redhat.com/pub/bzip2/v102/bzip2-1.0.2.tar.gz md5sum bzip2-1.0.2.tar.gz # echo '' | md5sum -c gunzip bzip2-1.0.2.tar.gz bzip2 bzip2-1.0.2.tar
bzip2### Selected by any of options bzip2 or all
### Distpoint: bzip2
# Filter
s/.*href="(v[^"]*)".*/\1/ip
bzip2### Selected by any of options bzip2 or all ### URL: ftp://sources.redhat.com/pub/bzip2/ ### Depth: 1
coreutils Packagehome: http://www.gnu.org/software/coreutils/
fm: http://freshmeat.net/projects/coreutils/
News### Selected by any of options coreutils or all
rm -rf coreutils-5.2.1
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/coreutils-5.2.1.tar.bz2
pushd coreutils-5.2.1
pushd src
cp Makefile.in Makefile.in.orig
sed -r '/^bin_PROGRAMS = /,/[^\\]$/s/(hostname|kill)[^ ]* //g' \
Makefile.in.orig >Makefile.in
diff -u Makefile.in.orig Makefile.in && exit 1 || true
popd
pushd man
cp Makefile.in Makefile.in.orig
sed -r '/^dist_man_MANS = /,/[^\\]$/s/(hostname|kill)[^ ]* //g' \
Makefile.in.orig >Makefile.in
diff -u Makefile.in.orig Makefile.in && exit 1 || true
popd
./configure --prefix=/usr
make
sudo make install
sudo mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} \
/usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm,rmdir,stty,su,true,uname} /bin
sudo mv -v /usr/bin/chroot /usr/sbin/
sudo ln -vsf test /usr/bin/[
popd
rm -rf coreutils-5.2.1
coreutils-5.2.1.tar.bz2### Selected by any of options coreutils or all wget http://ftp.gnu.org/gnu/coreutils/coreutils-5.2.1.tar.bz2 md5sum coreutils-5.2.1.tar.bz2 echo '172ee3c315af93d3385ddfbeb843c53f coreutils-5.2.1.tar.bz2' | md5sum -c
coreutils### Selected by any of options coreutils or all
### Distpoint: coreutils
# Filter
s/.*href="([^"]*\.tar\.bz2)".*/\1/ip
coreutils### Selected by any of options coreutils or all ### URL: http://ftp.gnu.org/gnu/coreutils/ ### Depth: 1
diffutils Packagehome: http://www.gnu.org/software/diffutils/
fm: http://freshmeat.net/projects/diffutils/
### Selected by any of options diffutils or all rm -rf diffutils-2.8.1 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/diffutils-2.8.1.tar.bz2 pushd diffutils-2.8.1 ./configure --prefix=/usr make sudo make install popd rm -rf diffutils-2.8.1
diffutils-2.8.1.tar.bz2### Selected by any of options diffutils or all wget http://ftp.gnu.org/gnu/diffutils/diffutils-2.8.1.tar.gz md5sum diffutils-2.8.1.tar.gz # echo | md5sum -c gunzip diffutils-2.8.1.tar.gz bzip2 diffutils-2.8.1.tar
diffutils### Selected by any of options diffutils or all
### Distpoint: diffutils
# Filter
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
diffutils### Selected by any of options diffutils or all ### URL: http://ftp.gnu.org/gnu/diffutils/ ### Depth: 1
gawk Packagehome: http://www.gnu.org/software/gawk/
fm: http://freshmeat.net/projects/gnuawk/
News### Selected by any of options gawk or all rm -rf gawk-3.1.4 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/gawk-3.1.4.tar.bz2 pushd gawk-3.1.4 ./configure --prefix=/usr make sudo make install popd rm -rf gawk-3.1.4
gawk-3.1.4.tar.bz2### Selected by any of options gawk or all wget http://ftp.gnu.org/gnu/gawk/gawk-3.1.4.tar.bz2 md5sum gawk-3.1.4.tar.bz2 echo 'b8b532beaf02350e69d2d5dc98cb1e37 gawk-3.1.4.tar.bz2' | md5sum -c
gawk### Selected by any of options gawk or all
### Distpoint: gawk
# Filter
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
gawk### Selected by any of options gawk or all ### URL: http://ftp.gnu.org/gnu/gawk/ ### Depth: 1
gettext Packagehome: http://www.gnu.org/software/gettext/
fm: http://freshmeat.net/projects/gettext/
### Selected by any of options gettext or all rm -rf gettext-0.14.1 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/gettext-0.14.1.tar.bz2 pushd gettext-0.14.1 ./configure --prefix=/usr make sudo make install popd rm -rf gettext-0.14.1
gettext-0.14.1.tar.bz2### Selected by any of options gettext or all wget http://ftp.gnu.org/gnu/gettext/gettext-0.14.1.tar.gz md5sum gettext-0.14.1.tar.gz # echo '' | md5sum -c gunzip gettext-0.14.1.tar.gz bzip2 gettext-0.14.1.tar
gettext### Selected by any of options gettext or all
### Distpoint: gettext
# Filter
s/.*href="([^"]*)\.tar\.(gz|bz2)".*/\1/ip
gettext### Selected by any of options gettext or all ### URL: http://ftp.gnu.org/gnu/gettext/ ### Depth: 1
grep Packagehome: http://www.gnu.org/software/grep/grep.html
fm: http://freshmeat.net/projects/grep/
Grep installation requires grep.
News### Selected by any of options grep or all rm -rf grep-2.5.1 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/grep-2.5.1.tar.bz2 pushd grep-2.5.1 ./configure --prefix=/usr make sudo make install popd rm -rf grep-2.5.1
grep-2.5.1.tar.bz2### Selected by any of options grep or all # gnu is still broken after breakin # wget http://ftp.gnu.org/gnu/grep/grep-2.5.1.tar.bz2 wget http://ftp.club.cc.cmu.edu/pub/gnu/grep/grep-2.5.1.tar.bz2 md5sum grep-2.5.1.tar.bz2 echo 'ddd99e2d5d4f4611357e31e97f080cf2 grep-2.5.1.tar.bz2' | md5sum -c
grep### Selected by any of options grep or all
### Distpoint: grep
# Filter
s/.*href="([^"]*\.tar\.bz2)".*/\1/ip
grep### Selected by any of options grep or all ### URL: http://ftp.gnu.org/gnu/grep/ ### Depth: 1
make Packagehome: http://make.paulandlesley.org/
fm: http://freshmeat.net/projects/gnumake/
### Selected by any of options make or all rm -rf make-3.80 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/make-3.80.tar.bz2 pushd make-3.80 ./configure --prefix=/usr make sudo make install popd rm -rf make-3.80
make-3.80.tar.bz2### Selected by any of options make or all wget http://ftp.gnu.org/gnu/make/make-3.80.tar.bz2 md5sum make-3.80.tar.bz2 echo '0bbd1df101bc0294d440471e50feca71 make-3.80.tar.bz2' | md5sum -c
make### Selected by any of options make or all
### Distpoint: make
# Filter
s/.*href="([^"]*\.tar\.bz2)".*/\1/ip
make### Selected by any of options make or all ### URL: http://ftp.gnu.org/gnu/make/ ### Depth: 1
ncurses Packagehome: http://invisible-island.net/ncurses/
fm: http://freshmeat.net/projects/ncurses/
News### Selected by any of options ncurses or all
rm -rf ncurses-5.4
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/ncurses-5.4.tar.bz2
pushd ncurses-5.4
./configure --prefix=/usr --with-shared --without-debug \
--with-fallbacks=linux,vt100
make
sudo make install
sudo mv -v /usr/lib/lib{,n}curses.so* /lib
popd
rm -rf ncurses-5.4
ncurses-5.4.tar.bz2### Selected by any of options ncurses or all wget ftp://invisible-island.net/ncurses/ncurses-5.4.tar.gz md5sum ncurses-5.4.tar.gz # echo '' | md5sum -c gunzip ncurses-5.4.tar.gz bzip2 ncurses-5.4.tar
ncurses### Selected by any of options ncurses or all
### Distpoint: ncurses
# Filter
s/.*href="(ncurses-[^"]*\.tar\.(gz|bz2))".*/\1/ip
ncurses### Selected by any of options ncurses or all ### URL: ftp://invisible-island.net/ncurses/ ### Depth: 1
sed Packagehome: http://www.gnu.org/software/sed/sed.html
fm: http://freshmeat.net/projects/sed/
Sed installation requires sed.
Docs### Selected by any of options sed or all rm -rf sed-4.0.9 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/sed-4.0.9.tar.bz2 pushd sed-4.0.9 ./configure --prefix=/usr make sudo make install sudo mv /usr/bin/sed /bin popd rm -rf sed-4.0.9
sed-4.0.9.tar.bz2### Selected by any of options sed or all wget http://ftp.gnu.org/gnu/sed/sed-4.0.9.tar.gz md5sum sed-4.0.9.tar.gz # echo '' | md5sum -c gunzip sed-4.0.9.tar.gz bzip2 sed-4.0.9.tar
sed### Selected by any of options sed or all
### Distpoint: sed
# Filter
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
sed### Selected by any of options sed or all ### URL: http://ftp.gnu.org/gnu/sed/ ### Depth: 1
tar Packagehome: http://www.gnu.org/software/tar/tar.html
fm: http://freshmeat.net/projects/tar/
tar-1.13.93 is out but has conflicts with iconv in glibc-2.2.5 systems. 1.13.94 is also out but I'm not upgrading yet given that the automake ChangeLog recommends using 1.13.25 with automake 1.8.x.
News### Selected by any of options tar or all
rm -rf tar-1.13.25
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/tar-1.13.25.tar.bz2
pushd tar-1.13.25
./configure --prefix=/usr
make
sudo make install
sudo mv -v /usr/bin/tar /bin
popd
rm -rf tar-1.13.25
These commands can be used to upgrade if the system tar doesn't support --no-same-owner and -j.
### Selected by any of options tar-fromold or all
bzip2 -dc "$OAKHEART_IPWD"/tar-1.13.25.tar.bz2 | tar xvf -
pushd tar-1.13.25
./configure --prefix=/usr
make
sudo make install
sudo mv -v /usr/bin/tar /bin
popd
rm -rf tar-1.13.25
tar-1.13.25.tar.bz2### Selected by any of options tar, tar-fromold or all wget ftp://alpha.gnu.org/gnu/tar/tar-1.13.25.tar.gz md5sum tar-1.13.25.tar.gz # echo '' | md5sum -c gunzip tar-1.13.25.tar.gz bzip2 tar-1.13.25.tar
tar### Selected by any of options tar or all
### Distpoint: tar
# Filter
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
tar-alpha### Selected by any of options tar-alpha or all
### Distpoint: tar-alpha
tar-alpha
# Filter
s/.*href="([^"]*\.tar\.bz2)".*/\1/ip
tar### Selected by any of options tar or all ### URL: http://ftp.gnu.org/gnu/tar/ ### Depth: 1
tar-alpha### Selected by any of options tar-alpha or all ### URL: ftp://alpha.gnu.org/gnu/tar/ ### Depth: 1 tar-alpha
perl Packagehome: http://www.perl.org/
fm: http://freshmeat.net/projects/perl/
News### Selected by any of options perl or all rm -rf perl-5.8.4 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/perl-5.8.4.tar.bz2 pushd perl-5.8.4 ./configure.gnu --prefix=/usr -Dpager="/bin/less -isR" make sudo make install popd rm -rf perl-5.8.4
perl-5.8.4.tar.bz2### Selected by any of options perl or all wget ftp://ftp.cpan.org/pub/CPAN/src/perl-5.8.4.tar.bz2 md5sum perl-5.8.4.tar.bz2 echo '3eb135afd0114f4e1acdd4ad6b8fd947 perl-5.8.4.tar.bz2' | md5sum -c
perl### Selected by any of options perl or all
### Distpoint: perl
# Filter
/perl-5\.8\.0/b
s/.*href="(perl-[^"]*\.tar\.(gz|bz2))".*/\1/ip
perl### Selected by any of options perl or all ### URL: ftp://ftp.cpan.org/pub/CPAN/src/ ### Depth: 1
autoconf Packagehome: http://www.gnu.org/software/autoconf/
fm: http://freshmeat.net/projects/autoconf/
News### Selected by any of options autoconf or all rm -rf autoconf-2.59 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/autoconf-2.59.tar.bz2 pushd autoconf-2.59 ./configure --prefix=/usr make sudo make install popd rm -rf autoconf-2.59
autoconf-2.59.tar.bz2### Selected by any of options autoconf or all wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.59.tar.bz2 md5sum autoconf-2.59.tar.bz2 echo '1ee40f7a676b3cfdc0e3f7cd81551b5f autoconf-2.59.tar.bz2' | md5sum -c
autoconf### Selected by any of options autoconf or all
### Distpoint: autoconf
# Filter
s/.*href="([^"]*\.tar\.bz2)".*/\1/ip
autoconf### Selected by any of options autoconf or all ### URL: http://ftp.gnu.org/gnu/autoconf/ ### Depth: 1
automake Packagehome: http://sources.redhat.com/automake/
fm: http://freshmeat.net/projects/automake/
News### Selected by any of options automake or all rm -rf automake-1.9.1 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/automake-1.9.1.tar.bz2 pushd automake-1.9.1 ./configure --prefix=/usr sudo make install popd rm -rf automake-1.9.1
automake-1.9.1.tar.bz2### Selected by any of options automake or all wget http://ftp.gnu.org/gnu/automake/automake-1.9.1.tar.bz2 md5sum automake-1.9.1.tar.bz2 echo '65143af82931c2c4d703d3a17c1c9d15 automake-1.9.1.tar.bz2' | md5sum -c
automake### Selected by any of options automake or all
### Distpoint: automake
# Filter
s/.*href="([^"]*\.tar\.bz2)".*/\1/ip
automake### Selected by any of options automake or all ### URL: http://ftp.gnu.org/gnu/automake/ ### Depth: 1
libtool Packagehome: http://www.gnu.org/software/libtool/
fm: http://freshmeat.net/projects/libtool/
News### Selected by any of options libtool or all rm -rf libtool-1.5.8 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/libtool-1.5.8.tar.bz2 pushd libtool-1.5.8 ./configure --prefix=/usr make sudo make install popd rm -rf libtool-1.5.8
libtool-1.5.8.tar.bz2### Selected by any of options libtool or all wget http://ftp.gnu.org/gnu/libtool/libtool-1.5.8.tar.gz md5sum libtool-1.5.8.tar.gz echo 'ed04093bc9d88faa3e476ac6f4db8d50 libtool-1.5.8.tar.gz' | md5sum -c gunzip libtool-1.5.8.tar.gz bzip2 libtool-1.5.8.tar
libtool### Selected by any of options libtool or all
### Distpoint: libtool
# Filter
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
libtool### Selected by any of options libtool or all ### URL: http://ftp.gnu.org/gnu/libtool/ ### Depth: 1
openssl Packagehome: http://www.openssl.org/
fm: http://freshmeat.net/projects/openssl/
News### Selected by any of options openssl or all rm -rf openssl-0.9.7e tar --no-same-owner -xvjf "$OAKHEART_IPWD"/openssl-0.9.7e.tar.bz2 pushd openssl-0.9.7e # XXX: needs more fixing to put things like man pages in the right place ./config --prefix=/usr --openssldir=/usr/share/openssl shared make sudo make install popd rm -rf openssl-0.9.7e
openssl-0.9.7e.tar.bz2### Selected by any of options openssl or all wget http://www.openssl.org/source/openssl-0.9.7e.tar.gz md5sum openssl-0.9.7e.tar.gz echo 'a8777164bca38d84e5eb2b1535223474 openssl-0.9.7e.tar.gz' | md5sum -c gunzip openssl-0.9.7e.tar.gz bzip2 openssl-0.9.7e.tar
openssl### Selected by any of options openssl or all
### Distpoint: openssl
# Filter
/engine/b
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
openssl### Selected by any of options openssl or all ### URL: http://www.openssl.org/source/ ### Depth: 1
pkgconfig Packagehome: http://www.freedesktop.org/software/pkgconfig/
fm: http://freshmeat.net/projects/pkgconfig/
### Selected by any of options pkgconfig or all rm -rf pkgconfig-0.15.0 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/pkgconfig-0.15.0.tar.bz2 pushd pkgconfig-0.15.0 ./configure --prefix=/usr make sudo make install popd rm -rf pkgconfig-0.15.0
pkgconfig-0.15.0.tar.bz2### Selected by any of options pkgconfig or all wget http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-0.15.0.tar.gz md5sum pkgconfig-0.15.0.tar.gz # echo '' | md5sum -c gunzip pkgconfig-0.15.0.tar.gz bzip2 pkgconfig-0.15.0.tar
pkgconfig### Selected by any of options pkgconfig or all
### Distpoint: pkgconfig
# Filter
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
pkgconfig### Selected by any of options pkgconfig or all ### URL: http://www.freedesktop.org/software/pkgconfig/releases/ ### Depth: 1
readline Packagehome: http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
fm: http://freshmeat.net/projects/gnureadline/
News### Selected by any of options readline or all rm -rf readline-4.3 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/readline-4.3.tar.bz2 pushd readline-4.3 ./configure --prefix=/usr make sudo make install popd rm -rf readline-4.3
readline-4.3.tar.bz2### Selected by any of options readline or all wget http://ftp.gnu.org/gnu/readline/readline-4.3.tar.gz md5sum readline-4.3.tar.gz # echo '' | md5sum -c gunzip readline-4.3.tar.gz bzip2 readline-4.3.tar
readline### Selected by any of options readline or all
### Distpoint: readline
# Filter
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
readline### Selected by any of options readline or all ### URL: http://ftp.gnu.org/gnu/readline/ ### Depth: 1
util-linux Packagehome: NONE (2004-03-26)
fm: http://freshmeat.net/projects/util-linux/
News### Selected by any of options util-linux or all rm -rf util-linux-2.12 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/util-linux-2.12.tar.bz2 pushd util-linux-2.12 ./configure make HAVE_SLN=yes HAVE_KILL=yes sudo make HAVE_SLN=yes HAVE_KILL=yes install popd rm -rf util-linux-2.12
util-linux-2.12.tar.bz2### Selected by any of options util-linux or all wget http://ftp.cwi.nl/aeb/util-linux/util-linux-2.12.tar.gz md5sum util-linux-2.12.tar.gz echo '997adf78b98d9d1c5db4f37ea982acff util-linux-2.12.tar.gz' | md5sum -c gunzip util-linux-2.12.tar.gz bzip2 util-linux-2.12.tar
util-linux### Selected by any of options util-linux or all
### Distpoint: util-linux
# Filter
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
util-linux### Selected by any of options util-linux or all ### URL: http://ftp.cwi.nl/aeb/util-linux/ ### Depth: 1
which Packagehome: http://www.xs4all.nl/~carlo17/which/
fm: http://freshmeat.net/projects/which/
News### Selected by any of options which or all rm -rf which-2.16 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/which-2.16.tar.bz2 pushd which-2.16 ./configure --prefix=/usr --disable-dependency-tracking make sudo make install popd rm -rf which-2.16
which-2.16.tar.bz2### Selected by any of options which or all wget http://www.xs4all.nl/~carlo17/which/which-2.16.tar.gz md5sum which-2.16.tar.gz echo '830b83af48347a9a3520f561e47cbc9b which-2.16.tar.gz' | md5sum -c gunzip which-2.16.tar.gz bzip2 which-2.16.tar
which### Selected by any of options which or all
### Distpoint: which
# Filter
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
which### Selected by any of options which or all ### URL: http://www.xs4all.nl/~carlo17/which/ ### Depth: 1
zlib Packagehome: http://www.gzip.org/zlib/
fm: http://freshmeat.net/projects/zlib/
News### Selected by any of options zlib or all rm -rf zlib-1.2.1 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/zlib-1.2.1.tar.bz2 pushd zlib-1.2.1 ./configure --prefix=/usr make sudo make install make clean ./configure --prefix=/usr --shared make sudo make install sudo cp -va /usr/lib/libz.so* /lib sudo ldconfig || true popd rm -rf zlib-1.2.1
zlib-1.2.1.tar.bz2### Selected by any of options zlib or all wget http://www.zlib.net/zlib-1.2.1.tar.bz2 md5sum zlib-1.2.1.tar.bz2 echo '8106069990476a3c5187301465bd7a60 zlib-1.2.1.tar.bz2' | md5sum -c
zlib### Selected by any of options zlib or all
### Distpoint: zlib
# Filter
s/.*href="[^"]*\/(zlib-[^"]*\.tar\.bz2)".*/\1/ip
zlib### Selected by any of options zlib or all ### URL: http://www.gzip.org/zlib/ ### Depth: 1
enscript Packagehome: http://www.iki.fi/mtr/genscript/
fm: http://freshmeat.net/projects/enscript/
News### Selected by any of options enscript or all rm -rf enscript-1.6.4 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/enscript-1.6.4.tar.bz2 pushd enscript-1.6.4 ./configure --prefix=/usr --with-media=Letter make sudo make install popd rm -rf enscript-1.6.4
enscript-1.6.4.tar.bz2### Selected by any of options enscript or all wget http://www.iki.fi/mtr/genscript/enscript-1.6.4.tar.gz md5sum enscript-1.6.4.tar.gz echo 'b5174b59e4a050fb462af5dbf28ebba3 enscript-1.6.4.tar.gz' | md5sum -c gunzip enscript-1.6.4.tar.gz bzip2 enscript-1.6.4.tar
enscript### Selected by any of options enscript or all
### Distpoint: enscript
# Filter
s/.*href="([^\/]*\/)*(enscript-[^"]*\.tar\.(gz|bz2))".*/\2/ip
enscript### Selected by any of options enscript or all ### URL: http://people.ssh.fi/mtr/genscript/ ### Depth: 1
freetype2 Packagehome: http://www.freetype.org/
fm: http://freshmeat.net/projects/freetype/
Freetype-2.1.7 through 2.1.8 are out but they breaks many builds with a weird header inclusion requirement. Will wait for more updates in other packages.
News### Selected by any of options freetype2 or all
rm -rf freetype-2.1.5
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/freetype-2.1.5.tar.bz2
pushd freetype-2.1.5
# keithp says the bytecode interpreter is needed if using sup-pixel
pushd include/freetype/config/
cp ftoption.h ftoption.h.orig
sed 's/.*\(#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER\).*/\1/' \
ftoption.h.orig >ftoption.h
diff -u ftoption.h.orig ftoption.h && exit 1 || true
popd
./configure --prefix=/usr
make
sudo make install
popd
rm -rf freetype-2.1.5
freetype-2.1.5.tar.bz2### Selected by any of options freetype2 or all wget http://unc.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.5.tar.bz2 md5sum freetype-2.1.5.tar.bz2 echo '54537b518b84d04190a1eccd393a29df freetype-2.1.5.tar.bz2' | md5sum -c
freetype2### Selected by any of options freetype2 or all
### Distpoint: freetype
# Prefilter
s/<a/\n\0/igp
# Filter
s/.*href="([^"\/]*\/)*(freetype-[^"\/]*\.tar\.bz2)\?download".*/\2/i
T
/^freetype-1\./b
p
imlib2 Packagehome: http://www.enlightenment.org/pages/imlib2.html
fm: http://freshmeat.net/projects/imlib2/
### Selected by any of options imlib2 or all rm -rf imlib2-1.1.0 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/imlib2-1.1.0.tar.bz2 pushd imlib2-1.1.0 ./configure --prefix=/usr make sudo make install popd rm -rf imlib2-1.1.0
imlib2-1.1.0.tar.bz2### Selected by any of options imlib2 or all wget http://unc.dl.sourceforge.net/sourceforge/enlightenment/imlib2-1.1.0.tar.gz md5sum imlib2-1.1.0.tar.gz # echo '' | md5sum -c gunzip imlib2-1.1.0.tar.gz bzip2 imlib2-1.1.0.tar
imlib2### Selected by any of options imlib2 or all
### Distpoint: imlib2
# Prefilter
s/<a/\n\0/igp
# Filter
s/.*href="([^"\/]*\/)*(imlib2-[^"\/]*\.tar\.(gz|bz2))\?download".*/\2/ip
imlib2### Selected by any of options imlib2 or all ### URL: http://sourceforge.net/project/showfiles.php?group_id=2 ### Depth: 1
libraw1394 Packagehome: http://www.linux1394.org/
fm: http://freshmeat.net/projects/libraw1394/
The NEWS file wasn't updated for version 0.10.1.
News### Selected by any of options libraw1394 or all rm -rf libraw1394-0.10.1 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/libraw1394-0.10.1.tar.bz2 pushd libraw1394-0.10.1 ./configure --prefix=/usr make sudo make install popd rm -rf libraw1394-0.10.1
libraw1394-0.10.1.tar.bz2### Selected by any of options libraw1394 or all wget http://www.linux1394.org/files/libraw1394/libraw1394-0.10.1.tar.bz2 md5sum libraw1394-0.10.1.tar.bz2 echo '7fe835b825d3c1d17b09a882d3c3da87 libraw1394-0.10.1.tar.bz2' | md5sum -c
libraw1394### Selected by any of options libraw1394 or all
### Distpoint: libraw1394
# Filter
s/.*href="([^"]*\.tar\.bz2)".*/\1/ip
libraw1394### Selected by any of options libraw1394 or all ### URL: http://www.linux1394.org/files/libraw1394/ ### Depth: 1
libdc1394 Packagehome: http://sourceforge.net/projects/libdc1394/
fm: http://freshmeat.net/projects/1394-baseddigitalcameracontrollibrary/
News### Selected by any of options libdc1394 or all rm -rf libdc1394-0.9.3 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/libdc1394-0.9.3.tar.bz2 pushd libdc1394-0.9.3 patch -p0 -i "$OAKHEART_IPWD"/libdc1394-0.9.3-c89.patch ./configure --prefix=/usr make sudo make install popd rm -rf libdc1394-0.9.3
libdc1394-0.9.3.tar.bz2### Selected by any of options libdc1394 or all wget http://unc.dl.sourceforge.net/sourceforge/libdc1394/libdc1394-0.9.3.tar.gz md5sum libdc1394-0.9.3.tar.gz echo 'c6461e1d354240bc49a931d8b7440bd6 libdc1394-0.9.3.tar.gz' | md5sum -c gunzip libdc1394-0.9.3.tar.gz bzip2 libdc1394-0.9.3.tar
Fix for C89 compliance. Has been reported upstream, see http://sourceforge.net/tracker/index.php?func=detail&atid=108157&aid=902810&group_id=8157.
libdc1394-0.9.3-c89.patch### Selected by any of options libdc1394 or all wget http://www.sethwklein.net/projects/oakheart/downloads/libdc1394-0.9.3-c89.patch md5sum libdc1394-0.9.3-c89.patch echo '71dc32a8eae00ab10c17c8e090f17814 libdc1394-0.9.3-c89.patch' | md5sum -c
libdc1394### Selected by any of options libdc1394 or all
### Distpoint: libdc1394
# Prefilter
s/<a/\n\0/igp
# Filter
s/.*href="([^"\/]*\/)*([^"\/]*\.tar\.(gz|bz2))\?download".*/\2/ip
libdc1394### Selected by any of options libdc1394 or all ### URL: http://sourceforge.net/project/showfiles.php?group_id=8157 ### Depth: 1
libpcap Packagehome: http://www.tcpdump.org/
fm: http://freshmeat.net/projects/libpcap/
News### Selected by any of options libpcap or all rm -rf libpcap-0.8.3 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/libpcap-0.8.3.tar.bz2 pushd libpcap-0.8.3 ./configure --prefix=/usr make sudo make install # ppp needs a net/bpf.h and this one seems to work sudo install -d /usr/include/net sudo ln -sf ../pcap-bpf.h /usr/include/net/bpf.h popd rm -rf libpcap-0.8.3
libpcap-0.8.3.tar.bz2### Selected by any of options libpcap or all wget http://www.tcpdump.org/release/libpcap-0.8.3.tar.gz md5sum libpcap-0.8.3.tar.gz echo '56a9d4615d8354fcfe8cff8c8443c77b libpcap-0.8.3.tar.gz' | md5sum -c gunzip libpcap-0.8.3.tar.gz bzip2 libpcap-0.8.3.tar
libpcap### Selected by any of options libpcap or all
### Distpoint: libpcap
# Filter
s/.*href="(libpcap-[^"]*\.tar\.(gz|bz2))".*/\1/ip
libpcap### Selected by any of options libpcap or all ### URL: http://www.tcpdump.org/release/ ### Depth: 1
libxml Packagehome: http://xmlsoft.org/
fm: http://freshmeat.net/projects/libxml/
News### Selected by any of options libxml or all rm -rf libxml2-2.6.13 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/libxml2-2.6.13.tar.bz2 pushd libxml2-2.6.13 ./configure --prefix=/usr --with-history make sudo make install popd rm -rf libxml2-2.6.13
libxml2-2.6.13.tar.bz2### Selected by any of options libxml or all wget ftp://xmlsoft.org/libxml2-2.6.13.tar.gz md5sum libxml2-2.6.13.tar.gz echo '23e9a2cfcd700fd4ff70996fd7c632c0 libxml2-2.6.13.tar.gz' | md5sum -c gunzip libxml2-2.6.13.tar.gz bzip2 libxml2-2.6.13.tar
libxml### Selected by any of options libxml or all
### Distpoint: libxml
# Filter
s/.*href="(libxml2-[^"]*\.tar\.(gz|bz2))".*/\1/ip
libxml### Selected by any of options libxml, libxslt or all ### URL: ftp://xmlsoft.org/ ### Depth: 1
libxslt Packagehome: http://xmlsoft.org/XSLT/
fm: http://freshmeat.net/projects/libxslt/
News### Selected by any of options libxslt or all rm -rf libxslt-1.1.10 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/libxslt-1.1.10.tar.bz2 pushd libxslt-1.1.10 ./configure --prefix=/usr make sudo make install popd rm -rf libxslt-1.1.10
libxslt-1.1.10.tar.bz2### Selected by any of options libxslt or all wget ftp://xmlsoft.org/libxslt-1.1.10.tar.gz md5sum libxslt-1.1.10.tar.gz echo '9839e6a309c7c97ffd260c8a2aa03cf5 libxslt-1.1.10.tar.gz' | md5sum -c gunzip libxslt-1.1.10.tar.gz bzip2 libxslt-1.1.10.tar
libxslt### Selected by any of options libxslt or all
### Distpoint: libxml
# Filter
s/.*href="(libxslt-[^"]*\.tar\.(gz|bz2))".*/\1/ip
mktemp Packagehome: http://www.mktemp.org/mktemp/
fm: http://freshmeat.net/projects/mktemp/
News### Selected by any of options mktemp or all rm -rf mktemp-1.5 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/mktemp-1.5.tar.bz2 pushd mktemp-1.5 ./configure --prefix=/usr --with-libc make sudo make install popd rm -rf mktemp-1.5
mktemp-1.5.tar.bz2### Selected by any of options mktemp or all wget ftp://ftp.mktemp.org/pub/mktemp/mktemp-1.5.tar.gz md5sum mktemp-1.5.tar.gz # echo '' | md5sum -c gunzip mktemp-1.5.tar.gz bzip2 mktemp-1.5.tar
mktemp### Selected by any of options mktemp or all
### Distpoint: mktemp
# Filter
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
mktemp### Selected by any of options mktemp or all ### URL: http://www.mktemp.org/dist/ ### Depth: 1
pango Packagehome: http://www.pango.org/
fm: http://freshmeat.net/projects/pango/
News### Selected by any of options pango or all
rm -rf pango-1.2.5
tar --no-same-owner -xvjf "$OAKHEART_IPWD"/pango-1.2.5.tar.bz2
pushd pango-1.2.5
PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig \
./configure --prefix=/usr
make
sudo make install
popd
rm -rf pango-1.2.5
pango-1.2.5.tar.bz2### Selected by any of options pango or all wget ftp://ftp.gtk.org/pub/gtk/v2.2/pango-1.2.5.tar.bz2 md5sum pango-1.2.5.tar.bz2 echo 'df00fe3e71cd297010f24f439b6c8ee6 pango-1.2.5.tar.bz2' | md5sum -c
pango### Selected by any of options pango or all
### Distpoint: gtk
# Filter
s/.*href="(pango-[^"]*\.tar\.bz2)".*/\1/ip
python Packagehome: http://www.python.org/
fm: http://freshmeat.net/projects/python/
### Selected by any of options python or all rm -rf Python-2.3.4 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/Python-2.3.4.tar.bz2 pushd Python-2.3.4 ./configure --prefix=/usr make sudo make install popd rm -rf Python-2.3.4
Python-2.3.4.tar.bz2### Selected by any of options python or all wget http://www.python.org/ftp/python/2.3.4/Python-2.3.4.tgz md5sum Python-2.3.4.tgz echo 'b6cf0b19226861a38689d2fabd0931b3 Python-2.3.4.tgz' | md5sum -c gunzip Python-2.3.4.tgz bzip2 Python-2.3.4.tar
python### Selected by any of options python or all
### Distpoint: python
# Filter
s/.*href="([Pp]ython-[^"]+\.tar\.bz2)".*/\1/ip
python### Selected by any of options python or all ### URL: http://www.python.org/ftp/python/ ### Depth: 2 # Filter s/.*<base[ \t]+href="([^"]*)">.*/\1/i T notbase x b :notbase s/.*href="([0-9]+(\.[0-9]+)+\/)".*/\1/i T G s/(.*)\n(.*)/\2\1/p
sdl Packagehome: http://www.libsdl.org/
fm: http://freshmeat.net/projects/sdl/
NewsSDL works with no dependencies except the framebuffer console but uses many more if it finds them.
### Selected by any of options sdl or all rm -rf SDL-1.2.7 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/SDL-1.2.7.tar.bz2 pushd SDL-1.2.7 ./configure --prefix=/usr make sudo make install popd rm -rf SDL-1.2.7
SDL-1.2.7.tar.bz2### Selected by any of options sdl or all wget http://www.libsdl.org/release/SDL-1.2.7.tar.gz md5sum SDL-1.2.7.tar.gz # echo '' | md5sum -c gunzip SDL-1.2.7.tar.gz bzip2 SDL-1.2.7.tar
sdl### Selected by any of options sdl or all
### Distpoint: sdl
# Filter
/<img /b
s/.*href='(SDL-[0-9.]+\.tar\.(gz|bz2))'.*/\1/ip
sdl### Selected by any of options sdl or all ### URL: http://www.libsdl.org/release/ ### Depth: 1
sdl_image Packagehome: http://www.libsdl.org/projects/SDL_image/
fm: http://freshmeat.net/projects/sdl_image/
### Selected by any of options sdl_image or all rm -rf SDL_image-1.2.3 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/SDL_image-1.2.3.tar.bz2 pushd SDL_image-1.2.3 ./configure --prefix=/usr make sudo make install popd rm -rf SDL_image-1.2.3
SDL_image-1.2.3.tar.bz2### Selected by any of options sdl_image or all wget http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.3.tar.gz md5sum SDL_image-1.2.3.tar.gz # echo '' | md5sum -c gunzip SDL_image-1.2.3.tar.gz bzip2 SDL_image-1.2.3.tar
sdl_image### Selected by any of options sdl_image or all
### Distpoint: sdl_image
# Filter
/<img /b
s/.*href='(SDL_image-[0-9.]+\.tar\.(gz|bz2))'.*/\1/ip
sdl_image### Selected by any of options sdl_image or all ### URL: http://www.libsdl.org/projects/SDL_image/release/ ### Depth: 1
sdl_mixer Packagehome: http://www.libsdl.org/projects/SDL_mixer/
fm: http://freshmeat.net/projects/sdl_mixer/
News### Selected by any of options sdl_mixer or all rm -rf SDL_mixer-1.2.5 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/SDL_mixer-1.2.5.tar.bz2 pushd SDL_mixer-1.2.5 ./configure --prefix=/usr make sudo make install popd rm -rf SDL_mixer-1.2.5
SDL_mixer-1.2.5.tar.bz2### Selected by any of options sdl_mixer or all wget http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.5.tar.gz md5sum SDL_mixer-1.2.5.tar.gz # echo '' | md5sum -c gunzip SDL_mixer-1.2.5.tar.gz bzip2 SDL_mixer-1.2.5.tar
sdl_mixer### Selected by any of options sdl_mixer or all
### Distpoint: sdl_mixer
# Filter
/<img /b
s/.*href='(SDL_mixer-[0-9.]+\.tar\.(gz|bz2))'.*/\1/ip
sdl_mixer### Selected by any of options sdl_mixer or all ### URL: http://www.libsdl.org/projects/SDL_mixer/release/ ### Depth: 1
sdl_net Packagehome: http://www.libsdl.org/projects/SDL_net/
fm: http://freshmeat.net/projects/sdl_net/
### Selected by any of options sdl_net or all rm -rf SDL_net-1.2.5 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/SDL_net-1.2.5.tar.bz2 pushd SDL_net-1.2.5 ./configure --prefix=/usr make sudo make install popd rm -rf SDL_net-1.2.5
SDL_net-1.2.5.tar.bz2### Selected by any of options sdl_net or all wget http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.5.tar.gz md5sum SDL_net-1.2.5.tar.gz # echo '' | md5sum -c gunzip SDL_net-1.2.5.tar.gz bzip2 SDL_net-1.2.5.tar
sdl_net### Selected by any of options sdl_net or all
### Distpoint: sdl_net
# Filter
/<img /b
s/.*href='(SDL_net-[0-9.]+\.tar\.(gz|bz2))'.*/\1/ip
sdl_net### Selected by any of options sdl_net or all ### URL: http://www.libsdl.org/projects/SDL_net/release/ ### Depth: 1
sdl_ttf Packagehome: http://www.libsdl.org/projects/SDL_ttf/
fm: http://freshmeat.net/projects/sdl_ttf/
### Selected by any of options sdl_ttf or all rm -rf SDL_ttf-2.0.3 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/SDL_ttf-2.0.3.tar.bz2 pushd SDL_ttf-2.0.3 ./configure --prefix=/usr make sudo make install popd rm -rf SDL_ttf-2.0.3
SDL_ttf-2.0.3.tar.bz2### Selected by any of options sdl_ttf or all wget http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.3.tar.gz md5sum SDL_ttf-2.0.3.tar.gz # echo '' | md5sum -c gunzip SDL_ttf-2.0.3.tar.gz bzip2 SDL_ttf-2.0.3.tar
sdl_ttf### Selected by any of options sdl_ttf or all
### Distpoint: sdl_ttf
# Filter
/<img /b
s/.*href='(SDL_ttf-[0-9.]+\.tar\.(gz|bz2))'.*/\1/ip
sdl_ttf### Selected by any of options sdl_ttf or all ### URL: http://www.libsdl.org/projects/SDL_ttf/release/ ### Depth: 1
wget Packagehome: http://wget.sunsite.dk/
fm: http://freshmeat.net/projects/wget/
News### Selected by any of options wget or all rm -rf wget-1.9.1 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/wget-1.9.1.tar.bz2 pushd wget-1.9.1 ./configure --prefix=/usr make sudo make install popd rm -rf wget-1.9.1
wget-1.9.1.tar.bz2### Selected by any of options wget or all wget http://ftp.gnu.org/gnu/wget/wget-1.9.1.tar.gz md5sum wget-1.9.1.tar.gz echo 'e6051f1e1487ec0ebfdbda72bedc70ad wget-1.9.1.tar.gz' | md5sum -c gunzip wget-1.9.1.tar.gz bzip2 wget-1.9.1.tar
wget### Selected by any of options wget or all
### Distpoint: wget
# Filter
s/.*href="([^"]*\.tar\.(gz|bz2))".*/\1/ip
wget### Selected by any of options wget or all ### URL: http://ftp.gnu.org/gnu/wget/ ### Depth: 1
zip Packagehome: http://www.info-zip.org/pub/infozip/Zip.html
fm: http://freshmeat.net/projects/zip/
News### Selected by any of options zip or all rm -rf zip-2.3 tar --no-same-owner -xvjf "$OAKHEART_IPWD"/zip23.tar.bz2 pushd zip-2.3 ln -s unix/Makefile make generic_gcc sudo make install popd rm -rf zip-2.3
zip23.tar.bz2### Selected by any of options zip or all wget ftp://ftp.info-zip.org/pub/infozip/src/zip23.tar.gz md5sum zip23.tar.gz # echo '' | md5sum -c gunzip zip23.tar.gz bzip2 zip23.tar
zip### Selected by any of options zip or all
### Distpoint: zip
# Filter
s/.*href="(zip[^"]*\.tar\.(gz|bz2))".*/\1/ip
zip### Selected by any of options zip or all ### URL: ftp://ftp.info-zip.org/pub/infozip/src/ ### Depth: 1