updated
This commit is contained in:
parent
54cc3bca2b
commit
a28eebe0d8
144 changed files with 5984 additions and 0 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
*.iso
|
||||||
|
toolchain/log
|
||||||
|
toolchain/src
|
25
01-toolchain
Executable file
25
01-toolchain
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
source $(dirname $0)/toolchain/functions
|
||||||
|
|
||||||
|
for script in $(ls toolchain | grep ^[0-9]); do
|
||||||
|
if [ "$1" = "fetch" ]; then
|
||||||
|
$(dirname $0)/toolchain/$script "$1"
|
||||||
|
elif [ -f /tools/"$script" ]; then
|
||||||
|
echo "--- $script skipped ---"
|
||||||
|
else
|
||||||
|
echo "*** $script ***"
|
||||||
|
$(dirname $0)/toolchain/$script
|
||||||
|
echo; echo "*** $script done ***"; echo
|
||||||
|
[ "$1" = $(echo $script | cut -d - -f1) ] && exit
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
[ "$1" = "fetch" ] && exit 0
|
||||||
|
|
||||||
|
sudo chown -Rv 0:0 $LFS
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "**************************************************"
|
||||||
|
echo "********* Toolchain build complete *********"
|
||||||
|
echo "**************************************************"
|
194
02-lfs-base
Executable file
194
02-lfs-base
Executable file
|
@ -0,0 +1,194 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
LFS=/mnt/lfs
|
||||||
|
|
||||||
|
lfs_dirs() {
|
||||||
|
mkdir -pv $LFS/{dev,proc,sys,run}
|
||||||
|
mknod -m 600 $LFS/dev/console c 5 1
|
||||||
|
mknod -m 666 $LFS/dev/null c 1 3
|
||||||
|
|
||||||
|
mkdir -pv $LFS/{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt}
|
||||||
|
mkdir -pv $LFS/{media/{floppy,cdrom},sbin,srv,var}
|
||||||
|
install -dv -m 0750 $LFS/root
|
||||||
|
install -dv -m 1777 $LFS/tmp $LFS/var/tmp
|
||||||
|
mkdir -pv $LFS/usr/{,local/}{bin,include,lib,sbin,src}
|
||||||
|
mkdir -pv $LFS/usr/{,local/}share/{color,dict,doc,info,locale,man}
|
||||||
|
mkdir -v $LFS/usr/{,local/}share/{misc,terminfo,zoneinfo}
|
||||||
|
mkdir -v $LFS/usr/libexec
|
||||||
|
mkdir -pv $LFS/usr/{,local/}share/man/man{1..8}
|
||||||
|
|
||||||
|
case $(uname -m) in
|
||||||
|
x86_64) mkdir -v $LFS/lib64 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
mkdir -v $LFS/var/{log,mail,spool}
|
||||||
|
ln -sv /run $LFS/var/run
|
||||||
|
ln -sv /run/lock $LFS/var/lock
|
||||||
|
mkdir -pv $LFS/var/{opt,cache,lib/{color,misc,locate},local}
|
||||||
|
|
||||||
|
ln -sv /tools/bin/{bash,cat,dd,echo,ln,pwd,rm,stty} $LFS/bin
|
||||||
|
ln -sv /tools/bin/{env,install,perl} $LFS/usr/bin
|
||||||
|
ln -sv /tools/lib/libgcc_s.so{,.1} $LFS/usr/lib
|
||||||
|
ln -sv /tools/lib/libstdc++.{a,so{,.6}} $LFS/usr/lib
|
||||||
|
for lib in blkid lzma mount uuid
|
||||||
|
do
|
||||||
|
ln -sv /tools/lib/lib$lib.so* $LFS/usr/lib
|
||||||
|
done
|
||||||
|
ln -svf /tools/include/blkid $LFS/usr/include
|
||||||
|
ln -svf /tools/include/libmount $LFS/usr/include
|
||||||
|
ln -svf /tools/include/uuid $LFS/usr/include
|
||||||
|
install -vdm755 $LFS/usr/lib/pkgconfig
|
||||||
|
for pc in blkid mount uuid
|
||||||
|
do
|
||||||
|
sed 's@tools@usr@g' /tools/lib/pkgconfig/${pc}.pc \
|
||||||
|
> $LFS/usr/lib/pkgconfig/${pc}.pc
|
||||||
|
done
|
||||||
|
ln -sv bash $LFS/bin/sh
|
||||||
|
|
||||||
|
ln -sv /proc/self/mounts $LFS/etc/mtab
|
||||||
|
|
||||||
|
cat > $LFS/etc/passwd << "EOF"
|
||||||
|
root:x:0:0:root:/root:/bin/bash
|
||||||
|
bin:x:1:1:bin:/dev/null:/bin/false
|
||||||
|
daemon:x:6:6:Daemon User:/dev/null:/bin/false
|
||||||
|
messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false
|
||||||
|
nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > $LFS/etc/group << "EOF"
|
||||||
|
root:x:0:
|
||||||
|
bin:x:1:daemon
|
||||||
|
sys:x:2:
|
||||||
|
kmem:x:3:
|
||||||
|
tape:x:4:
|
||||||
|
tty: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:
|
||||||
|
adm:x:16:
|
||||||
|
messagebus:x:18:
|
||||||
|
systemd-journal:x:23:
|
||||||
|
input:x:24:
|
||||||
|
mail:x:34:
|
||||||
|
nogroup:x:99:
|
||||||
|
users:x:999:
|
||||||
|
EOF
|
||||||
|
|
||||||
|
touch $LFS/var/log/{btmp,lastlog,faillog,wtmp}
|
||||||
|
chgrp -v utmp $LFS/var/log/lastlog
|
||||||
|
chmod -v 664 $LFS/var/log/lastlog
|
||||||
|
chmod -v 600 $LFS/var/log/btmp
|
||||||
|
|
||||||
|
mkdir -p $LFS/etc/pkg $LFS/var/lib/pkg $LFS/var/lib/pkg/sources $LFS/usr/pkgscripts
|
||||||
|
touch $LFS/var/lib/pkg/db
|
||||||
|
[ -d toolchain/src ] && cp -Rv toolchain/src/* $LFS/var/lib/pkg/sources
|
||||||
|
}
|
||||||
|
|
||||||
|
mount_pseudo() {
|
||||||
|
mount --bind /dev $LFS/dev
|
||||||
|
mount -t devpts devpts $LFS/dev/pts -o gid=5,mode=620
|
||||||
|
mount -t proc proc $LFS/proc
|
||||||
|
mount -t sysfs sysfs $LFS/sys
|
||||||
|
mount -t tmpfs tmpfs $LFS/run
|
||||||
|
if [ -h $LFS/dev/shm ]; then
|
||||||
|
mkdir -p $LFS/$(readlink $LFS/dev/shm)
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
umount_pseudo() {
|
||||||
|
umount $LFS/dev/pts
|
||||||
|
umount $LFS/dev
|
||||||
|
umount $LFS/run
|
||||||
|
umount $LFS/proc
|
||||||
|
umount $LFS/sys
|
||||||
|
}
|
||||||
|
|
||||||
|
runchroot() {
|
||||||
|
pushd $LFS &>/dev/null
|
||||||
|
mount_pseudo
|
||||||
|
cp -L /etc/resolv.conf $LFS/etc/
|
||||||
|
chroot "$LFS" /usr/bin/env -i \
|
||||||
|
HOME=/root TERM="$TERM" \
|
||||||
|
PS1='(lfs chroot) \u:\w\$ ' \
|
||||||
|
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
|
||||||
|
/bin/bash $@
|
||||||
|
retval=$?
|
||||||
|
umount_pseudo
|
||||||
|
popd &>/dev/null
|
||||||
|
return $retval
|
||||||
|
}
|
||||||
|
|
||||||
|
runinchroot() {
|
||||||
|
pushd $LFS &>/dev/null
|
||||||
|
mount_pseudo
|
||||||
|
cp -L /etc/resolv.conf $LFS/etc/
|
||||||
|
chroot "$LFS" /tools/bin/env -i \
|
||||||
|
HOME=/root \
|
||||||
|
TERM="$TERM" \
|
||||||
|
PS1='(lfs chroot) \u:\w\$ ' \
|
||||||
|
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
|
||||||
|
/tools/bin/bash $@
|
||||||
|
retval=$?
|
||||||
|
umount_pseudo
|
||||||
|
popd &>/dev/null
|
||||||
|
return $retval
|
||||||
|
}
|
||||||
|
|
||||||
|
interrupted() {
|
||||||
|
die "Abort by user."
|
||||||
|
}
|
||||||
|
|
||||||
|
die() {
|
||||||
|
[ "$@" ] && printerror $@
|
||||||
|
umount_pseudo
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
printerror() {
|
||||||
|
echo -e "ERROR: $@"
|
||||||
|
}
|
||||||
|
|
||||||
|
trap "interrupted" SIGHUP SIGINT SIGQUIT SIGTERM
|
||||||
|
|
||||||
|
PKGS="linux-api-headers man-pages glibc zlib file readline m4 bc binutils gmp mpfr mpc shadow gcc bzip2
|
||||||
|
pkg-config ncurses attr acl libcap sed psmisc iana-etc bison flex grep bash libtool gdbm gperf expat inetutils perl perl-xml-parser
|
||||||
|
intltool autoconf automake xz kmod gettext libelf libffi openssl python3 ninja meson procps-ng e2fsprogs coreutils check diffutils
|
||||||
|
gawk findutils groff grub less gzip iproute2 kbd libpipeline make patch sysklogd sysvinit eudev util-linux man-db tar texinfo vim
|
||||||
|
cpio mkinitramfs linux lfs-bootscripts lfs-files libtasn1 p11-kit make-ca wget"
|
||||||
|
|
||||||
|
EXTRA_PKGS="dhcpcd libnl wpa_supplicant"
|
||||||
|
|
||||||
|
if [ ! -f $LFS/var/lib/pkg/db ]; then
|
||||||
|
lfs_dirs
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp lfs/pkgscripts/* $LFS/usr/pkgscripts/
|
||||||
|
cp lfs/functions $LFS/var/lib/pkg/
|
||||||
|
cp lfs/pkg.conf $LFS/etc/pkg/
|
||||||
|
|
||||||
|
for i in $PKGS; do
|
||||||
|
if [[ $(grep "^$i " $LFS/var/lib/pkg/db) ]]; then
|
||||||
|
echo "--- $i skipped ---"
|
||||||
|
else
|
||||||
|
echo "*** $i ***"
|
||||||
|
runinchroot /usr/pkgscripts/$i || die "$i build error!"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in $EXTRA_PKGS; do
|
||||||
|
if [[ $(grep "^$i " $LFS/var/lib/pkg/db) ]]; then
|
||||||
|
echo "--- $i skipped ---"
|
||||||
|
else
|
||||||
|
echo "*** $i ***"
|
||||||
|
runchroot /usr/pkgscripts/$i || die "$i build error!"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
exit 0
|
54
03-mklfsiso
Executable file
54
03-mklfsiso
Executable file
|
@ -0,0 +1,54 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
trap "exit 1" SIGHUP SIGINT SIGQUIT SIGTERM
|
||||||
|
|
||||||
|
LFSVERSIOM=8.3
|
||||||
|
|
||||||
|
CWD=$PWD
|
||||||
|
WDIR=/tmp/lfsiso
|
||||||
|
ISOLINUXDIR=$CWD/livecd/isolinux
|
||||||
|
DISTRONAME="LFS"
|
||||||
|
LABEL=LfsLiveCD
|
||||||
|
LFS=/mnt/lfs
|
||||||
|
OUTPUT=lfs-$LFSVERSIOM-livecd.iso
|
||||||
|
|
||||||
|
isolinux_files="chain.c32 isolinux.bin ldlinux.c32 libutil.c32 reboot.c32 menu.c32
|
||||||
|
isohdpfx.bin isolinux.cfg libcom32.c32 poweroff.c32"
|
||||||
|
|
||||||
|
rm -fr $WDIR
|
||||||
|
mkdir -p $WDIR
|
||||||
|
|
||||||
|
# prepare isolinux in working dir
|
||||||
|
mkdir -p $WDIR/{filesystem,isolinux,boot}
|
||||||
|
for file in $isolinux_files; do
|
||||||
|
cp $ISOLINUXDIR/$file $WDIR/isolinux
|
||||||
|
done
|
||||||
|
echo "$DISTRONAME" > $WDIR/isolinux/venomlive
|
||||||
|
[ -d livecd/virootfs ] && cp -aR livecd/virootfs $WDIR
|
||||||
|
|
||||||
|
cp $LFS/boot/vmlinuz-*-lfs $WDIR/boot/vmlinuz
|
||||||
|
cp $LFS/boot/initrd-*-lfs.img $WDIR/boot/initrd
|
||||||
|
|
||||||
|
mksquashfs $LFS $WDIR/filesystem/root.sfs \
|
||||||
|
-b 1048576 -comp xz -Xdict-size 100% \
|
||||||
|
-e $LFS/tools/ \
|
||||||
|
-e $LFS/var/lib/pkg/sources/* \
|
||||||
|
-e $LFS/var/lib/pkg/work/* \
|
||||||
|
-e $LFS/tmp/*
|
||||||
|
|
||||||
|
rm -f $OUTPUT
|
||||||
|
xorriso -as mkisofs \
|
||||||
|
-r -J -joliet-long \
|
||||||
|
-l -cache-inodes \
|
||||||
|
-isohybrid-mbr $ISOLINUXDIR/isohdpfx.bin \
|
||||||
|
-partition_offset 16 \
|
||||||
|
-volid "$LABEL" \
|
||||||
|
-b isolinux/isolinux.bin \
|
||||||
|
-c isolinux/boot.cat \
|
||||||
|
-no-emul-boot \
|
||||||
|
-boot-load-size 4 \
|
||||||
|
-boot-info-table \
|
||||||
|
-o $OUTPUT \
|
||||||
|
$WDIR
|
||||||
|
|
||||||
|
rm -fr $WDIR
|
30
lfs/functions
Executable file
30
lfs/functions
Executable file
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
mkdir -p $SOURCE_DIR $WORK_DIR $LOG_DIR
|
||||||
|
touch /var/lib/pkg/db
|
||||||
|
|
||||||
|
export CFLAGS CXXFLAGS MAKEFLAGS
|
||||||
|
|
||||||
|
fetch() {
|
||||||
|
filename=$(basename $1)
|
||||||
|
if [ -f $SOURCE_DIR/$filename ]; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
if [ -f $SOURCE_DIR/$filename.part ]; then
|
||||||
|
wget -c --output-document=$SOURCE_DIR/$filename.part $1
|
||||||
|
else
|
||||||
|
wget --output-document=$SOURCE_DIR/$filename.part $1
|
||||||
|
fi
|
||||||
|
if [ $? = 0 ]; then
|
||||||
|
mv $SOURCE_DIR/$filename.part $SOURCE_DIR/$filename
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
registerpkg() {
|
||||||
|
sed "/^$1 /d" -i /var/lib/pkg/db
|
||||||
|
echo "$1 $2" >> /var/lib/pkg/db
|
||||||
|
echo "::: $1 $2 installed :::"
|
||||||
|
}
|
7
lfs/pkg.conf
Executable file
7
lfs/pkg.conf
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
CFLAGS="-O2 -march=x86-64 -pipe"
|
||||||
|
CXXFLAGS="${CFLAGS}"
|
||||||
|
MAKEFLAGS="-j$(nproc)"
|
||||||
|
|
||||||
|
SOURCE_DIR="/var/lib/pkg/sources"
|
||||||
|
WORK_DIR="/var/lib/pkg/work"
|
||||||
|
LOG_DIR="/var/lib/pkg/log"
|
38
lfs/pkgscripts/acl
Executable file
38
lfs/pkgscripts/acl
Executable file
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.2.53
|
||||||
|
url=http://download.savannah.gnu.org/releases/acl/acl-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--bindir=/bin \
|
||||||
|
--disable-static \
|
||||||
|
--libexecdir=/usr/lib \
|
||||||
|
--docdir=/usr/share/doc/acl-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
mv -v /usr/lib/libacl.so.* /lib
|
||||||
|
ln -sfv ../../lib/$(readlink /usr/lib/libacl.so) /usr/lib/libacl.so
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
38
lfs/pkgscripts/attr
Executable file
38
lfs/pkgscripts/attr
Executable file
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.4.48
|
||||||
|
url=http://download.savannah.gnu.org/releases/attr/attr-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--bindir=/bin \
|
||||||
|
--disable-static \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--docdir=/usr/share/doc/attr-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
mv -v /usr/lib/libattr.so.* /lib
|
||||||
|
ln -sfv ../../lib/$(readlink /usr/lib/libattr.so) /usr/lib/libattr.so
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/autoconf
Executable file
32
lfs/pkgscripts/autoconf
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.69
|
||||||
|
url=http://ftp.gnu.org/gnu/autoconf/autoconf-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/automake
Executable file
32
lfs/pkgscripts/automake
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.16.1
|
||||||
|
url=http://ftp.gnu.org/gnu/automake/automake-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr --docdir=/usr/share/doc/automake-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
87
lfs/pkgscripts/base-lfs
Executable file
87
lfs/pkgscripts/base-lfs
Executable file
|
@ -0,0 +1,87 @@
|
||||||
|
#!/tools/bin/bash -e
|
||||||
|
|
||||||
|
#. /etc/pkg/pkg.conf
|
||||||
|
#. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt}
|
||||||
|
mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
|
||||||
|
install -dv -m 0750 /root
|
||||||
|
install -dv -m 1777 /tmp /var/tmp
|
||||||
|
mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
|
||||||
|
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
|
||||||
|
mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo}
|
||||||
|
mkdir -v /usr/libexec
|
||||||
|
mkdir -pv /usr/{,local/}share/man/man{1..8}
|
||||||
|
|
||||||
|
case $(uname -m) in
|
||||||
|
x86_64) mkdir -v /lib64 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
mkdir -v /var/{log,mail,spool}
|
||||||
|
ln -sv /run /var/run
|
||||||
|
ln -sv /run/lock /var/lock
|
||||||
|
mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}
|
||||||
|
|
||||||
|
|
||||||
|
ln -sv /tools/bin/{bash,cat,dd,echo,ln,pwd,rm,stty} /bin
|
||||||
|
ln -sv /tools/bin/{env,install,perl} /usr/bin
|
||||||
|
ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
|
||||||
|
ln -sv /tools/lib/libstdc++.{a,so{,.6}} /usr/lib
|
||||||
|
for lib in blkid lzma mount uuid
|
||||||
|
do
|
||||||
|
ln -sv /tools/lib/lib$lib.so* /usr/lib
|
||||||
|
done
|
||||||
|
ln -svf /tools/include/blkid /usr/include
|
||||||
|
ln -svf /tools/include/libmount /usr/include
|
||||||
|
ln -svf /tools/include/uuid /usr/include
|
||||||
|
install -vdm755 /usr/lib/pkgconfig
|
||||||
|
for pc in blkid mount uuid
|
||||||
|
do
|
||||||
|
sed 's@tools@usr@g' /tools/lib/pkgconfig/${pc}.pc \
|
||||||
|
> /usr/lib/pkgconfig/${pc}.pc
|
||||||
|
done
|
||||||
|
ln -sv bash /bin/sh
|
||||||
|
|
||||||
|
ln -sv /proc/self/mounts /etc/mtab
|
||||||
|
|
||||||
|
cat > /etc/passwd << "EOF"
|
||||||
|
root:x:0:0:root:/root:/bin/bash
|
||||||
|
bin:x:1:1:bin:/dev/null:/bin/false
|
||||||
|
daemon:x:6:6:Daemon User:/dev/null:/bin/false
|
||||||
|
messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false
|
||||||
|
nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > /etc/group << "EOF"
|
||||||
|
root:x:0:
|
||||||
|
bin:x:1:daemon
|
||||||
|
sys:x:2:
|
||||||
|
kmem:x:3:
|
||||||
|
tape:x:4:
|
||||||
|
tty: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:
|
||||||
|
adm:x:16:
|
||||||
|
messagebus:x:18:
|
||||||
|
systemd-journal:x:23:
|
||||||
|
input:x:24:
|
||||||
|
mail:x:34:
|
||||||
|
nogroup:x:99:
|
||||||
|
users:x:999:
|
||||||
|
EOF
|
||||||
|
|
||||||
|
exec /tools/bin/bash --login +h
|
||||||
|
|
||||||
|
touch /var/log/{btmp,lastlog,faillog,wtmp}
|
||||||
|
chgrp -v utmp /var/log/lastlog
|
||||||
|
chmod -v 664 /var/log/lastlog
|
||||||
|
chmod -v 600 /var/log/btmp
|
||||||
|
|
36
lfs/pkgscripts/bash
Executable file
36
lfs/pkgscripts/bash
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=4.4.18
|
||||||
|
url=http://ftp.gnu.org/gnu/bash/bash-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--docdir=/usr/share/doc/bash-$version \
|
||||||
|
--without-bash-malloc \
|
||||||
|
--with-installed-readline
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
mv -vf /usr/bin/bash /bin
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
52
lfs/pkgscripts/bc
Executable file
52
lfs/pkgscripts/bc
Executable file
|
@ -0,0 +1,52 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.07.1
|
||||||
|
url=http://ftp.gnu.org/gnu/bc/bc-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
cat > bc/fix-libmath_h << "EOF"
|
||||||
|
#! /bin/bash
|
||||||
|
sed -e '1 s/^/{"/' \
|
||||||
|
-e 's/$/",/' \
|
||||||
|
-e '2,$ s/^/"/' \
|
||||||
|
-e '$ d' \
|
||||||
|
-i libmath.h
|
||||||
|
|
||||||
|
sed -e '$ s/$/0}/' \
|
||||||
|
-i libmath.h
|
||||||
|
EOF
|
||||||
|
|
||||||
|
ln -sv /tools/lib/libncursesw.so.6 /usr/lib/libncursesw.so.6
|
||||||
|
ln -sfv libncurses.so.6 /usr/lib/libncurses.so
|
||||||
|
|
||||||
|
sed -i -e '/flex/s/as_fn_error/: ;; # &/' configure
|
||||||
|
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--with-readline \
|
||||||
|
--mandir=/usr/share/man \
|
||||||
|
--infodir=/usr/share/info
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
42
lfs/pkgscripts/binutils
Executable file
42
lfs/pkgscripts/binutils
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.31.1
|
||||||
|
url=http://ftp.gnu.org/gnu/binutils/binutils-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
mkdir -v build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
../configure --prefix=/usr \
|
||||||
|
--enable-gold \
|
||||||
|
--enable-ld=default \
|
||||||
|
--enable-plugins \
|
||||||
|
--enable-shared \
|
||||||
|
--disable-werror \
|
||||||
|
--enable-64-bit-bfd \
|
||||||
|
--with-system-zlib
|
||||||
|
make tooldir=/usr
|
||||||
|
make tooldir=/usr install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/bison
Executable file
32
lfs/pkgscripts/bison
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=3.0.5
|
||||||
|
url=http://ftp.gnu.org/gnu/bison/bison-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr --docdir=/usr/share/doc/bison-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
47
lfs/pkgscripts/bzip2
Executable file
47
lfs/pkgscripts/bzip2
Executable file
|
@ -0,0 +1,47 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.0.6
|
||||||
|
url=http://anduin.linuxfromscratch.org/LFS/bzip2-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
fetch http://www.linuxfromscratch.org/patches/lfs/8.3/bzip2-$version-install_docs-1.patch
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
patch -Np1 -i $SOURCE_DIR/bzip2-$version-install_docs-1.patch
|
||||||
|
|
||||||
|
sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile
|
||||||
|
sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile
|
||||||
|
|
||||||
|
make -f Makefile-libbz2_so
|
||||||
|
make clean
|
||||||
|
|
||||||
|
make
|
||||||
|
make PREFIX=/usr 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
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
33
lfs/pkgscripts/check
Executable file
33
lfs/pkgscripts/check
Executable file
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=0.12.0
|
||||||
|
url=https://github.com/libcheck/check/releases/download/$version/check-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
sed -i '1 s/tools/usr/' /usr/bin/checkmk
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
46
lfs/pkgscripts/coreutils
Executable file
46
lfs/pkgscripts/coreutils
Executable file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=8.30
|
||||||
|
url=http://ftp.gnu.org/gnu/coreutils/coreutils-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
fetch http://www.linuxfromscratch.org/patches/lfs/8.3/coreutils-$version-i18n-1.patch
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
patch -Np1 -i $SOURCE_DIR/coreutils-8.30-i18n-1.patch
|
||||||
|
sed -i '/test.lock/s/^/#/' gnulib-tests/gnulib.mk
|
||||||
|
|
||||||
|
autoreconf -fiv
|
||||||
|
FORCE_UNSAFE_CONFIGURE=1 ./configure \
|
||||||
|
--prefix=/usr \
|
||||||
|
--enable-no-install-program=kill,uptime
|
||||||
|
FORCE_UNSAFE_CONFIGURE=1 make
|
||||||
|
make install
|
||||||
|
mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin
|
||||||
|
mv -v /usr/bin/{false,ln,ls,mkdir,mknod,pwd,rm} /bin
|
||||||
|
mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin
|
||||||
|
mv -v /usr/bin/chroot /usr/sbin
|
||||||
|
mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
|
||||||
|
sed -i s/\"1\"/\"8\"/1 /usr/share/man/man8/chroot.8
|
||||||
|
mv -v /usr/bin/{head,sleep,nice,mv} /bin
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
35
lfs/pkgscripts/cpio
Executable file
35
lfs/pkgscripts/cpio
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.12
|
||||||
|
url=https://ftp.gnu.org/gnu/cpio/cpio-$version.tar.bz2
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--bindir=/bin \
|
||||||
|
--enable-mt \
|
||||||
|
--with-rmt=/usr/libexec/rmt
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
37
lfs/pkgscripts/dhcpcd
Executable file
37
lfs/pkgscripts/dhcpcd
Executable file
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=7.0.7
|
||||||
|
url=http://roy.marples.name/downloads/dhcpcd/dhcpcd-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
fetch http://anduin.linuxfromscratch.org/BLFS/blfs-bootscripts/blfs-bootscripts-20180105.tar.xz
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --libexecdir=/lib/dhcpcd \
|
||||||
|
--dbdir=/var/lib/dhcpcd
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
tar -xvf $SOURCE_DIR/blfs-bootscripts-20180105.tar.xz
|
||||||
|
cd blfs-bootscripts-20180105
|
||||||
|
make install-service-dhcpcd
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/diffutils
Executable file
32
lfs/pkgscripts/diffutils
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=3.6
|
||||||
|
url=http://ftp.gnu.org/gnu/diffutils/diffutils-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
46
lfs/pkgscripts/e2fsprogs
Executable file
46
lfs/pkgscripts/e2fsprogs
Executable file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.44.3
|
||||||
|
url=https://downloads.sourceforge.net/project/e2fsprogs/e2fsprogs/v$version/e2fsprogs-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
mkdir -v build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
../configure --prefix=/usr \
|
||||||
|
--bindir=/bin \
|
||||||
|
--with-root-prefix="" \
|
||||||
|
--enable-elf-shlibs \
|
||||||
|
--disable-libblkid \
|
||||||
|
--disable-libuuid \
|
||||||
|
--disable-uuidd \
|
||||||
|
--disable-fsck
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
make install-libs
|
||||||
|
chmod -v u+w /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a
|
||||||
|
gunzip -v /usr/share/info/libext2fs.info.gz
|
||||||
|
install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
56
lfs/pkgscripts/eudev
Executable file
56
lfs/pkgscripts/eudev
Executable file
|
@ -0,0 +1,56 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=3.2.5
|
||||||
|
url=https://dev.gentoo.org/~blueness/eudev/eudev-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
fetch http://anduin.linuxfromscratch.org/LFS/udev-lfs-20171102.tar.bz2
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
cat > config.cache << "EOF"
|
||||||
|
HAVE_BLKID=1
|
||||||
|
BLKID_LIBS="-lblkid"
|
||||||
|
BLKID_CFLAGS="-I/tools/include"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--bindir=/sbin \
|
||||||
|
--sbindir=/sbin \
|
||||||
|
--libdir=/usr/lib \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--libexecdir=/lib \
|
||||||
|
--with-rootprefix= \
|
||||||
|
--with-rootlibdir=/lib \
|
||||||
|
--enable-manpages \
|
||||||
|
--disable-static \
|
||||||
|
--config-cache
|
||||||
|
LIBRARY_PATH=/tools/lib make
|
||||||
|
mkdir -pv /lib/udev/rules.d
|
||||||
|
mkdir -pv /etc/udev/rules.d
|
||||||
|
make LD_LIBRARY_PATH=/tools/lib install
|
||||||
|
|
||||||
|
tar -xvf $SOURCE_DIR/udev-lfs-20171102.tar.bz2
|
||||||
|
make -f udev-lfs-20171102/Makefile.lfs install
|
||||||
|
|
||||||
|
LD_LIBRARY_PATH=/tools/lib udevadm hwdb --update
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
36
lfs/pkgscripts/expat
Executable file
36
lfs/pkgscripts/expat
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.2.6
|
||||||
|
url=https://prdownloads.sourceforge.net/expat/expat-$version.tar.bz2
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i 's|usr/bin/env |bin/|' run.sh.in
|
||||||
|
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--disable-static \
|
||||||
|
--docdir=/usr/share/doc/expat-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/file
Executable file
32
lfs/pkgscripts/file
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=file
|
||||||
|
version=5.34
|
||||||
|
url=ftp://ftp.astron.com/pub/file/file-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$name-$version.tar.gz -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
39
lfs/pkgscripts/findutils
Executable file
39
lfs/pkgscripts/findutils
Executable file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=4.6.0
|
||||||
|
url=http://ftp.gnu.org/gnu/findutils/findutils-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i 's/test-lock..EXEEXT.//' tests/Makefile.in
|
||||||
|
sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' gl/lib/*.c
|
||||||
|
sed -i '/unistd/a #include <sys/sysmacros.h>' gl/lib/mountlist.c
|
||||||
|
echo "#define _IO_IN_BACKUP 0x100" >> gl/lib/stdio-impl.h
|
||||||
|
|
||||||
|
./configure --prefix=/usr --localstatedir=/var/lib/locate
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
mv -v /usr/bin/find /bin
|
||||||
|
sed -i 's|find:=${BINDIR}|find:=/bin|' /usr/bin/updatedb
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
36
lfs/pkgscripts/flex
Executable file
36
lfs/pkgscripts/flex
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.6.4
|
||||||
|
url=https://github.com/westes/flex/releases/download/v$version/flex-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i "/math.h/a #include <malloc.h>" src/flexdef.h
|
||||||
|
|
||||||
|
HELP2MAN=/tools/bin/true \
|
||||||
|
./configure --prefix=/usr --docdir=/usr/share/doc/flex-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
ln -sv flex /usr/bin/lex
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
33
lfs/pkgscripts/gawk
Executable file
33
lfs/pkgscripts/gawk
Executable file
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=4.2.1
|
||||||
|
url=http://ftp.gnu.org/gnu/gawk/gawk-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i 's/extras//' Makefile.in
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
68
lfs/pkgscripts/gcc
Executable file
68
lfs/pkgscripts/gcc
Executable file
|
@ -0,0 +1,68 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=8.2.0
|
||||||
|
url=http://ftp.gnu.org/gnu/gcc/gcc-$version/gcc-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
case $(uname -m) in
|
||||||
|
x86_64)
|
||||||
|
sed -e '/m64=/s/lib64/lib/' \
|
||||||
|
-i.orig gcc/config/i386/t-linux64
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
rm -f /usr/lib/gcc
|
||||||
|
|
||||||
|
mkdir -v build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
SED=sed \
|
||||||
|
../configure --prefix=/usr \
|
||||||
|
--enable-languages=c,c++ \
|
||||||
|
--disable-multilib \
|
||||||
|
--disable-bootstrap \
|
||||||
|
--disable-libmpx \
|
||||||
|
--with-system-zlib
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
ln -svf ../usr/bin/cpp /lib
|
||||||
|
ln -svf gcc /usr/bin/cc
|
||||||
|
install -v -dm755 /usr/lib/bfd-plugins
|
||||||
|
ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/8.2.0/liblto_plugin.so \
|
||||||
|
/usr/lib/bfd-plugins/
|
||||||
|
|
||||||
|
echo 'int main(){}' > dummy.c
|
||||||
|
cc dummy.c -v -Wl,--verbose &> dummy.log
|
||||||
|
readelf -l a.out | grep ': /lib'
|
||||||
|
|
||||||
|
grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log
|
||||||
|
grep -B4 '^ /usr/include' dummy.log
|
||||||
|
grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
|
||||||
|
grep "/lib.*/libc.so.6 " dummy.log
|
||||||
|
grep found dummy.log
|
||||||
|
rm -v dummy.c a.out dummy.log
|
||||||
|
mkdir -pv /usr/share/gdb/auto-load/usr/lib
|
||||||
|
mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
34
lfs/pkgscripts/gdbm
Executable file
34
lfs/pkgscripts/gdbm
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.17
|
||||||
|
url=http://ftp.gnu.org/gnu/gdbm/gdbm-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--disable-static \
|
||||||
|
--enable-libgdbm-compat
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
41
lfs/pkgscripts/gettext
Executable file
41
lfs/pkgscripts/gettext
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=0.19.8.1
|
||||||
|
url=http://ftp.gnu.org/gnu/gettext/gettext-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i '/^TESTS =/d' gettext-runtime/tests/Makefile.in &&
|
||||||
|
sed -i 's/test-lock..EXEEXT.//' gettext-tools/gnulib-tests/Makefile.in
|
||||||
|
|
||||||
|
sed -e '/AppData/{N;N;p;s/\.appdata\./.metainfo./}' \
|
||||||
|
-i gettext-tools/its/appdata.loc
|
||||||
|
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--disable-static \
|
||||||
|
--docdir=/usr/share/doc/gettext-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
chmod -v 0755 /usr/lib/preloadable_libintl.so
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
139
lfs/pkgscripts/glibc
Executable file
139
lfs/pkgscripts/glibc
Executable file
|
@ -0,0 +1,139 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=glibc
|
||||||
|
version=2.28
|
||||||
|
url=http://ftp.gnu.org/gnu/glibc/glibc-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
fetch http://www.linuxfromscratch.org/patches/lfs/8.3/glibc-$version-fhs-1.patch
|
||||||
|
fetch https://www.iana.org/time-zones/repository/releases/tzdata2018e.tar.gz
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$name-$version.tar.xz -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
patch -Np1 -i $SOURCE_DIR/glibc-$version-fhs-1.patch
|
||||||
|
|
||||||
|
ln -sfv /tools/lib/gcc /usr/lib
|
||||||
|
|
||||||
|
case $(uname -m) in
|
||||||
|
i?86) GCC_INCDIR=/usr/lib/gcc/$(uname -m)-pc-linux-gnu/8.2.0/include
|
||||||
|
ln -sfv ld-linux.so.2 /lib/ld-lsb.so.3
|
||||||
|
;;
|
||||||
|
x86_64) GCC_INCDIR=/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include
|
||||||
|
ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64
|
||||||
|
ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
rm -f /usr/include/limits.h
|
||||||
|
|
||||||
|
mkdir -v build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
CC="gcc -isystem $GCC_INCDIR -isystem /usr/include" \
|
||||||
|
../configure --prefix=/usr \
|
||||||
|
--disable-werror \
|
||||||
|
--enable-kernel=3.2 \
|
||||||
|
--enable-stack-protector=strong \
|
||||||
|
libc_cv_slibdir=/lib
|
||||||
|
unset GCC_INCDIR
|
||||||
|
make
|
||||||
|
touch /etc/ld.so.conf
|
||||||
|
sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile
|
||||||
|
make install
|
||||||
|
cp -v ../nscd/nscd.conf /etc/nscd.conf
|
||||||
|
mkdir -pv /var/cache/nscd
|
||||||
|
mkdir -pv /usr/lib/locale
|
||||||
|
make localedata/install-locales
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
tar -xf $SOURCE_DIR/tzdata2018e.tar.gz
|
||||||
|
|
||||||
|
ZONEINFO=/usr/share/zoneinfo
|
||||||
|
mkdir -pv $ZONEINFO/{posix,right}
|
||||||
|
|
||||||
|
for tz in etcetera southamerica northamerica europe africa antarctica \
|
||||||
|
asia australasia backward pacificnew systemv; do
|
||||||
|
zic -L /dev/null -d $ZONEINFO -y "sh yearistype.sh" ${tz}
|
||||||
|
zic -L /dev/null -d $ZONEINFO/posix -y "sh yearistype.sh" ${tz}
|
||||||
|
zic -L leapseconds -d $ZONEINFO/right -y "sh yearistype.sh" ${tz}
|
||||||
|
done
|
||||||
|
|
||||||
|
cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO
|
||||||
|
zic -d $ZONEINFO -p America/New_York
|
||||||
|
unset ZONEINFO
|
||||||
|
|
||||||
|
ln -svf /usr/share/zoneinfo/UTC /etc/localtime
|
||||||
|
|
||||||
|
cat > /etc/ld.so.conf << "EOF"
|
||||||
|
# Begin /etc/ld.so.conf
|
||||||
|
/usr/local/lib
|
||||||
|
/opt/lib
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat >> /etc/ld.so.conf << "EOF"
|
||||||
|
# Add an include directory
|
||||||
|
include /etc/ld.so.conf.d/*.conf
|
||||||
|
|
||||||
|
EOF
|
||||||
|
mkdir -pv /etc/ld.so.conf.d
|
||||||
|
|
||||||
|
if [ ! -f /tools/bin/ld-old ]; then
|
||||||
|
mv -v /tools/bin/{ld,ld-old}
|
||||||
|
mv -v /tools/$(uname -m)-pc-linux-gnu/bin/{ld,ld-old}
|
||||||
|
mv -v /tools/bin/{ld-new,ld}
|
||||||
|
ln -sv /tools/bin/ld /tools/$(uname -m)-pc-linux-gnu/bin/ld
|
||||||
|
|
||||||
|
gcc -dumpspecs | sed -e 's@/tools@@g' \
|
||||||
|
-e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' \
|
||||||
|
-e '/\*cpp:/{n;s@$@ -isystem /usr/include@}' > \
|
||||||
|
`dirname $(gcc --print-libgcc-file-name)`/specs
|
||||||
|
|
||||||
|
echo 'int main(){}' > dummy.c
|
||||||
|
cc dummy.c -v -Wl,--verbose &> dummy.log
|
||||||
|
readelf -l a.out | grep ': /lib'
|
||||||
|
|
||||||
|
grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log
|
||||||
|
grep -B1 '^ /usr/include' dummy.log
|
||||||
|
grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
|
||||||
|
grep "/lib.*/libc.so.6 " dummy.log
|
||||||
|
grep found dummy.log
|
||||||
|
rm -v dummy.c a.out dummy.log
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
35
lfs/pkgscripts/gmp
Executable file
35
lfs/pkgscripts/gmp
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=6.1.2
|
||||||
|
url=http://ftp.gnu.org/gnu/gmp/gmp-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--enable-cxx \
|
||||||
|
--disable-static \
|
||||||
|
--docdir=/usr/share/doc/gmp-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/gperf
Executable file
32
lfs/pkgscripts/gperf
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=3.1
|
||||||
|
url=http://ftp.gnu.org/gnu/gperf/gperf-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr --docdir=/usr/share/doc/gperf-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/grep
Executable file
32
lfs/pkgscripts/grep
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=3.1
|
||||||
|
url=http://ftp.gnu.org/gnu/grep/grep-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr --bindir=/bin
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/groff
Executable file
32
lfs/pkgscripts/groff
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.22.3
|
||||||
|
url=http://ftp.gnu.org/gnu/groff/groff-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
PAGE=A4 ./configure --prefix=/usr
|
||||||
|
make -j1
|
||||||
|
make -j1 install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
36
lfs/pkgscripts/grub
Executable file
36
lfs/pkgscripts/grub
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.02
|
||||||
|
url=https://ftp.gnu.org/gnu/grub/grub-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--sbindir=/sbin \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--disable-efiemu \
|
||||||
|
--disable-werror
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
36
lfs/pkgscripts/gzip
Executable file
36
lfs/pkgscripts/gzip
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.9
|
||||||
|
url=http://ftp.gnu.org/gnu/gzip/gzip-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c
|
||||||
|
echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h
|
||||||
|
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
mv -v /usr/bin/gzip /bin
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
31
lfs/pkgscripts/iana-etc
Executable file
31
lfs/pkgscripts/iana-etc
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.30
|
||||||
|
url=http://anduin.linuxfromscratch.org/LFS/iana-etc-$version.tar.bz2
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
42
lfs/pkgscripts/inetutils
Executable file
42
lfs/pkgscripts/inetutils
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.9.4
|
||||||
|
url=http://ftp.gnu.org/gnu/inetutils/inetutils-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--localstatedir=/var \
|
||||||
|
--disable-logger \
|
||||||
|
--disable-whois \
|
||||||
|
--disable-rcp \
|
||||||
|
--disable-rexec \
|
||||||
|
--disable-rlogin \
|
||||||
|
--disable-rsh \
|
||||||
|
--disable-servers
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
mv -v /usr/bin/{hostname,ping,ping6,traceroute} /bin
|
||||||
|
mv -v /usr/bin/ifconfig /sbin
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
34
lfs/pkgscripts/intltool
Executable file
34
lfs/pkgscripts/intltool
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=0.51.0
|
||||||
|
url=https://launchpad.net/intltool/trunk/$version/+download/intltool-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i 's:\\\${:\\\$\\{:' intltool-update.in
|
||||||
|
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
36
lfs/pkgscripts/iproute2
Executable file
36
lfs/pkgscripts/iproute2
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=4.18.0
|
||||||
|
url=https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-4.18.0.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i /ARPD/d Makefile
|
||||||
|
rm -fv man/man8/arpd.8
|
||||||
|
|
||||||
|
sed -i 's/.m_ipt.o//' tc/Makefile
|
||||||
|
|
||||||
|
make
|
||||||
|
make DOCDIR=/usr/share/doc/iproute2-$version install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
38
lfs/pkgscripts/kbd
Executable file
38
lfs/pkgscripts/kbd
Executable file
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.0.4
|
||||||
|
url=https://www.kernel.org/pub/linux/utils/kbd/kbd-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
fetch http://www.linuxfromscratch.org/patches/lfs/8.3/kbd-$version-backspace-1.patch
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
patch -Np1 -i $SOURCE_DIR/kbd-2.0.4-backspace-1.patch
|
||||||
|
|
||||||
|
sed -i 's/\(RESIZECONS_PROGS=\)yes/\1no/g' configure
|
||||||
|
sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in
|
||||||
|
|
||||||
|
PKG_CONFIG_PATH=/tools/lib/pkgconfig ./configure --prefix=/usr --disable-vlock
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
41
lfs/pkgscripts/kmod
Executable file
41
lfs/pkgscripts/kmod
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=25
|
||||||
|
url=https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--bindir=/bin \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--with-rootlibdir=/lib \
|
||||||
|
--with-xz \
|
||||||
|
--with-zlib
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
for target in depmod insmod lsmod modinfo modprobe rmmod; do
|
||||||
|
ln -sfv ../bin/kmod /sbin/$target
|
||||||
|
done
|
||||||
|
ln -sfv kmod /bin/lsmod
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/less
Executable file
32
lfs/pkgscripts/less
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=530
|
||||||
|
url=http://www.greenwoodsoftware.com/less/less-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr --sysconfdir=/etc
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
30
lfs/pkgscripts/lfs-bootscripts
Executable file
30
lfs/pkgscripts/lfs-bootscripts
Executable file
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=20180820
|
||||||
|
url=http://www.linuxfromscratch.org/lfs/downloads/8.3/lfs-bootscripts-$version.tar.bz2
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
431
lfs/pkgscripts/lfs-files
Executable file
431
lfs/pkgscripts/lfs-files
Executable file
|
@ -0,0 +1,431 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=8.3
|
||||||
|
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
echo "$version" > /etc/lfs-release
|
||||||
|
|
||||||
|
cat > /etc/lsb-release << "EOF"
|
||||||
|
DISTRIB_ID="Linux From Scratch"
|
||||||
|
DISTRIB_RELEASE="8.3"
|
||||||
|
DISTRIB_CODENAME="Emmett1"
|
||||||
|
DISTRIB_DESCRIPTION="Linux From Scratch"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > /etc/inittab << "EOF"
|
||||||
|
# Begin /etc/inittab
|
||||||
|
|
||||||
|
id:3:initdefault:
|
||||||
|
|
||||||
|
si::sysinit:/etc/rc.d/init.d/rc S
|
||||||
|
|
||||||
|
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 --noclear tty1 9600
|
||||||
|
2:2345:respawn:/sbin/agetty tty2 9600
|
||||||
|
3:2345:respawn:/sbin/agetty tty3 9600
|
||||||
|
4:2345:respawn:/sbin/agetty tty4 9600
|
||||||
|
5:2345:respawn:/sbin/agetty tty5 9600
|
||||||
|
6:2345:respawn:/sbin/agetty tty6 9600
|
||||||
|
|
||||||
|
# End /etc/inittab
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > /etc/inputrc << "EOF"
|
||||||
|
# Begin /etc/inputrc
|
||||||
|
# Modified by Chris Lynn <roryo@roryo.dynup.net>
|
||||||
|
|
||||||
|
# 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 in 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
|
||||||
|
|
||||||
|
cat > /etc/shells << "EOF"
|
||||||
|
# Begin /etc/shells
|
||||||
|
|
||||||
|
/bin/sh
|
||||||
|
/bin/bash
|
||||||
|
|
||||||
|
# End /etc/shells
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > /etc/fstab << "EOF"
|
||||||
|
# Begin /etc/fstab
|
||||||
|
|
||||||
|
# file system mount-point type options dump fsck
|
||||||
|
# order
|
||||||
|
|
||||||
|
#/dev/<xxx> / <fff> defaults 1 1
|
||||||
|
#/dev/<yyy> swap swap pri=1 0 0
|
||||||
|
proc /proc proc nosuid,noexec,nodev 0 0
|
||||||
|
sysfs /sys sysfs nosuid,noexec,nodev 0 0
|
||||||
|
devpts /dev/pts devpts gid=5,mode=620 0 0
|
||||||
|
tmpfs /run tmpfs defaults 0 0
|
||||||
|
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
|
||||||
|
|
||||||
|
# End /etc/fstab
|
||||||
|
EOF
|
||||||
|
|
||||||
|
install -v -m755 -d /etc/modprobe.d
|
||||||
|
cat > /etc/modprobe.d/usb.conf << "EOF"
|
||||||
|
# Begin /etc/modprobe.d/usb.conf
|
||||||
|
|
||||||
|
install ohci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i ohci_hcd ; true
|
||||||
|
install uhci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe -i uhci_hcd ; true
|
||||||
|
|
||||||
|
# End /etc/modprobe.d/usb.conf
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > /etc/sysconfig/ifconfig.wired << "EOF"
|
||||||
|
ONBOOT="no"
|
||||||
|
IFACE="eth0"
|
||||||
|
SERVICE="dhcpcd"
|
||||||
|
#DHCP_START="-b -q <insert appropriate start options here>"
|
||||||
|
#DHCP_STOP="-k <insert additional stop options here>"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
cat > /etc/resolv.conf << "EOF"
|
||||||
|
# Begin /etc/resolv.conf
|
||||||
|
|
||||||
|
nameserver 8.8.8.8
|
||||||
|
nameserver 8.8.4.4
|
||||||
|
|
||||||
|
# End /etc/resolv.conf
|
||||||
|
EOF
|
||||||
|
|
||||||
|
echo "lfs" > /etc/hostname
|
||||||
|
|
||||||
|
cat > /etc/hosts << "EOF"
|
||||||
|
# Begin /etc/hosts
|
||||||
|
|
||||||
|
127.0.0.1 localhost lfs
|
||||||
|
::1 localhost lfs
|
||||||
|
|
||||||
|
# End /etc/hosts
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > /etc/profile << "EOF"
|
||||||
|
# Begin /etc/profile
|
||||||
|
# Written for Beyond Linux From Scratch
|
||||||
|
# by James Robertson <jameswrobertson@earthlink.net>
|
||||||
|
# modifications by Dagmar d'Surreal <rivyqntzne@pbzpnfg.arg>
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
}
|
||||||
|
|
||||||
|
export -f pathremove pathprepend pathappend
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
# Set some defaults for graphical systems
|
||||||
|
export XDG_DATA_DIRS=${XDG_DATA_DIRS:-/usr/share/}
|
||||||
|
export XDG_CONFIG_DIRS=${XDG_CONFIG_DIRS:-/etc/xdg/}
|
||||||
|
export XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/tmp/xdg-$USER}
|
||||||
|
|
||||||
|
# Setup a red prompt for root and a green one for users.
|
||||||
|
NORMAL="\[\e[0m\]"
|
||||||
|
RED="\[\e[1;31m\]"
|
||||||
|
GREEN="\[\e[1;32m\]"
|
||||||
|
if [[ $EUID == 0 ]] ; then
|
||||||
|
PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL"
|
||||||
|
else
|
||||||
|
PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for script in /etc/profile.d/*.sh ; do
|
||||||
|
if [ -r $script ] ; then
|
||||||
|
. $script
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
unset script RED GREEN NORMAL
|
||||||
|
|
||||||
|
# End /etc/profile
|
||||||
|
EOF
|
||||||
|
|
||||||
|
install --directory --mode=0755 --owner=root --group=root /etc/profile.d
|
||||||
|
|
||||||
|
cat > /etc/profile.d/bash_completion.sh << "EOF"
|
||||||
|
# Begin /etc/profile.d/bash_completion.sh
|
||||||
|
# Import bash completion scripts
|
||||||
|
|
||||||
|
for script in /etc/bash_completion.d/*.sh ; do
|
||||||
|
if [ -r $script ] ; then
|
||||||
|
. $script
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# End /etc/profile.d/bash_completion.sh
|
||||||
|
EOF
|
||||||
|
|
||||||
|
install --directory --mode=0755 --owner=root --group=root /etc/bash_completion.d
|
||||||
|
|
||||||
|
cat > /etc/profile.d/dircolors.sh << "EOF"
|
||||||
|
# Setup for /bin/ls and /bin/grep to support color, the alias is in /etc/bashrc.
|
||||||
|
if [ -f "/etc/dircolors" ] ; then
|
||||||
|
eval $(dircolors -b /etc/dircolors)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$HOME/.dircolors" ] ; then
|
||||||
|
eval $(dircolors -b $HOME/.dircolors)
|
||||||
|
fi
|
||||||
|
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
alias grep='grep --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
|
||||||
|
|
||||||
|
# Set some defaults before other applications add to these paths.
|
||||||
|
pathappend /usr/share/man MANPATH
|
||||||
|
pathappend /usr/share/info INFOPATH
|
||||||
|
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/umask.sh << "EOF"
|
||||||
|
# By default, the umask should be set.
|
||||||
|
if [ "$(id -gn)" = "$(id -un)" -a $EUID -gt 99 ] ; then
|
||||||
|
umask 002
|
||||||
|
else
|
||||||
|
umask 022
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > /etc/profile.d/i18n.sh << "EOF"
|
||||||
|
# Set up i18n variables
|
||||||
|
export LANG=en_US.UTF-8
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > /etc/bashrc << "EOF"
|
||||||
|
# Begin /etc/bashrc
|
||||||
|
# Written for Beyond Linux From Scratch
|
||||||
|
# by James Robertson <jameswrobertson@earthlink.net>
|
||||||
|
# updated by Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
||||||
|
|
||||||
|
# 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 colored /bin/ls and /bin/grep commands. Used in conjunction
|
||||||
|
# with code in /etc/profile.
|
||||||
|
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
alias grep='grep --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.]
|
||||||
|
|
||||||
|
NORMAL="\[\e[0m\]"
|
||||||
|
RED="\[\e[1;31m\]"
|
||||||
|
GREEN="\[\e[1;32m\]"
|
||||||
|
if [[ $EUID == 0 ]] ; then
|
||||||
|
PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL"
|
||||||
|
else
|
||||||
|
PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL"
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset RED GREEN NORMAL
|
||||||
|
|
||||||
|
# End /etc/bashrc
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > ~/.bash_profile << "EOF"
|
||||||
|
# Begin ~/.bash_profile
|
||||||
|
# Written for Beyond Linux From Scratch
|
||||||
|
# by James Robertson <jameswrobertson@earthlink.net>
|
||||||
|
# updated by Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
if [ -f "$HOME/.bashrc" ] ; then
|
||||||
|
source $HOME/.bashrc
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d "$HOME/bin" ] ; then
|
||||||
|
pathprepend $HOME/bin
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Having . in the PATH is dangerous
|
||||||
|
#if [ $EUID -gt 99 ]; then
|
||||||
|
# pathappend .
|
||||||
|
#fi
|
||||||
|
|
||||||
|
# End ~/.bash_profile
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > ~/.profile << "EOF"
|
||||||
|
# Begin ~/.profile
|
||||||
|
# Personal environment variables and startup programs.
|
||||||
|
|
||||||
|
if [ -d "$HOME/bin" ] ; then
|
||||||
|
pathprepend $HOME/bin
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set up user specific i18n variables
|
||||||
|
#export LANG=<ll>_<CC>.<charmap><@modifiers>
|
||||||
|
|
||||||
|
# End ~/.profile
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > ~/.bashrc << "EOF"
|
||||||
|
# Begin ~/.bashrc
|
||||||
|
# Written for Beyond Linux From Scratch
|
||||||
|
# by James Robertson <jameswrobertson@earthlink.net>
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Set up user specific i18n variables
|
||||||
|
#export LANG=<ll>_<CC>.<charmap><@modifiers>
|
||||||
|
|
||||||
|
# End ~/.bashrc
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat > ~/.bash_logout << "EOF"
|
||||||
|
# Begin ~/.bash_logout
|
||||||
|
# Written for Beyond Linux From Scratch
|
||||||
|
# by James Robertson <jameswrobertson@earthlink.net>
|
||||||
|
|
||||||
|
# Personal items to perform on logout.
|
||||||
|
|
||||||
|
# End ~/.bash_logout
|
||||||
|
EOF
|
||||||
|
|
||||||
|
dircolors -p > /etc/dircolors
|
||||||
|
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
#rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
36
lfs/pkgscripts/libcap
Executable file
36
lfs/pkgscripts/libcap
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.25
|
||||||
|
url=https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i '/install.*STALIBNAME/d' libcap/Makefile
|
||||||
|
|
||||||
|
make
|
||||||
|
make RAISE_SETFCAP=no lib=lib prefix=/usr install
|
||||||
|
chmod -v 755 /usr/lib/libcap.so
|
||||||
|
mv -v /usr/lib/libcap.so.* /lib
|
||||||
|
ln -sfv ../../lib/$(readlink /usr/lib/libcap.so) /usr/lib/libcap.so
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
33
lfs/pkgscripts/libelf
Executable file
33
lfs/pkgscripts/libelf
Executable file
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=elfutils
|
||||||
|
version=0.173
|
||||||
|
url=https://sourceware.org/ftp/elfutils/$version/elfutils-$version.tar.bz2
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make -C libelf install
|
||||||
|
install -vm644 config/libelf.pc /usr/lib/pkgconfig
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
39
lfs/pkgscripts/libffi
Executable file
39
lfs/pkgscripts/libffi
Executable file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=3.2.1
|
||||||
|
url=ftp://sourceware.org/pub/libffi/libffi-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -e '/^includesdir/ s/$(libdir).*$/$(includedir)/' \
|
||||||
|
-i include/Makefile.in
|
||||||
|
|
||||||
|
sed -e '/^includedir/ s/=.*$/=@includedir@/' \
|
||||||
|
-e 's/^Cflags: -I${includedir}/Cflags:/' \
|
||||||
|
-i libffi.pc.in
|
||||||
|
|
||||||
|
./configure --prefix=/usr --disable-static --with-gcc-arch=native
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
34
lfs/pkgscripts/libnl
Executable file
34
lfs/pkgscripts/libnl
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=3.4.0
|
||||||
|
url=https://github.com/thom311/libnl/releases/download/libnl${version//./_}/libnl-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--disable-static
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/libpipeline
Executable file
32
lfs/pkgscripts/libpipeline
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.5.0
|
||||||
|
url=http://download.savannah.gnu.org/releases/libpipeline/libpipeline-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/libtasn1
Executable file
32
lfs/pkgscripts/libtasn1
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=4.13
|
||||||
|
url=ftp://ftp.gnu.org/gnu/libtasn1/libtasn1-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr --disable-static
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/libtool
Executable file
32
lfs/pkgscripts/libtool
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.4.6
|
||||||
|
url=http://ftp.gnu.org/gnu/libtool/libtool-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
46
lfs/pkgscripts/linux
Executable file
46
lfs/pkgscripts/linux
Executable file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=4.19.2
|
||||||
|
url=https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
fetch https://raw.githubusercontent.com/emmett1/ports/1.0/extra/linux/config-$version
|
||||||
|
|
||||||
|
rm -fr /usr/src/$name-$version-old
|
||||||
|
[ -d /usr/src/$name-$version ] && mv /usr/src/$name-$version /usr/src/$name-$version-old
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C /usr/src
|
||||||
|
#ln -svf /usr/src/$name-$version /usr/src/linux
|
||||||
|
|
||||||
|
cd /usr/src/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
make mrproper
|
||||||
|
cp $SOURCE_DIR/config-$version .config
|
||||||
|
|
||||||
|
sed '/^CONFIG_LOCALVERSION=/d' -i .config
|
||||||
|
echo 'CONFIG_LOCALVERSION="-lfs"' >> .config
|
||||||
|
|
||||||
|
make
|
||||||
|
make modules_install
|
||||||
|
cp arch/x86/boot/bzImage /boot/vmlinuz-$version-lfs
|
||||||
|
|
||||||
|
if [ $(type -p mkinitramfs) ]; then
|
||||||
|
kernver=$(file /boot/vmlinuz-$version-lfs | cut -d ' ' -f9)
|
||||||
|
mkinitramfs -k $kernver -o /boot/initrd-$version-lfs.img
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
#rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/linux-api-headers
Executable file
32
lfs/pkgscripts/linux-api-headers
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=linux
|
||||||
|
version=4.19.2
|
||||||
|
|
||||||
|
fetch https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-$version.tar.xz
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/linux-$version.tar.xz -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
make mrproper
|
||||||
|
make INSTALL_HDR_PATH=dest headers_install
|
||||||
|
find dest/include \( -name .install -o -name ..install.cmd \) -delete
|
||||||
|
cp -rv dest/include/* /usr/include
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
35
lfs/pkgscripts/m4
Executable file
35
lfs/pkgscripts/m4
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=m4
|
||||||
|
version=1.4.18
|
||||||
|
url=http://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c
|
||||||
|
echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h
|
||||||
|
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
34
lfs/pkgscripts/make
Executable file
34
lfs/pkgscripts/make
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=4.2.1
|
||||||
|
url=http://ftp.gnu.org/gnu/make/make-$version.tar.bz2
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i '211,217 d; 219,229 d; 232 d' glob/glob.c
|
||||||
|
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
43
lfs/pkgscripts/make-ca
Executable file
43
lfs/pkgscripts/make-ca
Executable file
|
@ -0,0 +1,43 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=0.9
|
||||||
|
url=https://github.com/djlucas/make-ca/archive/v$version/make-ca-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
install -vdm755 /etc/ssl/local
|
||||||
|
wget http://www.cacert.org/certs/root.crt
|
||||||
|
wget http://www.cacert.org/certs/class3.crt
|
||||||
|
openssl x509 -in root.crt -text -fingerprint -setalias "CAcert Class 1 root" \
|
||||||
|
-addtrust serverAuth -addtrust emailProtection -addtrust codeSigning \
|
||||||
|
> /etc/ssl/local/CAcert_Class_1_root.pem
|
||||||
|
openssl x509 -in class3.crt -text -fingerprint -setalias "CAcert Class 3 root" \
|
||||||
|
-addtrust serverAuth -addtrust emailProtection -addtrust codeSigning \
|
||||||
|
> /etc/ssl/local/CAcert_Class_3_root.pem
|
||||||
|
make install
|
||||||
|
mkdir -pv /etc/pki/tls/certs
|
||||||
|
ln -svf /etc/ssl/ca-bundle.crt \
|
||||||
|
/etc/pki/tls/certs/ca-bundle.crt
|
||||||
|
/usr/sbin/make-ca -g
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
40
lfs/pkgscripts/man-db
Executable file
40
lfs/pkgscripts/man-db
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.8.4
|
||||||
|
url=http://download.savannah.gnu.org/releases/man-db/man-db-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--docdir=/usr/share/doc/man-db-$version \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--disable-setuid \
|
||||||
|
--enable-cache-owner=bin \
|
||||||
|
--with-browser=/usr/bin/lynx \
|
||||||
|
--with-vgrind=/usr/bin/vgrind \
|
||||||
|
--with-grap=/usr/bin/grap \
|
||||||
|
--with-systemdtmpfilesdir=
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
29
lfs/pkgscripts/man-pages
Executable file
29
lfs/pkgscripts/man-pages
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=man-pages
|
||||||
|
version=4.16
|
||||||
|
|
||||||
|
fetch https://www.kernel.org/pub/linux/docs/man-pages/man-pages-$version.tar.xz
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$name-$version.tar.xz -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/meson
Executable file
32
lfs/pkgscripts/meson
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=0.47.1
|
||||||
|
url=https://github.com/mesonbuild/meson/releases/download/$version/meson-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
python3 setup.py build
|
||||||
|
python3 setup.py install --root=dest
|
||||||
|
cp -rv dest/* /
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
35
lfs/pkgscripts/mkinitramfs
Executable file
35
lfs/pkgscripts/mkinitramfs
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=72992208c32e3aac22a086659b00c034960992cd
|
||||||
|
url=https://github.com/emmett1/mkinitramfs/archive/$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./INSTALL.sh
|
||||||
|
|
||||||
|
#if [ $(type -p mkinitramfs) ]; then
|
||||||
|
# kernver=$(file /boot/vmlinuz-4.19.2-lfs | cut -d ' ' -f9)
|
||||||
|
# mkinitramfs -k $kernver -o /boot/initrd-4.19.2-lfs.img
|
||||||
|
#fi
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
34
lfs/pkgscripts/mpc
Executable file
34
lfs/pkgscripts/mpc
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.1.0
|
||||||
|
url=https://ftp.gnu.org/gnu/mpc/mpc-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--disable-static \
|
||||||
|
--docdir=/usr/share/doc/mpc-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
35
lfs/pkgscripts/mpfr
Executable file
35
lfs/pkgscripts/mpfr
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=4.0.1
|
||||||
|
url=http://www.mpfr.org/mpfr-$version/mpfr-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--disable-static \
|
||||||
|
--enable-thread-safe \
|
||||||
|
--docdir=/usr/share/doc/mpfr-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
50
lfs/pkgscripts/ncurses
Executable file
50
lfs/pkgscripts/ncurses
Executable file
|
@ -0,0 +1,50 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=6.1
|
||||||
|
url=http://ftp.gnu.org/gnu/ncurses/ncurses-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in
|
||||||
|
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--mandir=/usr/share/man \
|
||||||
|
--with-shared \
|
||||||
|
--without-debug \
|
||||||
|
--without-normal \
|
||||||
|
--enable-pc-files \
|
||||||
|
--enable-widec
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
mv -v /usr/lib/libncursesw.so.6* /lib
|
||||||
|
ln -sfv ../../lib/$(readlink /usr/lib/libncursesw.so) /usr/lib/libncursesw.so
|
||||||
|
for lib in ncurses form panel menu ; do
|
||||||
|
rm -vf /usr/lib/lib${lib}.so
|
||||||
|
echo "INPUT(-l${lib}w)" > /usr/lib/lib${lib}.so
|
||||||
|
ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc
|
||||||
|
done
|
||||||
|
rm -vf /usr/lib/libcursesw.so
|
||||||
|
echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so
|
||||||
|
ln -sfv libncurses.so /usr/lib/libcurses.so
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
41
lfs/pkgscripts/ninja
Executable file
41
lfs/pkgscripts/ninja
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.8.2
|
||||||
|
url=https://github.com/ninja-build/ninja/archive/v$version/ninja-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
fetch http://www.linuxfromscratch.org/patches/lfs/8.3/ninja-$version-add_NINJAJOBS_var-1.patch
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
export NINJAJOBS=4
|
||||||
|
|
||||||
|
patch -Np1 -i $SOURCE_DIR/ninja-$version-add_NINJAJOBS_var-1.patch
|
||||||
|
|
||||||
|
python3 configure.py --bootstrap
|
||||||
|
python3 configure.py
|
||||||
|
./ninja ninja_test
|
||||||
|
./ninja_test --gtest_filter=-SubprocessTest.SetWithLots
|
||||||
|
install -vm755 ninja /usr/bin/
|
||||||
|
install -vDm644 misc/bash-completion /usr/share/bash-completion/completions/ninja
|
||||||
|
install -vDm644 misc/zsh-completion /usr/share/zsh/site-functions/_ninja
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
37
lfs/pkgscripts/openssl
Executable file
37
lfs/pkgscripts/openssl
Executable file
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.1.0i
|
||||||
|
url=https://openssl.org/source/openssl-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./config --prefix=/usr \
|
||||||
|
--openssldir=/etc/ssl \
|
||||||
|
--libdir=lib \
|
||||||
|
shared \
|
||||||
|
zlib-dynamic
|
||||||
|
make
|
||||||
|
sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
|
||||||
|
make MANSUFFIX=ssl install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
42
lfs/pkgscripts/p11-kit
Executable file
42
lfs/pkgscripts/p11-kit
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=0.23.14
|
||||||
|
url=https://github.com/p11-glue/p11-kit/releases/download/$version/p11-kit-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed '20,$ d' -i trust/trust-extract-compat.in &&
|
||||||
|
cat >> trust/trust-extract-compat.in << "EOF"
|
||||||
|
echo "Please create an OpenSSL Trusted Certificate with appropriate"
|
||||||
|
echo "trust arguments in /etc/ssl/local/ and run '/usr/sbin/make-ca -f'"
|
||||||
|
echo "as the root user."
|
||||||
|
exit 1
|
||||||
|
EOF
|
||||||
|
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--with-trust-paths=/etc/pki/anchors
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/patch
Executable file
32
lfs/pkgscripts/patch
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.7.6
|
||||||
|
url=http://ftp.gnu.org/gnu/patch/patch-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
44
lfs/pkgscripts/perl
Executable file
44
lfs/pkgscripts/perl
Executable file
|
@ -0,0 +1,44 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=5.28.0
|
||||||
|
url=https://www.cpan.org/src/5.0/perl-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
echo "127.0.0.1 localhost lfs" > /etc/hosts
|
||||||
|
|
||||||
|
export BUILD_ZLIB=False
|
||||||
|
export BUILD_BZIP2=0
|
||||||
|
|
||||||
|
sh Configure -des -Dprefix=/usr \
|
||||||
|
-Dvendorprefix=/usr \
|
||||||
|
-Dman1dir=/usr/share/man/man1 \
|
||||||
|
-Dman3dir=/usr/share/man/man3 \
|
||||||
|
-Dpager="/usr/bin/less -isR" \
|
||||||
|
-Duseshrplib \
|
||||||
|
-Dusethreads
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
unset BUILD_ZLIB BUILD_BZIP2
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/perl-xml-parser
Executable file
32
lfs/pkgscripts/perl-xml-parser
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=XML-Parser
|
||||||
|
version=2.44
|
||||||
|
url=https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
perl Makefile.PL
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
35
lfs/pkgscripts/pkg-config
Executable file
35
lfs/pkgscripts/pkg-config
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=0.29.2
|
||||||
|
url=https://pkg-config.freedesktop.org/releases/pkg-config-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--with-internal-glib \
|
||||||
|
--disable-host-tool \
|
||||||
|
--docdir=/usr/share/doc/pkg-config-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
39
lfs/pkgscripts/procps-ng
Executable file
39
lfs/pkgscripts/procps-ng
Executable file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=3.3.15
|
||||||
|
url=https://sourceforge.net/projects/procps-ng/files/Production/procps-ng-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--exec-prefix= \
|
||||||
|
--libdir=/usr/lib \
|
||||||
|
--docdir=/usr/share/doc/procps-ng-3.3.15 \
|
||||||
|
--disable-static \
|
||||||
|
--disable-kill
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
mv -v /usr/lib/libprocps.so.* /lib
|
||||||
|
ln -sfv ../../lib/$(readlink /usr/lib/libprocps.so) /usr/lib/libprocps.so
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
34
lfs/pkgscripts/psmisc
Executable file
34
lfs/pkgscripts/psmisc
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=23.1
|
||||||
|
url=https://sourceforge.net/projects/psmisc/files/psmisc/psmisc-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
mv -v /usr/bin/fuser /bin
|
||||||
|
mv -v /usr/bin/killall /bin
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
38
lfs/pkgscripts/python3
Executable file
38
lfs/pkgscripts/python3
Executable file
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=Python
|
||||||
|
version=3.7.0
|
||||||
|
url=https://www.python.org/ftp/python/$version/Python-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--enable-shared \
|
||||||
|
--with-system-expat \
|
||||||
|
--with-system-ffi \
|
||||||
|
--with-ensurepip=yes
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
chmod -v 755 /usr/lib/libpython3.7m.so
|
||||||
|
chmod -v 755 /usr/lib/libpython3.so
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
42
lfs/pkgscripts/readline
Executable file
42
lfs/pkgscripts/readline
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=readline
|
||||||
|
version=7.0
|
||||||
|
url=http://ftp.gnu.org/gnu/readline/readline-7.0.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i '/MV.*old/d' Makefile.in
|
||||||
|
sed -i '/{OLDSUFF}/c:' support/shlib-install
|
||||||
|
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--disable-static \
|
||||||
|
--docdir=/usr/share/doc/readline-$version
|
||||||
|
make SHLIB_LIBS="-L/tools/lib -lncursesw"
|
||||||
|
make SHLIB_LIBS="-L/tools/lib -lncurses" install
|
||||||
|
|
||||||
|
mv -v /usr/lib/lib{readline,history}.so.* /lib
|
||||||
|
chmod -v u+w /lib/lib{readline,history}.so.*
|
||||||
|
ln -sfv ../../lib/$(readlink /usr/lib/libreadline.so) /usr/lib/libreadline.so
|
||||||
|
ln -sfv ../../lib/$(readlink /usr/lib/libhistory.so ) /usr/lib/libhistory.so
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
35
lfs/pkgscripts/sed
Executable file
35
lfs/pkgscripts/sed
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=4.5
|
||||||
|
url=http://ftp.gnu.org/gnu/sed/sed-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i 's/usr/tools/' build-aux/help2man
|
||||||
|
sed -i 's/testsuite.panic-tests.sh//' Makefile.in
|
||||||
|
|
||||||
|
./configure --prefix=/usr --bindir=/bin
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
43
lfs/pkgscripts/shadow
Executable file
43
lfs/pkgscripts/shadow
Executable file
|
@ -0,0 +1,43 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=4.6
|
||||||
|
url=https://github.com/shadow-maint/shadow/releases/download/$version/shadow-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i 's/groups$(EXEEXT) //' src/Makefile.in
|
||||||
|
find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \;
|
||||||
|
find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \;
|
||||||
|
find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;
|
||||||
|
|
||||||
|
sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD SHA512@' \
|
||||||
|
-e 's@/var/spool/mail@/var/mail@' etc/login.defs
|
||||||
|
|
||||||
|
sed -i 's/1000/999/' etc/useradd
|
||||||
|
|
||||||
|
./configure --sysconfdir=/etc --with-group-name-max-length=32
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
mv -v /usr/bin/passwd /bin
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
34
lfs/pkgscripts/sysklogd
Executable file
34
lfs/pkgscripts/sysklogd
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.5.1
|
||||||
|
url=http://www.infodrom.org/projects/sysklogd/download/sysklogd-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c
|
||||||
|
sed -i 's/union wait/int/' syslogd.c
|
||||||
|
|
||||||
|
make
|
||||||
|
make BINDIR=/sbin install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
33
lfs/pkgscripts/sysvinit
Executable file
33
lfs/pkgscripts/sysvinit
Executable file
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.90
|
||||||
|
url=http://download.savannah.gnu.org/releases/sysvinit/sysvinit-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
fetch http://www.linuxfromscratch.org/patches/lfs/8.3/sysvinit-$version-consolidated-1.patch
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
patch -Np1 -i $SOURCE_DIR/sysvinit-$version-consolidated-1.patch
|
||||||
|
make -C src
|
||||||
|
make -C src install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
34
lfs/pkgscripts/tar
Executable file
34
lfs/pkgscripts/tar
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.30
|
||||||
|
url=http://ftp.gnu.org/gnu/tar/tar-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
FORCE_UNSAFE_CONFIGURE=1 \
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--bindir=/bin
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
32
lfs/pkgscripts/template
Executable file
32
lfs/pkgscripts/template
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=
|
||||||
|
url=
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
40
lfs/pkgscripts/texinfo
Executable file
40
lfs/pkgscripts/texinfo
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=6.5
|
||||||
|
url=http://ftp.gnu.org/gnu/texinfo/texinfo-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
sed -i '5481,5485 s/({/(\\{/' tp/Texinfo/Parser.pm
|
||||||
|
|
||||||
|
./configure --prefix=/usr --disable-static
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
pushd /usr/share/info
|
||||||
|
rm -v dir
|
||||||
|
for f in *
|
||||||
|
do install-info $f dir 2>/dev/null
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
48
lfs/pkgscripts/util-linux
Executable file
48
lfs/pkgscripts/util-linux
Executable file
|
@ -0,0 +1,48 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.32.1
|
||||||
|
url=https://www.kernel.org/pub/linux/utils/util-linux/v${version::4}/util-linux-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
mkdir -pv /var/lib/hwclock
|
||||||
|
|
||||||
|
rm -vf /usr/include/{blkid,libmount,uuid}
|
||||||
|
|
||||||
|
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
|
||||||
|
--docdir=/usr/share/doc/util-linux-$version \
|
||||||
|
--disable-chfn-chsh \
|
||||||
|
--disable-login \
|
||||||
|
--disable-nologin \
|
||||||
|
--disable-su \
|
||||||
|
--disable-setpriv \
|
||||||
|
--disable-runuser \
|
||||||
|
--disable-pylibmount \
|
||||||
|
--disable-static \
|
||||||
|
--without-python \
|
||||||
|
--without-systemd \
|
||||||
|
--without-systemdsystemunitdir
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
57
lfs/pkgscripts/vim
Executable file
57
lfs/pkgscripts/vim
Executable file
|
@ -0,0 +1,57 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=8.1
|
||||||
|
url=ftp://ftp.vim.org/pub/vim/unix/vim-$version.tar.bz2
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/vim81
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
|
||||||
|
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
ln -svf vim /usr/bin/vi
|
||||||
|
for L in /usr/share/man/{,*/}man1/vim.1; do
|
||||||
|
ln -svf vim.1 $(dirname $L)/vi.1
|
||||||
|
done
|
||||||
|
ln -sfv ../vim/vim81/doc /usr/share/doc/vim-$version
|
||||||
|
cat > /etc/vimrc << "EOF"
|
||||||
|
" Begin /etc/vimrc
|
||||||
|
|
||||||
|
" Ensure defaults are set before customizing settings, not after
|
||||||
|
source $VIMRUNTIME/defaults.vim
|
||||||
|
let skip_defaults_vim=1
|
||||||
|
|
||||||
|
set nocompatible
|
||||||
|
set backspace=2
|
||||||
|
set mouse=
|
||||||
|
syntax on
|
||||||
|
if (&term == "xterm") || (&term == "putty")
|
||||||
|
set background=dark
|
||||||
|
endif
|
||||||
|
|
||||||
|
" End /etc/vimrc
|
||||||
|
EOF
|
||||||
|
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/vim81
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
34
lfs/pkgscripts/wget
Executable file
34
lfs/pkgscripts/wget
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=1.19.5
|
||||||
|
url=https://ftp.gnu.org/gnu/wget/wget-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--with-ssl=openssl
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
81
lfs/pkgscripts/wpa_supplicant
Executable file
81
lfs/pkgscripts/wpa_supplicant
Executable file
|
@ -0,0 +1,81 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=2.6
|
||||||
|
url=https://w1.fi/releases/wpa_supplicant-$version.tar.gz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
fetch http://www.linuxfromscratch.org/patches/blfs/8.3/wpa_supplicant-$version-upstream_fixes-2.patch
|
||||||
|
fetch http://anduin.linuxfromscratch.org/BLFS/blfs-bootscripts/blfs-bootscripts-20180105.tar.xz
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
cat > wpa_supplicant/.config << "EOF"
|
||||||
|
CONFIG_BACKEND=file
|
||||||
|
CONFIG_CTRL_IFACE=y
|
||||||
|
CONFIG_DEBUG_FILE=y
|
||||||
|
CONFIG_DEBUG_SYSLOG=y
|
||||||
|
CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
|
||||||
|
CONFIG_DRIVER_NL80211=y
|
||||||
|
CONFIG_DRIVER_WEXT=y
|
||||||
|
CONFIG_DRIVER_WIRED=y
|
||||||
|
CONFIG_EAP_GTC=y
|
||||||
|
CONFIG_EAP_LEAP=y
|
||||||
|
CONFIG_EAP_MD5=y
|
||||||
|
CONFIG_EAP_MSCHAPV2=y
|
||||||
|
CONFIG_EAP_OTP=y
|
||||||
|
CONFIG_EAP_PEAP=y
|
||||||
|
CONFIG_EAP_TLS=y
|
||||||
|
CONFIG_EAP_TTLS=y
|
||||||
|
CONFIG_IEEE8021X_EAPOL=y
|
||||||
|
CONFIG_IPV6=y
|
||||||
|
CONFIG_LIBNL32=y
|
||||||
|
CONFIG_PEERKEY=y
|
||||||
|
CONFIG_PKCS12=y
|
||||||
|
CONFIG_READLINE=y
|
||||||
|
CONFIG_SMARTCARD=y
|
||||||
|
CONFIG_WPS=y
|
||||||
|
CFLAGS += -I/usr/include/libnl3
|
||||||
|
EOF
|
||||||
|
|
||||||
|
patch -p1 -i $SOURCE_DIR/wpa_supplicant-$version-upstream_fixes-2.patch
|
||||||
|
|
||||||
|
cd wpa_supplicant
|
||||||
|
make BINDIR=/sbin LIBDIR=/lib
|
||||||
|
install -v -m755 wpa_{cli,passphrase,supplicant} /sbin/
|
||||||
|
install -v -m644 doc/docbook/wpa_supplicant.conf.5 /usr/share/man/man5/
|
||||||
|
install -v -m644 doc/docbook/wpa_{cli,passphrase,supplicant}.8 /usr/share/man/man8/
|
||||||
|
tar -xvf $SOURCE_DIR/blfs-bootscripts-20180105.tar.xz
|
||||||
|
cd blfs-bootscripts-20180105
|
||||||
|
make install-service-wpa
|
||||||
|
cat > /etc/sysconfig/ifconfig.wifi << "EOF"
|
||||||
|
ONBOOT="no"
|
||||||
|
IFACE="wlan0"
|
||||||
|
SERVICE="wpa"
|
||||||
|
|
||||||
|
# Additional arguments to wpa_supplicant
|
||||||
|
WPA_ARGS=""
|
||||||
|
|
||||||
|
WPA_SERVICE="dhcpcd"
|
||||||
|
#DHCP_START="-b -q <insert appropriate start options here>"
|
||||||
|
#DHCP_STOP="-k <insert additional stop options here>"
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
37
lfs/pkgscripts/xz
Executable file
37
lfs/pkgscripts/xz
Executable file
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=$(basename $0)
|
||||||
|
version=5.2.4
|
||||||
|
url=https://tukaani.org/xz/xz-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$(basename $url) -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--disable-static \
|
||||||
|
--docdir=/usr/share/doc/xz-$version
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
mv -v /usr/bin/{lzma,unlzma,lzcat,xz,unxz,xzcat} /bin
|
||||||
|
mv -v /usr/lib/liblzma.so.* /lib
|
||||||
|
ln -svf ../../lib/$(readlink /usr/lib/liblzma.so) /usr/lib/liblzma.so
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
34
lfs/pkgscripts/zlib
Executable file
34
lfs/pkgscripts/zlib
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /etc/pkg/pkg.conf
|
||||||
|
. /var/lib/pkg/functions
|
||||||
|
|
||||||
|
name=zlib
|
||||||
|
version=1.2.11
|
||||||
|
url=https://zlib.net/zlib-$version.tar.xz
|
||||||
|
|
||||||
|
fetch $url
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
tar -xvf $SOURCE_DIR/$name-$version.tar.xz -C $WORK_DIR
|
||||||
|
|
||||||
|
cd $WORK_DIR/$name-$version
|
||||||
|
{ time \
|
||||||
|
{
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
mv -v /usr/lib/libz.so.* /lib
|
||||||
|
ln -sfv ../../lib/$(readlink /usr/lib/libz.so) /usr/lib/libz.so
|
||||||
|
}
|
||||||
|
} 2>&1 | tee -a $LOG_DIR/$(basename $0).log
|
||||||
|
|
||||||
|
if [ $PIPESTATUS -ne 0 ]; then exit 1; fi;
|
||||||
|
|
||||||
|
rm -fr $WORK_DIR/$name-$version
|
||||||
|
|
||||||
|
registerpkg $(basename $0) $version
|
||||||
|
|
||||||
|
exit 0
|
BIN
livecd/isolinux/chain.c32
Executable file
BIN
livecd/isolinux/chain.c32
Executable file
Binary file not shown.
BIN
livecd/isolinux/isohdpfx.bin
Executable file
BIN
livecd/isolinux/isohdpfx.bin
Executable file
Binary file not shown.
BIN
livecd/isolinux/isolinux.bin
Executable file
BIN
livecd/isolinux/isolinux.bin
Executable file
Binary file not shown.
43
livecd/isolinux/isolinux.cfg
Executable file
43
livecd/isolinux/isolinux.cfg
Executable file
|
@ -0,0 +1,43 @@
|
||||||
|
UI /isolinux/menu.c32
|
||||||
|
DEFAULT silent
|
||||||
|
TIMEOUT 100
|
||||||
|
#MENU RESOLUTION 1024 768
|
||||||
|
|
||||||
|
MENU VSHIFT 3
|
||||||
|
#MENU ROWS 7
|
||||||
|
|
||||||
|
# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
|
||||||
|
MENU TITLE Linux From Scratch 8.3 LiveCD
|
||||||
|
#MENU BACKGROUND splash.png
|
||||||
|
#MENU COLOR border 30;44 #40ffffff #a0000000 std
|
||||||
|
#MENU COLOR title 1;36;44 #9033ccff #a0000000 std
|
||||||
|
#MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
|
||||||
|
#MENU COLOR unsel 37;44 #50ffffff #a0000000 std
|
||||||
|
#MENU COLOR help 37;40 #c0ffffff #a0000000 std
|
||||||
|
#MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
|
||||||
|
#MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
|
||||||
|
#MENU COLOR msg07 37;40 #90ffffff #a0000000 std
|
||||||
|
#MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
|
||||||
|
|
||||||
|
LABEL silent
|
||||||
|
MENU LABEL Boot Linux From Scratch 8.3
|
||||||
|
KERNEL /boot/vmlinuz
|
||||||
|
APPEND initrd=/boot/initrd quiet
|
||||||
|
|
||||||
|
LABEL debug
|
||||||
|
MENU LABEL Linux From Scratch 8.3 (Debug)
|
||||||
|
KERNEL /boot/vmlinuz
|
||||||
|
APPEND initrd=/boot/initrd verbose
|
||||||
|
|
||||||
|
LABEL existing
|
||||||
|
MENU LABEL Boot existing OS
|
||||||
|
COM32 chain.c32
|
||||||
|
APPEND hd0 0
|
||||||
|
|
||||||
|
LABEL reboot
|
||||||
|
MENU LABEL Reboot
|
||||||
|
COM32 reboot.c32
|
||||||
|
|
||||||
|
LABEL poweroff
|
||||||
|
MENU LABEL Poweroff
|
||||||
|
COM32 poweroff.c32
|
BIN
livecd/isolinux/ldlinux.c32
Executable file
BIN
livecd/isolinux/ldlinux.c32
Executable file
Binary file not shown.
BIN
livecd/isolinux/libcom32.c32
Executable file
BIN
livecd/isolinux/libcom32.c32
Executable file
Binary file not shown.
BIN
livecd/isolinux/libutil.c32
Executable file
BIN
livecd/isolinux/libutil.c32
Executable file
Binary file not shown.
BIN
livecd/isolinux/menu.c32
Executable file
BIN
livecd/isolinux/menu.c32
Executable file
Binary file not shown.
BIN
livecd/isolinux/poweroff.c32
Executable file
BIN
livecd/isolinux/poweroff.c32
Executable file
Binary file not shown.
BIN
livecd/isolinux/reboot.c32
Executable file
BIN
livecd/isolinux/reboot.c32
Executable file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue