[arch-commits] Commit in parted/repos (12 files)
Giovanni Scafora
giovanni at archlinux.org
Sun Feb 8 08:14:23 UTC 2015
Date: Sunday, February 8, 2015 @ 09:14:22
Author: giovanni
Revision: 231129
archrelease: copy trunk to extra-i686, extra-x86_64
Added:
parted/repos/extra-i686/PKGBUILD
(from rev 231128, parted/trunk/PKGBUILD)
parted/repos/extra-i686/parted-735669-fat16-crash-v1.patch
(from rev 231128, parted/trunk/parted-735669-fat16-crash-v1.patch)
parted/repos/extra-i686/parted.install
(from rev 231128, parted/trunk/parted.install)
parted/repos/extra-x86_64/PKGBUILD
(from rev 231128, parted/trunk/PKGBUILD)
parted/repos/extra-x86_64/parted-735669-fat16-crash-v1.patch
(from rev 231128, parted/trunk/parted-735669-fat16-crash-v1.patch)
parted/repos/extra-x86_64/parted.install
(from rev 231128, parted/trunk/parted.install)
Deleted:
parted/repos/extra-i686/PKGBUILD
parted/repos/extra-i686/parted-3.1-readline.patch
parted/repos/extra-i686/parted.install
parted/repos/extra-x86_64/PKGBUILD
parted/repos/extra-x86_64/parted-3.1-readline.patch
parted/repos/extra-x86_64/parted.install
-------------------------------------------------+
/PKGBUILD | 80 +++++++++
/parted.install | 36 ++++
extra-i686/PKGBUILD | 32 ---
extra-i686/parted-3.1-readline.patch | 11 -
extra-i686/parted-735669-fat16-crash-v1.patch | 193 ++++++++++++++++++++++
extra-i686/parted.install | 18 --
extra-x86_64/PKGBUILD | 32 ---
extra-x86_64/parted-3.1-readline.patch | 11 -
extra-x86_64/parted-735669-fat16-crash-v1.patch | 193 ++++++++++++++++++++++
extra-x86_64/parted.install | 18 --
10 files changed, 502 insertions(+), 122 deletions(-)
Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD 2015-02-08 08:14:11 UTC (rev 231128)
+++ extra-i686/PKGBUILD 2015-02-08 08:14:22 UTC (rev 231129)
@@ -1,32 +0,0 @@
-# $Id$
-# Maintainer: Giovanni Scafora <giovanni at archlinux.org>
-# Contributor: Aaron Griffin <aaron at archlinux.org>
-
-pkgname=parted
-pkgver=3.2
-pkgrel=1
-pkgdesc="A program for creating, destroying, resizing, checking and copying partitions"
-arch=('i686' 'x86_64')
-license=('GPL3')
-url="http://www.gnu.org/software/parted/parted.html"
-depends=('device-mapper' 'e2fsprogs')
-makedepends=('pkg-config')
-install=parted.install
-source=("http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz")
-md5sums=('0247b6a7b314f8edeb618159fa95f9cb')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- ./configure --prefix=/usr \
- --sbindir=/usr/bin \
- --disable-debug \
- --disable-rpath
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- make DESTDIR="${pkgdir}" install
-}
Copied: parted/repos/extra-i686/PKGBUILD (from rev 231128, parted/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD (rev 0)
+++ extra-i686/PKGBUILD 2015-02-08 08:14:22 UTC (rev 231129)
@@ -0,0 +1,40 @@
+# $Id$
+# Maintainer: Giovanni Scafora <giovanni at archlinux.org>
+# Contributor: Aaron Griffin <aaron at archlinux.org>
+
+pkgname=parted
+pkgver=3.2
+pkgrel=2
+pkgdesc="A program for creating, destroying, resizing, checking and copying partitions"
+arch=('i686' 'x86_64')
+license=('GPL3')
+url="http://www.gnu.org/software/parted/parted.html"
+depends=('device-mapper')
+makedepends=('pkg-config')
+install=parted.install
+source=("http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"
+ 'parted-735669-fat16-crash-v1.patch')
+md5sums=('0247b6a7b314f8edeb618159fa95f9cb'
+ '15a72be3860b9ec754dc7bff17a5afae')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/parted-735669-fat16-crash-v1.patch"
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --sbindir=/usr/bin \
+ --disable-debug \
+ --disable-rpath
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
Deleted: extra-i686/parted-3.1-readline.patch
===================================================================
--- extra-i686/parted-3.1-readline.patch 2015-02-08 08:14:11 UTC (rev 231128)
+++ extra-i686/parted-3.1-readline.patch 2015-02-08 08:14:22 UTC (rev 231129)
@@ -1,11 +0,0 @@
---- a/parted/ui.c
-+++ b/parted/ui.c
-@@ -1474,7 +1474,7 @@
- #ifdef HAVE_LIBREADLINE
- if (!opt_script_mode) {
- rl_initialize ();
-- rl_attempted_completion_function = (CPPFunction*) complete_function;
-+ rl_attempted_completion_function = (rl_completion_func_t*) complete_function;
- readline_state.in_readline = 0;
- }
- #endif
Copied: parted/repos/extra-i686/parted-735669-fat16-crash-v1.patch (from rev 231128, parted/trunk/parted-735669-fat16-crash-v1.patch)
===================================================================
--- extra-i686/parted-735669-fat16-crash-v1.patch (rev 0)
+++ extra-i686/parted-735669-fat16-crash-v1.patch 2015-02-08 08:14:22 UTC (rev 231129)
@@ -0,0 +1,193 @@
+From 3a4c152d38ce34481b0f4fda8aea4e71a8280d8f Mon Sep 17 00:00:00 2001
+From: Mike Fleetwood <mike.fleetwood at googlemail.com>
+Date: Sat, 27 Sep 2014 10:23:17 +0100
+Subject: [PATCH 1/3] lib-fs-resize: Prevent crash resizing FAT16 file systems
+
+Resizing FAT16 file system crashes in libparted/fs/r/fat/resize.c
+create_resize_context() because it was dereferencing NULL pointer
+fs_info->info_sector to copy the info_sector.
+
+Only FAT32 file systems have info_sector populated by fat_open() ->
+fat_info_sector_read(). FAT12 and FAT16 file systems don't have an
+info_sector so pointer fs_info->info_sector remains assigned NULL from
+fat_alloc(). When resizing a FAT file system create_resize_context()
+was always dereferencing fs_info->info_sector to memory copy the
+info_sector, hence it crashed for FAT12 and FAT16.
+
+Make create_resize_context() only copy the info_sector for FAT32 file
+systems.
+
+Reported by Christian Hesse in
+https://bugzilla.gnome.org/show_bug.cgi?id=735669
+---
+ NEWS | 4 ++++
+ libparted/fs/r/fat/resize.c | 12 +++++++++---
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index 297b0a5..da7db50 100644
+--- a/NEWS
++++ b/NEWS
+@@ -2,6 +2,10 @@ GNU parted NEWS -*- outline -*-
+
+ * Noteworthy changes in release ?.? (????-??-??) [?]
+
++** Bug Fixes
++
++ libparted-fs-resize: Prevent crash resizing FAT16 file systems.
++
+
+ * Noteworthy changes in release 3.2 (2014-07-28) [stable]
+
+diff --git a/libparted/fs/r/fat/resize.c b/libparted/fs/r/fat/resize.c
+index 919acf0..bfe60a0 100644
+--- a/libparted/fs/r/fat/resize.c
++++ b/libparted/fs/r/fat/resize.c
+@@ -668,11 +668,17 @@ create_resize_context (PedFileSystem* fs, const PedGeometry* new_geom)
+
+ /* preserve boot code, etc. */
+ new_fs_info->boot_sector = ped_malloc (new_geom->dev->sector_size);
+- new_fs_info->info_sector = ped_malloc (new_geom->dev->sector_size);
+ memcpy (new_fs_info->boot_sector, fs_info->boot_sector,
+ new_geom->dev->sector_size);
+- memcpy (new_fs_info->info_sector, fs_info->info_sector,
+- new_geom->dev->sector_size);
++ new_fs_info->info_sector = NULL;
++ if (fs_info->fat_type == FAT_TYPE_FAT32)
++ {
++ PED_ASSERT (fs_info->info_sector != NULL);
++ new_fs_info->info_sector =
++ ped_malloc (new_geom->dev->sector_size);
++ memcpy (new_fs_info->info_sector, fs_info->info_sector,
++ new_geom->dev->sector_size);
++ }
+
+ new_fs_info->logical_sector_size = fs_info->logical_sector_size;
+ new_fs_info->sector_count = new_geom->length;
+--
+1.7.1
+
+
+From 2b5a4805533557b1bcdb5f70537569383f1fe7e8 Mon Sep 17 00:00:00 2001
+From: Mike Fleetwood <mike.fleetwood at googlemail.com>
+Date: Sat, 27 Sep 2014 11:31:46 +0100
+Subject: [PATCH 2/3] tests: t3000-resize-fs.sh: Add FAT16 resizing test
+
+Add FAT16 resizing test so that we don't regress again.
+---
+ tests/t3000-resize-fs.sh | 16 +++++++++++++---
+ 1 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/tests/t3000-resize-fs.sh b/tests/t3000-resize-fs.sh
+index 8cab476..9084eb4 100755
+--- a/tests/t3000-resize-fs.sh
++++ b/tests/t3000-resize-fs.sh
+@@ -46,7 +46,7 @@ device_sectors_required=$(echo $default_end | sed 's/s$//')
+ # Ensure that $dev is large enough for this test
+ test $device_sectors_required -le $dev_n_sectors || fail=1
+
+-for fs_type in hfs+ fat32; do
++for fs_type in hfs+ fat32 fat16; do
+
+ # create an empty $fs_type partition, cylinder aligned, size > 256 MB
+ parted -a min -s $dev mkpart p1 $start $default_end > out 2>&1 || fail=1
+@@ -59,6 +59,7 @@ for fs_type in hfs+ fat32; do
+ wait_for_dev_to_appear_ ${dev}1
+
+ case $fs_type in
++ fat16) mkfs_cmd='mkfs.vfat -F 16'; fsck='fsck.vfat -v';;
+ fat32) mkfs_cmd='mkfs.vfat -F 32'; fsck='fsck.vfat -v';;
+ hfs*) mkfs_cmd='mkfs.hfs'; fsck=fsck.hfs;;
+ *) error "internal error: unhandled fs type: $fs_type";;
+@@ -70,8 +71,17 @@ for fs_type in hfs+ fat32; do
+ # NOTE: shrinking is the only type of resizing that works.
+ # resize that file system to be one cylinder (8MiB) smaller
+ fs-resize ${dev}1 0 $new_end > out 2>&1 || fail=1
+- # expect no output
+- compare /dev/null out || fail=1
++
++ # check for expected output
++ case $fs_type in
++ fat16) cat << EOF > exp || framework_failure
++Information: Would you like to use FAT32? If you leave your file system as FAT16, then you will have no problems. If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.
++EOF
++ ;;
++ fat32) cat /dev/null > exp || framework_failure;; # expect no output
++ hfs*) cat /dev/null > exp || framework_failure;; # expect no output
++ esac
++ compare exp out || fail=1
+
+ # This is known to segfault with fsck.hfs from
+ # Fedora 16's hfsplus-tools-332.14-12.fc15.x86_64.
+--
+1.7.1
+
+
+From ca37fcb204f97964ff2c92ea0221367e798810bb Mon Sep 17 00:00:00 2001
+From: Mike Fleetwood <mike.fleetwood at googlemail.com>
+Date: Sun, 28 Sep 2014 11:54:45 +0100
+Subject: [PATCH 3/3] tests: t3000-resize-fs.sh: Add requirement on mkfs.vfat
+
+Add test skipping requirement on mkfs.vfat for the FAT32 and FAT16 file
+system resizing tests. This matches existing test skipping requirement
+on mkfs.hfs for the hfs+ file system.
+
+* tests/t3000-resize-fs.sh: Also correct skip_test_ to skip_.
+* tests/t-lib-helpers.sh: Also update message for requirement of hfs.
+---
+ tests/t-lib-helpers.sh | 8 +++++++-
+ tests/t3000-resize-fs.sh | 5 +++--
+ 2 files changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/tests/t-lib-helpers.sh b/tests/t-lib-helpers.sh
+index 4e83a05..c8684bb 100644
+--- a/tests/t-lib-helpers.sh
++++ b/tests/t-lib-helpers.sh
+@@ -20,7 +20,13 @@ require_acl_()
+ require_hfs_()
+ {
+ mkfs.hfs 2>&1 | grep '^usage:' \
+- || skip_ "This test requires HFS support."
++ || skip_ "mkfs.hfs: command not found"
++}
++
++require_fat_()
++{
++ mkfs.vfat 2>&1 | grep '^Usage:' \
++ || skip_ "mkfs.vfat: command not found"
+ }
+
+ # Skip this test if we're not in SELinux "enforcing" mode.
+diff --git a/tests/t3000-resize-fs.sh b/tests/t3000-resize-fs.sh
+index 9084eb4..a79a307 100755
+--- a/tests/t3000-resize-fs.sh
++++ b/tests/t3000-resize-fs.sh
+@@ -18,7 +18,7 @@
+
+ . "${srcdir=.}/init.sh"; path_prepend_ ../parted .
+ require_hfs_
+-
++require_fat_
+ require_root_
+ require_scsi_debug_module_
+ require_512_byte_sector_size_
+@@ -31,7 +31,7 @@ default_end=546147s
+
+ # create memory-backed device
+ scsi_debug_setup_ dev_size_mb=550 > dev-name ||
+- skip_test_ 'failed to create scsi_debug device'
++ skip_ 'failed to create scsi_debug device'
+ dev=$(cat dev-name)
+
+ fail=0
+@@ -47,6 +47,7 @@ device_sectors_required=$(echo $default_end | sed 's/s$//')
+ test $device_sectors_required -le $dev_n_sectors || fail=1
+
+ for fs_type in hfs+ fat32 fat16; do
++ echo "fs_type=$fs_type"
+
+ # create an empty $fs_type partition, cylinder aligned, size > 256 MB
+ parted -a min -s $dev mkpart p1 $start $default_end > out 2>&1 || fail=1
+--
+1.7.1
+
Deleted: extra-i686/parted.install
===================================================================
--- extra-i686/parted.install 2015-02-08 08:14:11 UTC (rev 231128)
+++ extra-i686/parted.install 2015-02-08 08:14:22 UTC (rev 231129)
@@ -1,18 +0,0 @@
-info_dir=/usr/share/info
-info_files=(parted.info)
-
-post_install() {
- for f in ${info_files[@]}; do
- install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install
-}
-
-pre_remove() {
- for f in ${info_files[@]}; do
- install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
Copied: parted/repos/extra-i686/parted.install (from rev 231128, parted/trunk/parted.install)
===================================================================
--- extra-i686/parted.install (rev 0)
+++ extra-i686/parted.install 2015-02-08 08:14:22 UTC (rev 231129)
@@ -0,0 +1,18 @@
+info_dir=/usr/share/info
+info_files=(parted.info)
+
+post_install() {
+ for f in ${info_files[@]}; do
+ install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ for f in ${info_files[@]}; do
+ install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD 2015-02-08 08:14:11 UTC (rev 231128)
+++ extra-x86_64/PKGBUILD 2015-02-08 08:14:22 UTC (rev 231129)
@@ -1,32 +0,0 @@
-# $Id$
-# Maintainer: Giovanni Scafora <giovanni at archlinux.org>
-# Contributor: Aaron Griffin <aaron at archlinux.org>
-
-pkgname=parted
-pkgver=3.2
-pkgrel=1
-pkgdesc="A program for creating, destroying, resizing, checking and copying partitions"
-arch=('i686' 'x86_64')
-license=('GPL3')
-url="http://www.gnu.org/software/parted/parted.html"
-depends=('device-mapper' 'e2fsprogs')
-makedepends=('pkg-config')
-install=parted.install
-source=("http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz")
-md5sums=('0247b6a7b314f8edeb618159fa95f9cb')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- ./configure --prefix=/usr \
- --sbindir=/usr/bin \
- --disable-debug \
- --disable-rpath
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- make DESTDIR="${pkgdir}" install
-}
Copied: parted/repos/extra-x86_64/PKGBUILD (from rev 231128, parted/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD (rev 0)
+++ extra-x86_64/PKGBUILD 2015-02-08 08:14:22 UTC (rev 231129)
@@ -0,0 +1,40 @@
+# $Id$
+# Maintainer: Giovanni Scafora <giovanni at archlinux.org>
+# Contributor: Aaron Griffin <aaron at archlinux.org>
+
+pkgname=parted
+pkgver=3.2
+pkgrel=2
+pkgdesc="A program for creating, destroying, resizing, checking and copying partitions"
+arch=('i686' 'x86_64')
+license=('GPL3')
+url="http://www.gnu.org/software/parted/parted.html"
+depends=('device-mapper')
+makedepends=('pkg-config')
+install=parted.install
+source=("http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"
+ 'parted-735669-fat16-crash-v1.patch')
+md5sums=('0247b6a7b314f8edeb618159fa95f9cb'
+ '15a72be3860b9ec754dc7bff17a5afae')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/parted-735669-fat16-crash-v1.patch"
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --sbindir=/usr/bin \
+ --disable-debug \
+ --disable-rpath
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
Deleted: extra-x86_64/parted-3.1-readline.patch
===================================================================
--- extra-x86_64/parted-3.1-readline.patch 2015-02-08 08:14:11 UTC (rev 231128)
+++ extra-x86_64/parted-3.1-readline.patch 2015-02-08 08:14:22 UTC (rev 231129)
@@ -1,11 +0,0 @@
---- a/parted/ui.c
-+++ b/parted/ui.c
-@@ -1474,7 +1474,7 @@
- #ifdef HAVE_LIBREADLINE
- if (!opt_script_mode) {
- rl_initialize ();
-- rl_attempted_completion_function = (CPPFunction*) complete_function;
-+ rl_attempted_completion_function = (rl_completion_func_t*) complete_function;
- readline_state.in_readline = 0;
- }
- #endif
Copied: parted/repos/extra-x86_64/parted-735669-fat16-crash-v1.patch (from rev 231128, parted/trunk/parted-735669-fat16-crash-v1.patch)
===================================================================
--- extra-x86_64/parted-735669-fat16-crash-v1.patch (rev 0)
+++ extra-x86_64/parted-735669-fat16-crash-v1.patch 2015-02-08 08:14:22 UTC (rev 231129)
@@ -0,0 +1,193 @@
+From 3a4c152d38ce34481b0f4fda8aea4e71a8280d8f Mon Sep 17 00:00:00 2001
+From: Mike Fleetwood <mike.fleetwood at googlemail.com>
+Date: Sat, 27 Sep 2014 10:23:17 +0100
+Subject: [PATCH 1/3] lib-fs-resize: Prevent crash resizing FAT16 file systems
+
+Resizing FAT16 file system crashes in libparted/fs/r/fat/resize.c
+create_resize_context() because it was dereferencing NULL pointer
+fs_info->info_sector to copy the info_sector.
+
+Only FAT32 file systems have info_sector populated by fat_open() ->
+fat_info_sector_read(). FAT12 and FAT16 file systems don't have an
+info_sector so pointer fs_info->info_sector remains assigned NULL from
+fat_alloc(). When resizing a FAT file system create_resize_context()
+was always dereferencing fs_info->info_sector to memory copy the
+info_sector, hence it crashed for FAT12 and FAT16.
+
+Make create_resize_context() only copy the info_sector for FAT32 file
+systems.
+
+Reported by Christian Hesse in
+https://bugzilla.gnome.org/show_bug.cgi?id=735669
+---
+ NEWS | 4 ++++
+ libparted/fs/r/fat/resize.c | 12 +++++++++---
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index 297b0a5..da7db50 100644
+--- a/NEWS
++++ b/NEWS
+@@ -2,6 +2,10 @@ GNU parted NEWS -*- outline -*-
+
+ * Noteworthy changes in release ?.? (????-??-??) [?]
+
++** Bug Fixes
++
++ libparted-fs-resize: Prevent crash resizing FAT16 file systems.
++
+
+ * Noteworthy changes in release 3.2 (2014-07-28) [stable]
+
+diff --git a/libparted/fs/r/fat/resize.c b/libparted/fs/r/fat/resize.c
+index 919acf0..bfe60a0 100644
+--- a/libparted/fs/r/fat/resize.c
++++ b/libparted/fs/r/fat/resize.c
+@@ -668,11 +668,17 @@ create_resize_context (PedFileSystem* fs, const PedGeometry* new_geom)
+
+ /* preserve boot code, etc. */
+ new_fs_info->boot_sector = ped_malloc (new_geom->dev->sector_size);
+- new_fs_info->info_sector = ped_malloc (new_geom->dev->sector_size);
+ memcpy (new_fs_info->boot_sector, fs_info->boot_sector,
+ new_geom->dev->sector_size);
+- memcpy (new_fs_info->info_sector, fs_info->info_sector,
+- new_geom->dev->sector_size);
++ new_fs_info->info_sector = NULL;
++ if (fs_info->fat_type == FAT_TYPE_FAT32)
++ {
++ PED_ASSERT (fs_info->info_sector != NULL);
++ new_fs_info->info_sector =
++ ped_malloc (new_geom->dev->sector_size);
++ memcpy (new_fs_info->info_sector, fs_info->info_sector,
++ new_geom->dev->sector_size);
++ }
+
+ new_fs_info->logical_sector_size = fs_info->logical_sector_size;
+ new_fs_info->sector_count = new_geom->length;
+--
+1.7.1
+
+
+From 2b5a4805533557b1bcdb5f70537569383f1fe7e8 Mon Sep 17 00:00:00 2001
+From: Mike Fleetwood <mike.fleetwood at googlemail.com>
+Date: Sat, 27 Sep 2014 11:31:46 +0100
+Subject: [PATCH 2/3] tests: t3000-resize-fs.sh: Add FAT16 resizing test
+
+Add FAT16 resizing test so that we don't regress again.
+---
+ tests/t3000-resize-fs.sh | 16 +++++++++++++---
+ 1 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/tests/t3000-resize-fs.sh b/tests/t3000-resize-fs.sh
+index 8cab476..9084eb4 100755
+--- a/tests/t3000-resize-fs.sh
++++ b/tests/t3000-resize-fs.sh
+@@ -46,7 +46,7 @@ device_sectors_required=$(echo $default_end | sed 's/s$//')
+ # Ensure that $dev is large enough for this test
+ test $device_sectors_required -le $dev_n_sectors || fail=1
+
+-for fs_type in hfs+ fat32; do
++for fs_type in hfs+ fat32 fat16; do
+
+ # create an empty $fs_type partition, cylinder aligned, size > 256 MB
+ parted -a min -s $dev mkpart p1 $start $default_end > out 2>&1 || fail=1
+@@ -59,6 +59,7 @@ for fs_type in hfs+ fat32; do
+ wait_for_dev_to_appear_ ${dev}1
+
+ case $fs_type in
++ fat16) mkfs_cmd='mkfs.vfat -F 16'; fsck='fsck.vfat -v';;
+ fat32) mkfs_cmd='mkfs.vfat -F 32'; fsck='fsck.vfat -v';;
+ hfs*) mkfs_cmd='mkfs.hfs'; fsck=fsck.hfs;;
+ *) error "internal error: unhandled fs type: $fs_type";;
+@@ -70,8 +71,17 @@ for fs_type in hfs+ fat32; do
+ # NOTE: shrinking is the only type of resizing that works.
+ # resize that file system to be one cylinder (8MiB) smaller
+ fs-resize ${dev}1 0 $new_end > out 2>&1 || fail=1
+- # expect no output
+- compare /dev/null out || fail=1
++
++ # check for expected output
++ case $fs_type in
++ fat16) cat << EOF > exp || framework_failure
++Information: Would you like to use FAT32? If you leave your file system as FAT16, then you will have no problems. If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.
++EOF
++ ;;
++ fat32) cat /dev/null > exp || framework_failure;; # expect no output
++ hfs*) cat /dev/null > exp || framework_failure;; # expect no output
++ esac
++ compare exp out || fail=1
+
+ # This is known to segfault with fsck.hfs from
+ # Fedora 16's hfsplus-tools-332.14-12.fc15.x86_64.
+--
+1.7.1
+
+
+From ca37fcb204f97964ff2c92ea0221367e798810bb Mon Sep 17 00:00:00 2001
+From: Mike Fleetwood <mike.fleetwood at googlemail.com>
+Date: Sun, 28 Sep 2014 11:54:45 +0100
+Subject: [PATCH 3/3] tests: t3000-resize-fs.sh: Add requirement on mkfs.vfat
+
+Add test skipping requirement on mkfs.vfat for the FAT32 and FAT16 file
+system resizing tests. This matches existing test skipping requirement
+on mkfs.hfs for the hfs+ file system.
+
+* tests/t3000-resize-fs.sh: Also correct skip_test_ to skip_.
+* tests/t-lib-helpers.sh: Also update message for requirement of hfs.
+---
+ tests/t-lib-helpers.sh | 8 +++++++-
+ tests/t3000-resize-fs.sh | 5 +++--
+ 2 files changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/tests/t-lib-helpers.sh b/tests/t-lib-helpers.sh
+index 4e83a05..c8684bb 100644
+--- a/tests/t-lib-helpers.sh
++++ b/tests/t-lib-helpers.sh
+@@ -20,7 +20,13 @@ require_acl_()
+ require_hfs_()
+ {
+ mkfs.hfs 2>&1 | grep '^usage:' \
+- || skip_ "This test requires HFS support."
++ || skip_ "mkfs.hfs: command not found"
++}
++
++require_fat_()
++{
++ mkfs.vfat 2>&1 | grep '^Usage:' \
++ || skip_ "mkfs.vfat: command not found"
+ }
+
+ # Skip this test if we're not in SELinux "enforcing" mode.
+diff --git a/tests/t3000-resize-fs.sh b/tests/t3000-resize-fs.sh
+index 9084eb4..a79a307 100755
+--- a/tests/t3000-resize-fs.sh
++++ b/tests/t3000-resize-fs.sh
+@@ -18,7 +18,7 @@
+
+ . "${srcdir=.}/init.sh"; path_prepend_ ../parted .
+ require_hfs_
+-
++require_fat_
+ require_root_
+ require_scsi_debug_module_
+ require_512_byte_sector_size_
+@@ -31,7 +31,7 @@ default_end=546147s
+
+ # create memory-backed device
+ scsi_debug_setup_ dev_size_mb=550 > dev-name ||
+- skip_test_ 'failed to create scsi_debug device'
++ skip_ 'failed to create scsi_debug device'
+ dev=$(cat dev-name)
+
+ fail=0
+@@ -47,6 +47,7 @@ device_sectors_required=$(echo $default_end | sed 's/s$//')
+ test $device_sectors_required -le $dev_n_sectors || fail=1
+
+ for fs_type in hfs+ fat32 fat16; do
++ echo "fs_type=$fs_type"
+
+ # create an empty $fs_type partition, cylinder aligned, size > 256 MB
+ parted -a min -s $dev mkpart p1 $start $default_end > out 2>&1 || fail=1
+--
+1.7.1
+
Deleted: extra-x86_64/parted.install
===================================================================
--- extra-x86_64/parted.install 2015-02-08 08:14:11 UTC (rev 231128)
+++ extra-x86_64/parted.install 2015-02-08 08:14:22 UTC (rev 231129)
@@ -1,18 +0,0 @@
-info_dir=/usr/share/info
-info_files=(parted.info)
-
-post_install() {
- for f in ${info_files[@]}; do
- install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install
-}
-
-pre_remove() {
- for f in ${info_files[@]}; do
- install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
Copied: parted/repos/extra-x86_64/parted.install (from rev 231128, parted/trunk/parted.install)
===================================================================
--- extra-x86_64/parted.install (rev 0)
+++ extra-x86_64/parted.install 2015-02-08 08:14:22 UTC (rev 231129)
@@ -0,0 +1,18 @@
+info_dir=/usr/share/info
+info_files=(parted.info)
+
+post_install() {
+ for f in ${info_files[@]}; do
+ install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ for f in ${info_files[@]}; do
+ install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
More information about the arch-commits
mailing list