This commit is contained in:
emmett1 2020-11-13 13:58:01 +08:00
parent cd7225d905
commit f4de394076
90 changed files with 5971 additions and 406 deletions

2
.gitignore vendored
View file

@ -1,4 +1,4 @@
*.iso *.iso
*.tar.xz *.tar.xz
*.img *.img
config

View file

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -e
fetch() { fetch() {
tarballname=$(echo $1 | rev | cut -d / -f 1 | rev) tarballname=$(echo $1 | rev | cut -d / -f 1 | rev)
@ -104,7 +104,9 @@ fi
CWD=$PWD CWD=$PWD
source $CWD/config if [ -f $CWD/config ]; then
source $CWD/config
fi
PATH=/tools/bin:/bin:/usr/bin PATH=/tools/bin:/bin:/usr/bin
@ -112,9 +114,19 @@ TCDIR=$CWD/toolchain
PATCHDIR=$CWD/patches PATCHDIR=$CWD/patches
FILEDIR=$CWD/files FILEDIR=$CWD/files
export LC_ALL=C PATH MAKEFLAGS LFS LFS_TGT LFS_TGT=x86_64-lfs-linux-gnu
LFS_TGT32=i686-lfs-linux-gnu
mkdir -p $TCDIR $SRCDIR $WORKDIR MAKEFLAGS="${MAKEFLAGS:--j$(nproc)}"
LFS="${LFS:-/mnt/lfs}"
PKGDIR="${PKGDIR:-$CWD/pkg}"
SRCDIR="${SRCDIR:-$CWD/src}"
WORKDIR="${WORKDIR:-/tmp}"
CFLAGS="${CFLAGS:--O2 -march=x86-64 -pipe}"
export LC_ALL=C PATH MAKEFLAGS LFS LFS_TGT LFS_TGT32
mkdir -p $SRCDIR $PKGDIR $WORKDIR
if [ ! -d $LFS/tools ]; then if [ ! -d $LFS/tools ]; then
sudo mkdir -pv $LFS/tools sudo mkdir -pv $LFS/tools

29
02-base
View file

@ -75,6 +75,16 @@ umount_pseudo() {
unmount $LFS/sys unmount $LFS/sys
} }
mountbind_srcpkg() {
mount --bind $SRCDIR $LFS/var/lib/pkg/src
mount --bind $PKGDIR $LFS/var/lib/pkg/pkg
}
unmountbind_srcpkg() {
unmount $LFS/var/lib/pkg/src
unmount $LFS/var/lib/pkg/pkg
}
unmount() { unmount() {
while true; do while true; do
mountpoint -q $1 || break mountpoint -q $1 || break
@ -85,6 +95,7 @@ unmount() {
runinchroot() { runinchroot() {
pushd $LFS &>/dev/null pushd $LFS &>/dev/null
mount_pseudo mount_pseudo
mountbind_srcpkg
cp -L /etc/resolv.conf $LFS/etc/ cp -L /etc/resolv.conf $LFS/etc/
chroot "$LFS" $ENVLFS -i \ chroot "$LFS" $ENVLFS -i \
HOME=/root \ HOME=/root \
@ -92,6 +103,7 @@ runinchroot() {
PS1='(lfs chroot) \u:\w\$ ' \ PS1='(lfs chroot) \u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin $@ PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin $@
retval=$? retval=$?
unmountbind_srcpkg
umount_pseudo umount_pseudo
popd &>/dev/null popd &>/dev/null
return $retval return $retval
@ -103,6 +115,7 @@ interrupted() {
die() { die() {
[ "$@" ] && printerror $@ [ "$@" ] && printerror $@
unmountbind_srcpkg
umount_pseudo umount_pseudo
exit 1 exit 1
} }
@ -113,15 +126,23 @@ printerror() {
trap "interrupted" SIGHUP SIGINT SIGQUIT SIGTERM trap "interrupted" SIGHUP SIGINT SIGQUIT SIGTERM
CWD=$PWD
source $CWD/config
if [ $(id -u) != 0 ]; then if [ $(id -u) != 0 ]; then
echo "$0 script need to run as root!" echo "$0 script need to run as root!"
exit 1 exit 1
fi fi
CWD=$PWD
if [ -f $CWD/config ]; then
source $CWD/config
fi
MAKEFLAGS="${MAKEFLAGS:--j$(nproc)}"
LFS="${LFS:-/mnt/lfs}"
PKGDIR="${PKGDIR:-$CWD/pkg}"
SRCDIR="${SRCDIR:-$CWD/src}"
WORKDIR="${WORKDIR:-/tmp}"
if [ -x $LFS/usr/bin/env ]; then if [ -x $LFS/usr/bin/env ]; then
ENVLFS=/usr/bin/env ENVLFS=/usr/bin/env
else else

View file

@ -56,14 +56,21 @@ printerror() {
} }
CWD=$PWD CWD=$PWD
LFS="/mnt/lfs"
WORKDIR="$LFS/tmp" if [ -f $CWD/config ]; then
source $CWD/config
fi
WDIR="$WORKDIR/iso" WDIR="$WORKDIR/iso"
LABEL="LFSLIVECD" LABEL="LFSLIVECD"
OUTPUT="lfs-livecd-$(date +"%Y%m%d").iso" OUTPUT="lfs-livecd-$(date +"%Y%m%d").iso"
FILEDIR="$CWD/files" FILEDIR="$CWD/files"
. $CWD/config MAKEFLAGS="${MAKEFLAGS:--j$(nproc)}"
LFS="${LFS:-/mnt/lfs}"
PKGDIR="${PKGDIR:-$CWD/pkg}"
SRCDIR="${SRCDIR:-$CWD/src}"
WORKDIR="${WORKDIR:-/tmp}"
isolinux_files="chain.c32 isolinux.bin ldlinux.c32 libutil.c32 reboot.c32 menu.c32 libcom32.c32 poweroff.c32" isolinux_files="chain.c32 isolinux.bin ldlinux.c32 libutil.c32 reboot.c32 menu.c32 libcom32.c32 poweroff.c32"

9
config
View file

@ -1,9 +0,0 @@
# config file for toolchain scripts
# modify according your needs
MAKEFLAGS="-j$(nproc)"
LFS="/mnt/lfs"
LFS_TGT=$(uname -m)-lfs-linux-gnu
LFS_TGT32=i686-lfs-linux-gnu
SRCDIR=$LFS/var/lib/pkg/src
WORKDIR=$LFS/tmp

9
config.default Executable file
View file

@ -0,0 +1,9 @@
# config file for toolchain scripts
# modify according your needs
#MAKEFLAGS="-j$(nproc)"
#LFS="/mnt/lfs"
#PKGDIR="$CWD/pkg"
#SRCDIR="$CWD/src"
#WORKDIR="/tmp"
#CFLAGS="-O2 -march=x86-64 -pipe"

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=automake name=automake
version=1.16.1 version=1.16.2
release=1 release=1
source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz) source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=bc name=bc
version=2.5.3 version=3.1.6
release=1 release=1
source=(https://github.com/gavinhoward/bc/archive/$version/bc-$version.tar.gz) source=(https://github.com/gavinhoward/bc/archive/$version/bc-$version.tar.gz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=binutils name=binutils
version=2.34 version=2.35.1
release=1 release=1
source=(https://ftp.gnu.org/gnu/binutils/$name-$version.tar.xz) source=(https://ftp.gnu.org/gnu/binutils/$name-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=bison name=bison
version=3.5.2 version=3.7.3
release=1 release=1
source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz) source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

View file

@ -4,17 +4,17 @@
# Depends on: # Depends on:
name=coreutils name=coreutils
version=8.31 version=8.32
release=1 release=1
source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz
http://www.linuxfromscratch.org/patches/lfs/9.1/coreutils-$version-i18n-1.patch) coreutils-i18n-1.patch)
build() { build() {
cd $name-$version cd $name-$version
# fixes POSIX requires that programs from Coreutils recognize # fixes POSIX requires that programs from Coreutils recognize
# character boundaries correctly even in multibyte locales # character boundaries correctly even in multibyte locales
patch -Np1 -i ../coreutils-$version-i18n-1.patch #patch -Np1 -i ../coreutils-i18n-1.patch
sed -i '/test.lock/s/^/#/' gnulib-tests/gnulib.mk sed -i '/test.lock/s/^/#/' gnulib-tests/gnulib.mk
autoreconf -fiv autoreconf -fiv

File diff suppressed because it is too large Load diff

View file

@ -4,7 +4,7 @@
# Depends on: ca-certificates openssl # Depends on: ca-certificates openssl
name=curl name=curl
version=7.68.0 version=7.73.0
release=1 release=1
source=(https://curl.haxx.se/download/$name-$version.tar.xz) source=(https://curl.haxx.se/download/$name-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=dbus name=dbus
version=1.12.16 version=1.12.20
release=1 release=1
source=(https://dbus.freedesktop.org/releases/dbus/dbus-$version.tar.gz) source=(https://dbus.freedesktop.org/releases/dbus/dbus-$version.tar.gz)

View file

@ -4,8 +4,8 @@
# Depends on: # Depends on:
name=dhcpcd name=dhcpcd
version=8.1.6 version=9.3.2
bootscriptsversion=20191204 bootscriptsversion=20201002
release=1 release=1
source=(https://roy.marples.name/downloads/dhcpcd/dhcpcd-$version.tar.xz source=(https://roy.marples.name/downloads/dhcpcd/dhcpcd-$version.tar.xz
http://anduin.linuxfromscratch.org/BLFS/blfs-bootscripts/blfs-bootscripts-$bootscriptsversion.tar.xz) http://anduin.linuxfromscratch.org/BLFS/blfs-bootscripts/blfs-bootscripts-$bootscriptsversion.tar.xz)

View file

@ -4,12 +4,16 @@
# Depends on: efivar pciutils # Depends on: efivar pciutils
name=efibootmgr name=efibootmgr
version=16 version=17
release=1 release=1
source=(https://github.com/rhboot/efibootmgr/releases/download/$version/efibootmgr-$version.tar.bz2) source=(https://github.com/rhboot/efibootmgr/archive/$version/$name-$version.tar.gz
efivar.patch)
build() { build() {
cd $name-$version cd $name-$version
patch -Np1 -i $SRC/efivar.patch
EFIDIR=/boot/efi make EFIDIR=/boot/efi make
install -D src/efibootmgr $PKG/usr/sbin/efibootmgr install -D src/efibootmgr $PKG/usr/sbin/efibootmgr
install -D src/efibootmgr.8 $PKG/usr/share/man/man8/efibootmgr.8 install -D src/efibootmgr.8 $PKG/usr/share/man/man8/efibootmgr.8

View file

@ -0,0 +1,14 @@
diff --git a/src/efibootmgr.c b/src/efibootmgr.c
index de38f01..4e1a680 100644
--- a/src/efibootmgr.c
+++ b/src/efibootmgr.c
@@ -1536,9 +1536,6 @@ parse_opts(int argc, char **argv)
"invalid numeric value %s\n",
optarg);
}
- /* XXX efivar-36 accidentally doesn't have a public
- * header for this */
- extern int efi_set_verbose(int verbosity, FILE *errlog);
efi_set_verbose(opts.verbose - 2, stderr);
break;
case 'V':

View file

@ -1,51 +0,0 @@
From 0dad6d78a7fb5f6c5fb4a1d646040539db6cf865 Mon Sep 17 00:00:00 2001
From: Chih-Wei Huang <cwhuang@linux.org.tw>
Date: Tue, 26 Feb 2019 18:42:20 +0800
Subject: [PATCH] Fix another error of -Werror=address-of-packed-member
Android 9 clang complains:
external/efivar/src/dp-message.c:367:24: error: taking address of packed member '' of class or structure 'efidp_infiniband' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member]
(efi_guid_t *)&dp->infiniband.ioc_guid);
^~~~~~~~~~~~~~~~~~~~~~~
external/efivar/src/dp.h:76:19: note: expanded from macro 'format_guid'
memmove(&_guid, guid, sizeof(_guid)); \
^~~~
1 error generated.
Since commit c3c553d the fifth parameter of format_guid() is treated as
a const void *. The casting is unnecessary.
Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
---
src/dp-media.c | 3 +--
src/dp-message.c | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/dp-media.c b/src/dp-media.c
index 96a576f..be691c4 100644
--- a/src/dp-media.c
+++ b/src/dp-media.c
@@ -46,8 +46,7 @@ _format_media_dn(char *buf, size_t size, const_efidp dp)
break;
case EFIDP_HD_SIGNATURE_GUID:
format(buf, size, off, "HD", "GPT,");
- format_guid(buf, size, off, "HD",
- (efi_guid_t *)dp->hd.signature);
+ format_guid(buf, size, off, "HD", dp->hd.signature);
format(buf, size, off, "HD",
",0x%"PRIx64",0x%"PRIx64")",
dp->hd.start, dp->hd.size);
diff --git a/src/dp-message.c b/src/dp-message.c
index 9f96466..6b8e907 100644
--- a/src/dp-message.c
+++ b/src/dp-message.c
@@ -364,7 +364,7 @@ _format_message_dn(char *buf, size_t size, const_efidp dp)
dp->infiniband.port_gid[1],
dp->infiniband.port_gid[0]);
format_guid(buf, size, off, "Infiniband",
- (efi_guid_t *)&dp->infiniband.ioc_guid);
+ &dp->infiniband.ioc_guid);
format(buf, size, off, "Infiniband",
",%"PRIu64",%"PRIu64")",
dp->infiniband.target_port_id,

View file

@ -6,18 +6,11 @@
name=efivar name=efivar
version=37 version=37
release=1 release=1
source=(https://github.com/rhboot/efivar/releases/download/$version/$name-$version.tar.bz2 source=(https://github.com/rhboot/efivar/releases/download/$version/$name-$version.tar.bz2)
0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch
b98ba8921010d03f46704a476c69861515deb1ca.patch
c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch)
build() { build() {
cd $name-$version cd $name-$version
sed -e 's/-Werror//g' -i gcc.specs
# thanks to ataraxia for the patch
patch -Np1 -i ../0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch
patch -Np1 -i ../b98ba8921010d03f46704a476c69861515deb1ca.patch
patch -Np1 -i ../c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch
make -j1 make -j1
make libdir=/usr/lib DESTDIR=$PKG install make libdir=/usr/lib DESTDIR=$PKG install
} }

View file

@ -1,56 +0,0 @@
From b98ba8921010d03f46704a476c69861515deb1ca Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 7 Jan 2019 10:30:59 -0500
Subject: [PATCH] dp.h: make format_guid() handle misaligned guid pointers
safely.
GCC 9 adds -Werror=address-of-packed-member, which causes us to see the
build error reported at
https://bugzilla.opensuse.org/show_bug.cgi?id=1120862 .
That bug report shows us the following:
In file included from dp.c:26:
dp.h: In function 'format_vendor_helper':
dp.h:120:37: error: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Werror=address-of-packed-member]
120 | format_guid(buf, size, off, label, &dp->hw_vendor.vendor_guid);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
dp.h:74:25: note: in definition of macro 'format_guid'
74 | _rc = efi_guid_to_str(guid, &_guidstr); \
| ^~~~
cc1: all warnings being treated as errors
This patch makes format_guid() use a local variable as a bounce buffer
in the case that the guid we're passed is aligned as chaotic neutral.
Note that this only fixes this instance and there may be others that bz
didn't show because it exited too soon, and I don't have a gcc 9 build
in front of me right now.
Signed-off-by: Peter Jones <pjones@redhat.com>
---
src/dp.h | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/dp.h b/src/dp.h
index aa4e390..20cb608 100644
--- a/src/dp.h
+++ b/src/dp.h
@@ -70,8 +70,15 @@
#define format_guid(buf, size, off, dp_type, guid) ({ \
int _rc; \
char *_guidstr = NULL; \
- \
- _rc = efi_guid_to_str(guid, &_guidstr); \
+ efi_guid_t _guid; \
+ const efi_guid_t * const _guid_p = \
+ likely(__alignof__(guid) == sizeof(guid)) \
+ ? guid \
+ : &_guid; \
+ \
+ if (unlikely(__alignof__(guid) == sizeof(guid))) \
+ memmove(&_guid, guid, sizeof(_guid)); \
+ _rc = efi_guid_to_str(_guid_p, &_guidstr); \
if (_rc < 0) { \
efi_error("could not build %s GUID DP string", \
dp_type); \

View file

@ -1,168 +0,0 @@
From c3c553db85ff10890209d0fe48fb4856ad68e4e0 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Thu, 21 Feb 2019 15:20:12 -0500
Subject: [PATCH] Fix all the places -Werror=address-of-packed-member catches.
This gets rid of all the places GCC 9's -Werror=address-of-packed-member
flags as problematic.
Fixes github issue #123
Signed-off-by: Peter Jones <pjones@redhat.com>
---
src/dp-message.c | 6 ++++--
src/dp.h | 12 ++++--------
src/guid.c | 2 +-
src/include/efivar/efivar.h | 2 +-
src/ucs2.h | 27 +++++++++++++++++++--------
5 files changed, 29 insertions(+), 20 deletions(-)
diff --git a/src/dp-message.c b/src/dp-message.c
index 3724e5f..9f96466 100644
--- a/src/dp-message.c
+++ b/src/dp-message.c
@@ -620,11 +620,13 @@ _format_message_dn(char *buf, size_t size, const_efidp dp)
) / sizeof(efi_ip_addr_t);
format(buf, size, off, "Dns", "Dns(");
for (int i=0; i < end; i++) {
- const efi_ip_addr_t *addr = &dp->dns.addrs[i];
+ efi_ip_addr_t addr;
+
+ memcpy(&addr, &dp->dns.addrs[i], sizeof(addr));
if (i != 0)
format(buf, size, off, "Dns", ",");
format_ip_addr(buf, size, off, "Dns",
- dp->dns.is_ipv6, addr);
+ dp->dns.is_ipv6, &addr);
}
format(buf, size, off, "Dns", ")");
break;
diff --git a/src/dp.h b/src/dp.h
index 20cb608..1f921d5 100644
--- a/src/dp.h
+++ b/src/dp.h
@@ -71,13 +71,9 @@
int _rc; \
char *_guidstr = NULL; \
efi_guid_t _guid; \
- const efi_guid_t * const _guid_p = \
- likely(__alignof__(guid) == sizeof(guid)) \
- ? guid \
- : &_guid; \
- \
- if (unlikely(__alignof__(guid) == sizeof(guid))) \
- memmove(&_guid, guid, sizeof(_guid)); \
+ const efi_guid_t * const _guid_p = &_guid; \
+ \
+ memmove(&_guid, guid, sizeof(_guid)); \
_rc = efi_guid_to_str(_guid_p, &_guidstr); \
if (_rc < 0) { \
efi_error("could not build %s GUID DP string", \
@@ -86,7 +82,7 @@
_guidstr = onstack(_guidstr, \
strlen(_guidstr)+1); \
_rc = format(buf, size, off, dp_type, "%s", \
- _guidstr); \
+ _guidstr); \
} \
_rc; \
})
diff --git a/src/guid.c b/src/guid.c
index 306c9ff..3156b3b 100644
--- a/src/guid.c
+++ b/src/guid.c
@@ -31,7 +31,7 @@
extern const efi_guid_t efi_guid_zero;
int NONNULL(1, 2) PUBLIC
-efi_guid_cmp(const efi_guid_t *a, const efi_guid_t *b)
+efi_guid_cmp(const void * const a, const void * const b)
{
return memcmp(a, b, sizeof (efi_guid_t));
}
diff --git a/src/include/efivar/efivar.h b/src/include/efivar/efivar.h
index 316891c..ad6449d 100644
--- a/src/include/efivar/efivar.h
+++ b/src/include/efivar/efivar.h
@@ -128,7 +128,7 @@ extern int efi_symbol_to_guid(const char *symbol, efi_guid_t *guid)
extern int efi_guid_is_zero(const efi_guid_t *guid);
extern int efi_guid_is_empty(const efi_guid_t *guid);
-extern int efi_guid_cmp(const efi_guid_t *a, const efi_guid_t *b);
+extern int efi_guid_cmp(const void * const a, const void * const b);
/* import / export functions */
typedef struct efi_variable efi_variable_t;
diff --git a/src/ucs2.h b/src/ucs2.h
index dbb5900..edd8367 100644
--- a/src/ucs2.h
+++ b/src/ucs2.h
@@ -23,16 +23,21 @@
(((val) & ((mask) << (shift))) >> (shift))
static inline size_t UNUSED
-ucs2len(const uint16_t * const s, ssize_t limit)
+ucs2len(const void *vs, ssize_t limit)
{
ssize_t i;
- for (i = 0; i < (limit >= 0 ? limit : i+1) && s[i] != (uint16_t)0; i++)
+ const uint16_t *s = vs;
+ const uint8_t *s8 = vs;
+
+ for (i = 0;
+ i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0;
+ i++, s8 += 2, s++)
;
return i;
}
static inline size_t UNUSED
-ucs2size(const uint16_t * const s, ssize_t limit)
+ucs2size(const void *s, ssize_t limit)
{
size_t rc = ucs2len(s, limit);
rc *= sizeof (uint16_t);
@@ -69,10 +74,11 @@ utf8size(uint8_t *s, ssize_t limit)
}
static inline unsigned char * UNUSED
-ucs2_to_utf8(const uint16_t * const chars, ssize_t limit)
+ucs2_to_utf8(const void * const voidchars, ssize_t limit)
{
ssize_t i, j;
unsigned char *ret;
+ const uint16_t * const chars = voidchars;
if (limit < 0)
limit = ucs2len(chars, -1);
@@ -124,10 +130,12 @@ ucs2_to_utf8(const uint16_t * const chars, ssize_t limit)
}
static inline ssize_t UNUSED NONNULL(4)
-utf8_to_ucs2(uint16_t *ucs2, ssize_t size, int terminate, uint8_t *utf8)
+utf8_to_ucs2(void *ucs2void, ssize_t size, int terminate, uint8_t *utf8)
{
ssize_t req;
ssize_t i, j;
+ uint16_t *ucs2 = ucs2void;
+ uint16_t val16;
if (!ucs2 && size > 0) {
errno = EINVAL;
@@ -162,10 +170,13 @@ utf8_to_ucs2(uint16_t *ucs2, ssize_t size, int terminate, uint8_t *utf8)
val = utf8[i] & 0x7f;
i += 1;
}
- ucs2[j] = val;
+ val16 = val;
+ ucs2[j] = val16;
+ }
+ if (terminate) {
+ val16 = 0;
+ ucs2[j++] = val16;
}
- if (terminate)
- ucs2[j++] = (uint16_t)0;
return j;
};

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=expat name=expat
version=2.2.9 version=2.2.10
release=1 release=1
source=(https://sourceforge.net/projects/expat/files/expat/$version/expat-$version.tar.bz2) source=(https://sourceforge.net/projects/expat/files/expat/$version/expat-$version.tar.bz2)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=file name=file
version=5.38 version=5.39
release=1 release=1
source=(ftp://ftp.astron.com/pub/$name/$name-$version.tar.gz) source=(ftp://ftp.astron.com/pub/$name/$name-$version.tar.gz)

View file

@ -4,7 +4,7 @@
# Depends on: libpng which # Depends on: libpng which
name=freetype2 name=freetype2
version=2.10.1 version=2.10.4
release=1 release=1
source=(https://downloads.sourceforge.net/freetype/freetype-$version.tar.xz) source=(https://downloads.sourceforge.net/freetype/freetype-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=gawk name=gawk
version=5.0.1 version=5.1.0
release=1 release=1
source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz) source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=gcc name=gcc
version=9.2.0 version=10.2.0
release=1 release=1
source=(https://ftp.gnu.org/gnu/$name/$name-$version/$name-$version.tar.xz) source=(https://ftp.gnu.org/gnu/$name/$name-$version/$name-$version.tar.xz)
@ -14,10 +14,6 @@ build() {
sed -e '/m64=/s/lib64/lib/' \ sed -e '/m64=/s/lib64/lib/' \
-i.orig gcc/config/i386/t-linux64 -i.orig gcc/config/i386/t-linux64
# fix a problem introduced by Glibc-2.31
sed -e '1161 s|^|//|' \
-i libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
mkdir -v build mkdir -v build
cd build cd build

View file

@ -6,11 +6,14 @@
name=gdbm name=gdbm
version=1.18.1 version=1.18.1
release=1 release=1
source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.gz) source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.gz
fix-build-with-gcc10.patch)
build() { build() {
cd $name-$version cd $name-$version
patch -Np1 -i ../fix-build-with-gcc10.patch
./configure --prefix=/usr \ ./configure --prefix=/usr \
--disable-static \ --disable-static \
--enable-libgdbm-compat --enable-libgdbm-compat

View file

@ -0,0 +1,13 @@
--- a/src/parseopt.c
+++ b/src/parseopt.c
@@ -255,8 +255,8 @@
}
char *parseopt_program_name;
-char *parseopt_program_doc;
-char *parseopt_program_args;
+extern char *parseopt_program_doc;
+extern char *parseopt_program_args;
const char *program_bug_address = "<" PACKAGE_BUGREPORT ">";
void (*parseopt_help_hook) (FILE *stream);

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=gettext name=gettext
version=0.20.1 version=0.21
release=1 release=1
source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz) source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

View file

@ -4,15 +4,15 @@
# Depends on: # Depends on:
name=glibc name=glibc
version=2.31 version=2.32
release=1 release=1
source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz
http://www.linuxfromscratch.org/patches/lfs/9.1/$name-$version-fhs-1.patch) $name-fhs-1.patch)
build() { build() {
cd $name-$version cd $name-$version
patch -Np1 -i ../$name-$version-fhs-1.patch patch -Np1 -i ../$name-fhs-1.patch
mkdir -p $PKG/lib64 mkdir -p $PKG/lib64
ln -sfv ../lib/ld-linux-x86-64.so.2 $PKG/lib64 ln -sfv ../lib/ld-linux-x86-64.so.2 $PKG/lib64

View file

@ -0,0 +1,72 @@
Submitted By: Armin K. <krejzi at email dot com>
Date: 2013-02-11
Initial Package Version: 2.17
Upstream Status: Not Applicable
Origin: Self
Description: This patch removes references to /var/db directory which is not part
of FHS and replaces them with more suitable directories in /var
hierarchy - /var/cache/nscd for nscd and /var/lib/nss_db for nss_db.
--- a/Makeconfig 2012-12-25 04:02:13.000000000 +0100
+++ b/Makeconfig 2013-02-11 01:32:32.500667439 +0100
@@ -250,7 +250,7 @@
# Directory for the database files and Makefile for nss_db.
ifndef vardbdir
-vardbdir = $(localstatedir)/db
+vardbdir = $(localstatedir)/lib/nss_db
endif
inst_vardbdir = $(install_root)$(vardbdir)
--- a/nscd/nscd.h 2012-12-25 04:02:13.000000000 +0100
+++ b/nscd/nscd.h 2013-02-11 01:32:32.500667439 +0100
@@ -112,11 +112,11 @@
/* Paths of the file for the persistent storage. */
-#define _PATH_NSCD_PASSWD_DB "/var/db/nscd/passwd"
-#define _PATH_NSCD_GROUP_DB "/var/db/nscd/group"
-#define _PATH_NSCD_HOSTS_DB "/var/db/nscd/hosts"
-#define _PATH_NSCD_SERVICES_DB "/var/db/nscd/services"
-#define _PATH_NSCD_NETGROUP_DB "/var/db/nscd/netgroup"
+#define _PATH_NSCD_PASSWD_DB "/var/cache/nscd/passwd"
+#define _PATH_NSCD_GROUP_DB "/var/cache/nscd/group"
+#define _PATH_NSCD_HOSTS_DB "/var/cache/nscd/hosts"
+#define _PATH_NSCD_SERVICES_DB "/var/cache/nscd/services"
+#define _PATH_NSCD_NETGROUP_DB "/var/cache/nscd/netgroup"
/* Path used when not using persistent storage. */
#define _PATH_NSCD_XYZ_DB_TMP "/var/run/nscd/dbXXXXXX"
--- a/nss/db-Makefile 2012-12-25 04:02:13.000000000 +0100
+++ b/nss/db-Makefile 2013-02-11 01:32:32.500667439 +0100
@@ -22,7 +22,7 @@
/etc/rpc /etc/services /etc/shadow /etc/gshadow \
/etc/netgroup)
-VAR_DB = /var/db
+VAR_DB = /var/lib/nss_db
AWK = awk
MAKEDB = makedb --quiet
--- a/sysdeps/generic/paths.h 2012-12-25 04:02:13.000000000 +0100
+++ b/sysdeps/generic/paths.h 2013-02-11 01:32:32.500667439 +0100
@@ -68,7 +68,7 @@
/* Provide trailing slash, since mostly used for building pathnames. */
#define _PATH_DEV "/dev/"
#define _PATH_TMP "/tmp/"
-#define _PATH_VARDB "/var/db/"
+#define _PATH_VARDB "/var/lib/nss_db/"
#define _PATH_VARRUN "/var/run/"
#define _PATH_VARTMP "/var/tmp/"
--- a/sysdeps/unix/sysv/linux/paths.h 2012-12-25 04:02:13.000000000 +0100
+++ b/sysdeps/unix/sysv/linux/paths.h 2013-02-11 01:32:32.504000831 +0100
@@ -68,7 +68,7 @@
/* Provide trailing slash, since mostly used for building pathnames. */
#define _PATH_DEV "/dev/"
#define _PATH_TMP "/tmp/"
-#define _PATH_VARDB "/var/db/"
+#define _PATH_VARDB "/var/lib/nss_db/"
#define _PATH_VARRUN "/var/run/"
#define _PATH_VARTMP "/var/tmp/"

View file

@ -5,17 +5,16 @@
name=gpm name=gpm
version=1.20.7 version=1.20.7
bootscriptsversion=20191204 bootscriptsversion=20201002
release=1 release=1
source=(https://www.nico.schottelius.org/software/gpm/archives/$name-$version.tar.bz2 source=(https://www.nico.schottelius.org/software/gpm/archives/$name-$version.tar.bz2
http://www.linuxfromscratch.org/patches/blfs/9.1/gpm-$version-glibc_2.26-1.patch gpm-1.20.7-consolidated-1.patch
http://anduin.linuxfromscratch.org/BLFS/blfs-bootscripts/blfs-bootscripts-$bootscriptsversion.tar.xz) http://anduin.linuxfromscratch.org/BLFS/blfs-bootscripts/blfs-bootscripts-$bootscriptsversion.tar.xz)
build() { build() {
cd $name-$version cd $name-$version
sed -i -e 's:<gpm.h>:"headers/gpm.h":' src/prog/{display-buttons,display-coords,get-versions}.c patch -Np1 -i ../gpm-1.20.7-consolidated-1.patch
patch -Np1 -i ../gpm-1.20.7-glibc_2.26-1.patch
./autogen.sh ./autogen.sh
./configure --prefix=/usr --sysconfdir=/etc ./configure --prefix=/usr --sysconfdir=/etc

View file

@ -0,0 +1,116 @@
Submitted by: Pierre Labastie <pierre dot labastie at neuf dot fr>
Date: 2020-05-10
Initial Package Version: 1.20.7
Origin: Upstream + PR's
Upstream Status: some fixes committed, others pending
Description: Fix several build failures
- some introduced by glibc-2.26
- some introduced by gcc-10
- also fix an ignored error when gpm.h is not already in
/usr/include
diff -Naur gpm-1.20.7.old/src/daemon/open_console.c gpm-1.20.7.new/src/daemon/open_console.c
--- gpm-1.20.7.old/src/daemon/open_console.c 2012-10-26 23:21:38.000000000 +0200
+++ gpm-1.20.7.new/src/daemon/open_console.c 2020-05-10 15:48:59.752067421 +0200
@@ -23,6 +23,10 @@
#include <sys/stat.h> /* stat() */
#include <sys/ioctl.h> /* ioctl */
+#ifdef HAVE_SYS_SYSMACROS_H
+#include <sys/sysmacros.h> /* major() w/newer glibc */
+#endif
+
/* Linux specific (to be outsourced in gpm2 */
#include <linux/serial.h> /* for serial console check */
#include <asm/ioctls.h> /* for serial console check */
diff -Naur gpm-1.20.7.old/src/headers/daemon.h gpm-1.20.7.new/src/headers/daemon.h
--- gpm-1.20.7.old/src/headers/daemon.h 2012-10-26 23:21:38.000000000 +0200
+++ gpm-1.20.7.new/src/headers/daemon.h 2020-05-10 15:48:52.719159555 +0200
@@ -180,7 +180,7 @@
extern Gpm_Type mice[];
extern Gpm_Type *repeated_type;
-time_t last_selection_time;
+extern time_t last_selection_time;
diff -Naur gpm-1.20.7.old/src/prog/display-buttons.c gpm-1.20.7.new/src/prog/display-buttons.c
--- gpm-1.20.7.old/src/prog/display-buttons.c 2012-10-26 23:21:38.000000000 +0200
+++ gpm-1.20.7.new/src/prog/display-buttons.c 2020-05-10 15:48:59.751067434 +0200
@@ -36,7 +36,7 @@
#include <stdio.h> /* printf() */
#include <time.h> /* time() */
#include <errno.h> /* errno */
-#include <gpm.h> /* gpm information */
+#include "headers/gpm.h" /* gpm information */
/* display resulting data */
int display_data(Gpm_Event *event, void *data)
diff -Naur gpm-1.20.7.old/src/prog/display-coords.c gpm-1.20.7.new/src/prog/display-coords.c
--- gpm-1.20.7.old/src/prog/display-coords.c 2012-10-26 23:21:38.000000000 +0200
+++ gpm-1.20.7.new/src/prog/display-coords.c 2020-05-10 15:48:59.751067434 +0200
@@ -37,7 +37,7 @@
#include <stdio.h> /* printf() */
#include <time.h> /* time() */
#include <errno.h> /* errno */
-#include <gpm.h> /* gpm information */
+#include "headers/gpm.h" /* gpm information */
/* display resulting data */
int display_data(Gpm_Event *event, void *data)
diff -Naur gpm-1.20.7.old/src/prog/get-versions.c gpm-1.20.7.new/src/prog/get-versions.c
--- gpm-1.20.7.old/src/prog/get-versions.c 2012-10-26 23:21:38.000000000 +0200
+++ gpm-1.20.7.new/src/prog/get-versions.c 2020-05-10 15:48:59.751067434 +0200
@@ -22,7 +22,7 @@
********/
#include <stdio.h> /* printf() */
-#include <gpm.h> /* gpm information */
+#include "headers/gpm.h" /* gpm information */
int main()
{
diff -Naur gpm-1.20.7.old/src/prog/gpm-root.y gpm-1.20.7.new/src/prog/gpm-root.y
--- gpm-1.20.7.old/src/prog/gpm-root.y 2012-10-26 23:21:38.000000000 +0200
+++ gpm-1.20.7.new/src/prog/gpm-root.y 2020-05-10 15:48:59.752067421 +0200
@@ -443,6 +443,7 @@
}
/*---------------------------------------------------------------------*/
+#if 0
static int f_debug_one(FILE *f, Draw *draw)
{
DrawItem *ip;
@@ -465,6 +466,7 @@
#undef LINE
return 0;
}
+#endif
int f_debug(int mode, DrawItem *self, int uid)
{
@@ -960,10 +962,8 @@
/*------------*/
static inline void scr_restore(int fd, FILE *f, unsigned char *buffer, int vc)
{
- int x,y, dumpfd;
+ int dumpfd;
char dumpname[20];
-
- x=buffer[2]; y=buffer[3];
/* WILL NOT WORK WITH DEVFS! FIXME! */
sprintf(dumpname,"/dev/vcsa%i",vc);
@@ -1196,11 +1196,7 @@
LOG_DAEMON : LOG_USER);
/* reap your zombies */
childaction.sa_handler=reap_children;
-#if defined(__GLIBC__)
- __sigemptyset(&childaction.sa_mask);
-#else /* __GLIBC__ */
- childaction.sa_mask=0;
-#endif /* __GLIBC__ */
+ sigemptyset(&childaction.sa_mask);
childaction.sa_flags=SA_INTERRUPT; /* need to break the select() call */
sigaction(SIGCHLD,&childaction,NULL);

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=grep name=grep
version=3.4 version=3.6
release=1 release=1
source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz) source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=iproute2 name=iproute2
version=5.5.0 version=5.9.0
release=1 release=1
source=(https://www.kernel.org/pub/linux/utils/net/$name/$name-$version.tar.xz) source=(https://www.kernel.org/pub/linux/utils/net/$name/$name-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=kbd name=kbd
version=2.2.0 version=2.3.0
release=1 release=1
source=(https://www.kernel.org/pub/linux/utils/$name/$name-$version.tar.xz source=(https://www.kernel.org/pub/linux/utils/$name/$name-$version.tar.xz
http://www.linuxfromscratch.org/patches/lfs/development/kbd-$version-backspace-1.patch) http://www.linuxfromscratch.org/patches/lfs/development/kbd-$version-backspace-1.patch)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=kmod name=kmod
version=26 version=27
release=1 release=1
source=(https://www.kernel.org/pub/linux/utils/kernel/$name/$name-$version.tar.xz) source=(https://www.kernel.org/pub/linux/utils/kernel/$name/$name-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: ncurses # Depends on: ncurses
name=less name=less
version=551 version=563
release=1 release=1
source=(http://www.greenwoodsoftware.com/$name/$name-$version.tar.gz) source=(http://www.greenwoodsoftware.com/$name/$name-$version.tar.gz)

View file

@ -4,9 +4,9 @@
# Depends on: # Depends on:
name=lfs-bootscripts name=lfs-bootscripts
version=20191031 version=20201019
release=1 release=1
source=(http://www.linuxfromscratch.org/lfs/downloads/9.1/lfs-bootscripts-$version.tar.xz source=(http://www.linuxfromscratch.org/lfs/downloads/development/lfs-bootscripts-$version.tar.xz
lfs-bootscripts_add-support-uefi.patch lfs-bootscripts_add-support-uefi.patch
clock clock
console console

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=libarchive name=libarchive
version=3.4.2 version=3.4.3
release=1 release=1
source=(https://github.com/libarchive/libarchive/releases/download/v$version/libarchive-$version.tar.gz) source=(https://github.com/libarchive/libarchive/releases/download/v$version/libarchive-$version.tar.gz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=libcap name=libcap
version=2.31 version=2.45
release=1 release=1
source=(https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/$name-$version.tar.xz) source=(https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/$name-$version.tar.xz)

View file

@ -3,7 +3,7 @@
# Maintainer: Emmett1, emmett1 dot 2miligrams at gmail dot com # Maintainer: Emmett1, emmett1 dot 2miligrams at gmail dot com
name=libevent name=libevent
version=2.1.11 version=2.1.12
release=1 release=1
source=(https://github.com/libevent/libevent/releases/download/release-$version-stable/libevent-$version-stable.tar.gz) source=(https://github.com/libevent/libevent/releases/download/release-$version-stable/libevent-$version-stable.tar.gz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=libpipeline name=libpipeline
version=1.5.2 version=1.5.3
release=1 release=1
source=(https://download.savannah.gnu.org/releases/$name/$name-$version.tar.gz) source=(https://download.savannah.gnu.org/releases/$name/$name-$version.tar.gz)

View file

@ -11,6 +11,12 @@ source=(http://xmlsoft.org/sources/$name-$version.tar.gz)
build() { build() {
cd $name-$version cd $name-$version
# fix a problem generating the Python3 module with Python-3.9.0 and later
sed -i '/if Py/{s/Py/(Py/;s/)/))/}' python/{types.c,libxml.c}
# ensure that the Python module can be built by Python-3.9.0
sed -i '/_PyVerify_fd/,+1d' python/types.c
./configure --prefix=/usr \ ./configure --prefix=/usr \
--disable-static \ --disable-static \
--with-history \ --with-history \

View file

@ -4,7 +4,7 @@
# Depends on: openssl libevent # Depends on: openssl libevent
name=links name=links
version=2.20.2 version=2.21
release=1 release=1
source=(http://links.twibright.com/download/$name-$version.tar.bz2) source=(http://links.twibright.com/download/$name-$version.tar.bz2)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=linux-api-headers name=linux-api-headers
version=5.4.44 version=5.4.74
release=1 release=1
source=(https://www.kernel.org/pub/linux/kernel/v5.x/linux-$version.tar.xz) source=(https://www.kernel.org/pub/linux/kernel/v5.x/linux-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=linux-firmware name=linux-firmware
version=20200519 version=20201022
release=1 release=1
source=(https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-$version.tar.gz) source=(https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-$version.tar.gz)

View file

@ -4,7 +4,7 @@
# Depends on: elfutils mkinitramfs openssl linux-firmware # Depends on: elfutils mkinitramfs openssl linux-firmware
name=linux name=linux
version=5.4.44 version=5.4.74
release=1 release=1
source=(https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-$version.tar.xz source=(https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-$version.tar.xz
config) config)

View file

@ -4,7 +4,7 @@
# Depends on: bash gdbm groff less libpipeline zlib # Depends on: bash gdbm groff less libpipeline zlib
name=man-db name=man-db
version=2.9.0 version=2.9.3
release=1 release=1
source=(https://savannah.nongnu.org/download/man-db/$name-$version.tar.xz) source=(https://savannah.nongnu.org/download/man-db/$name-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=man-pages name=man-pages
version=5.05 version=5.09
release=1 release=1
source=(https://www.kernel.org/pub/linux/docs/$name/$name-$version.tar.xz) source=(https://www.kernel.org/pub/linux/docs/$name/$name-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=mpc name=mpc
version=1.1.0 version=1.2.1
release=1 release=1
source=(https://ftp.gnu.org/gnu/mpc/mpc-$version.tar.gz) source=(https://ftp.gnu.org/gnu/mpc/mpc-$version.tar.gz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=mpfr name=mpfr
version=4.0.2 version=4.1.0
release=1 release=1
source=(https://www.mpfr.org/$name-$version/$name-$version.tar.xz) source=(https://www.mpfr.org/$name-$version/$name-$version.tar.xz)

View file

@ -3,7 +3,7 @@
# Maintainer: Emmett1, emmett1 dot 2miligrams at gmail dot com # Maintainer: Emmett1, emmett1 dot 2miligrams at gmail dot com
name=mtools name=mtools
version=4.0.24 version=4.0.25
release=1 release=1
source=(ftp://ftp.gnu.org/gnu/mtools/$name-$version.tar.bz2) source=(ftp://ftp.gnu.org/gnu/mtools/$name-$version.tar.bz2)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=openssl name=openssl
version=1.1.1d version=1.1.1h
release=1 release=1
source=(https://openssl.org/source/$name-$version.tar.gz) source=(https://openssl.org/source/$name-$version.tar.gz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=p11-kit name=p11-kit
version=0.23.20 version=0.23.21
release=1 release=1
source=(https://github.com/p11-glue/p11-kit/releases/download/$version/p11-kit-$version.tar.xz) source=(https://github.com/p11-glue/p11-kit/releases/download/$version/p11-kit-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=pciutils name=pciutils
version=3.6.4 version=3.7.0
release=1 release=1
source=(https://www.kernel.org/pub/software/utils/$name/$name-$version.tar.xz) source=(https://www.kernel.org/pub/software/utils/$name/$name-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=perl name=perl
version=5.30.1 version=5.32.0
release=1 release=1
source=(https://www.cpan.org/src/5.0/$name-$version.tar.xz) source=(https://www.cpan.org/src/5.0/$name-$version.tar.xz)

View file

@ -23,5 +23,48 @@ build () {
sed -i -e 's/ --static//' \ sed -i -e 's/ --static//' \
-e 's/ -static//' Makefile -e 's/ -static//' Makefile
make DESTDIR=$PKG install make DESTDIR=$PKG install
install -m644 $SRC/pkgmk.conf $PKG/etc/pkgmk.conf #install -m644 $SRC/pkgmk.conf $PKG/etc/pkgmk.conf
cat > $PKG/etc/pkgmk.conf << EOF
#
# /etc/pkgmk.conf: pkgmk(8) configuration
#
export CFLAGS="$CFLAGS"
export CXXFLAGS="\${CFLAGS}"
export MAKEFLAGS="$MAKEFLAGS"
case ${PKGMK_ARCH} in
"64"|"")
;;
"32")
export CFLAGS="\${CFLAGS} -m32"
export CXXFLAGS="\${CXXFLAGS} -m32"
export LDFLAGS="\${LDFLAGS} -m32"
export PKG_CONFIG_LIBDIR="/usr/lib32/pkgconfig"
;;
*)
echo "Unknown architecture selected! Exiting."
exit 1
;;
esac
# PKGMK_SOURCE_MIRRORS=()
PKGMK_SOURCE_DIR="/var/lib/pkg/src"
PKGMK_PACKAGE_DIR="/var/lib/pkg/pkg"
PKGMK_WORK_DIR="/var/lib/pkg/work/\$name"
PKGMK_DOWNLOAD="yes"
# PKGMK_IGNORE_SIGNATURE="no"
# PKGMK_IGNORE_MD5SUM="no"
# PKGMK_IGNORE_FOOTPRINT="no"
# PKGMK_IGNORE_NEW="no"
# PKGMK_NO_STRIP="no"
PKGMK_DOWNLOAD_PROG="curl"
# PKGMK_WGET_OPTS=""
# PKGMK_CURL_OPTS=""
PKGMK_COMPRESSION_MODE="xz"
# End of file
EOF
} }

View file

@ -4,7 +4,7 @@
# Depends on: ncurses # Depends on: ncurses
name=procps-ng name=procps-ng
version=3.3.15 version=3.3.16
release=1 release=1
source=(https://sourceforge.net/projects/procps-ng/files/Production/$name-$version.tar.xz) source=(https://sourceforge.net/projects/procps-ng/files/Production/$name-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=psmisc name=psmisc
version=23.2 version=23.3
release=1 release=1
source=(https://sourceforge.net/projects/psmisc/files/psmisc/psmisc-$version.tar.xz) source=(https://sourceforge.net/projects/psmisc/files/psmisc/psmisc-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: libffi # Depends on: libffi
name=python3 name=python3
version=3.8.1 version=3.9.0
release=1 release=1
source=(https://www.python.org/ftp/python/$version/Python-$version.tar.xz) source=(https://www.python.org/ftp/python/$version/Python-$version.tar.xz)

View file

@ -6,10 +6,13 @@
name=squashfs-tools name=squashfs-tools
version=4.4 version=4.4
release=1 release=1
source=(https://downloads.sourceforge.net/squashfs/squashfs$version.tar.gz) source=(https://downloads.sourceforge.net/squashfs/squashfs$version.tar.gz
fix-glibc-2.28.patch)
build() { build() {
cd squashfs${version}/${name} cd squashfs${version}/${name}
export CFLAGS="$CFLAGS -fcommon" # gcc-10
patch -Np1 -i $SRC/fix-glibc-2.28.patch
make XZ_SUPPORT=1 LZO_SUPPORT=1 LZMA_XZ_SUPPORT=1 LZ4_SUPPORT=1 make XZ_SUPPORT=1 LZO_SUPPORT=1 LZMA_XZ_SUPPORT=1 LZ4_SUPPORT=1
install -Dm755 mksquashfs "$PKG"/usr/bin/mksquashfs install -Dm755 mksquashfs "$PKG"/usr/bin/mksquashfs
install -m755 unsquashfs "$PKG"/usr/bin/unsquashfs install -m755 unsquashfs "$PKG"/usr/bin/unsquashfs

View file

@ -0,0 +1,20 @@
--- squashfs-tools/mksquashfs.c 2018-02-15 14:11:24.661930637 +0100
+++ squashfs-tools/mksquashfs.c 2018-02-15 14:12:28.218412025 +0100
@@ -44,6 +44,7 @@
#include <setjmp.h>
#include <sys/types.h>
+#include <sys/sysmacros.h>
#include <sys/mman.h>
#include <pthread.h>
#include <regex.h>
#include <sys/wait.h>
--- squashfs-tools/unsquashfs.c 2018-02-15 14:25:34.608263881 +0100
+++ squashfs-tools/unsquashfs.c 2018-02-15 14:26:01.376410327 +0100
@@ -36,6 +36,7 @@
#include <sys/types.h>
+#include <sys/sysmacros.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <limits.h>
#include <ctype.h>

View file

@ -12,6 +12,8 @@ source=(http://www.kernel.org/pub/linux/utils/boot/$name/$name-$version.tar.xz
build() { build() {
cd $name-$version cd $name-$version
export CFLAGS="$CFLAGS -fcommon"
patch -p1 -i $SRC/$name-$version-sysmacros.patch patch -p1 -i $SRC/$name-$version-sysmacros.patch
make OPTFLAGS="$CFLAGS" installer make OPTFLAGS="$CFLAGS" installer

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=sysvinit name=sysvinit
version=2.96 version=2.97
release=1 release=1
source=(http://download.savannah.gnu.org/releases/sysvinit/sysvinit-$version.tar.xz) source=(http://download.savannah.gnu.org/releases/sysvinit/sysvinit-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=tzdata name=tzdata
version=2019c version=2020d
release=1 release=1
source=(https://www.iana.org/time-zones/repository/releases/${name}${version}.tar.gz) source=(https://www.iana.org/time-zones/repository/releases/${name}${version}.tar.gz)
@ -13,7 +13,7 @@ build() {
mkdir -pv $ZONEINFO/{posix,right} mkdir -pv $ZONEINFO/{posix,right}
for tz in etcetera southamerica northamerica europe africa antarctica \ for tz in etcetera southamerica northamerica europe africa antarctica \
asia australasia backward pacificnew systemv; do asia australasia backward; do
zic -L /dev/null -d $ZONEINFO -y "sh yearistype.sh" ${tz} 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 /dev/null -d $ZONEINFO/posix -y "sh yearistype.sh" ${tz}
zic -L leapseconds -d $ZONEINFO/right -y "sh yearistype.sh" ${tz} zic -L leapseconds -d $ZONEINFO/right -y "sh yearistype.sh" ${tz}

View file

@ -4,7 +4,7 @@
# Depends on: coreutils shadow # Depends on: coreutils shadow
name=util-linux name=util-linux
version=2.35.1 version=2.35.2
release=1 release=1
source=(https://www.kernel.org/pub/linux/utils/$name/v${version::4}/$name-$version.tar.xz) source=(https://www.kernel.org/pub/linux/utils/$name/v${version::4}/$name-$version.tar.xz)

View file

@ -4,7 +4,7 @@
# Depends on: acl gawk # Depends on: acl gawk
name=vim name=vim
version=8.2.0190 version=8.2.1978
release=1 release=1
source=(https://github.com/vim/vim/archive/v$version.tar.gz) source=(https://github.com/vim/vim/archive/v$version.tar.gz)

View file

@ -5,7 +5,7 @@
name=wpa_supplicant name=wpa_supplicant
version=2.9 version=2.9
bootscriptsversion=20191204 bootscriptsversion=20201002
release=1 release=1
source=(https://w1.fi/releases/wpa_supplicant-$version.tar.gz source=(https://w1.fi/releases/wpa_supplicant-$version.tar.gz
http://anduin.linuxfromscratch.org/BLFS/blfs-bootscripts/blfs-bootscripts-$bootscriptsversion.tar.xz http://anduin.linuxfromscratch.org/BLFS/blfs-bootscripts/blfs-bootscripts-$bootscriptsversion.tar.xz

View file

@ -4,7 +4,7 @@
# Depends on: # Depends on:
name=xz name=xz
version=5.2.4 version=5.2.5
release=1 release=1
source=(https://tukaani.org/$name/$name-$version.tar.xz) source=(https://tukaani.org/$name/$name-$version.tar.xz)

View file

@ -1,5 +1,5 @@
name=binutils name=binutils
version=2.34 version=2.35.1
source=(http://ftp.gnu.org/gnu/binutils/binutils-$version.tar.xz) source=(http://ftp.gnu.org/gnu/binutils/binutils-$version.tar.xz)
build() { build() {

View file

@ -1,8 +1,8 @@
name=gcc name=gcc
version=9.2.0 version=10.2.0
gmp_version=6.2.0 gmp_version=6.2.0
mpc_version=1.1.0 mpc_version=1.2.1
mpfr_version=4.0.2 mpfr_version=4.1.0
source=(http://ftp.gnu.org/gnu/gcc/gcc-$version/gcc-$version.tar.xz source=(http://ftp.gnu.org/gnu/gcc/gcc-$version/gcc-$version.tar.xz
http://ftp.gnu.org/gnu/gmp/gmp-$gmp_version.tar.xz http://ftp.gnu.org/gnu/gmp/gmp-$gmp_version.tar.xz
https://ftp.gnu.org/gnu/mpc/mpc-$mpc_version.tar.gz https://ftp.gnu.org/gnu/mpc/mpc-$mpc_version.tar.gz

View file

@ -1,5 +1,5 @@
name=linux name=linux
version=5.4.44 version=5.4.74
source=(https://www.kernel.org/pub/linux/kernel/v5.x/linux-$version.tar.xz) source=(https://www.kernel.org/pub/linux/kernel/v5.x/linux-$version.tar.xz)
build() { build() {

View file

@ -1,5 +1,5 @@
name=glibc name=glibc
version=2.31 version=2.32
source=(http://ftp.gnu.org/gnu/glibc/glibc-$version.tar.xz) source=(http://ftp.gnu.org/gnu/glibc/glibc-$version.tar.xz)
build() { build() {

View file

@ -1,5 +1,5 @@
name=gcc name=gcc
version=9.2.0 version=10.2.0
source=(http://ftp.gnu.org/gnu/gcc/gcc-$version/gcc-$version.tar.xz) source=(http://ftp.gnu.org/gnu/gcc/gcc-$version/gcc-$version.tar.xz)
build() { build() {

View file

@ -1,5 +1,5 @@
name=binutils name=binutils
version=2.34 version=2.35.1
source=(http://ftp.gnu.org/gnu/binutils/binutils-$version.tar.xz) source=(http://ftp.gnu.org/gnu/binutils/binutils-$version.tar.xz)
build() { build() {

View file

@ -1,8 +1,8 @@
name=gcc name=gcc
version=9.2.0 version=10.2.0
gmp_version=6.2.0 gmp_version=6.2.0
mpc_version=1.1.0 mpc_version=1.2.1
mpfr_version=4.0.2 mpfr_version=4.1.0
source=(http://ftp.gnu.org/gnu/gcc/gcc-$version/gcc-$version.tar.xz source=(http://ftp.gnu.org/gnu/gcc/gcc-$version/gcc-$version.tar.xz
http://ftp.gnu.org/gnu/gmp/gmp-$gmp_version.tar.xz http://ftp.gnu.org/gnu/gmp/gmp-$gmp_version.tar.xz
https://ftp.gnu.org/gnu/mpc/mpc-$mpc_version.tar.gz https://ftp.gnu.org/gnu/mpc/mpc-$mpc_version.tar.gz
@ -35,10 +35,6 @@ build() {
sed -i -e '/MULTILIB_OSDIRNAMES/d' gcc/config/i386/t-linux64 sed -i -e '/MULTILIB_OSDIRNAMES/d' gcc/config/i386/t-linux64
echo "MULTILIB_OSDIRNAMES = m64=../lib m32=../lib32 mx32=../libx32" >> gcc/config/i386/t-linux64 echo "MULTILIB_OSDIRNAMES = m64=../lib m32=../lib32 mx32=../libx32" >> gcc/config/i386/t-linux64
# fix a problem introduced by Glibc-2.31
sed -e '1161 s|^|//|' \
-i libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
mkdir -v build mkdir -v build
cd build cd build

View file

@ -1,5 +1,5 @@
name=bison name=bison
version=3.5.2 version=3.7.3
source=(http://ftp.gnu.org/gnu/bison/bison-$version.tar.xz) source=(http://ftp.gnu.org/gnu/bison/bison-$version.tar.xz)
build() { build() {

View file

@ -1,5 +1,5 @@
name=coreutils name=coreutils
version=8.31 version=8.32
source=(http://ftp.gnu.org/gnu/coreutils/coreutils-$version.tar.xz) source=(http://ftp.gnu.org/gnu/coreutils/coreutils-$version.tar.xz)
build() { build() {

View file

@ -1,5 +1,5 @@
name=file name=file
version=5.38 version=5.39
source=(ftp://ftp.astron.com/pub/file/file-$version.tar.gz) source=(ftp://ftp.astron.com/pub/file/file-$version.tar.gz)
build() { build() {

View file

@ -1,5 +1,5 @@
name=gawk name=gawk
version=5.0.1 version=5.1.0
source=(http://ftp.gnu.org/gnu/gawk/gawk-$version.tar.xz) source=(http://ftp.gnu.org/gnu/gawk/gawk-$version.tar.xz)
build() { build() {

View file

@ -1,5 +1,5 @@
name=gettext name=gettext
version=0.20.1 version=0.21
source=(http://ftp.gnu.org/gnu/gettext/gettext-$version.tar.xz) source=(http://ftp.gnu.org/gnu/gettext/gettext-$version.tar.xz)
build() { build() {

View file

@ -1,5 +1,5 @@
name=grep name=grep
version=3.4 version=3.6
source=(http://ftp.gnu.org/gnu/grep/grep-$version.tar.xz) source=(http://ftp.gnu.org/gnu/grep/grep-$version.tar.xz)
build() { build() {

View file

@ -1,5 +1,5 @@
name=perl name=perl
version=5.30.1 version=5.32.0
source=(https://www.cpan.org/src/5.0/perl-$version.tar.xz) source=(https://www.cpan.org/src/5.0/perl-$version.tar.xz)
build() { build() {

View file

@ -1,11 +1,11 @@
name=python name=python
version=3.8.1 version=3.9.0
source=(https://www.python.org/ftp/python/$version/Python-$version.tar.xz) source=(https://www.python.org/ftp/python/$version/Python-$version.tar.xz)
build() { build() {
cd Python-$version cd Python-$version
sed -i '/def add_multiarch_paths/a \ return' setup.py #sed -i '/def add_multiarch_paths/a \ return' setup.py
./configure --prefix=/tools --without-ensurepip ./configure --prefix=/tools --without-ensurepip
make make
make install make install

View file

@ -1,5 +1,5 @@
name=xz name=xz
version=5.2.4 version=5.2.5
source=(https://tukaani.org/xz/xz-$version.tar.xz) source=(https://tukaani.org/xz/xz-$version.tar.xz)
build() { build() {

View file

@ -1,5 +1,5 @@
name=openssl name=openssl
version=1.1.1d version=1.1.1h
source=(https://openssl.org/source/openssl-$version.tar.gz) source=(https://openssl.org/source/openssl-$version.tar.gz)
build() { build() {

View file

@ -1,5 +1,5 @@
name=curl name=curl
version=7.68.0 version=7.73.0
source=(https://curl.haxx.se/download/$name-$version.tar.xz) source=(https://curl.haxx.se/download/$name-$version.tar.xz)
build() { build() {

View file

@ -1,5 +1,5 @@
name=libarchive name=libarchive
version=3.4.2 version=3.4.3
source=(https://github.com/libarchive/libarchive/releases/download/v$version/libarchive-$version.tar.gz) source=(https://github.com/libarchive/libarchive/releases/download/v$version/libarchive-$version.tar.gz)
build() { build() {

View file

@ -20,20 +20,19 @@ build() {
cp $FILEDIR/pkgin /tools/bin/pkgin cp $FILEDIR/pkgin /tools/bin/pkgin
cat > /tools/etc/pkgmk.conf << "EOF" cat > /tools/etc/pkgmk.conf << EOF
# #
# /etc/pkgmk.conf: pkgmk(8) configuration # /etc/pkgmk.conf: pkgmk(8) configuration
# #
export CFLAGS="-O2 -march=x86-64 -pipe" export CFLAGS="$CFLAGS"
export CXXFLAGS="${CFLAGS}" export CXXFLAGS="\${CFLAGS}"
export JOBS=$(nproc) export MAKEFLAGS="$MAKEFLAGS"
export MAKEFLAGS="-j $JOBS"
PKGMK_SOURCE_DIR="/var/lib/pkg/src" PKGMK_SOURCE_DIR="/var/lib/pkg/src"
PKGMK_PACKAGE_DIR="/var/lib/pkg/pkg" PKGMK_PACKAGE_DIR="/var/lib/pkg/pkg"
PKGMK_WORK_DIR="/var/lib/pkg/work/$name" PKGMK_WORK_DIR="/var/lib/pkg/work/\$name"
PKGMK_DOWNLOAD="yes" PKGMK_DOWNLOAD="yes"
PKGMK_DOWNLOAD_PROG="curl" PKGMK_DOWNLOAD_PROG="curl"
PKGMK_IGNORE_SIGNATURE="yes" PKGMK_IGNORE_SIGNATURE="yes"