fixes
This commit is contained in:
88
Dockerfile
88
Dockerfile
@@ -1,5 +1,5 @@
|
||||
FROM i386/alpine:latest AS glide-fetcher
|
||||
ARG CACHE_BUST=10
|
||||
ARG CACHE_BUST=29
|
||||
RUN apk add --no-cache git ca-certificates
|
||||
COPY .docker-cache/glide.ref /tmp/glide.ref
|
||||
WORKDIR /src
|
||||
@@ -38,9 +38,9 @@ RUN (echo "deb http://archive.debian.org/debian etch main non-free" > /etc/apt/s
|
||||
|
||||
# Preparing Kernel + patchs + modules
|
||||
WORKDIR /usr/src
|
||||
COPY --from=glide-fetcher /src/glide glide
|
||||
COPY unionfs-2.2.3_for_2.6.24.diff.gz ./
|
||||
COPY nvidia.patch ./
|
||||
COPY --from=glide-fetcher /src/glide glide
|
||||
RUN tar xjf linux-source-2.6.24.tar.bz2 && \
|
||||
tar xjf etchnhalf/squashfs.tar.bz2 && \
|
||||
ln -s linux-headers-2.6.24-etchnhalf.1-686/ linux-headers && \
|
||||
@@ -71,6 +71,7 @@ RUN apt-get build-dep -y rxvt-unicode && \
|
||||
sed -i '1s/^\([^)]* (\)\([^)]*\)\(.*\)$/\1\2+retrodebian1\3/' debian/changelog && \
|
||||
dpkg-buildpackage -us -uc -b
|
||||
|
||||
FROM packages-builder AS voodoo-builder
|
||||
# Building userspace libs
|
||||
# 3Dfx
|
||||
WORKDIR /usr/src
|
||||
@@ -79,56 +80,62 @@ RUN apt-get install -y nasm && \
|
||||
chmod +x buildglidepkg.sh
|
||||
# cvg / voodoo2
|
||||
WORKDIR /usr/src/glide
|
||||
RUN find . -type f \( -name 'fxgasm.h' -o -name 'fxinline.h' -o -name 'fxgasm' \) -exec rm -f {} \;
|
||||
# glide2x
|
||||
RUN mv swlibs glide2x/
|
||||
WORKDIR /usr/src/glide/glide2x/
|
||||
RUN make -f Makefile.linux clean
|
||||
RUN make -f Makefile.linux FX_GLIDE_HW=cvg USE_X86=1 USE_MMX=1
|
||||
RUN make -f makefile.linux FX_GLIDE_HW=cvg clean
|
||||
RUN make -f makefile.linux FX_GLIDE_HW=cvg USE_X86=1 USE_MMX=1
|
||||
RUN mv swlibs ../glide3x/
|
||||
# glide3x
|
||||
## glide3x
|
||||
WORKDIR /usr/src/glide/glide3x/
|
||||
RUN make -f Makefile.linux clean
|
||||
RUN make -f Makefile.linux FX_GLIDE_HW=cvg USE_X86=1 USE_MMX=1
|
||||
RUN make -f makefile.linux FX_GLIDE_HW=cvg clean
|
||||
RUN make -f makefile.linux FX_GLIDE_HW=cvg USE_X86=1 USE_MMX=1
|
||||
RUN mv swlibs ../
|
||||
WORKDIR /usr/src/
|
||||
RUN /usr/src/buildglidepkg.sh cvg
|
||||
|
||||
# h3 / voodoo3 & Banshee
|
||||
RUN apt-get install -y libx11-dev x11proto-xf86dga-dev libxxf86vm-dev libxxf86dga-dev
|
||||
WORKDIR /usr/src/glide
|
||||
# glide2x
|
||||
RUN mv swlibs glide2x/
|
||||
WORKDIR /usr/src/glide/glide2x/
|
||||
RUN make -f Makefile.linux clean
|
||||
RUN make -f Makefile.linux FX_GLIDE_HW=h3 USE_X86=1 USE_MMX=1
|
||||
# glide3x
|
||||
RUN mv swlibs ../glide3x/
|
||||
WORKDIR /usr/src/glide/glide3x/
|
||||
RUN make -f Makefile.linux clean
|
||||
RUN make -f Makefile.linux FX_GLIDE_HW=h3 USE_X86=1 USE_MMX=1
|
||||
RUN mv swlibs ../
|
||||
WORKDIR /usr/src/
|
||||
RUN /usr/src/buildglidepkg.sh h3
|
||||
## h3 / voodoo3 & Banshee
|
||||
#WORKDIR /usr/src/glide
|
||||
#RUN echo test3 && find . -type f -name 'fxgasm.h'
|
||||
#RUN find . -type f \( -name 'fxgasm.h' -o -name 'fxinline.h' -o -name 'fxgasm' \) -exec rm -f {} \;
|
||||
#RUN apt-get install -y libx11-dev x11proto-xf86dga-dev libxxf86vm-dev libxxf86dga-dev
|
||||
### glide2x
|
||||
#RUN mv swlibs glide2x/
|
||||
#WORKDIR /usr/src/glide/glide2x/
|
||||
#RUN make -f makefile.linux clean
|
||||
#RUN make -f makefile.linux FX_GLIDE_HW=h3 USE_X86=1 USE_MMX=1
|
||||
## glide3x
|
||||
#RUN mv swlibs ../glide3x/
|
||||
#WORKDIR /usr/src/glide/glide3x/
|
||||
#RUN make -f makefile.linux clean
|
||||
#RUN make -f makefile.linux FX_GLIDE_HW=h3 USE_X86=1 USE_MMX=1
|
||||
#RUN mv swlibs ../
|
||||
#WORKDIR /usr/src/
|
||||
#RUN /usr/src/buildglidepkg.sh h3
|
||||
|
||||
# sst1 / voodoo1
|
||||
WORKDIR /usr/src/glide
|
||||
# glide2x
|
||||
RUN mv swlibs glide2x/
|
||||
WORKDIR /usr/src/glide/glide2x/
|
||||
RUN make -f Makefile.linux clean
|
||||
RUN make -f Makefile.linux FX_GLIDE_HW=sst1 USE_X86=1 USE_MMX=1
|
||||
# glide3x
|
||||
RUN mv swlibs ../glide3x/
|
||||
WORKDIR /usr/src/glide/glide3x/
|
||||
RUN make -f Makefile.linux clean
|
||||
RUN make -f Makefile.linux FX_GLIDE_HW=sst1 USE_X86=1 USE_MMX=1
|
||||
RUN mv swlibs ../
|
||||
WORKDIR /usr/src/
|
||||
RUN /usr/src/buildglidepkg.sh sst1
|
||||
## sst1 / voodoo1
|
||||
#WORKDIR /usr/src/glide
|
||||
#RUN find . -type f \( -name 'fxgasm.h' -o -name 'fxinline.h' -o -name 'fxgasm' \) -exec rm -f {} \;
|
||||
## glide2x
|
||||
#RUN mv swlibs glide2x/
|
||||
#WORKDIR /usr/src/glide/glide2x/
|
||||
#RUN make -f makefile.linux clean
|
||||
#RUN make -f makefile.linux FX_GLIDE_HW=sst1 USE_X86=1 USE_MMX=1
|
||||
## glide3x
|
||||
#RUN mv swlibs ../glide3x/
|
||||
#WORKDIR /usr/src/glide/glide3x/
|
||||
#RUN make -f makefile.linux clean
|
||||
#RUN make -f makefile.linux FX_GLIDE_HW=sst1 USE_X86=1 USE_MMX=1
|
||||
#RUN mv swlibs ../
|
||||
#WORKDIR /usr/src/
|
||||
#RUN /usr/src/buildglidepkg.sh sst1
|
||||
|
||||
# sst96 / voodoo Rush
|
||||
# cannot build driver because of missing xf86rush lib...
|
||||
#WORKDIR /usr/src/
|
||||
#WORKDIR /usr/src/glide
|
||||
#RUN find . -type f \( -name 'fxgasm.h' -o -name 'fxinline.h' -o -name 'fxgasm' \) -exec rm -f {} \;
|
||||
# # glide2x
|
||||
# RUN mv swlibs glide2x/
|
||||
# WORKDIR /usr/src/glide/glide2x/
|
||||
@@ -193,6 +200,7 @@ RUN chmod a+x,o-w ./ut-game/ut
|
||||
FROM lpenz/debian-lenny-i386-minbase
|
||||
WORKDIR /root
|
||||
COPY --from=packages-builder /usr/src/*.deb .
|
||||
COPY --from=voodoo-builder /usr/src/*.deb .
|
||||
COPY --from=ut99-builder /root/ut-game ./ut-game
|
||||
COPY --from=icons-fetcher /root/icons-collection ./icons-collection
|
||||
COPY /deps ./deps
|
||||
@@ -209,8 +217,8 @@ RUN apt-get update && \
|
||||
# rm -rf /var/lib/apt/lists/*
|
||||
WORKDIR /root/live
|
||||
|
||||
FROM packages-builder
|
||||
WORKDIR /usr/src
|
||||
#FROM voodoo-builder
|
||||
#WORKDIR /usr/src
|
||||
#RUN apt-get build-dep -y debian-edu-artwork-usplash && \
|
||||
# apt-get source debian-edu-artwork-usplash &&\
|
||||
# ls -al && \
|
||||
|
||||
110
buildglidepkg.sh
110
buildglidepkg.sh
@@ -1,18 +1,14 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
set -euo pipefail
|
||||
|
||||
FLAVOUR="${1:-cvg}"
|
||||
VERSION_GLIDE2="${2:-2.60-1}"
|
||||
VERSION_GLIDE3="${3:-3.10.0-1}"
|
||||
ARCH="${ARCH:-i386}"
|
||||
OUTDIR="${OUTDIR:-$(pwd)}"
|
||||
|
||||
if [[ "$FLAVOUR" == "sst1" ]]
|
||||
then
|
||||
if [[ "$FLAVOUR" == "sst1" ]]; then
|
||||
GLIDE2_SRC="/usr/src/glide/glide2x/sst1/lib/sst1"
|
||||
GLIDE3_SRC="/usr/src/glide/glide3x/sst1/lib/sst1"
|
||||
elif [[ "$FLAVOUR" == "sst96" ]]
|
||||
then
|
||||
elif [[ "$FLAVOUR" == "sst96" ]]; then
|
||||
GLIDE2_SRC="/usr/src/glide/glide2x/sst1/lib/sst96"
|
||||
GLIDE3_SRC="/usr/src/glide/glide3x/sst1/lib/sst96"
|
||||
else
|
||||
@@ -25,21 +21,66 @@ PKG3="libglide3-${FLAVOUR}"
|
||||
|
||||
BUILDROOT="$(pwd)/pkg-glide"
|
||||
rm -rf "${BUILDROOT}"
|
||||
mkdir -p "${BUILDROOT}"
|
||||
mkdir -p "${BUILDROOT}" "${OUTDIR}"
|
||||
|
||||
find_unique_regular_file() {
|
||||
local dir="$1"
|
||||
local pattern="$2"
|
||||
local matches=()
|
||||
|
||||
while IFS= read -r -d '' f; do
|
||||
matches+=("$f")
|
||||
done < <(find "$dir" -maxdepth 1 -type f -name "$pattern" -print0)
|
||||
|
||||
if [[ ${#matches[@]} -eq 0 ]]; then
|
||||
echo "ERROR: no regular file matching '${pattern}' found in '${dir}'" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ${#matches[@]} -ne 1 ]]; then
|
||||
echo "ERROR: multiple regular files matching '${pattern}' found in '${dir}':" >&2
|
||||
printf ' %s\n' "${matches[@]}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
basename "${matches[0]}"
|
||||
}
|
||||
|
||||
extract_glide2_pkg_version() {
|
||||
local real_so="$1"
|
||||
local ver="${real_so#libglide.so.}"
|
||||
echo "${ver}-1"
|
||||
}
|
||||
|
||||
extract_glide3_pkg_version() {
|
||||
local real_so="$1"
|
||||
local ver="${real_so#libglide3.so.}"
|
||||
echo "${ver}-1"
|
||||
}
|
||||
|
||||
build_pkg_glide2() {
|
||||
PKGDIR="${BUILDROOT}/${PKG2}"
|
||||
local PKGDIR="${BUILDROOT}/${PKG2}"
|
||||
local REAL_SO
|
||||
local STATIC_A="libglide.a"
|
||||
local PKG_VERSION
|
||||
|
||||
mkdir -p "${PKGDIR}/DEBIAN" "${PKGDIR}/usr/lib"
|
||||
|
||||
cp -a "${GLIDE2_SRC}/libglide.so.2.60" "${PKGDIR}/usr/lib/"
|
||||
cp -a "${GLIDE2_SRC}/libglide.a" "${PKGDIR}/usr/lib/"
|
||||
ln -s libglide.so.2.60 "${PKGDIR}/usr/lib/libglide.so.2"
|
||||
ln -s libglide.so.2.60 "${PKGDIR}/usr/lib/libglide.so"
|
||||
ln -s libglide.so.2.60 "${PKGDIR}/usr/lib/libglide2x.so"
|
||||
REAL_SO="$(find_unique_regular_file "${GLIDE2_SRC}" 'libglide.so.2.*')"
|
||||
PKG_VERSION="$(extract_glide2_pkg_version "${REAL_SO}")"
|
||||
|
||||
ls -al "${GLIDE2_SRC}/"
|
||||
|
||||
cp -a "${GLIDE2_SRC}/${REAL_SO}" "${PKGDIR}/usr/lib/"
|
||||
cp -a "${GLIDE2_SRC}/${STATIC_A}" "${PKGDIR}/usr/lib/"
|
||||
|
||||
ln -s "${REAL_SO}" "${PKGDIR}/usr/lib/libglide.so.2"
|
||||
ln -s "${REAL_SO}" "${PKGDIR}/usr/lib/libglide.so"
|
||||
ln -s "${REAL_SO}" "${PKGDIR}/usr/lib/libglide2x.so"
|
||||
|
||||
cat > "${PKGDIR}/DEBIAN/control" <<EOF
|
||||
Package: ${PKG2}
|
||||
Version: ${VERSION_GLIDE2}
|
||||
Version: ${PKG_VERSION}
|
||||
Section: libs
|
||||
Priority: optional
|
||||
Architecture: ${ARCH}
|
||||
@@ -51,25 +92,34 @@ Description: Glide 2 libraries for 3Dfx ${FLAVOUR}
|
||||
Glide 2 runtime and static libraries for the 3Dfx ${FLAVOUR} family.
|
||||
EOF
|
||||
|
||||
# retire self-conflict
|
||||
sed -i "s/, ${PKG2}//" "${PKGDIR}/DEBIAN/control"
|
||||
|
||||
dpkg-deb --build "${PKGDIR}" "${OUTDIR}/${PKG2}_${VERSION_GLIDE2}_${ARCH}.deb"
|
||||
dpkg-deb --build "${PKGDIR}" "${OUTDIR}/${PKG2}_${PKG_VERSION}_${ARCH}.deb"
|
||||
}
|
||||
|
||||
build_pkg_glide3() {
|
||||
PKGDIR="${BUILDROOT}/${PKG3}"
|
||||
local PKGDIR="${BUILDROOT}/${PKG3}"
|
||||
local REAL_SO
|
||||
local STATIC_A="libglide3.a"
|
||||
local PKG_VERSION
|
||||
|
||||
mkdir -p "${PKGDIR}/DEBIAN" "${PKGDIR}/usr/lib"
|
||||
|
||||
cp -a "${GLIDE3_SRC}/libglide3.so.3.10.0" "${PKGDIR}/usr/lib/"
|
||||
cp -a "${GLIDE3_SRC}/libglide3.a" "${PKGDIR}/usr/lib/"
|
||||
ln -s libglide3.so.3.10.0 "${PKGDIR}/usr/lib/libglide3.so.3"
|
||||
ln -s libglide3.so.3.10.0 "${PKGDIR}/usr/lib/libglide3.so"
|
||||
ln -s libglide3.so.3.10.0 "${PKGDIR}/usr/lib/libglide3x.so"
|
||||
REAL_SO="$(find_unique_regular_file "${GLIDE3_SRC}" 'libglide3.so.3.*')"
|
||||
PKG_VERSION="$(extract_glide3_pkg_version "${REAL_SO}")"
|
||||
|
||||
ls -al "${GLIDE3_SRC}/"
|
||||
|
||||
cp -a "${GLIDE3_SRC}/${REAL_SO}" "${PKGDIR}/usr/lib/"
|
||||
cp -a "${GLIDE3_SRC}/${STATIC_A}" "${PKGDIR}/usr/lib/"
|
||||
|
||||
ln -s "${REAL_SO}" "${PKGDIR}/usr/lib/libglide3.so.3"
|
||||
ln -s "${REAL_SO}" "${PKGDIR}/usr/lib/libglide3.so"
|
||||
ln -s "${REAL_SO}" "${PKGDIR}/usr/lib/libglide3x.so"
|
||||
|
||||
cat > "${PKGDIR}/DEBIAN/control" <<EOF
|
||||
Package: ${PKG3}
|
||||
Version: ${VERSION_GLIDE3}
|
||||
Version: ${PKG_VERSION}
|
||||
Section: libs
|
||||
Priority: optional
|
||||
Architecture: ${ARCH}
|
||||
@@ -81,15 +131,19 @@ Description: Glide 3 libraries for 3Dfx ${FLAVOUR}
|
||||
Glide 3 runtime and static libraries for the 3Dfx ${FLAVOUR} family.
|
||||
EOF
|
||||
|
||||
# retire self-conflict
|
||||
sed -i "s/, ${PKG3}//" "${PKGDIR}/DEBIAN/control"
|
||||
|
||||
dpkg-deb --build "${PKGDIR}" "${OUTDIR}/${PKG3}_${VERSION_GLIDE3}_${ARCH}.deb"
|
||||
dpkg-deb --build "${PKGDIR}" "${OUTDIR}/${PKG3}_${PKG_VERSION}_${ARCH}.deb"
|
||||
}
|
||||
|
||||
build_pkg_glide2
|
||||
build_pkg_glide3
|
||||
|
||||
REAL_SO2="$(find_unique_regular_file "${GLIDE2_SRC}" 'libglide.so.2.*')"
|
||||
REAL_SO3="$(find_unique_regular_file "${GLIDE3_SRC}" 'libglide3.so.3.*')"
|
||||
PKG_VERSION2="$(extract_glide2_pkg_version "${REAL_SO2}")"
|
||||
PKG_VERSION3="$(extract_glide3_pkg_version "${REAL_SO3}")"
|
||||
|
||||
echo "Packages created:"
|
||||
echo " ${OUTDIR}/${PKG2}_${VERSION_GLIDE2}_${ARCH}.deb"
|
||||
echo " ${OUTDIR}/${PKG3}_${VERSION_GLIDE3}_${ARCH}.deb"
|
||||
echo " ${OUTDIR}/${PKG2}_${PKG_VERSION2}_${ARCH}.deb"
|
||||
echo " ${OUTDIR}/${PKG3}_${PKG_VERSION3}_${ARCH}.deb"
|
||||
Reference in New Issue
Block a user