From d62ee7eaf2ba025c3f64b2d4e10dc7cec4637612 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 1 Sep 2010 19:09:11 +0100 Subject: packages: Separate out most of the remaining packages into recipes Signed-off-by: Richard Purdie --- meta/recipes-core/util-linux/files/MCONFIG | 223 +++++++++++++++++++ .../util-linux/files/debian-bug392236.patch | 203 ++++++++++++++++++ meta/recipes-core/util-linux/files/defines.h | 10 + .../util-linux/files/fdiskbsdlabel_thumb.diff | 12 ++ .../recipes-core/util-linux/files/fix-make-c.patch | 41 ++++ meta/recipes-core/util-linux/files/gcc34.patch | 23 ++ meta/recipes-core/util-linux/files/glibc-fix.patch | 22 ++ meta/recipes-core/util-linux/files/make_include | 17 ++ .../util-linux/files/optional-uuid.patch | 55 +++++ meta/recipes-core/util-linux/files/swapargs.h | 3 + meta/recipes-core/util-linux/files/umount.diff | 19 ++ meta/recipes-core/util-linux/files/uuid.patch | 22 ++ .../util-linux/util-linux-2.17.2/tls.patch | 70 ++++++ .../util-linux-2.17.2/uclibc-compile.patch | 13 ++ .../util-linux-ng-replace-siginterrupt.patch | 23 ++ meta/recipes-core/util-linux/util-linux.inc | 237 +++++++++++++++++++++ meta/recipes-core/util-linux/util-linux_2.17.2.bb | 11 + 17 files changed, 1004 insertions(+) create mode 100644 meta/recipes-core/util-linux/files/MCONFIG create mode 100644 meta/recipes-core/util-linux/files/debian-bug392236.patch create mode 100644 meta/recipes-core/util-linux/files/defines.h create mode 100644 meta/recipes-core/util-linux/files/fdiskbsdlabel_thumb.diff create mode 100644 meta/recipes-core/util-linux/files/fix-make-c.patch create mode 100644 meta/recipes-core/util-linux/files/gcc34.patch create mode 100644 meta/recipes-core/util-linux/files/glibc-fix.patch create mode 100644 meta/recipes-core/util-linux/files/make_include create mode 100644 meta/recipes-core/util-linux/files/optional-uuid.patch create mode 100644 meta/recipes-core/util-linux/files/swapargs.h create mode 100644 meta/recipes-core/util-linux/files/umount.diff create mode 100644 meta/recipes-core/util-linux/files/uuid.patch create mode 100644 meta/recipes-core/util-linux/util-linux-2.17.2/tls.patch create mode 100644 meta/recipes-core/util-linux/util-linux-2.17.2/uclibc-compile.patch create mode 100644 meta/recipes-core/util-linux/util-linux-2.17.2/util-linux-ng-replace-siginterrupt.patch create mode 100644 meta/recipes-core/util-linux/util-linux.inc create mode 100644 meta/recipes-core/util-linux/util-linux_2.17.2.bb (limited to 'meta/recipes-core/util-linux') diff --git a/meta/recipes-core/util-linux/files/MCONFIG b/meta/recipes-core/util-linux/files/MCONFIG new file mode 100644 index 0000000000..3fea2c02d7 --- /dev/null +++ b/meta/recipes-core/util-linux/files/MCONFIG @@ -0,0 +1,223 @@ +# MCONFIG -- Configuration stuff for util-linux +# Created: Sat Feb 4 15:50:30 1995 +# Copyright 1995 Rickard E. Faith (faith@cs.unc.edu) + +# For a user-mode install, make (at least) three changes: +# - remove the `-o root' part in INSTALLSUID +# - set USE_TTY_GROUP=no +# - define DESTDIR + +# Select for ARCH one of intel, alpha, sparc, arm, m68k, mips +# Select for CPU i386 if the binaries must be able to run on an intel 386 +# (by default i486 code is generated, see below) +CPU=$(shell uname -m) +ARCH=$(shell echo $(CPU) | sed 's/i.86/intel/;s/arm.*/arm/') + +# If HAVE_PAM is set to "yes", then login, chfn, chsh, and newgrp +# will use PAM for authentication. Additionally, passwd will not be +# installed as it is not PAM aware. +HAVE_PAM=no + +# If HAVE_SHADOW is set to "yes", then login, chfn, chsh, newgrp, passwd, +# and vipw will not be built or installed from the login-utils +# subdirectory. +HAVE_SHADOW=yes + +# If HAVE_PASSWD is set to "yes", then passwd will not be built or +# installed from the login-utils subdirectory (but login, chfn, chsh, +# newgrp, and vipw *will* be installed). +HAVE_PASSWD=no + +# If you use chfn and chsh from this package, REQUIRE_PASSWORD will require +# non-root users to enter the account password before updating /etc/passwd. +REQUIRE_PASSWORD=yes +#REQUIRE_PASSWORD=no + +# If you use chsh from this package, ONLY_LISTED_SHELLS will require that +# the selected shell be listed in /etc/shells -- otherwise only a warning is +# printed. This prevents someone from setting their shell to /bin/false. +ONLY_LISTED_SHELLS=yes +#ONLY_LISTED_SHELLS=no + + +# If HAVE_SYSVINIT is set to "yes", then simpleinit and shutdown will not +# be built or installed from the login-utils subdirectory. (The shutdown +# and halt that come with the SysVinit package should be used with the init +# found in that package.) +HAVE_SYSVINIT=no + +# If HAVE_SYSVINIT_UTILS is set to "yes", then last, mesg, and wall will +# not be built or installed from the login-utils subdirectory. (The +# shutdown and init from the SysVinit package do not depend on the last, +# mesg, and wall from that package.) +HAVE_SYSVINIT_UTILS=no + +# If HAVE_WRITE is set to "yes", then write will not be built or +# installed from the misc-utils subdirectory. +# (There is a network aware write in netwrite from NetKit 0.16 or later.) +HAVE_WRITE=no + +# If HAVE_GETTY is set to "yes", then agetty will not be built or +# installed from the login-utils subdirectory. Note that agetty can +# co-exist with other gettys, so this option should never be used. +HAVE_GETTY=no + +# If USE_TTY_GROUP is set to "yes", then wall and write will be installed +# setgid to the "tty" group, and mesg will only set the group write bit. +# Note that this is only useful if login/xterm/etc. change the group of the +# user's tty to "tty" [The login in util-linux does this correctly, and +# xterm will do it correctly if X is compiled with USE_TTY_GROUP set +# properly.] +USE_TTY_GROUP=no + +# If HAVE_KILL is set to "yes", then kill will not be built or +# installed from the misc-utils subdirectory. +# (There is also a kill in the procps package.) +HAVE_KILL=no + +# If ALLOW_VCS_USE is set to "yes", then login will chown /dev/vcsN +# to the current user, allowing her to make a screendump and do other +# nifty things on the console, but also allowing him to keep an open +# file descriptor after logging out to trick the next user. +ALLOW_VCS_USE=yes + +# If HAVE_RESET is set to "yes", then reset won't be installed. The version +# of reset that comes with the ncurses package is less aggressive. +HAVE_RESET=yes + +# If HAVE_SLN is set to "yes", then sln won't be installed +# (but the man page sln.8 will be installed anyway). +# sln also comes with libc and glibc. +HAVE_SLN=no + +# If HAVE_FDUTILS is set to "yes", then setfdprm won't be installed. +HAVE_FDUTILS=no + +# If SILENT_PG is set to "yes", then pg will not ring the bell +# when an invalid key is pressed +SILENT_PG=no + +# If configure decides that Native Language Support (NLS) is available, +# it sets MAY_ENABLE_NLS in defines.h. If you don't want NLS, set +# DISABLE_NLS to "yes". +DISABLE_NLS=no + +# Different optimizations for different cpus. +# gcc 3.0 likes options -mcpu=i486 instead of -m486 +ifeq "$(ARCH)" "intel" + ifeq "$(HAVE_OLD_GCC)" "yes" + CPUHEAD=-m + else + CPUHEAD=-mcpu=i + endif + ifeq "$(CPU)" "i386" + CPUTAIL=386 + else + CPUTAIL=486 + endif + CPUOPT= $(CPUHEAD)$(CPUTAIL) + OPT= -pipe -O2 $(CPUOPT) -fomit-frame-pointer +else + ifeq "$(ARCH)" "arm" + OPT= -pipe -O2 -fsigned-char -fomit-frame-pointer + else + OPT= -O2 -fomit-frame-pointer + endif +endif + +WARNFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes + +LIB=../lib + +ERR_O=$(LIB)/err.o + +# Set HAVE_SLANG to yes if you have slang (and prefer to use that for cfdisk) +# (If neither HAVE_NCURSES nor HAVE_SLANG is defined, cfdisk is not made.) +# HAVE_SLANG=yes +# There is a subdirectory /usr/include/slang containing slcurses.h +# SLANGFLAGS=-I/usr/include/slang +# No such subdirectory - slcurses.h lives in /usr/include +# (no extra definition required). +LIBSLANG=-lslang + +# +# Paths used for compilation (not all are actually used, see CFLAGS below) +# +DEV_DIR= /dev +ETC_DIR= /etc +SBIN_DIR= /sbin +USRSBIN_DIR= /usr/sbin +USRLIB_DIR= /usr/lib +USRBIN_DIR= /usr/bin +USRGAMES_DIR= /usr/games +USRSHAREMISC_DIR=/usr/share/misc +LOCALE_DIR= /usr/share/locale +BIN_DIR= /bin +VAR_PATH= /var +LOG_DIR= /var/log +MAN_DIR= /usr/share/man +INFO_DIR= /usr/share/info + +# +# Paths used for install +# +DEVDIR= $(DESTDIR)$(DEV_DIR) +ETCDIR= $(DESTDIR)$(ETC_DIR) +SBINDIR= $(DESTDIR)$(SBIN_DIR) +USRSBINDIR= $(DESTDIR)$(USRSBIN_DIR) +USRLIBDIR= $(DESTDIR)$(USRLIB_DIR) +USRBINDIR= $(DESTDIR)$(USRBIN_DIR) +USRGAMESDIR= $(DESTDIR)$(USRGAMES_DIR) +USRSHAREMISCDIR=$(DESTDIR)$(USRSHAREMISC_DIR) +LOCALEDIR= $(DESTDIR)$(LOCALE_DIR) +BINDIR= $(DESTDIR)$(BIN_DIR) +VARPATH= $(DESTDIR)$(VAR_PATH) +LOGDIR= $(DESTDIR)$(LOG_DIR) +MANDIR= $(DESTDIR)$(MAN_DIR) +MAN1DIR= $(MANDIR)/man1 +MAN3DIR= $(MANDIR)/man3 +MAN5DIR= $(MANDIR)/man5 +MAN6DIR= $(MANDIR)/man6 +MAN8DIR= $(MANDIR)/man8 +INFODIR= $(DESTDIR)$(INFO_DIR) + +# Directory for shutdown, halt, reboot, etc. +SHUTDOWNDIR= $(SBINDIR) + +# Modes +DIRMODE= 755 +BINMODE= 755 +MANMODE= 644 +DATMODE= 644 +INFOMODE= 644 +SUIDMODE= 4755 + +CHMOD= chmod +INSTALL= install +INSTALLDIR= $(INSTALL) -d -m $(DIRMODE) +INSTALLBIN= $(INSTALL) -m $(BINMODE) +INSTALLMAN= $(INSTALL) -m $(MANMODE) +INSTALLDAT= $(INSTALL) -m $(DATMODE) +INSTALLSUID= $(INSTALL) -m $(SUIDMODE) + +ifeq "$(DISABLE_NLS)" "yes" +NLSFLAGS = -DDISABLE_NLS +endif + +CFLAGS := $(OPT) -I$(LIB) $(WARNFLAGS) \ + $(CURSESFLAGS) $(SLANGFLAGS) $(NLSFLAGS) \ + -D_FILE_OFFSET_BITS=64 \ + -DSBINDIR=\"$(SBIN_DIR)\" \ + -DUSRSBINDIR=\"$(USRSBIN_DIR)\" \ + -DLOGDIR=\"$(LOG_DIR)\" \ + -DVARPATH=\"$(VAR_PATH)\" \ + -DLOCALEDIR=\"$(LOCALE_DIR)\" \ + $(CFLAGS) + + +%.o: %.c + $(CC) -c $(CFLAGS) $< -o $@ + +%: %.cc + $(CXX) $(CFLAGS) $< -o $@ + diff --git a/meta/recipes-core/util-linux/files/debian-bug392236.patch b/meta/recipes-core/util-linux/files/debian-bug392236.patch new file mode 100644 index 0000000000..fcd2046e34 --- /dev/null +++ b/meta/recipes-core/util-linux/files/debian-bug392236.patch @@ -0,0 +1,203 @@ +Index: util-linux-2.12r/fdisk/llseek.c +=================================================================== +--- util-linux-2.12r.orig/fdisk/llseek.c 2003-07-13 23:13:33.000000000 +0200 ++++ util-linux-2.12r/fdisk/llseek.c 2007-04-04 19:01:14.000000000 +0200 +@@ -14,30 +14,23 @@ + + #ifdef __linux__ + +-#ifdef HAVE_LLSEEK +-#include +- +-#else /* HAVE_LLSEEK */ ++#include ++#ifndef HAVE_LLSEEK + + #if defined(__alpha__) || defined(__ia64__) || defined(__s390x__) + + #define my_llseek lseek + + #else +-#include /* for __NR__llseek */ +- +-static int _llseek (unsigned int, unsigned long, +- unsigned long, long long *, unsigned int); + +-#ifdef __NR__llseek ++#ifdef SYS__llseek + +-static _syscall5(int,_llseek,unsigned int,fd,unsigned long,offset_high, +- unsigned long, offset_low,long long *,result, +- unsigned int, origin) ++#define _llseek(fd, offset_high, offset_low, result, origin) \ ++ syscall(SYS__llseek, fd, offset_high, offset_low, result, origin) + + #else + +-/* no __NR__llseek on compilation machine - might give it explicitly */ ++/* no SYS__llseek on compilation machine - might give it explicitly */ + static int _llseek (unsigned int fd, unsigned long oh, + unsigned long ol, long long *result, + unsigned int origin) { +Index: util-linux-2.12r/fdisk/sfdisk.c +=================================================================== +--- util-linux-2.12r.orig/fdisk/sfdisk.c 2005-01-04 23:31:57.000000000 +0100 ++++ util-linux-2.12r/fdisk/sfdisk.c 2007-04-04 19:01:14.000000000 +0200 +@@ -48,7 +48,7 @@ + #include + #include + #include +-#include /* _syscall */ ++#include + #include "nls.h" + #include "common.h" + +@@ -177,9 +177,8 @@ + #endif + + #ifndef use_lseek +-static __attribute__used +-_syscall5(int, _llseek, unsigned int, fd, ulong, hi, ulong, lo, +- loff_t *, res, unsigned int, wh); ++#define _llseek(fd, hi, lo, res, wh) \ ++ syscall(SYS__llseek, fd, hi, lo, res, wh) + #endif + + static int +Index: util-linux-2.12r/lib/my_reboot.c +=================================================================== +--- util-linux-2.12r.orig/lib/my_reboot.c 1999-07-09 04:56:36.000000000 +0200 ++++ util-linux-2.12r/lib/my_reboot.c 2007-04-04 19:01:14.000000000 +0200 +@@ -23,10 +23,11 @@ + #else /* no USE_LIBC */ + + /* direct syscall version */ +-#include ++#include + +-#ifdef _syscall3 +-_syscall3(int, reboot, int, magic, int, magic_too, int, cmd); ++#ifdef SYS_reboot ++#define reboot(magic, magic2, cmd) \ ++ syscall(SYS_reboot, magic, magic2, cmd) + #else + /* Let us hope we have a 3-argument reboot here */ + extern int reboot(int, int, int); +Index: util-linux-2.12r/misc-utils/setterm.c +=================================================================== +--- util-linux-2.12r.orig/misc-utils/setterm.c 2003-10-17 18:17:51.000000000 +0200 ++++ util-linux-2.12r/misc-utils/setterm.c 2007-04-04 19:01:14.000000000 +0200 +@@ -119,14 +119,13 @@ + + #if __GNU_LIBRARY__ < 5 + #ifndef __alpha__ +-# include +-#define __NR_klogctl __NR_syslog +-_syscall3(int, klogctl, int, type, char*, buf, int, len); ++# include ++#define klogctl(type, buf, len) \ ++ syscall(SYS_syslog, type, buf, len) + #else /* __alpha__ */ + #define klogctl syslog + #endif + #endif +-extern int klogctl(int type, char *buf, int len); + + /* Constants. */ + +Index: util-linux-2.12r/mount/swapon.c +=================================================================== +--- util-linux-2.12r.orig/mount/swapon.c 2004-12-22 10:50:19.000000000 +0100 ++++ util-linux-2.12r/mount/swapon.c 2007-04-04 19:01:14.000000000 +0200 +@@ -82,11 +82,11 @@ + #else + /* We want a swapon with two args, but have an old libc. + Build the kernel call by hand. */ +-#include +-static +-_syscall2(int, swapon, const char *, path, int, flags); +-static +-_syscall1(int, swapoff, const char *, path); ++#include ++#define swapon(path, flags) \ ++ syscall(SYS_swapon, path, flags) ++#define swapoff(path) \ ++ syscall(SYS_swapoff, path) + #endif + #else + /* just do as libc says */ +Index: util-linux-2.12r/mount/umount.c +=================================================================== +--- util-linux-2.12r.orig/mount/umount.c 2007-04-04 19:01:14.000000000 +0200 ++++ util-linux-2.12r/mount/umount.c 2007-04-04 19:02:22.000000000 +0200 +@@ -37,14 +37,13 @@ + #else /* MNT_FORCE */ + + /* Does the present kernel source know about umount2? */ +-#include +-#ifdef __NR_umount2 ++#include ++#ifdef SYS_umount2 + +-int umount2(const char *path, int flags); ++#define umount2(path, flags) \ ++ syscall(SYS_umount2, path, flags) + +-_syscall2(int, umount2, const char *, path, int, flags); +- +-#else /* __NR_umount2 */ ++#else /* SYS_umount2 */ + + static int + umount2(const char *path, int flags) { +@@ -52,7 +51,7 @@ + errno = ENOSYS; + return -1; + } +-#endif /* __NR_umount2 */ ++#endif /* SYS_umount2 */ + + #if !defined(MNT_FORCE) + /* dare not try to include -- lots of errors */ +Index: util-linux-2.12r/partx/partx.c +=================================================================== +--- util-linux-2.12r.orig/partx/partx.c 2004-08-23 22:13:27.000000000 +0200 ++++ util-linux-2.12r/partx/partx.c 2007-04-04 19:01:14.000000000 +0200 +@@ -338,10 +338,9 @@ + #endif + + #ifdef NEED__llseek +-#include /* _syscall */ +-static +-_syscall5(int, _llseek, uint, fd, ulong, hi, ulong, lo, +- long long *, res, uint, wh); ++#include ++#define _llseek(fd, hi, lo, res, wh) \ ++ syscall(SYS__llseek, fd, hi, lo, res, wh) + #endif + + static int +Index: util-linux-2.12r/sys-utils/dmesg.c +=================================================================== +--- util-linux-2.12r.orig/sys-utils/dmesg.c 2004-05-04 18:38:12.000000000 +0200 ++++ util-linux-2.12r/sys-utils/dmesg.c 2007-04-04 19:01:14.000000000 +0200 +@@ -29,7 +29,7 @@ + * Only function 3 is allowed to non-root processes. + */ + +-#include ++#include + #include + #include + #include +@@ -38,8 +38,8 @@ + #if __GNU_LIBRARY__ < 5 + + #ifndef __alpha__ +-# define __NR_klogctl __NR_syslog +- static inline _syscall3(int, klogctl, int, type, char *, b, int, len); ++# define klogctl(type, b, len) \ ++ syscall(SYS_syslog, type, b, len) + #else /* __alpha__ */ + #define klogctl syslog + #endif diff --git a/meta/recipes-core/util-linux/files/defines.h b/meta/recipes-core/util-linux/files/defines.h new file mode 100644 index 0000000000..6ce6b86df5 --- /dev/null +++ b/meta/recipes-core/util-linux/files/defines.h @@ -0,0 +1,10 @@ +#define UTIL_LINUX_VERSION "2.12" +#define util_linux_version "util-linux-2.12" + +#define HAVE_blkpg_h +#define HAVE_kd_h +#define HAVE_locale_h +#define HAVE_langinfo_h +#define HAVE_sys_user_h +#define HAVE_asm_types_h +//#define NEED_tqueue_h diff --git a/meta/recipes-core/util-linux/files/fdiskbsdlabel_thumb.diff b/meta/recipes-core/util-linux/files/fdiskbsdlabel_thumb.diff new file mode 100644 index 0000000000..e6f82b5b46 --- /dev/null +++ b/meta/recipes-core/util-linux/files/fdiskbsdlabel_thumb.diff @@ -0,0 +1,12 @@ +--- util-linux-2.12r/fdisk/fdiskbsdlabel.h.orig 2006-01-21 23:53:51.000000000 +0100 ++++ util-linux-2.12r/fdisk/fdiskbsdlabel.h 2006-01-21 23:54:35.000000000 +0100 +@@ -52,6 +52,9 @@ + #elif defined (__s390__) || defined (__s390x__) + #define BSD_LABELSECTOR 1 + #define BSD_LABELOFFSET 0 ++#elif defined (__thumb__) ++#define BSD_LABELSECTOR 1 ++#define BSD_LABELOFFSET 0 + #else + #error unknown architecture + #endif diff --git a/meta/recipes-core/util-linux/files/fix-make-c.patch b/meta/recipes-core/util-linux/files/fix-make-c.patch new file mode 100644 index 0000000000..bf1082e85c --- /dev/null +++ b/meta/recipes-core/util-linux/files/fix-make-c.patch @@ -0,0 +1,41 @@ +From: Karel Zak +Date: Mon, 11 May 2009 09:49:00 +0000 (+0200) +Subject: build-sys: fix "make -C" bug +X-Git-Url: http://git.kernel.org/?p=utils%2Futil-linux-ng%2Futil-linux-ng.git;a=commitdiff_plain;h=2ef7d41e6bbb7c842c06e911ffc562335a467b5d + +build-sys: fix "make -C" bug + +Running: + +./configure --with-fsprobe=builtin +make -C mount mount + +causes the following error: + +gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -include ../config.h +-I../include -DLOCALEDIR=\"/home/matthew/util-linux-ng/share/locale\" +-fsigned-char -I../libs/blkid/src -g -O2 -MT mount-setproctitle.o +-MD -MP -MF .deps/mount-setproctitle.Tpo -c -o mount-setproctitle.o +`test -f '../lib/setproctitle.c' || echo './'`../lib/setproctitle.c mv +-f .deps/mount-setproctitle.Tpo .deps/mount-setproctitle.Po +make -C +make: option requires an argument -- 'C' +Usage: make [options] [target] ... +... + +Reported-by: Matthew Burgess +Signed-off-by: Karel Zak +--- + +diff --git a/config/include-Makefile.am b/config/include-Makefile.am +index b42a0c3..d5da619 100644 +--- a/config/include-Makefile.am ++++ b/config/include-Makefile.am +@@ -17,6 +17,7 @@ dist_noinst_DATA = $(dist_man_MANS) + # Paths to in-tree libraries (use ul_ prefix to avoid possible collisions) + # + ul_libblkid_srcdir = $(top_srcdir)/libs/blkid/src ++ul_libblkid_builddir = $(top_builddir)/libs/blkid/src + ul_libblkid_la = $(top_builddir)/libs/blkid/src/libblkid.la + + $(ul_libblkid_la): diff --git a/meta/recipes-core/util-linux/files/gcc34.patch b/meta/recipes-core/util-linux/files/gcc34.patch new file mode 100644 index 0000000000..8c4a20cdca --- /dev/null +++ b/meta/recipes-core/util-linux/files/gcc34.patch @@ -0,0 +1,23 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- util-linux-2.12o/disk-utils/fsck.cramfs.c~gcc34 ++++ util-linux-2.12o/disk-utils/fsck.cramfs.c +@@ -77,15 +77,7 @@ + #define PAD_SIZE 512 + + #include +-#ifdef PAGE_SIZE +-#define PAGE_CACHE_SIZE ((int) PAGE_SIZE) +-#elif defined __ia64__ +-#define PAGE_CACHE_SIZE (16384) +-#elif defined __alpha__ +-#define PAGE_CACHE_SIZE (8192) +-#else + #define PAGE_CACHE_SIZE (4096) +-#endif + + /* Guarantee access to at least 8kB at a time */ + #define ROMBUFFER_BITS 13 diff --git a/meta/recipes-core/util-linux/files/glibc-fix.patch b/meta/recipes-core/util-linux/files/glibc-fix.patch new file mode 100644 index 0000000000..6d0c2fcefa --- /dev/null +++ b/meta/recipes-core/util-linux/files/glibc-fix.patch @@ -0,0 +1,22 @@ +--- /tmp/cmos.c 2006-11-21 11:38:55.000000000 +0100 ++++ util-linux-2.12r/hwclock/cmos.c 2006-11-21 11:41:45.458554000 +0100 +@@ -46,15 +46,16 @@ + + #include /* for geteuid() */ + #include /* for O_RDWR */ ++#include + #include + #include "../defines.h" /* for HAVE_sys_io_h */ + #include "nls.h" + + #if defined(__i386__) +-#ifdef HAVE_sys_io_h +-#include ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0) ++#include + #else +-#include /* for inb, outb */ ++#include /* for inb, outb */ + #endif + #elif defined(__alpha__) + /* fails to compile, probably because of u8 etc */ diff --git a/meta/recipes-core/util-linux/files/make_include b/meta/recipes-core/util-linux/files/make_include new file mode 100644 index 0000000000..e6abcd91f7 --- /dev/null +++ b/meta/recipes-core/util-linux/files/make_include @@ -0,0 +1,17 @@ +VERSION=2.12 +CC=gcc +CFLAGS= +LDFLAGS= +HAVE_OLD_GCC=yes +HAVE_RAW_H=yes +HAVE_NCURSES=yes +CURSESFLAGS=-DNCH=1 +LIBCURSES=-lncurses +HAVE_TERMCAP=no +NEED_LIBCRYPT=yes +FOREIGN = --foreign-user +HAVE_XGETTEXT=yes +HAVE_OPENPTY=yes +HAVE_PIVOT_ROOT=yes +HAVE_GOOD_RPC=yes +HAVE_ZLIB=yes diff --git a/meta/recipes-core/util-linux/files/optional-uuid.patch b/meta/recipes-core/util-linux/files/optional-uuid.patch new file mode 100644 index 0000000000..2d0ea43cd2 --- /dev/null +++ b/meta/recipes-core/util-linux/files/optional-uuid.patch @@ -0,0 +1,55 @@ +From: Karel Zak +Date: Tue, 12 May 2009 19:22:19 +0000 (+0200) +Subject: blkid: make libuuid optional +X-Git-Url: http://git.kernel.org/?p=utils%2Futil-linux-ng%2Futil-linux-ng.git;a=commitdiff_plain;h=cdd17c7a73cab10a34bf80616225b8215ac4e2ed + +blkid: make libuuid optional + +read.c:28:23: error: uuid/uuid.h: No such file or directory +make[3]: *** [read.lo] Error 1 +make[3]: *** Waiting for unfinished jobs.... + +Reported-by: Olaf +Signed-off-by: Karel Zak +--- + +diff --git a/libs/blkid/src/config.c b/libs/blkid/src/config.c +index 2e59218..9091736 100644 +--- a/libs/blkid/src/config.c ++++ b/libs/blkid/src/config.c +@@ -24,9 +24,6 @@ + #include + #endif + #include +-#ifdef HAVE_LIBUUID +-#include +-#endif + #include + + #include "blkdev.h" +diff --git a/libs/blkid/src/evaluate.c b/libs/blkid/src/evaluate.c +index a9c9fba..f0ae126 100644 +--- a/libs/blkid/src/evaluate.c ++++ b/libs/blkid/src/evaluate.c +@@ -27,9 +27,6 @@ + #include + #endif + #include +-#ifdef HAVE_LIBUUID +-#include +-#endif + #include + + #include "pathnames.h" +diff --git a/libs/blkid/src/read.c b/libs/blkid/src/read.c +index 4163874..b5e9cd0 100644 +--- a/libs/blkid/src/read.c ++++ b/libs/blkid/src/read.c +@@ -25,7 +25,6 @@ + #endif + + #include "blkidP.h" +-#include "uuid/uuid.h" + + #ifdef HAVE_STRTOULL + #define STRTOULL strtoull /* defined in stdlib.h if you try hard enough */ diff --git a/meta/recipes-core/util-linux/files/swapargs.h b/meta/recipes-core/util-linux/files/swapargs.h new file mode 100644 index 0000000000..e960eef05f --- /dev/null +++ b/meta/recipes-core/util-linux/files/swapargs.h @@ -0,0 +1,3 @@ +#define SWAPON_HAS_TWO_ARGS +#include +#include diff --git a/meta/recipes-core/util-linux/files/umount.diff b/meta/recipes-core/util-linux/files/umount.diff new file mode 100644 index 0000000000..78330789ef --- /dev/null +++ b/meta/recipes-core/util-linux/files/umount.diff @@ -0,0 +1,19 @@ +*** util-linux-2.12r/mount/umount.c.orig 2005-09-10 20:07:38.000000000 +0200 +--- util-linux-2.12r/mount/umount.c 2006-06-07 21:14:04.000000000 +0200 +*************** +*** 40,46 **** + #include + #ifdef __NR_umount2 + +! static int umount2(const char *path, int flags); + + _syscall2(int, umount2, const char *, path, int, flags); + +--- 40,46 ---- + #include + #ifdef __NR_umount2 + +! int umount2(const char *path, int flags); + + _syscall2(int, umount2, const char *, path, int, flags); + diff --git a/meta/recipes-core/util-linux/files/uuid.patch b/meta/recipes-core/util-linux/files/uuid.patch new file mode 100644 index 0000000000..3208e0a865 --- /dev/null +++ b/meta/recipes-core/util-linux/files/uuid.patch @@ -0,0 +1,22 @@ +Index: util-linux-ng-2.15/libs/blkid/src/Makefile.am +=================================================================== +--- util-linux-ng-2.15.orig/libs/blkid/src/Makefile.am 2009-05-19 17:01:15.000000000 +0100 ++++ util-linux-ng-2.15/libs/blkid/src/Makefile.am 2009-05-19 17:08:11.000000000 +0100 +@@ -7,7 +7,7 @@ + common_ldadd = + + if HAVE_UUID +-common_ldadd += -luuid #TODO $(UUID_LIBS) ++common_ldadd += -luuid + endif + + # includes +@@ -26,7 +26,7 @@ + $(top_srcdir)/lib/md5.c + + libblkid_la_LIBADD = probers/libblkid_probers.la $(common_ldadd) +-libblkid_la_DEPENDENCIES = $(libblkid_la_LIBADD) blkid.sym ++libblkid_la_DEPENDENCIES = probers/libblkid_probers.la blkid.sym + + # TODO: for unknown reason "make distcheck" requires + # full path to the version script diff --git a/meta/recipes-core/util-linux/util-linux-2.17.2/tls.patch b/meta/recipes-core/util-linux/util-linux-2.17.2/tls.patch new file mode 100644 index 0000000000..bdb29cae1f --- /dev/null +++ b/meta/recipes-core/util-linux/util-linux-2.17.2/tls.patch @@ -0,0 +1,70 @@ +Index: util-linux-ng-2.16/m4/tls.m4 +=================================================================== +--- util-linux-ng-2.16.orig/m4/tls.m4 2009-07-04 01:20:03.000000000 +0200 ++++ util-linux-ng-2.16/m4/tls.m4 2009-07-30 01:57:30.151697033 +0200 +@@ -18,31 +18,26 @@ + # version as well. + # + AC_DEFUN([AX_TLS], [ +- AC_MSG_CHECKING(for thread local storage (TLS) class) +- AC_CACHE_VAL(ac_cv_tls, [ +- ax_tls_keywords="__thread __declspec(thread) none" +- for ax_tls_keyword in $ax_tls_keywords; do +- case $ax_tls_keyword in +- none) ac_cv_tls=none ; break ;; +- *) +- AC_TRY_COMPILE( +- [#include +- static void +- foo(void) { +- static ] $ax_tls_keyword [ int bar; +- exit(1); +- }], +- [], +- [ac_cv_tls=$ax_tls_keyword ; break], +- ac_cv_tls=none +- ) +- esac +- done +-]) ++ AC_CACHE_CHECK([for thread local storage (TLS) class], ++ ac_cv_tls, ++ [AC_LINK_IFELSE([__thread int a; int b; int main() { return a = b; }], ++ [chktls_save_LDFLAGS="$LDFLAGS" ++ LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" ++ chktls_save_CFLAGS="$CFLAGS" ++ CFLAGS="-fPIC $CFLAGS" ++ dnl If -shared works, test if TLS works in a shared library. ++ AC_LINK_IFELSE([int f() { return 0; }], ++ AC_LINK_IFELSE([__thread int a; int b; int f() { return a = b; }], ++ [ac_cv_tls=yes], ++ [ac_cv_tls=no]), ++ [ac_cv_tls=yes]) ++ CFLAGS="$chktls_save_CFLAGS" ++ LDFLAGS="$chktls_save_LDFLAGS"], [ac_cv_tls=no]) ++ ]) + +- if test "$ac_cv_tls" != "none"; then +- dnl AC_DEFINE([TLS], [], [If the compiler supports a TLS storage class define it to that here]) +- AC_DEFINE_UNQUOTED([TLS], $ac_cv_tls, [If the compiler supports a TLS storage class define it to that here]) +- fi +- AC_MSG_RESULT($ac_cv_tls) ++ AS_IF([test "x$ac_cv_tls" = "xyes"], ++ [AC_DEFINE([TLS], 1, ++ [Define this if the compiler supports __thread for Thread-Local Storage]) ++ $1], ++ [$2]) + ]) +Index: util-linux-ng-2.16/shlibs/uuid/src/gen_uuid.c +=================================================================== +--- util-linux-ng-2.16.orig/shlibs/uuid/src/gen_uuid.c 2009-07-30 02:31:48.518159459 +0200 ++++ util-linux-ng-2.16/shlibs/uuid/src/gen_uuid.c 2009-07-30 02:32:04.867871183 +0200 +@@ -99,7 +99,7 @@ + #endif + + #ifdef TLS +-#define THREAD_LOCAL static TLS ++#define THREAD_LOCAL static __thread + #else + #define THREAD_LOCAL static + #endif diff --git a/meta/recipes-core/util-linux/util-linux-2.17.2/uclibc-compile.patch b/meta/recipes-core/util-linux/util-linux-2.17.2/uclibc-compile.patch new file mode 100644 index 0000000000..b2e8a8b95a --- /dev/null +++ b/meta/recipes-core/util-linux/util-linux-2.17.2/uclibc-compile.patch @@ -0,0 +1,13 @@ +Index: util-linux-ng-2.16/misc-utils/cal.c +=================================================================== +--- util-linux-ng-2.16.orig/misc-utils/cal.c 2009-07-03 16:20:01.000000000 -0700 ++++ util-linux-ng-2.16/misc-utils/cal.c 2009-07-18 23:21:37.000000000 -0700 +@@ -407,7 +407,7 @@ + strcpy(day_headings,""); + strcpy(j_day_headings,""); + +-#ifdef HAVE_LANGINFO_H ++#ifdef HAVE_LANGINFO_H && !defined(__UCLIBC__) + # define weekday(wd) nl_langinfo(ABDAY_1+wd) + #else + # define weekday(wd) _time_info->abbrev_wkday[wd] diff --git a/meta/recipes-core/util-linux/util-linux-2.17.2/util-linux-ng-replace-siginterrupt.patch b/meta/recipes-core/util-linux/util-linux-2.17.2/util-linux-ng-replace-siginterrupt.patch new file mode 100644 index 0000000000..4b5eb73760 --- /dev/null +++ b/meta/recipes-core/util-linux/util-linux-2.17.2/util-linux-ng-replace-siginterrupt.patch @@ -0,0 +1,23 @@ +Index: util-linux-ng-2.14/login-utils/login.c +=================================================================== +--- util-linux-ng-2.14.orig/login-utils/login.c 2008-05-28 16:01:02.000000000 -0700 ++++ util-linux-ng-2.14/login-utils/login.c 2009-03-04 18:31:42.000000000 -0800 +@@ -358,6 +358,7 @@ + char *childArgv[10]; + char *buff; + int childArgc = 0; ++ struct sigaction act; + #ifdef HAVE_SECURITY_PAM_MISC_H + int retcode; + pam_handle_t *pamh = NULL; +@@ -373,7 +374,9 @@ + pid = getpid(); + + signal(SIGALRM, timedout); +- siginterrupt(SIGALRM,1); /* we have to interrupt syscalls like ioclt() */ ++ (void) sigaction(SIGALRM, NULL, &act); ++ act.sa_flags &= ~SA_RESTART; ++ sigaction(SIGALRM, &act, NULL); + alarm((unsigned int)timeout); + signal(SIGQUIT, SIG_IGN); + signal(SIGINT, SIG_IGN); diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc new file mode 100644 index 0000000000..571b53c99c --- /dev/null +++ b/meta/recipes-core/util-linux/util-linux.inc @@ -0,0 +1,237 @@ +DESCRIPTION = "Util-linux is a suite of essential utilities for any Linux system." +SECTION = "base" + +# note that `lscpu' is under GPLv3+ +LICENSE = "GPLv2+ & LGPLv2.1+ & BSD" +LICENSE_util-linux-lscpu = "GPLv3+" + +LIC_FILES_CHKSUM = "file://README.licensing;md5=1530e36fe1304d4535513de90a290df9 \ + file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://licenses/COPYING.GPL;md5=8ca43cbc842c2336e835926c2166c28b \ + file://licenses/COPYING.UCB;md5=263860f8968d8bafa5392cab74285262 \ + file://getopt/COPYING;md5=8ca43cbc842c2336e835926c2166c28b" + +DEPENDS = "udev zlib ncurses virtual/libintl gettext" +DEPENDS_virtclass-native = "zlib-native ncurses-native lzo-native gettext-native" + +inherit autotools + +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/util-linux-ng/v${MAJOR_VERSION}/util-linux-ng-${PV}.tar.bz2 \ + file://MCONFIG \ + file://swapargs.h \ + file://defines.h \ + file://make_include \ + " + +PACKAGES_prepend = "util-linux-fdisk util-linux-cfdisk util-linux-sfdisk util-linux-swaponoff util-linux-losetup util-linux-umount util-linux-mount util-linux-readprofile " + +PACKAGES_virtclass-native = "" + +S = "${WORKDIR}/util-linux-ng-${PV}" + +EXTRA_OECONF = "--disable-use-tty-group --disable-makeinstall-chown --enable-elvtune --enable-init --enable-kill --enable-last \ + --enable-mesg --enable-partx --enable-raw --enable-rdev --enable-reset \ + --disable-login-utils --enable-write --enable-arch --enable-mount --with-fsprobe=builtin --enable-libuuid --enable-libblkid --enable-fsck" + +FILES_${PN}-doc += "/usr/share/getopt/getopt-*.*" + +FILES_util-linux-fdisk = "/sbin/fdisk.${PN}" +FILES_util-linux-cfdisk = "/sbin/cfdisk" +FILES_util-linux-sfdisk = "/sbin/sfdisk" +FILES_util-linux-swaponoff = "/sbin/swapon.${PN} /sbin/swapoff.${PN}" +FILES_util-linux-losetup = "/sbin/losetup.${PN}" +FILES_util-linux-mount = "/bin/mount.${PN}" +FILES_util-linux-umount = "/bin/umount.${PN}" +FILES_util-linux-readprofile = "/usr/sbin/readprofile" + +RRECOMMENDS_${PN} = "util-linux-fdisk util-linux-cfdisk util-linux-sfdisk util-linux-mount util-linux-readprofile " +RDEPENDS_${PN} = "util-linux-umount util-linux-swaponoff util-linux-losetup" + +RRECOMMENDS_${PN}_virtclass-native = "" +RDEPENDS_${PN}_virtclass-native = "" + +do_compile () { + set -e + install ${WORKDIR}/MCONFIG ${S}/MCONFIG + install ${WORKDIR}/make_include ${S}/make_include + install ${WORKDIR}/swapargs.h ${S}/mount/swapargs.h + install ${WORKDIR}/defines.h ${S}/defines.h + oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= \ + 'OPT=${CFLAGS}' 'CC=${CC}' 'LD=${LD}' \ + 'LDFLAGS=${LDFLAGS}' +} + +checklink() { + local targ link value + targ="$1" + link="$2" + ext="$3" + if test -h "$link" + then + value="$(readlink "$link")" + if test "$value" = "$targ" + then + rm "$link" + ln -s "$targ"."${PN}" "$link$ext" + return 0 + else + echo "$link: '$value' found '$targ' expected" >&2 + return 1 + fi + else + echo "$link: not a symbolic link" >&2 + return 1 + fi +} + +do_install () { + # with ccache the timestamps on compiled files may + # end up earlier than on their inputs, this allows + # for the resultant compilation in the install step. + oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= \ + 'OPT=${CFLAGS}' 'CC=${CC}' 'LD=${LD}' \ + 'LDFLAGS=${LDFLAGS}' 'DESTDIR=${D}' install + + mkdir -p ${D}${base_bindir} + + sbinprogs="agetty blockdev ctrlaltdel cfdisk vipw vigr" + sbinprogs_a="pivot_root hwclock mkswap shutdown mkfs.minix fsck.minix losetup swapon fdisk readprofile fsck blkid sln" + usrbinprogs_a="chfn chsh hexdump last logger mesg newgrp renice wall setsid chrt" + binprogs_a="dmesg kill more umount mount login reset" + + if [ "${base_sbindir}" != "${sbindir}" ]; then + mkdir -p ${D}${base_sbindir} + for p in $sbinprogs $sbinprogs_a; do + if [ -f "${D}${sbindir}/$p" ]; then + mv "${D}${sbindir}/$p" "${D}${base_sbindir}/$p" + fi + done + fi + + if [ "${base_bindir}" != "${bindir}" ]; then + mkdir -p ${D}${base_bindir} + for p in $binprogs_a; do + if [ -f "${D}${bindir}/$p" ]; then + mv "${D}${bindir}/$p" "${D}${base_bindir}/$p" + fi + done + fi + + for p in $usrbinprogs_a; do + if [ -f "${D}${bindir}/$p" ]; then + mv "${D}${bindir}/$p" "${D}${bindir}/$p.${PN}" + fi + done + + for p in $binprogs_a; do + if [ -f "${D}${base_bindir}/$p" ]; then + mv "${D}${base_bindir}/$p" "${D}${base_bindir}/$p.${PN}" + fi + done + + for p in $sbinprogs_a; do + if [ -f "${D}${base_sbindir}/$p" ]; then + mv "${D}${base_sbindir}/$p" "${D}${base_sbindir}/$p.${PN}" + fi + done + + install -d ${D}${sysconfdir}/default/ + echo 'MOUNTALL="-t nonfs,nosmbfs,noncpfs"' > ${D}${sysconfdir}/default/mountall + + ln -sf ${sbindir}/swapon ${D}${sbindir}/swapoff.${PN} + ln -sf ${sbindir}/shutdown ${D}${sbindir}/reboot.${PN} + ln -sf ${sbindir}/shutdown ${D}${sbindir}/halt.${PN} + ln -sf ${sbindir}/shutdown ${D}${sbindir}/fastboot + ln -sf ${sbindir}/shutdown ${D}${sbindir}/fasthalt +} + +pkg_postinst_${PN} () { + update-alternatives --install ${base_bindir}/dmesg dmesg dmesg.${PN} 100 + update-alternatives --install ${base_bindir}/kill kill kill.${PN} 100 + update-alternatives --install ${base_bindir}/more more more.${PN} 100 + update-alternatives --install ${base_sbindir}/mkswap mkswap mkswap.${PN} 100 + test -x ${base_sbindir}/pivot_root.${PN} && \ + update-alternatives --install ${base_sbindir}/pivot_root pivot_root pivot_root.${PN} 100 +# update-alternatives --install ${base_sbindir}/sln sln sln.${PN} 100 + update-alternatives --install ${base_sbindir}/mkfs.minix mkfs.minix mkfs.minix.${PN} 100 + update-alternatives --install ${base_sbindir}/fsck.minix fsck.minix fsck.minix.${PN} 100 + update-alternatives --install ${bindir}/hexdump hexdump hexdump.${PN} 100 + update-alternatives --install ${bindir}/last last last.${PN} 100 + update-alternatives --install ${bindir}/logger logger logger.${PN} 100 + update-alternatives --install ${bindir}/mesg mesg mesg.${PN} 100 + update-alternatives --install ${bindir}/renice renice renice.${PN} 100 + update-alternatives --install ${bindir}/wall wall wall.${PN} 100 + + # There seems to be problem, atleast on nslu2, with these, untill they are + # fixed the busybox ones have higher priority + update-alternatives --install ${base_sbindir}/hwclock hwclock hwclock.${PN} 10 + update-alternatives --install ${base_sbindir}/shutdown shutdown shutdown.${PN} 10 + update-alternatives --install ${base_sbindir}/reboot reboot reboot.${PN} 10 + update-alternatives --install ${base_sbindir}/halt halt halt.${PN} 10 +} + +pkg_prerm_${PN} () { + test -x ${base_sbindir}/pivot_root.${PN} && \ + update-alternatives --remove pivot_root pivot_root.${PN} + update-alternatives --remove dmesg dmesg.${PN} + update-alternatives --remove kill kill.${PN} + update-alternatives --remove more more.${PN} + update-alternatives --remove halt halt.${PN} + update-alternatives --remove hwclock hwclock.${PN} + update-alternatives --remove mkswap mkswap.${PN} + update-alternatives --remove reboot reboot.${PN} + update-alternatives --remove shutdown shutdown.${PN} +# update-alternatives --remove sln sln.${PN} + update-alternatives --remove mkfs.minix mkfs.minix.${PN} + update-alternatives --remove fsck.minix fsck.minix.${PN} + update-alternatives --remove hexdump hexdump.${PN} + update-alternatives --remove last last.${PN} + update-alternatives --remove logger logger.${PN} + update-alternatives --remove mesg mesg.${PN} + update-alternatives --remove renice renice.${PN} + update-alternatives --remove wall wall.${PN} +} + +pkg_postinst_util-linux-fdisk () { + update-alternatives --install ${base_sbindir}/fdisk fdisk fdisk.${PN} 100 +} + +pkg_prerm_util-linux-fdisk () { + update-alternatives --remove fdisk fdisk.${PN} +} + +pkg_postinst_util-linux-mount () { + update-alternatives --install ${base_bindir}/mount mount mount.${PN} 100 +} + +pkg_prerm_util-linux-mount () { + update-alternatives --remove mount mount.${PN} +} + +pkg_postinst_util-linux-umount () { + update-alternatives --install ${base_bindir}/umount umount umount.${PN} 100 +} + +pkg_prerm_util-linux-umount () { + update-alternatives --remove umount umount.${PN} +} + +pkg_postinst_util-linux-losetup () { + update-alternatives --install ${base_sbindir}/losetup losetup losetup.${PN} 100 +} + +pkg_prerm_util-linux-losetup () { + update-alternatives --remove losetup losetup.${PN} +} + +pkg_postinst_util-linux-swaponoff () { + update-alternatives --install ${base_sbindir}/swapoff swapoff swapoff.${PN} 100 + update-alternatives --install ${base_sbindir}/swapon swapon swapon.${PN} 100 +} + +pkg_prerm_util-linux-swaponoff () { + update-alternatives --remove swapoff swapoff.${PN} + update-alternatives --remove swapon swapon.${PN} +} + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-core/util-linux/util-linux_2.17.2.bb b/meta/recipes-core/util-linux/util-linux_2.17.2.bb new file mode 100644 index 0000000000..9efe64a6c6 --- /dev/null +++ b/meta/recipes-core/util-linux/util-linux_2.17.2.bb @@ -0,0 +1,11 @@ +MAJOR_VERSION = "2.17" +require util-linux.inc +PR="r0" + +SRC_URI += "file://uclibc-compile.patch \ + file://util-linux-ng-replace-siginterrupt.patch" + +# fallocate is glibc 2.10, fallocate64 is glibc 2.11 +# we need to disable it for older versions +EXTRA_OECONF += "ac_cv_func_fallocate=no" +EXTRA_OECONF_virtclass-native += "--disable-fallocate --disable-use-tty-group" -- cgit 1.2.3-korg