home: hub: mkinitfs

Download patch

ref: ed669bc46f5796014d7a5785f0deaff9659eeaad
parent: db054160522546a1ad1110aa9bedc8dae456e3f0
author: Natanael Copa <ncopa@alpinelinux.org>
date: Tue Mar 18 09:36:21 CDT 2014

move files.d/* and modules.d/* to features.d/*.{files,modules}

--- a/Makefile
+++ b/Makefile
@@ -8,38 +8,38 @@
 SBIN_FILES	:= mkinitfs bootchartd mkinitfs-rundep
 SHARE_FILES	:= initramfs-init fstab passwd group
 CONF_FILES	:= mkinitfs.conf \
-		modules.d/ata \
-		modules.d/base \
-		modules.d/btrfs \
-		modules.d/cdrom \
-		modules.d/cramfs \
-		modules.d/cryptsetup \
-		modules.d/ext2 \
-		modules.d/ext3 \
-		modules.d/ext4 \
-		modules.d/f2fs \
-		modules.d/floppy \
-		modules.d/gfs2 \
-		modules.d/jfs \
-		modules.d/kms \
-		modules.d/lvm \
-		modules.d/network \
-		modules.d/ocfs2 \
-		modules.d/raid \
-		modules.d/reiserfs \
-		modules.d/scsi \
-		modules.d/squashfs \
-		modules.d/ubifs \
-		modules.d/usb \
-		modules.d/virtio \
-		modules.d/xfs \
-		files.d/bootchart \
-		files.d/base \
-		files.d/cryptsetup \
-		files.d/network \
-		files.d/keymap \
-		files.d/kms \
-		files.d/lvm
+		features.d/ata.modules \
+		features.d/base.files \
+		features.d/base.modules \
+		features.d/bootchart.files \
+		features.d/btrfs.modules \
+		features.d/cdrom.modules \
+		features.d/cramfs.modules \
+		features.d/cryptsetup.files \
+		features.d/cryptsetup.modules \
+		features.d/ext2.modules \
+		features.d/ext3.modules \
+		features.d/ext4.modules \
+		features.d/f2fs.modules \
+		features.d/floppy.modules \
+		features.d/gfs2.modules \
+		features.d/jfs.modules \
+		features.d/keymap.files \
+		features.d/kms.files \
+		features.d/kms.modules \
+		features.d/lvm.files \
+		features.d/lvm.modules \
+		features.d/network.files \
+		features.d/network.modules \
+		features.d/ocfs2.modules \
+		features.d/raid.modules \
+		features.d/reiserfs.modules \
+		features.d/scsi.modules \
+		features.d/squashfs.modules \
+		features.d/ubifs.modules \
+		features.d/usb.modules \
+		features.d/virtio.modules \
+		features.d/xfs.modules
 
 SCRIPTS		:= $(SBIN_FILES) initramfs-init
 IN_FILES	:= $(addsuffix .in,$(SCRIPTS))
--- /dev/null
+++ b/features.d/ata.modules
@@ -1,0 +1,1 @@
+kernel/drivers/ata/*.ko
--- /dev/null
+++ b/features.d/base.files
@@ -1,0 +1,18 @@
+/bin/busybox
+/bin/sh
+/lib/libcrypt-[0-9]*
+/lib/libcrypt.so.*
+/lib/libcrypto.*
+/lib/libdl-[0-9]*
+/lib/libdl.so*
+/lib/libm-[0-9]*
+/lib/libm.so.*
+/lib/libuClibc-[0-9]*
+/lib/libc.so.*
+/lib/libz.*
+/lib/ld*-uClibc-[0-9]*
+/lib/ld*-uClibc.so*
+/lib/mdev
+/sbin/apk
+/etc/modprobe.d/*.conf
+/etc/mdev.conf
--- /dev/null
+++ b/features.d/base.modules
@@ -1,0 +1,1 @@
+kernel/drivers/block/loop.ko
--- /dev/null
+++ b/features.d/bootchart.files
@@ -1,0 +1,8 @@
+/usr/bin/ac
+/usr/bin/last
+/usr/bin/lastcomm
+/usr/sbin/dump-utmp
+/usr/sbin/dump-acct
+/usr/sbin/accton
+/usr/sbin/sa
+
--- /dev/null
+++ b/features.d/btrfs.modules
@@ -1,0 +1,2 @@
+kernel/crypto/crc32c*
+kernel/fs/btrfs
--- /dev/null
+++ b/features.d/cdrom.modules
@@ -1,0 +1,2 @@
+kernel/drivers/cdrom
+kernel/fs/isofs
--- /dev/null
+++ b/features.d/cramfs.modules
@@ -1,0 +1,1 @@
+kernel/fs/cramfs
--- /dev/null
+++ b/features.d/cryptsetup.files
@@ -1,0 +1,10 @@
+/sbin/cryptsetup
+/lib/libcryptsetup.so.*
+/lib/libpopt.so.*
+/lib/libuuid.so.*
+/lib/libdevmapper.*
+/lib/libssl.so.*
+/lib/libcrypto.so.*
+/lib/libz.so.*
+/lib/libdl.so.*
+/lib/libpthread*.so*
--- /dev/null
+++ b/features.d/cryptsetup.modules
@@ -1,0 +1,2 @@
+kernel/crypto/*
+kernel/drivers/md/dm-crypt.ko
--- /dev/null
+++ b/features.d/ext2.modules
@@ -1,0 +1,1 @@
+kernel/fs/ext2
--- /dev/null
+++ b/features.d/ext3.modules
@@ -1,0 +1,1 @@
+kernel/fs/ext3
--- /dev/null
+++ b/features.d/ext4.modules
@@ -1,0 +1,1 @@
+kernel/fs/ext4
--- /dev/null
+++ b/features.d/f2fs.modules
@@ -1,0 +1,1 @@
+kernel/fs/f2fs
--- /dev/null
+++ b/features.d/floppy.modules
@@ -1,0 +1,1 @@
+kernel/drivers/block/floppy.ko
--- /dev/null
+++ b/features.d/gfs2.modules
@@ -1,0 +1,1 @@
+kerne/fs/gfs2
--- /dev/null
+++ b/features.d/jfs.modules
@@ -1,0 +1,1 @@
+kernel/fs/jfs
--- /dev/null
+++ b/features.d/keymap.files
@@ -1,0 +1,1 @@
+/etc/keymap/*
--- /dev/null
+++ b/features.d/kms.files
@@ -1,0 +1,1 @@
+lib/firmware/radeon/*.bin
--- /dev/null
+++ b/features.d/kms.modules
@@ -1,0 +1,5 @@
+kernel/drivers/char/agp
+kernel/drivers/gpu
+kernel/drivers/i2c
+kernel/drivers/video
+kernel/arch/x86/video/fbdev.ko
--- /dev/null
+++ b/features.d/lvm.files
@@ -1,0 +1,3 @@
+/lib/libdevmapper.so.*
+/lib/libpthread*.so*
+/sbin/lvm
--- /dev/null
+++ b/features.d/lvm.modules
@@ -1,0 +1,1 @@
+kernel/drivers/md/dm-mod.ko
--- /dev/null
+++ b/features.d/network.files
@@ -1,0 +1,1 @@
+/usr/share/udhcpc/default.script
--- /dev/null
+++ b/features.d/network.modules
@@ -1,0 +1,2 @@
+kernel/drivers/net/ethernet
+kernel/net/packet/af_packet.ko
--- /dev/null
+++ b/features.d/ocfs2.modules
@@ -1,0 +1,1 @@
+kerne/fs/ocfs2
--- /dev/null
+++ b/features.d/raid.modules
@@ -1,0 +1,4 @@
+kernel/drivers/md/raid*
+kernel/drivers/block/cciss*
+kernel/drivers/block/sx8*
+kernel/drivers/block/cpqarray*
--- /dev/null
+++ b/features.d/reiserfs.modules
@@ -1,0 +1,1 @@
+kernel/fs/reiserfs
--- /dev/null
+++ b/features.d/scsi.modules
@@ -1,0 +1,2 @@
+kernel/drivers/scsi/*
+kernel/drivers/message/fusion
--- /dev/null
+++ b/features.d/squashfs.modules
@@ -1,0 +1,1 @@
+kernel/fs/squashfs
--- /dev/null
+++ b/features.d/ubifs.modules
@@ -1,0 +1,1 @@
+kernel/fs/ubifs
--- /dev/null
+++ b/features.d/usb.modules
@@ -1,0 +1,6 @@
+kernel/drivers/usb/host
+kernel/drivers/usb/storage
+kernel/drivers/hid/usbhid
+kernel/drivers/hid/hid-generic.ko
+kernel/fs/fat
+kernel/fs/nls
--- /dev/null
+++ b/features.d/virtio.modules
@@ -1,0 +1,2 @@
+kernel/drivers/block/virtio*
+kernel/drivers/virtio
--- /dev/null
+++ b/features.d/xfs.modules
@@ -1,0 +1,1 @@
+kernel/fs/xfs
--- a/files.d/base
+++ /dev/null
@@ -1,18 +1,0 @@
-/bin/busybox
-/bin/sh
-/lib/libcrypt-[0-9]*
-/lib/libcrypt.so.*
-/lib/libcrypto.*
-/lib/libdl-[0-9]*
-/lib/libdl.so*
-/lib/libm-[0-9]*
-/lib/libm.so.*
-/lib/libuClibc-[0-9]*
-/lib/libc.so.*
-/lib/libz.*
-/lib/ld*-uClibc-[0-9]*
-/lib/ld*-uClibc.so*
-/lib/mdev
-/sbin/apk
-/etc/modprobe.d/*.conf
-/etc/mdev.conf
--- a/files.d/bootchart
+++ /dev/null
@@ -1,8 +1,0 @@
-/usr/bin/ac
-/usr/bin/last
-/usr/bin/lastcomm
-/usr/sbin/dump-utmp
-/usr/sbin/dump-acct
-/usr/sbin/accton
-/usr/sbin/sa
-
--- a/files.d/cryptsetup
+++ /dev/null
@@ -1,10 +1,0 @@
-/sbin/cryptsetup
-/lib/libcryptsetup.so.*
-/lib/libpopt.so.*
-/lib/libuuid.so.*
-/lib/libdevmapper.*
-/lib/libssl.so.*
-/lib/libcrypto.so.*
-/lib/libz.so.*
-/lib/libdl.so.*
-/lib/libpthread*.so*
--- a/files.d/keymap
+++ /dev/null
@@ -1,1 +1,0 @@
-/etc/keymap/*
--- a/files.d/kms
+++ /dev/null
@@ -1,1 +1,0 @@
-lib/firmware/radeon/*.bin
--- a/files.d/lvm
+++ /dev/null
@@ -1,3 +1,0 @@
-/lib/libdevmapper.so.*
-/lib/libpthread*.so*
-/sbin/lvm
--- a/files.d/network
+++ /dev/null
@@ -1,1 +1,0 @@
-/usr/share/udhcpc/default.script
--- a/mkinitfs.in
+++ b/mkinitfs.in
@@ -29,13 +29,14 @@
 }
 
 feature_files() {
-	local dir="$1"
-	local glob file 
+	local suffix="$1"
+	local dir="$features_dir"
+	local glob file
 	for f in $features; do
-		if [ ! -f "$dir/$f" ]; then
+		if [ ! -f "$dir/$f.$suffix" ]; then
 			continue
 		fi
-		for glob in $(sed 's:^/\+::' "$dir/$f"); do
+		for glob in $(sed 's:^/\+::' "$dir/$f.$suffix"); do
 			for file in $glob; do
 				if [ -d $file ]; then
 					find $file -type f
@@ -56,7 +57,7 @@
 	[ -z "$list_sources" ] && mkdir -p $dirs
 
 	cd "${basedir:-/}"
-	for file in $(feature_files "$filelists_dir"); do
+	for file in $(feature_files files); do
 		_cp $file
 	done
 
@@ -107,12 +108,12 @@
 END {
 	for (i in mod)
 		recursedeps(i);
-}' 
+}'
 }
 
 find_kmods() {
 	cd "$kerneldir" || return 1
-	for file in $(feature_files $modulelists_dir); do
+	for file in $(feature_files modules); do
 		if ! [ -e ${file} ]; then
 			echo "$file: No such file or directory" >&2
 			continue
@@ -193,14 +194,15 @@
 shift $(( $OPTIND - 1 ))
 
 . $(readlink -f "$config")
-filelists_dir=${filelists_dir:-"$sysconfdir/files.d"}
-modulelists_dir=${modules_dir:-"$sysconfdir/modules.d"}
+features_dir=${features_dir:-"$sysconfdir/features.d"}
 [ -n "$myfeatures" ] && features="$myfeatures"
 
 if [ -n "$list_features" ]; then
-	for i in $filelists_dir $modulelists_dir; do
-		( [ -d "$i" ] && cd $i && ls )
-	done | sort | uniq
+	for i in $features_dir/*.files $features_dir/*.modules; do
+		[ -e "$i" ] || continue
+		local file=${i##*/}
+		echo ${file%.*}
+	done | sort -u
 	exit 0
 fi
 
