git-svn-id: http://svn.calculate.ru/overlay@2456 c91db197-33c1-4113-bf15-f8a5c547ca64

atratsevskiy
mhiretskiy 15 years ago
parent 703b7b962c
commit e286ec1682

@ -0,0 +1,9 @@
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.10.bz2 203102 RMD160 b1573d047e4247a5419cb95b2b23d8bd47a41f67 SHA1 61fb49c165a4476f54aa10d74ad445bf3bd66759 SHA256 f4a2f97f59d272571a4977916392628642a8e4388f94417a723dc4bdb0e47dc2
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.10-r3.ebuild 4123 RMD160 a89180ccfeda18a89ef373e399f5fdb5c76047ca SHA1 3ff4dddc833d0b42f606f3fd5703e0e005ea59b7 SHA256 26663bdaac2aa5de4e93eb5bc00816b05c1dfc2eeea78c7dd3a4df656a0ce185
EBUILD calculate-squashfs-2.6.28.9-r3.ebuild 4078 RMD160 f1c61877d78b822c5825cee5d750a8c7b8ef38ad SHA1 73e1225b57f4d8f29e20aa6a59a6b43f3d1e13ec SHA256 2552e5db5d5d5b8a67432cd686846af720da94704cfe3088a6bb9e102a0440a9

@ -0,0 +1,132 @@
# 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}"
get_kernel_version_from_pv() {
[[ ${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}"
KV_LOCAL="-calculate"
}
get_kernel_version_from_pv
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="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.${KV_TYPE}"
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 28; then
eerror
eerror "${P} needs kernel 2.6.28 or above."
eerror
die "Upgrade kernel"
fi
linux-mod_pkg_setup
get_kernel_version_from_pv
KV_FULL="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.${KV_TYPE}${KV_LOCAL}"
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 = .${KV_TYPE}:EXTRAVERSION = .${KV_TYPE}${KV_LOCAL}:" 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/unsquashfs-${PV}
cp ./${SQUASH_PV}/squashfs-tools/mksquashfs BUILD/mksquashfs-${PV}
strip --strip-unneeded BUILD/mksquashfs-${PV} BUILD/unsquashfs-${PV}
}
#
src_install() {
cd BUILD
dobin mksquashfs-${PV} unsquashfs-${PV} || die
linux-mod_src_install
}
pkg_postinst() {
linux-mod_pkg_postinst
KV_FULL=""
get_version
if [[ -f /usr/bin/mksquashfs-${KV_FULL/-calculate} ]];
then
rm -f /usr/bin/mksquashfs
ln -sf /usr/bin/mksquashfs-${KV_FULL/-calculate} /usr/bin/mksquashfs
fi
if [[ -f /usr/bin/unsquashfs-${KV_FULL/-calculate} ]];
then
rm -f /usr/bin/unsquashfs
ln -sf /usr/bin/unsquashfs-${KV_FULL/-calculate} /usr/bin/unsquashfs
fi
}

@ -0,0 +1,132 @@
# 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}"
get_kernel_version_from_pv() {
[[ ${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}"
KV_LOCAL="-calculate"
}
get_kernel_version_from_pv
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 28; then
eerror
eerror "${P} needs kernel 2.6.28 or above."
eerror
die "Upgrade kernel"
fi
linux-mod_pkg_setup
get_kernel_version_from_pv
KV_FULL="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.${KV_TYPE}${KV_LOCAL}"
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 = .${KV_TYPE}:EXTRAVERSION = .${KV_TYPE}${KV_LOCAL}:" 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/unsquashfs-${PV}
cp ./${SQUASH_PV}/squashfs-tools/mksquashfs BUILD/mksquashfs-${PV}
strip --strip-unneeded BUILD/mksquashfs-${PV} BUILD/unsquashfs-${PV}
}
#
src_install() {
cd BUILD
dobin mksquashfs-${PV} unsquashfs-${PV} || die
linux-mod_src_install
}
pkg_postinst() {
linux-mod_pkg_postinst
KV_FULL=""
get_version
if [[ -f /usr/bin/mksquashfs-${KV_FULL/-calculate} ]];
then
rm -f /usr/bin/mksquashfs
ln -sf /usr/bin/mksquashfs-${KV_FULL/-calculate} /usr/bin/mksquashfs
fi
if [[ -f /usr/bin/unsquashfs-${KV_FULL/-calculate} ]];
then
rm -f /usr/bin/unsquashfs
ln -sf /usr/bin/unsquashfs-${KV_FULL/-calculate} /usr/bin/unsquashfs
fi
}

@ -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…
Cancel
Save