iSCSI patch for genkernel
authorcraig <craig@haquarter.de>
Fri, 21 Nov 2008 21:46:36 +0000 (22:46 +0100)
committercraig <craig@haquarter.de>
Sun, 28 Jun 2009 18:37:33 +0000 (20:37 +0200)
24 files changed:
arch/alpha/modules_load
arch/ia64/modules_load
arch/mips/modules_load
arch/parisc/modules_load
arch/parisc64/modules_load
arch/ppc/modules_load
arch/ppc64/modules_load
arch/sparc/modules_load
arch/sparc64/modules_load
arch/um/modules_load
arch/x86/modules_load
arch/x86_64/modules_load
defaults/initrd.defaults
defaults/initrd.scripts
defaults/linuxrc
defaults/modules_load
gen_cmdline.sh
gen_compile.sh
gen_configkernel.sh
gen_determineargs.sh
gen_funcs.sh
gen_initramfs.sh
genkernel
genkernel.conf

index 2e93dceb5ddb495bbddfb29d2b56ca37d2b12970..f54dd7b4802af60a8f89a561f4f080eb846307ad 100644 (file)
@@ -16,6 +16,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index 67b9a48168990031b7ed5390bc3c26a4b54f8879..d38cd4068ac98423f5d491ad9cacdf79982a66bb 100644 (file)
@@ -16,6 +16,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index 2e93dceb5ddb495bbddfb29d2b56ca37d2b12970..f54dd7b4802af60a8f89a561f4f080eb846307ad 100644 (file)
@@ -16,6 +16,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index 2e93dceb5ddb495bbddfb29d2b56ca37d2b12970..f54dd7b4802af60a8f89a561f4f080eb846307ad 100644 (file)
@@ -16,6 +16,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index 67b9a48168990031b7ed5390bc3c26a4b54f8879..d38cd4068ac98423f5d491ad9cacdf79982a66bb 100644 (file)
@@ -16,6 +16,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index 2e93dceb5ddb495bbddfb29d2b56ca37d2b12970..f54dd7b4802af60a8f89a561f4f080eb846307ad 100644 (file)
@@ -16,6 +16,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index 67b9a48168990031b7ed5390bc3c26a4b54f8879..d38cd4068ac98423f5d491ad9cacdf79982a66bb 100644 (file)
@@ -16,6 +16,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index 2e93dceb5ddb495bbddfb29d2b56ca37d2b12970..f54dd7b4802af60a8f89a561f4f080eb846307ad 100644 (file)
@@ -16,6 +16,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index 67b9a48168990031b7ed5390bc3c26a4b54f8879..d38cd4068ac98423f5d491ad9cacdf79982a66bb 100644 (file)
@@ -16,6 +16,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index 309421d10e607ae16059264255525d4789833bc7..38e8f71ebc1f760f0578f12818da8b4e0660e267 100644 (file)
@@ -16,6 +16,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index e480050794946da9d4d85bf649087abab832ffd6..6f420efaa4d2e99531aeb8124024566f45cc91e8 100644 (file)
@@ -17,6 +17,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index 9009ac324560e1b611cecf18219bad53583e32ce..7f8f69a43f1f7cf55ff1a23251d5b84eb6b8843d 100644 (file)
@@ -16,6 +16,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index a417144d32bb59ce101823cfd12592a8bac9c115..db5cb25b6a4da180e61a74b4076303ad7c984ace 100755 (executable)
@@ -78,4 +78,4 @@ LOOPS='/livecd.loop /zisofs /livecd.squashfs /image.squashfs /livecd.gcloop'
 # Only sections that are in by default or those that
 # are not module groups need to be defined here...
 HWOPTS='keymap cache modules pata sata scsi usb firewire waitscan slowusb evms lvm dmraid mdadm fs net'
-MY_HWOPTS='modules pata sata scsi usb firewire waitscan dmraid mdadm fs net'
+MY_HWOPTS='modules pata sata scsi usb firewire waitscan dmraid mdadm fs net iscsi'
index b63568df03f686ce4248870af6f051b495953c8d..1ccab59279cfc776f3473edbba3a85043981bed1 100755 (executable)
@@ -628,6 +628,17 @@ startVolumes() {
        fi
 }
 
+startiscsi() {
+       
+       if [ -n "${ISCSI_I}" ] && [ -n "${ISCSI_T}" ] && [ -n "${ISCSI_A}" ]
+       then
+               good_msg "Activating ISCSI"
+               iscsistart -i "${ISCSI_I}" -t "${ISCSI_T}" -g 1 -a ${ISCSI_A}
+       fi
+
+}
+
+
 # Open a LUKS device
 # It is either the root or a swap, other devices are supported in the scripts provided with sys-fs/cryptsetup-luks
 # $1 - root/swap
