From 8f3234fdf98c309b91e13266d26a23bfec9fe639 Mon Sep 17 00:00:00 2001 From: Florian Boor Date: Fri, 23 May 2008 10:35:31 +0000 Subject: gpe-login: Add 0.92 --- packages/gpe-login/gpe-login_0.92.bb | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 packages/gpe-login/gpe-login_0.92.bb diff --git a/packages/gpe-login/gpe-login_0.92.bb b/packages/gpe-login/gpe-login_0.92.bb new file mode 100644 index 0000000000..16d9e471d7 --- /dev/null +++ b/packages/gpe-login/gpe-login_0.92.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "GPE user login screen" +SECTION = "gpe" +PRIORITY = "optional" +LICENSE = "GPL" +DEPENDS = "gtk+ libgpewidget gpe-ownerinfo xkbd" +RDEPENDS = "xkbd gpe-theme-clearlooks" +RPROVIDES_${PN} = "gpe-session-starter" +PR = "r0" + +SRC_URI_OVERRIDES_PACKAGE_ARCH = "1" + +GPE_TARBALL_SUFFIX = "bz2" + +inherit gpe autotools pkgconfig + + +SRC_URI += "file://removeblue-fontsize8.patch;patch=1" +SRC_URI += " file://chvt-keylaunch.patch;patch=1 " +SRC_URI += " file://gpe-xcalibrate-rises-from-dead.patch;patch=1 " +SRC_URI += " file://size-autolock-properly.patch;patch=1 " +SRC_URI += " file://c-locale.patch;patch=1 " + +SRC_URI_append_spitz = "file://brightness-adjust-keyluanchrc.patch;patch=1" +SRC_URI_append_akita = "file://brightness-adjust-keyluanchrc.patch;patch=1" +SRC_URI_append_c7x0 = "file://brightness-adjust-keyluanchrc.patch;patch=1" + -- cgit v1.2.3 From 0257564af3fe903945374852df4bbd663948a23b Mon Sep 17 00:00:00 2001 From: Florian Boor Date: Fri, 23 May 2008 10:36:46 +0000 Subject: gpe-session-scripts: Add 0.68 --- .../gpe-session-scripts_0.68.bb | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 packages/gpe-session-scripts/gpe-session-scripts_0.68.bb diff --git a/packages/gpe-session-scripts/gpe-session-scripts_0.68.bb b/packages/gpe-session-scripts/gpe-session-scripts_0.68.bb new file mode 100644 index 0000000000..5daf39c836 --- /dev/null +++ b/packages/gpe-session-scripts/gpe-session-scripts_0.68.bb @@ -0,0 +1,56 @@ +inherit gpe + +DESCRIPTION = "GPE session startup scripts" +LICENSE = "GPL" +SECTION = "gpe" +PRIORITY = "optional" +RDEPENDS_${PN} = "matchbox-panel matchbox-desktop matchbox-common gpe-session-starter xtscal gpe-question matchbox-applet-inputmanager xmodmap xdpyinfo xserver-common ipaq-sleep" +# more rdepends: keylaunch apmd blueprobe +DEPENDS = "matchbox-wm matchbox-panel xtscal gpe-question matchbox-applet-inputmanager xmodmap xdpyinfo xserver-common ipaq-sleep" + +SRC_URI += "file://matchbox-session \ + file://disable-composite.xsettings" + +PR = "r0" + +#apply a patch to set the fontsize for bigdpi (200+) devices to 5 +SRC_URI_append_hx4700 = " file://highdpifontfix.patch;patch=1" +SRC_URI_append_spitz = " file://highdpifontfix.patch;patch=1" +SRC_URI_append_akita = " file://highdpifontfix.patch;patch=1" +SRC_URI_append_c7x0 = " file://highdpifontfix.patch;patch=1" +SRC_URI_append_nokia770 = " file://highdpifontfix.patch;patch=1" + + +do_configure_append_angstrom() { + sed -i s:Default:Clearlooks:g X11/xsettings.default + sed -i s:Industrial:Clearlooks:g X11/xsettings.default +} + +export CURSOR_HIDE = '${@base_contains("MACHINE_FEATURES","touchscreen","-use_cursor no","-use_cursor yes",d)}' + +do_install_append() { + install -d ${D}${sysconfdir}/gpe/xsettings-default.d + if [ "${GUI_MACHINE_CLASS}" != "bigscreen" ]; then + echo "Gtk/ToolbarStyle:S:icons" > ${D}${sysconfdir}/gpe/xsettings-default.d/toolbar + fi + install -d ${D}${sysconfdir}/matchbox + install ${WORKDIR}/matchbox-session ${D}${sysconfdir}/matchbox/session + printf "exec matchbox-window-manager ${CURSOR_HIDE} \$@ \n" >> ${D}${sysconfdir}/matchbox/session + + + install -d ${D}${sysconfdir}/gpe/xsettings-default.d + install -m 0644 ${WORKDIR}/disable-composite.xsettings ${D}${sysconfdir}/gpe/xsettings-default.d/disable-composite + + mv ${D}/usr/bin/gpe-logout.sh ${D}/usr/bin/gpe-logout.sh.matchbox +} + +pkg_postinst_${PN}() { + update-alternatives --install /usr/bin/gpe-logout.sh gpe-logout.sh /usr/bin/gpe-logout.sh.matchbox 10 +} + +pkg_postrm_${PN}() { + update-alternatives --remove gpe-logout.sh /usr/bin/gpe-logout.sh.matchbox +} + +# This makes use of GUI_MACHINE_CLASS, so set PACKAGE_ARCH appropriately +PACKAGE_ARCH = "${MACHINE_ARCH}" -- cgit v1.2.3 From a5e13c7071adc47cdbfe10199ca7304fa24ee819 Mon Sep 17 00:00:00 2001 From: Florian Boor Date: Fri, 23 May 2008 10:38:36 +0000 Subject: gpe-conf: Add 0.2.7 --- packages/gpe-conf/gpe-conf_0.2.7.bb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 packages/gpe-conf/gpe-conf_0.2.7.bb diff --git a/packages/gpe-conf/gpe-conf_0.2.7.bb b/packages/gpe-conf/gpe-conf_0.2.7.bb new file mode 100644 index 0000000000..b908e6c50b --- /dev/null +++ b/packages/gpe-conf/gpe-conf_0.2.7.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Configuration applets for GPE" +SECTION = "gpe" +PRIORITY = "optional" +LICENSE = "GPL" + +DEPENDS = "gtk+ esound audiofile libgpewidget libxsettings libxsettings-client libxrandr" +RDEPENDS_${PN} = "xst gpe-confd xset ntpdate gpe-icons tzdata xrandr" +RDEPENDS_gpe-conf-panel = "gpe-conf" + +RPROVIDES_${PN} += " bl" +RCONFLICTS_${PN} = "bl" + +PR = "r0" + +GPE_TARBALL_SUFFIX = "bz2" + +inherit gpe autotools pkgconfig + +PACKAGES += "gpe-conf-panel" + +FILES_${PN} = "${sysconfdir} ${bindir} ${datadir}/pixmaps \ + ${datadir}/applications/gpe-conf-* ${datadir}/gpe/pixmaps \ + ${datadir}/gpe-conf" +FILES_gpe-conf-panel = "${datadir}/applications/gpe-conf.desktop" + -- cgit v1.2.3 From 93bbdbd908bf52cb0397574c7da999bf69254b2d Mon Sep 17 00:00:00 2001 From: Florian Boor Date: Fri, 23 May 2008 10:39:50 +0000 Subject: gpe-todo: Add 0.57 --- packages/gpe-todo/gpe-todo_0.57.bb | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 packages/gpe-todo/gpe-todo_0.57.bb diff --git a/packages/gpe-todo/gpe-todo_0.57.bb b/packages/gpe-todo/gpe-todo_0.57.bb new file mode 100644 index 0000000000..b76e173d16 --- /dev/null +++ b/packages/gpe-todo/gpe-todo_0.57.bb @@ -0,0 +1,3 @@ +require gpe-todo.inc + +DEPENDS += "gtk+ libgpepimc" -- cgit v1.2.3 From 11857ada05620680cec078883e223f6fbfaef6a4 Mon Sep 17 00:00:00 2001 From: Florian Boor Date: Fri, 23 May 2008 16:27:14 +0000 Subject: gpe-login: Remove some patches applied upstream. --- packages/gpe-login/gpe-login_0.92.bb | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/gpe-login/gpe-login_0.92.bb b/packages/gpe-login/gpe-login_0.92.bb index 16d9e471d7..ec168bfc93 100644 --- a/packages/gpe-login/gpe-login_0.92.bb +++ b/packages/gpe-login/gpe-login_0.92.bb @@ -16,8 +16,6 @@ inherit gpe autotools pkgconfig SRC_URI += "file://removeblue-fontsize8.patch;patch=1" SRC_URI += " file://chvt-keylaunch.patch;patch=1 " -SRC_URI += " file://gpe-xcalibrate-rises-from-dead.patch;patch=1 " -SRC_URI += " file://size-autolock-properly.patch;patch=1 " SRC_URI += " file://c-locale.patch;patch=1 " SRC_URI_append_spitz = "file://brightness-adjust-keyluanchrc.patch;patch=1" -- cgit v1.2.3 From c8399b4a991c9754c68ce1fd2947684f34d225df Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 24 May 2008 06:52:27 +0000 Subject: Move eglibc to a separate package. Adios glibc. --- packages/eglibc/.mtn2git_empty | 0 packages/eglibc/eglibc-initial.inc | 31 ++ packages/eglibc/eglibc-initial_svn.bb | 6 + packages/eglibc/eglibc-intermediate.inc | 12 + packages/eglibc/eglibc-intermediate_svn.bb | 8 + packages/eglibc/eglibc-package.bbclass | 334 +++++++++++++++++++++ packages/eglibc/eglibc-stage.inc | 21 ++ packages/eglibc/eglibc-svn/.mtn2git_empty | 0 .../eglibc-svn-arm-lowlevellock-include-tls.patch | 19 ++ packages/eglibc/eglibc.inc | 22 ++ packages/eglibc/eglibc_svn.bb | 97 ++++++ packages/eglibc/files/.mtn2git_empty | 0 packages/eglibc/files/etc/.mtn2git_empty | 0 packages/eglibc/files/etc/ld.so.conf | 2 + packages/eglibc/files/generate-supported.mk | 11 + packages/glibc/eglibc-initial_svn.bb | 48 --- packages/glibc/eglibc-intermediate_svn.bb | 20 -- packages/glibc/eglibc-package.bbclass | 333 -------------------- packages/glibc/eglibc-svn/.mtn2git_empty | 0 .../glibc/eglibc-svn/eglibc-svn-arm-cargs6.patch | 12 - .../glibc/eglibc-svn/eglibc-svn-arm-check_pf.patch | 21 -- .../eglibc-svn-arm-lowlevellock-include-tls.patch | 19 -- packages/glibc/eglibc_svn.bb | 98 ------ 23 files changed, 563 insertions(+), 551 deletions(-) create mode 100644 packages/eglibc/.mtn2git_empty create mode 100644 packages/eglibc/eglibc-initial.inc create mode 100644 packages/eglibc/eglibc-initial_svn.bb create mode 100644 packages/eglibc/eglibc-intermediate.inc create mode 100644 packages/eglibc/eglibc-intermediate_svn.bb create mode 100644 packages/eglibc/eglibc-package.bbclass create mode 100644 packages/eglibc/eglibc-stage.inc create mode 100644 packages/eglibc/eglibc-svn/.mtn2git_empty create mode 100644 packages/eglibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch create mode 100644 packages/eglibc/eglibc.inc create mode 100644 packages/eglibc/eglibc_svn.bb create mode 100644 packages/eglibc/files/.mtn2git_empty create mode 100644 packages/eglibc/files/etc/.mtn2git_empty create mode 100644 packages/eglibc/files/etc/ld.so.conf create mode 100644 packages/eglibc/files/generate-supported.mk delete mode 100644 packages/glibc/eglibc-initial_svn.bb delete mode 100644 packages/glibc/eglibc-intermediate_svn.bb delete mode 100644 packages/glibc/eglibc-package.bbclass delete mode 100644 packages/glibc/eglibc-svn/.mtn2git_empty delete mode 100644 packages/glibc/eglibc-svn/eglibc-svn-arm-cargs6.patch delete mode 100644 packages/glibc/eglibc-svn/eglibc-svn-arm-check_pf.patch delete mode 100644 packages/glibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch delete mode 100644 packages/glibc/eglibc_svn.bb diff --git a/packages/eglibc/.mtn2git_empty b/packages/eglibc/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/eglibc/eglibc-initial.inc b/packages/eglibc/eglibc-initial.inc new file mode 100644 index 0000000000..342711c157 --- /dev/null +++ b/packages/eglibc/eglibc-initial.inc @@ -0,0 +1,31 @@ +SECTION = "libs" +DEPENDS = "linux-libc-headers" +PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" +FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/eglibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" + +PACKAGES = "" +PACKAGES_DYNAMIC = "" + +do_configure () { + sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure + chmod +x ${S}/configure + CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" \ + ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \ + --without-cvs --disable-sanity-checks \ + --with-headers=${STAGING_DIR_TARGET}${layout_includedir} \ + --enable-hacker-mode +} + +do_compile () { + : +} + +do_stage () { + oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} \ + includedir='${layout_includedir}' prefix='${layout_prefix}' install-headers + +} + +do_install () { + : +} diff --git a/packages/eglibc/eglibc-initial_svn.bb b/packages/eglibc/eglibc-initial_svn.bb new file mode 100644 index 0000000000..787c762609 --- /dev/null +++ b/packages/eglibc/eglibc-initial_svn.bb @@ -0,0 +1,6 @@ +require eglibc_${PV}.bb +require eglibc-initial.inc + +do_configure_prepend () { + unset CFLAGS +} diff --git a/packages/eglibc/eglibc-intermediate.inc b/packages/eglibc/eglibc-intermediate.inc new file mode 100644 index 0000000000..c226d8658d --- /dev/null +++ b/packages/eglibc/eglibc-intermediate.inc @@ -0,0 +1,12 @@ +SECTION = "libs" +PACKAGES = "" +PACKAGES_DYNAMIC = "" +PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc" +DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers" + +do_install () { + : +} + +GLIBC_ADDONS = "nptl,ports" +GLIBC_EXTRA_OECONF = "" diff --git a/packages/eglibc/eglibc-intermediate_svn.bb b/packages/eglibc/eglibc-intermediate_svn.bb new file mode 100644 index 0000000000..7150f56d26 --- /dev/null +++ b/packages/eglibc/eglibc-intermediate_svn.bb @@ -0,0 +1,8 @@ +require eglibc_${PV}.bb +require eglibc-intermediate.inc + +# gcc uses -Werror which break on a "you have no thumb interwork" _warning_ +do_configure_prepend() { + find ${S} -name "configure" | xargs touch + sed -i s:-Werror:: ${S}/configure +} diff --git a/packages/eglibc/eglibc-package.bbclass b/packages/eglibc/eglibc-package.bbclass new file mode 100644 index 0000000000..2de24db859 --- /dev/null +++ b/packages/eglibc/eglibc-package.bbclass @@ -0,0 +1,334 @@ +# +# For now, we will skip building of a gcc package if it is a uclibc one +# and our build is not a uclibc one, and we skip a eglibc one if our build +# is a uclibc build. +# +# See the note in gcc/gcc_3.4.0.oe +# + +python __anonymous () { + import bb, re + uc_os = (re.match('.*uclibc*', bb.data.getVar('TARGET_OS', d, 1)) != None) + if uc_os: + raise bb.parse.SkipPackage("incompatible with target %s" % + bb.data.getVar('TARGET_OS', d, 1)) +} + + +# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION +# is set. The idea is to avoid running localedef on the target (at first boot) +# to decrease initial boot time and avoid localedef being killed by the OOM +# killer which used to effectively break i18n on machines with < 128MB RAM. + +# default to disabled until qemu works for everyone +ENABLE_BINARY_LOCALE_GENERATION ?= "0" + +# BINARY_LOCALE_ARCHES is a space separated list of regular expressions +BINARY_LOCALE_ARCHES ?= "arm.*" + +PACKAGES = "eglibc-dbg eglibc catchsegv sln nscd ldd localedef eglibc-utils eglibc-dev eglibc-doc eglibc-locale libsegfault eglibc-extra-nss eglibc-thread-db eglibc-pcprofile" +PACKAGES_DYNAMIC = "glibc-gconv-* glibc-charmap-* glibc-localedata-* glibc-binary-localedata-* eglibc-gconv-* eglibc-charmap-* eglibc-localedata-* eglibc-binary-localedata-* locale-base-*" + +RPROVIDES_eglibc = "glibc" +RPROVIDES_eglibc-utils = "glibc-utils" +RPROVIDES_eglibc-dev = "glibc-dev" +RPROVIDES_eglibc-doc = "glibc-doc" +RPROVIDES_eglibc-locale = "glibc-locale" +RPROVIDES_eglibc-extra-nss = "glibc-extra-nss" +RPROVIDES_eglibc-thread-db = "glibc-thread-db" +RPROVIDES_eglibc-pcprofile = "glibc-pcprofile" +RPROVIDES_eglibc-dbg = "glibc-dbg" + +libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*" + +FILES_${PN} = "${sysconfdir} ${libc_baselibs} /sbin/ldconfig ${libexecdir}/* ${datadir}/zoneinfo" +FILES_ldd = "${bindir}/ldd" +FILES_libsegfault = "/lib/libSegFault*" +FILES_eglibc-extra-nss = "/lib/libnss*" +FILES_sln = "/sbin/sln" +FILES_eglibc-dev_append = " ${libdir}/*.o ${bindir}/rpcgen" +FILES_nscd = "${sbindir}/nscd*" +FILES_eglibc-utils = "${bindir}/* ${sbindir}/*" +FILES_eglibc-gconv = "${libdir}/gconv/*" +FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/gconv/.debug" +FILES_catchsegv = "${bindir}/catchsegv" +RDEPENDS_catchsegv = "libsegfault" +FILES_eglibc-pcprofile = "/lib/libpcprofile.so" +FILES_eglibc-thread-db = "/lib/libthread_db*" +FILES_localedef = "${bindir}/localedef" +RPROVIDES_eglibc-dev += "libc-dev" + +DESCRIPTION_sln = "eglibc: create symbolic links between files" +DESCRIPTION_nscd = "eglibc: name service cache daemon for passwd, group, and hosts" +DESCRIPTION_eglibc-extra-nss = "eglibc: nis, nisplus and hesiod search services" +DESCRIPTION_ldd = "eglibc: print shared library dependencies" +DESCRIPTION_localedef = "eglibc: compile locale definition files" +DESCRIPTION_eglibc-utils = "eglibc: misc utilities like iconf, local, gencat, tzselect, rpcinfo, ..." + +def get_eglibc_fpu_setting(bb, d): + if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: + return "--without-fp" + return "" + +EXTRA_OECONF += "${@get_eglibc_fpu_setting(bb, d)}" + +OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}" + +do_install() { + oe_runmake install_root=${D} install + for r in ${rpcsvc}; do + h=`echo $r|sed -e's,\.x$,.h,'` + install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/ + done + install -m 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ + install -d ${D}${libdir}/locale + make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED" + # get rid of some broken files... + for i in ${GLIBC_BROKEN_LOCALES}; do + grep -v $i ${WORKDIR}/SUPPORTED > ${WORKDIR}/SUPPORTED.tmp + mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED + done + rm -f ${D}/etc/rpc + rm -f ${D}${includedir}/scsi/sg.h + rm -f ${D}${includedir}/scsi/scsi_ioctl.h + rm -f ${D}${includedir}/scsi/scsi.h +} + +TMP_LOCALE="/tmp/locale${libdir}/locale" + +locale_base_postinst() { +#!/bin/sh + +if [ "x$D" != "x" ]; then + exit 1 +fi + +rm -rf ${TMP_LOCALE} +mkdir -p ${TMP_LOCALE} +if [ -f ${libdir}/locale/locale-archive ]; then + cp ${libdir}/locale/locale-archive ${TMP_LOCALE}/ +fi +localedef --inputfile=${datadir}/i18n/locales/%s --charmap=%s --prefix=/tmp/locale %s +mkdir -p ${libdir}/locale/ +mv ${TMP_LOCALE}/locale-archive ${libdir}/locale/ +rm -rf ${TMP_LOCALE} +} + +locale_base_postrm() { +#!/bin/sh + +rm -rf ${TMP_LOCALE} +mkdir -p ${TMP_LOCALE} +if [ -f ${libdir}/locale/locale-archive ]; then + cp ${libdir}/locale/locale-archive ${TMP_LOCALE}/ +fi +localedef --delete-from-archive --inputfile=${datadir}/locales/%s --charmap=%s --prefix=/tmp/locale %s +mv ${TMP_LOCALE}/locale-archive ${libdir}/locale/ +rm -rf ${TMP_LOCALE} +} + +python __anonymous () { + enabled = bb.data.getVar("ENABLE_BINARY_LOCALE_GENERATION", d, 1) + + if enabled and int(enabled): + import re + + target_arch = bb.data.getVar("TARGET_ARCH", d, 1) + binary_arches = bb.data.getVar("BINARY_LOCALE_ARCHES", d, 1) or "" + + for regexp in binary_arches.split(" "): + r = re.compile(regexp) + + if r.match(target_arch): + depends = bb.data.getVar("DEPENDS", d, 1) + depends = "%s qemu-native" % depends + bb.data.setVar("DEPENDS", depends, d) + bb.data.setVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", "1", d) + break +} + +do_prep_locale_tree() { + treedir=${WORKDIR}/locale-tree + rm -rf $treedir + mkdir -p $treedir/bin $treedir/lib $treedir/${datadir} $treedir/${libdir}/locale + cp -pPR ${D}${datadir}/i18n $treedir/${datadir}/i18n + # unzip to avoid parsing errors + for i in $treedir/${datadir}/i18n/charmaps/*gz; do + gunzip $i + done + ls ${D}/lib/* | xargs -iBLAH cp -pPR BLAH $treedir/lib + if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.* ]; then + cp -pPR ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.* $treedir/lib + fi + install -m 0755 ${D}${bindir}/localedef $treedir/bin +} + +do_collect_bins_from_locale_tree() { + treedir=${WORKDIR}/locale-tree + + mkdir -p ${D}${libdir} + cp -pPR $treedir/${libdir}/locale ${D}${libdir} +} + +python package_do_split_gconvs () { + import os, re + if (bb.data.getVar('PACKAGE_NO_GCONV', d, 1) == '1'): + bb.note("package requested not splitting gconvs") + return + + if not bb.data.getVar('PACKAGES', d, 1): + return + + libdir = bb.data.getVar('libdir', d, 1) + if not libdir: + bb.error("libdir not defined") + return + datadir = bb.data.getVar('datadir', d, 1) + if not datadir: + bb.error("datadir not defined") + return + + gconv_libdir = base_path_join(libdir, "gconv") + charmap_dir = base_path_join(datadir, "i18n", "charmaps") + locales_dir = base_path_join(datadir, "i18n", "locales") + binary_locales_dir = base_path_join(libdir, "locale") + + do_split_packages(d, gconv_libdir, file_regex='^(.*)\.so$', output_pattern='eglibc-gconv-%s', description='gconv module for character set %s', extra_depends='eglibc-gconv') + + do_split_packages(d, charmap_dir, file_regex='^(.*)\.gz$', output_pattern='eglibc-charmap-%s', description='character map for %s encoding', extra_depends='') + + def calc_locale_deps(fn, pkg, file_regex, output_pattern, group): + deps = [] + f = open(fn, "r") + c_re = re.compile('^copy "(.*)"') + i_re = re.compile('^include "(\w+)".*') + for l in f.readlines(): + m = c_re.match(l) or i_re.match(l) + if m: + dp = legitimize_package_name('eglibc-localedata-%s' % m.group(1)) + if not dp in deps: + deps.append(dp) + f.close() + if deps != []: + bb.data.setVar('RDEPENDS_%s' % pkg, " ".join(deps), d) + bb.data.setVar('RPROVIDES_%s' % pkg, 'glibc-localedata-%s' % group, d) + + do_split_packages(d, locales_dir, file_regex='(.*)', output_pattern='eglibc-localedata-%s', description='locale definition for %s', hook=calc_locale_deps, extra_depends='') + bb.data.setVar('PACKAGES', bb.data.getVar('PACKAGES', d) + ' eglibc-gconv', d) + + supported = bb.data.getVar('GLIBC_GENERATE_LOCALES', d, 1) + if not supported or supported == "all": + f = open(base_path_join(bb.data.getVar('WORKDIR', d, 1), "SUPPORTED"), "r") + supported = f.readlines() + f.close() + else: + supported = supported.split() + supported = map(lambda s:s.replace(".", " ") + "\n", supported) + + dot_re = re.compile("(.*)\.(.*)") + + # Collate the locales by base and encoding + encodings = {} + for l in supported: + l = l[:-1] + (locale, charset) = l.split(" ") + m = dot_re.match(locale) + if m: + locale = m.group(1) + if not encodings.has_key(locale): + encodings[locale] = [] + encodings[locale].append(charset) + + def output_locale_source(name, locale, encoding): + pkgname = 'locale-base-' + legitimize_package_name(name) + + bb.data.setVar('RDEPENDS_%s' % pkgname, 'localedef eglibc-localedata-%s eglibc-charmap-%s' % (legitimize_package_name(locale), legitimize_package_name(encoding)), d) + rprovides = 'virtual-locale-%s' % legitimize_package_name(name) + m = re.match("(.*)_(.*)", name) + if m: + rprovides += ' virtual-locale-%s' % m.group(1) + bb.data.setVar('RPROVIDES_%s' % pkgname, rprovides, d) + bb.data.setVar('PACKAGES', '%s %s' % (pkgname, bb.data.getVar('PACKAGES', d, 1)), d) + bb.data.setVar('ALLOW_EMPTY_%s' % pkgname, '1', d) + bb.data.setVar('pkg_postinst_%s' % pkgname, bb.data.getVar('locale_base_postinst', d, 1) % (locale, encoding, locale), d) + bb.data.setVar('pkg_postrm_%s' % pkgname, bb.data.getVar('locale_base_postrm', d, 1) % (locale, encoding, locale), d) + + def output_locale_binary(name, locale, encoding): + target_arch = bb.data.getVar("TARGET_ARCH", d, 1) + qemu = "qemu-%s -r 2.6.16" % target_arch + pkgname = 'locale-base-' + legitimize_package_name(name) + m = re.match("(.*)\.(.*)", name) + if m: + eglibc_name = "%s.%s" % (m.group(1), m.group(2).lower().replace("-","")) + else: + eglibc_name = name + bb.data.setVar('RDEPENDS_%s' % pkgname, legitimize_package_name('eglibc-binary-localedata-%s' % eglibc_name), d) + bb.data.setVar('RPROVIDES_%s' % pkgname, 'glibc-binary-localedata-%s' % eglibc_name, d) + rprovides = 'virtual-locale-%s' % legitimize_package_name(name) + m = re.match("(.*)_(.*)", name) + if m: + rprovides += ' virtual-locale-%s' % m.group(1) + bb.data.setVar('RPROVIDES_%s' % pkgname, rprovides, d) + bb.data.setVar('ALLOW_EMPTY_%s' % pkgname, '1', d) + bb.data.setVar('PACKAGES', '%s %s' % (pkgname, bb.data.getVar('PACKAGES', d, 1)), d) + + treedir = base_path_join(bb.data.getVar("WORKDIR", d, 1), "locale-tree") + path = bb.data.getVar("PATH", d, 1) + i18npath = base_path_join(treedir, datadir, "i18n") + + localedef_opts = "--force --old-style --no-archive --prefix=%s --inputfile=%s/i18n/locales/%s --charmap=%s %s" % (treedir, datadir, locale, encoding, name) + cmd = "PATH=\"%s\" I18NPATH=\"%s\" %s -L %s %s/bin/localedef %s" % (path, i18npath, qemu, treedir, treedir, localedef_opts) + bb.note("generating locale %s (%s)" % (locale, encoding)) + if os.system(cmd): + raise bb.build.FuncFailed("localedef returned an error (command was %s)." % cmd) + + def output_locale(name, locale, encoding): + use_bin = bb.data.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", d, 1) + if use_bin: + output_locale_binary(name, locale, encoding) + else: + output_locale_source(name, locale, encoding) + + use_bin = bb.data.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", d, 1) + if use_bin: + bb.note("preparing tree for binary locale generation") + bb.build.exec_func("do_prep_locale_tree", d) + + # Reshuffle names so that UTF-8 is preferred over other encodings + non_utf8 = [] + for l in encodings.keys(): + if len(encodings[l]) == 1: + output_locale(l, l, encodings[l][0]) + if encodings[l][0] != "UTF-8": + non_utf8.append(l) + else: + if "UTF-8" in encodings[l]: + output_locale(l, l, "UTF-8") + encodings[l].remove("UTF-8") + else: + non_utf8.append(l) + for e in encodings[l]: + output_locale('%s.%s' % (l, e), l, e) + + if non_utf8 != []: + bb.note("the following locales are supported only in legacy encodings:") + bb.note(" " + " ".join(non_utf8)) + + use_bin = bb.data.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", d, 1) + if use_bin: + bb.note("collecting binary locales from locale tree") + bb.build.exec_func("do_collect_bins_from_locale_tree", d) + do_split_packages(d, binary_locales_dir, file_regex='(.*)', output_pattern='eglibc-binary-localedata-%s', description='binary locale definition for %s', extra_depends='', allow_dirs=True) + else: + bb.note("generation of binary locales disabled. this may break i18n!") + +} + +# We want to do this indirection so that we can safely 'return' +# from the called function even though we're prepending +python populate_packages_prepend () { + if bb.data.getVar('DEBIAN_NAMES', d, 1): + bb.data.setVar('PKG_eglibc', 'libc6', d) + bb.data.setVar('PKG_eglibc-dev', 'libc6-dev', d) + bb.build.exec_func('package_do_split_gconvs', d) +} diff --git a/packages/eglibc/eglibc-stage.inc b/packages/eglibc/eglibc-stage.inc new file mode 100644 index 0000000000..d4ddecfa4d --- /dev/null +++ b/packages/eglibc/eglibc-stage.inc @@ -0,0 +1,21 @@ +do_stage() { + rm -f ${STAGING_DIR_HOST}${layout_base_libdir}/libc.so.6 + oe_runmake 'install_root=${STAGING_DIR_HOST}' \ + 'includedir=${layout_includedir}' 'libdir=${layout_libdir}' 'slibdir=${layout_base_libdir}' \ + '${STAGING_DIR_HOST}${layout_base_libdir}/libc.so.6' \ + install-headers install-lib install + + install -d ${STAGING_INCDIR}/gnu \ + ${STAGING_INCDIR}/bits \ + ${STAGING_INCDIR}/rpcsvc + install -m 0644 ${S}/include/gnu/stubs.h ${STAGING_INCDIR}/gnu/ + install -m 0644 ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/ + install -m 0644 misc/syscall-list.h ${STAGING_INCDIR}/bits/syscall.h + for r in ${rpcsvc}; do + h=`echo $r|sed -e's,\.x$,.h,'` + install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/ + done + for i in libc.a libc_pic.a libc_nonshared.a; do + install -m 0644 ${B}/$i ${STAGING_DIR_HOST}/${layout_base_libdir}/ || die "failed to install $i" + done +} diff --git a/packages/eglibc/eglibc-svn/.mtn2git_empty b/packages/eglibc/eglibc-svn/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/eglibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch b/packages/eglibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch new file mode 100644 index 0000000000..99c3fef802 --- /dev/null +++ b/packages/eglibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch @@ -0,0 +1,19 @@ +In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21: +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private': +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: warning: implicit declaration of function 'THREAD_GETMEM' +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'THREAD_SELF' undeclared (first use in this function) +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: (Each undeclared identifier is reported only once +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: for each function it appears in.) +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'header' undeclared (first use in this function) +make[4]: *** [/var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os] Error 1 + +--- libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h.orig ++++ libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + #define FUTEX_WAIT 0 + #define FUTEX_WAKE 1 diff --git a/packages/eglibc/eglibc.inc b/packages/eglibc/eglibc.inc new file mode 100644 index 0000000000..e1559e46e4 --- /dev/null +++ b/packages/eglibc/eglibc.inc @@ -0,0 +1,22 @@ +DESCRIPTION = "Embedded GNU C Library" +HOMEPAGE = "http://www.eglibc.org/home" +SECTION = "libs" +PRIORITY = "required" +LICENSE = "LGPL" +# nptl needs unwind support in gcc, which can't be built without glibc. +DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers" +#this leads to circular deps, so lets not add it yet +#RDEPENDS_ldd += " bash" +# nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this +RDEPENDS += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}" +PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}" +PROVIDES += "virtual/libintl virtual/libiconv" + +inherit autotools + +LEAD_SONAME = "libc.so" + +GLIBC_EXTRA_OECONF ?= "" +INHIBIT_DEFAULT_DEPS = "1" + +PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile" diff --git a/packages/eglibc/eglibc_svn.bb b/packages/eglibc/eglibc_svn.bb new file mode 100644 index 0000000000..e7a4a1ba75 --- /dev/null +++ b/packages/eglibc/eglibc_svn.bb @@ -0,0 +1,97 @@ +require eglibc.inc + +# DEFAULT_PREFERENCE = "-1" +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/eglibc-svn" +PV = "2.8+svnr${SRCREV}" +PR = "r6" +SRC_URI = "svn://svn.eglibc.org;module=trunk \ + file://eglibc-svn-arm-lowlevellock-include-tls.patch;patch=1 \ + file://etc/ld.so.conf \ + file://generate-supported.mk" +S = "${WORKDIR}/trunk/libc" +B = "${WORKDIR}/build-${TARGET_SYS}" + +PACKAGES_DYNAMIC = "libc6*" +RPROVIDES_${PN}-dev = "libc6-dev" +PROVIDES_${PN}-dbg = "glibc-dbg" + +# the -isystem in bitbake.conf screws up glibc do_stage +BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" +TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${layout_includedir}" + +GLIBC_ADDONS ?= "ports,nptl,libidn" + +GLIBC_BROKEN_LOCALES = " _ER _ET so_ET yn_ER sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN" + +# +# For now, we will skip building of a gcc package if it is a uclibc one +# and our build is not a uclibc one, and we skip a glibc one if our build +# is a uclibc build. +# +# See the note in gcc/gcc_3.4.0.oe +# + +python __anonymous () { + import bb, re + uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None) + if uc_os: + raise bb.parse.SkipPackage("incompatible with target %s" % + bb.data.getVar('TARGET_OS', d, 1)) +} + + +EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ + --without-cvs --disable-profile --disable-debug --without-gd \ + --enable-clocale=gnu \ + --enable-add-ons=${GLIBC_ADDONS} \ + --with-headers=${STAGING_INCDIR} \ + --without-selinux \ + ${GLIBC_EXTRA_OECONF}" + +EXTRA_OECONF += "${@get_eglibc_fpu_setting(bb, d)}" + +do_unpack_append() { + bb.build.exec_func('do_move_ports', d) +} + +do_move_ports() { + if test -d ${WORKDIR}/trunk/ports ; then + rm -rf ${S}/ports + mv ${WORKDIR}/trunk/ports ${S}/ + fi +} + +do_configure () { +# override this function to avoid the autoconf/automake/aclocal/autoheader +# calls for now +# don't pass CPPFLAGS into configure, since it upsets the kernel-headers +# version check and doesn't really help with anything + if [ -z "`which rpcgen`" ]; then + echo "rpcgen not found. Install glibc-devel." + exit 1 + fi + (cd ${S} && gnu-configize) || die "failure in running gnu-configize" + find ${S} -name "configure" | xargs touch + CPPFLAGS="" oe_runconf +} + +rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ + yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ + rusers.x spray.x nfs_prot.x rquota.x key_prot.x" + +do_compile () { + # -Wl,-rpath-link /lib in LDFLAGS can cause breakage if another glibc is in staging + unset LDFLAGS + base_do_compile + ( + cd ${S}/sunrpc/rpcsvc + for r in ${rpcsvc}; do + h=`echo $r|sed -e's,\.x$,.h,'` + rpcgen -h $r -o $h || oewarn "unable to generate header for $r" + done + ) +} + +require eglibc-stage.inc + +require eglibc-package.bbclass diff --git a/packages/eglibc/files/.mtn2git_empty b/packages/eglibc/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/eglibc/files/etc/.mtn2git_empty b/packages/eglibc/files/etc/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/eglibc/files/etc/ld.so.conf b/packages/eglibc/files/etc/ld.so.conf new file mode 100644 index 0000000000..dfa65edb85 --- /dev/null +++ b/packages/eglibc/files/etc/ld.so.conf @@ -0,0 +1,2 @@ +/usr/local/lib +/usr/X11R6/lib diff --git a/packages/eglibc/files/generate-supported.mk b/packages/eglibc/files/generate-supported.mk new file mode 100644 index 0000000000..d2a28c2dc6 --- /dev/null +++ b/packages/eglibc/files/generate-supported.mk @@ -0,0 +1,11 @@ +#!/usr/bin/make + +include $(IN) + +all: + rm -f $(OUT) + touch $(OUT) + for locale in $(SUPPORTED-LOCALES); do \ + [ $$locale = true ] && continue; \ + echo $$locale | sed 's,/, ,' >> $(OUT); \ + done diff --git a/packages/glibc/eglibc-initial_svn.bb b/packages/glibc/eglibc-initial_svn.bb deleted file mode 100644 index cbe4878529..0000000000 --- a/packages/glibc/eglibc-initial_svn.bb +++ /dev/null @@ -1,48 +0,0 @@ -require eglibc_${PV}.bb - -DEPENDS = "linux-libc-headers" -PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" -FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-2.4', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" - -PACKAGES = "" -PACKAGES_DYNAMIC = "" - -do_configure () { - sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure - chmod +x ${S}/configure - unset CFLAGS - find ${S} -name "configure" | xargs touch - CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \ - --without-cvs --disable-sanity-checks \ - --with-headers=${STAGING_INCDIR} \ - --enable-hacker-mode - if grep -q GLIBC_2.3 ${S}/ChangeLog; then - # glibc-2.3.x passes cross options to $(CC) when generating errlist-compat.c, which fails without a real cross-compiler. - # Fortunately, we don't need errlist-compat.c, since we just need .h files, - # so work around this by creating a fake errlist-compat.c and satisfying its dependencies. - # Another workaround might be to tell configure to not use any cross options to $(CC). - # The real fix would be to get install-headers to not generate errlist-compat.c. - make sysdeps/gnu/errlist.c - mkdir -p stdio-common - touch stdio-common/errlist-compat.c - fi -} - -do_compile () { - : -} - -do_stage () { - oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} includedir=${layout_includedir} prefix="" install-headers - - # Two headers -- stubs.h and features.h -- aren't installed by install-headers, - # so do them by hand. We can tolerate an empty stubs.h for the moment. - # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html - mkdir -p ${STAGING_INCDIR}/gnu - touch ${STAGING_INCDIR}/gnu/stubs.h - cp ${S}/include/features.h ${STAGING_INCDIR}/features.h -} - -do_install () { - : -} diff --git a/packages/glibc/eglibc-intermediate_svn.bb b/packages/glibc/eglibc-intermediate_svn.bb deleted file mode 100644 index 5ecbdb6ed8..0000000000 --- a/packages/glibc/eglibc-intermediate_svn.bb +++ /dev/null @@ -1,20 +0,0 @@ -require eglibc_${PV}.bb - -do_install () { - : -} - -# gcc uses -Werror which break on a "you have no thumb interwork" _warning_ -do_configure_prepend() { - find ${S} -name "configure" | xargs touch - sed -i s:-Werror:: ${S}/configure -} - - - -PACKAGES = "" -PACKAGES_DYNAMIC = "" -PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc" -DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers" -GLIBC_ADDONS = "nptl,ports" -GLIBC_EXTRA_OECONF = "" diff --git a/packages/glibc/eglibc-package.bbclass b/packages/glibc/eglibc-package.bbclass deleted file mode 100644 index 241d8d30a6..0000000000 --- a/packages/glibc/eglibc-package.bbclass +++ /dev/null @@ -1,333 +0,0 @@ -# -# For now, we will skip building of a gcc package if it is a uclibc one -# and our build is not a uclibc one, and we skip a eglibc one if our build -# is a uclibc build. -# -# See the note in gcc/gcc_3.4.0.oe -# - -python __anonymous () { - import bb, re - uc_os = (re.match('.*uclibc*', bb.data.getVar('TARGET_OS', d, 1)) != None) - if uc_os: - raise bb.parse.SkipPackage("incompatible with target %s" % - bb.data.getVar('TARGET_OS', d, 1)) -} - - -# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION -# is set. The idea is to avoid running localedef on the target (at first boot) -# to decrease initial boot time and avoid localedef being killed by the OOM -# killer which used to effectively break i18n on machines with < 128MB RAM. - -# default to disabled until qemu works for everyone -ENABLE_BINARY_LOCALE_GENERATION ?= "0" - -# BINARY_LOCALE_ARCHES is a space separated list of regular expressions -BINARY_LOCALE_ARCHES ?= "arm.*" - -PACKAGES = "eglibc-dbg eglibc catchsegv sln nscd ldd localedef eglibc-utils eglibc-dev eglibc-doc eglibc-locale libsegfault eglibc-extra-nss eglibc-thread-db eglibc-pcprofile" -PACKAGES_DYNAMIC = "glibc-gconv-* glibc-charmap-* glibc-localedata-* eglibc-gconv-* eglibc-charmap-* eglibc-localedata-*" - -RPROVIDES_eglibc = "glibc" -RPROVIDES_eglibc-utils = "glibc-utils" -RPROVIDES_eglibc-dev = "glibc-dev" -RPROVIDES_eglibc-doc = "glibc-doc" -RPROVIDES_eglibc-locale = "glibc-locale" -RPROVIDES_eglibc-extra-nss = "glibc-extra-nss" -RPROVIDES_eglibc-thread-db = "glibc-thread-db" -RPROVIDES_eglibc-pcprofiles = "glibc-pcprofiles" - -libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*" - -FILES_${PN} = "${sysconfdir} ${libc_baselibs} /sbin/ldconfig ${libexecdir}/* ${datadir}/zoneinfo" -FILES_ldd = "${bindir}/ldd" -FILES_libsegfault = "/lib/libSegFault*" -FILES_eglibc-extra-nss = "/lib/libnss*" -FILES_sln = "/sbin/sln" -FILES_eglibc-dev_append = " ${libdir}/*.o ${bindir}/rpcgen" -FILES_nscd = "${sbindir}/nscd*" -FILES_eglibc-utils = "${bindir}/* ${sbindir}/*" -FILES_eglibc-gconv = "${libdir}/gconv/*" -FILES_${PN}-dbg += "${libexecdir}/getconf/.debug ${libdir}/gconv/.debug" -FILES_catchsegv = "${bindir}/catchsegv" -RDEPENDS_catchsegv = "libsegfault" -FILES_eglibc-pcprofile = "/lib/libpcprofile.so" -FILES_eglibc-thread-db = "/lib/libthread_db*" -FILES_localedef = "${bindir}/localedef" -RPROVIDES_eglibc-dev += "libc-dev" - -DESCRIPTION_sln = "eglibc: create symbolic links between files" -DESCRIPTION_nscd = "eglibc: name service cache daemon for passwd, group, and hosts" -DESCRIPTION_eglibc-extra-nss = "eglibc: nis, nisplus and hesiod search services" -DESCRIPTION_ldd = "eglibc: print shared library dependencies" -DESCRIPTION_localedef = "eglibc: compile locale definition files" -DESCRIPTION_eglibc-utils = "eglibc: misc utilities like iconf, local, gencat, tzselect, rpcinfo, ..." - -def get_eglibc_fpu_setting(bb, d): - if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: - return "--without-fp" - return "" - -EXTRA_OECONF += "${@get_eglibc_fpu_setting(bb, d)}" - -OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}" - -do_install() { - oe_runmake install_root=${D} install - for r in ${rpcsvc}; do - h=`echo $r|sed -e's,\.x$,.h,'` - install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/ - done - install -m 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ - install -d ${D}${libdir}/locale - make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED" - # get rid of some broken files... - for i in ${GLIBC_BROKEN_LOCALES}; do - grep -v $i ${WORKDIR}/SUPPORTED > ${WORKDIR}/SUPPORTED.tmp - mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED - done - rm -f ${D}/etc/rpc - rm -f ${D}${includedir}/scsi/sg.h - rm -f ${D}${includedir}/scsi/scsi_ioctl.h - rm -f ${D}${includedir}/scsi/scsi.h -} - -TMP_LOCALE="/tmp/locale${libdir}/locale" - -locale_base_postinst() { -#!/bin/sh - -if [ "x$D" != "x" ]; then - exit 1 -fi - -rm -rf ${TMP_LOCALE} -mkdir -p ${TMP_LOCALE} -if [ -f ${libdir}/locale/locale-archive ]; then - cp ${libdir}/locale/locale-archive ${TMP_LOCALE}/ -fi -localedef --inputfile=${datadir}/i18n/locales/%s --charmap=%s --prefix=/tmp/locale %s -mkdir -p ${libdir}/locale/ -mv ${TMP_LOCALE}/locale-archive ${libdir}/locale/ -rm -rf ${TMP_LOCALE} -} - -locale_base_postrm() { -#!/bin/sh - -rm -rf ${TMP_LOCALE} -mkdir -p ${TMP_LOCALE} -if [ -f ${libdir}/locale/locale-archive ]; then - cp ${libdir}/locale/locale-archive ${TMP_LOCALE}/ -fi -localedef --delete-from-archive --inputfile=${datadir}/locales/%s --charmap=%s --prefix=/tmp/locale %s -mv ${TMP_LOCALE}/locale-archive ${libdir}/locale/ -rm -rf ${TMP_LOCALE} -} - -python __anonymous () { - enabled = bb.data.getVar("ENABLE_BINARY_LOCALE_GENERATION", d, 1) - - if enabled and int(enabled): - import re - - target_arch = bb.data.getVar("TARGET_ARCH", d, 1) - binary_arches = bb.data.getVar("BINARY_LOCALE_ARCHES", d, 1) or "" - - for regexp in binary_arches.split(" "): - r = re.compile(regexp) - - if r.match(target_arch): - depends = bb.data.getVar("DEPENDS", d, 1) - depends = "%s qemu-native" % depends - bb.data.setVar("DEPENDS", depends, d) - bb.data.setVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", "1", d) - break -} - -do_prep_locale_tree() { - treedir=${WORKDIR}/locale-tree - rm -rf $treedir - mkdir -p $treedir/bin $treedir/lib $treedir/${datadir} $treedir/${libdir}/locale - cp -pPR ${D}${datadir}/i18n $treedir/${datadir}/i18n - # unzip to avoid parsing errors - for i in $treedir/${datadir}/i18n/charmaps/*gz; do - gunzip $i - done - ls ${D}/lib/* | xargs -iBLAH cp -pPR BLAH $treedir/lib - if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.* ]; then - cp -pPR ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.* $treedir/lib - fi - install -m 0755 ${D}${bindir}/localedef $treedir/bin -} - -do_collect_bins_from_locale_tree() { - treedir=${WORKDIR}/locale-tree - - mkdir -p ${D}${libdir} - cp -pPR $treedir/${libdir}/locale ${D}${libdir} -} - -python package_do_split_gconvs () { - import os, re - if (bb.data.getVar('PACKAGE_NO_GCONV', d, 1) == '1'): - bb.note("package requested not splitting gconvs") - return - - if not bb.data.getVar('PACKAGES', d, 1): - return - - libdir = bb.data.getVar('libdir', d, 1) - if not libdir: - bb.error("libdir not defined") - return - datadir = bb.data.getVar('datadir', d, 1) - if not datadir: - bb.error("datadir not defined") - return - - gconv_libdir = base_path_join(libdir, "gconv") - charmap_dir = base_path_join(datadir, "i18n", "charmaps") - locales_dir = base_path_join(datadir, "i18n", "locales") - binary_locales_dir = base_path_join(libdir, "locale") - - do_split_packages(d, gconv_libdir, file_regex='^(.*)\.so$', output_pattern='eglibc-gconv-%s', description='gconv module for character set %s', extra_depends='eglibc-gconv') - - do_split_packages(d, charmap_dir, file_regex='^(.*)\.gz$', output_pattern='eglibc-charmap-%s', description='character map for %s encoding', extra_depends='') - - def calc_locale_deps(fn, pkg, file_regex, output_pattern, group): - deps = [] - f = open(fn, "r") - c_re = re.compile('^copy "(.*)"') - i_re = re.compile('^include "(\w+)".*') - for l in f.readlines(): - m = c_re.match(l) or i_re.match(l) - if m: - dp = legitimize_package_name('eglibc-localedata-%s' % m.group(1)) - if not dp in deps: - deps.append(dp) - f.close() - if deps != []: - bb.data.setVar('RDEPENDS_%s' % pkg, " ".join(deps), d) - bb.data.setVar('RPROVIDES_%s' % pkg, 'glibc-localedata-%s' % group, d) - - do_split_packages(d, locales_dir, file_regex='(.*)', output_pattern='eglibc-localedata-%s', description='locale definition for %s', hook=calc_locale_deps, extra_depends='') - bb.data.setVar('PACKAGES', bb.data.getVar('PACKAGES', d) + ' eglibc-gconv', d) - - supported = bb.data.getVar('GLIBC_GENERATE_LOCALES', d, 1) - if not supported or supported == "all": - f = open(base_path_join(bb.data.getVar('WORKDIR', d, 1), "SUPPORTED"), "r") - supported = f.readlines() - f.close() - else: - supported = supported.split() - supported = map(lambda s:s.replace(".", " ") + "\n", supported) - - dot_re = re.compile("(.*)\.(.*)") - - # Collate the locales by base and encoding - encodings = {} - for l in supported: - l = l[:-1] - (locale, charset) = l.split(" ") - m = dot_re.match(locale) - if m: - locale = m.group(1) - if not encodings.has_key(locale): - encodings[locale] = [] - encodings[locale].append(charset) - - def output_locale_source(name, locale, encoding): - pkgname = 'locale-base-' + legitimize_package_name(name) - - bb.data.setVar('RDEPENDS_%s' % pkgname, 'localedef eglibc-localedata-%s eglibc-charmap-%s' % (legitimize_package_name(locale), legitimize_package_name(encoding)), d) - rprovides = 'virtual-locale-%s' % legitimize_package_name(name) - m = re.match("(.*)_(.*)", name) - if m: - rprovides += ' virtual-locale-%s' % m.group(1) - bb.data.setVar('RPROVIDES_%s' % pkgname, rprovides, d) - bb.data.setVar('PACKAGES', '%s %s' % (pkgname, bb.data.getVar('PACKAGES', d, 1)), d) - bb.data.setVar('ALLOW_EMPTY_%s' % pkgname, '1', d) - bb.data.setVar('pkg_postinst_%s' % pkgname, bb.data.getVar('locale_base_postinst', d, 1) % (locale, encoding, locale), d) - bb.data.setVar('pkg_postrm_%s' % pkgname, bb.data.getVar('locale_base_postrm', d, 1) % (locale, encoding, locale), d) - - def output_locale_binary(name, locale, encoding): - target_arch = bb.data.getVar("TARGET_ARCH", d, 1) - qemu = "qemu-%s -r 2.6.16" % target_arch - pkgname = 'locale-base-' + legitimize_package_name(name) - m = re.match("(.*)\.(.*)", name) - if m: - eglibc_name = "%s.%s" % (m.group(1), m.group(2).lower().replace("-","")) - else: - eglibc_name = name - bb.data.setVar('RDEPENDS_%s' % pkgname, legitimize_package_name('eglibc-binary-localedata-%s' % eglibc_name), d) - bb.data.setVar('RPROVIDES_%s' % pkgname, 'glibc-binary-localedata-%s' % eglibc_name, d) - rprovides = 'virtual-locale-%s' % legitimize_package_name(name) - m = re.match("(.*)_(.*)", name) - if m: - rprovides += ' virtual-locale-%s' % m.group(1) - bb.data.setVar('RPROVIDES_%s' % pkgname, rprovides, d) - bb.data.setVar('ALLOW_EMPTY_%s' % pkgname, '1', d) - bb.data.setVar('PACKAGES', '%s %s' % (pkgname, bb.data.getVar('PACKAGES', d, 1)), d) - - treedir = base_path_join(bb.data.getVar("WORKDIR", d, 1), "locale-tree") - path = bb.data.getVar("PATH", d, 1) - i18npath = base_path_join(treedir, datadir, "i18n") - - localedef_opts = "--force --old-style --no-archive --prefix=%s --inputfile=%s/i18n/locales/%s --charmap=%s %s" % (treedir, datadir, locale, encoding, name) - cmd = "PATH=\"%s\" I18NPATH=\"%s\" %s -L %s %s/bin/localedef %s" % (path, i18npath, qemu, treedir, treedir, localedef_opts) - bb.note("generating locale %s (%s)" % (locale, encoding)) - if os.system(cmd): - raise bb.build.FuncFailed("localedef returned an error (command was %s)." % cmd) - - def output_locale(name, locale, encoding): - use_bin = bb.data.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", d, 1) - if use_bin: - output_locale_binary(name, locale, encoding) - else: - output_locale_source(name, locale, encoding) - - use_bin = bb.data.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", d, 1) - if use_bin: - bb.note("preparing tree for binary locale generation") - bb.build.exec_func("do_prep_locale_tree", d) - - # Reshuffle names so that UTF-8 is preferred over other encodings - non_utf8 = [] - for l in encodings.keys(): - if len(encodings[l]) == 1: - output_locale(l, l, encodings[l][0]) - if encodings[l][0] != "UTF-8": - non_utf8.append(l) - else: - if "UTF-8" in encodings[l]: - output_locale(l, l, "UTF-8") - encodings[l].remove("UTF-8") - else: - non_utf8.append(l) - for e in encodings[l]: - output_locale('%s.%s' % (l, e), l, e) - - if non_utf8 != []: - bb.note("the following locales are supported only in legacy encodings:") - bb.note(" " + " ".join(non_utf8)) - - use_bin = bb.data.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", d, 1) - if use_bin: - bb.note("collecting binary locales from locale tree") - bb.build.exec_func("do_collect_bins_from_locale_tree", d) - do_split_packages(d, binary_locales_dir, file_regex='(.*)', output_pattern='eglibc-binary-localedata-%s', description='binary locale definition for %s', extra_depends='', allow_dirs=True) - else: - bb.note("generation of binary locales disabled. this may break i18n!") - -} - -# We want to do this indirection so that we can safely 'return' -# from the called function even though we're prepending -python populate_packages_prepend () { - if bb.data.getVar('DEBIAN_NAMES', d, 1): - bb.data.setVar('PKG_eglibc', 'libc6', d) - bb.data.setVar('PKG_eglibc-dev', 'libc6-dev', d) - bb.build.exec_func('package_do_split_gconvs', d) -} diff --git a/packages/glibc/eglibc-svn/.mtn2git_empty b/packages/glibc/eglibc-svn/.mtn2git_empty deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/glibc/eglibc-svn/eglibc-svn-arm-cargs6.patch b/packages/glibc/eglibc-svn/eglibc-svn-arm-cargs6.patch deleted file mode 100644 index ef9708faaa..0000000000 --- a/packages/glibc/eglibc-svn/eglibc-svn-arm-cargs6.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- libc/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h.org 2008-04-04 18:44:53.000000000 -0700 -+++ libc/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h 2008-04-04 18:45:27.000000000 -0700 -@@ -73,6 +73,9 @@ - # define DOCARGS_5 DOCARGS_4 - # define UNDOCARGS_5 UNDOCARGS_4 - -+# define DOCARGS_6 DOCARGS_5 -+# define UNDOCARGS_6 UNDOCARGS_5 -+ - # ifdef IS_IN_libpthread - # define CENABLE bl PLTJMP(__pthread_enable_asynccancel) - # define CDISABLE bl PLTJMP(__pthread_disable_asynccancel) diff --git a/packages/glibc/eglibc-svn/eglibc-svn-arm-check_pf.patch b/packages/glibc/eglibc-svn/eglibc-svn-arm-check_pf.patch deleted file mode 100644 index cf45035f99..0000000000 --- a/packages/glibc/eglibc-svn/eglibc-svn-arm-check_pf.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: eglibc/ports/sysdeps/unix/sysv/linux/arm/check_pf.c -=================================================================== ---- eglibc/ports/sysdeps/unix/sysv/linux/arm/check_pf.c (revision 5790) -+++ eglibc/ports/sysdeps/unix/sysv/linux/arm/check_pf.c (working copy) -@@ -200,16 +200,12 @@ - } - - if (ifam->ifa_flags & (IFA_F_DEPRECATED -- | IFA_F_TEMPORARY - | IFA_F_HOMEADDRESS)) - { - struct in6ailist *newp = alloca (sizeof (*newp)); - newp->info.flags = (((ifam->ifa_flags & IFA_F_DEPRECATED) - ? in6ai_deprecated : 0) - | ((ifam->ifa_flags -- & IFA_F_TEMPORARY) -- ? in6ai_temporary : 0) -- | ((ifam->ifa_flags - & IFA_F_HOMEADDRESS) - ? in6ai_homeaddress : 0)); - memcpy (newp->info.addr, address ?: local, diff --git a/packages/glibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch b/packages/glibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch deleted file mode 100644 index 99c3fef802..0000000000 --- a/packages/glibc/eglibc-svn/eglibc-svn-arm-lowlevellock-include-tls.patch +++ /dev/null @@ -1,19 +0,0 @@ -In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21: -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private': -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: warning: implicit declaration of function 'THREAD_GETMEM' -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'THREAD_SELF' undeclared (first use in this function) -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: (Each undeclared identifier is reported only once -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: for each function it appears in.) -../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'header' undeclared (first use in this function) -make[4]: *** [/var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os] Error 1 - ---- libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h.orig -+++ libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - - #define FUTEX_WAIT 0 - #define FUTEX_WAKE 1 diff --git a/packages/glibc/eglibc_svn.bb b/packages/glibc/eglibc_svn.bb deleted file mode 100644 index ee5b3cfd23..0000000000 --- a/packages/glibc/eglibc_svn.bb +++ /dev/null @@ -1,98 +0,0 @@ -require glibc.inc - -DEFAULT_PREFERENCE = "-1" -FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/eglibc-svn" -PV = "2.8+svnr${SRCREV}" -PR = "r6" -SRC_URI = "svn://svn.eglibc.org;module=trunk \ - file://eglibc-svn-arm-cargs6.patch;patch=1 \ - file://eglibc-svn-arm-check_pf.patch;patch=1 \ - file://eglibc-svn-arm-lowlevellock-include-tls.patch;patch=1 \ - file://etc/ld.so.conf \ - file://generate-supported.mk" -S = "${WORKDIR}/trunk/libc" -B = "${WORKDIR}/build-${TARGET_SYS}" - -PACKAGES_DYNAMIC = "libc6*" -RPROVIDES_${PN}-dev = "libc6-dev" - -# the -isystem in bitbake.conf screws up glibc do_stage -BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" -TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${layout_includedir}" - -GLIBC_ADDONS ?= "ports,nptl,libidn" - -GLIBC_BROKEN_LOCALES = " _ER _ET so_ET yn_ER sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN" - -# -# For now, we will skip building of a gcc package if it is a uclibc one -# and our build is not a uclibc one, and we skip a glibc one if our build -# is a uclibc build. -# -# See the note in gcc/gcc_3.4.0.oe -# - -python __anonymous () { - import bb, re - uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None) - if uc_os: - raise bb.parse.SkipPackage("incompatible with target %s" % - bb.data.getVar('TARGET_OS', d, 1)) -} - - -EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ - --without-cvs --disable-profile --disable-debug --without-gd \ - --enable-clocale=gnu \ - --enable-add-ons=${GLIBC_ADDONS} \ - --with-headers=${STAGING_INCDIR} \ - --without-selinux \ - ${GLIBC_EXTRA_OECONF}" - -EXTRA_OECONF += "${@get_eglibc_fpu_setting(bb, d)}" - -do_unpack_append() { - bb.build.exec_func('do_move_ports', d) -} - -do_move_ports() { - if test -d ${WORKDIR}/trunk/ports ; then - rm -rf ${S}/ports - mv ${WORKDIR}/trunk/ports ${S}/ - fi -} - -do_configure () { -# override this function to avoid the autoconf/automake/aclocal/autoheader -# calls for now -# don't pass CPPFLAGS into configure, since it upsets the kernel-headers -# version check and doesn't really help with anything - if [ -z "`which rpcgen`" ]; then - echo "rpcgen not found. Install glibc-devel." - exit 1 - fi - (cd ${S} && gnu-configize) || die "failure in running gnu-configize" - find ${S} -name "configure" | xargs touch - CPPFLAGS="" oe_runconf -} - -rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ - yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ - rusers.x spray.x nfs_prot.x rquota.x key_prot.x" - -do_compile () { - # -Wl,-rpath-link /lib in LDFLAGS can cause breakage if another glibc is in staging - unset LDFLAGS - base_do_compile - ( - cd ${S}/sunrpc/rpcsvc - for r in ${rpcsvc}; do - h=`echo $r|sed -e's,\.x$,.h,'` - rpcgen -h $r -o $h || oewarn "unable to generate header for $r" - done - ) -} - -require glibc-stage.inc - -require eglibc-package.bbclass -- cgit v1.2.3 From c59f48d70046a2478b8288cdc956e340176ccbe7 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 24 May 2008 06:54:02 +0000 Subject: Add 2.6.25 kernel headers. --- .../linux-libc-headers-2.6.25/.mtn2git_empty | 0 .../fix-kernel-conditionalize-a.out.h.patch | 15 +++++ .../linux-libc-headers-2.6.25/procinfo.h | 24 ++++++++ .../reinstate-a.out.h.patch | 14 +++++ .../linux-libc-headers_2.6.25.bb | 68 ++++++++++++++++++++++ 5 files changed, 121 insertions(+) create mode 100644 packages/linux-libc-headers/linux-libc-headers-2.6.25/.mtn2git_empty create mode 100644 packages/linux-libc-headers/linux-libc-headers-2.6.25/fix-kernel-conditionalize-a.out.h.patch create mode 100644 packages/linux-libc-headers/linux-libc-headers-2.6.25/procinfo.h create mode 100644 packages/linux-libc-headers/linux-libc-headers-2.6.25/reinstate-a.out.h.patch create mode 100644 packages/linux-libc-headers/linux-libc-headers_2.6.25.bb diff --git a/packages/linux-libc-headers/linux-libc-headers-2.6.25/.mtn2git_empty b/packages/linux-libc-headers/linux-libc-headers-2.6.25/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/linux-libc-headers/linux-libc-headers-2.6.25/fix-kernel-conditionalize-a.out.h.patch b/packages/linux-libc-headers/linux-libc-headers-2.6.25/fix-kernel-conditionalize-a.out.h.patch new file mode 100644 index 0000000000..30dee5d520 --- /dev/null +++ b/packages/linux-libc-headers/linux-libc-headers-2.6.25/fix-kernel-conditionalize-a.out.h.patch @@ -0,0 +1,15 @@ +diff --git a/include/linux/a.out.h b/include/linux/a.out.h +index 208f4e8..d149699 100644 +--- a/include/linux/a.out.h ++++ b/include/linux/a.out.h +@@ -1,6 +1,10 @@ + #ifndef __A_OUT_GNU_H__ + #define __A_OUT_GNU_H__ + ++#ifndef __KERNEL__ ++#define CONFIG_ARCH_SUPPORTS_AOUT ++#endif ++ + #ifdef CONFIG_ARCH_SUPPORTS_AOUT + + #define __GNU_EXEC_MACROS__ diff --git a/packages/linux-libc-headers/linux-libc-headers-2.6.25/procinfo.h b/packages/linux-libc-headers/linux-libc-headers-2.6.25/procinfo.h new file mode 100644 index 0000000000..8cdf828af8 --- /dev/null +++ b/packages/linux-libc-headers/linux-libc-headers-2.6.25/procinfo.h @@ -0,0 +1,24 @@ +/* + * linux/include/asm-arm/procinfo.h + * + * Copyright (C) 1996-1999 Russell King + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef __ASM_PROCINFO_H +#define __ASM_PROCINFO_H + +#define HWCAP_SWP 1 +#define HWCAP_HALF 2 +#define HWCAP_THUMB 4 +#define HWCAP_26BIT 8 /* Play it safe */ +#define HWCAP_FAST_MULT 16 +#define HWCAP_FPA 32 +#define HWCAP_VFP 64 +#define HWCAP_EDSP 128 +#define HWCAP_JAVA 256 +#define HWCAP_IWMMXT 512 +#define HWCAP_CRUNCH 1024 +#endif diff --git a/packages/linux-libc-headers/linux-libc-headers-2.6.25/reinstate-a.out.h.patch b/packages/linux-libc-headers/linux-libc-headers-2.6.25/reinstate-a.out.h.patch new file mode 100644 index 0000000000..9032f4e716 --- /dev/null +++ b/packages/linux-libc-headers/linux-libc-headers-2.6.25/reinstate-a.out.h.patch @@ -0,0 +1,14 @@ +diff --git a/include/linux/Kbuild b/include/linux/Kbuild +index 93b9885..b6fbb25 100644 +--- a/include/linux/Kbuild ++++ b/include/linux/Kbuild +@@ -166,6 +166,9 @@ unifdef-y += acct.h + unifdef-y += adb.h + unifdef-y += adfs_fs.h + unifdef-y += agpgart.h ++ifeq ($(wildcard include/asm-$(SRCARCH)/a.out.h),include/asm-$(SRCARCH)/a.out.h) ++unifdef-y += a.out.h ++endif + unifdef-y += apm_bios.h + unifdef-y += atalk.h + unifdef-y += atmdev.h diff --git a/packages/linux-libc-headers/linux-libc-headers_2.6.25.bb b/packages/linux-libc-headers/linux-libc-headers_2.6.25.bb new file mode 100644 index 0000000000..f47fd08091 --- /dev/null +++ b/packages/linux-libc-headers/linux-libc-headers_2.6.25.bb @@ -0,0 +1,68 @@ +require linux-libc-headers.inc + +INHIBIT_DEFAULT_DEPS = "1" +DEPENDS += "unifdef-native" +PR = "r1" + +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ + file://reinstate-a.out.h.patch;patch=1 \ + file://fix-kernel-conditionalize-a.out.h.patch;patch=1 \ + file://procinfo.h" + +S = "${WORKDIR}/linux-${PV}" + +set_arch() { + case ${TARGET_ARCH} in + alpha*) ARCH=alpha ;; + arm*) ARCH=arm ;; + cris*) ARCH=cris ;; + hppa*) ARCH=parisc ;; + i*86*) ARCH=i386 ;; + ia64*) ARCH=ia64 ;; + mips*) ARCH=mips ;; + m68k*) ARCH=m68k ;; + powerpc*) ARCH=powerpc ;; + s390*) ARCH=s390 ;; + sh*) ARCH=sh ;; + sparc64*) ARCH=sparc64 ;; + sparc*) ARCH=sparc ;; + x86_64*) ARCH=x86_64 ;; + avr32*) ARCH=avr32 ;; + bfin*) ARCH=blackfin ;; + esac +} + +do_configure() { + set_arch + oe_runmake allnoconfig ARCH=$ARCH +} + +do_compile () { +} + +do_install() { + set_arch + oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH +} + +do_install_append_arm() { + cp ${WORKDIR}/procinfo.h ${D}${includedir}/asm/ +} + +STAGE_TEMP="${WORKDIR}/temp-staging" + +do_stage () { + set_arch + echo $ARCH + rm -rf ${STAGE_TEMP} + mkdir -p ${STAGE_TEMP} + oe_runmake headers_install INSTALL_HDR_PATH=${STAGE_TEMP}${exec_prefix} ARCH=$ARCH + if [ "$ARCH" = "arm" ]; then + cp ${WORKDIR}/procinfo.h ${STAGE_TEMP}${includedir}/asm/ + fi + install -d ${STAGING_INCDIR} + rm -rf ${STAGING_INCDIR}/linux ${STAGING_INCDIR}/asm ${STAGING_INCDIR}/asm-generic + cp -pfLR ${STAGE_TEMP}${includedir}/linux ${STAGING_INCDIR}/ + cp -pfLR ${STAGE_TEMP}${includedir}/asm ${STAGING_INCDIR}/ + cp -pfLR ${STAGE_TEMP}${includedir}/asm-generic ${STAGING_INCDIR}/ +} -- cgit v1.2.3 From 51c19be698222dbbed79d6d20b04f7c1c0558f59 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 24 May 2008 06:56:37 +0000 Subject: Do not use asm/page.h its not exported anymore. --- packages/util-linux/files/swapargs.h | 1 - .../files/util-linux-2.12r-cramfs-1.patch | 87 ++++++++++++++++++++++ packages/util-linux/util-linux_2.12r.bb | 3 +- 3 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 packages/util-linux/files/util-linux-2.12r-cramfs-1.patch diff --git a/packages/util-linux/files/swapargs.h b/packages/util-linux/files/swapargs.h index e960eef05f..52fd10411b 100644 --- a/packages/util-linux/files/swapargs.h +++ b/packages/util-linux/files/swapargs.h @@ -1,3 +1,2 @@ #define SWAPON_HAS_TWO_ARGS -#include #include diff --git a/packages/util-linux/files/util-linux-2.12r-cramfs-1.patch b/packages/util-linux/files/util-linux-2.12r-cramfs-1.patch new file mode 100644 index 0000000000..1771bdc528 --- /dev/null +++ b/packages/util-linux/files/util-linux-2.12r-cramfs-1.patch @@ -0,0 +1,87 @@ +Submitted by: Jeremy Utley +Date: 2004-12-25 +Initial Package Version: 2.12p (should apply to versions back to at least k) +Upstream Status: Not Submitted - Test Version +Origin: Alexander Patrakov, adapted from debian build of cramfs utilities +Description: Util-Linux fails in cramfs compilation due to changes in the +linux-libc-headers package 2.6.9 and after. This patch is a proper fix to the +problem, but may in fact not be accepted upstream. + + +Index: util-linux-2.12r/disk-utils/fsck.cramfs.c +=================================================================== +--- util-linux-2.12r.orig/disk-utils/fsck.cramfs.c 2008-05-16 00:34:36.000000000 -0700 ++++ util-linux-2.12r/disk-utils/fsck.cramfs.c 2008-05-16 09:39:50.000000000 -0700 +@@ -76,8 +76,7 @@ + + #define PAD_SIZE 512 + +-#include +-#define PAGE_CACHE_SIZE (4096) ++#define PAGE_CACHE_SIZE page_size + + /* Guarantee access to at least 8kB at a time */ + #define ROMBU