Lines 16-37
Link Here
|
16 |
# This will be able to go away once the klibc author updates his code |
16 |
# This will be able to go away once the klibc author updates his code |
17 |
# to build again the headers provided by the kernel's 'headers_install' target. |
17 |
# to build again the headers provided by the kernel's 'headers_install' target. |
18 |
|
18 |
|
|
|
19 |
EAPI=4 |
20 |
K_TARBALL_SUFFIX="xz" |
21 |
|
19 |
inherit eutils multilib toolchain-funcs |
22 |
inherit eutils multilib toolchain-funcs |
20 |
|
23 |
|
21 |
DESCRIPTION="A minimal libc subset for use with initramfs." |
24 |
DESCRIPTION="A minimal libc subset for use with initramfs." |
22 |
HOMEPAGE="http://www.zytor.com/mailman/listinfo/klibc" |
25 |
HOMEPAGE="http://www.zytor.com/mailman/listinfo/klibc" |
23 |
KV_MAJOR="2" KV_MINOR="6" KV_SUB="39" |
26 |
KV_MAJOR="3" KV_MINOR="x" KV_SUB="2" |
24 |
PKV_EXTRA="" |
27 |
PKV_EXTRA="" |
25 |
if [ -n "${PKV_EXTRA}" ]; then |
28 |
if [[ ${PKV_EXTRA} ]]; then |
26 |
PKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_SUB}+1))-${PKV_EXTRA}" |
29 |
if [[ ${KV_MAJOR} == 2 ]]; then |
27 |
PATCH_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PKV}.bz2" |
30 |
PKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_SUB}+1))-${PKV_EXTRA}" |
|
|
31 |
else |
32 |
PKV="${KV_MAJOR}.$((${KV_SUB}+1))-${PKV_EXTRA}" |
33 |
fi |
34 |
PATCH_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PKV}.${K_TARBALL_SUFFIX}" |
35 |
fi |
36 |
if [[ ${KV_MAJOR} == 2 ]]; then |
37 |
OKV="${KV_MAJOR}.${KV_MINOR}.${KV_SUB}" |
38 |
else |
39 |
OKV="${KV_MAJOR}.${KV_SUB}" |
28 |
fi |
40 |
fi |
29 |
OKV="${KV_MAJOR}.${KV_MINOR}.${KV_SUB}" |
|
|
30 |
KERNEL_URI=" |
41 |
KERNEL_URI=" |
31 |
mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.bz2 |
42 |
mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.${K_TARBALL_SUFFIX} |
32 |
mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/testing/linux-${OKV}.tar.bz2" |
43 |
mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/testing/linux-${OKV}.tar.${K_TARBALL_SUFFIX}" |
33 |
SRC_URI=" |
44 |
SRC_URI=" |
34 |
mirror://kernel/linux/libs/klibc/${PV:0:3}/${P}.tar.bz2 |
45 |
mirror://kernel/linux/libs/klibc/${PV:0:3}/${P}.tar.${K_TARBALL_SUFFIX} |
35 |
${PATCH_URI} |
46 |
${PATCH_URI} |
36 |
${KERNEL_URI}" |
47 |
${KERNEL_URI}" |
37 |
|
48 |
|
Lines 76-83
kernel_defconfig() {
Link Here
|
76 |
} |
87 |
} |
77 |
|
88 |
|
78 |
src_unpack() { |
89 |
src_unpack() { |
79 |
unpack linux-${OKV}.tar.bz2 ${P}.tar.bz2 |
90 |
unpack linux-${OKV}.tar.${K_TARBALL_SUFFIX} ${P}.tar.${K_TARBALL_SUFFIX} |
80 |
[ -n "${PKV}" ] && EPATCH_OPTS="-d ${KS} -p1" epatch "${DISTDIR}"/patch-${PKV}.bz2 |
91 |
[[ ${PKV} ]] && EPATCH_OPTS="-d ${KS} -p1" epatch "${DISTDIR}"/patch-${PKV}.${K_TARBALL_SUFFIX} |
81 |
cd "${S}" |
92 |
cd "${S}" |
82 |
|
93 |
|
83 |
# Symlink /usr/src/linux to ${S}/linux |
94 |
# Symlink /usr/src/linux to ${S}/linux |
Lines 111-117
src_compile() {
Link Here
|
111 |
# TODO: For cross-compiling |
122 |
# TODO: For cross-compiling |
112 |
# You should set ARCH and ABI here |
123 |
# You should set ARCH and ABI here |
113 |
CC="$(tc-getCC)" |
124 |
CC="$(tc-getCC)" |
|
|
125 |
LD="$(tc-getLD)" |
114 |
HOSTCC="$(tc-getBUILD_CC)" |
126 |
HOSTCC="$(tc-getBUILD_CC)" |
|
|
127 |
HOSTLD="$(tc-getBUILD_LD)" |
115 |
KLIBCARCH="$(klibc_arch ${ARCH})" |
128 |
KLIBCARCH="$(klibc_arch ${ARCH})" |
116 |
KLIBCASMARCH="$(kernel_asm_arch ${ARCH})" |
129 |
KLIBCASMARCH="$(kernel_asm_arch ${ARCH})" |
117 |
libdir="$(get_libdir)" |
130 |
libdir="$(get_libdir)" |
Lines 144-151
src_compile() {
Link Here
|
144 |
|
157 |
|
145 |
emake \ |
158 |
emake \ |
146 |
EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \ |
159 |
EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \ |
147 |
EXTRA_KLIBCLDFLAGS="-z,noexecstack" \ |
160 |
EXTRA_KLIBCLDFLAGS="-z noexecstack" \ |
148 |
HOSTCC="${HOSTCC}" CC="${CC}" \ |
161 |
HOSTCC="${HOSTCC}" CC="${CC}" \ |
|
|
162 |
HOSTLD="${HOSTLD}" LD="${LD}" \ |
149 |
INSTALLDIR="/usr/${libdir}/klibc" \ |
163 |
INSTALLDIR="/usr/${libdir}/klibc" \ |
150 |
KLIBCARCH=${KLIBCARCH} \ |
164 |
KLIBCARCH=${KLIBCARCH} \ |
151 |
KLIBCASMARCH=${KLIBCASMARCH} \ |
165 |
KLIBCASMARCH=${KLIBCASMARCH} \ |
Lines 188-194
src_install() {
Link Here
|
188 |
|
202 |
|
189 |
emake \ |
203 |
emake \ |
190 |
EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \ |
204 |
EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \ |
191 |
EXTRA_KLIBCLDFLAGS="-z,noexecstack" \ |
205 |
EXTRA_KLIBCLDFLAGS="-z noexecstack" \ |
192 |
HOSTCC="${HOSTCC}" CC="${CC}" \ |
206 |
HOSTCC="${HOSTCC}" CC="${CC}" \ |
193 |
INSTALLDIR="/usr/${libdir}/klibc" \ |
207 |
INSTALLDIR="/usr/${libdir}/klibc" \ |
194 |
INSTALLROOT="${D}" \ |
208 |
INSTALLROOT="${D}" \ |
Lines 214-219
src_install() {
Link Here
|
214 |
# on a particular system, might be due to inherited permissions from parent |
228 |
# on a particular system, might be due to inherited permissions from parent |
215 |
# directory |
229 |
# directory |
216 |
find "${D}"/usr/${libdir}/klibc/include | xargs chmod o+rX |
230 |
find "${D}"/usr/${libdir}/klibc/include | xargs chmod o+rX |
|
|
231 |
find "${D}"/usr/${libdir}/klibc/include -type f \ |
232 |
\( -name '.install' -o -name '..install.cmd' \) -delete || die |
217 |
|
233 |
|
218 |
# Hardlinks becoming copies |
234 |
# Hardlinks becoming copies |
219 |
for x in gunzip zcat ; do |
235 |
for x in gunzip zcat ; do |