Skip to content

Commit

Permalink
add util-linux package
Browse files Browse the repository at this point in the history
Build stand alone versions of libuuid and libblkid instead of the
built-in versions from e2fsprogs.

Signed-off-by: Curt Brune <[email protected]>
  • Loading branch information
Curt Brune committed Jul 22, 2016
1 parent 4465465 commit 10a2855
Show file tree
Hide file tree
Showing 6 changed files with 137 additions and 17 deletions.
5 changes: 4 additions & 1 deletion build-config/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -301,11 +301,14 @@ include make/compiler.make
include make/busybox.make
include make/zlib.make
include make/lzo.make
include make/e2fsprogs.make
include make/util-linux.make
ifeq ($(MTDUTILS_ENABLE),yes)
include make/mtdutils.make
endif
include make/dropbear.make
ifeq ($(EXT3_4_ENABLE),yes)
include make/e2fsprogs.make
endif
ifeq ($(GPT_ENABLE),yes)
include make/popt.make
include make/gptfdisk.make
Expand Down
4 changes: 3 additions & 1 deletion build-config/make/compiler.make
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#-------------------------------------------------------------------------------
#
# Copyright (C) 2013-2014 Curt Brune <[email protected]>
# Copyright (C) 2013,2014,2015 Curt Brune <[email protected]>
#
# SPDX-License-Identifier: GPL-2.0
#
Expand All @@ -17,6 +17,8 @@ export ONIE_CFLAGS = -Os $(ONIE_CPPFLAGS)
export ONIE_CXXFLAGS = -Os $(ONIE_CPPFLAGS)
export ONIE_LDFLAGS = --sysroot=$(DEV_SYSROOT)

export ONIE_PKG_CONFIG = PKG_CONFIG_LIBDIR=$(DEV_SYSROOT)/usr/lib/pkgconfig

#-------------------------------------------------------------------------------
#
# Local Variables:
Expand Down
22 changes: 9 additions & 13 deletions build-config/make/e2fsprogs.make
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,11 @@ PHONY += e2fsprogs e2fsprogs-download e2fsprogs-source e2fsprogs-patch \
e2fsprogs-configure e2fsprogs-build e2fsprogs-install e2fsprogs-clean \
e2fsprogs-download-clean

E2FSPROGS_LIB_DIRS = uuid
E2FSPROGS_LIBS = \
libuuid.so libuuid.so.1 libuuid.so.1.2

ifeq ($(EXT3_4_ENABLE),yes)
E2FSPROGS_LIB_DIRS += et e2p blkid ext2fs blkid
E2FSPROGS_LIBS += \
E2FSPROGS_LIB_DIRS = et e2p ext2fs
E2FSPROGS_LIBS = \
libcom_err.so libcom_err.so.2 libcom_err.so.2.1 \
libe2p.so libe2p.so.2 libe2p.so.2.3 \
libblkid.so libblkid.so.1 libblkid.so.1.0 \
libext2fs.so libext2fs.so.2 libext2fs.so.2.4
endif

e2fsprogs: $(E2FSPROGS_STAMP)