--- a/modules.d/ata
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/drivers/ata/*.ko
--- a/modules.d/base
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/drivers/block/loop.ko
--- a/modules.d/btrfs
+++ /dev/null
@@ -1,2 +1,0 @@
-kernel/crypto/crc32c*
-kernel/fs/btrfs
--- a/modules.d/cdrom
+++ /dev/null
@@ -1,2 +1,0 @@
-kernel/drivers/cdrom
-kernel/fs/isofs
--- a/modules.d/cramfs
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/fs/cramfs
--- a/modules.d/cryptsetup
+++ /dev/null
@@ -1,2 +1,0 @@
-kernel/crypto/*
-kernel/drivers/md/dm-crypt.ko
--- a/modules.d/ext2
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/fs/ext2
--- a/modules.d/ext3
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/fs/ext3
--- a/modules.d/ext4
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/fs/ext4
--- a/modules.d/f2fs
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/fs/f2fs
--- a/modules.d/floppy
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/drivers/block/floppy.ko
--- a/modules.d/gfs2
+++ /dev/null
@@ -1,1 +1,0 @@
-kerne/fs/gfs2
--- a/modules.d/jfs
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/fs/jfs
--- a/modules.d/kms
+++ /dev/null
@@ -1,5 +1,0 @@
-kernel/drivers/char/agp
-kernel/drivers/gpu
-kernel/drivers/i2c
-kernel/drivers/video
-kernel/arch/x86/video/fbdev.ko
--- a/modules.d/lvm
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/drivers/md/dm-mod.ko
--- a/modules.d/network
+++ /dev/null
@@ -1,2 +1,0 @@
-kernel/drivers/net/ethernet
-kernel/net/packet/af_packet.ko
--- a/modules.d/ocfs2
+++ /dev/null
@@ -1,1 +1,0 @@
-kerne/fs/ocfs2
--- a/modules.d/raid
+++ /dev/null
@@ -1,4 +1,0 @@
-kernel/drivers/md/raid*
-kernel/drivers/block/cciss*
-kernel/drivers/block/sx8*
-kernel/drivers/block/cpqarray*
--- a/modules.d/reiserfs
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/fs/reiserfs
--- a/modules.d/scsi
+++ /dev/null
@@ -1,2 +1,0 @@
-kernel/drivers/scsi/*
-kernel/drivers/message/fusion
--- a/modules.d/squashfs
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/fs/squashfs
--- a/modules.d/ubifs
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/fs/ubifs
--- a/modules.d/usb
+++ /dev/null
@@ -1,6 +1,0 @@
-kernel/drivers/usb/host
-kernel/drivers/usb/storage
-kernel/drivers/hid/usbhid
-kernel/drivers/hid/hid-generic.ko
-kernel/fs/fat
-kernel/fs/nls
--- a/modules.d/virtio
+++ /dev/null
@@ -1,2 +1,0 @@
-kernel/drivers/block/virtio*
-kernel/drivers/virtio
--- a/modules.d/xfs
+++ /dev/null
@@ -1,1 +1,0 @@
-kernel/fs/xfs