#
-# Copyright (C) 2007-2015 OpenWrt.org
+# Copyright (C) 2007-2018 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=util-linux
-PKG_VERSION:=2.28
-PKG_RELEASE:=1
+PKG_VERSION:=2.37.4
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@KERNEL/linux/utils/$(PKG_NAME)/v2.28
-PKG_HASH:=395847e2a18a2c317170f238892751e73a57104565344f8644090c8b091014bb
+PKG_SOURCE_URL:=@KERNEL/linux/utils/$(PKG_NAME)/v2.37
+PKG_HASH:=634e6916ad913366c3536b6468e7844769549b99a7b2bf80314de78ab5655b83
+PKG_CPE_ID:=cpe:/a:kernel:util-linux
-PKG_LICENSE:=GPL-2.0
+PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:= COPYING \
- getopt/COPYING \
libblkid/COPYING \
libmount/COPYING \
Documentation/licenses/COPYING.GPLv2 \
libuuid/COPYING \
Documentation/licenses/COPYING.BSD-3
-PKG_BUILD_PARALLEL:=0
-
-PKG_CONFIG_DEPENDS:= \
- CONFIG_PACKAGE_cal \
- CONFIG_PACKAGE_cfdisk \
- CONFIG_PACKAGE_setterm
+PKG_BUILD_PARALLEL:=1
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
+DISABLE_NLS:=--disable-nls
+
include $(INCLUDE_DIR)/package.mk
define Package/util-linux/Default
TITLE:=block device id library
SECTION:=libs
CATEGORY:=Libraries
+ ABI_VERSION:=1
endef
define Package/libblkid/description
TITLE:=partition manipulating library
SECTION:=libs
CATEGORY:=Libraries
+ ABI_VERSION:=1
endef
define Package/libfdisk/description
TITLE:=mount library
SECTION:=libs
CATEGORY:=Libraries
+ ABI_VERSION:=1
endef
define Package/libmount/description
TITLE:=DCE compatible Universally Unique Identifier library
SECTION:=libs
CATEGORY:=Libraries
+ ABI_VERSION:=1
endef
define Package/libuuid/description
TITLE:=table or tree library
SECTION:=libs
CATEGORY:=Libraries
+ ABI_VERSION:=1
endef
define Package/libsmartcols/description
$(call Package/util-linux/Default)
TITLE:=discard sectors on a device
SUBMENU=Disc
+ DEPENDS:=libblkid
endef
define Package/blkdiscard/description
library.
endef
+define Package/blockdev
+$(call Package/util-linux/Default)
+ TITLE:=call block device ioctls from the command line
+ SUBMENU=Disc
+endef
+
+define Package/blockdev/description
+ The blockdev program is the command-line interface to call block device ioctls.
+endef
+
define Package/cal
$(call Package/util-linux/Default)
TITLE:=display a calendar
define Package/dmesg
$(call Package/util-linux/Default)
TITLE:=print or control the kernel ring buffer
+ DEPENDS:= +libncursesw
endef
define Package/dmesg/description
dmesg is used to examine or control the kernel ring buffer
endef
+define Package/eject
+$(call Package/util-linux/Default)
+ TITLE:=eject removable media
+ DEPENDS:= +libblkid +libmount +libuuid
+ SUBMENU=Disc
+endef
+
+define Package/eject/description
+ eject allows removable media (typically a CD-ROM, floppy disk, tape, or JAZ
+ or ZIP disk) to be ejected under software control.
+endef
+
define Package/fdisk
$(call Package/util-linux/Default)
TITLE:=manipulate disk partition table
- DEPENDS:= +libblkid +libsmartcols +libfdisk
+ DEPENDS:= +libblkid +libsmartcols +libfdisk +libncursesw
SUBMENU=Disc
endef
define Package/flock
$(call Package/util-linux/Default)
TITLE:=manage locks from shell scripts
+ ALTERNATIVES:=200:/usr/bin/flock:/usr/bin/util-linux-flock
endef
define Package/flock/description
manages flock locks from within shell scripts or the command line
endef
+define Package/fstrim
+$(call Package/util-linux/Default)
+ TITLE:=discard unused blocks on a mounted filesystem
+ DEPENDS:= +libblkid +libuuid +libsmartcols +libmount
+ SUBMENU=Filesystem
+endef
+
+define Package/fstrim/description
+ fstrim is used on a mounted filesystem to discard (or "trim") blocks
+ which are not in use by the filesystem. This is useful for solid-
+ state drives (SSDs) and thinly-provisioned storage.
+endef
+
define Package/getopt
$(call Package/util-linux/Default)
TITLE:=parse command options (enhanced)
hwclock is a tool for accessing the Hardware Clock
endef
+define Package/ipcs
+$(call Package/util-linux/Default)
+ TITLE:=show information on IPC facilities
+endef
+
+define Package/ipcs/description
+ ipcs shows information on the inter-process communication facilities for
+ which the calling process has read access. By default it shows information
+ about all three resources: shared memory segments, message queues, and
+ semaphore arrays.
+endef
+
define Package/logger
$(call Package/util-linux/Default)
TITLE:=a shell command interface to the syslog system log module
+ ALTERNATIVES:=200:/usr/bin/logger:/usr/bin/util-linux-logger
endef
define Package/logger/description
lsblk lists information about all or the specified block devices
endef
+define Package/lscpu
+$(call Package/util-linux/Default)
+ TITLE:=display information about the CPU architecture
+ DEPENDS:= +libsmartcols
+endef
+
+define Package/lscpu/description
+ lscpu displays information about the CPU architecture
+endef
+
+define Package/lslocks
+$(call Package/util-linux/Default)
+ TITLE:=list local system locks
+ DEPENDS:= +libmount +libsmartcols
+endef
+
+define Package/lslocks/description
+ lslocks lists information about all the currently held file locks in a Linux system
+endef
+
+define Package/lsns
+$(call Package/util-linux/Default)
+ TITLE:=list system namespaces
+ DEPENDS:= +libblkid +libmount +libsmartcols
+endef
+
+define Package/lsns/description
+ lsns lists information about all namespaces and their processes
+endef
+
+define Package/more
+$(call Package/util-linux/Default)
+ TITLE:=filter for paging through text one screenful at a time
+ DEPENDS:= +libncurses
+endef
+
+define Package/more/description
+ more is a filter for paging through text one screenful at a time
+endef
+
define Package/mcookie
$(call Package/util-linux/Default)
TITLE:=generate magic cookies for xauth
files, directories, and so forth)
endef
+define Package/nsenter
+$(call Package/util-linux/Default)
+ TITLE:=enter a namespace
+endef
+
+define Package/nsenter/description
+ run program with namespaces of other processes
+endef
+
define Package/prlimit
$(call Package/util-linux/Default)
TITLE:=get and set process resource limits
$(call Package/util-linux/Default)
TITLE:=partition table manipulator for Linux
SUBMENU=Disc
- DEPENDS:= +libblkid +libfdisk +libsmartcols
+ DEPENDS:= +libblkid +libfdisk +libsmartcols +libncursesw
endef
define Package/sfdisk/description
contains: mkswap, swaplabel
endef
+define Package/taskset
+$(call Package/util-linux/Default)
+ TITLE:=set or retrieve a process's CPU affinity
+endef
+
+define Package/taskset/description
+ contains: taskset
+endef
+
+define Package/unshare
+$(call Package/util-linux/Default)
+ TITLE:=unshare userspace tool
+endef
+
+define Package/unshare/description
+ run programs with some namespaces unshared from parent
+endef
+
define Package/uuidd
$(call Package/util-linux/Default)
TITLE:=UUID generation daemon
define Package/wipefs
$(call Package/util-linux/Default)
TITLE:=wipe a signature from a device
- DEPENDS:= +libblkid
+ DEPENDS:= +libblkid +libsmartcols
SUBMENU:=Disc
endef
endef
CONFIGURE_ARGS += \
- --disable-use-tty-group \
- --disable-rpath \
- --disable-tls \
- --disable-sulogin \
- --without-python \
- --without-udev \
- --without-readline \
- $(if $(CONFIG_PACKAGE_cal)$(CONFIG_PACKAGE_cfdisk)$(CONFIG_PACKAGE_setterm),--with-ncurses,--without-ncurses)
+ --disable-use-tty-group \
+ --disable-rpath \
+ --disable-tls \
+ --disable-su \
+ --disable-sulogin \
+ --disable-makeinstall-chown \
+ --disable-login \
+ --disable-nologin \
+ --disable-lslogins \
+ --disable-runuser \
+ --disable-chfn-chsh \
+ --disable-raw \
+ --without-python \
+ --without-udev \
+ --without-readline \
+ --without-libmagic \
+ --with-ncursesw
TARGET_CFLAGS += $(FPIC) -std=gnu99
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/blkid.pc $(1)/usr/lib/pkgconfig
+ $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/blkid.pc
+ $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/blkid.pc
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/fdisk.pc $(1)/usr/lib/pkgconfig
+ $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/fdisk.pc
+ $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/fdisk.pc
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/mount.pc $(1)/usr/lib/pkgconfig
+ $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/mount.pc
+ $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/mount.pc
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/smartcols.pc $(1)/usr/lib/pkgconfig
+ $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/smartcols.pc
+ $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/smartcols.pc
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/uuid.pc $(1)/usr/lib/pkgconfig
+ $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/uuid.pc
+ $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/uuid.pc
$(INSTALL_DIR) $(1)/usr/include/blkid
$(CP) $(PKG_INSTALL_DIR)/usr/include/blkid/blkid.h $(1)/usr/include/blkid
define Package/libfdisk/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/lib/libfdisk.so* $(1)/usr/lib/
- $(LN) libfdisk.so.1 $(1)/usr/lib/libfdisk.so
+ $(CP) $(PKG_INSTALL_DIR)/lib/libfdisk.so.* $(1)/usr/lib/
endef
define Package/libblkid/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/lib/libblkid.so* $(1)/usr/lib/
- $(LN) libblkid.so.1 $(1)/usr/lib/libblkid.so
+ $(CP) $(PKG_INSTALL_DIR)/lib/libblkid.so.* $(1)/usr/lib/
endef
define Package/libmount/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/lib/libmount.so* $(1)/usr/lib/
- $(LN) libmount.so.1 $(1)/usr/lib/libmount.so
+ $(CP) $(PKG_INSTALL_DIR)/lib/libmount.so.* $(1)/usr/lib/
endef
define Package/libsmartcols/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/lib/libsmartcols.so* $(1)/usr/lib/
- $(LN) libsmartcols.so.1 $(1)/usr/lib/libsmartcols.so
+ $(CP) $(PKG_INSTALL_DIR)/lib/libsmartcols.so.* $(1)/usr/lib/
endef
define Package/libuuid/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/lib/libuuid.so* $(1)/usr/lib/
- $(LN) libuuid.so.1 $(1)/usr/lib/libuuid.so
+ $(CP) $(PKG_INSTALL_DIR)/lib/libuuid.so.* $(1)/usr/lib/
endef
define Package/agetty/install
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/blkid $(1)/usr/sbin/
endef
+define Package/blockdev/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/blockdev $(1)/usr/sbin/
+endef
+
define Package/cal/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cal $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dmesg $(1)/usr/bin/
endef
+define Package/eject/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/eject $(1)/usr/bin/
+endef
+
define Package/fdisk/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fdisk $(1)/usr/sbin/
define Package/flock/install
$(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/flock $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/flock $(1)/usr/bin/util-linux-flock
+endef
+
+define Package/fstrim/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fstrim $(1)/usr/sbin/
endef
define Package/getopt/install
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/hwclock $(1)/usr/sbin/
endef
+define Package/ipcs/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ipcs $(1)/usr/bin/
+endef
+
define Package/logger/install
$(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/logger $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/logger $(1)/usr/bin/util-linux-logger
endef
define Package/look/install
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lsblk $(1)/usr/bin/
endef
+define Package/lscpu/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lscpu $(1)/usr/bin/
+endef
+
+define Package/lslocks/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lslocks $(1)/usr/bin/
+endef
+
+define Package/lsns/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lsns $(1)/usr/bin/
+endef
+
+define Package/more/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/more $(1)/usr/bin/
+endef
+
define Package/mcookie/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mcookie $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/namei $(1)/usr/bin/
endef
+define Package/nsenter/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nsenter $(1)/usr/bin/
+endef
+
define Package/prlimit/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/prlimit $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/swaplabel $(1)/usr/sbin/
endef
+define Package/taskset/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/taskset $(1)/usr/bin/
+endef
+
+define Package/unshare/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/unshare $(1)/usr/bin/
+endef
+
define Package/uuidd/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin//uuidd $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/wipefs $(1)/usr/sbin/
endef
+# these lines need to be ordered by dependency because of ABI versioning
+$(eval $(call BuildPackage,libuuid))
$(eval $(call BuildPackage,libblkid))
$(eval $(call BuildPackage,libfdisk))
+
$(eval $(call BuildPackage,libmount))
$(eval $(call BuildPackage,libsmartcols))
-$(eval $(call BuildPackage,libuuid))
$(eval $(call BuildPackage,agetty))
$(eval $(call BuildPackage,blkdiscard))
$(eval $(call BuildPackage,blkid))
+$(eval $(call BuildPackage,blockdev))
$(eval $(call BuildPackage,cal))
$(eval $(call BuildPackage,cfdisk))
$(eval $(call BuildPackage,dmesg))
+$(eval $(call BuildPackage,eject))
$(eval $(call BuildPackage,fdisk))
$(eval $(call BuildPackage,findfs))
$(eval $(call BuildPackage,flock))
+$(eval $(call BuildPackage,fstrim))
$(eval $(call BuildPackage,getopt))
$(eval $(call BuildPackage,hwclock))
+$(eval $(call BuildPackage,ipcs))
$(eval $(call BuildPackage,logger))
$(eval $(call BuildPackage,look))
$(eval $(call BuildPackage,losetup))
$(eval $(call BuildPackage,lsblk))
+$(eval $(call BuildPackage,lscpu))
+$(eval $(call BuildPackage,lslocks))
+$(eval $(call BuildPackage,lsns))
+$(eval $(call BuildPackage,more))
$(eval $(call BuildPackage,mcookie))
$(eval $(call BuildPackage,mount-utils))
$(eval $(call BuildPackage,namei))
+$(eval $(call BuildPackage,nsenter))
$(eval $(call BuildPackage,prlimit))
$(eval $(call BuildPackage,rename))
$(eval $(call BuildPackage,partx-utils))
$(eval $(call BuildPackage,setterm))
$(eval $(call BuildPackage,sfdisk))
$(eval $(call BuildPackage,swap-utils))
+$(eval $(call BuildPackage,taskset))
+$(eval $(call BuildPackage,unshare))
$(eval $(call BuildPackage,uuidd))
$(eval $(call BuildPackage,uuidgen))
$(eval $(call BuildPackage,wall))