noux: add e2fsprogs-v1.42.9 package

Fixes #1029.
This commit is contained in:
Josef Söntgen 2014-01-07 12:31:17 +01:00 committed by Norman Feske
parent c4c43ffc9d
commit 6e15d966c7
8 changed files with 168 additions and 0 deletions

View File

@ -0,0 +1,3 @@
E2FSPROGS_BRANCH = v1.42.9
E2FSPROGS = e2fsprogs-$(E2FSPROGS_BRANCH)
E2FSPROGS_URL = https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git

23
ports/ports/e2fsprogs.mk Normal file
View File

@ -0,0 +1,23 @@
include ports/e2fsprogs.inc
#
# Check for tools
#
$(call check_tool,git)
#
# Interface to top-level prepare Makefile
#
PORTS += $(E2FSPROGS)
prepare:: $(CONTRIB_DIR)/$(E2FSPROGS)
#
# Port-specific local rules
#
$(CONTRIB_DIR)/$(E2FSPROGS):
$(VERBOSE)git clone $(E2FSPROGS_URL) $(CONTRIB_DIR)/$(E2FSPROGS) && \
cd $(CONTRIB_DIR)/$(E2FSPROGS) && \
git checkout $(E2FSPROGS_BRANCH)
$(VERBOSE)for i in src/noux-pkg/e2fsprogs/patches/*.patch; do \
patch -N -p0 < $$i; done || true

View File

@ -0,0 +1,11 @@
--- contrib/e2fsprogs-v1.42.9/MCONFIG.in.orig 2014-01-07 12:04:39.022395752 +0100
+++ contrib/e2fsprogs-v1.42.9/MCONFIG.in 2014-01-07 12:08:02.010390431 +0100
@@ -62,6 +62,8 @@
@ifGNUmake@ endif
@ifGNUmake@ endif
+CHECK_CMD = true
+
@ifNotGNUmake@ CHECK_CMD=@true
CC = @CC@

View File

@ -0,0 +1,66 @@
--- contrib/e2fsprogs-v1.42.9/misc/Makefile.in.orig 2014-01-07 15:22:06.554085193 +0100
+++ contrib/e2fsprogs-v1.42.9/misc/Makefile.in 2014-01-07 14:13:32.026193047 +0100
@@ -84,7 +84,7 @@
$(srcdir)/ismounted.c $(srcdir)/../e2fsck/profile.c \
$(srcdir)/e2undo.c $(srcdir)/e2freefrag.c
-LIBS= $(LIBEXT2FS) $(LIBCOM_ERR)
+LIBS= $(LIBEXT2FS) $(LIBCOM_ERR) @LIBS@
DEPLIBS= $(LIBEXT2FS) $(DEPLIBCOM_ERR)
PROFILED_LIBS= $(PROFILED_LIBEXT2FS) $(PROFILED_LIBCOM_ERR)
PROFILED_DEPLIBS= $(PROFILED_LIBEXT2FS) $(DEPPROFILED_LIBCOM_ERR)
--- contrib/e2fsprogs-v1.42.9/ext2ed/Makefile.in.orig 2014-01-07 15:24:29.566081444 +0100
+++ contrib/e2fsprogs-v1.42.9/ext2ed/Makefile.in 2014-01-07 14:13:58.522192352 +0100
@@ -16,7 +16,7 @@
DOC_DIR = $datadir/doc/ext2ed
-LIBS = -lncurses $(LIBEXT2FS)
+LIBS = -lncurses $(LIBEXT2FS) @LIBS@
SRCS= $(srcdir)/main.c $(srcdir)/init.c $(srcdir)/general_com.c \
$(srcdir)/inode_com.c $(srcdir)/dir_com.c $(srcdir)/super_com.c \
--- contrib/e2fsprogs-v1.42.9/intl/Makefile.in.orig 2014-01-07 15:25:01.830080600 +0100
+++ contrib/e2fsprogs-v1.42.9/intl/Makefile.in 2014-01-07 12:29:48.842356174 +0100
@@ -191,7 +191,7 @@
.c.o:
$(E) " CC $<"
$(Q) $(COMPILE) $<
- $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $<
+ #$(Q) $(CHECK_CMD) $(ALL_CFLAGS) $<
.y.c:
$(YACC) $(YFLAGS) --output $@ $<
--- contrib/e2fsprogs-v1.42.9/e2fsck/Makefile.in.orig 2014-01-07 15:26:48.000000000 +0100
+++ contrib/e2fsprogs-v1.42.9/e2fsck/Makefile.in 2014-01-07 14:14:31.250191497 +0100
@@ -16,7 +16,7 @@
FMANPAGES= e2fsck.conf.5
LIBS= $(LIBQUOTA) $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBBLKID) $(LIBUUID) \
- $(LIBINTL) $(LIBE2P)
+ $(LIBINTL) $(LIBE2P) @LIBS@
DEPLIBS= $(DEPLIBQUOTA) $(LIBEXT2FS) $(DEPLIBCOM_ERR) $(DEPLIBBLKID) \
$(DEPLIBUUID) $(DEPLIBE2P)
--- contrib/e2fsprogs-v1.42.9/resize/Makefile.in.orig 2014-01-07 15:27:41.000000000 +0100
+++ contrib/e2fsprogs-v1.42.9/resize/Makefile.in 2014-01-07 14:14:39.522191277 +0100
@@ -28,7 +28,7 @@
$(srcdir)/resource_track.c \
$(srcdir)/sim_progress.c
-LIBS= $(LIBE2P) $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBINTL)
+LIBS= $(LIBE2P) $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBINTL) @LIBS@
DEPLIBS= $(LIBE2P) $(LIBEXT2FS) $(DEPLIBCOM_ERR)
STATIC_LIBS= $(STATIC_LIBE2P) $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) \
--- contrib/e2fsprogs-v1.42.9/debugfs/Makefile.in.orig 2014-01-07 15:28:14.000000000 +0100
+++ contrib/e2fsprogs-v1.42.9/debugfs/Makefile.in 2014-01-07 14:14:47.890191058 +0100
@@ -31,7 +31,7 @@
$(srcdir)/filefrag.c $(srcdir)/extent_inode.c $(srcdir)/zap.c
LIBS= $(LIBEXT2FS) $(LIBE2P) $(LIBSS) $(LIBCOM_ERR) $(LIBBLKID) \
- $(LIBUUID)
+ $(LIBUUID) @LIBS@
DEPLIBS= $(LIBEXT2FS) $(LIBE2P) $(DEPLIBSS) $(DEPLIBCOM_ERR) \
$(DEPLIBBLKID) $(DEPLIBUUID)

View File

@ -0,0 +1,11 @@
--- contrib/e2fsprogs-v1.42.9/lib/Makefile.library.orig 2014-01-07 12:22:50.526367140 +0100
+++ contrib/e2fsprogs-v1.42.9/lib/Makefile.library 2014-01-07 12:24:59.142363769 +0100
@@ -2,6 +2,8 @@
install-shlibs::
+install-shlibs-strip::
+
uninstall-shlibs::
real-subdirs::

View File

@ -0,0 +1,5 @@
These patches mainly circumvent shortcomings in the original autotool
buildsystem, e.g. missing @LIBS@ definitions, which lead to non-working
binaries on Genode because the actual start-up code is missing. Furthmore,
TLS support is disabled by force because we currently do not need it and
it would require us to link against libgcc_eh.a (__emutls_* is needed).

View File

@ -0,0 +1,38 @@
--- contrib/e2fsprogs-v1.42.9/configure.orig 2014-01-07 14:59:39.000000000 +0100
+++ contrib/e2fsprogs-v1.42.9/configure 2014-01-07 15:59:14.598026789 +0100
@@ -4225,10 +4225,10 @@
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test "$GCC" = yes; then
- RDYNAMIC="-rdynamic"
-
-fi
+#if test "$GCC" = yes; then
+# RDYNAMIC="-rdynamic"
+#
+#fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -5526,6 +5526,9 @@
fi
+# disable TLS by force
+try_tls="no"
+
if test "$try_tls" = "yes"
then
@@ -11349,7 +11352,9 @@
$as_echo "Setting root_sysconfdir to $root_sysconfdir" >&6; }
fi
-
+# force sbindir
+root_sbindir='/bin'
+sbindir='/bin'

View File

@ -0,0 +1,11 @@
NOUX_CONFIGURE_FLAGS = --disable-tls --enable-fsck
# NOTE: --sbindir=/bin is broken and the easist fix is patching configure
# directly and therefore is not used.
#
# Needed for <sys/types.h>
#
NOUX_CFLAGS += -D__BSD_VISIBLE
include $(REP_DIR)/mk/noux.mk