Magellan Linux

Contents of /trunk/core/glibc/glibc-2.15-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 12924 - (show annotations) (download)
Mon Aug 13 17:07:16 2012 UTC (11 years, 10 months ago) by niro
File size: 17282 byte(s)
auto added: ver bump to 2.16.0-r1
1 # $Id$
2
3 PNAME="glibc"
4 PVER="2.15"
5 PBUILD="r2"
6
7 PCAT="sys-libs"
8
9 DESCRIPTION="GNU libc6 (also called glibc2) C library with NPTL Threads."
10 HOMEPAGE="http://www.gnu.org/software/libc/libc.html"
11
12 DEPEND=">= sys-apps/base-files-0.1"
13
14 # we force headers to one specific version
15 # (for x86_64 2.6.12.0-r2 bi-arch headers are needed!)
16 SDEPEND="== sys-kernel/linux-libc-headers-3.1.8"
17 PROVIDE="virtual/glibc"
18
19 # functions to include in the mage file
20 SPECIAL_FUNCTIONS="fix_db_files"
21
22 SRCFILE="glibc-${PVER/.0/}.tar.xz"
23 SRCDIR="${BUILDDIR}/glibc-${PVER/.0/}"
24
25 ENVD_REV="1.2"
26
27 sminclude mtools
28
29 SRC_URI=(
30 ftp://sources.redhat.com/pub/glibc/releases/${SRCFILE}
31 ftp://sources.redhat.com/pub/glibc/snapshots/${SRCFILE}
32 gnu://${PNAME}/${SRCFILE}
33 mirror://${PNAME}/${SRCFILE}
34 mirror://${PNAME}/glibc.envd-${ENVD_REV}
35 mirror://${PNAME}/locale.gen-header
36 mirror://${PNAME}/locale-gen
37 mirror://${PNAME}/${PNAME}-2.12.1-bz4781.patch
38 mirror://${PNAME}/${PNAME}-2.12.1-i686.patch
39 mirror://${PNAME}/${PNAME}-2.12.2-ignore-origin-of-privileged-program.patch
40 mirror://${PNAME}/${PNAME}-2.13-dlclose-search-reset.patch
41 mirror://${PNAME}/${PNAME}-2.14-libdl-crash.patch
42 mirror://${PNAME}/${PNAME}-2.14-reexport-rpc-interface.patch
43 mirror://${PNAME}/${PNAME}-2.14-reinstall-nis-rpc-headers.patch
44 mirror://${PNAME}/${PNAME}-${PVER}-fix-res_query-assert.patch
45 mirror://${PNAME}/${PNAME}-${PVER}-lddebug-scopes.patch
46 mirror://${PNAME}/${PNAME}-${PVER}-revert-c5a0802a.patch
47 mirror://${PNAME}/${PNAME}-${PVER}-scanf.patch
48 mirror://${PNAME}/${PNAME}-${PVER}-ifunc.patch
49 mirror://${PNAME}/${PNAME}-${PVER}-avx.patch
50 mirror://${PNAME}/${PNAME}-${PVER}-strcasecmp-disable-avx.patch
51 mirror://${PNAME}/${PNAME}-${PVER}-gb18030.patch
52 mirror://${PNAME}/${PNAME}-${PVER}-revert-netlink-cache.patch
53 mirror://${PNAME}/${PNAME}-${PVER}-arena.patch
54 mirror://${PNAME}/${PNAME}-${PVER}-negative-result-cache.patch
55 mirror://${PNAME}/${PNAME}-${PVER}-multiarch-x86-strcmp.patch
56 mirror://${PNAME}/${PNAME}-${PVER}-vdso.patch
57 mirror://${PNAME}/${PNAME}-${PVER}-feraiseexcept-plt.patch
58 mirror://${PNAME}/${PNAME}-${PVER}-vfprintf-nargs.patch
59 mirror://${PNAME}/${PNAME}-${PVER}-__libc_res_nquerydomain-out-of-bounds.patch
60 mirror://${PNAME}/${PNAME}-${PVER}-fmtmsg-locking.patch
61 mirror://${PNAME}/${PNAME}-${PVER}-non-signalling-comparisons.patch
62 mirror://${PNAME}/${PNAME}-${PVER}-rintf-rounding.patch
63 mirror://${PNAME}/${PNAME}-${PVER}-nearbyintf-rounding.patch
64 mirror://${PNAME}/${PNAME}-${PVER}-confstr-local-buffer-extent.patch
65 mirror://${PNAME}/${PNAME}-${PVER}-testsuite.patch
66 )
67
68 # sed line: on 2 digits add an zero: 2.7 -> 2.7.0
69 UP2DATE="updatecmd_gnu ${PNAME/-nptl/} | sed 's/^\([0-9]\.[0-9]\$\)/\1.0/'"
70
71 # glibc don't like strong CFLAGS
72 export CFLAGS="${CFLAGS//-O?} -O2"
73 # glibc -> nptl thread don't like striping
74 msetfeature "!strip"
75 # gcc 3.0 - 3.3 needs this:
76 export CFLAGS="${CFLAGS} -finline-limit=2000"
77 export CXXFLAGS="${CFLAGS}"
78 export LDFLAGS="${LDFLAGS//-Wl,--relax}"
79
80 # hack to fix NPTL issues with xen, only required on 32bit arches
81 if [[ ${ARCH} = i*86 ]]
82 then
83 export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs"
84 fi
85
86 # glibc-2.6.1 and above needs march CFLAGS: -march=${ARCH} -mtune=generic
87 # first filter -mtune and -march from flags
88 for flag in ${CFLAGS}
89 do
90 case ${flag} in
91 -mtune=*) continue ;;
92 -march=*) continue ;;
93 esac
94 newflags="${newflags} ${flag}"
95 done
96 export CFLAGS="${newflags}"
97
98 # than add our defaults for glibc
99 [[ ${ARCH} = i*86 ]] && export CFLAGS="${CFLAGS} -march=${ARCH}" # only i*86
100 export CFLAGS="${CFLAGS} -mtune=generic" # all arches
101 export CXXFLAGS="${CFLAGS}"
102
103 # use other linux-headers
104 [[ -z ${ALT_HEADERS} ]] && export ALT_HEADERS="/usr/include"
105
106 # kernel support
107 export ENABLE_KERNEL=2.6.32
108
109 src_prepare()
110 {
111 munpack ${SRCFILE} || die
112 cd ${SRCDIR}
113
114 # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781
115 mpatch ${PNAME}-2.12.1-bz4781.patch || die
116
117 # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411
118 # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html
119 mpatch ${PNAME}-2.12.1-i686.patch || die
120
121 # security fix, fixes CVE-2010-3847
122 # see: http://www.exploit-db.com/exploits/15274/
123 mpatch ${PNAME}-2.12.2-ignore-origin-of-privileged-program.patch || die
124
125 # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (fedora branch)
126 # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html
127 mpatch ${PNAME}-2.14-libdl-crash.patch || die
128
129 # re-export RPC interface until libtirpc is ready as a replacement
130 # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (fedora branch)
131 mpatch ${PNAME}-2.14-reexport-rpc-interface.patch || die
132 # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (fedora branch)
133 mpatch ${PNAME}-2.14-reinstall-nis-rpc-headers.patch || die
134
135 # fix res_query assertion
136 # http://sourceware.org/bugzilla/show_bug.cgi?id=13013
137 mpatch ${PNAME}-${PVER}-fix-res_query-assert.patch || die
138
139 # fix up regcomp/regexec
140 # http://sourceware.org/git/?p=glibc.git;a=commit;h=2ba92745
141 # mpatch ${PNAME}-${PVER}-regex.patch
142
143 # propriety nvidia crash - https://bugzilla.redhat.com/show_bug.cgi?id=737223
144 # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=0c95ab64 (fedora branch)
145 mpatch ${PNAME}-${PVER}-lddebug-scopes.patch || die
146
147 # revert commit c5a0802a - causes various hangs
148 # https://bugzilla.redhat.com/show_bug.cgi?id=769421
149 # Note: fedora may have actual fix (not submitted upstream yet...)
150 # http://pkgs.fedoraproject.org/gitweb/?p=glibc.git;a=blob_plain;f=glibc-rh552960-2.patch
151 mpatch ${PNAME}-${PVER}-revert-c5a0802a.patch || die
152
153 # fix realloc usage in vfscanf
154 # http://sourceware.org/git/?p=glibc.git;a=commit;h=20b38e03
155 mpatch ${PNAME}-${PVER}-scanf.patch || die
156
157 # fix ifunc relocations
158 # http://sourceware.org/git/?p=glibc.git;a=commit;h=6ee65ed6
159 mpatch ${PNAME}-${PVER}-ifunc.patch || die
160
161 # fix AVX detection
162 # http://sourceware.org/git/?p=glibc.git;a=commit;h=afc5ed09
163 # http://sourceware.org/git/?p=glibc.git;a=commit;h=08cf777f
164 mpatch ${PNAME}-${PVER}-avx.patch || die
165 # and "fix" strcasecmp
166 mpatch ${PNAME}-${PVER}-strcasecmp-disable-avx.patch || die
167
168 # fix GB18030 charmap
169 # http://sourceware.org/bugzilla/show_bug.cgi?id=11837
170 # http://sourceware.org/git/?p=glibc.git;a=commit;h=2a57bd79 (fedora branch)
171 # http://sourceware.org/git/?p=glibc.git;a=commit;h=3d828a61 (fedora branch)
172 mpatch ${PNAME}-${PVER}-gb18030.patch || die
173
174 # fix crash in __nscd_get_mapping if nscd not running
175 # http://sourceware.org/bugzilla/show_bug.cgi?id=13594 (potential fix in comment)
176 # reverts commit 3a2c0242 and other necessary following changes...
177 mpatch ${PNAME}-${PVER}-revert-netlink-cache.patch || die
178
179 # handle ARENA_TEST correctly
180 # http://sourceware.org/git/?p=glibc.git;a=commit;h=41b81892
181 mpatch ${PNAME}-${PVER}-arena.patch || die
182
183 # do not cache negative results in nscd if these are transient
184 # http://sourceware.org/git/?p=glibc.git;a=commit;h=3e1aa84e
185 mpatch ${PNAME}-${PVER}-negative-result-cache.patch || die
186
187 # strcasecmp_l, strncasecmp_l act as strcmp for multiarch x86
188 # http://sourceware.org/git/?p=glibc.git;a=commit;h=0bab47b6
189 mpatch ${PNAME}-${PVER}-multiarch-x86-strcmp.patch || die
190
191 # always set l_used for vDSO.
192 # http://sourceware.org/git/?p=glibc.git;a=commit;h=1f393a11
193 mpatch ${PNAME}-${PVER}-vdso.patch || die
194
195 # fix x86 PLT slot usage for feraiseexcept
196 # http://sourceware.org/git/?p=glibc.git;a=commit;h=7c35ffed
197 mpatch ${PNAME}-${PVER}-feraiseexcept-plt.patch || die
198
199 # vfprintf nargs overflow - CVE-2012-0864
200 # http://sourceware.org/git/?p=glibc.git;a=commit;h=7c1f4834
201 mpatch ${PNAME}-${PVER}-vfprintf-nargs.patch || die
202
203 # avoid out ouf bounds read in __libc_res_nquerydomain
204 # http://sourceware.org/git/?p=glibc.git;a=commit;h=8fdceb2e
205 mpatch ${PNAME}-${PVER}-__libc_res_nquerydomain-out-of-bounds.patch || die
206
207 # make fmtmsg function thread-safe
208 # http://sourceware.org/git/?p=glibc.git;a=commit;h=7724defc
209 mpatch ${PNAME}-${PVER}-fmtmsg-locking.patch || die
210
211 # use non-signaling floating-point comparisons in math functions
212 # http://sourceware.org/git/?p=glibc.git;a=commit;h=92221550
213 mpatch ${PNAME}-${PVER}-non-signalling-comparisons.patch || die
214
215 # fix rintf rounding.
216 # http://sourceware.org/git/?p=glibc.git;a=commit;h=fe45ce09
217 mpatch ${PNAME}-${PVER}-rintf-rounding.patch || die
218
219 # fix nearbyintf rounding
220 # http://sourceware.org/git/?p=glibc.git;a=commit;h=6cbeae47
221 mpatch ${PNAME}-${PVER}-nearbyintf-rounding.patch || die
222
223 # fix varaible scope issue in confstr
224 # http://sourceware.org/git/?p=glibc.git;a=commit;h=ac4c54f0
225 # http://sourceware.org/git/?p=glibc.git;a=commit;h=d6a403f9
226 mpatch ${PNAME}-${PVER}-confstr-local-buffer-extent.patch || die
227
228 # fix testsuite failures with --as-needed
229 # http://sourceware.org/git/?p=glibc.git;a=commit;h=d4c2917f
230 mpatch ${PNAME}-${PVER}-testsuite.patch || die
231
232 # binutils patch needs reconf
233 autoconf --force || die
234
235 # fix permissions on some of the scripts
236 chmod u+x ${SRCDIR}/scripts/*.sh || die
237
238 install -d ${SRCDIR}/build || die
239 cd ${SRCDIR}/build
240
241 if [ ! -f /etc/ld.so.conf ]
242 then
243 touch /etc/ld.so.conf || die
244 fi
245 }
246
247 src_compile()
248 {
249 local myopts
250
251 # generic pathes
252 myopts="--prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info"
253 # disable profiling
254 myopts+=" --disable-profile"
255 # enable addons
256 myopts+=" --enable-add-ons=nptl,libidn"
257 # enable tls
258 myopts+=" --with-tls --with-__thread"
259 # supported kernel-release
260 myopts+=" --enable-kernel=${ENABLE_KERNEL}"
261 # disable cvs and gd support
262 myopts+=" --without-cvs --without-gd"
263 # enable bindnow
264 myopts+=" --enable-bind-now"
265
266 # support multilib lib64 dir (x86_64 only)
267 if [[ ${ARCH} = x86_64 ]]
268 then
269 # first build a -m32 version
270 install -d ${SRCDIR}/build-m32
271 cd ${SRCDIR}/build-m32
272
273 CC="gcc -m32" CXX="g++ -m32" \
274 CFLAGS="${CFLAGS//-march=${ARCH}} -march=i686" \
275 CXXFLAGS="${CXXFLAGS//-march=${ARCH}} -march=i686" \
276 ../configure \
277 --build=${CHOST} \
278 --host=i686-pc-linux-gnu \
279 --libdir=/usr/lib \
280 --libexecdir=/usr/lib/glibc \
281 ${myopts} \
282 || die
283
284 make PARALLELMFLAGS="${MAKEOPTS}" || die
285 fi
286
287 cd ${SRCDIR}/build
288
289 if [[ ${ARCH} = x86_64 ]]; then
290 # make sure the -m64 libs goes really to /lib64
291 echo "slibdir=/$(mlibdir)" >> ${SRCDIR}/build/configparms || die
292 fi
293
294 # kernel-2.6 with nptl needs this
295 ../configure \
296 --build=${CHOST} \
297 --host=${CHOST} \
298 --libdir=/usr/$(mlibdir) \
299 --libexecdir=/usr/$(mlibdir)/glibc \
300 ${myopts} \
301 || die
302
303 make PARALLELMFLAGS="${MAKEOPTS}" || die
304 }
305
306 src_install()
307 {
308 if [[ ${ARCH} = x86_64 ]]
309 then
310 # install -m32 libs
311 cd ${SRCDIR}/build-m32
312 make PARALLELMFLAGS="${MAKEOPTS}" install_root=${BINDIR} slibdir=/usr/lib rootsbindir=/usr/sbin install || die
313 fi
314
315 cd ${SRCDIR}/build
316 make PARALLELMFLAGS="${MAKEOPTS}" install_root=${BINDIR} slibdir=/usr/$(mlibdir) rootsbindir=/usr/sbin install || die
317
318 # do not generate the locales here, let it the user do with the locale-gen tool
319 # make PARALLELMFLAGS="${MAKEOPTS}" install_root=${BINDIR} localedata/install-locales || die
320
321 # install locales list and generate tools
322 # generate locale.gen file from localedata/SUPPORTED file
323 minstalletc locale.gen-header locale.gen || die
324 sed \
325 -e 's:/: :g' \
326 -e 's:\\: :g' \
327 -e 's:SUPPORTED-LOCALES=::' \
328 -e 's:\ \ $::g' \
329 -e '/^#/d' \
330 -e 's:^:#:g' \
331 ${SRCDIR}/localedata/SUPPORTED \
332 >> ${BINDIR}/etc/locale.gen || die
333 minstalldir /usr/sbin || die
334 minstallexec -s locale-gen /usr/sbin || die
335
336 # nsswitch configuration file
337 minstalletc ${SRCDIR}/nss/nsswitch.conf || die
338
339 # nscd configuration file
340 minstalletc ${SRCDIR}/nscd/nscd.conf || die
341
342 # gai configuration file
343 minstalletc ${SRCDIR}/posix/gai.conf || die
344
345 # we use Berlin as default
346 # busybox compat
347 local args
348 if need_busybox_support /bin/cp
349 then
350 args="-f"
351 else
352 args="--remove-destination"
353 fi
354 cp ${args} ${BINDIR}/usr/share/zoneinfo/Europe/Berlin ${BINDIR}/etc/localtime || die
355 [ -f ${BINDIR}/etc/ld.so.conf ] && { rm -f ${BINDIR}/etc/ld.so.conf || die; }
356 [ -e ${BINDIR}/etc/ld.so.cache ] && { rm -rf ${BINDIR}/etc/ld.so.cache || die; }
357
358 # base environment
359 minstallenv glibc.envd-${ENVD_REV} 00glibc || die
360 if [[ ${ARCH} = x86_64 ]]
361 then
362 MCONFIG="/etc/env.d/00glibc"
363 maddconfig "LDPATH=\"/$(mlibdir)\"" || die
364 maddconfig "LDPATH=\"/usr/$(mlibdir)\"" || die
365 maddconfig "LDPATH=\"/usr/local/$(mlibdir)\"" || die
366 maddconfig "LDPATH=\"/opt/$(mlibdir)\"" || die
367 fi
368
369 # strip all binaries
370 find ${BINDIR} | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded || die
371
372 # strip all libraries
373 # want to be safe here; --strip-unneeded seems to cause pthread problems
374 # strip all but libpthread
375 install -d ${BUILDDIR}/thread-backup || die
376 mv ${BINDIR}/usr/$(mlibdir)/lib{pthread,thread_db}* ${BUILDDIR}/thread-backup/ || die
377
378 # now strip
379 find ${BINDIR} | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded || die
380 mv -f ${BUILDDIR}/thread-backup/* ${BINDIR}/usr/$(mlibdir)/ || die
381 # remove stale directory
382 rm -rf ${BUILDDIR}/thread-backup || die
383
384 # prepare glibc for installation; slackware method
385 minstalldir /incoming || die
386 mv ${BINDIR}/usr/$(mlibdir)/*.so ${BINDIR}/incoming || die
387 mv ${BINDIR}/usr/$(mlibdir)/*.so.* ${BINDIR}/incoming || die
388 mv ${BINDIR}/incoming ${BINDIR}/usr/$(mlibdir)/incoming || die
389 mv ${BINDIR}/usr/$(mlibdir)/incoming/libSegFault.so ${BINDIR}/usr/$(mlibdir) || die
390 }
391
392 fix_db_files()
393 {
394 local i
395 local DB_ENTRY="${BUILDDIR}/${PKGNAME}"
396
397 for i in .files .symlinks .dirs
398 do
399 [ ! -f ${DB_ENTRY}/${i} ] && continue
400 [[ -z $(< ${DB_ENTRY}/${i}) ]] && continue
401
402 echo " fixing /$(mlibdir)/incoming from db-entry '${i}' ..."
403
404 # /lib/incoming -> empty line; sed2 removes all empty lines
405 #sed -i -e "s:/$(mlibdir)/incoming.*::g" -e '/^$/d' ${DB_ENTRY}/${i}
406 # do not simply emtpy the line, but change it the the correct path,
407 # so no stale libs are around if the package gets updated!
408 sed -i \
409 -e "s:/$(mlibdir)/incoming:/$(mlibdir):g" \
410 -e "s:/$(mlibdir)/incoming.*::g" \
411 -e '/^$/d' ${DB_ENTRY}/${i}
412 done
413 }
414
415 postinstall()
416 {
417 # first save the old libpthread.so.0;
418 # it will later used to determinate that there are no stale
419 # libpthreads that breaks ldconfig
420 local OLD_PTHREAD
421 OLD_PTHREAD="$(readlink ${MROOT}/usr/$(mlibdir)/libpthread.so.0)"
422
423 # slackware install method
424
425 # we cannot easily install the glibc libs,
426 # because our tools for cp etc needs them to run
427
428 local file
429
430 echo " Switching to new glibc ..."
431 # swap libraries on the fly:
432 if [ -x /sbin/ldconfig -a -d /usr/$(mlibdir)/incoming ] && [[ -z ${MROOT} ]]
433 then
434 # first create copies of the incoming libraries:
435 cd /usr/$(mlibdir)/incoming
436 for file in $(find /usr/$(mlibdir)/incoming -type f)
437 do
438 if [ ! -r "../$(basename ${file}).incoming" ]
439 then
440 cp -a ${file} ../$(basename ${file}).incoming
441 fi
442 done
443
444 # then switch to them all at once:
445 /sbin/ldconfig -l /usr/$(mlibdir)/*.incoming 2> /dev/null
446
447 # finally, rename them and clean up:
448 cd /usr/$(mlibdir)
449 for file in *.incoming
450 do
451 rm -f $(basename ${file} .incoming)
452 cp -a ${file} $(basename ${file} .incoming)
453 /sbin/ldconfig -l $(basename ${file} .incoming)
454 rm -f ${file}
455 done
456
457 # no ldconfig?
458 # good, it's safe to just jam it on home (and make links below):
459 else
460 (
461 cd ${MROOT}/usr/$(mlibdir)/incoming
462 for file in *
463 do
464 cp -a ${file} ..
465 done
466
467 local my_sym
468 local my_dest
469
470 # rebuild symlinks
471 echo " Recreating Symlinks:"
472 for i in $(find ${MROOT}/usr/$(mlibdir)/incoming -type l)
473 do
474 my_sym="$(readlink ${i})"
475 my_dest="$(basename ${i})"
476
477 echo " ${my_dest} -> ${my_dest}"
478
479 # assure to remove the old ones;
480 [ -L ${MROOT}/usr/$(mlibdir)/"${my_dest}" ] && \
481 rm ${MROOT}/usr/$(mlibdir)/"${my_dest}"
482
483 ln -snf "${my_sym}" ${MROOT}/usr/$(mlibdir)/"${my_dest}"
484 done
485 )
486 fi
487
488 # now, get rid of the temporary directory:
489 rm -rf ${MROOT}/usr/$(mlibdir)/incoming
490
491 # remove stale nptl libpthread-2.?.?.so,
492 # fix only needed for glibc with linuxthreads;
493 # prevent reloc errors such as:
494 # ls: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
495
496 # get our new libpthread.so.0
497 local NEW_PTHREAD
498 NEW_PTHREAD="$(readlink ${MROOT}/usr/$(mlibdir)/libpthread.so.0)"
499
500 if [ "${NEW_PTHREAD}" != "${OLD_PTHREAD}" ]
501 then
502 echo " Removing stale libpthread libraries ..."
503 for file in ${MROOT}/usr/$(mlibdir)/libpthread-*
504 do
505 if [ "$(basename ${file})" != "${NEW_PTHREAD}" ]
506 then
507 rm -f ${file}
508 fi
509 done
510
511 #rm -f /lib/${OLD_PTHREAD}
512
513 ln -snf ${NEW_PTHREAD} ${MROOT}/usr/$(mlibdir)/libpthread.so.0
514 fi
515
516 if [ -x /usr/sbin/iconvconfig ]
517 then
518 # generate fastloading iconv module configuration file.
519 echo " Generate iconv module config ..."
520 /usr/sbin/iconvconfig --prefix=${MROOT}/
521 fi
522
523 # not working with busybox
524 if ! need_busybox_support /bin/init
525 then
526 # reloading init
527 echo " Reloading init ..."
528 [[ -z ${MROOT} ]] && /sbin/init U &> /dev/null
529 fi
530
531 # generating user def locales
532 echo " Generating user defined locales ..."
533 [[ -z ${MROOT} ]] && /usr/sbin/locale-gen
534
535 # now we must fix the mage db files
536 # to stop the annoying errors messages
537 fix_db_files
538 }