git-svn-id: http://svn.calculate.ru/overlay@1221 c91db197-33c1-4113-bf15-f8a5c547ca64atratsevskiy
parent
f9d20c1f15
commit
c355c04071
@ -0,0 +1,7 @@
|
||||
AUX squashfs-linux-2.6.28.patch 352 RMD160 c123e7390e6c58be00e982bbce286666f8167b8f SHA1 d2822e10ee008f7430398f4d0406256e5787d3b2 SHA256 58fccef2e098d9f496cd0fce0a699803381ff8a60d021ab595ac656100836569
|
||||
DIST linux-2.6.28.tar.bz2 52665364 RMD160 47e8925220e29e239f9478228fc53543c1f7b300 SHA1 4f40f8bf3fd110b0cc6e1fea5f539c98f9959e94 SHA256 ae0d97c55efe7fce01273c97f8152af0deff5541e3bbf5b9ad98689112b54380
|
||||
DIST lzma457.tar.bz2 298927 RMD160 9a3b8577e99f4ae4e62e75e1f3bbd3f1626e140f SHA1 bd1b46ba42fe1ad7351a39c131e8b7657e909001 SHA256 e1d07b372d9748eba715354bfd540ae2cb0e2c7e83ce630439420ab7df13f2e0
|
||||
DIST patch-2.6.28.9.bz2 173005 RMD160 226641938d0e9bd137b7388a4a015ebfa5216c55 SHA1 80de4c8dba6122fc8dfa5987b617090acf6842e0 SHA256 2d9342ac09e2c69a98ab000ee1313596e2bb9692cbe52ae52c43f913a7a03682
|
||||
DIST sqlzma3.4-457.tar.bz2 17470 RMD160 7654ece88117300023b2d552e6f1f1fc5630dfb3 SHA1 6f34274e15ae17082d074d7c36b9ba739cb9f2e2 SHA256 856beef4e09c41f2c1b9b60417f66db3876703724ae226273b254ccab07641f6
|
||||
DIST squashfs3.4.tar.gz 352660 RMD160 e75c9a9e5220e80a8e321536f8fe8372bfe5d830 SHA1 6933a8f3098d94f93ec4002a54026b15a6e11640 SHA256 9ea1a9b3bd4f387ca11b5e96f00f8ae996fb81c4c7ad41f7c7f359917628a339
|
||||
EBUILD calculate-squashfs-2.6.28.9.ebuild 3428 RMD160 91fa7b7a0f9013613d97adf35a8c52c5cfd4657e SHA1 abe100490f41c8f93386edf8e476e27588300d94 SHA256 3aa4e72d28e0231a9eca21bba010181cdd081e9b9b0f4fda90cac4e4d389060c
|
@ -0,0 +1,108 @@
|
||||
# Copyright 1999-2009 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs linux-mod
|
||||
|
||||
# versions as
|
||||
SQUASH_PV="squashfs3.4"
|
||||
LZMA_PV="lzma457"
|
||||
SQ_PV=${SQUASH_PV/#squashfs}
|
||||
SQLZMA_PV="sqlzma${SQ_PV}-${LZMA_PV/#lzma}"
|
||||
|
||||
[[ ${PV} =~ ([0-9]+)\.([0-9]+)\.([0-9]+)\.?([0-9]+)? ]]
|
||||
# version kernel
|
||||
KV_MAJOR=${BASH_REMATCH[1]}
|
||||
KV_MINOR=${BASH_REMATCH[2]}
|
||||
KV_PATCH=${BASH_REMATCH[3]}
|
||||
KV_TYPE=${BASH_REMATCH[4]}
|
||||
OKV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
|
||||
|
||||
DESCRIPTION="Tool for creating compressed filesystem type squashfs"
|
||||
HOMEPAGE="http://squashfs.sourceforge.net http://www.squashfs-lzma.org"
|
||||
SRC_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${OKV}.${KV_TYPE}.bz2
|
||||
mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.bz2
|
||||
mirror://sourceforge/squashfs/${SQUASH_PV}.tar.gz
|
||||
mirror://sourceforge/sevenzip/${LZMA_PV}.tar.bz2
|
||||
ftp://ftp.slax.org/source/slax/sqlzma/${SQUASH_PV}.tar.gz
|
||||
ftp://ftp.slax.org/source/slax/sqlzma/${SQLZMA_PV}.tar.bz2"
|
||||
|
||||
DEPEND="=sys-kernel/calculate-sources-${OKV}.${KV_TYPE}"
|
||||
|
||||
RDEPEND="!sys-fs/squashfs-tools"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
BUILD_TARGETS="all"
|
||||
[[ ${ARCH} == "amd64" ]] && ARCH="x86_64"
|
||||
BUILD_TARGET_ARCH="${ARCH}"
|
||||
MODULE_NAMES="sqlzma(kernel/fs/squashfs:.) squashfs(kernel/fs/squashfs:.) unlzma(kernel/fs/squashfs:.)"
|
||||
|
||||
pkg_setup() {
|
||||
if kernel_is lt 2 6 24; then
|
||||
eerror
|
||||
eerror "${P} needs kernel 2.6.24 or above."
|
||||
eerror
|
||||
die "Upgrade kernel"
|
||||
fi
|
||||
linux-mod_pkg_setup
|
||||
append-ldflags -Wl,--no-as-needed
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
cd ${WORKDIR}
|
||||
unpack ${SQLZMA_PV}.tar.bz2 || die
|
||||
unpack ${SQUASH_PV}.tar.gz || die
|
||||
unpack linux-${OKV}.tar.bz2 || die
|
||||
unpack patch-${OKV}.${KV_TYPE}.bz2 || die
|
||||
mkdir ${LZMA_PV}
|
||||
cd ${LZMA_PV}
|
||||
unpack ${LZMA_PV}.tar.bz2 || die
|
||||
cd ../linux-${OKV}
|
||||
epatch ../patch-${OKV}.${KV_TYPE} || die
|
||||
epatch ../${SQUASH_PV}/kernel-patches/linux-2.6.27-rc4/${SQUASH_PV}-patch || die
|
||||
epatch ../sqlzma2k-${SQ_PV}.patch || die
|
||||
if kernel_is ge 2 6 28; then
|
||||
epatch "${FILESDIR}"/squashfs-linux-${OKV}.patch || die
|
||||
sed -i "s:EXTRAVERSION = .9:EXTRAVERSION = .${KV_TYPE}-calculate:" Makefile|| die
|
||||
sed -i "s:KVer = linux-2.6.27.4:KVer = linux-${OKV}:" ../Makefile|| die
|
||||
fi
|
||||
cd ../${SQUASH_PV}
|
||||
epatch ../sqlzma2u-${SQ_PV}.patch || die
|
||||
cd ..
|
||||
epatch sqlzma1-${LZMA_PV/#lzma}.patch || die
|
||||
ln -s ../../linux-${OKV} ${SQUASH_PV}/kernel-patches
|
||||
if [ -e ${KV_OUT_DIR}/.config ]
|
||||
then
|
||||
cp ${KV_OUT_DIR}/.config linux-${OKV}
|
||||
else
|
||||
die "Not found ${KV_OUT_DIR}/.config"
|
||||
fi
|
||||
cd linux-${OKV}
|
||||
sed -i "/^CONFIG_SQUASHFS=/d" .config|| die
|
||||
sed -i "/^CONFIG_SQUASHFS_EMBEDDED=/d" .config|| die
|
||||
sed -i "/^CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=/d" .config|| die
|
||||
echo CONFIG_SQUASHFS=m >> .config
|
||||
echo CONFIG_SQUASHFS_EMBEDDED=n >> .config
|
||||
echo CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 >> .config
|
||||
make oldconfig
|
||||
make prepare
|
||||
make scripts
|
||||
}
|
||||
#
|
||||
src_compile() {
|
||||
emake CC="$(tc-getCC)" || die
|
||||
mkdir BUILD
|
||||
cp ./linux-${OKV}/fs/squashfs/squashfs.ko BUILD
|
||||
cp ./${LZMA_PV}/C/Compress/Lzma/kmod/sqlzma.ko BUILD
|
||||
cp ./${LZMA_PV}/C/Compress/Lzma/kmod/unlzma.ko BUILD
|
||||
cp ./${SQUASH_PV}/squashfs-tools/unsquashfs BUILD
|
||||
cp ./${SQUASH_PV}/squashfs-tools/mksquashfs BUILD
|
||||
strip --strip-unneeded BUILD/mksquashfs BUILD/unsquashfs
|
||||
}
|
||||
#
|
||||
src_install() {
|
||||
cd BUILD
|
||||
dobin mksquashfs unsquashfs || die
|
||||
linux-mod_src_install
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
--- linux-2.6.28.orig/fs/squashfs/inode.c 2009-04-14 10:41:25.000000000 +0400
|
||||
+++ linux-2.6.28/fs/squashfs/inode.c 2009-04-14 10:42:48.000000000 +0400
|
||||
@@ -693,11 +693,7 @@
|
||||
goto failure;
|
||||
}
|
||||
|
||||
- dentry = d_alloc_anon(i);
|
||||
- if (dentry == NULL) {
|
||||
- iput(i);
|
||||
- dentry = ERR_PTR(-ENOMEM);
|
||||
- }
|
||||
+ dentry = d_obtain_alias(i);
|
||||
|
||||
failure:
|
||||
return dentry;
|
Loading…
Reference in new issue