Linux standalone arm build no longer supports Linux kernels older than 2.6.28

As it was getting too expensive to patch out use of the "new" syscalls

We could revisit this if someone has hardware with an older kernel
that's still being maintained, but I've verified that the Synology
NAS that had used a too old kernel version has been updated to 2.6.32.
This commit is contained in:
Joey Hess 2017-11-21 13:28:57 -04:00
parent abb14f529e
commit 10390a6378
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 3 additions and 2640 deletions

View file

@ -2,6 +2,9 @@ git-annex (6.20171110) UNRELEASED; urgency=medium
* Display progress meter when uploading a key without size information,
getting the size by statting the content file.
* Linux standalone arm build no longer supports Linux kernels older than
2.6.28, as it was getting too expensive to patch out use of the "new"
syscalls.
-- Joey Hess <id@joeyh.name> Tue, 14 Nov 2017 16:14:20 -0400

File diff suppressed because it is too large Load diff

View file

@ -1,34 +0,0 @@
From 44482ab1b3c0a136ad6e7b85a0d7fa9bae726883 Mon Sep 17 00:00:00 2001
From: Joey Hess <joeyh@joeyh.name>
Date: Tue, 21 Nov 2017 13:10:35 -0400
Subject: [PATCH] disable use of accept4, for compatability with older systems
---
Network/Socket.hsc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Network/Socket.hsc b/Network/Socket.hsc
index 6a1ce6a..668bbdf 100644
--- a/Network/Socket.hsc
+++ b/Network/Socket.hsc
@@ -535,7 +535,7 @@ accept sock@(MkSocket s family stype protocol status) = do
return new_sock
#else
with (fromIntegral sz) $ \ ptr_len -> do
-# ifdef HAVE_ACCEPT4
+# if 0
new_sock <- throwSocketErrorIfMinus1RetryMayBlock "Network.Socket.accept"
(threadWaitRead (fromIntegral s))
(c_accept4 s sockaddr ptr_len (#const SOCK_NONBLOCK))
@@ -1591,7 +1591,7 @@ foreign import CALLCONV unsafe "bind"
c_bind :: CInt -> Ptr SockAddr -> CInt{-CSockLen???-} -> IO CInt
foreign import CALLCONV SAFE_ON_WIN "connect"
c_connect :: CInt -> Ptr SockAddr -> CInt{-CSockLen???-} -> IO CInt
-#ifdef HAVE_ACCEPT4
+#if 0
foreign import CALLCONV unsafe "accept4"
c_accept4 :: CInt -> Ptr SockAddr -> Ptr CInt{-CSockLen???-} -> CInt -> IO CInt
#else
--
2.15.0

View file

@ -1,85 +0,0 @@
#!/bin/bash
# Bootstraps from an empty cabal (plus apt-get build-dep git-annex)
# to all the necessary haskell packages being installed.
# Some packages are patched for wider portability.
#
# The cabal.config is used to pin the haskell packages to the last
# versions that have been gotten working. To update, delete the
# cabal.config, run this script with an empty cabal and fix up the broken
# patches, and then use cabal freeze to generate a new cabal.config.
set -e
if [ ! -d haskell-patches ]; then
cd standalone/linux
fi
cabalopts="$@"
cabalinstall () {
echo cabal install -j1 "$@" "$cabalopts" --force-reinstalls
eval cabal install -j1 "$@" "$cabalopts" --force-reinstalls
}
patched () {
pkg=$1
ver=$2
if [ -z "$ver" ]; then
ver="$(grep " $pkg " ../cabal.config | cut -d= -f 3 | sed 's/,$//')"
fi
if [ -z "$ver" ]; then
cabal unpack --pristine $pkg
else
cabal unpack --pristine $pkg-$ver
fi
cd $pkg*
git init
git config user.name dummy
git config user.email dummy@example.com
git add .
git commit -m "pre-patched state of $pkg"
ln -sf ../../cabal.config
for patch in ../../haskell-patches/${pkg}_* ../../../no-th/haskell-patches/${pkg}_*; do
if [ -e "$patch" ]; then
echo trying $patch
if ! patch -p1 < $patch; then
echo "failed to apply $patch"
echo "please resolve this, replace the patch with a new version, and exit the subshell to continue"
$SHELL
fi
fi
done
cabalinstall
rm -f cabal.config
cd ..
rm -rf $pkg*
}
installgitannexdeps () {
pushd ../..
ln -sf standalone/linux/cabal.config
echo cabal install --only-dependencies "$@"
cabal install -j1 --only-dependencies "$@"
rm -f cabal.config
popd
}
install_pkgs () {
rm -rf tmp
mkdir tmp
cd tmp
patched network
cd ..
installgitannexdeps
}
cabal update
# Some packages fail to install in a non unicode locale.
LANG=C.UTF-8
export LANG
install_pkgs