index 3fac6ad9b7ad70e28d6a23058636fb22952f6d83..c3d5239881ca5b7cf77ce6b0b695158746e474e2 100755 (executable)
@@ -149,6 +149,17 @@ do
                nfsroot\=*)
                        NFSROOT=`parse_opt "${x}"`
                ;;
+               # ISCSI
+               iscsi_i\=*)
+                       ISCSI_I=`parse_opt "${x}"`
+               ;;
+               iscsi_t\=*)
+                       ISCSI_T=`parse_opt "${x}"`
+               ;;
+               iscsi_a\=*)
+                       ISCSI_A=`parse_opt "${x}"`
+               ;;
+               # Crypto
                crypt_root\=*)
                        CRYPT_ROOT=`parse_opt "${x}"`
                ;;
@@ -263,6 +274,9 @@ setup_md_device
 # Scan volumes
 startVolumes
 
+# Start ISCSI
+startiscsi
+
 setup_keymap
 
 # Initialize LUKS root device except for livecd's
index 2e93dceb5ddb495bbddfb29d2b56ca37d2b12970..f54dd7b4802af60a8f89a561f4f080eb846307ad 100644 (file)
@@ -16,6 +16,9 @@ MODULES_WAITSCAN="scsi_wait_scan"
 # Hardware (Network)
 MODULES_NET="e1000 tg3"
 
+# iSCSI support
+MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
+
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class"
index fd1dd56d8b10d7cd4ee7218d09c588dc21555f51..cdaf44e899c1eea362b5b2e64c08272fbc7d8536 100755 (executable)
@@ -84,6 +84,7 @@ longusage() {
   echo "       --mdadm                 Copy /etc/mdadm.conf to initramfs"
   echo "       --dmraid                Include DMRAID support"
   echo "       --multipath             Include Multipath support"
+  echo "       --iscsi                 Include ISCSI support"
   echo "       --slowusb               Enables extra pauses for slow USB CD boots"
   echo "       --bootloader=grub       Add new kernel to GRUB configuration"
   echo "       --linuxrc=<file>        Specifies a user created linuxrc"
@@ -289,6 +290,9 @@ parse_cmdline() {
                --bootloader=*)
                        CMD_BOOTLOADER=`parse_opt "$*"`
                        print_info 2 "CMD_BOOTLOADER: ${CMD_BOOTLOADER}"
+               --iscsi)
+                       CMD_ISCSI=1
+                       print_info 2 "CMD_ISCSI: ${CMD_ISCSI}"
                        ;;
                --loglevel=*)
                        CMD_LOGLEVEL=`parse_opt "$*"`
index 3379b616a83a96361bedbb445030790349e3ecad..62566622b134cbc39a1b39a0399ee4f0d0eef125 100755 (executable)
@@ -619,3 +619,45 @@ compile_unionfs_fuse() {
                rm -rf "${UNIONFS_FUSE_DIR}" > /dev/null
        fi
 }