Expand Down Expand Up @@ -74,7 +67,8 @@ $(E2FSPROGS_PATCH_STAMP): $(E2FSPROGS_SRCPATCHDIR)/* $(E2FSPROGS_SOURCE_STAMP)

e2fsprogs-configure: $(E2FSPROGS_CONFIGURE_STAMP)
$(E2FSPROGS_CONFIGURE_STAMP): $(ZLIB_INSTALL_STAMP) $(LZO_INSTALL_STAMP) \
$(E2FSPROGS_PATCH_STAMP) | $(DEV_SYSROOT_INIT_STAMP)
$(UTILLINUX_INSTALL_STAMP) $(E2FSPROGS_PATCH_STAMP) | \
$(DEV_SYSROOT_INIT_STAMP)
$(Q) rm -f $@ && eval $(PROFILE_STAMP)
$(Q) echo "==== Configure e2fsprogs-$(E2FSPROGS_VERSION) ===="
$(Q) cd $(E2FSPROGS_DIR) && PATH='$(CROSSBIN):$(PATH)' \
Expand All @@ -85,8 +79,12 @@ $(E2FSPROGS_CONFIGURE_STAMP): $(ZLIB_INSTALL_STAMP) $(LZO_INSTALL_STAMP) \
--disable-tls \
--disable-defrag \
--enable-symlink-build \
--disable-libuuid \
--disable-libblkid \
CC=$(CROSSPREFIX)gcc \
CFLAGS="$(ONIE_CFLAGS)"
CFLAGS="$(ONIE_CFLAGS)" \
LDFLAGS="$(ONIE_LDFLAGS)" \
$(ONIE_PKG_CONFIG)
$(Q) touch $@

ifndef MAKE_CLEAN
Expand All @@ -113,7 +111,6 @@ $(E2FSPROGS_INSTALL_STAMP): $(SYSROOT_INIT_STAMP) $(E2FSPROGS_BUILD_STAMP) $(BUS
$(Q) for file in $(E2FSPROGS_LIBS) ; do \
cp -av $(DEV_SYSROOT)/usr/lib/$$file $(SYSROOTDIR)/usr/lib/ ; \
done
ifeq ($(EXT3_4_ENABLE),yes)
$(Q) PATH='$(CROSSBIN):$(PATH)' \
$(MAKE) -C $(E2FSPROGS_DIR)/misc install
$(Q) PATH='$(CROSSBIN):$(PATH)' \
Expand All @@ -130,7 +127,6 @@ ifeq ($(EXT3_4_ENABLE),yes)
$(Q) ln -sf e2fsck $(SYSROOTDIR)/usr/sbin/fsck.ext2
$(Q) ln -sf e2fsck $(SYSROOTDIR)/usr/sbin/fsck.ext3
$(Q) ln -sf e2fsck $(SYSROOTDIR)/usr/sbin/fsck.ext4
endif
$(Q) touch $@

USERSPACE_CLEAN += e2fsprogs-clean
Expand Down
4 changes: 2 additions & 2 deletions build-config/make/mtdutils.make
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#-------------------------------------------------------------------------------
#
# Copyright (C) 2013-2014 Curt Brune <[email protected]>
# Copyright (C) 2013,2014,2015 Curt Brune <[email protected]>
#
# SPDX-License-Identifier: GPL-2.0
#
Expand Down Expand Up @@ -56,7 +56,7 @@ MTDUTILS_NEW_FILES = $(shell test -d $(MTDUTILS_DIR) && test -f $(MTDUTILS_BUILD
endif

mtdutils-build: $(MTDUTILS_BUILD_STAMP)
$(MTDUTILS_BUILD_STAMP): $(MTDUTILS_NEW_FILES) $(E2FSPROGS_INSTALL_STAMP) \
$(MTDUTILS_BUILD_STAMP): $(MTDUTILS_NEW_FILES) $(UTILLINUX_INSTALL_STAMP) \
$(LZO_INSTALL_STAMP) $(ZLIB_INSTALL_STAMP) \
$(MTDUTILS_SOURCE_STAMP) | $(DEV_SYSROOT_INIT_STAMP)
$(Q) rm -f $@ && eval $(PROFILE_STAMP)
Expand Down
118 changes: 118 additions & 0 deletions build-config/make/util-linux.make
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
#-------------------------------------------------------------------------------
#
# Copyright (C) 2013-2014 Curt Brune <[email protected]>
#
# SPDX-License-Identifier: GPL-2.0
#
#-------------------------------------------------------------------------------
#
# This is a makefile fragment that defines the build of some libraries
# from the util-linux package.
#

UTILLINUX_VERSION = 2.27
UTILLINUX_TARBALL = util-linux-$(UTILLINUX_VERSION).tar.xz
UTILLINUX_TARBALL_URLS += $(ONIE_MIRROR) \
https://www.kernel.org/pub/linux/utils/util-linux/v$(UTILLINUX_VERSION)/
UTILLINUX_BUILD_DIR = $(MBUILDDIR)/util-linux
UTILLINUX_DIR = $(UTILLINUX_BUILD_DIR)/util-linux-$(UTILLINUX_VERSION)

UTILLINUX_DOWNLOAD_STAMP = $(DOWNLOADDIR)/util-linux-download
UTILLINUX_SOURCE_STAMP = $(STAMPDIR)/util-linux-source
UTILLINUX_CONFIGURE_STAMP = $(STAMPDIR)/util-linux-configure
UTILLINUX_BUILD_STAMP = $(STAMPDIR)/util-linux-build
UTILLINUX_INSTALL_STAMP = $(STAMPDIR)/util-linux-install
UTILLINUX_STAMP = $(UTILLINUX_SOURCE_STAMP) \
$(UTILLINUX_CONFIGURE_STAMP) \
$(UTILLINUX_BUILD_STAMP) \
$(UTILLINUX_INSTALL_STAMP)

PHONY += util-linux util-linux-download util-linux-source util-linux-configure \
util-linux-build util-linux-install util-linux-clean util-linux-download-clean

UTILLINUX_CONFIG = --enable-libuuid
UTILLINUX_LIBS = \
libuuid.so libuuid.so.1 libuuid.so.1.3.0

ifeq ($(EXT3_4_ENABLE),yes)
UTILLINUX_CONFIG += --enable-libblkid
UTILLINUX_LIBS += \
libblkid.so libblkid.so.1 libblkid.so.1.1.0
endif

util-linux: $(UTILLINUX_STAMP)

DOWNLOAD += $(UTILLINUX_DOWNLOAD_STAMP)
util-linux-download: $(UTILLINUX_DOWNLOAD_STAMP)
$(UTILLINUX_DOWNLOAD_STAMP): $(PROJECT_STAMP)
$(Q) rm -f $@ && eval $(PROFILE_STAMP)
$(Q) echo "==== Getting upstream util-linux ===="
$(Q) $(SCRIPTDIR)/fetch-package $(DOWNLOADDIR) $(UPSTREAMDIR) \
$(UTILLINUX_TARBALL) $(UTILLINUX_TARBALL_URLS)
$(Q) touch $@

SOURCE += $(UTILLINUX_SOURCE_STAMP)
util-linux-source: $(UTILLINUX_SOURCE_STAMP)
$(UTILLINUX_SOURCE_STAMP): $(TREE_STAMP) | $(UTILLINUX_DOWNLOAD_STAMP)
$(Q) rm -f $@ && eval $(PROFILE_STAMP)
$(Q) echo "==== Extracting upstream util-linux ===="
$(Q) $(SCRIPTDIR)/extract-package $(UTILLINUX_BUILD_DIR) $(DOWNLOADDIR)/$(UTILLINUX_TARBALL)
$(Q) touch $@

ifndef MAKE_CLEAN
UTILLINUX_NEW_FILES = $(shell test -d $(UTILLINUX_DIR) && test -f $(UTILLINUX_BUILD_STAMP) && \
find -L $(UTILLINUX_DIR) -newer $(UTILLINUX_BUILD_STAMP) -type f \
\! -name libblkid.so.1.1.0T -print -quit)
endif

util-linux-configure: $(UTILLINUX_CONFIGURE_STAMP)
$(UTILLINUX_CONFIGURE_STAMP): $(UTILLINUX_SOURCE_STAMP) | $(DEV_SYSROOT_INIT_STAMP)
$(Q) rm -f $@ && eval $(PROFILE_STAMP)
$(Q) echo "==== Configure util-linux-$(UTILLINUX_VERSION) ===="
$(Q) cd $(UTILLINUX_DIR) && PATH='$(CROSSBIN):$(PATH)' \
$(UTILLINUX_DIR)/configure \
--enable-shared \
--prefix=$(DEV_SYSROOT)/usr \
--host=$(TARGET) \
CC=$(CROSSPREFIX)gcc \
CFLAGS="$(ONIE_CFLAGS)" \
--disable-tls \
--disable-all-programs \
--without-python \
$(UTILLINUX_CONFIG) \
$(ONIE_PKG_CONFIG)
$(Q) touch $@

util-linux-build: $(UTILLINUX_BUILD_STAMP)
$(UTILLINUX_BUILD_STAMP): $(UTILLINUX_CONFIGURE_STAMP) $(UTILLINUX_NEW_FILES)
$(Q) rm -f $@ && eval $(PROFILE_STAMP)
$(Q) echo "==== Building util-linux-$(UTILLINUX_VERSION) ===="
$(Q) PATH='$(CROSSBIN):$(PATH)' $(MAKE) -C $(UTILLINUX_DIR)
$(Q) touch $@

util-linux-install: $(UTILLINUX_INSTALL_STAMP)
$(UTILLINUX_INSTALL_STAMP): $(SYSROOT_INIT_STAMP) $(UTILLINUX_BUILD_STAMP)
$(Q) rm -f $@ && eval $(PROFILE_STAMP)
$(Q) echo "==== Installing util-linux in $(DEV_SYSROOT) ===="
$(Q) PATH='$(CROSSBIN):$(PATH)' \
$(MAKE) -C $(UTILLINUX_DIR) install
$(Q) for file in $(UTILLINUX_LIBS) ; do \
cp -av $(DEV_SYSROOT)/usr/lib/$$file $(SYSROOTDIR)/usr/lib/ ; \
done
$(Q) touch $@

USERSPACE_CLEAN += util-linux-clean
util-linux-clean:
$(Q) rm -rf $(UTILLINUX_BUILD_DIR)
$(Q) rm -f $(UTILLINUX_STAMP)
$(Q) echo "=== Finished making $@ for $(PLATFORM)"

DOWNLOAD_CLEAN += util-linux-download-clean
util-linux-download-clean:
$(Q) rm -f $(UTILLINUX_DOWNLOAD_STAMP) $(DOWNLOADDIR)/$(UTILLINUX_TARBALL)

#-------------------------------------------------------------------------------
#
# Local Variables:
# mode: makefile-gmake
# End:
1 change: 1 addition & 0 deletions upstream/util-linux-2.27.tar.xz.sha1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0549760ba1d2eb0e48b41b926d54ac55533369af util-linux-2.27.tar.xz

0 comments on commit 10a2855

Please sign in to comment.