git-svn-id: http://svn.calculate.ru/overlay@2456 c91db197-33c1-4113-bf15-f8a5c547ca64
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…
Reference in new issue