+
+compile_iscsi() {
+       if [ ! -f "${ISCSI_BINCACHE}" ]
+       then
+               [ ! -f "${ISCSI_SRCTAR}" ] &&
+                       gen_die "Could not find ISCSI source tarball: ${ISCSI_SRCTAR}. Please place it there, or place another version, changing /etc/genkernel.conf as necessary!"
+               cd "${TEMP}"
+               rm -rf "${ISCSI_DIR}"
+               tar -zxpf "${ISCSI_SRCTAR}"
+               [ ! -d "${ISCSI_DIR}" ] &&
+                       gen_die "ISCSI directory ${ISCSI_DIR} invalid"
+                               print_info 1 'ISCSI: >> Compiling...'
+               cd "${TEMP}/${ISCSI_DIR}/utils/fwparam_ibft"
+               MAKE=${UTILS_MAKE} compile_generic "" ""
+               cd "${TEMP}/${ISCSI_DIR}/usr"
+               MAKE=${UTILS_MAKE} compile_generic "" ""
+               cd "${TEMP}/${ISCSI_DIR}/kernel"
+
+               # Find out target kernel Version, make modules for that version
+               RELEASE=$(head -n 4 ${CMD_KERNEL_DIR}/Makefile | sed  -r -e 's/^VERSION = (.*)/\1./g' -e 's/PATCHLEVEL = (.*)/\1./g' -e 's/SUBLEVEL = (.*)/\1/g' -e 's/EXTRAVERSION = (.*)/\1/g' | tr -d '\n')
+               KERNELRELEASE=${RELEASE} MAKE=${UTILS_MAKE} compile_generic "" ""
+
+               # copy kernel modules to initramfs
+               mkdir -p "${TEMP}/initramfs-iscsi-temp/lib/modules/${RELEASE}/kernel/drivers/scsi/"
+               cp *.ko "${TEMP}/initramfs-iscsi-temp/lib/modules/${RELEASE}/kernel/drivers/scsi/"
+
+               cd "${TEMP}/initramfs-iscsi-temp/"
+               print_info 1 'iscsistart: >> Copying to cache...'
+               [ -f "${TEMP}/${ISCSI_DIR}/usr/iscsistart" ] ||
+                       gen_die 'iscsistart executable does not exist!'
+               strip "${TEMP}/${ISCSI_DIR}/usr/iscsistart" ||
+                       gen_die 'Could not strip iscsistart binary!'
+               bzip2 "${TEMP}/${ISCSI_DIR}/usr/iscsistart" ||
+                       gen_die 'bzip2 compression of iscsistart failed!'
+               mv "${TEMP}/${ISCSI_DIR}/usr/iscsistart.bz2" "${ISCSI_BINCACHE}" ||
+                       gen_die 'Could not copy the iscsistart binary to the package directory, does the directory exist?'
+
+               cd "${TEMP}"
+               rm -rf "${ISCSI_DIR}" > /dev/null
+       fi
+}
+
index 053bd4a3a9f54b56d2be0f4fb7005669fcb5f662..9296793883a503dc610af765bcb4a6431ea46eaf 100755 (executable)
@@ -100,6 +100,15 @@ config_kernel() {
                sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_BLK_DEV_DM is.*/CONFIG_BLK_DEV_DM=m/g'
        fi
 
+       # Make sure the iscsi modules are off if --iscsi
+       # CONFIG_SCSI_ISCSI_ATTRS
+       # CONFIG_ISCSI_TCP
+       if isTrue ${CMD_ISCSI}
+       then
+               sed -i ${KERNEL_DIR}/.config -e 's/^CONFIG_SCSI_ISCSI_ATTRS=\(.*\)/\# CONFIG_SCSI_ISCSI_ATTRS is not set/g'
+               sed -i ${KERNEL_DIR}/.config -e 's/^CONFIG_ISCSI_TCP=\(.*\)/\# CONFIG_ISCSI_TCP is not set/g'
+       fi
+
        if isTrue ${SPLASH}
        then
                sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_FB_SPLASH is.*/CONFIG_FB_SPLASH=y/g'
index f6c45a191f2dd3e35d16a832b6ea9edd4921fe36..c853a43939a8ef04f2126342e03826c6204b89cf 100755 (executable)
@@ -102,6 +102,7 @@ determine_real_args() {
        set_config_with_override 1 LVM                  CMD_LVM
        set_config_with_override 1 EVMS                 CMD_EVMS
        set_config_with_override 1 DMRAID               CMD_DMRAID
+       set_config_with_override 1 ISCSI                CMD_ISCSI
        set_config_with_override 1 BUSYBOX              CMD_BUSYBOX              "yes"
        set_config_with_override 1 UNIONFS                              CMD_UNIONFS
        set_config_with_override 1 NETBOOT                              CMD_NETBOOT
@@ -127,6 +128,7 @@ determine_real_args() {
        DEVICE_MAPPER_BINCACHE=`cache_replace "${DEVICE_MAPPER_BINCACHE}"`
        LVM_BINCACHE=`cache_replace "${LVM_BINCACHE}"`
        DMRAID_BINCACHE=`cache_replace "${DMRAID_BINCACHE}"`
+       ISCSI_BINCACHE=`cache_replace "${ISCSI_BINCACHE}"`
        BLKID_BINCACHE=`cache_replace "${BLKID_BINCACHE}"`
        FUSE_BINCACHE=`cache_replace "${FUSE_BINCACHE}"`
        UNIONFS_FUSE_BINCACHE=`cache_replace "${UNIONFS_FUSE_BINCACHE}"`
@@ -137,6 +139,7 @@ determine_real_args() {
        DEVICE_MAPPER_BINCACHE=`arch_replace "${DEVICE_MAPPER_BINCACHE}"`
        LVM_BINCACHE=`arch_replace "${LVM_BINCACHE}"`
        DMRAID_BINCACHE=`arch_replace "${DMRAID_BINCACHE}"`
+       ISCSI_BINCACHE=`arch_replace "${ISCSI_BINCACHE}"`
        BLKID_BINCACHE=`arch_replace "${BLKID_BINCACHE}"`
        FUSE_BINCACHE=`arch_replace "${FUSE_BINCACHE}"`
        UNIONFS_FUSE_BINCACHE=`arch_replace "${UNIONFS_FUSE_BINCACHE}"`
index 00416650a0afbf8d8cb7d0553f35dd562a8dfb9a..3a5f4927608bef8a82988ce79e901eebe0ec0ced 100755 (executable)
@@ -516,7 +516,7 @@ set_config_with_override() {
 }
 
 check_distfiles() {
-       for i in $BUSYBOX_SRCTAR $DEVICE_MAPPER_SRCTAR $MULTIPATH_SRCTAR $LVM_SRCTAR $DMRAID_SRCTAR $E2FSPROGS_SRCTAR
+       for i in $BUSYBOX_SRCTAR $DEVICE_MAPPER_SRCTAR $MULTIPATH_SRCTAR $LVM_SRCTAR $DMRAID_SRCTAR $E2FSPROGS_SRCTAR $ISCSI_SRCTAR
        do
                if [ ! -f "${i}" ]
                then
index 111b6ccdc87ab2afc3db07dc26e5d46daab3539f..979994a2cf65e70ec5f514fb58bbab9fdf71001f 100755 (executable)
@@ -192,6 +192,23 @@ append_dmraid(){
        rm -r "${TEMP}/initramfs-dmraid-temp/"
 }
 
+append_iscsi(){
+       if [ -d "${TEMP}/initramfs-iscsi-temp" ]
+       then
+               rm -r "${TEMP}/initramfs-iscsi-temp/"
+       fi
+       print_info 1 'ISCSI: Adding support (compiling binaries)...'
+       compile_iscsi
+       cd ${TEMP}
+       mkdir -p "${TEMP}/initramfs-iscsi-temp/bin/"
+       /bin/bzip2 -dc "${ISCSI_BINCACHE}" > "${TEMP}/initramfs-iscsi-temp/bin/iscsistart" ||
+               gen_die "Could not extract iscsi binary cache!"
+       chmod a+x "${TEMP}/initramfs-iscsi-temp/bin/iscsistart"
+       cd "${TEMP}/initramfs-iscsi-temp/"
+       find . -print | cpio ${CPIO_ARGS} --append -F "${CPIO}"
+       rm -rf "${TEMP}/initramfs-iscsi-temp" > /dev/null
+}
+
 append_lvm(){
        if [ -d "${TEMP}/initramfs-lvm-temp" ]
        then
@@ -578,6 +595,7 @@ create_initramfs() {
        append_data 'busybox' "${BUSYBOX}"
        append_data 'lvm' "${LVM}"
        append_data 'dmraid' "${DMRAID}"
+       append_data 'iscsi' "${ISCSI}"
        append_data 'evms' "${EVMS}"
        append_data 'mdadm' "${MDADM}"
        append_data 'luks' "${LUKS}"
index a28f6e16addaa27797250eb9c4cc3d7e60fd801b..0da2a5685e8fafd106da2f7b34bd1875b67b7de0 100755 (executable)
--- a/genkernel
+++ b/genkernel
@@ -364,6 +364,7 @@ then
        [ "${EVMS}" -eq '1' ] && print_info 1 'add "doevms" for evms support'
        [ "${DMRAID}" -eq '1' ] && print_info 1 'add "dodmraid" for dmraid support'
        [ "${DMRAID}" -eq '1' ] && print_info 1 '       or "dodmraid=<additional options>"'
+       [ "${ISCSI}" -eq '1' ] && print_info 1 'add "iscsi_i=<initiator name> iscsi_t=<target name> iscsi_a=<target ip>" for iscsi support'
 fi
 
 [ "${BOOTRW}" != '' ] && mount -o remount,ro ${BOOTDIR}
index 50052b7f4bcb71cfe2222206cad952126c98c279..0cb6a46b349e1d22397ad6d87054b776cbf4e19a 100644 (file)
@@ -160,6 +160,11 @@ DMRAID_DIR="dmraid/${DMRAID_VER}"
 DMRAID_SRCTAR="${DISTDIR}/dmraid-${DMRAID_VER}.tar.bz2"
 DMRAID_BINCACHE="%%CACHE%%/dmraid-${DMRAID_VER}-%%ARCH%%.tar.bz2"
 
+ISCSI_VER="VERSION_ISCSI"
+ISCSI_DIR="open-iscsi-${ISCSI_VER}"
+ISCSI_SRCTAR="${DISTDIR}/open-iscsi-${ISCSI_VER}.tar.gz"
+ISCSI_BINCACHE="%%CACHE%%/iscsi-${ISCSI_VER}-%%ARCH%%.bz2"
+
 E2FSPROGS_VER="VERSION_E2FSPROGS"
 E2FSPROGS_DIR="e2fsprogs-${E2FSPROGS_VER}"
 E2FSPROGS_SRCTAR="${DISTDIR}/e2fsprogs-${E2FSPROGS_VER}.tar.gz"