summaryrefslogtreecommitdiff
path: root/meta/packages/coreutils
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/coreutils')
-rw-r--r--meta/packages/coreutils/coreutils-5.1.3/install-cross.patch27
-rw-r--r--meta/packages/coreutils/coreutils-5.1.3/man.patch42
-rw-r--r--meta/packages/coreutils/coreutils-native_5.1.3.bb7
-rw-r--r--meta/packages/coreutils/coreutils_5.1.3.bb85
4 files changed, 161 insertions, 0 deletions
diff --git a/meta/packages/coreutils/coreutils-5.1.3/install-cross.patch b/meta/packages/coreutils/coreutils-5.1.3/install-cross.patch
new file mode 100644
index 0000000000..98ba3d916c
--- /dev/null
+++ b/meta/packages/coreutils/coreutils-5.1.3/install-cross.patch
@@ -0,0 +1,27 @@
+--- src/install.c~ 2003-08-09 18:46:45.000000000 +0100
++++ src/install.c 2004-03-27 18:38:45.000000000 +0000
+@@ -516,7 +516,14 @@
+ strip (const char *path)
+ {
+ int status;
+- pid_t pid = fork ();
++ pid_t pid;
++ char *strip_name;
++
++ strip_name = getenv ("STRIP");
++ if (strip_name == NULL)
++ strip_name = "strip";
++
++ pid = fork ();
+
+ switch (pid)
+ {
+@@ -524,7 +531,7 @@
+ error (EXIT_FAILURE, errno, _("fork system call failed"));
+ break;
+ case 0: /* Child. */
+- execlp ("strip", "strip", path, NULL);
++ execlp (strip_name, "strip", path, NULL);
+ error (EXIT_FAILURE, errno, _("cannot run strip"));
+ break;
+ default: /* Parent. */
diff --git a/meta/packages/coreutils/coreutils-5.1.3/man.patch b/meta/packages/coreutils/coreutils-5.1.3/man.patch
new file mode 100644
index 0000000000..b067c380e2
--- /dev/null
+++ b/meta/packages/coreutils/coreutils-5.1.3/man.patch
@@ -0,0 +1,42 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- coreutils-5.1.3/configure.ac~man 2004-01-25 16:57:15.000000000 -0600
++++ coreutils-5.1.3/configure.ac 2004-06-29 14:22:10.000000000 -0500
+@@ -232,6 +232,20 @@
+ AM_GNU_GETTEXT([external], [need-ngettext])
+ AM_GNU_GETTEXT_VERSION(0.13.1)
+
++AC_MSG_CHECKING([whether to build man pages])
++AC_ARG_WITH(manpages,
++ AS_HELP_STRING([--with-manpages],
++ [Enable building of manpages (default=yes)]),
++ [cu_cv_build_manpages=$enableval],
++ [cu_cv_build_manpages=yes])
++# help2man doesn't work when crosscompiling, as it needs to run the
++# binary that was built.
++if test x"$cross_compiling" = x"yes"; then
++ cu_cv_build_manpages=no
++fi
++AC_MSG_RESULT($cu_cv_build_manpages)
++AM_CONDITIONAL(ENABLE_MANPAGES, test x"$cu_cv_build_manpages" = x"yes")
++
+ AC_CONFIG_FILES(
+ Makefile
+ doc/Makefile
+--- coreutils-5.1.3/Makefile.am~man 2003-11-09 14:23:02.000000000 -0600
++++ coreutils-5.1.3/Makefile.am 2004-06-29 14:18:14.000000000 -0500
+@@ -1,6 +1,11 @@
+ ## Process this file with automake to produce Makefile.in -*-Makefile-*-
+
++if ENABLE_MANPAGES
+ SUBDIRS = lib src doc man m4 po tests
++else
++SUBDIRS = lib src doc m4 po tests
++endif
++
+ EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
+ .kludge-stamp .prev-version THANKS-to-translators THANKStt.in \
+ .x-sc_space_tab .x-sc_sun_os_names \
diff --git a/meta/packages/coreutils/coreutils-native_5.1.3.bb b/meta/packages/coreutils/coreutils-native_5.1.3.bb
new file mode 100644
index 0000000000..74b39541fa
--- /dev/null
+++ b/meta/packages/coreutils/coreutils-native_5.1.3.bb
@@ -0,0 +1,7 @@
+SECTION = "base"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/coreutils-${PV}"
+S = "${WORKDIR}/coreutils-${PV}"
+
+include coreutils_${PV}.bb
+inherit native
diff --git a/meta/packages/coreutils/coreutils_5.1.3.bb b/meta/packages/coreutils/coreutils_5.1.3.bb
new file mode 100644
index 0000000000..31af80907d
--- /dev/null
+++ b/meta/packages/coreutils/coreutils_5.1.3.bb
@@ -0,0 +1,85 @@
+LICENSE = "GPL"
+SECTION = "base"
+DESCRIPTION = "A collection of core GNU utilities."
+RREPLACES = "textutils shellutils fileutils"
+RPROVIDES = "textutils shellutils fileutils"
+PR = "r7"
+
+SRC_URI = "ftp://alpha.gnu.org/gnu/coreutils/coreutils-${PV}.tar.bz2 \
+ file://install-cross.patch;patch=1;pnum=0 \
+ file://man.patch;patch=1"
+
+inherit autotools
+
+# [ gets a special treatment and is not included in this
+bindir_progs = "basename cksum comm csplit cut dir dircolors dirname du \
+ env expand expr factor fmt fold groups head hostid id install \
+ join link logname md5sum mkfifo nice nl nohup od paste pathchk \
+ pinky pr printenv printf ptx readlink seq sha1sum shred sort \
+ split stat sum tac tail tee test tr tsort tty unexpand uniq \
+ unlink users vdir wc who whoami yes \
+ "
+
+# hostname gets a special treatment and is not included in this
+base_bindir_progs = "cat chgrp chmod chown cp date dd echo false kill \
+ ln ls mkdir mknod mv pwd rm rmdir sleep stty sync touch \
+ true uname \
+ "
+
+sbindir_progs= "chroot"
+
+do_install () {
+ autotools_do_install
+
+ # Renaming the utilities that should go in /usr/bin
+ for i in ${bindir_progs}; do mv ${D}${bindir}/$i ${D}${bindir}/$i.${PN}; done
+
+ # Renaming and moving the utilities that should go in /bin (FHS)
+ install -d ${D}${base_bindir}
+ for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i.${PN}; done
+
+ # Renaming and moving the utilities that should go in /usr/sbin (FHS)
+ install -d ${D}${sbindir}
+ for i in ${sbindir_progs}; do mv ${D}${bindir}/$i ${D}${sbindir}/$i.${PN}; done
+
+ # [ requires special handling because [.coreutils will cause the sed stuff
+ # in update-alternatives to fail, therefore use lbracket - the name used
+ # for the actual source file.
+ mv ${D}${bindir}/[ ${D}${bindir}/lbracket.${PN}
+ # hostname and uptime separated. busybox's versions are preferred
+ mv ${D}${bindir}/hostname ${D}${base_bindir}/hostname.${PN}
+ mv ${D}${bindir}/uptime ${D}${bindir}/uptime.${PN}
+
+}
+
+pkg_postinst_${PN} () {
+ # The utilities in /usr/bin
+ for i in ${bindir_progs}; do update-alternatives --install ${bindir}/$i $i $i.${PN} 100; done
+
+ # The utilities in /bin
+ for i in ${base_bindir_progs}; do update-alternatives --install ${base_bindir}/$i $i $i.${PN} 100; done
+
+ # The utilities in /usr/sbin
+ for i in ${sbindir_progs}; do update-alternatives --install ${sbindir}/$i $i $i.${PN} 100; done
+
+ # Special cases. uptime and hostname is broken, prefer busybox's version. [ needs to be treated separately.
+ update-alternatives --install ${bindir}/uptime uptime uptime.${PN} 10
+ update-alternatives --install ${base_bindir}/hostname hostname hostname.${PN} 10
+ update-alternatives --install '${bindir}/[' '[' 'lbracket.${PN}' 100
+}
+
+pkg_prerm_${PN} () {
+ # The utilities in /usr/bin
+ for i in ${bindir_progs}; do update-alternatives --remove $i $i.${PN}; done
+
+ # The utilities in /bin
+ for i in ${base_bindir_progs}; do update-alternatives --remove $i $i.${PN}; done
+
+ # The utilities in /usr/sbin
+ for i in ${sbindir_progs}; do update-alternatives --remove $i $i.${PN}; done
+
+ # The special cases
+ update-alternatives --remove hostname hostname.${PN}
+ update-alternatives --remove uptime uptime.${PN}
+ update-alternatives --remove '[' 'lbracket.${PN}'
+}