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:
parent
abb14f529e
commit
10390a6378
4 changed files with 3 additions and 2640 deletions
|
@ -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
|
@ -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
|
||||
|
|
@ -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
|
Loading…
Add table
Reference in a new issue