--- parted-1.8.8.git.2009.06.03.orig/configure +++ parted-1.8.8.git.2009.06.03/configure @@ -2444,15 +2444,9 @@ # Derive these numbers from $PACKAGE_VERSION, which is set # when autoconf creates configure (see AC_INIT, above). -PED_MAJOR_VERSION=`echo "$PACKAGE_VERSION"|sed 's/\..*//'` -PED_MINOR_VERSION=`echo "$PACKAGE_VERSION"|sed 's/^[0-9][0-9]*\.//;s/\..*//'` -case $PACKAGE_VERSION in - *.*.*.*.*) - PED_MICRO_VERSION=`echo "$PACKAGE_VERSION" \ - | sed 's/^^.*\.^.*\.//;s/\..*//'` - ;; - *) PED_MICRO_VERSION=0;; -esac +PED_MAJOR_VERSION=1 +PED_MINOR_VERSION=8 +PED_MICRO_VERSION=12 PED_INTERFACE_AGE=0 PED_BINARY_AGE=0 --- parted-1.8.8.git.2009.06.03.orig/.tarball-version +++ parted-1.8.8.git.2009.06.03/.tarball-version @@ -0,0 +1 @@ +1.8.8.1.159-1e0e --- parted-1.8.8.git.2009.06.03.orig/debian/libparted-dev.files +++ parted-1.8.8.git.2009.06.03/debian/libparted-dev.files @@ -0,0 +1,6 @@ +usr/lib/libparted.a +usr/lib/libparted.la +usr/lib/libparted.so +usr/lib/pkgconfig +usr/include + --- parted-1.8.8.git.2009.06.03.orig/debian/libparted1.8-i18n.files +++ parted-1.8.8.git.2009.06.03/debian/libparted1.8-i18n.files @@ -0,0 +1 @@ +usr/share/locale --- parted-1.8.8.git.2009.06.03.orig/debian/watch +++ parted-1.8.8.git.2009.06.03/debian/watch @@ -0,0 +1,3 @@ +version=3 + +ftp://ftp.gnu.org/gnu/parted/parted-(.*).tar.gz --- parted-1.8.8.git.2009.06.03.orig/debian/parted-doc.postinst +++ parted-1.8.8.git.2009.06.03/debian/parted-doc.postinst @@ -0,0 +1,49 @@ +#! /bin/sh +# postinst script for parted-doc +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + install-info --quiet --section "Disk Management" "Disk Management" \ + /usr/share/info/parted.info.gz + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- parted-1.8.8.git.2009.06.03.orig/debian/control.in +++ parted-1.8.8.git.2009.06.03/debian/control.in @@ -0,0 +1,267 @@ +Source: parted@BINPKGVER@ +Section: admin +Priority: optional +Maintainer: Ubuntu Core developers +XSBC-Original-Maintainer: Parted Maintainer Team +Uploaders: Sven Luther , Otavio Salvador , Bastian Blank , Xavier Oswald +Standards-Version: 3.8.1 +Vcs-Git: git://git.debian.org/git/parted/debian/parted.git +Vcs-Browser: http://git.debian.org/?p=parted/debian/parted.git +Build-Depends: + debhelper (>= 5.0.22), + dpatch, + libncurses-dev | libncurses5-dev, + libreadline5-dev | libreadline-dev, + libdevmapper-dev, + uuid-dev, + gettext, + texinfo (>= 4.2), + debianutils (>= 1.13.1), + libgeom-dev [kfreebsd-i386 kfreebsd-amd64], + po4a, + pkg-config + +Package: parted@BINPKGVER@ +Architecture: any +Section: admin +Depends: ${shlibs:Depends} +Suggests: parted@BINPKGVER@-doc +Conflicts: fsresize, parted1.6 +Replaces: fsresize, parted1.6 +Description: The GNU Parted disk partition resizing program + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains the Parted binary and manual page. + . + Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and + PC98 disklabels/partition tables, as well as a 'loop' (raw + disk) type which allows use on RAID/LVM. Filesystems which + are currently fully supported are ext2, ext3, fat (FAT16 + and FAT32), ReiserFS (with libreiserfs) and linux-swap. + Parted can also detect and remove HFS (Mac OS), JFS, NTFS, + UFS (Sun and HP), XFS and ASFS/AFFS/APFS (Amiga) filesystems, + but cannot create, resize or check these filesystems yet. + . + Note that ReiserFS support is only enabled if you install + the libreiserfs0.3-0 package. Since libreiserfs0.3-0 has been + removed from sarge, ReiserFS support is not compiled in the + default package. + . + The nature of this software means that any bugs could cause + massive data loss. While there are no known bugs at the moment, + they could exist, so please back up all important files before + running it, and do so at your own risk. + +Package: parted@BINPKGVER@-udeb +XC-Package-Type: udeb +Architecture: any +Section: debian-installer +Priority: extra +XB-Installer-Menu-Item: 99999 +Depends: ${shlibs:Depends} +Description: Manually partition a hard drive (parted) + +Package: libparted@SHAREDLIBPKGVER@ +Architecture: any +Section: libs +Depends: ${shlibs:Depends} +Suggests: parted | nparted, libparted@LIBPKGVER@-dev, libparted@LIBPKGVER@-i18n (= ${source:Version}) +Conflicts: parted (<< 1.4.13+14pre1), libparted0, libparted1, libparted2 +Replaces: libparted0, libparted1, libparted2, libparted1.4 (<< 1.4.24-2) +Provides: libparted +Description: The GNU Parted disk partitioning shared library + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains the Parted binary and manual page. + . + This package contains libparted, the required shared library + used by Parted. + . + Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and + PC98 disklabels/partition tables, as well as a 'loop' (raw + disk) type which allows use on RAID/LVM. Filesystems which + are currently fully supported are ext2, ext3, fat (FAT16 + and FAT32), ReiserFS (with libreiserfs) and linux-swap. + Parted can also detect and remove HFS (Mac OS), JFS, NTFS, + UFS (Sun and HP), XFS and ASFS/AFFS/APFS (Amiga) filesystems, + but cannot create, resize or check these filesystems yet. + . + Note that ReiserFS support is only enabled if you install + the libreiserfs0.3-0 package. Since libreiserfs0.3-0 has been + removed from sarge, ReiserFS support is not compiled in the + default package. + . + The nature of this software means that any bugs could cause + massive data loss. While there are no known bugs at the moment, + they could exist, so please back up all important files before + running it, and do so at your own risk. + +Package: libparted@LIBPKGVER@-udeb +XC-Package-Type: udeb +Architecture: any +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends} +Description: The GNU Parted disk partitioning shared library + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains the Parted binary and manual page. + . + This package contains libparted, the required shared library + used by Parted. This is a cut-down package with no normal + documentation intended to be used in debian-installer. + . + Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and + PC98 disklabels/partition tables, as well as a 'loop' (raw + disk) type which allows use on RAID/LVM. Filesystems which + are currently fully supported are ext2, ext3, fat (FAT16 + and FAT32), ReiserFS (with libreiserfs) and linux-swap. + Parted can also detect and remove HFS (Mac OS), JFS, NTFS, + UFS (Sun and HP), XFS and ASFS/AFFS/APFS (Amiga) filesystems, + but cannot create, resize or check these filesystems yet. + . + Note that ReiserFS support is only enabled if you install + the libreiserfs0.3-0 package. Since libreiserfs0.3-0 has been + removed from sarge, ReiserFS support is not compiled in the + default package. + . + The nature of this software means that any bugs could cause + massive data loss. While there are no known bugs at the moment, + they could exist, so please back up all important files before + running it, and do so at your own risk. + +Package: libparted@LIBPKGVER@-i18n +Architecture: all +Section: libs +Depends: libparted@SHAREDLIBPKGVER@ +Replaces: libparted0, libparted1, libparted2, libparted1.4 (<< 1.4.24-2), libparted1.6 (<< 1.5+1.6.0-pre3-2), libparted1.4-i18n, parted (<< 1.4.13+14pre1) +Conflicts: libparted-i18n +Provides: libparted-i18n +Description: The GNU Parted disk partitioning library i18n support + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains the Parted binary and manual page. + . + This package contains the i18n message catalogs for + libparted and parted. + . + Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and + PC98 disklabels/partition tables, as well as a 'loop' (raw + disk) type which allows use on RAID/LVM. Filesystems which + are currently fully supported are ext2, ext3, fat (FAT16 + and FAT32), ReiserFS (with libreiserfs) and linux-swap. + Parted can also detect and remove HFS (Mac OS), JFS, NTFS, + UFS (Sun and HP), XFS and ASFS/AFFS/APFS (Amiga) filesystems, + but cannot create, resize or check these filesystems yet. + . + Note that ReiserFS support is only enabled if you install + the libreiserfs0.3-0 package. Since libreiserfs0.3-0 has been + removed from sarge, ReiserFS support is not compiled in the + default package. + . + The nature of this software means that any bugs could cause + massive data loss. While there are no known bugs at the moment, + they could exist, so please back up all important files before + running it, and do so at your own risk. + +Package: libparted@LIBPKGVER@-dev +Architecture: any +Section: libdevel +Depends: libc6-dev, libparted@SHAREDLIBPKGVER@ (= ${binary:Version}) +Suggests: parted@BINPKGVER@ (= ${binary:Version}), parted-doc +Conflicts: libparted-dev, parted (<< 1.2.11) +Replaces: libparted-dev, libparted0-dev, libparted2-dev +Provides: libparted-dev +Description: The GNU Parted disk partitioning library development files + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains the Parted binary and manual page. + . + This package contains the static library and header files + for libparted, which are really only of interest to parted + developers. + . + Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and + PC98 disklabels/partition tables, as well as a 'loop' (raw + disk) type which allows use on RAID/LVM. Filesystems which + are currently fully supported are ext2, ext3, fat (FAT16 + and FAT32), ReiserFS (with libreiserfs) and linux-swap. + Parted can also detect and remove HFS (Mac OS), JFS, NTFS, + UFS (Sun and HP), XFS and ASFS/AFFS/APFS (Amiga) filesystems, + but cannot create, resize or check these filesystems yet. + . + Note that ReiserFS support is only enabled if you install + the libreiserfs0.3-0 package. Since libreiserfs0.3-0 has been + removed from sarge, ReiserFS support is not compiled in the + default package. + . + The nature of this software means that any bugs could cause + massive data loss. While there are no known bugs at the moment, + they could exist, so please back up all important files before + running it, and do so at your own risk. + +Package: libparted@LIBPKGVER@-dbg +Architecture: any +Section: libdevel +Priority: extra +Depends: libparted@SHAREDLIBPKGVER@ (= ${binary:Version}), libparted@LIBPKGVER@-dev (= ${binary:Version}) +Conflicts: libparted-dbg +Replaces: libparted-dbg +Provides: libparted-dbg +Description: The GNU Parted disk partitioning library debug development files + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains the Parted binary and manual page. + . + This package contains the debugging static library for + libparted, which are really only of interest to parted + developers who need to debug their programs. + . + The debugging libraries are installed as /usr/lib/libparted_g.a + Link specifically with them if you want to debug. + . + Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and + PC98 disklabels/partition tables, as well as a 'loop' (raw + disk) type which allows use on RAID/LVM. Filesystems which + are currently fully supported are ext2, ext3, fat (FAT16 + and FAT32), ReiserFS (with libreiserfs) and linux-swap. + Parted can also detect and remove HFS (Mac OS), JFS, NTFS, + UFS (Sun and HP), XFS and ASFS/AFFS/APFS (Amiga) filesystems, + but cannot create, resize or check these filesystems yet. + . + Note that ReiserFS support is only enabled if you install + the libreiserfs0.3-0 package. Since libreiserfs0.3-0 has been + removed from sarge, ReiserFS support is not compiled in the + default package. + . + The nature of this software means that any bugs could cause + massive data loss. While there are no known bugs at the moment, + they could exist, so please back up all important files before + running it, and do so at your own risk. + +Package: parted@BINPKGVER@-doc +Architecture: all +Section: doc +Suggests: parted@BINPKGVER@ | libparted@LIBPKGVER@-dev +Conflicts: parted1.6-doc +Replaces: parted1.6-doc +Description: The GNU Parted disk partition resizing program documentation + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains user documentation for parted (for the 'parted@BINPKGVER@' + package) and API documentation for libparted (for the + 'libparted@LIBPKGVER@' and 'libparted@LIBPKGVER@-dev' packages). --- parted-1.8.8.git.2009.06.03.orig/debian/libparted-i18n.files +++ parted-1.8.8.git.2009.06.03/debian/libparted-i18n.files @@ -0,0 +1 @@ +usr/share/locale --- parted-1.8.8.git.2009.06.03.orig/debian/libparted.files +++ parted-1.8.8.git.2009.06.03/debian/libparted.files @@ -0,0 +1 @@ +lib/libparted*.so.* --- parted-1.8.8.git.2009.06.03.orig/debian/parted.files +++ parted-1.8.8.git.2009.06.03/debian/parted.files @@ -0,0 +1,3 @@ +sbin +usr/share/man/man8/parted.8 +usr/share/man/man8/partprobe.8 --- parted-1.8.8.git.2009.06.03.orig/debian/libparted1.8-dev.files +++ parted-1.8.8.git.2009.06.03/debian/libparted1.8-dev.files @@ -0,0 +1,6 @@ +usr/lib/libparted.a +usr/lib/libparted.la +usr/lib/libparted.so +usr/lib/pkgconfig +usr/include + --- parted-1.8.8.git.2009.06.03.orig/debian/control +++ parted-1.8.8.git.2009.06.03/debian/control @@ -0,0 +1,267 @@ +Source: parted +Section: admin +Priority: optional +Maintainer: Ubuntu Core developers +XSBC-Original-Maintainer: Parted Maintainer Team +Uploaders: Sven Luther , Otavio Salvador , Bastian Blank , Xavier Oswald +Standards-Version: 3.8.1 +Vcs-Git: git://git.debian.org/git/parted/debian/parted.git +Vcs-Browser: http://git.debian.org/?p=parted/debian/parted.git +Build-Depends: + debhelper (>= 5.0.22), + dpatch, + libncurses-dev | libncurses5-dev, + libreadline5-dev | libreadline-dev, + libdevmapper-dev, + uuid-dev, + gettext, + texinfo (>= 4.2), + debianutils (>= 1.13.1), + libgeom-dev [kfreebsd-i386 kfreebsd-amd64], + po4a, + pkg-config + +Package: parted +Architecture: any +Section: admin +Depends: ${shlibs:Depends} +Suggests: parted-doc +Conflicts: fsresize, parted1.6 +Replaces: fsresize, parted1.6 +Description: The GNU Parted disk partition resizing program + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains the Parted binary and manual page. + . + Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and + PC98 disklabels/partition tables, as well as a 'loop' (raw + disk) type which allows use on RAID/LVM. Filesystems which + are currently fully supported are ext2, ext3, fat (FAT16 + and FAT32), ReiserFS (with libreiserfs) and linux-swap. + Parted can also detect and remove HFS (Mac OS), JFS, NTFS, + UFS (Sun and HP), XFS and ASFS/AFFS/APFS (Amiga) filesystems, + but cannot create, resize or check these filesystems yet. + . + Note that ReiserFS support is only enabled if you install + the libreiserfs0.3-0 package. Since libreiserfs0.3-0 has been + removed from sarge, ReiserFS support is not compiled in the + default package. + . + The nature of this software means that any bugs could cause + massive data loss. While there are no known bugs at the moment, + they could exist, so please back up all important files before + running it, and do so at your own risk. + +Package: parted-udeb +XC-Package-Type: udeb +Architecture: any +Section: debian-installer +Priority: extra +XB-Installer-Menu-Item: 99999 +Depends: ${shlibs:Depends} +Description: Manually partition a hard drive (parted) + +Package: libparted1.8-12 +Architecture: any +Section: libs +Depends: ${shlibs:Depends} +Suggests: parted | nparted, libparted1.8-dev, libparted1.8-i18n (= ${source:Version}) +Conflicts: parted (<< 1.4.13+14pre1), libparted0, libparted1, libparted2 +Replaces: libparted0, libparted1, libparted2, libparted1.4 (<< 1.4.24-2) +Provides: libparted +Description: The GNU Parted disk partitioning shared library + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains the Parted binary and manual page. + . + This package contains libparted, the required shared library + used by Parted. + . + Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and + PC98 disklabels/partition tables, as well as a 'loop' (raw + disk) type which allows use on RAID/LVM. Filesystems which + are currently fully supported are ext2, ext3, fat (FAT16 + and FAT32), ReiserFS (with libreiserfs) and linux-swap. + Parted can also detect and remove HFS (Mac OS), JFS, NTFS, + UFS (Sun and HP), XFS and ASFS/AFFS/APFS (Amiga) filesystems, + but cannot create, resize or check these filesystems yet. + . + Note that ReiserFS support is only enabled if you install + the libreiserfs0.3-0 package. Since libreiserfs0.3-0 has been + removed from sarge, ReiserFS support is not compiled in the + default package. + . + The nature of this software means that any bugs could cause + massive data loss. While there are no known bugs at the moment, + they could exist, so please back up all important files before + running it, and do so at your own risk. + +Package: libparted1.8-udeb +XC-Package-Type: udeb +Architecture: any +Section: debian-installer +Priority: extra +Depends: ${shlibs:Depends} +Description: The GNU Parted disk partitioning shared library + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains the Parted binary and manual page. + . + This package contains libparted, the required shared library + used by Parted. This is a cut-down package with no normal + documentation intended to be used in debian-installer. + . + Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and + PC98 disklabels/partition tables, as well as a 'loop' (raw + disk) type which allows use on RAID/LVM. Filesystems which + are currently fully supported are ext2, ext3, fat (FAT16 + and FAT32), ReiserFS (with libreiserfs) and linux-swap. + Parted can also detect and remove HFS (Mac OS), JFS, NTFS, + UFS (Sun and HP), XFS and ASFS/AFFS/APFS (Amiga) filesystems, + but cannot create, resize or check these filesystems yet. + . + Note that ReiserFS support is only enabled if you install + the libreiserfs0.3-0 package. Since libreiserfs0.3-0 has been + removed from sarge, ReiserFS support is not compiled in the + default package. + . + The nature of this software means that any bugs could cause + massive data loss. While there are no known bugs at the moment, + they could exist, so please back up all important files before + running it, and do so at your own risk. + +Package: libparted1.8-i18n +Architecture: all +Section: libs +Depends: libparted1.8-12 +Replaces: libparted0, libparted1, libparted2, libparted1.4 (<< 1.4.24-2), libparted1.6 (<< 1.5+1.6.0-pre3-2), libparted1.4-i18n, parted (<< 1.4.13+14pre1) +Conflicts: libparted-i18n +Provides: libparted-i18n +Description: The GNU Parted disk partitioning library i18n support + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains the Parted binary and manual page. + . + This package contains the i18n message catalogs for + libparted and parted. + . + Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and + PC98 disklabels/partition tables, as well as a 'loop' (raw + disk) type which allows use on RAID/LVM. Filesystems which + are currently fully supported are ext2, ext3, fat (FAT16 + and FAT32), ReiserFS (with libreiserfs) and linux-swap. + Parted can also detect and remove HFS (Mac OS), JFS, NTFS, + UFS (Sun and HP), XFS and ASFS/AFFS/APFS (Amiga) filesystems, + but cannot create, resize or check these filesystems yet. + . + Note that ReiserFS support is only enabled if you install + the libreiserfs0.3-0 package. Since libreiserfs0.3-0 has been + removed from sarge, ReiserFS support is not compiled in the + default package. + . + The nature of this software means that any bugs could cause + massive data loss. While there are no known bugs at the moment, + they could exist, so please back up all important files before + running it, and do so at your own risk. + +Package: libparted1.8-dev +Architecture: any +Section: libdevel +Depends: libc6-dev, libparted1.8-12 (= ${binary:Version}) +Suggests: parted (= ${binary:Version}), parted-doc +Conflicts: libparted-dev, parted (<< 1.2.11) +Replaces: libparted-dev, libparted0-dev, libparted2-dev +Provides: libparted-dev +Description: The GNU Parted disk partitioning library development files + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains the Parted binary and manual page. + . + This package contains the static library and header files + for libparted, which are really only of interest to parted + developers. + . + Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and + PC98 disklabels/partition tables, as well as a 'loop' (raw + disk) type which allows use on RAID/LVM. Filesystems which + are currently fully supported are ext2, ext3, fat (FAT16 + and FAT32), ReiserFS (with libreiserfs) and linux-swap. + Parted can also detect and remove HFS (Mac OS), JFS, NTFS, + UFS (Sun and HP), XFS and ASFS/AFFS/APFS (Amiga) filesystems, + but cannot create, resize or check these filesystems yet. + . + Note that ReiserFS support is only enabled if you install + the libreiserfs0.3-0 package. Since libreiserfs0.3-0 has been + removed from sarge, ReiserFS support is not compiled in the + default package. + . + The nature of this software means that any bugs could cause + massive data loss. While there are no known bugs at the moment, + they could exist, so please back up all important files before + running it, and do so at your own risk. + +Package: libparted1.8-dbg +Architecture: any +Section: libdevel +Priority: extra +Depends: libparted1.8-12 (= ${binary:Version}), libparted1.8-dev (= ${binary:Version}) +Conflicts: libparted-dbg +Replaces: libparted-dbg +Provides: libparted-dbg +Description: The GNU Parted disk partitioning library debug development files + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains the Parted binary and manual page. + . + This package contains the debugging static library for + libparted, which are really only of interest to parted + developers who need to debug their programs. + . + The debugging libraries are installed as /usr/lib/libparted_g.a + Link specifically with them if you want to debug. + . + Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and + PC98 disklabels/partition tables, as well as a 'loop' (raw + disk) type which allows use on RAID/LVM. Filesystems which + are currently fully supported are ext2, ext3, fat (FAT16 + and FAT32), ReiserFS (with libreiserfs) and linux-swap. + Parted can also detect and remove HFS (Mac OS), JFS, NTFS, + UFS (Sun and HP), XFS and ASFS/AFFS/APFS (Amiga) filesystems, + but cannot create, resize or check these filesystems yet. + . + Note that ReiserFS support is only enabled if you install + the libreiserfs0.3-0 package. Since libreiserfs0.3-0 has been + removed from sarge, ReiserFS support is not compiled in the + default package. + . + The nature of this software means that any bugs could cause + massive data loss. While there are no known bugs at the moment, + they could exist, so please back up all important files before + running it, and do so at your own risk. + +Package: parted-doc +Architecture: all +Section: doc +Suggests: parted | libparted1.8-dev +Conflicts: parted1.6-doc +Replaces: parted1.6-doc +Description: The GNU Parted disk partition resizing program documentation + GNU Parted is a program that allows you to create, destroy, + resize, move and copy hard disk partitions. This is useful + for creating space for new operating systems, reorganising + disk usage, and copying data to new hard disks. This package + contains user documentation for parted (for the 'parted' + package) and API documentation for libparted (for the + 'libparted1.8' and 'libparted1.8-dev' packages). --- parted-1.8.8.git.2009.06.03.orig/debian/copyright +++ parted-1.8.8.git.2009.06.03/debian/copyright @@ -0,0 +1,27 @@ +This package was debianized by Timshel Knoll on +Fri, 5 Nov 1999 18:11:28 +1100. + +It was downloaded from ftp://ftp.gnu.org/gnu/parted/ + +Upstream Authors: Andrew Clausen + Lennert Buytanhek + Matthew Wilson + +Copyright: + + Copyright (C) 1998-2007 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License v3 can be found in `/usr/share/common-licenses/GPL-3'. + + -- Otavio Salvador Mon, 24 Mar 2008 23:30:11 +0000 --- parted-1.8.8.git.2009.06.03.orig/debian/README.Debian +++ parted-1.8.8.git.2009.06.03/debian/README.Debian @@ -0,0 +1,67 @@ +GNU Parted for Debian +---------------------- + +The nature of this software means that any bugs could cause massive data loss. +While there are no known bugs at the moment, they could exist, so please back +up all important files before running it, and do so at your own risk. + +General: + * Actively maintained + * Support for CHS and LBA addressing modes + * Support for logical sector sizes not equal to 512 + * Support for device's alignment requirements (e.g. physical sector sizes that + are a multiple of the logical sector size) + * Uses SI units (byte multiples of 1000), supporting arbitrary specification + of disk locations in sectors, bytes, kilobytes, megabytes, gigabytes, + cylinders and CHS notation + * Knows about, detects and works around quirks of other partitioning tools and + operating system implementations + +Operating system support: + * GNU/Linux + * GNU/Hurd + * BeOS + * FreeBSD + +Parted currently supports: + * Intel EFI/GPT parition tables + * MS-DOS partition tables + * Raw access (useful for RAID/LVM) + * MIPS/DVH partition tables + * Amiga partition tables + * PC98 partition tabled + * Sun disk labels + * BSD disk labels (Linux-style; currently broken from a BSD view) + * Macintosh parition maps + +Filesystems currently supported: +[from the user documentation] + +Filesystem | Supported Operations + |detect |create |resize | copy | check +----------------|-------|-------|-------|-------|-------- +ext2 | * | * | *[1] | *[2] | *[3] +ext3 | * | | *[1] | *[2] | *[3] +fat16 | * | * | *[4] | *[4] | * +fat32 | * | * | * | * | * +linux-swap | * | * | * | * | * +hfs/hfs+ | * | | *[1,5]| | +jfs | * | | | | +ntfs | * | | | | +reiserfs | * | *[6] | *[1,6]| *[6] | *[3,6] +ufs | * | | | | +xfs | * | | | | + +[1] The start of the partition must stay fixed. +[2] The partition you copy to must be bigger or exactly the same size as the + partition you copy from. +[3] Limited checking is done when the file system is opened. This is the only + checking at the moment. All commands (including resize) will gracefully + fail, leaving the file system intact, if there are any errors. +[4] You can always shrink your partition. If you can't use FAT32 for some + reason, you may not be able to grow your partition due to restrictions in + cluster size. +[5] Parted can only shrink HFS and HFS+ filesystems. +[6] ReiserFS support is enabled if you install libreiserfs. + + -- Xavier Oswald Wed, 25 Apr 2007 23:31:15 +0200 --- parted-1.8.8.git.2009.06.03.orig/debian/parted-bf.manpages +++ parted-1.8.8.git.2009.06.03/debian/parted-bf.manpages @@ -0,0 +1 @@ +doc/parted.8 --- parted-1.8.8.git.2009.06.03.orig/debian/changelog +++ parted-1.8.8.git.2009.06.03/debian/changelog @@ -0,0 +1,2026 @@ +parted (1.8.8.git.2009.06.03-1ubuntu3) karmic; urgency=low + + * dmraid.dpatch: Restored (LP: #392246). Ensures that device-mapper + devices for dmraid arrays do not have extra nodes created needlessly, as + well as making sure that partition nodes for dmraid devices are not + probed. + + -- Colin Watson Fri, 24 Jul 2009 11:54:10 +0100 + +parted (1.8.8.git.2009.06.03-1ubuntu2) karmic; urgency=low + + * Actually apply patches during the build. + * baseline-symbols-update.dpatch (update): Fix to apply properly. Remove + obsolete s390 symbols. + + -- Colin Watson Thu, 25 Jun 2009 20:42:49 +0100 + +parted (1.8.8.git.2009.06.03-1ubuntu1) karmic; urgency=low + + * Resynchronise with Debian. Remaining changes: + - swap-uuid.dpatch: Create UUIDs on new swap partitions. + - gptsync.dpatch: On Intel Mac systems, write a synced MBR rather than a + protective MBR. + - Add -fno-stack-protector on sparc. + - sparc-new-label.dpatch: Fix sparc disk label generation. This is + required for LDOM and parallel installations with Solaris 10. + - loop-partitions.dpatch: Loop devices can only have one partition, so + don't generate device names such as "/dev/loop0p1". + - When building with gcc-4.3, add -Wno-array-bounds to CFLAGS. + - Cell partition tables are misdetected as pc98, so disable pc98 support + on powerpc. + - disable_o_direct.dpatch: Replace the use of O_DIRECT with calls to + fsync() at appropriate times. + - unpartitioned-disks.dpatch (update): Just return immediately from + ped_disk_commit if running on an unpartitioned disk, to avoid failures + in case we end up in _kernel_reread_part_table. + - udevadm-settle.dpatch: Run 'udevadm settle' either side of rereading + the partition table, to avoid a variety of races. + + -- Colin Watson Thu, 25 Jun 2009 16:46:53 +0100 + +parted (1.8.8.git.2009.06.03-1) unstable; urgency=low + + [ Otavio Salvador ] + * New upstream snapshot + * debian/control: add Vcs-{Git,Browser} fields + * Bump soname due the properly linkage to gnulib + * Do not install README-hacking + + -- Otavio Salvador Wed, 03 Jun 2009 21:36:33 -0300 + +parted (1.8.8.git.2009.05.23-1) experimental; urgency=low + + [ Otavio Salvador ] + * New upstream snapshot: + - Update build scripts. Closes: #525193 + - Fix FTBFS with GCC 4.4. Closes: #505346 + - Add ext4 support. Closes: #511224 + * Import packaging files + * Clean up build-depends. Closes: #482408 + * Set version as 1.8.8.1.147-f9f5-dirty + * debian/patches/parted-dmraid.dpatch: droped + * debian/patches/sparc-fix-raid.dpatch: droped + * debian/rules: do not call autotools during build + * Bump Standards-Version to 3.8.1; no changes required + * Bump library soname + * Check ABI symbols when compiling in amd64 + * Fix check-abi build target + + [ Colin Watson ] + * debian/patches/update-ext4-code.dpatch: add to improve ext4 support. + + -- Otavio Salvador Sat, 23 May 2009 20:42:05 -0300 + +parted (1.8.8.git.2008.03.24-11.1ubuntu6) jaunty; urgency=low + + * gptsync.dpatch (update): + - Treat ext4 like ext3 for the purposes of the protective MBR. + - Add "Apple Inc." as a possible Apple DMI vendor string (LP: #222126). + + -- Colin Watson Sat, 28 Mar 2009 13:02:52 +0000 + +parted (1.8.8.git.2008.03.24-11.1ubuntu5) jaunty; urgency=low + + * udevadm-settle.dpatch: Run 'udevadm settle' either side of rereading the + partition table, to avoid a variety of races (LP: #340188). + + -- Colin Watson Tue, 10 Mar 2009 21:28:11 +0000 + +parted (1.8.8.git.2008.03.24-11.1ubuntu4) jaunty; urgency=low + + * unpartitioned-disks.dpatch (update): Fix reversed logic that caused us + never to commit partitionable disk changes to the kernel (LP: #317709). + Whoops! + + -- Colin Watson Fri, 16 Jan 2009 12:43:36 +0000 + +parted (1.8.8.git.2008.03.24-11.1ubuntu3) jaunty; urgency=low + + * unpartitioned-disks.dpatch (update): Just return immediately from + ped_disk_commit if running on an unpartitioned disk, to avoid failures + in case we end up in _kernel_reread_part_table (encountered during a + Wubi installation of Ubuntu). + + -- Colin Watson Thu, 15 Jan 2009 00:47:01 +0000 + +parted (1.8.8.git.2008.03.24-11.1ubuntu2) jaunty; urgency=low + + * ext4.dpatch: Add skeletal ext4 support. + * dm-null-target.dpatch: Fix segfault in case DM_DEVICE_TABLE returns no + targets. + + -- Colin Watson Thu, 08 Jan 2009 15:00:22 +0000 + +parted (1.8.8.git.2008.03.24-11.1ubuntu1) jaunty; urgency=low + + * Resynchronise with Debian. Remaining changes: + - swap-uuid.dpatch: Create UUIDs on new swap partitions. + - gptsync.dpatch: On Intel Mac systems, write a synced MBR rather than a + protective MBR. + - Add -fno-stack-protector on sparc. + - sparc-new-label.dpatch: Fix sparc disk label generation. This is + required for LDOM and parallel installations with Solaris 10. + - loop-partitions.dpatch: Loop devices can only have one partition, so + don't generate device names such as "/dev/loop0p1". + - When building with gcc-4.3, add -Wno-array-bounds to CFLAGS. + - Cell partition tables are misdetected as pc98, so disable pc98 support + on powerpc. + - array-bounds.dpatch: Backport patch from git to allow building with + gcc-4.3. + - disable_o_direct.dpatch: Replace the use of O_DIRECT with calls to + fsync() at appropriate times. + + -- Colin Watson Tue, 23 Dec 2008 19:08:01 +0000 + +parted (1.8.8.git.2008.03.24-11.1) unstable; urgency=low + + * Non-maintainer upload. + * Preserve hidden partitions in DOS-format partition tables if they are not + explicitly replaced. Closes: #491797125 + + -- Ben Hutchings Mon, 24 Nov 2008 01:28:08 +0000 + +parted (1.8.8.git.2008.03.24-11ubuntu1) jaunty; urgency=low + + * Resynchronise with Debian. Remaining changes: + - swap-uuid.dpatch: Create UUIDs on new swap partitions. + - gptsync.dpatch: On Intel Mac systems, write a synced MBR rather than a + protective MBR. + - Add -fno-stack-protector on sparc. + - sparc-new-label.dpatch: Fix sparc disk label generation. This is + required for LDOM and parallel installations with Solaris 10. + - loop-partitions.dpatch: Loop devices can only have one partition, so + don't generate device names such as "/dev/loop0p1". + - When building with gcc-4.3, add -Wno-array-bounds to CFLAGS. + - Cell partition tables are misdetected as pc98, so disable pc98 support + on powerpc. + - array-bounds.dpatch: Backport patch from git to allow building with + gcc-4.3. + - disable_o_direct.dpatch: Replace the use of O_DIRECT with calls to + fsync() at appropriate times. + + -- Colin Watson Mon, 10 Nov 2008 01:47:11 +0000 + +parted (1.8.8.git.2008.03.24-11) unstable; urgency=low + + * Add patch to avoid using partition names for loop devices. Thanks to + Colin Watson for the patch. Closes: #502618 + + -- Otavio Salvador Wed, 22 Oct 2008 10:13:52 -0200 + +parted (1.8.8.git.2008.03.24-10) unstable; urgency=low + + * Merge from Ubuntu: debian/patches/parted-dmraid.dpatch: Patch to educate + libparted about dmraid arrays, which use device mapper. Libparted was + naming new partition nodes incorrectly, and not setting the UUIDs for + dmraid device nodes. (Closes: #497110) + + -- Giuseppe Iuculano Sat, 06 Sep 2008 15:02:11 +0200 + +parted (1.8.8.git.2008.03.24-9) unstable; urgency=low + + [ Otavio Salvador ] + * Bump package soname + + [ Guido Günther ] + * Return the correct partition names for multipath devices + * linux device-mapper map type detection (closes: #440675) + + -- Otavio Salvador Sat, 09 Aug 2008 18:51:31 -0300 + +parted (1.8.8.git.2008.03.24-8) unstable; urgency=low + + * Disable backtrace when building the udeb packages (closes: #488374). + + -- Otavio Salvador Mon, 28 Jul 2008 21:09:10 -0300 + +parted (1.8.8.git.2008.03.24-7ubuntu7) intrepid; urgency=low + + * Replace the use of O_DIRECT with calls to fsync() at appropriate times. + + -- Soren Hansen Fri, 12 Sep 2008 15:40:45 +0200 + +parted (1.8.8.git.2008.03.24-7ubuntu6) intrepid; urgency=low + + * debian/patches/parted-dmraid.dpatch: Removed some hunks that somehow + made their way into the patch when I was editing it at some point. + these hunks reverted functionality from unpartitioned-disks.dpatch. + We don't want that. + + -- Luke Yelavich Wed, 10 Sep 2008 16:18:33 +1000 + +parted (1.8.8.git.2008.03.24-7ubuntu5) intrepid; urgency=low + + * debian/patches/parted-dmraid.dpatch: + - Simplify code in _is_dmraid_device, as it was needlessly complex. + - Add _is_dmraid_major function to check whether a dmraid evice node + is for a partition, or the master node of the array. This results + in only the master dmraid device node being probed. + + -- Luke Yelavich Tue, 19 Aug 2008 11:56:04 +1000 + +parted (1.8.8.git.2008.03.24-7ubuntu4) intrepid; urgency=low + + * debian/rules: Remove leftovers from a debugging session when + adding dmraid code. + + -- Luke Yelavich Sat, 16 Aug 2008 21:41:40 +1000 + +parted (1.8.8.git.2008.03.24-7ubuntu3) intrepid; urgency=low + + * debian/patches/parted-dmraid.dpatch: Patch to educate libparted about + dmraid arrays, which use device mapper. Libparted was naming new partition + nodes incorrectly, and not setting the UUIDs for dmraid device nodes. + + -- Luke Yelavich Thu, 14 Aug 2008 10:52:22 +1000 + +parted (1.8.8.git.2008.03.24-7ubuntu2) intrepid; urgency=low + + * unpartitioned-disks.dpatch (update): Don't tell device-mapper to create + partitions on unpartitionable disks. + + -- Colin Watson Thu, 10 Jul 2008 16:21:07 +0100 + +parted (1.8.8.git.2008.03.24-7ubuntu1) intrepid; urgency=low + + * Resynchronise with Debian (LP: #237568). Remaining changes: + - swap-uuid.dpatch: Create UUIDs on new swap partitions. + - gptsync.dpatch: On Intel Mac systems, write a synced MBR rather than a + protective MBR. + - Add -fno-stack-protector on sparc. + - sparc-new-label.dpatch: Fix sparc disk label generation. This is + required for LDOM and parallel installations with Solaris 10. + - loop-partitions.dpatch: Loop devices can only have one partition, so + don't generate device names such as "/dev/loop0p1". + - unpartitioned-disks.dpatch: Don't try to call BLKPG ioctls on + unpartitionable disks (only implemented for loop devices at the + moment), as they will always fail. + - When building with gcc-4.3, add -Wno-array-bounds to CFLAGS. + - Cell partition tables are misdetected as pc98, so disable pc98 support + on powerpc. + - array-bounds.dpatch: Backport patch from git to allow building with + gcc-4.3. + + -- Colin Watson Tue, 24 Jun 2008 14:31:05 +0100 + +parted (1.8.8.git.2008.03.24-7) unstable; urgency=low + + * Upload to unstable + + -- Otavio Salvador Sat, 21 Jun 2008 15:58:02 -0300 + +parted (1.8.8.git.2008.03.24-6) experimental; urgency=low + + [ Otavio Salvador ] + * Give the parted udeb a menu item number. This allows it to be + selected manually in anna. Update the udeb description for + consistency and remove the long description to save space. Thanks to + Frans Pop (closes: #466826). + + [ Jim Meyering ] + * test for improved DOS-partition-table recognition + + [ Colin Watson ] + * bug fix: improve DOS partition table recognition + + [ Jim Meyering ] + * avoid const-related compiler warnings + + -- Otavio Salvador Tue, 03 Jun 2008 19:25:27 -0300 + +parted (1.8.8.git.2008.03.24-5) experimental; urgency=low + + * Disable LVM support for dasd labels + + -- Otavio Salvador Tue, 27 May 2008 21:52:48 -0300 + +parted (1.8.8.git.2008.03.24-4) experimental; urgency=low + + [ Otavio Salvador ] + * properly test for __s390__ and __s390x__ macros to disable O_DIRECT + on that + + [ Matt Davis ] + * Corrected a few memory leaks from unallocated ped_unit_format calls. + * Corrected memory leak when displaying partition flags. + * Corrected a small memory leak when displaying partition information + + [ Otavio Salvador ] + * do not loop in case message exception has no message + * fix memory leak in exception handler + * Ensure that autoreconf uses aclocal 1.0 + + -- Otavio Salvador Tue, 06 May 2008 14:35:08 -0300 + +parted (1.8.8.git.2008.03.24-3) experimental; urgency=low + + [ Otavio Salvador ] + * Bump version to 1.8.9 since it broke ABI interface + * Ensure that autoreconf uses automake 1.10 + * Add debian/libparted-i18n.files and debian/libparted-dev.files + removed by mistake + * Change soname and dependency requirements due ABI change + + [ Robert Millan ] + * Add support for GRUB / BIOS partition in GPT. + + -- Otavio Salvador Sat, 12 Apr 2008 16:18:46 -0300 + +parted (1.8.8.git.2008.03.24-2) experimental; urgency=low + + [ Bastian Blank ] + * Fix syntax error. + * Use host_cpu for s390 check. + + [ Jim Meyering ] + * Fix a typo: s/to defragmenting/to defragment/, Remove trailing + blanks. + * Don't write into line[-1] when line starts with a NUL byte. + + -- Otavio Salvador Wed, 09 Apr 2008 19:12:54 -0300 + +parted (1.8.8.git.2008.03.24-1) experimental; urgency=low + + [ Cyril Brulebois ] + * debian/rules: + - add “-fgnu89-inline” to “CFLAGS” and “UDEB_CFLAGS” to fix FTBFS + (Closes: #442308). + * debian/control.in: + - make the packages binNMU-safe by using binary:Version and + source:Version instead of Source-Version. + + [ Otavio Salvador ] + * Really duplicate disks instead of readd each partition so it preserves + the ordering and like (Closes: #294520). + * Point to GPL-3 instead of including it since it is now available. + * Package Patches: + - lvm2.dpatch: droped, equivalent code merged upstream; + + -- Otavio Salvador Mon, 24 Mar 2008 20:37:45 -0300 + +parted (1.8.7.git.2007.07.30-1) experimental; urgency=low + + * New upstream release. + + [ Xavier Oswald ] + * debian/README.Debian updated + * debian/parted-doc.docs updated + + [ Otavio Salvador ] + * Package Patches: + - doc-package.dpatch: redone from scratch; + - s390.dpatch: dropped, equivalent code merged upstream; + - parted-print-name.dpatch: likewise. + - errors-to-stderr.dpatch: likewise. + - devfs.dpatch: rediff. + - sparc-fix-raid.dpatch: likewise. + - lvm2.dpatch: readd the missing parts for the LVM partitions + probing; + * debian/rules: + - configure called with --enable-device-mapper to include + device-mapper support in; + - build gnulib when building udeb and debugging packages otherwise + they'd fail; + - change soname version; + * debian/control: + - add libdevmapper-dev as build-dependency; + - add pkg-config as build-dependency; + - cleanup udeb dependencies. Thanks to Frans Pop + by the patch; (Closes: #419609) + * debian/watch: use the GNU ftp since the HTTP address was giving + timeout; + * debian/libparted-dev.files: stop to provide parted.m4 but provides + pkgconfig, instead; + * debian/parted-doc.docs: drop COPYING; + * debian/copyright: updated since parted is now licensed on GPL3; + * debian/rules: change package names to follow soname; + + -- Otavio Salvador Mon, 30 Jul 2007 20:49:10 -0300 + +parted (1.8.1~git1-1) experimental; urgency=low + + * New git snapshot + * doc-package.dpatch: removed hunk that was merge upstream; + * debian/copyright: update FSF address; + * debian/control.in, debian/rules: bump automake requirement to 1.10; + * debian/patches/00list: disabled kfreebsd support by now; + + -- Otavio Salvador Mon, 27 Nov 2006 11:35:20 -0200 + +parted (1.8.0~rc3-1) experimental; urgency=low + + * New upstream release. + + [ Otavio Salvador ] + * doc-package.dpatch: fixed file paths; + * devfs.dpatch: minor change to make it apply again since linux.c had + its #includes massively changed; + * lvm2.dpatch: removed since upstream version now has device-manager + support natively; + * s390.dpatch: removed since upstream version now has device-manager + support natively; + * parted.files: we're not installing pt_BR manpage anymore since it + needs to be updated to new translation systems that is being use in + Parted now; + + [ Xavier Oswald ] + * add po4a as build-dependancy. + * Adding myself as comaintainer of the package. + * policy 3.7.2 + + -- Sven Luther Wed, 1 Nov 2006 19:27:46 +0100 + +parted (1.7.1-5.1ubuntu11) intrepid; urgency=low + + * array-bounds.dpatch: Backport patch from git to allow building with + gcc-4.3 (closes: #474822, LP: #185882). + + -- Colin Watson Thu, 29 May 2008 21:14:14 +0100 + +parted (1.7.1-5.1ubuntu10) intrepid; urgency=low + + * fat-partition-table.dpatch: Instead of checking for FAT file system + signatures (which has false positives), check whether the boot indicator + on each partition is 0 or 0x80 (LP: #232175). This matches the behaviour + of both the Linux kernel and fdisk. + + -- Colin Watson Thu, 29 May 2008 12:09:09 +0100 + +parted (1.7.1-5.1ubuntu9) hardy; urgency=low + + * gptsync.dpatch: Only write a synced legacy MBR on Apple systems; + otherwise, write a protective MBR per the EFI standard (LP: #107326). + This behaviour may be overridden by setting the environment variable + PARTED_GPT_APPLE to 1 (always write synced legacy MBR) or 0 (always + write protective MBR). + + -- Colin Watson Sun, 30 Mar 2008 21:35:47 +0100 + +parted (1.7.1-5.1ubuntu8) gutsy; urgency=low + + * Cell partition tables are misdetected as pc98, so disable pc98 support + on powerpc. + + -- Colin Watson Wed, 26 Sep 2007 12:52:08 +0100 + +parted (1.7.1-5.1ubuntu7) gutsy; urgency=low + + * When building with gcc-4.3, add -Wno-array-bounds to CFLAGS. + LP: #138638. + * debian/control*: Update maintainer address. + + -- Matthias Klose Sat, 15 Sep 2007 08:45:15 +0000 + +parted (1.7.1-5.1ubuntu6) gutsy; urgency=low + + * unpartitioned-disks.dpatch: Don't try to call BLKPG ioctls on + unpartitionable disks (only implemented for loop devices at the moment), + as they will always fail. + + -- Colin Watson Fri, 07 Sep 2007 12:08:04 +0100 + +parted (1.7.1-5.1ubuntu5) gutsy; urgency=low + + * Fix up lvm2.dpatch to apply again. + + -- Colin Watson Mon, 20 Aug 2007 16:35:00 +0100 + +parted (1.7.1-5.1ubuntu4) gutsy; urgency=low + + * loop-partitions.dpatch: Rearrange test order so that this actually + works. + + -- Colin Watson Mon, 20 Aug 2007 15:31:02 +0100 + +parted (1.7.1-5.1ubuntu3) gutsy; urgency=low + + * loop-partitions.dpatch: Loop devices can only have one partition, so + don't generate device names such as "/dev/loop0p1". + + -- Colin Watson Mon, 30 Jul 2007 12:24:48 +0100 + +parted (1.7.1-5.1ubuntu2) gutsy; urgency=low + + * Fix sparc disk label generation. This is required for LDOM + and parallel installations with Solaris 10. + Add patch: sparc-new-label + + Many thanks to David S. Miller for the patch. + + -- Fabio M. Di Nitto Mon, 02 Jul 2007 07:55:46 +0200 + +parted (1.7.1-5.1ubuntu1) gutsy; urgency=low + + * Merge from debian unstable, remaining changes: + - set Maintainer to ubuntu + - swap-uuid: create UUIDs on new swap partitions + - hfs-endian: support for resizing little endian HFS+ + - gptsync.dpatch: automatic GPT/MBR partition table synchronisation + - add -fno-stack-protector on sparc + + -- Michael Vogt Mon, 14 May 2007 11:39:42 +0200 + +parted (1.7.1-5.1) unstable; urgency=high + + * Non-maintainer upload. + * High-urgency upload for RC bugfix. + * Patch to ensure changes to RAID/LVM flags on mac partitions are + saved and reloaded correctly, so that debian-installer can use RAID for + install on mac powerpcs; thanks to David Härdeman for the patch. + Closes: #413184. + + -- Steve Langasek Tue, 6 Mar 2007 00:51:09 -0800 + +parted (1.7.1-5) unstable; urgency=low + + * ntfs-align.dpatch: Disabled. We found regressions on it. + + -- Otavio Salvador Mon, 22 Jan 2007 08:44:06 -0200 + +parted (1.7.1-4) unstable; urgency=low + + * ntfs-align.dpatch: Fix align issue with new NTFS release (used by + Windows Vista). Thanks to David Cantrell by + working on the patch for it. Closes: #380226 + + -- Otavio Salvador Fri, 19 Jan 2007 17:21:26 -0200 + +parted (1.7.1-3ubuntu4) feisty; urgency=low + + * gptsync.dpatch: Fix = vs. == typo. + + -- Colin Watson Wed, 7 Mar 2007 16:29:14 +0000 + +parted (1.7.1-3ubuntu3) feisty; urgency=low + + [ Matthew Garrett ] + * gptsync.dpatch: Perform automatic GPT/MBR partition table + synchronisation (LP: #46853). + + [ Colin Watson ] + * Set Maintainer to ubuntu-devel-discuss, not ubuntu-devel. + + -- Colin Watson Wed, 7 Mar 2007 12:50:09 +0000 + +parted (1.7.1-3ubuntu2) feisty; urgency=low + + * hfs-endian.dpatch: Add support for resizing little endian HFS+ journals + (thanks, Matthew Garrett; LP: #84764). + * Set Maintainer to ubuntu-devel. + + -- Colin Watson Wed, 28 Feb 2007 15:46:59 +0000 + +parted (1.7.1-3ubuntu1) feisty; urgency=low + + * Merge from debian unstable. + + -- Fabio M. Di Nitto Tue, 14 Nov 2006 16:03:43 -0800 + +parted (1.7.1-3) unstable; urgency=low + + * parted-print-name.dpatch : Fix bug in parted print, when there are no + extended partitions, but partition names. + * disabled parted part of kfreebsd-gnu.dpatch, since the patch caused + parted to have trouble in a d-i environment to print the partition table, + thus causing tools relying on parted -s print to find information about + the partition table to break, like the one checking for RAID partitions + in d-i. (Closes: #392767) + + -- Sven Luther Tue, 7 Nov 2006 17:45:28 +0100 + +parted (1.7.1-2.1ubuntu3) edgy; urgency=low + + * Disable stack protector on sparc. It doesn't work otherwise. + + -- Fabio M. Di Nitto Mon, 18 Sep 2006 13:15:18 +0200 + +parted (1.7.1-2.1ubuntu2) edgy; urgency=low + + * kfreebsd-gnu.dpatch: Fix memory corruption in table_render_row. + + -- Colin Watson Mon, 11 Sep 2006 12:19:35 +0100 + +parted (1.7.1-2.1ubuntu1) edgy; urgency=low + + * swap-uuid.dpatch: Create UUIDs on new swap partitions. + + -- Colin Watson Thu, 31 Aug 2006 10:04:49 +0100 + +parted (1.7.1-2.1) unstable; urgency=low + + * Non-maintainer upload. + * gpt.dpatch: Put the alternative GPT partition table one sector further + out, to avoid having it overlap with the last sector of one partition. + (Closes: #349718) + + -- Steinar H. Gunderson Wed, 5 Jul 2006 21:13:07 +0200 + + +parted (1.7.1-2) unstable; urgency=low + + [ Bastian Blank ] + * Fix s390 patch to not intend to use ibm disklabels on FBA. (Closes: #369580) + + [ Otavio Salvador ] + * Ack NMU. (Closes: #369491) + * Add Bastian Blank as uploader. + * Add libparted changelog in libparted1.7-1 and libparted1.7-dev + packages. (Closes: #369780) + * Apply patch from David Härdeman to improve lvm + support to include all kind of device-mapper devices. (Closes: #367965) + * Fix s390 patch to apply again after lvm support improvement. + + -- Otavio Salvador Fri, 2 Jun 2006 11:17:12 -0300 + +parted (1.7.1-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix abi check. + + -- Bastian Blank Tue, 30 May 2006 17:00:54 +0200 + +parted (1.7.1-1) unstable; urgency=low + + * New upstream release. + - change soname version due a ABI change; + - update minor dependency requirement due ABI change; + * Update the baseline symbols to allow us to detect ABI changes. + * Enable ABI checking in build process (just in i386). + * Add cvs as build-dependency. (Closes: #368363). + + -- Otavio Salvador Mon, 29 May 2006 10:16:06 -0300 + +parted (1.7.0-1) unstable; urgency=low + + [ This version has some changes regarting to API and ABI so you'll + probably need to check your code if you link anything against it. ] + + * New upstream release. + - doc-package.dpatch: rediff since some parts was applied upstream + by me; + - reiserfs-libname.dpatch: rediff 'cause of files reorganization; + - devfs.dpatch: likewise; + - lvm2.dpatch: likewise; + - s390.dpatch: likewise; + - sparc-fix-raid: likewise; + - fix_rescue_segfault.dpatch: dropped since it was backport from + upstream; + - remove FAQ from parted-doc since upstream do not suply it + anymore. + * Use ABI brokeness detection code; + + -- Otavio Salvador Sat, 20 May 2006 00:32:36 -0300 + +parted (1.6.25.1-3) unstable; urgency=low + + * Apply patch to include kFreeBSD support. Thanks to Robert Millan + (Closes: #363381) + * Apply patch to use debhelper support for shlibs in udebs. Thanks to + Frans Pop (Closes: #360213) + * Apply patch to fix RAID usage in SPARC. Thanks to Fabio Di Nitto + (Closes: #355467) + + -- Otavio Salvador Thu, 20 Apr 2006 17:45:22 -0300 + +parted (1.6.25.1-2) unstable; urgency=medium + + [ Otavio Salvador ] + * New s390 patch. Urgency set to medium to try to hit testing in time to + release s390 in D-I Beta2 timeframe (Closes: #328992); + * Set capabitility level of debhelper to 4; + + -- Otavio Salvador Mon, 6 Feb 2006 21:37:10 -0200 + +parted (1.6.25.1-1) unstable; urgency=low + + [ Otavio Salvador ] + * New upstream release: + - sync_r388.dpatch: drop since is unneeded + * Really change libreadline dependency (Closes: #333957) + * Change DEPVER to 1.6.24 to force the right version number as + dependencie and to avoid ABI mistake (Closes: #322262) + * fix_rescue_segfault.dpatch: added. Backported from current development + version to avoid a segfault in some uses of rescue command. + + -- Otavio Salvador Thu, 17 Nov 2005 13:31:38 -0200 + +parted (1.6.24-4) unstable; urgency=low + + *** This version doesn't apply s390 support by default *** + + [ Otavio Salvador ] + * ubd.dpatch: update to new source code. + * Drop merged upstream patches: + - parted.8.dpatch + - id.po.dpatch + - es.po.dpatch + - sparc.dpatch + - gcc_warnings_fix.dpatch + - ubd.dpatch + - udev-devfs-rules.dpatch + * sync_r388.dpatch: add to include current upstream fixes. + * s390.dpatch: Resync with current upstream code. + * *Disable* s390.dpatch by default. It has some strange things that need + to be cleared. + + [ Bastian Blank ] + * s390.dpatch: Update to apply again. + + -- Otavio Salvador Mon, 10 Oct 2005 16:40:00 -0300 + +parted (1.6.24-3) unstable; urgency=high + + [ Otavio Salvador ] + * Applied patch from A. Costa to update README.Debian + about hfs support + * parted.8.dpatch: manpage patch from A. Costa + * id.po.dpatch: include Indonesian language + * es.po.dpatch: update Spanish language translation + * sparc.dpatch: recognize partitions on sun disklabel (Closes: #328694) + + -- Otavio Salvador Fri, 9 Sep 2005 10:49:35 -0300 + +parted (1.6.24-2) unstable; urgency=medium + + [ Otavio Salvador ] + * Bumb Standards-Version to 3.6.2 (no changes need) + * Update debian/watch to version 3 standard + * Change the build-dependency to libreadline5-dev | libreadline-dev to + allow the libreadline4-dev removal from archive ASAP. (Closes: #326309) + * Urgency set to medium since it hasn't code changes. + + -- Otavio Salvador Sat, 3 Sep 2005 12:57:49 -0300 + +parted (1.6.24-1) unstable; urgency=low + + [ Sven Luther ] + * New Upstream release. + + [ Otavio Salvador ] + * Applied my patch to solve building using Sarge's toolchain. (Closes: #321212) + * Patch included upstream to fix some small typos on German translation + (Jens Seidel ). (Closes: #313948) + * Really include udev-devfs-rules.dpatch but already on the updated + version (Colin Watson ). (Closes: #311664) + * Patch included upstream to update documentation for HFS and HFS+ + current status (Nikolaus Schulz ). (Closes: #298020) + * Applied patch to fix FTBFS on Hurd (Michael Banck + ). (Closes: #297580) + * gcc_warnings_fix.dpatch: Created to fix current warnings while + building using GCC 4.0. + * Change library soname to 13. + * Add myself on uploaders field. + + -- Otavio Salvador Sun, 21 Aug 2005 15:56:50 -0300 + +parted (1.6.23-3) unstable; urgency=low + + * Oh well, built -2 in a broken chroot, fixed now. + * Notice, i wwish to remember all readers that i have put out a request for + help for this package, and altough people replied, no long standing help + happened. As i am going to also need to take more upstream + responsabilities, i definitively want to recall for help on parted + packaging, especially for arches i am not so good with (and yes, this + includes x86 :). For the ubuntu guys, next time you make a patch, you are + welcome to do it in the parted subversion repository on alioth, and upload + both packages if i don't comment for a longer time like i did in June. + + -- Sven Luther Sun, 17 Jul 2005 07:33:11 +0200 + +parted (1.6.23-2) unstable; urgency=low + + * The following patches where taken from the ubuntu parted package : + - Fix gcc4 warning in lvm2 patch (Matthias Klose ) + - udev-devfs-rules.dpatch: Check for devfs-style /disc => /partN + transformation unconditionally; the system might be using udev with + devfs rules, and if not the test is harmless. + (Colin Watson ) + + -- Sven Luther Sat, 16 Jul 2005 22:15:46 +0000 + +parted (1.6.23-1) unstable; urgency=low + + * New upstream release (1.6.23) + - PedUnit: support for different units for sizes and offsets. + - Error message/UI cleanup. + - More CHS cleanup. + - Check /sys before trying deprecated SCSI_IOCTL_SEND_COMMAND. + - Better Apple_Free partition support. + - Allow resizing of extended partitions, even if some logical partitions + are mounted + - Various DVH changes. + - mac RAID and LVM support. + * New upstream release (1.6.22) + - hfs and hfs+ shrinking support merged in upstream. + - gcc4 fixes. + - minor UI and documentation changes/fixes. + - support lvm on mac partition tables. + * Backed out again the size column addition, was a patch from Jari Aalto + with regard to Bug #109613, but a new patch will + hopefully make it to 1.6.24. + * Unbashized dpatches (Closes: #298017) + * Fixed amiga partition tables to use RAID/LVM partition types instead of + subverting flags for it. + * Removed the s390 patch, which needs a full review with regard to the + PedUnit stuff i believe. In particular with regard to the sector size + support. Please try to get this one integrated upstream, as it is the last + problematic big debian-specific patch remaining. + + -- Sven Luther Mon, 11 Jul 2005 12:41:06 +0200 + +parted (1.6.21-1) unstable; urgency=low + + * Unstable build, as we will be moving 1.6.21 into sarge after all. + * Readded bunch of missing fixes from the sarge/sid branch : + - Dropped libreiserfs support. + - Now build depends on libreadline4-dev | libreadline-dev, to work around + the bogus libreadline5 upload during the sarge freeze. (Bug: #279574) + - Drop any udeb magic, fixing .udeb dependency generation (Bastian Blank). + (Bug: #270133) + - Added mention of HFS and HFS+ resize feature in manpage. (Bug: #275650) + + -- Sven Luther Sun, 30 Jan 2005 19:07:42 +0100 + +parted (1.6.21-0.exp.2) experimental; urgency=low + + * Dropped ubd patch, since it may be superceded by another fix in 1.6.21 : + - Sets the type to PED_DEVICE_UNKNOWN on block devices that don't fall + into the standard categories. This makes libparted correctly update + the kernel's view of partition tables, etc. + * Added comments about upstream status to all .dpatches. + * Dropped parted-bf, we no longer build this package in the sarge/sid version. + * Changed libparted1.6-udeb to provide libparted1.6-12. (Bug: #292781) + + -- Sven Luther Sun, 30 Jan 2005 18:47:10 +0100 + +parted (1.6.21-0.exp.1) experimental; urgency=low + + * New upstream release. + - renamed prep-boot PReP boot partition name to prep. + - Fixed PED_SWAP macros missing, obsoleting amiga-64bit dpatch. + - Fixed sun cylinder recording stuff, obsoleting sun_disklabel dpatch. + - Removed bogus assertion, obsoleting no-clobber dpatch. + - Only treat the device as devfs if it has /disc on the end. + - Now use _partition_is_mounted_by_dev instead of guessing the partition + device name. + - Sets the type to PED_DEVICE_UNKNOWN on block devices that don't fall + into the standard categories. This makes libparted correctly update + the kernel's view of partition tables, etc. + - Improved heuristic for finding broken dos partition tables: test if + any feasible solution geometry exists against the end cylinder rather + than 1024. This heuristic now has fewer false negatives and no false + positives. + + -- Sven Luther Sat, 29 Jan 2005 17:06:56 +0100 + +parted (1.6.20-0.exp.2) experimental; urgency=low + + * Fixed 64bit FTBFS in disk_amiga.c introduced by Andrew's cosmetic changes. + (Closes: #286462) + + -- Sven Luther Tue, 4 Jan 2005 22:52:18 +0100 + +parted (1.6.20-0.exp.1) experimental; urgency=low + + * New upstream release : + - now includes assorted debian patches, like the amiga partition table + support and the Smart BootManager stuff. + - dvh: zero out the boot file name record before writing the name in. + - only attempt to check file systems if checking is implemented for + that file system type. + - when correcting the boot sector, use fat_boot_sector_write() to make + sure the backup copy gets written (if applicable). + + -- Sven Luther Sat, 18 Dec 2004 19:26:17 +0100 + +parted (1.6.19-0.exp.3) experimental; urgency=low + + * Enabled MS-DOS disk label detection when Smart BootManager patch which was + forgotten previously :/ + + -- Sven Luther Tue, 14 Dec 2004 14:13:37 +0100 + +parted (1.6.19-0.exp.2) experimental; urgency=low + + * Re-enabled hfs patch, since i got a new version from Guillaume Knispel. + + -- Sven Luther Fri, 3 Dec 2004 18:45:16 +0100 + +parted (1.6.19-0.exp.1) experimental; urgency=low + + * New upstream release : + - refuses to resize Windows Dynamic Disk partitions. + - allows reparation of damaged FAT file systems with "check". + - assorted smaller changes. + + -- Sven Luther Sun, 28 Nov 2004 11:41:39 +0100 + +parted (1.6.18-0.exp.1) experimental; urgency=low + + * New upstream release : + - More dos CHS geometry fixes. + - Now knows about the new sun-ufs partition ID (0xbf). + - Longer than 32bit GPT partition fix. + - removed bogus (int) casts, may fix large partition table problem, see + Bug #279732. + * Legacy amiga hardware compatibility fixes : + - non-full blocks should be padded by 0x00 and not 0xff. + - builtin filesystem driver pointer offset was off by one, thus + causing libparted to overwrite them if partitions are added. + * Added RAID & LVM flag for partitions on amiga partition tables. + * Readded missing 1.6.9-3.2 fixes : + - MS-DOS disk label detection when Smart BootManager is installed fix by + Matt Kraai (Bug #259248). + - Recognize UML UBD devices by Matt Zimmerman (Bug #258188). + * Added PREP flag for MBR partition tables. (Bug #245451) + * Dropped hfs resize patch for now, as it doesn't apply cleanly to 1.6.18. + + -- Sven Luther Sat, 27 Nov 2004 11:57:51 +0100 + +parted (1.6.14-0.exp.2) experimental; urgency=low + + * Added new hfs patch. + + -- Sven Luther Wed, 8 Sep 2004 07:55:18 +0200 + +parted (1.6.14-0.exp.1) experimental; urgency=low + + * New upstream release. + + -- Sven Luther Mon, 6 Sep 2004 15:28:59 +0200 + +parted (1.6.12-0.exp.1) experimental; urgency=low + + * New upstream release. (Closes: #254502) + - should fix 2.6 kernel BIOS CHS geometry problems. Broke binary + compatibility though, thus the soname change. + * Substituted some inaccurate terms in the doc (Fabio Tranchitella). + (Closes: #211746) + * Update s390 patch (Bastian Blank). + * Always regenerate autoconf/automake files (Bastian Blank). + * Dropped dvh patch, since a cleaner version is now upstream (Sven Luther). + * New updated hfs-resize patch (Guillaume Knispel) + + * Thanks to Fabio Tranchitella, Bastian Blank, Guillaume Knispel and + Peter Samuelson who made this release possible. + + -- Sven Luther Thu, 2 Sep 2004 09:41:29 +0200 + +parted (1.6.11-9) unstable; urgency=low + + * Applied large-partitions patch to show correct partition data. Thanks + go to Peter Chubb for providing the patch. + (Closes: #279732) + + -- Sven Luther Thu, 25 Nov 2004 14:32:36 +0100 + +parted (1.6.11-8) unstable; urgency=low + + * Now build depends on libreadline4-dev | libreadline-dev, to work around + the bogus libreadline5 upload during the sarge freeze. (Closes: #279574) + + -- Sven Luther Thu, 4 Nov 2004 14:42:11 +0100 + +parted (1.6.11-7) unstable; urgency=low + + * Added LVM flag for partitions on amiga partition tables. + * Added PREP flag for MBR partition tables. (Closes: #245451) + * Added mention of HFS and HFS+ resize feature in manpage. + (Closes: #275650) + * Dropped libreiserfs0.3-0 recommend, as it is no more part of sarge. + (Closes: #276887) + * Really readded missing 1.6.9-3.2 fixes : + - MS-DOS disk label detection when Smart BootManager is installed fix by + Matt Kraai (Bug #259248). + + -- Sven Luther Mon, 1 Nov 2004 12:03:25 +0100 + +parted (1.6.11-6) unstable; urgency=low + + * Really apply the chs patch this time. + * Rewrote description and README.Debian to take care of removed reiserfs + support as well as added amiga filesystem probing support. + (Closes: #273751) + + -- Sven Luther Tue, 28 Sep 2004 06:11:58 +0200 + +parted (1.6.11-5) unstable; urgency=low + + * Added RAID flag to amiga partition tables. + * Removed libreiserfs support, since progreiserfs will be kicked from sarge + (Closes: #272783). + + -- Sven Luther Sat, 25 Sep 2004 00:32:15 +0200 + +parted (1.6.11-4) unstable; urgency=low + + * Legacy amiga hardware compatibility fixes : + - non-full blocks should be padded by 0x00 and not 0xff. + - builtin filesystem driver pointer offset was off by one, thus causing + libparted to overwrite them if partitions are added. + * Readded missing 1.6.9-3.2 fixes : + - MS-DOS disk label detection when Smart BootManager is installed fix by + Matt Kraai (Bug #259248). + - Recognize UML UBD devices by Matt Zimmerman (Bug #258188). + - gcc 3.4 build fixes by Andreas Jochens (Bug #259534). + * Dropped last remains of the parted-bf package. + + -- Sven Luther Fri, 17 Sep 2004 10:51:34 +0200 + +parted (1.6.11-3) unstable; urgency=low + + * Drop any udeb magic, fixing .udeb dependency generation (Bastian Blank). + (Closes: #270133) + * Moved the maintainer address to the parted-maintainers alioth list. + + -- Sven Luther Mon, 6 Sep 2004 14:13:12 +0200 + +parted (1.6.11-2) unstable; urgency=low + + * Should have gone into unstable, not experimental :/ + + -- Sven Luther Fri, 3 Sep 2004 19:27:47 +0200 + +parted (1.6.11-1) experimental; urgency=low + + * New upstream release. (Closes: #254502) + - should fix 2.6 kernel BIOS CHS geometry problems. Broke binary + compatibility though, thus the soname change. + * Substituted some inaccurate terms in the doc (Fabio Tranchitella). + (Closes: #211746) + * Update s390 patch (Bastian Blank). + * Always regenerate autoconf/automake files (Bastian Blank). + * New updated hfs-resize patch (Guillaume Knispel) + * Added backported CHS BIOS geometry fix. + - libparted/disk_dos.c (read_table, process_bad_chs): now probes + Microsoft file systems for BIOS CHS geometry. This idea was + suggested by Steffen Winterfeldt . + + * Thanks to Fabio Tranchitella, Bastian Blank, Guillaume Knispel and + Peter Samuelson who made this release possible. + + -- Sven Luther Thu, 2 Sep 2004 09:41:29 +0200 + +parted (1.6.9-3.2) unstable; urgency=low + + * Non-maintainer upload with maintainer approval. + * Detect a MS-DOS disk label when Smart BootManager is installed + (closes: #259248). + * Fix build failure, thanks to Andreas Jochens (closes: #259534). + * Recognize UML UBD devices, thanks to Matt Zimmerman (closes: #258188). + + -- Matt Kraai Sun, 08 Aug 2004 11:00:32 -0700 + +parted (1.6.9-3.1) unstable; urgency=low + + * Non-maintainer upload with permission of the maintainer. + * Add patch to write a proper DVH header. Thanks to Thiemo Seufer. + (Closes: #239371) + + -- Martin Michlmayr Sun, 20 Jun 2004 14:10:44 +0100 + +parted (1.6.9-3) unstable; urgency=low + + * Non-maintainer upload with permission of the maintainer. + * Add patch to find LVM2 devices by looking in /dev/mapper. Thanks + to Andres Salomon. (Closes: #247174) + + -- Martin Michlmayr Sun, 09 May 2004 00:23:33 +0100 + +parted (1.6.9-2) unstable; urgency=low + + * Add devfs partition detection patch for 2.6 kernels, thanks to + Joey Hess . (Closes: #243635) + * Added a more complete s390 sector size patch by Lucius Leland + . (Closes: #243554) + + -- Sven Luther Wed, 14 Apr 2004 10:27:58 +0200 + +parted (1.6.9-1) unstable; urgency=low + + * New upstream release, gcc-33, linux-kernel-header, m68k-padding, palo and + parted-m4 are now included upstream. + * Really apply sun disk label patch. + + -- Sven Luther Wed, 14 Apr 2004 09:14:21 +0200 + +parted (1.6.6-11) unstable; urgency=low + + * Fixed broken sun disk label reading. Thanks to Peter Samuelson for testing + and providing the patch. (Closes: #238091) + * libparted-udeb not provides libparted1.6-0 too. (Closes: #239334) + + -- Sven Luther Mon, 29 Mar 2004 14:50:31 +0200 + +parted (1.6.6-10) unstable; urgency=low + + * Added patch by Bastian Blank to take sector size in account on hardware + needing bigger than 512 byte. (Closes: #236325) + + -- Sven Luther Thu, 18 Mar 2004 14:18:58 +0100 + +parted (1.6.6-9) unstable; urgency=low + + * debian/control.in: Added dpatch Build-Dependancy, debian/control is + generated from this file, which is why this build-dep kept being deleted. + (closes: #232570) + * Created new errors-to-stderr patch to print exceptions to stderr when in + script mode (closes: #196040) + + -- Timshel Knoll-Miller Tue, 24 Feb 2004 10:54:11 +1100 + +parted (1.6.6-8) unstable; urgency=low + + * Added read-gpt-1.02 patch to allow reading GPT header revision 1.02 + (closes: #210584) + * Added minor documenation fix to doc-package patch + (closes: #211747) + + -- Timshel Knoll-Miller Wed, 11 Feb 2004 18:08:14 +1100 + +parted (1.6.6-7) unstable; urgency=low + + * Added palo patch needed on parisc, thanks go to Richard Hirst + for providing a patch. + (Closes: #229626). + * Added parted.m4 patch provided by Petter Reinholdtsen , + (Closes: #223764). + + -- Sven Luther Tue, 27 Jan 2004 11:16:30 +0100 + +parted (1.6.6-6) unstable; urgency=low + + * dpatch build-depency got lost again :(. + + -- Sven Luther Sun, 25 Jan 2004 12:34:20 +0100 + +parted (1.6.6-5) unstable; urgency=low + + * Added hfs resize patch from Guillaume Knispel . + (Closes: #226115) + + -- Sven Luther Sat, 24 Jan 2004 16:33:14 +0100 + +parted (1.6.6-4) unstable; urgency=low + + * Aknowledge Petter's NMU. (Closes: #225875) + * Fix amiga block checksum fixing. + + -- Sven Luther Thu, 22 Jan 2004 19:48:50 +0100 + +parted (1.6.6-3.1) unstable; urgency=low + + * Non-maintainer upload to fix d-i problem before deadline. + * Add build-depend on dpatch. (Closes: #225875) + + -- Petter Reinholdtsen Fri, 2 Jan 2004 18:27:52 +0100 + +parted (1.6.6-3) unstable; urgency=low + + * Removed some extra () around BLKGETSIZE64 that were not really needed. + * Removed a fs->clobber assertion that did break since the amiga filesystem + doesn't provide a clobber op. (Closes: #225754) + + -- Sven Luther Thu, 1 Jan 2004 20:40:39 +0100 + +parted (1.6.6-2) unstable; urgency=low + + * Adding myself as comaintainer of the package, as discussed with Timshel + Knoll. + * Start using dpatch, and move all debian specific patches into + debian/patches/*.dpatch. Thanks to Petter Reinholdtsen + for doing the work. + * Added libuuid dependency to udebs. Thanks to Matt Kraai + for providing the patch and following this. (Closes: #221225, #221226) + + -- Sven Luther Wed, 31 Dec 2003 08:54:24 +0100 + +parted (1.6.6-1.2) unstable; urgency=low + + * Added amiga filesystem probing support. (Closes: #219947) + * Fixed wrong linux/fs.h header copying. (Closes: #218980) + * Now build-depends on the fixed version of linux-kernel-headers, so we + don't get bit by the __invalid_size_argument_for_IOC signedness problem. + (See bug #219940) + + -- Sven Luther Tue, 16 Dec 2003 14:22:33 +0100 + +parted (1.6.6-1.1) unstable; urgency=low + + * Added amiga RDB partitioning support. (Closes: #212536) + * Do not install policy-prohibited control files in udebs. + Thanks to Matt Kraai for the patch. (Closes: #216133) + + -- Sven Luther Wed, 29 Oct 2003 16:11:35 +0100 + +parted (1.6.6-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Tue, 2 Sep 2003 00:43:00 +1000 + +parted (1.6.5-3) unstable; urgency=low + + * Policy 3.5.9, Made udebs Priority: extra + * Changed descriptions to add that parted can remove all listed + filesystems (closes: #191523) + * Applied missing type suffix compile fix patch for gcc-3.3 and hurd, + thanks to Ognyan Kulev and Sven Luther (closes: #195318, #200337) + * m68k padding fix patch patch from Sven Luther (closes: #207634) + + -- Timshel Knoll Sat, 30 Aug 2003 10:44:52 +1000 + +parted (1.6.5-2) unstable; urgency=low + + * NMU with maintainers consent. + * Fixed some gcc 3.3 build problems. (Closes: #200337) + + -- Sven Luther Thu, 24 Jul 2003 10:36:15 +0200 + +parted (1.6.5-1) unstable; urgency=low + + * New upstream release + * Made libparted1.6-dev and libparted1.6-dbg Section: libdevel + + -- Timshel Knoll Wed, 30 Apr 2003 16:01:19 +1000 + +parted (1.6.4-2) unstable; urgency=low + + * debian/control.in: Build-Depends: debhelper (>= 4.1.1), as dh_shlibdeps' + -L flag was introduced in that version (closes: #179473) + * debian/rules: Update config.sub and config.guess on clean + + -- Timshel Knoll Wed, 19 Feb 2003 22:13:22 +1100 + +parted (1.6.4-1) unstable; urgency=low + + * New upstream release + + ped_disk_destroy API documentation inconsistency fixed (closes: #168850) + + the invalidate: busy buffer warning message issue was actually fixed + in the 1.6.0-pre5 release (closes: #146607) + + Mention is now made of the root disk in the info docs (closes: #157003) + * Standards-Version: 3.5.8: + + Support building with gcc -g by default, support DEB_BUILD_OPTIONS=noopt + * Made libparted1.6-0 Suggests: parted | nparted (closes: #168177) + * Removed . from end of libparted1.6-0 synopsis to fix lintian error + * Build udeb packages libparted1.6-udeb and parted-udeb for + debian-installer, built with the -Os gcc flag to optimise for size + (parted-bf is also now built with -Os) (thanks to + Dann Frazier for a udeb patch) (closes: #172020) + * Made libparted's reiserfs support dlopen the full filename of libreiserfs, + rather than just the libreiserfs.so symlink. This means that parted's + reiserfs support will now work without the libreiserfs0.3-dev package + being installed (closes: #163107) + + -- Timshel Knoll Tue, 10 Dec 2002 23:25:59 +1100 + +parted (1.6.3-3) unstable; urgency=low + + * GNU Parted is now built against libreiserfs (closes: #156149) + * debian/control: + + Build-Depend on libreiserfs0.3-dev + + libparted1.6-0 now Recommends: libreiserfs0.3-0 + + -- Timshel Knoll Wed, 11 Sep 2002 01:45:21 +1000 + +parted (1.6.3-2) unstable; urgency=low + + * debian/rules: use readlink to read link destination (closes: #157821) + + -- Timshel Knoll Thu, 22 Aug 2002 18:18:23 +1000 + +parted (1.6.3-1) unstable; urgency=low + + * New upstream release + * debian/control: + + Fixed Priority: override disparities (default Priority was still extra + from when these were experimental parted1.6 packages) + + Remove details of pre-release status notice from package description + (closes: #152655, #154818) + * Direct people looking for info docs to the parted-doc package + (closes: #152042) + * Wierd ... ls -l x | awk '{ print $11 }' is no longer giving the symlink + dest, $10 is though :-/. I'll see how this goes with $10 ... + + -- Timshel Knoll Tue, 20 Aug 2002 19:40:44 +1000 + +parted (1.6.2-1) unstable; urgency=low + + * New upstream release + * Build-Depend on texinfo (>= 4.2), as parted.texi uses a new 4.2 directive + + -- Timshel Knoll Wed, 10 Jul 2002 08:51:17 +1000 + +parted (1.6.1-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Tue, 18 Jun 2002 16:42:47 +1000 + +parted (1.6.0-1) unstable; urgency=low + + * New upstream release + * Source package renamed back to "parted", 1.6 is now considered + "stable" so uploaded to sid + + -- Timshel Knoll Tue, 30 Apr 2002 23:05:42 +1000 + +parted1.6 (1.5+1.6.0-pre10-1) experimental; urgency=low + + * New upstream pre-release + * This upstream release supports creating/resizing reiserfs filesystems, + if Yury Umanets' libreiserfs is installed. However, there is no Debian + package of libreiserfs (yet - I am working on it). So if you want this + support, you'll have to fetch progsreiserfs from + http://reiserfs.linux.kiev.ua/ and compile/install it yourself for this + support to be activated. + + -- Timshel Knoll Fri, 26 Apr 2002 01:51:04 +1000 + +parted1.6 (1.5+1.6.0-pre9-1) experimental; urgency=low + + * New upstream pre-release + + -- Timshel Knoll Wed, 10 Apr 2002 15:11:52 +1000 + +parted1.6 (1.5+1.6.0-pre8-1) experimental; urgency=low + + * New upstream pre-release + + -- Timshel Knoll Mon, 8 Apr 2002 23:23:20 +1000 + +parted1.6 (1.5+1.6.0-pre7-1) experimental; urgency=low + + * New upstream pre-release + + -- Timshel Knoll Sat, 6 Apr 2002 01:08:35 +1000 + +parted1.6 (1.5+1.6.0-pre6-1) experimental; urgency=low + + * New upstream pre-release + + -- Timshel Knoll Sat, 6 Apr 2002 00:42:30 +1000 + +parted1.6 (1.5+1.6.0-pre5-2) experimental; urgency=low + + * Recompile against latest e2fsprogs to fix dependancy issues + (see e2fsprogs #139274) + + -- Timshel Knoll Tue, 26 Mar 2002 18:19:58 +1100 + +parted1.6 (1.5+1.6.0-pre5-1) experimental; urgency=low + + * New upstream pre-release + * debian/{partprobe.8, parted.manpages, rules}: manpage added for partprobe + (closes: #137104) + * debian/control.in: make all parted1.6 packages Priority: extra, as + parted1.6 and parted1.6-doc Conflict: with the optional parted and + parted-doc packages. + * removed "#include " from libparted/fs_linux_swap/linux_swap.c, + which should fix build problems on ia64. + + -- Timshel Knoll Tue, 26 Mar 2002 17:09:08 +1100 + +parted1.6 (1.5+1.6.0-pre4-1) experimental; urgency=low + + * New upstream pre-release + * debian/control.in, debian/rules: ship locales package separately. This + means that libparted1.6-0 no longer needs to Conflict: libparted1.4, + both packages can be installed concurrently. Actually, I just realised + that libparted1.6-0 never actually needed to Conflict: libparted1.4, + Replaces: libparted1.4 would have been enough ... + * debian/control.in: + - Added pre-release status of package to package descriptions + (closes: #137475) + - Made libparted1.6-0 Replaces: libparted1.4 (<< 1.4.24-2). + libparted1.4 (>= 1.4.24-2) should be able to co-exist with libparted1.6, + but I forgot about the (<< 1.4.24-2) case ... (closes: #137567) + * debian/rules: + - debian/rules: use DESTDIR rather than prefix when 'make install'ing. + Use $(CURDIR) instead of `pwd`. + - lots of small fixes + - remove the locales dir from debian/tmp before checking if any files + are left after dh_movefiles + * debian/parted.files: Grab all of sbin rather than just sbin/parted. + This picks up partprobe + * debian/parted.undocumented: partprobe currently has no manpage (will be + fixed before 1.6.0-1 goes into sid) + + -- Timshel Knoll Wed, 13 Mar 2002 15:18:43 +1100 + +parted1.6 (1.5+1.6.0-pre3-1) experimental; urgency=low + + * New upstream pre-release + * debian/control.in: -doc package name changed to parted1.6-doc ... + * debian/rules: generate parted1.6-doc.* files + + -- Timshel Knoll Tue, 5 Mar 2002 14:20:04 +1100 + +parted1.6 (1.5+1.6.0-pre2-1) experimental; urgency=low + + * New upstream pre-release, built for experimental + * Don't include doc/USER in parted-doc, use the doc/parted.info texinfo file + instead ... + * Build the library packages as libparted[upstream 2 digit version]-[soname] + eg. libparted1.6-0 + + -- Timshel Knoll Fri, 1 Feb 2002 21:02:00 +1100 + +parted1.6 (1.5+1.6.0-pre1-1) unstable; urgency=low + + * New packages of 1.6 pre-release series + * Fixed compile warnings (hence errors with -Werror) in + libparted/disk_mips.c + + -- Timshel Knoll Fri, 1 Feb 2002 18:41:31 +1100 + +parted (1.4.23-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Wed, 16 Jan 2002 00:02:03 +1100 + +parted (1.4.22-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Sun, 30 Dec 2001 00:51:42 +1100 + +parted (1.4.21-1) unstable; urgency=low + + * New upstream release + * Disable -Werror when building on s390 (closes: #121267) + + -- Timshel Knoll Fri, 7 Dec 2001 23:51:02 +1100 + +parted (1.4.20-1) unstable; urgency=low + + * New upstream release + * Upstream now uses C99's PRIx64 for printf'ing __u64's - this fixes + compilation warnings on alpha and ia64 (closes: #115369) + * This should fix all alpha compile warnings, so removed --disable-Werror + configure flag when compiling on alpha (-Werror will help find bugs) + + -- Timshel Knoll Mon, 15 Oct 2001 11:00:29 +1000 + +parted (1.4.19-2) unstable; urgency=low + + * debian/rules: call ./configure with --disable-Werror flag on + alpha as well ... (closes: #114172) + + -- Timshel Knoll Mon, 8 Oct 2001 12:51:47 +1000 + +parted (1.4.19-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Sun, 30 Sep 2001 18:51:41 +1000 + +parted (1.4.18+19pre2-5) unstable; urgency=low + + * Applied Matt Domsch 's GPT (GUID Partition Tables) + support patch (closes: #105555) + + -- Timshel Knoll Sat, 15 Sep 2001 10:46:55 +1000 + +parted (1.4.18+19pre2-4) unstable; urgency=low + + * debian/control: Build-Depend on libtool (closes: #112110) + + -- Timshel Knoll Thu, 13 Sep 2001 11:20:56 +1000 + +parted (1.4.18+19pre2-3) unstable; urgency=low + + * Fixes to *really* fix building on m68k (yes really this time ... grrr): + - configure.in: hacked to add --disable-Werror argument + - debian/control: added Build-Depends on recent autoconf and automake + - debian/rules: + + run aclocal, autoconf and automake before ./configure'ing + + run configure with --disable-Werror argument on m68k + + -- Timshel Knoll Wed, 12 Sep 2001 16:43:59 +1000 + +parted (1.4.18+19pre2-2) unstable; urgency=low + + * debian/control: + + Fixed typo - fixed typo - libparted1.4 package was Priority: extra + instead of parted-bf package for the last 2 releases - fixed this + + Updated the file system support list in package descriptions + + Removed Build-Depends: on autoconf, automake and libtool - these are + only needed if autoconf/automake need to be re-run ... (not the case) + * debian/rules: + + pass the correct libparted library directory to dh_shlibdeps for + correct parted package dependancies (closes: #102359) + * debian/README.Debian: Updated the file system support list + + -- Timshel Knoll Mon, 10 Sep 2001 00:40:49 +0000 + +parted (1.4.18+19pre2-1) unstable; urgency=low + + * New upstream (pre-) release + * Build with -Wno-uninitialized on m68k (really closes: #110264) + + -- Timshel Knoll Mon, 10 Sep 2001 00:28:47 +1000 + +parted (1.4.18+19pre1-1) unstable; urgency=low + + * New upstream (pre-) release (closes: #110264) + * debian/rules, debian/control: + + Build parted-bf package, built with --disable-readline (closes: #109161) + + Now using debhelper v3 + + -- Timshel Knoll Wed, 5 Sep 2001 13:08:56 +1000 + +parted (1.4.18-1) unstable; urgency=low + + * New upstream release (never uploaded) + + -- Timshel Knoll Mon, 20 Aug 2001 20:23:41 +1000 + +parted (1.4.17-1) unstable; urgency=low + + * New upstream release + * debian/rules: build with CFLAGS += -Wno-unused on m68k to work around + compiler bug (closes: #105819) + + -- Timshel Knoll Mon, 23 Jul 2001 09:39:22 +1000 + +parted (1.4.16-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Tue, 17 Jul 2001 14:14:38 +1000 + +parted (1.4.15-2) unstable; urgency=low + + * Fixed ia64 compile errors (thanks to Jeff Licquia) (closes: #105529) + + -- Timshel Knoll Tue, 17 Jul 2001 10:22:56 +1000 + +parted (1.4.15-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Tue, 10 Jul 2001 11:43:26 +1000 + +parted (1.4.14-1) unstable; urgency=low + + * New upstream release + * debian/control: libparted1.4 Conflicts: parted (<< 1.4.13+14pre1), to + make sure that the soname change doesn't break stuff. + + -- Timshel Knoll Wed, 30 May 2001 21:55:26 +1000 + +parted (1.4.13+14pre2-1) unstable; urgency=low + + * New upstream release + * This means I don't need a patched configure.in, so don't need to + Build-Depend: auto{conf,make}, libtool ... (closes: Bug#99015) + Left the Build-Depends there anyway (just in case) + * This upstream release uses libtool 1.4 anyway, so that alone would fix + #99015 as well :-) + * debian/rules: + - explicitly specify --enable-shared to configure in configure target + (bug workaround for this version, shared libs aren't built by default) + - explicitly specify --disable-shared to configure in configure-dbg + target, this should substantially shorten the build time. + + -- Timshel Knoll Tue, 29 May 2001 10:10:09 +1000 + +parted (1.4.13-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Sat, 26 May 2001 22:48:13 +1000 + +parted (1.4.12-2) unstable; urgency=low + + * debian/rules: Lots of updates to get stuff building properly, merged + binary-common and binary-libparted$(LIBPKGVER)-dbg rules. + * debian/control updates: + - added Build-Depends: autoconf (>= 2.50), automake (>= 1.4-p1), libtool + (closes: Bug#98673) + - Added '| libncurses5-dev' to libncurses-dev Build-Depends to provide + non-virtual installation candidate. + - Standards-Version: 3.5.4 + + -- Timshel Knoll Sat, 26 May 2001 14:53:59 +1000 + +parted (1.4.12-1) unstable; urgency=low + + * New upstream release + * debian/rules: made {build{,-dbg},configure{,-dbg}}-stamp stuff depend + directly on $(GENFILES), which stops ./configure from being repeatedly + run unnecessarily during the build procedure. + + -- Timshel Knoll Tue, 22 May 2001 17:26:34 +1000 + +parted (1.4.11-4) unstable; urgency=low + + * debian/control: libparted1.4-dbg Priority: extra + * debian/control: parted & libparted-dev now Suggests: parted-doc + (closes: Bug#97556) + + -- Timshel Knoll Tue, 15 May 2001 23:13:41 +1000 + +parted (1.4.11-3) unstable; urgency=low + + * Some big updates - lots of library versioning stuff automated ... + - debian/control and debian/shlibs.local now being generated from + debian/control.in and debian/shlibs.local.in respectively, with + debian/rules + - debian/libparted2{,-dev}.* moved to debian/libparted{,-dev}.*, + these are now copied to their appropriate places when necessary + - LIBPKGVER variable added to debian/rules, this is the library + package version (part of the library name). Initially set to + 1.4, which is the new version number of libparted (ie. the + libparted package is now named libparted1.4, to keep in line + with upstream). I'll add a letter which will be bumped whenever + upstream's soname changes, if necessary (ie. libparted1.4a) ... + * Added support for DEB_BUILD_OPTIONS=noopt (compiles without -O2). + * debian/control.in debian/rules: Added building of libparted2-dbg + package, unstripped static lib with malloc debugging enabled. + * Fixed problem with ./configure being run twice, once on + 'debian/rules build' and again on 'debian/rules binary-arch' + * Fixed shlibs library version _properly_, I changed the depends: + version but not the soname version :-(. With the versioning automation + stuff I have also added a LIBSONAME substitution, and also check that + parted's soname is what debian/rules (and thus debian/shlibs.local) + think that it is ... + + -- Timshel Knoll Wed, 2 May 2001 15:15:20 +1000 + +parted (1.4.11-2) unstable; urgency=low + + * Apparently 1.4.11 has a new soname, changed shlibs.local and + dh_makeshlibs to use (>= 1.4.11) (closes: Bug#95846) + + -- Timshel Knoll Tue, 1 May 2001 12:03:56 +1000 + +parted (1.4.11-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Thu, 19 Apr 2001 01:49:23 +1000 + +parted (1.4.10-2) unstable; urgency=low + + * debian/rules: Added support for $DEB_BUILD_OPTIONS + * debian/rules: removed call to deprecated dh_suidregister + * debian/rules: added separate configure[-stamp] targets which call configure + * debian/control: updated disklabel list in package descriptions, added + list of supported filesystems. + * debian/control: libparted2: added Conflicts: and Replaces: libparted + * debian/README.Debian: updated disklabel list, added detailed list + of supported filesystem and the amount of support for each + + -- Timshel Knoll Thu, 29 Mar 2001 19:57:58 -0800 + +parted (1.4.10-1) unstable; urgency=low + + * New upstream release + * Converted to cvs-buildpackage. + * debian/rules: removed call to obsolete dh_testversion. + * debian/parted-doc.docs: removed reference to 0 byte file BUGS + (well, no bugs, great) :-) + + -- Timshel Knoll Tue, 20 Mar 2001 00:47:22 +1100 + +parted (1.4.9-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Mon, 19 Feb 2001 18:21:43 +1100 + +parted (1.4.8-1) unstable; urgency=low + + * New upstream release + * debian/control: Made libparted2 Suggest: libparted2-dev + + -- Timshel Knoll Sat, 10 Feb 2001 09:51:10 +1100 + +parted (1.4.7-1) unstable; urgency=low + + * New upstream release + * debian/control, debian/libparted1[-dev]*, debian/rules: + Updated library package names to libparted2 and libparted2-dev, as + this upstream version contains incompatible changes to the library + versioning system + * debian/control: Updated build-depends: on debhelper to version + >= 2.0 (for DH_COMPAT=2), added gettext. + * debian/README.Debian: updated list of supported partition tables + (added BSD disklabels to the list) + + -- Timshel Knoll Sun, 4 Feb 2001 18:30:05 +1100 + +parted (1.4.6-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Sun, 7 Jan 2001 18:57:46 +1100 + +parted (1.4.5-1) unstable; urgency=low + + * New upstream release + * Updated package descriptions and README.Debian with a list of + supported partition tables / disklabels. + * debian/copyright: fixed bad email addresses of upstream authors, changed + copyright to Free Software Foundation, Inc. (it has been signed over + to the FSF). + + -- Timshel Knoll Sun, 7 Jan 2001 18:39:59 +1100 + +parted (1.4.4-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Sun, 3 Dec 2000 18:58:28 +1100 + +parted (1.4.3-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Tue, 28 Nov 2000 11:05:45 +1100 + +parted (1.4.2-1) unstable; urgency=low + + * New upstream release + * Removed empty NEWS file from parted-doc - fixes lintian warning. + * Changed all calls to dh_testversion in debian/rules to version 2. + * Modified debian/rules to not call dh_makeshlibs for arch-independent + parted-doc package. + + -- Timshel Knoll Wed, 22 Nov 2000 01:16:52 +1100 + +parted (1.4.0-1) unstable; urgency=low + + * New upstream release + * Renamed libparted0 to libparted1, and libparted0-dev to libparted1-dev. + * Changed shlibs to depend on 'libparted1 (>= 1.4.0)' rather than + 'libparted1 (= ${Source-Version})'. + * Made libparted1 Conflicts: libparted0 Replaces: libparted0 (since both + have their NLS messages in /usr/share/locale/*/LC_MESSAGES/parted.mo) - + I must find some way to work around this!!! + + -- Timshel Knoll Sun, 19 Nov 2000 22:52:57 +1100 + +parted (1.2.13-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Mon, 13 Nov 2000 09:49:54 +1100 + +parted (1.2.12-1) unstable; urgency=low + + * New upstream release + * Changed build system to use DH_COMPAT=2, so the 'parted' package now + builds in the debian/parted directory. This included moving the 'dirs' + file to 'parted.dirs', and 'docs' to 'parted.docs', amongst other things. + + -- Timshel Knoll Sun, 5 Nov 2000 14:59:25 +1100 + +parted (1.2.11-1) unstable; urgency=low + + * New upstream release + * Moved parted.m4 (in /usr/share/aclocal) from parted to libparted0-dev. + * Moved all locales (from /usr/share/locales) from parted to libparted0. + This is the right behavior since most of the messages are for libparted, + I have asked the author if it is possible to split parted and libparted + locales ... + * Made libparted0 and libparted0-dev Conflict: parted (<< 1.2.11) to + avoid dpkg needing --force-overwrite ... + * Added -D_REENTRANT to CFLAGS in libparted/Makefile.am - to conform + to policy 3.2.1. + * Policy 3.2.1 + + -- Timshel Knoll Wed, 18 Oct 2000 12:59:48 +1100 + +parted (1.2.10-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Sun, 15 Oct 2000 23:24:15 +1100 + +parted (1.2.9-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Tue, 12 Sep 2000 22:41:38 +1100 + +parted (1.2.8-2) unstable; urgency=low + + * debian/docs: debian/libparted0.docs: debian/libparted0-dev.docs: + Removed all documentation from packages other than parted-doc. All + packages have changelog and copyright, however (as per Debian + policy) + + -- Timshel Knoll Wed, 30 Aug 2000 20:01:15 +1100 + +parted (1.2.8-1) unstable; urgency=low + + * New upstream release + * Changed Build-Depends on libuuid-dev to uuid-dev (closes: Bug#69536) + + -- Timshel Knoll Tue, 22 Aug 2000 21:27:59 +1000 + +parted (1.2.7-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Sun, 13 Aug 2000 13:33:42 +1000 + +parted (1.2.6-1) unstable; urgency=low + + * New upstream release + * Shared libs in libparted0 now install to /lib (otherwise it's pointless + having the parted executable in /sbin ...) + * Now building shlibs with `libparted 0 libparted0 (= ${Source-Version})' + rather than >= ... This is because the libparted API is still changing + quite regularly. + + -- Timshel Knoll Wed, 2 Aug 2000 21:13:42 +1000 + +parted (1.2.5-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Thu, 20 Jul 2000 09:49:29 +1000 + +parted (1.2.3-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Wed, 28 Jun 2000 21:04:42 +1000 + +parted (1.2.1-2) unstable; urgency=low + + * Removed parted-doc Recommends: parted, and got rid of versions + from Suggests: parted, libparted0, libparted0-dev + * Changed description of libparted0-dev for consistency + (the word 'disk' was missing) + + -- Timshel Knoll Thu, 15 Jun 2000 13:25:56 +1000 + +parted (1.2.1-1) unstable; urgency=low + + * New upstream release + * The last release (1.2.0) didn't build on systems without libparted-dev + or libparted0-dev already installed, fixed in this version. + * Maintainer email addresses updated to `timshel@debian.org' + * debian/README.Debian updated to remove stuff about why shared libs + won't build (because they can be now) :) + + -- Timshel Knoll Thu, 15 Jun 2000 12:57:29 +1000 + +parted (1.2.0-1) unstable; urgency=low + + * New upstream release + * Merged a whole heap of changes from my locally built series of 1.1.x + packages, listed below: + * Can now build shared libraries. Split off package libparted0 which + contains the shared libraries. + * Renamed libparted-dev to libparted0-dev. This still Provides: libparted-dev + however. + + -- Timshel Knoll Thu, 15 Jun 2000 02:24:05 +1000 + +parted (1.0.17-2) unstable; urgency=low + + * Rebuild to get rid of config.log junk in the .diff.gz (hmmm ... must've + killed ./configure ... dammit) + * Split docs off into new, separate package (parted-doc) + * libparted-dev now Suggests: parted + + -- Timshel Knoll Tue, 13 Jun 2000 01:34:34 +1000 + +parted (1.0.17-1) unstable; urgency=low + + * New upstream release + * parted executable moved from /usr/sbin to /sbin + * "Section: " in debian/control changed for both 'parted' source & + 'parted' binary packages from 'utils' to 'admin' (admin is more suitable) + * "Architecture: any" for both packages, (was 'i386 alpha'), so + packages will now be built for other arches (for resizing old DOS + drives, as parted currently only support DOS partition tables) + + -- Timshel Knoll Mon, 12 Jun 2000 15:41:48 +1000 + +parted (1.0.15-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Fri, 12 May 2000 19:08:52 +1000 + +parted (1.0.14-1) unstable; urgency=low + + * New upstream release + * Updated debian/README.Debian with current parted shared libs status ... + + -- Timshel Knoll Sun, 16 Apr 2000 16:46:47 +1000 + +parted (1.0.13-1) frozen unstable; urgency=low + + * New upstream release + * This needs to go into frozen because it fixes a release critical bug: + * Fixed a severe bug which can cause massive data loss when converting + between FAT16 and FAT32 (closes: #62029). + * dh_testversion (in debian/rules) and Build-depends debhelper version + updated to 1.2.9 for dh_link ... + * Fixed typo in debian/control: Build-Depends: liuuid-dev -> libuuid-dev :) + * Policy 3.1.1 + + -- Timshel Knoll Tue, 11 Apr 2000 17:44:42 +1000 + +parted (1.0.12-1) unstable; urgency=low + + * New upstream release + * libparted-dev.docs updated to reflect movement of API docs to doc/ + * Updated to Standards-Version 3.1.0 (with Build-Depends) + + -- Timshel Knoll Tue, 28 Mar 2000 20:07:51 +1000 + +parted (1.0.10-1) unstable; urgency=low + + * New upstream release + * libparted-dev moved from libs to devel section + + -- Timshel Knoll Fri, 3 Mar 2000 09:59:32 +1100 + +parted (1.0.9-1) frozen unstable; urgency=low + + * New upstream release (closes: Bug#58301) + + -- Timshel Knoll Thu, 17 Feb 2000 21:28:53 +1100 + +parted (1.0.7-1) frozen unstable; urgency=low + + * New upstream release (closes: Bug#55871, parted fails on disks >16Gb) + * Manpage moved to upstream sources + + -- Timshel Knoll Tue, 25 Jan 2000 23:29:56 +1100 + +parted (1.0.5-1) frozen unstable; urgency=low + + * New upstream release (closes: Bug#55613) + * Added Conflicts: fsresize and Replaces: fsresize (closes: Bug#54110) + * Updates to manpage, parted(8) + + -- Timshel Knoll Wed, 19 Jan 2000 13:28:53 +1100 + +parted (1.0.4-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Wed, 5 Jan 2000 17:23:57 +1100 + +parted (1.0.2-1) unstable; urgency=low + + * New upstream release + * Updated debian/copyright with date/time last updated + * Updated package descripion and README.Debian warnings + + -- Timshel Knoll Mon, 3 Jan 2000 13:30:02 +1100 + +parted (1.0pre8-1.1) unstable; urgency=low + + * Sponsor upload. + * Recompiled against libreadline2g as libreadline4 is not yet in + potato. (closes: Bug#52205) + + -- Torsten Landschoff Sun, 19 Dec 1999 12:05:41 +0100 + +parted (1.0pre8-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Mon, 15 Nov 1999 22:40:06 +1100 + +parted (1.0pre7-2) unstable; urgency=low + + * Copyright message and Authors updated + * Updated package description, descriptions are now more consistant + * Added warning about software being unstable to package description + * Changed libparted-dev to Section: devel + * Removed debian/dirs (not required) + * Manpage parted.8 is now only installed in the parted package + + -- Timshel Knoll Sun, 14 Nov 1999 23:29:01 +1100 + +parted (1.0pre7-1) unstable; urgency=low + + * New upstream release + + -- Timshel Knoll Tue, 9 Nov 1999 13:52:14 +1100 + +parted (1.0pre4-2) unstable; urgency=low + + * Package split into parted and libparted-dev + + -- Timshel Knoll Mon, 8 Nov 1999 18:41:28 +1100 + +parted (1.0pre4-1) unstable; urgency=low + + * Initial Release. + + -- Timshel Knoll Fri, 5 Nov 1999 18:11:28 +1100 --- parted-1.8.8.git.2009.06.03.orig/debian/parted-doc.prerm +++ parted-1.8.8.git.2009.06.03/debian/parted-doc.prerm @@ -0,0 +1,39 @@ +#! /bin/sh +# prerm script for parted-doc +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|upgrade|deconfigure) + install-info --quiet --remove /usr/share/info/parted.info.gz + ;; + failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- parted-1.8.8.git.2009.06.03.orig/debian/rules +++ parted-1.8.8.git.2009.06.03/debian/rules @@ -0,0 +1,418 @@ +#!/usr/bin/make -f +# GNU Parted debian/rules +# +# This file is used by dpkg-buildpackage to build the parted packages. +# To build a package, run `dpkg-buildpackage' or `debuild' from the +# parent directory. (You may need to specify `-rfakeroot' to +# dpkg-buildpackage if you are not running it as root ...) +# +# $Id: rules,v 1.50 2003/02/19 11:13:18 timshel Exp $ +# +# Copyright (C) 1999, 2000, 2001, 2002 Timshel Knoll +# Licensed under the terms of the GNU General Public License +# +# Based (a long time ago) on parted's debian/rules, which in turn is based on +# `Sample debian/rules that uses debhelper' from dh_make, +# GNU Copyright (C) 1997 to 1999 by Joey Hess + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# This has to be exported to make some magic below work. +export DH_OPTIONS + +# The version of the debian package, used in naming the udeb +DEBPKGVER = $(shell dpkg-parsechangelog | sed -n -e '/^Version: /{s///;p;q;}') + +# The library package version, ie. version 0.2 will build package +# libparted0.2, libparted0.2-dev etc. +# When incrementing this because of a new library SONAME, add an 'a' to the +# end if there isn't already one, otherwise increment the letter that is +# already there. +# When incrementing this, also set DEPVER to the current package version. +LIBPKGVER = 1.8 + +# Append the LIBPKGVER to non-lib package names? This is useful when building +# packages of the development versions of parted (eg. to build a parted1.5 +# package) +# BINPKGVER = $(LIBPKGVER) + +# The first version of the package to build with the current LIBPKGVER +# This should be changed to the current version when LIBPKGVER is changed ... +DEPVER = 1.8.8.git.2009.06.03-1 + +# This is the library's soname. The build will fail if this is wrong, since +# if the soname has changed we need to update stuff ... +LIBSONAME = 12 + +# This is for the version for the shared library +SHAREDLIBPKGVER = $(LIBPKGVER)-$(LIBSONAME) + +# The list of sed substitutions we need to do when generating files ... +# if you put `x' in here somewhere, the substitution `s/@x@/$(x)/' +# will be done ... +SUBSTS = LIBPKGVER BINPKGVER DEPVER LIBSONAME SHAREDLIBPKGVER + +# Files which are generated by this script ... +# You will probably need to change this depending on what files your package +# needs ... +GENFILES = debian/control \ + debian/libparted$(SHAREDLIBPKGVER).files \ + debian/libparted$(LIBPKGVER)-dev.files \ + debian/libparted$(LIBPKGVER)-i18n.files \ + +ifneq (, $(BINPKGVER)) +GENFILES += debian/parted$(BINPKGVER).files \ + debian/parted$(BINPKGVER)-doc.files \ + debian/parted$(BINPKGVER)-doc.docs \ + debian/parted$(BINPKGVER)-doc.postinst \ + debian/parted$(BINPKGVER)-doc.prerm +endif + +ifeq (, $(DEB_BUILD_ARCH)) +DEB_BUILD_ARCH = $(shell dpkg-architecture -qDEB_BUILD_ARCH) +endif + +ifeq (, $(DEB_BUILD_GNU_TYPE)) +DEB_BUILD_GNU_TYPE = $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +endif + +ifeq (, $(DEB_HOST_ARCH)) +DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH) +endif + +ifeq (, $(DEB_HOST_GNU_TYPE)) +DEB_HOST_GNU_TYPE = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +endif + +ifeq (, $(DEB_BUILD_GNU_SYSTEM)) +DEB_BUILD_GNU_SYSTEM = $(shell dpkg-architecture -qDEB_BUILD_GNU_SYSTEM) +endif + +ifeq (, $(ARCH)) +ARCH = $(DEB_BUILD_ARCH) +endif + +ifeq (, $(CFLAGS)) +CFLAGS = -g +UDEB_CFLAGS = -g + +ifeq (, $(findstring noopt, $(DEB_BUILD_OPTIONS))) +CFLAGS += -O2 +UDEB_CFLAGS += -Os +else +CFLAGS += -O0 +UDEB_CFLAGS += -O0 +endif + +_P=) +GCC_VERSION := $(shell gcc --version | sed -n "/^gcc/s/^[^$(_P)]*$(_P) \(.\..\).*/\1/p") +ifeq ($(GCC_VERSION),4.3) + CFLAGS += -Wno-array-bounds + UDEB_CFLAGS += -Wno-array-bounds +endif + +endif + +# disable ssp on sparc +ifeq (sparc, $(DEB_BUILD_ARCH)) +CFLAGS += -fno-stack-protector +UDEB_CFLAGS += -fno-stack-protector +endif + +# This is a workaround for a m68k compiler bug ... +ifeq (m68k, $(DEB_BUILD_ARCH)) + CONFFLAGS += --disable-Werror +endif +ifeq (s390, $(DEB_BUILD_ARCH)) + CONFFLAGS += --disable-Werror +endif +ifeq (gnu, $(DEB_BUILD_GNU_SYSTEM)) + CONFFLAGS += --disable-Werror +endif + +# Cell partition tables get misdetected for pc98; we don't need pc98 support +# on powerpc +ifeq (powerpc, $(DEB_HOST_ARCH)) + CONFFLAGS += --disable-pc98 +endif + +# Workaround/fix bug #442308 +CFLAGS += -fgnu89-inline +UDEB_CFLAGS += -fgnu89-inline + +# This builds a substitution list for sed based on the SUBSTS variable +# and the variables whose names SUBSTS contains ... +SUBSTLIST = $(foreach subst, $(SUBSTS), s/@$(subst)@/$($(subst))/g;) + +# Pattern rules: + +# How to generate various files ... +debian/%: debian/%.in debian/rules + sed -e '$(SUBSTLIST)' < $< > $@ + +# This puts the libparted* packaging files in their right places +debian/libparted$(SHAREDLIBPKGVER)%: debian/libparted% + cp $< $@ + +debian/libparted$(LIBPKGVER)%: debian/libparted% + cp $< $@ + +debian/parted$(BINPKGVER)%: debian/parted% + cp $< $@ + +# by default, do something sane ... +default: echo-vars + +echo-vars: + @echo "Try: debian/rules [configure|build|install|binary|binary-arch|binary-indep|clean]" + @echo "CFLAGS: $(CFLAGS)" + @echo "DEB_BUILD_ARCH: $(DEB_BUILD_ARCH)" + @echo "DEB_BUILD_GNU_TYPE: $(DEB_BUILD_GNU_TYPE)" + @echo "DEB_HOST_GNU_TYPE: $(DEB_HOST_GNU_TYPE)" + @echo "LIBSONAME: $(LIBSONAME)" + @echo "LIBPKGVER: $(LIBPKGVER)" + @echo "BINPKGVER: $(BINPKGVER)" + @echo "GENFILES: $(GENFILES)" + @echo "SUBSTLIST: $(SUBSTLIST)" + +packaging-files: $(GENFILES) + +build-deb/config.status: patch + dh_testdir + [ -d build-deb ] || mkdir build-deb + +ifneq (, $(findstring debug, $(DEB_BUILD_OPTIONS))) + @echo "warning: option \`debug' in \$$DEB_BUILD_OPTIONS: building with gcc option \`-g'" >&2 +endif + +# Add here commands to configure the package. +# Install the `parted' executable to /sbin ... + cd build-deb && CFLAGS="$(CFLAGS)" ../configure --prefix=/usr \ + --sbindir=/sbin --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info --enable-shared \ + --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ + --enable-device-mapper \ + $(CONFFLAGS) + +build-udeb/config.status: patch + dh_testdir + [ -d build-udeb ] || mkdir build-udeb + + cd build-udeb && CFLAGS="$(UDEB_CFLAGS)" ac_cv_header_execinfo_h=no ../configure --prefix=/usr \ + --sbindir=/sbin --libdir=/lib --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info --enable-shared --disable-static \ + --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ + --without-readline --enable-device-mapper \ + $(CONFFLAGS) + +build-dbg/config.status: patch + dh_testdir + [ -d build-dbg ] || mkdir build-dbg + +# Add here commands to configure the package. + cd build-dbg && CFLAGS="-g $(CFLAGS)" ../configure --prefix=/usr \ + --enable-mtrace --disable-shared $(CONFFLAGS) \ + --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) + + touch $@ + +build: build-deb build-udeb build-dbg + +build-deb: build-deb/build-stamp +build-deb/build-stamp: build-deb/config.status + dh_testdir + + $(MAKE) -C build-deb + +# By now just use ABI detection on amd64 machines. + if [ $(DEB_BUILD_ARCH) = "amd64" ]; then \ + $(MAKE) -C build-deb check-abi; \ + fi + + touch $@ + +build-udeb: build-udeb/build-stamp +build-udeb/build-stamp: build-udeb/config.status + dh_testdir + +# Only build binaries + $(MAKE) -C build-udeb/lib + $(MAKE) -C build-udeb/libparted + $(MAKE) -C build-udeb/parted + + touch $@ + +build-dbg: build-dbg/build-stamp +build-dbg/build-stamp: build-dbg/config.status + dh_testdir + +# Add here commands to compile the package. +# Don't need to build headers or doco rubbish, just the library ... +# Note: this assumes that the library source code is in the +# libparted directory, change this if it isn't ... + $(MAKE) -C build-dbg/lib + $(MAKE) -C build-dbg/libparted + + touch $@ + +clean: unpatch packaging-files + dh_testdir + dh_testroot + +# Add here commands to clean up after the build process + rm -rf build-deb build-udeb build-dbg + +# Remove all debian/libparted*.* except for libparted.*, +# libparted-dev.* and libparted$(LIBPKGVER)* + @for file in debian/libparted*; do \ + file="`basename $$file`"; \ + case "$$file" in \ + libparted.*|libparted-dev.*|libparted-i18n.*|\ + libparted$(LIBPKGVER).*|libparted$(LIBPKGVER)-dev.*|\ + libparted$(LIBPKGVER)-i18n.*|libparted$(LIBPKGVER)-udeb.*) \ + ;; \ + *) \ + echo "rm -rf \"debian/$$file\""; \ + rm -rf "debian/$$file" ;; \ + esac; \ + done + + dh_clean + +install: DH_OPTIONS=-Nparted$(BINPKGVER)-udeb -Nlibparted$(LIBPKGVER)-udeb -Nlibparted$(LIBPKGVER)-dbg +install: build packaging-files + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + $(MAKE) -C build-deb install DESTDIR=$(CURDIR)/debian/tmp + +# We need to do 2 things here: +# 1. Check that $(LIBSONAME) is actually what the library's SONAME is +# 2. Fix the libparted.so symlink to point to /lib/libparted.so.x.x.x +# rather than being relative & pointing to the current directory + @(cd debian/tmp/usr/lib; \ + SONAME=`ls libparted-$(LIBPKGVER).so.*.*.* | \ + sed -e 's/^.*\.so\.\([0-9]\+\)\..*$$/\1/'`; \ + if [ "$(LIBSONAME)" -ne "$$SONAME" ]; then \ + echo " *** error: debian/rules thinks that libparted is" \ + "version $(LIBSONAME)" >&2; \ + echo " *** library is actually version $$SONAME. These should" \ + "be the same." >&2; \ + echo " *** Change the value of LIBSONAME to $$SONAME in" \ + "debian/rules, and" >&2; \ + echo " *** while you're there, bump the value of LIBPKGVER and" \ + "also set"; \ + echo " *** DEPVER to the current version of the package that" \ + "you are building." >&2; \ + exit 1; \ + fi; \ + ln -sf /lib/`readlink libparted.so` libparted.so) + + exit +# Make sure the shared libs are in /lib (otherwise there's no point +# installing the executable to /sbin ...) :-) + mkdir -p debian/tmp/lib + mv debian/tmp/usr/lib/*.so.* debian/tmp/lib + + dh_movefiles + +# Remove all empty directories under debian/tmp +# The `sort -r' makes sure that the dir `x/y' is removed before `x' + rmdir --ignore-fail-on-non-empty `find debian/tmp -type d | sort -r` + + @if [ -d debian/tmp ]; then \ + echo " *** WARNING: files exists in debian/tmp after" \ + "dh_movefiles!!!" >&2; \ + echo " *** Maybe the debian/*.files files need updating ..." >&2; \ + fi + +install-udeb: DH_OPTIONS=-pparted$(BINPKGVER)-udeb -plibparted$(LIBPKGVER)-udeb +install-udeb: LIBPARTED_UDEB=$(shell dh_listpackages | grep -E '^libparted$(LIBPKGVER)-udeb$$') +install-udeb: PARTED_UDEB=$(shell dh_listpackages | grep -E '^parted$(BINPKGVER)-udeb$$') +install-udeb: build-udeb + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + [ -z "$(LIBPARTED_UDEB)" ] || \ + $(MAKE) -C build-udeb/libparted install \ + DESTDIR=$(CURDIR)/debian/libparted$(LIBPKGVER)-udeb + + [ -z "$(LIBPARTED_UDEB)" ] || \ + rm -f debian/libparted$(LIBPKGVER)-udeb/lib/libparted.so \ + debian/libparted$(LIBPKGVER)-udeb/lib/libparted.la + + [ -z "$(PARTED_UDEB)" ] || $(MAKE) -C build-udeb/parted install \ + DESTDIR=$(CURDIR)/debian/parted$(BINPKGVER)-udeb + +install-dbg: DH_OPTIONS=-plibparted$(LIBPKGVER)-dbg +install-dbg: build-dbg + dh_testdir + dh_testroot + dh_clean -k -plibparted$(LIBPKGVER)-dbg + + install -D -m644 build-dbg/libparted/.libs/libparted.a \ + debian/libparted$(LIBPKGVER)-dbg/usr/lib/libparted_g.a + +# This single target is used to build all the packages, all at once, or +# one at a time. So keep in mind: any options passed to commands here will +# affect _all_ packages. Anything you want to only affect one package +# should be put in another target, such as the install target. +binary-common: + dh_testdir + dh_testroot + dh_installdocs + dh_installchangelogs + dh_installexamples + dh_installmenu + dh_installcron + dh_installman + dh_installinfo + dh_strip + dh_link + dh_compress + dh_fixperms + dh_makeshlibs -V'libparted$(SHAREDLIBPKGVER) (>= $(DEPVER))' \ + --add-udeb=$(shell dh_listpackages | grep -E '^libparted$(LIBPKGVER)-udeb$$') + dh_shlibdeps -Llibparted$(SHAREDLIBPKGVER) \ + -l/debian/libparted$(SHAREDLIBPKGVER)/lib + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb + +# Build architecture independant packages using the common target. +# Unfortunately, we still need to build since the info file has to be +# re-generated before installation and the locales need to be installed :-( +binary-indep: build install +# (Uncomment this next line if you have such packages.) + $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common + +# Build architecture dependant packages using the common target. +# FIXME: this is an ugly hack :-( Work out a better way to build the +# separate debug package ... +binary-arch: build install install-udeb + $(MAKE) -f debian/rules DH_OPTIONS="-a -Nlibparted$(LIBPKGVER)-dbg" binary-common + $(MAKE) -f debian/rules binary-libparted$(LIBPKGVER)-dbg + +# Any other binary targets build just one binary package at a time. +binary-%-dbg: build-dbg install-dbg + $(MAKE) -f debian/rules DH_OPTIONS="-p$(*)-dbg" binary-common + +binary-%: build install + $(MAKE) -f debian/rules DH_OPTIONS=-p$* binary-common + +binary: binary-arch binary-indep + +.PHONY: configure configure-udeb configure-dbg +.PHONY: build build-udeb build-dbg +.PHONY: install install-udeb install-dbg +.PHONY: clean binary-indep binary-arch binary +.PHONY: binary-%-dbg binary-%-udeb binary-% +.PHONY: packaging-files + +include /usr/share/dpatch/dpatch.make --- parted-1.8.8.git.2009.06.03.orig/debian/parted-doc.files +++ parted-1.8.8.git.2009.06.03/debian/parted-doc.files @@ -0,0 +1 @@ +usr/share/info/parted.info --- parted-1.8.8.git.2009.06.03.orig/debian/parted-doc.docs +++ parted-1.8.8.git.2009.06.03/debian/parted-doc.docs @@ -0,0 +1,9 @@ +NEWS +AUTHORS +BUGS +README +THANKS +TODO +doc/API +doc/FAT +doc/USER.jp --- parted-1.8.8.git.2009.06.03.orig/debian/compat +++ parted-1.8.8.git.2009.06.03/debian/compat @@ -0,0 +1 @@ +5 --- parted-1.8.8.git.2009.06.03.orig/debian/patches/devfs.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/devfs.dpatch @@ -0,0 +1,63 @@ +#! /bin/sh -e +## devfs.dpatch by Joey Hess +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: If /proc/partition probing fails, don't assume standard +## DP: partitions, but try out devfs style partitions too. +## DP: Closes: #243635 +## DP: Candidate for upstream integration. + +. `dirname $0`/DPATCH + +@DPATCH@ +diff -urN parted-1.6.99+1.7.0rc5/libparted/arch/linux.c parted-1.6.99+1.7.0rc5-devfs/libparted/arch/linux.c +--- parted-1.6.99+1.7.0rc5/libparted/arch/linux.c 2004-03-09 11:16:18.000000000 +0100 ++++ parted-1.6.99+1.7.0rc5-devfs/libparted/arch/linux.c 2004-04-14 10:01:05.000000000 +0200 +@@ -28,7 +28,8 @@ + #include + #include + #include ++#include + #include + #include + #include + #include +diff -Nur parted-1.6.99+1.7.0rc5/libparted/arch/linux.c parted-1.6.99+1.7.0rc5-devfs/libparted/arch/linux.c +--- parted-1.6.99+1.7.0rc5/libparted/arch/linux.c 2006-04-06 17:56:29.000000000 -0300 ++++ parted-1.6.99+1.7.0rc5-devfs/libparted/arch/linux.c 2006-05-08 15:08:37.000000000 -0300 +@@ -1589,6 +1589,23 @@ + } + + static int ++_probe_devfs_entry (const char *file, const struct stat *sb, int flag) ++{ ++ int len=strlen(file); ++ if (flag == FTW_F && file[len-1] == 'c' && file[len-2] == 's' && ++ file[len-3] == 'i' && file[len-4] == 'd' && file[len-5] == '/') { ++ _ped_device_probe(file); ++ } ++ return 0; ++} ++ ++static void ++_probe_devfs_devices () ++{ ++ ftw ("/dev", _probe_devfs_entry, 32); ++} ++ ++static int + _probe_standard_devices () + { + _ped_device_probe ("/dev/hda"); +@@ -1617,7 +1634,10 @@ + * because /proc/partitions might return devfs stuff, and we might not + * have devfs available + */ +- _probe_standard_devices (); ++ if (_have_devfs ()) ++ _probe_devfs_devices (); ++ else ++ _probe_standard_devices (); + + /* /sys/block is more reliable and consistent; fall back to using + * /proc/partitions if the former is unavailable, however. --- parted-1.8.8.git.2009.06.03.orig/debian/patches/disable_o_direct.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/disable_o_direct.dpatch @@ -0,0 +1,43 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## disk_image.dpatch by Soren Hansen +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Replace the use of O_DIRECT with calls to fsync() at appropriate times. +## DP: Upstream: http://lists.alioth.debian.org/pipermail/parted-devel/2008-August/002392.html + +@DPATCH@ +diff -urNad parted-1.8.8.git.2008.03.24~/libparted/arch/linux.c parted-1.8.8.git.2008.03.24/libparted/arch/linux.c +--- parted-1.8.8.git.2008.03.24~/libparted/arch/linux.c 2008-08-25 08:59:22.318140140 +0200 ++++ parted-1.8.8.git.2008.03.24/libparted/arch/linux.c 2008-08-25 09:01:09.415346391 +0200 +@@ -65,15 +65,9 @@ + #define HDIO_GETGEO 0x0301 /* get device geometry */ + #define HDIO_GET_IDENTITY 0x030d /* get IDE identification info */ + +-#if defined(O_DIRECT) && !(defined(__s390__) || defined(__s390x__)) +-#define RD_MODE (O_RDONLY | O_DIRECT) +-#define WR_MODE (O_WRONLY | O_DIRECT) +-#define RW_MODE (O_RDWR | O_DIRECT) +-#else + #define RD_MODE (O_RDONLY) + #define WR_MODE (O_WRONLY) + #define RW_MODE (O_RDWR) +-#endif + + struct hd_geometry { + unsigned char heads; +@@ -1286,6 +1280,7 @@ + fd = open (name, WR_MODE, 0); + if (fd > 0) { + ioctl (fd, BLKFLSBUF); ++ fsync (fd); + close (fd); + } + } +@@ -1348,6 +1343,7 @@ + + if (dev->dirty) + _flush_cache (dev); ++ fsync (arch_specific->fd); + close (arch_specific->fd); + return 1; + } --- parted-1.8.8.git.2009.06.03.orig/debian/patches/baseline-symbols-update.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/baseline-symbols-update.dpatch @@ -0,0 +1,18 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## baseline-symbols-update.dpatch by Otavio Salvador +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Update the library symbols to detect ABI changes. + +@DPATCH@ +diff -urNad parted-1.8.8.git.2009.06.03~/scripts/data/abi/baseline_symbols.txt parted-1.8.8.git.2009.06.03/scripts/data/abi/baseline_symbols.txt +--- parted-1.8.8.git.2009.06.03~/scripts/data/abi/baseline_symbols.txt 2009-06-25 20:40:19.000000000 +0100 ++++ parted-1.8.8.git.2009.06.03/scripts/data/abi/baseline_symbols.txt 2009-06-25 20:42:04.000000000 +0100 +@@ -38,6 +38,7 @@ + FUNC:ext2_commit_metadata + FUNC:ext2_copy_block + FUNC:ext2_destroy_dev_handle ++FUNC:ext2_determine_itoffset + FUNC:ext2_do_inode + FUNC:ext2_find_free_block + FUNC:ext2_find_free_inode --- parted-1.8.8.git.2009.06.03.orig/debian/patches/udevadm-settle.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/udevadm-settle.dpatch @@ -0,0 +1,77 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## udevadm-settle.dpatch by Colin Watson +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Run udevadm settle around partition table rereads, to avoid races. + +@DPATCH@ +diff -urNad parted-1.8.8.git.2008.03.24~/libparted/arch/linux.c parted-1.8.8.git.2008.03.24/libparted/arch/linux.c +--- parted-1.8.8.git.2008.03.24~/libparted/arch/linux.c 2009-03-10 21:06:10.000000000 +0000 ++++ parted-1.8.8.git.2008.03.24/libparted/arch/linux.c 2009-03-10 21:08:01.000000000 +0000 +@@ -24,6 +24,7 @@ + #include + #include + ++#include + #include + #include + #include +@@ -2661,12 +2662,29 @@ + static int + linux_disk_commit (PedDisk* disk) + { ++ int ret = 1; ++ + if (!_has_partitions (disk)) + return 1; + ++ /* Modern versions of udev may notice the write activity on ++ * partition devices caused by _flush_cache, and may decide to ++ * synthesise some change events as a result. These may in turn run ++ * programs that open partition devices, which will race with us ++ * trying to remove those devices. To avoid this, we need to wait ++ * until udevd has finished processing its event queue. ++ * TODO: for upstream submission, this should check whether udevadm ++ * exists on $PATH. ++ */ ++ if (system ("udevadm settle") != 0) { ++ /* ignore failures */ ++ } ++ + #ifdef ENABLE_DEVICE_MAPPER +- if (disk->dev->type == PED_DEVICE_DM) +- return _dm_reread_part_table (disk); ++ if (disk->dev->type == PED_DEVICE_DM) { ++ ret = _dm_reread_part_table (disk); ++ goto out; ++ } + #endif + if (disk->dev->type != PED_DEVICE_FILE) { + /* The ioctl() command BLKPG_ADD_PARTITION does not notify +@@ -2679,13 +2697,23 @@ + if (disk->dev->type != PED_DEVICE_DASD && + _have_blkpg () && !_have_devfs ()) { + if (_disk_sync_part_table (disk)) +- return 1; ++ goto out; + } + +- return _kernel_reread_part_table (disk->dev); ++ ret = _kernel_reread_part_table (disk->dev); + } + +- return 1; ++out: ++ /* Now we wait for udevd to finish creating device nodes based on ++ * the above activity, so that callers can reliably use them. ++ * TODO: for upstream submission, this should check whether udevadm ++ * exists on $PATH. ++ */ ++ if (system ("udevadm settle") != 0) { ++ /* ignore failures */ ++ } ++ ++ return ret; + } + + static PedDeviceArchOps linux_dev_ops = { --- parted-1.8.8.git.2009.06.03.orig/debian/patches/loop-partitions.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/loop-partitions.dpatch @@ -0,0 +1,21 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## loop-partitions.dpatch by Colin Watson +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Loop devices can only have one partition, so don't generate device +## DP: names such as "/dev/loop0p1". + +@DPATCH@ +diff -urNad parted-1.8.8.git.2009.06.03~/libparted/arch/linux.c parted-1.8.8.git.2009.06.03/libparted/arch/linux.c +--- parted-1.8.8.git.2009.06.03~/libparted/arch/linux.c 2009-06-16 18:38:50.000000000 +0100 ++++ parted-1.8.8.git.2009.06.03/libparted/arch/linux.c 2009-06-16 18:39:41.000000000 +0100 +@@ -2123,6 +2123,9 @@ + /* replace /disc with /path%d */ + strcpy (result, dev->path); + snprintf (result + path_len - 5, 16, "/part%d", num); ++ } else if (!strncmp (dev->path, "/dev/loop", 9)) { ++ /* Loop devices can only have one partition. */ ++ strcpy (result, dev->path); + } else if (dev->type == PED_DEVICE_DAC960 + || dev->type == PED_DEVICE_CPQARRAY + || dev->type == PED_DEVICE_ATARAID --- parted-1.8.8.git.2009.06.03.orig/debian/patches/swap-uuid.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/swap-uuid.dpatch @@ -0,0 +1,32 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## swap-uuid.dpatch by Colin Watson +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Create UUIDs on new swap partitions. + +@DPATCH@ +diff -urNad parted-1.8.8.git.2008.03.24~/libparted/fs/linux_swap/linux_swap.c parted-1.8.8.git.2008.03.24/libparted/fs/linux_swap/linux_swap.c +--- parted-1.8.8.git.2008.03.24~/libparted/fs/linux_swap/linux_swap.c 2008-03-24 22:29:03.000000000 +0000 ++++ parted-1.8.8.git.2008.03.24/libparted/fs/linux_swap/linux_swap.c 2008-06-24 02:06:19.000000000 +0100 +@@ -31,6 +31,7 @@ + #endif /* ENABLE_NLS */ + + #include ++#include + + #define SWAP_SPECIFIC(fs) ((SwapSpecific*) (fs->type_specific)) + #define BUFFER_SIZE 128 +@@ -388,9 +389,13 @@ + if (fs_info->version == 0) { + memcpy (sig, "SWAP-SPACE", 10); + } else { ++ uuid_t uuid_dat; + fs_info->header->new.version = 1; + fs_info->header->new.last_page = fs_info->page_count - 1; + fs_info->header->new.nr_badpages = 0; ++ uuid_generate (uuid_dat); ++ memcpy (fs_info->header->new.sws_uuid, uuid_dat, ++ sizeof (fs_info->header->new.sws_uuid)); + memcpy (sig, "SWAPSPACE2", 10); + } + --- parted-1.8.8.git.2009.06.03.orig/debian/patches/update-ext4-code.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/update-ext4-code.dpatch @@ -0,0 +1,322 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## update-ext4-code.dpatch by Colin Watson +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Improve ext4 support + +@DPATCH@ +diff -urNad parted~/libparted/fs/ext2/ext2.c parted/libparted/fs/ext2/ext2.c +--- parted~/libparted/fs/ext2/ext2.c 2009-05-23 18:46:36.000000000 -0300 ++++ parted/libparted/fs/ext2/ext2.c 2009-05-23 19:35:37.000000000 -0300 +@@ -184,8 +184,8 @@ + + fs->gd[group].bg_free_blocks_count = PED_CPU_TO_LE16 + (EXT2_GROUP_FREE_BLOCKS_COUNT(fs->gd[group]) + diff); +- fs->sb.s_free_blocks_count = PED_CPU_TO_LE32 +- (EXT2_SUPER_FREE_BLOCKS_COUNT(fs->sb) + diff); ++ ext2_super_free_blocks_count_set(&fs->sb, ++ EXT2_SUPER_FREE_BLOCKS_COUNT(fs->sb) + diff); + fs->metadirty |= EXT2_META_SB | EXT2_META_GD; + } + return 1; +@@ -605,7 +605,7 @@ + if (wmeta == EXT2_META_CLEAN) + return 1; + +- fs->sb.s_r_blocks_count = PED_CPU_TO_LE32 ( ++ ext2_super_r_blocks_count_set(&fs->sb, + fs->r_frac * (loff_t)EXT2_SUPER_BLOCKS_COUNT(fs->sb) + / 100); + +@@ -721,7 +721,8 @@ + EXT2_FEATURE_COMPAT_HAS_DIR_INDEX)) || + (EXT2_SUPER_FEATURE_INCOMPAT(fs->sb) + & ~(EXT2_FEATURE_INCOMPAT_FILETYPE | +- EXT3_FEATURE_INCOMPAT_RECOVER)) || ++ EXT3_FEATURE_INCOMPAT_RECOVER | ++ EXT4_FEATURE_INCOMPAT_64BIT)) || + (EXT2_SUPER_FEATURE_RO_COMPAT(fs->sb) + & ~(EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER | + EXT2_FEATURE_RO_COMPAT_LARGE_FILE))) +diff -urNad parted~/libparted/fs/ext2/ext2_fs.h parted/libparted/fs/ext2/ext2_fs.h +--- parted~/libparted/fs/ext2/ext2_fs.h 2009-05-23 18:46:36.000000000 -0300 ++++ parted/libparted/fs/ext2/ext2_fs.h 2009-05-23 19:35:37.000000000 -0300 +@@ -174,9 +174,9 @@ + struct ext2_super_block + { + uint32_t s_inodes_count; /* Inodes count */ +- uint32_t s_blocks_count; /* Blocks count */ +- uint32_t s_r_blocks_count; /* Reserved blocks count */ +- uint32_t s_free_blocks_count; /* Free blocks count */ ++ uint32_t s_blocks_count_lo; /* Blocks count */ ++ uint32_t s_r_blocks_count_lo; /* Reserved blocks count */ ++ uint32_t s_free_blocks_count_lo; /* Free blocks count */ + uint32_t s_free_inodes_count; /* Free inodes count */ + uint32_t s_first_data_block; /* First Data Block */ + uint32_t s_log_block_size; /* Block size */ +@@ -235,10 +235,38 @@ + uint32_t s_journal_inum; /* inode number of journal file */ + uint32_t s_journal_dev; /* device number of journal file */ + uint32_t s_last_orphan; /* start of list of inodes to delete */ ++ uint32_t s_hash_seed[4]; /* HTREE hash seed */ ++ uint8_t s_def_hash_version; /* Default hash version to use */ ++ uint8_t s_reserved_char_pad; ++ uint16_t s_desc_size; /* size of group descriptor */ ++ uint32_t s_default_mount_opts; ++ uint32_t s_first_meta_bg; /* First metablock block group */ ++ uint32_t s_mkfs_time; /* When the filesystem was created */ ++ uint32_t s_jnl_blocks[17]; /* Backup of the journal inode */ ++ /* 64bit support valid if EXT4_FEATURE_INCOMPAT_64BIT */ ++ uint32_t s_blocks_count_hi; /* Blocks count */ ++ uint32_t s_r_blocks_count_hi; /* Reserved blocks count */ ++ uint32_t s_free_blocks_count_hi; /* Free blocks count */ ++ uint16_t s_min_extra_isize; /* All inodes have at least # bytes */ ++ uint16_t s_want_extra_isize; /* New inodes should reserve # bytes */ ++ uint32_t s_flags; /* Miscellaneous flags */ ++ uint16_t s_raid_stride; /* RAID stride */ ++ uint16_t s_mmp_interval; /* # seconds to wait in MMP checking */ ++ uint64_t s_mmp_block; /* Block for multi-mount protection */ ++ uint32_t s_raid_stripe_width; /* blocks on all data disks (N*stride) */ ++ uint8_t s_log_groups_per_flex; /* FLEX_BG group size */ ++ uint8_t s_reserved_char_pad2; ++ uint16_t s_reserved_pad; + +- uint32_t s_reserved[197]; /* Padding to the end of the block */ ++ uint32_t s_reserved[162]; /* Padding to the end of the block */ + }; + ++#define EXT2_SUPER_FEATURE_COMPAT(sb) (PED_LE32_TO_CPU((sb).s_feature_compat)) ++#define EXT2_SUPER_FEATURE_INCOMPAT(sb) \ ++ (PED_LE32_TO_CPU((sb).s_feature_incompat)) ++#define EXT2_SUPER_FEATURE_RO_COMPAT(sb) \ ++ (PED_LE32_TO_CPU((sb).s_feature_ro_compat)) ++ + #define EXT2_DIRENT_INODE(dir_ent) (PED_LE32_TO_CPU((dir_ent).inode)) + #define EXT2_DIRENT_REC_LEN(dir_ent) (PED_LE16_TO_CPU((dir_ent).rec_len)) + #define EXT2_DIRENT_NAME_LEN(dir_ent) ((dir_ent).name_len) +@@ -271,10 +299,44 @@ + #define EXT2_INODE_BLOCK(inode, blk) (PED_LE32_TO_CPU((inode).i_block[blk])) + + #define EXT2_SUPER_INODES_COUNT(sb) (PED_LE32_TO_CPU((sb).s_inodes_count)) +-#define EXT2_SUPER_BLOCKS_COUNT(sb) (PED_LE32_TO_CPU((sb).s_blocks_count)) +-#define EXT2_SUPER_R_BLOCKS_COUNT(sb) (PED_LE32_TO_CPU((sb).s_r_blocks_count)) ++ ++#define EXT2_SUPER_BLOCKS_COUNT(sb) \ ++ ((EXT2_SUPER_FEATURE_INCOMPAT((sb)) & EXT4_FEATURE_INCOMPAT_64BIT) \ ++ ? (((uint64_t) PED_LE32_TO_CPU((sb).s_blocks_count_hi) << 32) \ ++ | PED_LE32_TO_CPU((sb).s_blocks_count_lo)) \ ++ : PED_LE32_TO_CPU((sb).s_blocks_count_lo)) ++#define EXT2_SUPER_R_BLOCKS_COUNT(sb) \ ++ ((EXT2_SUPER_FEATURE_INCOMPAT((sb)) & EXT4_FEATURE_INCOMPAT_64BIT) \ ++ ? (((uint64_t) PED_LE32_TO_CPU((sb).s_r_blocks_count_hi) << 32) \ ++ | PED_LE32_TO_CPU((sb).s_r_blocks_count_lo)) \ ++ : PED_LE32_TO_CPU((sb).s_r_blocks_count_lo)) + #define EXT2_SUPER_FREE_BLOCKS_COUNT(sb) \ +- (PED_LE32_TO_CPU((sb).s_free_blocks_count)) ++ ((EXT2_SUPER_FEATURE_INCOMPAT((sb)) & EXT4_FEATURE_INCOMPAT_64BIT) \ ++ ? (((uint64_t) PED_LE32_TO_CPU((sb).s_free_blocks_count_hi) << 32) \ ++ | PED_LE32_TO_CPU((sb).s_free_blocks_count_lo)) \ ++ : PED_LE32_TO_CPU((sb).s_free_blocks_count_lo)) ++ ++static inline void ext2_super_blocks_count_set(struct ext2_super_block *sb, uint64_t blk) ++{ ++ sb->s_blocks_count_lo = PED_CPU_TO_LE32((uint32_t) blk); ++ if (EXT2_SUPER_FEATURE_INCOMPAT(*sb) & EXT4_FEATURE_INCOMPAT_64BIT) ++ sb->s_blocks_count_hi = PED_CPU_TO_LE32(blk >> 32); ++} ++ ++static inline void ext2_super_free_blocks_count_set(struct ext2_super_block *sb, uint64_t blk) ++{ ++ sb->s_free_blocks_count_lo = PED_CPU_TO_LE32((uint32_t) blk); ++ if (EXT2_SUPER_FEATURE_INCOMPAT(*sb) & EXT4_FEATURE_INCOMPAT_64BIT) ++ sb->s_free_blocks_count_hi = PED_CPU_TO_LE32(blk >> 32); ++} ++ ++static inline void ext2_super_r_blocks_count_set(struct ext2_super_block *sb, uint64_t blk) ++{ ++ sb->s_r_blocks_count_lo = PED_CPU_TO_LE32((uint32_t) blk); ++ if (EXT2_SUPER_FEATURE_INCOMPAT(*sb) & EXT4_FEATURE_INCOMPAT_64BIT) ++ sb->s_r_blocks_count_hi = PED_CPU_TO_LE32(blk >> 32); ++} ++ + #define EXT2_SUPER_FREE_INODES_COUNT(sb) \ + (PED_LE32_TO_CPU((sb).s_free_inodes_count)) + #define EXT2_SUPER_FIRST_DATA_BLOCK(sb) \ +@@ -308,11 +370,6 @@ + #define EXT2_SUPER_FIRST_INO(sb) (PED_LE32_TO_CPU((sb).s_first_ino)) + #define EXT2_SUPER_INODE_SIZE(sb) (PED_LE16_TO_CPU((sb).s_inode_size)) + #define EXT2_SUPER_BLOCK_GROUP_NR(sb) (PED_LE16_TO_CPU((sb).s_block_group_nr)) +-#define EXT2_SUPER_FEATURE_COMPAT(sb) (PED_LE32_TO_CPU((sb).s_feature_compat)) +-#define EXT2_SUPER_FEATURE_INCOMPAT(sb) \ +- (PED_LE32_TO_CPU((sb).s_feature_incompat)) +-#define EXT2_SUPER_FEATURE_RO_COMPAT(sb) \ +- (PED_LE32_TO_CPU((sb).s_feature_ro_compat)) + #define EXT2_SUPER_UUID(sb) ((sb).s_uuid) + #define EXT2_SUPER_VOLUME_NAME(sb) ((sb).s_volume_name) + #define EXT2_SUPER_LAST_MOUNTED(sb) ((sb).s_last_mounted) +diff -urNad parted~/libparted/fs/ext2/ext2_mkfs.c parted/libparted/fs/ext2/ext2_mkfs.c +--- parted~/libparted/fs/ext2/ext2_mkfs.c 2009-05-23 18:46:36.000000000 -0300 ++++ parted/libparted/fs/ext2/ext2_mkfs.c 2009-05-23 19:35:37.000000000 -0300 +@@ -240,7 +240,7 @@ + gd[i].bg_reserved[1] = 0; + gd[i].bg_reserved[2] = 0; + +- sb->s_free_blocks_count = PED_CPU_TO_LE32 ( ++ ext2_super_free_blocks_count_set(sb, + EXT2_SUPER_FREE_BLOCKS_COUNT(*sb) + + EXT2_GROUP_FREE_BLOCKS_COUNT(gd[i])); + } +@@ -424,14 +424,14 @@ + memset(sb, 0, 1024); + + sb->s_inodes_count = PED_CPU_TO_LE32(numgroups * inodes_per_group); +- sb->s_blocks_count = PED_CPU_TO_LE32(numblocks); +- sb->s_r_blocks_count = PED_CPU_TO_LE32(((uint64_t)numblocks ++ ext2_super_blocks_count_set(sb, numblocks); ++ ext2_super_r_blocks_count_set(sb, ((uint64_t)numblocks + * reserved_block_percentage) / 100); + + /* hack: this get's inc'd as we go through each group in + * ext2_mkfs_write_meta() + */ +- sb->s_free_blocks_count = 0; ++ ext2_super_free_blocks_count_set(sb, 0); + sb->s_free_inodes_count = PED_CPU_TO_LE32 (numgroups + * inodes_per_group); + sb->s_first_data_block = PED_CPU_TO_LE32(first_block); +diff -urNad parted~/libparted/fs/ext2/ext2_resize.c parted/libparted/fs/ext2/ext2_resize.c +--- parted~/libparted/fs/ext2/ext2_resize.c 2009-05-23 18:46:36.000000000 -0300 ++++ parted/libparted/fs/ext2/ext2_resize.c 2009-05-23 19:35:37.000000000 -0300 +@@ -104,9 +104,9 @@ + fs->sb.s_inodes_count = PED_CPU_TO_LE32( + EXT2_SUPER_INODES_COUNT(fs->sb) + + EXT2_SUPER_INODES_PER_GROUP(fs->sb)); +- fs->sb.s_blocks_count = PED_CPU_TO_LE32( ++ ext2_super_blocks_count_set(&fs->sb, + EXT2_SUPER_BLOCKS_COUNT(fs->sb) + groupsize); +- fs->sb.s_free_blocks_count = PED_CPU_TO_LE32( ++ ext2_super_free_blocks_count_set(&fs->sb, + EXT2_SUPER_FREE_BLOCKS_COUNT(fs->sb) + groupsize - admin); + fs->sb.s_free_inodes_count = PED_CPU_TO_LE32( + EXT2_SUPER_FREE_INODES_COUNT(fs->sb) +@@ -303,9 +303,9 @@ + fs->sb.s_inodes_count = PED_CPU_TO_LE32( + EXT2_SUPER_INODES_COUNT(fs->sb) + - EXT2_SUPER_INODES_PER_GROUP(fs->sb)); +- fs->sb.s_blocks_count = PED_CPU_TO_LE32( ++ ext2_super_blocks_count_set(&fs->sb, + EXT2_SUPER_BLOCKS_COUNT(fs->sb) - groupsize); +- fs->sb.s_free_blocks_count = PED_CPU_TO_LE32( ++ ext2_super_free_blocks_count_set(&fs->sb, + EXT2_SUPER_FREE_BLOCKS_COUNT(fs->sb) - (groupsize - admin)); + fs->sb.s_free_inodes_count = PED_CPU_TO_LE32( + EXT2_SUPER_FREE_INODES_COUNT(fs->sb) +@@ -357,7 +357,7 @@ + for (i=gblocks;isb.s_blocks_count = PED_CPU_TO_LE32( ++ ext2_super_blocks_count_set(&fs->sb, + EXT2_SUPER_BLOCKS_COUNT(fs->sb) + newsize - gblocks); + fs->metadirty |= EXT2_META_SB; + +@@ -432,9 +432,9 @@ + } + + i = gblocks - newsize; +- fs->sb.s_blocks_count = PED_CPU_TO_LE32( ++ ext2_super_blocks_count_set(&fs->sb, + EXT2_SUPER_BLOCKS_COUNT(fs->sb) - i); +- fs->sb.s_free_blocks_count = PED_CPU_TO_LE32( ++ ext2_super_free_blocks_count_set(&fs->sb, + EXT2_SUPER_FREE_BLOCKS_COUNT(fs->sb) - i); + fs->gd[group].bg_free_blocks_count = PED_CPU_TO_LE16( + EXT2_GROUP_FREE_BLOCKS_COUNT(fs->gd[group]) - i); +@@ -684,6 +684,14 @@ + fs->metadirty |= EXT2_META_SB; + } + ++ if (EXT2_SUPER_FEATURE_INCOMPAT(fs->sb) ++ & EXT4_FEATURE_INCOMPAT_EXTENTS) { ++ ped_exception_throw ( ++ PED_EXCEPTION_ERROR, PED_EXCEPTION_CANCEL, ++ _("Parted cannot resize ext4 file systems yet.")); ++ return 0; ++ } ++ + if (!ext2_determine_itoffset(fs) && ped_exception_throw ( + PED_EXCEPTION_WARNING, + PED_EXCEPTION_OK_CANCEL, +diff -urNad parted~/libparted/fs/ext2/interface.c parted/libparted/fs/ext2/interface.c +--- parted~/libparted/fs/ext2/interface.c 2009-05-23 18:46:36.000000000 -0300 ++++ parted/libparted/fs/ext2/interface.c 2009-05-23 19:35:37.000000000 -0300 +@@ -28,6 +28,7 @@ + + static PedFileSystemType _ext2_type; + static PedFileSystemType _ext3_type; ++static PedFileSystemType _ext4_type; + + struct ext2_dev_handle* ext2_make_dev_handle_from_parted_geometry(PedGeometry* geom); + +@@ -51,24 +52,20 @@ + + is_ext3 = (EXT2_SUPER_FEATURE_COMPAT (sb) + & EXT3_FEATURE_COMPAT_HAS_JOURNAL) != 0; +- if (is_ext3) { +- is_ext4 = ((EXT2_SUPER_FEATURE_RO_COMPAT (sb) +- & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) +- || (EXT2_SUPER_FEATURE_RO_COMPAT (sb) +- & EXT4_FEATURE_RO_COMPAT_DIR_NLINK) +- || (EXT2_SUPER_FEATURE_INCOMPAT (sb) +- & EXT4_FEATURE_INCOMPAT_EXTENTS) +- || (EXT2_SUPER_FEATURE_INCOMPAT (sb) +- & EXT4_FEATURE_INCOMPAT_64BIT)); +- if (is_ext4) +- is_ext3 = 0; +- } ++ is_ext4 = ((EXT2_SUPER_FEATURE_RO_COMPAT (sb) ++ & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) ++ || (EXT2_SUPER_FEATURE_RO_COMPAT (sb) ++ & EXT4_FEATURE_RO_COMPAT_DIR_NLINK) ++ || (EXT2_SUPER_FEATURE_INCOMPAT (sb) ++ & EXT4_FEATURE_INCOMPAT_EXTENTS) ++ || (EXT2_SUPER_FEATURE_INCOMPAT (sb) ++ & EXT4_FEATURE_INCOMPAT_64BIT)); + + if (expect_ext_ver == 2 && (is_ext3 || is_ext4)) + return NULL; +- if (expect_ext_ver == 3 && !is_ext3) ++ if (expect_ext_ver == 3 && (!is_ext3 || is_ext4)) + return NULL; +- else if (expect_ext_ver == 4 && !is_ext4) ++ if (expect_ext_ver == 4 && !is_ext4) + return NULL; + + if (version > 0 && group_nr > 0) { +@@ -351,6 +348,18 @@ + + static PedFileSystemOps _ext4_ops = { + probe: _ext4_probe, ++#ifndef DISCOVER_ONLY ++ clobber: _ext2_clobber, ++ open: _ext2_open, ++ create: NULL, ++ close: _ext2_close, ++ check: _ext2_check, ++ resize: _ext2_resize, ++ copy: NULL, ++ get_create_constraint: _ext2_get_create_constraint, ++ get_copy_constraint: NULL, ++ get_resize_constraint: _ext2_get_resize_constraint ++#else /* !DISCOVER_ONLY */ + clobber: NULL, + open: NULL, + create: NULL, +@@ -361,6 +370,7 @@ + get_create_constraint: NULL, + get_copy_constraint: NULL, + get_resize_constraint: NULL ++#endif /* !DISCOVER_ONLY */ + }; + + #define EXT23_BLOCK_SIZES ((int[6]){512, 1024, 2048, 4096, 8192, 0}) --- parted-1.8.8.git.2009.06.03.orig/debian/patches/reiserfs-libname.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/reiserfs-libname.dpatch @@ -0,0 +1,29 @@ +#! /bin/sh -e +## reiserfs-libname.dpatch by Timshel Knoll +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: loading proper reiserfs shared library names. +## DP: Closes: #163107 +## DP: Debian specific patch, uneeded because libreiserfs is not in sarge. + +. `dirname $0`/DPATCH + +@DPATCH@ +--- parted-1.7.0rc5.orig/libparted/fs/reiserfs/reiserfs.c ++++ parted-1.7.0rc5/libparted/fs/reiserfs/reiserfs.c +@@ -698,13 +698,13 @@ + + static int reiserfs_ops_init(void) + { +- if (!(libreiserfs_handle = dlopen("libreiserfs.so", RTLD_NOW))) ++ if (!(libreiserfs_handle = dlopen("libreiserfs-0.3.so.0", RTLD_NOW))) + goto error; + + if (!reiserfs_ops_interface_version_check()) + goto error_free_libreiserfs_handle; + +- if (!(libdal_handle = dlopen("libdal.so", RTLD_NOW))) ++ if (!(libdal_handle = dlopen("libdal-0.3.so.0", RTLD_NOW))) + goto error_free_libreiserfs_handle; + + INIT_SYM(reiserfs_fs_probe); --- parted-1.8.8.git.2009.06.03.orig/debian/patches/doc-package.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/doc-package.dpatch @@ -0,0 +1,24 @@ +#! /bin/sh -e +## doc-package.dpatch by Timshel Knoll +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Some small debian parted-doc fixup. +## DP: Will stay as debian specific change. + +. `dirname $0`/DPATCH + +@DPATCH@ +diff --git a/doc/C/parted.8 b/doc/C/parted.8 +index 7040402..5affe32 100644 +--- a/doc/C/parted.8 ++++ b/doc/C/parted.8 +@@ -133,7 +133,7 @@ The \fIparted\fP program is fully documented in the + .BR info(1) + format + .IR "GNU partitioning software" +-manual. ++manual which is distributed with the parted-doc Debian package. + .SH AUTHOR + This manual page was written by Timshel Knoll , + for the Debian GNU/Linux system (but may be used by others). +You have new mail in /var/mail/otavio --- parted-1.8.8.git.2009.06.03.orig/debian/patches/sparc-new-label.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/sparc-new-label.dpatch @@ -0,0 +1,214 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## sparc-new-label.dpatch by David S. Miller and +## Fabio M. Di Nitto +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix sparc disk label generation. This is required for LDOM and +## DP: parallel installations with Solaris 10. + +@DPATCH@ +diff -urNad parted-1.8.8.git.2009.06.03~/libparted/labels/sun.c parted-1.8.8.git.2009.06.03/libparted/labels/sun.c +--- parted-1.8.8.git.2009.06.03~/libparted/labels/sun.c 2009-06-16 18:41:06.000000000 +0100 ++++ parted-1.8.8.git.2009.06.03/libparted/labels/sun.c 2009-06-16 18:42:57.000000000 +0100 +@@ -41,12 +41,30 @@ + #define SUN_DISK_MAGIC 0xDABE /* Disk magic number */ + #define SUN_DISK_MAXPARTITIONS 8 + +-#define WHOLE_DISK_ID 0x05 ++#define SUN_TAG_UNASSIGNED 0x00 /* Unassigned partition */ ++#define SUN_TAG_BOOT 0x01 /* Boot partition */ ++#define SUN_TAG_ROOT 0x02 /* Root filesystem */ ++#define SUN_TAG_SWAP 0x03 /* Swap partition */ ++#define SUN_TAG_USR 0x04 /* /usr filesystem */ ++#define SUN_TAG_BACKUP 0x05 /* Full-disk slice */ ++#define SUN_TAG_STAND 0x06 /* Stand partition */ ++#define SUN_TAG_VAR 0x07 /* /var filesystem */ ++#define SUN_TAG_HOME 0x08 /* /home filesystem */ ++#define SUN_TAG_ALTSCTR 0x09 /* Alt sector partition */ ++#define SUN_TAG_CACHE 0x0a /* Cachefs partition */ ++#define SUN_TAG_RESERVED 0x0b /* SMI reserved data */ ++#define SUN_TAG_LINUX_SWAP 0x82 /* Linux SWAP */ ++#define SUN_TAG_LINUX_NATIVE 0x83 /* Linux filesystem */ ++#define SUN_TAG_LINUX_LVM 0x8e /* Linux LVM */ ++#define SUN_TAG_LINUX_RAID 0xfd /* LInux RAID */ ++ ++#define SUN_FLAG_UNMNT 0x01 /* Unmountable partition*/ ++#define SUN_FLAG_RONLY 0x10 /* Read only */ ++ + #define WHOLE_DISK_PART 2 /* as in 0, 1, 2 (3rd partition) */ +-#define LINUX_SWAP_ID 0x82 + + typedef struct _SunRawPartition SunRawPartition; +-typedef struct _SunPartitionInfo SunPartitionInfo; ++typedef struct _SunPartInfo SunPartInfo; + typedef struct _SunRawLabel SunRawLabel; + typedef struct _SunPartitionData SunPartitionData; + typedef struct _SunDiskData SunDiskData; +@@ -56,18 +74,31 @@ + u_int32_t num_sectors; /* ...and it's length */ + }; + +-struct __attribute__ ((packed)) _SunPartitionInfo { +- u_int8_t spare1; +- u_int8_t id; /* Partition type */ +- u_int8_t spare2; +- u_int8_t flags; /* Partition flags */ ++struct __attribute__ ((packed)) _SunPartInfo { ++ u_int16_t tag; /* Tagged type */ ++ u_int16_t flags; /* Partition flags */ + }; + ++#define SUN_LABEL_ID_SIZE 128 ++#define SUN_VOLUME_ID_SIZE 8 ++ ++#define SUN_LABEL_VERSION 0x00000001 ++#define SUN_LABEL_SANE 0x600ddeee ++ + struct __attribute__ ((packed)) _SunRawLabel { +- char info[128]; /* Informative text string */ +- u_int8_t spare0[14]; +- SunPartitionInfo infos[SUN_DISK_MAXPARTITIONS]; +- u_int8_t spare1[246]; /* Boot information etc. */ ++ char label_id[SUN_LABEL_ID_SIZE]; /* Informative text string */ ++ u_int32_t version; ++ char volume_id[SUN_VOLUME_ID_SIZE]; ++ u_int16_t num_part; ++ SunPartInfo infos[SUN_DISK_MAXPARTITIONS]; ++ u_int16_t pad1; ++ u_int32_t bootinfo[3]; ++ u_int32_t sanity; ++ u_int32_t resv[10]; ++ u_int32_t part_timestamps[SUN_DISK_MAXPARTITIONS]; ++ u_int32_t write_reinstruct; ++ u_int32_t read_reinstruct; ++ u_int8_t pad2[148]; + u_int16_t rspeed; /* Disk rotational speed */ + u_int16_t pcylcount; /* Physical cylinder count */ + u_int16_t sparecyl; /* extra sects per cylinder */ +@@ -196,6 +227,9 @@ + + /* #gentoo-sparc people agree that nacyl = 0 is the best option */ + label->magic = PED_CPU_TO_BE16 (SUN_DISK_MAGIC); ++ label->version = PED_CPU_TO_BE32 (SUN_LABEL_VERSION); ++ label->num_part = PED_CPU_TO_BE16 (SUN_DISK_MAXPARTITIONS); ++ label->sanity = PED_CPU_TO_BE32 (SUN_LABEL_SANE); + label->nacyl = 0; + label->pcylcount = PED_CPU_TO_BE16 (bios_geom->cylinders); + label->rspeed = PED_CPU_TO_BE16 (5400); +@@ -206,13 +240,13 @@ + label->ncyl = PED_CPU_TO_BE16 (bios_geom->cylinders - 0); + + /* Add a whole disk partition at a minimum */ +- label->infos[WHOLE_DISK_PART].id = WHOLE_DISK_ID; ++ label->infos[WHOLE_DISK_PART].tag = PED_CPU_TO_BE16 (SUN_TAG_BACKUP); + label->partitions[WHOLE_DISK_PART].start_cylinder = 0; + label->partitions[WHOLE_DISK_PART].num_sectors = + PED_CPU_TO_BE32(bios_geom->cylinders * cyl_size); + + /* Now a neato string to describe this label */ +- snprintf(label->info, sizeof(label->info) - 1, ++ snprintf(label->label_id, sizeof(label->label_id) - 1, + "GNU Parted Custom cyl %d alt %d hd %d sec %d", + PED_BE16_TO_CPU(label->ncyl), + PED_BE16_TO_CPU(label->nacyl), +@@ -329,9 +363,9 @@ + for (i = 0; i < SUN_DISK_MAXPARTITIONS; i++) { + if (!PED_BE32_TO_CPU(label->partitions[i].num_sectors)) + continue; +- if (!label->infos[i].id) ++ if (!label->infos[i].tag) + continue; +- if (label->infos[i].id == WHOLE_DISK_ID) ++ if (label->infos[i].tag == PED_CPU_TO_BE16 (SUN_TAG_BACKUP)) + continue; + + start = PED_BE32_TO_CPU(label->partitions[i].start_cylinder) +@@ -345,11 +379,11 @@ + goto error; + + sun_data = part->disk_specific; +- sun_data->type = label->infos[i].id; +- sun_data->is_boot = sun_data->type == 0x1; +- sun_data->is_root = sun_data->type == 0x2; +- sun_data->is_lvm = sun_data->type == 0x8e; +- sun_data->is_raid = sun_data->type == 0xfd; ++ sun_data->type = PED_BE16_TO_CPU (label->infos[i].tag); ++ sun_data->is_boot = sun_data->type == SUN_TAG_BOOT; ++ sun_data->is_root = sun_data->type == SUN_TAG_ROOT; ++ sun_data->is_lvm = sun_data->type == SUN_TAG_LINUX_LVM; ++ sun_data->is_raid = sun_data->type == SUN_TAG_LINUX_RAID; + + part->num = i + 1; + part->fs_type = ped_file_system_probe (&part->geom); +@@ -377,7 +411,7 @@ + + if (!ped_device_read (disk->dev, &old_label, 0, 1)) + return; +- if (old_label.info [0] ++ if (old_label.label_id [0] + && PED_BE16_TO_CPU (old_label.magic) == SUN_DISK_MAGIC) + memcpy (&sun_specific->raw_label, &old_label, 512); + } +@@ -402,7 +436,7 @@ + memset (label->partitions, 0, + sizeof (SunRawPartition) * SUN_DISK_MAXPARTITIONS); + memset (label->infos, 0, +- sizeof (SunPartitionInfo) * SUN_DISK_MAXPARTITIONS); ++ sizeof (SunPartInfo) * SUN_DISK_MAXPARTITIONS); + + for (i = 0; i < SUN_DISK_MAXPARTITIONS; i++) { + part = ped_disk_get_partition (disk, i + 1); +@@ -412,7 +446,7 @@ + partition, so let's put it there for safety + sake. */ + +- label->infos[i].id = WHOLE_DISK_ID; ++ label->infos[i].tag = PED_CPU_TO_BE16 (SUN_TAG_BACKUP); + label->partitions[i].start_cylinder = 0; + label->partitions[i].num_sectors = + PED_CPU_TO_BE32(disk_data->length); +@@ -422,7 +456,7 @@ + continue; + + sun_data = part->disk_specific; +- label->infos[i].id = sun_data->type; ++ label->infos[i].tag = PED_CPU_TO_BE16 (sun_data->type); + label->partitions[i].start_cylinder + = PED_CPU_TO_BE32 (part->geom.start + / (disk->dev->bios_geom.sectors +@@ -541,28 +575,28 @@ + part->fs_type = fs_type; + + if (sun_data->is_boot) { +- sun_data->type = 0x1; ++ sun_data->type = SUN_TAG_BOOT; + return 1; + } + if (sun_data->is_root) { +- sun_data->type = 0x2; ++ sun_data->type = SUN_TAG_ROOT; + return 1; + } + if (sun_data->is_lvm) { +- sun_data->type = 0x8e; ++ sun_data->type = SUN_TAG_LINUX_LVM; + return 1; + } + if (sun_data->is_raid) { +- sun_data->type = 0xfd; ++ sun_data->type = SUN_TAG_LINUX_RAID; + return 1; + } + +- sun_data->type = 0x83; ++ sun_data->type = SUN_TAG_LINUX_NATIVE; + if (fs_type) { + if (is_linux_swap (fs_type->name)) +- sun_data->type = 0x82; ++ sun_data->type = SUN_TAG_LINUX_SWAP; + else if (!strcmp (fs_type->name, "ufs")) +- sun_data->type = 0x6; ++ sun_data->type = SUN_TAG_STAND; + } + + return 1; --- parted-1.8.8.git.2009.06.03.orig/debian/patches/unpartitioned-disks.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/unpartitioned-disks.dpatch @@ -0,0 +1,70 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## unpartitioned-disks.dpatch by Colin Watson +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Don't try to call BLKPG ioctls or tell device-mapper to create +## DP: partitions on disks that can't be partitioned. + +@DPATCH@ +diff -urNad parted-1.8.8.git.2008.03.24~/libparted/arch/linux.c parted-1.8.8.git.2008.03.24/libparted/arch/linux.c +--- parted-1.8.8.git.2008.03.24~/libparted/arch/linux.c 2009-01-15 00:39:52.000000000 +0000 ++++ parted-1.8.8.git.2008.03.24/libparted/arch/linux.c 2009-01-15 00:42:26.000000000 +0000 +@@ -2179,6 +2179,18 @@ + } + + static int ++_has_partitions (const PedDisk* disk) ++{ ++ PED_ASSERT(disk != NULL, return 0); ++ ++ /* Some devices can't be partitioned. */ ++ if (!strcmp (disk->type->name, "loop")) ++ return 0; ++ ++ return 1; ++} ++ ++static int + _blkpg_part_command (PedDevice* dev, struct blkpg_partition* part, int op) + { + LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); +@@ -2203,6 +2215,9 @@ + PED_ASSERT(disk->dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0, + return 0); + ++ if (!_has_partitions (disk)) ++ return 0; ++ + if (ped_disk_type_check_feature (disk->type, + PED_DISK_TYPE_PARTITION_NAME)) + vol_name = ped_partition_get_name (part); +@@ -2251,6 +2266,9 @@ + { + struct blkpg_partition linux_part; + ++ if (!_has_partitions (disk)) ++ return 0; ++ + memset (&linux_part, 0, sizeof (linux_part)); + linux_part.pno = n; + return _blkpg_part_command (disk->dev, &linux_part, +@@ -2430,6 +2448,9 @@ + char* dm_uuid = NULL; + int uuid_len; + ++ if (!_has_partitions(disk)) ++ return 0; ++ + dev_name = _device_get_part_path (disk->dev, part->num); + if (!dev_name) + return 0; +@@ -2635,6 +2656,9 @@ + static int + linux_disk_commit (PedDisk* disk) + { ++ if (!_has_partitions (disk)) ++ return 1; ++ + #ifdef ENABLE_DEVICE_MAPPER + if (disk->dev->type == PED_DEVICE_DM) + return _dm_reread_part_table (disk); --- parted-1.8.8.git.2009.06.03.orig/debian/patches/preserve-hidden-parts.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/preserve-hidden-parts.dpatch @@ -0,0 +1,35 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## preserve-hidden-parts.dpatch by Ben Hutchings +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This is a fix for bug #491797. It changes the DOS partition +## DP: rewriting code to avoid overwriting empty or hidden primary +## DP: partitions so long as their entries aren't reused. This makes +## DP: fatresize and similar front-ends safe to use in the presence of +## DP: hidden partitions. + +@DPATCH@ +--- a/libparted/labels/dos.c ++++ b/libparted/labels/dos.c +@@ -1148,13 +1148,18 @@ + if (!table.mbr_signature) + table.mbr_signature = generate_random_id(); + +- memset (table.partitions, 0, sizeof (DosRawPartition) * 4); +- table.magic = PED_CPU_TO_LE16 (MSDOS_MAGIC); ++ if (table.magic != PED_CPU_TO_LE16 (MSDOS_MAGIC)) { ++ memset (table.partitions, 0, sizeof (DosRawPartition) * 4); ++ table.magic = PED_CPU_TO_LE16 (MSDOS_MAGIC); ++ } + + for (i=1; i<=4; i++) { + part = ped_disk_get_partition (disk, i); +- if (!part) ++ if (!part) { ++ if (table.partitions [i - 1].type != PARTITION_EMPTY) ++ memset (&table.partitions [i - 1], 0, sizeof (DosRawPartition)); + continue; ++ } + + if (!fill_raw_part (&table.partitions [i - 1], part, 0)) + return 0; --- parted-1.8.8.git.2009.06.03.orig/debian/patches/dmraid.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/dmraid.dpatch @@ -0,0 +1,170 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## dmraid.dpatch by Luke Yelavich +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Patch to ensure that device mapper devices for dmraid arrays do not +## DP: have extra nodes created needlessly, as well as making sure that +## DP: partition nodes for dmraid devices are not probed. + +@DPATCH@ +diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c +index 8f220e0..fa72585 100644 +--- a/libparted/arch/linux.c ++++ b/libparted/arch/linux.c +@@ -268,6 +268,10 @@ struct blkdev_ioctl_param { + + static char* _device_get_part_path (PedDevice* dev, int num); + static int _partition_is_mounted_by_path (const char* path); ++#ifdef ENABLE_DEVICE_MAPPER ++static int _is_dmraid_device (char* devpath); ++static int _is_dmraid_major (char* devpath); ++#endif + + static int + _read_fd (int fd, char **buf) +@@ -473,8 +477,16 @@ _probe_dm_devices () + if (stat (buf, &st) != 0) + continue; + +- if (_is_dm_major(major(st.st_rdev))) +- _ped_device_probe (buf); ++ if (_is_dm_major(major(st.st_rdev))) { ++ if (_is_dmraid_device (buf)) { ++ if (_is_dmraid_major (buf)) { ++ _ped_device_probe (buf); ++ } ++ } else { ++ _ped_device_probe (buf); ++ } ++ } ++ + } + closedir (mapper_dir); + +@@ -2086,6 +2098,10 @@ _device_get_part_path (PedDevice* dev, int num) + } else if (!strncmp (dev->path, "/dev/loop", 9)) { + /* Loop devices can only have one partition. */ + strcpy (result, dev->path); ++#ifdef ENABLE_DEVICE_MAPPER ++ } else if (dev->type == PED_DEVICE_DM && _is_dmraid_device (dev->path)) { ++ snprintf (result, result_len, "%s%d", dev->path, num); ++#endif + } else if (dev->type == PED_DEVICE_DAC960 + || dev->type == PED_DEVICE_CPQARRAY + || dev->type == PED_DEVICE_ATARAID +@@ -2494,6 +2510,8 @@ _dm_add_partition (PedDisk* disk, PedPartition* part) + char* vol_name = NULL; + char* dev_name = NULL; + char* params = NULL; ++ char* dm_uuid = NULL; ++ int uuid_len; + + if (!_has_partitions(disk)) + return 0; +@@ -2524,6 +2542,12 @@ _dm_add_partition (PedDisk* disk, PedPartition* part) + dm_task_set_name (task, vol_name); + dm_task_add_target (task, 0, part->geom.length, + "linear", params); ++ if (_is_dmraid_device (disk->dev->path)) { ++ uuid_len = (strlen (vol_name) + 8); ++ dm_uuid = (char*) ped_malloc (uuid_len); ++ snprintf (dm_uuid, uuid_len, "DMRAID-%s", vol_name); ++ dm_task_set_uuid (task, dm_uuid); ++ } + rc = dm_task_run(task); + if (rc >= 0) { + //printf("0 %ld linear %s\n", part->geom.length, params); +@@ -2531,6 +2555,7 @@ _dm_add_partition (PedDisk* disk, PedPartition* part) + dm_task_destroy(task); + free(params); + free(vol_name); ++ free(dm_uuid); + return 1; + } else { + _dm_remove_map_name(vol_name); +@@ -2571,6 +2596,85 @@ _dm_reread_part_table (PedDisk* disk) + } + return rc; + } ++ ++/* Checks whether the given device-mapper device is part of a dmraid array, ++ * by checking for the string "DMRAID-" at the start of the UUID. ++ */ ++static int ++_is_dmraid_device (char* devpath) ++{ ++ struct dm_task* task = NULL; ++ int rc = 0; ++ const char* dmraid_uuid; ++ char* dm_name = NULL; ++ ++ dm_name = strrchr (devpath, '/'); ++ if (dm_name && *dm_name && *(++dm_name)) ++ dm_name = strdup (dm_name); ++ else ++ dm_name = strdup (devpath); ++ if (!dm_name) ++ return 0; ++ ++ task = dm_task_create (DM_DEVICE_DEPS); ++ if (!task) ++ return 0; ++ ++ dm_task_set_name (task, dm_name); ++ rc = dm_task_run (task); ++ if (rc < 0) { ++ rc = 0; ++ goto err; ++ } ++ rc = 0; ++ ++ dmraid_uuid = dm_task_get_uuid (task); ++ if (strncmp (dmraid_uuid, "DMRAID-", 7) == 0) { ++ rc = 1; ++ } ++ ++err: ++ free (dm_name); ++ dm_task_destroy (task); ++ return rc; ++} ++ ++/* Checks whether the given dmraid device node is a partition node, or the ++ * master node. This is done by checking the /sys/block directory for the node ++ * in question, to determine whether it is a slave of another device-mapper ++ * device. The node should be confirmed as a dmraid device by calling ++ * _is_dmraid_device first. ++ */ ++static int ++_is_dmraid_major (char* devpath) ++{ ++ DIR* sysfs_dir; ++ struct dirent* dent; ++ char dmraid_devpath [32]; ++ struct stat st; ++ ++ if (stat (devpath, &st) != 0) ++ return 0; ++ ++ snprintf (dmraid_devpath, 32, "/sys/block/dm-%d/slaves", minor (st.st_rdev)); ++ ++ sysfs_dir = opendir (dmraid_devpath); ++ if (!sysfs_dir) ++ return 0; ++ ++ while ((dent = readdir (sysfs_dir))) { ++ if (strcmp (dent->d_name, ".") == 0 || ++ strcmp (dent->d_name, "..") == 0) ++ continue; ++ ++ if (strncmp (dent->d_name, "dm-", 3) == 0) ++ return 0; ++ } ++ closedir (sysfs_dir); ++ ++ return 1; ++} ++ + #endif + + static int --- parted-1.8.8.git.2009.06.03.orig/debian/patches/00list +++ parted-1.8.8.git.2009.06.03/debian/patches/00list @@ -0,0 +1,27 @@ +# Debian specific patches +doc-package +reiserfs-libname + +# Patch susceptible to be merged upstream +devfs +#kfreebsd-gnu +unpartitioned-disks +preserve-hidden-parts +update-ext4-code + +# Ubuntu additions +swap-uuid +gptsync +loop-partitions +udevadm-settle +sparc-new-label +disable_o_direct +dmraid + +# Patch which may be obsolet. +#amiga-raid-lvm_fix + +######################### +# ABI checking symbols update +######################## +baseline-symbols-update --- parted-1.8.8.git.2009.06.03.orig/debian/patches/DPATCH +++ parted-1.8.8.git.2009.06.03/debian/patches/DPATCH @@ -0,0 +1,16 @@ +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch}" + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch $patch_opts -p1 -T < $0;; + -unpatch) patch $patch_opts -p1 -R < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 --- parted-1.8.8.git.2009.06.03.orig/debian/patches/amiga-raid-lvm-fix.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/amiga-raid-lvm-fix.dpatch @@ -0,0 +1,36 @@ +#!/bin/sh -e +## amiga_raid_lvm_fix.dpatch by Sven Luther +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Use real partition types instead of flags for RAID/LVM, as partition types they are. + +. `dirname $0`/DPATCH + +@DPATCH@ +--- parted-1.6.23/libparted/disk_amiga.c.orig 2005-07-11 12:24:01.000000000 +0200 ++++ parted-1.6.23/libparted/disk_amiga.c 2005-07-11 12:37:30.464024848 +0200 +@@ -941,12 +942,20 @@ + else partition->pb_Flags &= ~(PED_CPU_TO_BE32(PBFF_NOMOUNT)); + return 1; + case PED_PARTITION_RAID: +- if (state) partition->pb_Flags |= PED_CPU_TO_BE32(PBFF_RAID); +- else partition->pb_Flags &= ~(PED_CPU_TO_BE32(PBFF_RAID)); ++ if (state) partition->de_DosType = PED_CPU_TO_BE32(0x52414944); /* 'RAID' */ ++ else partition->de_DosType = PED_CPU_TO_BE32(0x00000000); ++ if (state) { ++ partition->pb_Flags |= PED_CPU_TO_BE32(PBFF_RAID); ++ partition->pb_Flags &= ~(PED_CPU_TO_BE32(PBFF_LVM)); ++ } else partition->pb_Flags &= ~(PED_CPU_TO_BE32(PBFF_RAID)); + return 1; + case PED_PARTITION_LVM: +- if (state) partition->pb_Flags |= PED_CPU_TO_BE32(PBFF_LVM); +- else partition->pb_Flags &= ~(PED_CPU_TO_BE32(PBFF_LVM)); ++ if (state) partition->de_DosType = PED_CPU_TO_BE32(0x4c564d00); /* 'LVM\0' */ ++ else partition->de_DosType = PED_CPU_TO_BE32(0x00000000); ++ if (state) { ++ partition->pb_Flags |= PED_CPU_TO_BE32(PBFF_LVM); ++ partition->pb_Flags &= ~(PED_CPU_TO_BE32(PBFF_RAID)); ++ } else partition->pb_Flags &= ~(PED_CPU_TO_BE32(PBFF_LVM)); + return 1; + default: + return 0; --- parted-1.8.8.git.2009.06.03.orig/debian/patches/gptsync.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/gptsync.dpatch @@ -0,0 +1,401 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## gptsync.dpatch by Matthew Garrett and +## Colin Watson +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: On Intel Mac systems, write a synced MBR rather than a protective +## DP: MBR. + +@DPATCH@ +diff -urNad parted-1.8.8.git.2008.03.24~/libparted/labels/gpt.c parted-1.8.8.git.2008.03.24/libparted/labels/gpt.c +--- parted-1.8.8.git.2008.03.24~/libparted/labels/gpt.c 2009-03-27 17:11:11.000000000 +0000 ++++ parted-1.8.8.git.2008.03.24/libparted/labels/gpt.c 2009-03-27 17:12:32.000000000 +0000 +@@ -11,6 +11,11 @@ + Per Intel EFI Specification v1.02 + http://developer.intel.com/technology/efi/efi.htm + ++ DMI handling from dmidecode: ++ (C) 2000-2002 Alan Cox ++ (C) 2002-2005 Jean Delvare ++ Reduced for Intel Mac detection by Colin Watson ++ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or +@@ -35,6 +40,8 @@ + #include + #include + #include ++#include ++#include + #include + #include + #include +@@ -258,6 +265,202 @@ + static PedDiskType gpt_disk_type; + + ++#define WORD(x) (*(const uint16_t *)(x)) ++#define DWORD(x) (*(const uint32_t *)(x)) ++ ++struct dmi_header ++{ ++ uint8_t type; ++ uint8_t length; ++ uint16_t handle; ++}; ++ ++#define APPLE_DMI "Apple Computer, Inc." ++#define APPLE_DMI_2 "Apple Inc." ++static int is_apple = 0; ++ ++ ++static int ++checksum (const uint8_t* buf, size_t len) ++{ ++ uint8_t sum = 0; ++ size_t a; ++ ++ for (a = 0; a < len; a++) ++ sum += buf[a]; ++ return (sum == 0); ++} ++ ++/* Copy a physical memory chunk into a memory buffer. ++ * This function allocates memory. ++ */ ++static void* ++mem_chunk (size_t base, size_t len) ++{ ++ void* p; ++ int fd; ++ size_t mmoffset; ++ void* mmp; ++ ++ fd = open ("/dev/mem", O_RDONLY); ++ if (fd == -1) ++ return NULL; ++ ++ p = malloc (len); ++ if (p == NULL) ++ { ++ close (fd); ++ return NULL; ++ } ++ ++#ifdef _SC_PAGESIZE ++ mmoffset = base % sysconf (_SC_PAGESIZE); ++#else ++ mmoffset = base % getpagesize (); ++#endif ++ /* Please note that we don't use mmap() for performance reasons here, ++ * but to workaround problems many people encountered when trying ++ * to read from /dev/mem using regular read() calls. ++ */ ++ mmp = mmap (0, mmoffset + len, PROT_READ, MAP_SHARED, fd, ++ base - mmoffset); ++ if (mmp == MAP_FAILED) { ++ free (p); ++ close (fd); ++ return NULL; ++ } ++ ++ memcpy (p, mmp + mmoffset, len); ++ ++ munmap (mmp, mmoffset + len); ++ ++ close (fd); ++ ++ return p; ++} ++ ++static const char* ++dmi_string (struct dmi_header* dm, uint8_t s) ++{ ++ char* bp = (char*)dm; ++ size_t i, len; ++ ++ if (s == 0) ++ return "Not Specified"; ++ ++ bp += dm->length; ++ while (s > 1 && *bp) ++ { ++ bp += strlen (bp); ++ bp++; ++ s--; ++ } ++ ++ if (!*bp) ++ return ""; ++ ++ /* ASCII filtering */ ++ len = strlen (bp); ++ for (i = 0; i < len; i++) ++ if (bp[i] < 32 || bp[i] == 127) ++ bp[i] = '.'; ++ ++ return bp; ++} ++ ++static char* ++dmi_table (uint32_t base, uint16_t len, uint16_t num) ++{ ++ uint8_t* buf; ++ uint8_t* data; ++ int i = 0; ++ char* ret = NULL; ++ ++ buf = mem_chunk (base, len); ++ if (buf == NULL) ++ return NULL; ++ ++ data = buf; ++ while (i < num && data + sizeof (struct dmi_header) <= buf + len) { ++ uint8_t* next; ++ struct dmi_header* h = (struct dmi_header*)data; ++ ++ /* Stop decoding at end of table marker */ ++ if (h->type == 127) ++ break; ++ ++ /* Look for the next handle */ ++ next = data + h->length; ++ while (next - buf + 1 < len && (next[0] != 0 || next[1] != 0)) ++ next++; ++ next += 2; ++ /* system-manufacturer */ ++ if (h->type == 1 && h->length > 0x04) { ++ ret = strdup (dmi_string (h, data[0x04])); ++ break; ++ } ++ ++ data = next; ++ i++; ++ } ++ ++ free (buf); ++ return ret; ++} ++ ++static char* ++smbios_decode (uint8_t* buf) ++{ ++ if (checksum (buf, buf[0x05]) && ++ memcmp (buf + 0x10, "_DMI_", 5) == 0 && ++ checksum (buf + 0x10, 0x0F)) { ++ return dmi_table (DWORD (buf + 0x18), WORD (buf + 0x16), ++ WORD (buf + 0x1C)); ++ } ++ ++ return NULL; ++} ++ ++static char* ++legacy_decode (uint8_t* buf) ++{ ++ if (checksum (buf, 0x0F)) { ++ return dmi_table (DWORD (buf + 0x08), WORD (buf + 0x06), ++ WORD (buf + 0x0C)); ++ } ++ ++ return NULL; ++} ++ ++static char* ++dmi_system_manufacturer (void) ++{ ++ uint8_t* buf; ++ size_t fp; ++ char* ret = NULL; ++ ++ buf = mem_chunk (0xF0000, 0x10000); ++ if (buf == NULL) ++ return NULL; ++ ++ for (fp = 0; fp <= 0xFFF0; fp += 16) { ++ if (memcmp (buf + fp, "_SM_", 4) == 0 && fp <= 0xFFE0) { ++ ret = smbios_decode (buf + fp); ++ if (ret) ++ break; ++ fp += 16; ++ } else if (memcmp (buf + fp, "_DMI_", 5) == 0) { ++ ret = legacy_decode (buf + fp); ++ if (ret) ++ break; ++ } ++ } ++ ++ free (buf); ++ return ret; ++} ++ ++ + static inline uint32_t + pth_get_size (const PedDevice* dev) + { +@@ -450,7 +653,8 @@ + if (!gpt_sig_found) + return 0; + +- if (ped_device_read(dev, &legacy_mbr, 0, GPT_HEADER_SECTORS)) { ++ if (!is_apple && ++ ped_device_read(dev, &legacy_mbr, 0, GPT_HEADER_SECTORS)) { + if (!_pmbr_is_valid (&legacy_mbr)) { + int ex_status = ped_exception_throw ( + PED_EXCEPTION_WARNING, +@@ -801,6 +1005,10 @@ + * warn if it's not there, and treat the disk as MSDOS, with a note + * for users to use Parted to "fix up" their disk if they + * really want it to be considered GPT. ++ * ++ * Of course, this is incompatible with how Apple handle things. For ++ * legacy BIOS compatibility on Apple machines, we need a valid legacy MBR ++ * rather than a protective one. Aren't standards wonderful? + ************************************************************/ + static int + gpt_read (PedDisk * disk) +@@ -959,6 +1167,96 @@ + return ped_device_write (dev, &pmbr, GPT_PMBR_LBA, GPT_PMBR_SECTORS); + } + ++static int ++fill_raw_part (PartitionRecord_t* raw_part, PedPartition *part, PedSector offset, int number) ++{ ++ GPTPartitionData* gpt_part_data = part->disk_specific; ++ ++ if (part->fs_type) { ++ if (strncmp (part->fs_type->name, "fat", 3) == 0) ++ raw_part->OSType = 0x0b; ++ else if (strncmp (part->fs_type->name, "ntfs", 4) == 0) ++ raw_part->OSType = 0x07; ++ else if (strncmp (part->fs_type->name, "hfs", 3) == 0) ++ raw_part->OSType = 0xaf; ++ else if (strncmp (part->fs_type->name, "ext3", 4) == 0 || ++ strncmp (part->fs_type->name, "ext4", 4) == 0) ++ raw_part->OSType = 0x83; ++ else if (strncmp (part->fs_type->name, "linux-swap", 10) == 0) ++ raw_part->OSType = 0x82; ++ else ++ raw_part->OSType = 0xef; ++ } ++ ++ /* EFI system partitions will have a FAT filesystem and ++ PARTITION_SYSTEM_GUID */ ++ ++ if (!guid_cmp (gpt_part_data->type, PARTITION_SYSTEM_GUID)) { ++ if (raw_part->OSType == 0x0b) { ++ raw_part->OSType = 0xee; ++ } ++ } ++ ++ /* Apple's firmware appears to become unhappy if the second partition ++ isn't bootable */ ++ ++ if (number == 2) ++ raw_part->BootIndicator = 0x80; ++ ++ raw_part->StartingLBA = PED_CPU_TO_LE32 ((part->geom.start - offset) ++ / (part->disk->dev->sector_size / 512)); ++ ++ raw_part->SizeInLBA = PED_CPU_TO_LE32 (part->geom.length ++ / (part->disk->dev->sector_size / 512)); ++ ++ /* Apple's firmware also appears to be unhappy if the EFI system ++ partition doesn't extend all the way to the start of the disk */ ++ ++ if (raw_part->OSType == 0xee) { ++ raw_part->SizeInLBA += raw_part->StartingLBA - 1; ++ raw_part->StartingLBA = 1; ++ } ++ ++ raw_part->StartHead = 0xfe; ++ raw_part->StartSector = 0xff; ++ raw_part->StartTrack = 0xff; ++ raw_part->EndHead = 0xfe; ++ raw_part->EndSector = 0xff; ++ raw_part->EndTrack = 0xff; ++ ++ return 1; ++} ++ ++static int ++_gptsync (const PedDisk * disk) ++{ ++ LegacyMBR_t pmbr; ++ PedPartition* part; ++ int i; ++ ++ if (!ped_device_read (disk->dev, (void*) &pmbr, GPT_PMBR_LBA, ++ GPT_PMBR_SECTORS)) ++ return 0; ++ ++ memset(&pmbr.PartitionRecord, 0, sizeof(pmbr.PartitionRecord)); ++ pmbr.Signature = PED_CPU_TO_LE16(MSDOS_MBR_SIGNATURE); ++ ++ for (i=1; i<=4; i++) { ++ part = ped_disk_get_partition (disk, i); ++ if (!part) ++ continue; ++ ++ if (!fill_raw_part (&pmbr.PartitionRecord [i - 1], part, 0, i)) ++ return 0; ++ } ++ ++ if (!ped_device_write (disk->dev, (void*) &pmbr, GPT_PMBR_LBA, ++ GPT_PMBR_SECTORS)) ++ return 0; ++ ++ return ped_device_sync (disk->dev); ++} ++ + static void + _generate_header (const PedDisk* disk, int alternate, uint32_t ptes_crc, + GuidPartitionTableHeader_t** gpt_p) +@@ -1057,9 +1355,15 @@ + + ptes_crc = efi_crc32 (ptes, ptes_size); + +- /* Write protective MBR */ +- if (!_write_pmbr (disk->dev)) +- goto error_free_ptes; ++ if (is_apple) { ++ /* Write synced MBR */ ++ if (!_gptsync (disk)) ++ goto error_free_ptes; ++ } else { ++ /* Write protective MBR */ ++ if (!_write_pmbr (disk->dev)) ++ goto error_free_ptes; ++ } + + /* Write PTH and PTEs */ + _generate_header (disk, 0, ptes_crc, &gpt); +@@ -1523,10 +1827,27 @@ + void + ped_disk_gpt_init() + { ++ const char* force_gpt_apple; ++ + PED_ASSERT (sizeof (GuidPartitionEntryAttributes_t) == 8, return); + PED_ASSERT (sizeof (GuidPartitionEntry_t) == 128, return); + + ped_disk_type_register (&gpt_disk_type); ++ ++ force_gpt_apple = getenv ("PARTED_GPT_APPLE"); ++ if (force_gpt_apple) { ++ if (strcmp (force_gpt_apple, "1") == 0) ++ is_apple = 1; ++ } else { ++ char* manufacturer = dmi_system_manufacturer (); ++ if (manufacturer && ++ (strncasecmp (APPLE_DMI, manufacturer, ++ strlen (APPLE_DMI)) == 0 || ++ strncasecmp (APPLE_DMI_2, manufacturer, ++ strlen (APPLE_DMI_2)) == 0)) ++ is_apple = 1; ++ free (manufacturer); ++ } + } + + void --- parted-1.8.8.git.2009.06.03.orig/debian/patches/kfreebsd-gnu.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/kfreebsd-gnu.dpatch @@ -0,0 +1,1407 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## kfreebsd-gnu.dpatch by Otavio Salvador +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This dpatch was make to include the patch built by Robert Millan. +## DP: Closes: #363381 +## DP: Upstream: not merged + +@DPATCH@ +diff -urNad parted-1.7.0~/configure.ac parted-1.7.0/configure.ac +--- parted-1.7.0~/configure.ac 2006-05-19 03:54:01.000000000 -0300 ++++ parted-1.7.0/configure.ac 2006-05-19 03:54:02.000000000 -0300 +@@ -48,6 +48,8 @@ + linux*) OS=linux ;; + gnu*) OS=gnu ;; + beos*) OS=beos ;; ++ freebsd* | kfreebsd*-gnu) ++ OS=freebsd ;; + *) AC_MSG_ERROR([Unknown or unsupported OS "$host_os". Only "linux", "gnu" and "beos" are supported in this version of GNU Parted.]) ;; + esac + AC_SUBST(OS) +@@ -164,6 +166,7 @@ + #include + #include + ]) ++AC_CHECK_TYPE(loff_t, long long) + + AM_ENABLE_SHARED + if test "$OS" = linux -a $ac_cv_sizeof_off_t -lt 8; then +@@ -331,6 +334,20 @@ + OS_LIBS="$OS_LIBS -lsocket" + fi + ++dnl FreeBSD (and GNU/kFreeBSD): ++if test "$OS" = freebsd; then ++dnl CFLAGS="$CFLAGS -D_GNU_SOURCE=1" ++ ++dnl libgeom ++ AC_CHECK_LIB(geom, gctl_get_handle, ++ OS_LIBS="$OS_LIBS -lgeom", ++ AC_MSG_ERROR( ++GNU Parted requires libgeom when running on FreeBSD or derivative systems. ++ ) ++ exit ++ ) ++fi ++ + AC_SUBST(OS_LIBS) + + dnl One day, gettext might support libtool... +@@ -352,7 +369,7 @@ + exit + ) + +-AC_CHECK_HEADERS(getopt.h) ++AC_CHECK_HEADERS(getopt.h endian.h sys/endian.h) + + dnl required for libparted/llseek.c (TODO: make linux-x86 only) + if test "$OS" = linux; then +@@ -399,7 +416,9 @@ + + + dnl Checks for library functions. +-AC_CHECK_FUNCS(sigaction) ++if test "$OS" != freebsd; then ++ AC_CHECK_FUNCS(sigaction) ++fi + AC_CHECK_FUNCS(getuid) + + if test "$with_readline" = yes; then +diff -urNad parted-1.7.0~/include/parted/Makefile.am parted-1.7.0/include/parted/Makefile.am +--- parted-1.7.0~/include/parted/Makefile.am 2006-05-19 03:54:01.000000000 -0300 ++++ parted-1.7.0/include/parted/Makefile.am 2006-05-19 03:54:02.000000000 -0300 +@@ -1,6 +1,7 @@ + partedincludedir = $(includedir)/parted + partedinclude_HEADERS = gnu.h \ + linux.h \ ++ freebsd.h \ + constraint.h \ + debug.h \ + device.h \ +diff -urNad parted-1.7.0~/include/parted/freebsd.h parted-1.7.0/include/parted/freebsd.h +--- parted-1.7.0~/include/parted/freebsd.h 1969-12-31 21:00:00.000000000 -0300 ++++ parted-1.7.0/include/parted/freebsd.h 2006-05-19 03:54:02.000000000 -0300 +@@ -0,0 +1,47 @@ ++/* ++ libparted - a library for manipulating disk partitions ++ Copyright (C) 2001 Free Software Foundation, Inc. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA ++*/ ++ ++#ifndef PED_FREEBSD_H_INCLUDED ++#define PED_FREEBSD_H_INCLUDED ++ ++#include ++#include ++ ++#include ++ ++#if !defined(__FreeBSD_version) && defined(__FreeBSD_kernel_version) ++#define __FreeBSD_version __FreeBSD_kernel_version ++#endif ++ ++#define FREEBSD_SPECIFIC(dev) ((FreeBSDSpecific*) (dev)->arch_specific) ++ ++typedef struct _FreeBSDSpecific FreeBSDSpecific; ++ ++struct _FreeBSDSpecific { ++#if (__FreeBSD_version >= 500000) && (__FreeBSD_version < 600000) ++ unsigned char channel; ++ unsigned char device; ++#endif ++ int fd; ++}; ++ ++extern PedArchitecture ped_freebsd_arch; ++ ++#endif /* PED_FREEBSD_H_INCLUDED */ ++ +diff -urNad parted-1.7.0~/libparted/Makefile.am parted-1.7.0/libparted/Makefile.am +--- parted-1.7.0~/libparted/Makefile.am 2006-05-19 03:54:01.000000000 -0300 ++++ parted-1.7.0/libparted/Makefile.am 2006-05-19 03:54:02.000000000 -0300 +@@ -28,7 +28,8 @@ + + EXTRA_libparted_la_SOURCES = arch/linux.c \ + arch/gnu.c \ +- arch/beos.c ++ arch/beos.c \ ++ arch/freebsd.c + + libparted_la_LIBADD = @OS_LIBS@ \ + fs/libfs.la \ +diff -urNad parted-1.7.0~/libparted/arch/freebsd.c parted-1.7.0/libparted/arch/freebsd.c +--- parted-1.7.0~/libparted/arch/freebsd.c 1969-12-31 21:00:00.000000000 -0300 ++++ parted-1.7.0/libparted/arch/freebsd.c 2006-05-19 03:54:02.000000000 -0300 +@@ -0,0 +1,1197 @@ ++/* ++ libparted - a library for manipulating disk partitions ++ Copyright (C) 1999 - 2005 Free Software Foundation, Inc. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA ++*/ ++ ++#include "config.h" ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#if ENABLE_NLS ++# include ++# define _(String) dgettext (PACKAGE, String) ++#else ++# define _(String) (String) ++#endif /* ENABLE_NLS */ ++ ++static char* _device_get_part_path (PedDevice* dev, int num); ++static int _partition_is_mounted_by_path (const char* path); ++ ++static int ++_device_stat (PedDevice* dev, struct stat * dev_stat) ++{ ++ PED_ASSERT (dev != NULL, return 0); ++ PED_ASSERT (!dev->external_mode, return 0); ++ ++ while (1) { ++ if (!stat (dev->path, dev_stat)) { ++ return 1; ++ } else { ++ if (ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_RETRY_CANCEL, ++ _("Could not stat device %s - %s."), ++ dev->path, ++ strerror (errno)) ++ != PED_EXCEPTION_RETRY) ++ return 0; ++ } ++ } ++} ++ ++static int ++_device_probe_type (PedDevice* dev) ++{ ++ struct stat dev_stat; ++ char *np; ++ PedExceptionOption ex_status; ++ ++#if (__FreeBSD_version >= 500000) && (__FreeBSD_version < 600000) ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++#endif ++ ++ if (!_device_stat (dev, &dev_stat)) ++ return 0; ++ ++ if (!S_ISCHR(dev_stat.st_mode)) { ++ dev->type = PED_DEVICE_FILE; ++ return 1; ++ } ++ ++ /* On FreeBSD ad0 ist the ATA device */ ++ np = strrchr(dev->path, '/'); ++ if(np == NULL) ++ { ++ dev->type = PED_DEVICE_UNKNOWN; ++ return 0; ++ } ++ np += 1; /* advance past '/' */ ++ ++ if(strncmp(np, "ad", 2) == 0) ++ { ++ dev->type = PED_DEVICE_IDE; ++ ++ /* ad0 -> channel 0, master ++ * ad1 -> channel 0, slave ++ * ad2 -> channel 1, master ++ * ad3 -> channel 1, slave ++ */ ++#if (__FreeBSD_version >= 500000) && (__FreeBSD_version < 600000) ++ switch(*(np+3)) ++ { ++ case 0: ++ arch_specific->channel = 0; ++ arch_specific->device = 0; ++ break; ++ case 1: ++ arch_specific->channel = 0; ++ arch_specific->device = 1; ++ break; ++ case 2: ++ arch_specific->channel = 1; ++ arch_specific->device = 0; ++ break; ++ case 4: ++ arch_specific->channel = 1; ++ arch_specific->device = 1; ++ break; ++ } ++#endif ++ ++ } ++ else ++ { ++ dev->type = PED_DEVICE_UNKNOWN; ++ } ++ ++ return 1; ++} ++ ++static int ++_device_get_sector_size (PedDevice* dev) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ u_int sector_size = PED_SECTOR_SIZE_DEFAULT; /*makes Valgrind happy*/ ++ ++ PED_ASSERT (dev->open_count, return 0); ++ ++ if (ioctl (arch_specific->fd, DIOCGSECTORSIZE, §or_size) == -1) ++ return PED_SECTOR_SIZE_DEFAULT; ++ ++ if (sector_size != PED_SECTOR_SIZE_DEFAULT) { ++ if (ped_exception_throw ( ++ PED_EXCEPTION_BUG, ++ PED_EXCEPTION_IGNORE_CANCEL, ++ _("The sector size on %s is %d bytes. Parted is known " ++ "not to work properly with drives with sector sizes " ++ "other than %d bytes."), ++ dev->path, ++ sector_size, ++ PED_SECTOR_SIZE_DEFAULT) ++ == PED_EXCEPTION_IGNORE) ++ return sector_size; ++ else ++ return PED_SECTOR_SIZE_DEFAULT; ++ } ++ ++ return sector_size; ++} ++ ++static PedSector ++_device_get_length (PedDevice* dev) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ off_t bytes = 0; ++ ++ PED_ASSERT (dev->open_count > 0, return 0); ++ ++ if(ioctl(arch_specific->fd, DIOCGMEDIASIZE, &bytes) == 0) { ++ return bytes / PED_SECTOR_SIZE_DEFAULT; ++ } ++ ++ return 0; ++} ++ ++ ++#if (__FreeBSD_version >= 500000) && (__FreeBSD_version < 600000) ++# define freebsd_get_ata_params freebsd_get_ata_params_compat5 ++#elif (__FreeBSD_version >= 600000) ++# define freebsd_get_ata_params freebsd_get_ata_params_compat6 ++#else ++# error "parted currently compiles on FreeBSD 5.X and 6.X only" ++#endif ++ ++#if (__FreeBSD_version >= 500000) && (__FreeBSD_version < 600000) ++ ++static int freebsd_get_ata_params_compat5(PedDevice *dev, ++ struct ata_params *ap) ++{ ++ struct ata_cmd iocmd; ++ int fd, ret; ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ ++ if ((fd = open("/dev/ata", O_RDWR)) == -1) ++ { ++ ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_CANCEL, ++ _("Could not get open /dev/ata.")); ++ ++ ret = -1; ++ goto out; ++ } ++ ++ bzero(&iocmd, sizeof(struct ata_cmd)); ++ iocmd.channel = arch_specific->channel; ++ iocmd.device = arch_specific->device; ++ iocmd.cmd = ATAGPARM; ++ ++ if (ioctl(fd, IOCATA, &iocmd) == -1) ++ { ++ ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_CANCEL, ++ _("Could not get ATA parameters. Please" ++ "contact the maintainer.")); ++ ++ ret = -1; ++ goto out; ++ } ++ ++ if (iocmd.u.param.type[arch_specific->device]) { ++ *ap = iocmd.u.param.params[arch_specific->device]; ++ } else ++ { ++ ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_CANCEL, ++ _("Could not get ATA parameters. Please" ++ "contact the maintainer.")); ++ ret = -1; ++ goto out; ++ } ++ ++ ret = 0; ++ ++out: ++ close(fd); ++ ++ return ret; ++} ++ ++#elif __FreeBSD_version >= 600000 ++ ++static int freebsd_get_ata_params_compat6(PedDevice *dev, ++ struct ata_params *ap) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ ++ return ioctl (arch_specific->fd, IOCATAGPARM, &ap); ++} ++ ++#endif ++ ++static int ++_device_probe_geometry (PedDevice* dev) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ struct stat dev_stat; ++ struct ata_params ap; ++ ++ if (!_device_stat (dev, &dev_stat)) ++ return 0; ++ PED_ASSERT (S_ISCHR (dev_stat.st_mode), return 0); ++ ++ dev->length = _device_get_length (dev); ++ if (!dev->length) ++ return 0; ++ ++ dev->sector_size = _device_get_sector_size (dev); ++ if (!dev->sector_size) ++ return 0; ++ ++ dev->bios_geom.sectors = 63; ++ dev->bios_geom.heads = 255; ++ dev->bios_geom.cylinders ++ = dev->length / (63 * 255) ++ / (dev->sector_size / PED_SECTOR_SIZE_DEFAULT); ++ ++ if (freebsd_get_ata_params (dev, &ap) == 0) { ++ dev->hw_geom.sectors = ap.sectors; ++ dev->hw_geom.heads = ap.heads; ++ dev->hw_geom.cylinders = ap.cylinders; ++ } else { ++ dev->hw_geom = dev->bios_geom; ++ } ++ ++ return 1; ++} ++ ++static char* ++strip_name(char* str) ++{ ++ int i; ++ int end = 0; ++ ++ for (i = 0; str[i] != 0; i++) { ++ if (!isspace (str[i]) ++ || (isspace (str[i]) && !isspace (str[i+1]) && str[i+1])) { ++ str [end] = str[i]; ++ end++; ++ } ++ } ++ str[end] = 0; ++ return strdup (str); ++} ++ ++static int ++init_ide (PedDevice* dev) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC(dev); ++ struct stat dev_stat; ++ struct ata_params ap; ++ PedExceptionOption ex_status; ++ char vendor_buf[64]; ++ ++ if (!_device_stat (dev, &dev_stat)) ++ goto error; ++ ++ if (!ped_device_open (dev)) ++ goto error; ++ ++ if (freebsd_get_ata_params (dev, &ap) == -1) { ++ ex_status = ped_exception_throw ( ++ PED_EXCEPTION_WARNING, ++ PED_EXCEPTION_IGNORE_CANCEL, ++ _("Could not get identity of device %s - %s"), ++ dev->path, strerror (errno)); ++ switch (ex_status) { ++ case PED_EXCEPTION_CANCEL: ++ goto error_close_dev; ++ ++ case PED_EXCEPTION_UNHANDLED: ++ ped_exception_catch (); ++ case PED_EXCEPTION_IGNORE: ++ dev->model = strdup(_("IDE")); ++ } ++ } else { ++ snprintf(vendor_buf, 64, "%s/%s", ap.model, ap.revision); ++ dev->model = strip_name (vendor_buf); ++ } ++ ++ if (!_device_probe_geometry (dev)) ++ goto error_close_dev; ++ ++ ped_device_close (dev); ++ return 1; ++ ++error_close_dev: ++ ped_device_close (dev); ++error: ++ return 0; ++} ++ ++static int ++init_file (PedDevice* dev) ++{ ++ struct stat dev_stat; ++ ++ if (!_device_stat (dev, &dev_stat)) ++ goto error; ++ if (!ped_device_open (dev)) ++ goto error; ++ ++ if (S_ISCHR(dev_stat.st_mode)) ++ dev->length = _device_get_length (dev); ++ else ++ dev->length = dev_stat.st_size / 512; ++ if (dev->length <= 0) { ++ ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_CANCEL, ++ _("The device %s is zero-length, and can't possibly " ++ "store a file system or partition table. Perhaps " ++ "you selected the wrong device?"), ++ dev->path); ++ goto error_close_dev; ++ } ++ ++ ped_device_close (dev); ++ ++ dev->bios_geom.cylinders = dev->length / 4 / 32; ++ dev->bios_geom.heads = 4; ++ dev->bios_geom.sectors = 32; ++ dev->hw_geom = dev->bios_geom; ++ dev->sector_size = 512; ++ dev->model = strdup (""); ++ return 1; ++ ++error_close_dev: ++ ped_device_close (dev); ++error: ++ return 0; ++} ++ ++static int ++init_generic (PedDevice* dev, char* model_name) ++{ ++ struct stat dev_stat; ++ PedExceptionOption ex_status; ++ ++ if (!_device_stat (dev, &dev_stat)) ++ goto error; ++ ++ if (!ped_device_open (dev)) ++ goto error; ++ ++ ped_exception_fetch_all (); ++ if (_device_probe_geometry (dev)) { ++ ped_exception_leave_all (); ++ } else { ++ /* hack to allow use of files, for testing */ ++ ped_exception_catch (); ++ ped_exception_leave_all (); ++ ++ ex_status = ped_exception_throw ( ++ PED_EXCEPTION_WARNING, ++ PED_EXCEPTION_IGNORE_CANCEL, ++ _("Unable to determine geometry of " ++ "file/device. You should not use Parted " ++ "unless you REALLY know what you're doing!")); ++ switch (ex_status) { ++ case PED_EXCEPTION_CANCEL: ++ goto error_close_dev; ++ ++ case PED_EXCEPTION_UNHANDLED: ++ ped_exception_catch (); ++ case PED_EXCEPTION_IGNORE: ++ ; // just workaround for gcc 3.0 ++ } ++ ++ /* what should we stick in here? */ ++ dev->length = dev_stat.st_size / PED_SECTOR_SIZE_DEFAULT; ++ dev->bios_geom.cylinders = dev->length / 4 / 32; ++ dev->bios_geom.heads = 4; ++ dev->bios_geom.sectors = 32; ++ dev->sector_size = PED_SECTOR_SIZE_DEFAULT; ++ } ++ ++ dev->model = strdup (model_name); ++ ++ ped_device_close (dev); ++ return 1; ++ ++error_close_dev: ++ ped_device_close (dev); ++error: ++ return 0; ++} ++ ++static PedDevice* ++freebsd_new (const char* path) ++{ ++ PedDevice* dev; ++ ++ PED_ASSERT (path != NULL, return NULL); ++ ++ dev = (PedDevice*) ped_malloc (sizeof (PedDevice)); ++ if (!dev) ++ goto error; ++ ++ dev->path = strdup (path); ++ if (!dev->path) ++ goto error_free_dev; ++ ++ dev->arch_specific ++ = (FreeBSDSpecific*) ped_malloc (sizeof (FreeBSDSpecific)); ++ if (!dev->arch_specific) ++ goto error_free_path; ++ ++ dev->open_count = 0; ++ dev->read_only = 0; ++ dev->external_mode = 0; ++ dev->dirty = 0; ++ dev->boot_dirty = 0; ++ ++ if (!_device_probe_type (dev)) ++ goto error_free_arch_specific; ++ ++ switch (dev->type) { ++ case PED_DEVICE_IDE: ++ if (!init_ide (dev)) ++ goto error_free_arch_specific; ++ break; ++ ++ default: ++ ped_exception_throw (PED_EXCEPTION_NO_FEATURE, ++ PED_EXCEPTION_CANCEL, ++ _("ped_device_new() Unsupported device type")); ++ goto error_free_arch_specific; ++ } ++ return dev; ++ ++error_free_arch_specific: ++ ped_free (dev->arch_specific); ++error_free_path: ++ ped_free (dev->path); ++error_free_dev: ++ ped_free (dev); ++error: ++ return NULL; ++} ++ ++static void ++freebsd_destroy (PedDevice* dev) ++{ ++ ped_free (dev->arch_specific); ++ ped_free (dev->path); ++ ped_free (dev->model); ++ ped_free (dev); ++} ++ ++static int ++freebsd_is_busy (PedDevice* dev) ++{ ++ int i; ++ char* part_name; ++ ++ if (_partition_is_mounted_by_path (dev->path)) ++ return 1; ++ ++ for (i = 0; i < 32; i++) { ++ int status; ++ ++ part_name = _device_get_part_path (dev, i); ++ if (!part_name) ++ return 1; ++ status = _partition_is_mounted_by_path (part_name); ++ ped_free (part_name); ++ ++ if (status) ++ return 1; ++ } ++ ++ return 0; ++} ++ ++#if (__FreeBSD_version >= 500000) && (__FreeBSD_version < 600000) ++# define _flush_cache freebsd_flush_cache_compat5 ++#elif (__FreeBSD_version >= 600000) ++# define _flush_cache freebsd_flush_cache_compat6 ++#else ++# error "parted currently compiles on FreeBSD 5.X and 6.X only" ++#endif ++ ++#if (__FreeBSD_version >= 500000) && (__FreeBSD_version < 600000) ++ ++static void ++freebsd_flush_cache_compat5 (PedDevice* dev) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ int fd; ++ struct ata_cmd iocmd; ++ ++ if (freebsd_is_busy(dev)) ++ printf("FreeBSD: Device %s is mounted. Not flushing cache.\n", ++ dev->path); ++ ++ if ((fd = open("/dev/ata", O_RDWR)) == -1) ++ { ++ ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_CANCEL, ++ _("Could not open /dev/ata.")); ++ ++ goto out; ++ } ++ ++ if (dev->read_only) ++ goto out; ++ dev->dirty = 0; ++ ++ bzero(&iocmd, sizeof(struct ata_cmd)); ++ iocmd.channel = arch_specific->channel; ++ iocmd.device = arch_specific->device; ++ iocmd.cmd = ATAREQUEST; ++ iocmd.u.request.u.ata.command = ATA_FLUSHCACHE; ++ ++ if (ioctl(fd, IOCATA, &iocmd) == -1) ++ { ++ ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_CANCEL, ++ _("Could not flush cache.")); ++ ++ goto out; ++ } ++ ++out: ++ close (fd); ++ ++ return; ++} ++ ++#elif __FreeBSD_version >= 600000 ++ ++static void ++freebsd_flush_cache_compat6 (PedDevice* dev) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ struct ata_ioc_request ioreq; ++ ++ if (freebsd_is_busy(dev)) ++ printf("FreeBSD: Device %s is mounted. Not flushing cache.\n", ++ dev->path); ++ ++ if (dev->read_only) ++ return; ++ dev->dirty = 0; ++ ++ bzero(&ioreq, sizeof(struct ata_ioc_request)); ++ ioreq.u.ata.command = ATA_FLUSHCACHE; ++ ++ if (ioctl(arch_specific->fd, IOCATAREQUEST, &ioreq) == -1) ++ { ++ ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_CANCEL, ++ _("Could not flush cache.")); ++ return; ++ } ++ ++ return; ++} ++ ++#endif ++ ++/* By default, kernel of FreeBSD does not allow overwriting MBR */ ++#define GEOM_SYSCTL "kern.geom.debugflags" ++ ++static int ++freebsd_open (PedDevice* dev) ++{ ++ int old_flags, flags; ++ size_t sizeof_int = sizeof (int); ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ ++retry: ++ if (sysctlbyname (GEOM_SYSCTL, &old_flags, &sizeof_int, NULL, 0) != 0) ++ ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_OK, ++ _("Unable to get %s sysctl (%s)."), GEOM_SYSCTL, ++ strerror (errno)); ++ ++ if ((old_flags & 0x10) == 0) ++ { ++ /* "allow foot shooting", see geom(4) */ ++ flags = old_flags | 0x10; ++ ++ if (sysctlbyname (GEOM_SYSCTL, NULL, NULL, &flags, sizeof (int)) != 0) ++ { ++ flags = old_flags; ++ ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_OK, ++ _("Unable to set %s sysctl (%s)."), GEOM_SYSCTL, ++ strerror (errno)); ++ } ++ } ++ else ++ flags = old_flags; ++ ++ arch_specific->fd = open (dev->path, O_RDWR); ++ ++ if (flags != old_flags) ++ { ++ if (sysctlbyname (GEOM_SYSCTL, NULL, NULL, &old_flags, sizeof (int)) != 0) ++ ped_exception_throw (PED_EXCEPTION_WARNING, PED_EXCEPTION_OK, ++ _("Unable to set %s sysctl (%s)."), GEOM_SYSCTL, ++ strerror (errno)); ++ } ++ ++ if (arch_specific->fd == -1) { ++ char* rw_error_msg = strerror (errno); ++ ++ arch_specific->fd = open (dev->path, O_RDONLY); ++ if (arch_specific->fd == -1) { ++ if (ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_RETRY_CANCEL, ++ _("Error opening %s: %s"), ++ dev->path, strerror (errno)) ++ != PED_EXCEPTION_RETRY) { ++ return 0; ++ } else { ++ goto retry; ++ } ++ } else { ++ ped_exception_throw ( ++ PED_EXCEPTION_WARNING, ++ PED_EXCEPTION_OK, ++ _("Unable to open %s read-write (%s). %s has " ++ "been opened read-only."), ++ dev->path, rw_error_msg, dev->path); ++ dev->read_only = 1; ++ } ++ } else { ++ dev->read_only = 0; ++ } ++ ++ _flush_cache (dev); ++ ++ return 1; ++} ++ ++static int ++freebsd_refresh_open (PedDevice* dev) ++{ ++ return 1; ++} ++ ++static int ++freebsd_close (PedDevice* dev) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ ++ if (dev->dirty) ++ _flush_cache (dev); ++ close (arch_specific->fd); ++ return 1; ++} ++ ++static int ++freebsd_refresh_close (PedDevice* dev) ++{ ++ if (dev->dirty) ++ _flush_cache (dev); ++ return 1; ++} ++ ++static int ++_device_seek (const PedDevice* dev, PedSector sector) ++{ ++ FreeBSDSpecific* arch_specific; ++ off_t pos; ++ ++ PED_ASSERT (dev != NULL, return 0); ++ PED_ASSERT (!dev->external_mode, return 0); ++ ++ arch_specific = FREEBSD_SPECIFIC (dev); ++ ++ pos = sector * PED_SECTOR_SIZE_DEFAULT; ++ return lseek (arch_specific->fd, pos, SEEK_SET) == pos; ++} ++ ++static int ++freebsd_read (const PedDevice* dev, void* buffer, PedSector start, PedSector count) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ int status; ++ PedExceptionOption ex_status; ++ size_t read_length = count * PED_SECTOR_SIZE_DEFAULT; ++ ++ while (1) { ++ if (_device_seek (dev, start)) ++ break; ++ ++ ex_status = ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_RETRY_IGNORE_CANCEL, ++ _("%s during seek for read on %s"), ++ strerror (errno), dev->path); ++ ++ switch (ex_status) { ++ case PED_EXCEPTION_IGNORE: ++ return 1; ++ ++ case PED_EXCEPTION_RETRY: ++ break; ++ ++ case PED_EXCEPTION_UNHANDLED: ++ ped_exception_catch (); ++ case PED_EXCEPTION_CANCEL: ++ return 0; ++ } ++ } ++ ++ while (1) { ++ status = read (arch_specific->fd, buffer, read_length); ++ if (status == count * PED_SECTOR_SIZE_DEFAULT) break; ++ if (status > 0) { ++ read_length -= status; ++ buffer += status; ++ continue; ++ } ++ ++ ex_status = ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_RETRY_IGNORE_CANCEL, ++ _("%s during read on %s"), ++ strerror (errno), ++ dev->path); ++ ++ switch (ex_status) { ++ case PED_EXCEPTION_IGNORE: ++ return 1; ++ ++ case PED_EXCEPTION_RETRY: ++ break; ++ ++ case PED_EXCEPTION_UNHANDLED: ++ ped_exception_catch (); ++ case PED_EXCEPTION_CANCEL: ++ return 0; ++ } ++ } ++ ++ return 1; ++} ++ ++static int ++freebsd_write (PedDevice* dev, const void* buffer, PedSector start, ++ PedSector count) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ int status; ++ PedExceptionOption ex_status; ++ size_t write_length = count * PED_SECTOR_SIZE_DEFAULT; ++ ++ if (dev->read_only) { ++ if (ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_IGNORE_CANCEL, ++ _("Can't write to %s, because it is opened read-only."), ++ dev->path) ++ != PED_EXCEPTION_IGNORE) ++ return 0; ++ else ++ return 1; ++ } ++ ++ while (1) { ++ if (_device_seek (dev, start)) ++ break; ++ ++ ex_status = ped_exception_throw ( ++ PED_EXCEPTION_ERROR, PED_EXCEPTION_RETRY_IGNORE_CANCEL, ++ _("%s during seek for write on %s"), ++ strerror (errno), dev->path); ++ ++ switch (ex_status) { ++ case PED_EXCEPTION_IGNORE: ++ return 1; ++ ++ case PED_EXCEPTION_RETRY: ++ break; ++ ++ case PED_EXCEPTION_UNHANDLED: ++ ped_exception_catch (); ++ case PED_EXCEPTION_CANCEL: ++ return 0; ++ } ++ } ++ ++#ifdef READ_ONLY ++ printf ("ped_device_write (\"%s\", %p, %d, %d)\n", ++ dev->path, buffer, (int) start, (int) count); ++#else ++ dev->dirty = 1; ++ while (1) { ++ status = write (arch_specific->fd, buffer, write_length); ++ if (status == count * PED_SECTOR_SIZE_DEFAULT) break; ++ if (status > 0) { ++ write_length -= status; ++ buffer += status; ++ continue; ++ } ++ ++ ex_status = ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_RETRY_IGNORE_CANCEL, ++ _("%s during write on %s"), ++ strerror (errno), dev->path); ++ ++ switch (ex_status) { ++ case PED_EXCEPTION_IGNORE: ++ return 1; ++ ++ case PED_EXCEPTION_RETRY: ++ break; ++ ++ case PED_EXCEPTION_UNHANDLED: ++ ped_exception_catch (); ++ case PED_EXCEPTION_CANCEL: ++ return 0; ++ } ++ } ++#endif /* !READ_ONLY */ ++ return 1; ++} ++ ++/* returns the number of sectors that are ok. ++ */ ++static PedSector ++freebsd_check (PedDevice* dev, void* buffer, PedSector start, PedSector count) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ PedSector done = 0; ++ int status; ++ ++ if (!_device_seek (dev, start)) ++ return 0; ++ ++ for (done = 0; done < count; done += status / PED_SECTOR_SIZE_DEFAULT) { ++ status = read (arch_specific->fd, buffer, ++ (size_t) ((count-done) * PED_SECTOR_SIZE_DEFAULT)); ++ if (status < 0) ++ break; ++ } ++ ++ return done; ++} ++ ++static int ++_do_fsync (PedDevice* dev) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ int status; ++ PedExceptionOption ex_status; ++ ++ while (1) { ++ status = fsync (arch_specific->fd); ++ if (status >= 0) break; ++ ++ ex_status = ped_exception_throw ( ++ PED_EXCEPTION_ERROR, ++ PED_EXCEPTION_RETRY_IGNORE_CANCEL, ++ _("%s during write on %s"), ++ strerror (errno), dev->path); ++ ++ switch (ex_status) { ++ case PED_EXCEPTION_IGNORE: ++ return 1; ++ ++ case PED_EXCEPTION_RETRY: ++ break; ++ ++ case PED_EXCEPTION_UNHANDLED: ++ ped_exception_catch (); ++ case PED_EXCEPTION_CANCEL: ++ return 0; ++ } ++ } ++ return 1; ++} ++ ++static int ++freebsd_sync (PedDevice* dev) ++{ ++ PED_ASSERT (dev != NULL, return 0); ++ PED_ASSERT (!dev->external_mode, return 0); ++ ++ if (dev->read_only) ++ return 1; ++ if (!_do_fsync (dev)) ++ return 0; ++ _flush_cache (dev); ++ return 1; ++} ++ ++static int ++freebsd_sync_fast (PedDevice* dev) ++{ ++ PED_ASSERT (dev != NULL, return 0); ++ PED_ASSERT (!dev->external_mode, return 0); ++ ++ if (dev->read_only) ++ return 1; ++ if (!_do_fsync (dev)) ++ return 0; ++ /* no cache flush... */ ++ return 1; ++} ++ ++/* XXX code from /usr/src/lib/libdisk/disk.c */ ++static int ++_probe_standard_devices () ++{ ++ char dev_name [16]; ++ char dev_type [16]; ++ char fullpath [256]; ++ int ret; ++ char* conftxt; ++ char* cptr; ++ size_t txtsize; ++ ++ ++ ret = sysctlbyname("kern.geom.conftxt", NULL, &txtsize, NULL, 0); ++ if (ret) { ++ printf("kern.geom.conftxt sysctl not available, giving up!"); ++ return 0; ++ } ++ conftxt = ped_malloc(txtsize+1); ++ if (conftxt == NULL) { ++ printf("cannot malloc memory for conftxt"); ++ return 0; ++ } ++ ret = sysctlbyname("kern.geom.conftxt", conftxt, &txtsize, NULL, 0); ++ if (ret) { ++ printf("error reading kern.geom.conftxt from the system"); ++ free (conftxt); ++ return 0; ++ } ++ ++ cptr = conftxt; ++ ++ while (sscanf (cptr, "%*d %s %s", ++ dev_type, dev_name) != EOF) { ++ if (strcmp(dev_type, "DISK") == 0) ++ { ++ strcpy (fullpath, _PATH_DEV); ++ strcat (fullpath, dev_name); ++ printf("FreeBSD: probing %s...\n", fullpath); ++ _ped_device_probe (fullpath); ++ } ++ ++ cptr = strchr(cptr, '\n'); ++ cptr++; ++ } ++ ++ ped_free(conftxt); ++ ++ return 1; ++} ++ ++static void ++freebsd_probe_all () ++{ ++ _probe_standard_devices (); ++} ++ ++static char* ++_device_get_part_path (PedDevice* dev, int num) ++{ ++ int path_len = strlen (dev->path); ++ int result_len = path_len + 16; ++ char* result; ++ ++ result = (char*) ped_malloc (result_len); ++ if (!result) ++ return NULL; ++ ++ /* append slice number (ad0, partition 1 => ad0s1)*/ ++ snprintf (result, result_len, "%ss%d", dev->path, num); ++ ++ return result; ++} ++ ++static char* ++freebsd_partition_get_path (const PedPartition* part) ++{ ++ return _device_get_part_path (part->disk->dev, part->num); ++} ++ ++/* XXX code from /usr/src/sbin/mount/mount.c:getmntpt() */ ++static int ++_partition_is_mounted_by_path (const char *path) ++{ ++ struct stat part_stat, mntdevstat; ++ struct statfs *mntbuf, *statfsp; ++ char *devname; ++ char device[256]; ++ int mntsize, i; ++ ++ if (stat (path, &part_stat) != 0) ++ return 0; ++ ++ if (!S_ISCHR(part_stat.st_mode)) ++ return 0; ++ ++ mntsize = getmntinfo(&mntbuf, MNT_NOWAIT); ++ for (i = 0; i < mntsize; i++) { ++ statfsp = &mntbuf[i]; ++ devname = statfsp->f_mntfromname; ++ if (*devname != '/') { ++ strcpy(device, _PATH_DEV); ++ strcat(device, devname); ++ strcpy(statfsp->f_mntfromname, device); ++ } ++ if (stat(devname, &mntdevstat) == 0 && ++ mntdevstat.st_rdev == part_stat.st_rdev) ++ return 1; ++ } ++ ++ return 0; ++} ++ ++static int ++_partition_is_mounted (const PedPartition *part) ++{ ++ dev_t dev; ++ if (!ped_partition_is_active (part)) ++ return 0; ++ ++ return _partition_is_mounted_by_path (part->disk->dev->path); ++} ++ ++static int ++freebsd_partition_is_busy (const PedPartition* part) ++{ ++ PedPartition* walk; ++ ++ PED_ASSERT (part != NULL, return 0); ++ ++ if (_partition_is_mounted (part)) ++ return 1; ++ if (part->type == PED_PARTITION_EXTENDED) { ++ for (walk = part->part_list; walk; walk = walk->next) { ++ if (freebsd_partition_is_busy (walk)) ++ return 1; ++ } ++ } ++ return 0; ++} ++ ++/* XXX maybe read the MBR again and hand it over to geom? */ ++static int ++_kernel_reread_part_table (PedDevice* dev) ++{ ++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev); ++ int retry_count = 5; ++ struct gctl_req *grq; ++ char mbr_buf[512]; ++ const char *q; ++ ++ sync(); ++ ++ freebsd_read (dev, mbr_buf, 0, 1); ++ ++ grq = gctl_get_handle(); ++ gctl_ro_param(grq, "verb", -1, "write MBR"); ++ gctl_ro_param(grq, "class", -1, "MBR"); ++ q = strrchr(dev->path, '/'); ++ if (q == NULL) ++ q = dev->path; ++ else ++ q++; ++ gctl_ro_param(grq, "geom", -1, q); ++ gctl_ro_param(grq, "data", dev->sector_size, mbr_buf); ++ q = gctl_issue(grq); ++ if (q == NULL) { ++ gctl_free(grq); ++ return(0); ++ } ++ ++ gctl_free(grq); ++ ++ return 1; ++} ++ ++static int ++freebsd_disk_commit (PedDisk* disk) ++{ ++ if (disk->dev->type != PED_DEVICE_FILE) ++ return _kernel_reread_part_table (disk->dev); ++ ++ return 1; ++} ++ ++static PedDeviceArchOps freebsd_dev_ops = { ++ _new: freebsd_new, ++ destroy: freebsd_destroy, ++ is_busy: freebsd_is_busy, ++ open: freebsd_open, ++ refresh_open: freebsd_refresh_open, ++ close: freebsd_close, ++ refresh_close: freebsd_refresh_close, ++ read: freebsd_read, ++ write: freebsd_write, ++ check: freebsd_check, ++ sync: freebsd_sync, ++ sync_fast: freebsd_sync_fast, ++ probe_all: freebsd_probe_all ++}; ++ ++PedDiskArchOps freebsd_disk_ops = { ++ partition_get_path: freebsd_partition_get_path, ++ partition_is_busy: freebsd_partition_is_busy, ++ disk_commit: freebsd_disk_commit ++}; ++ ++PedArchitecture ped_freebsd_arch = { ++ dev_ops: &freebsd_dev_ops, ++ disk_ops: &freebsd_disk_ops ++}; +diff -urNad parted-1.7.0~/libparted/fs/xfs/platform_defs.h parted-1.7.0/libparted/fs/xfs/platform_defs.h +--- parted-1.7.0~/libparted/fs/xfs/platform_defs.h 2006-05-19 03:54:01.000000000 -0300 ++++ parted-1.7.0/libparted/fs/xfs/platform_defs.h 2006-05-19 03:54:02.000000000 -0300 +@@ -38,7 +38,11 @@ + #include + #include + #include +-#include ++#if HAVE_ENDIAN_H ++# include ++#elif HAVE_SYS_ENDIAN_H ++# include ++#endif + #include + #include + #include +diff -urNad parted-1.7.0~/libparted/labels/bsd.c parted-1.7.0/libparted/labels/bsd.c +--- parted-1.7.0~/libparted/labels/bsd.c 2006-05-19 03:54:01.000000000 -0300 ++++ parted-1.7.0/libparted/labels/bsd.c 2006-05-19 03:54:02.000000000 -0300 +@@ -24,6 +24,8 @@ + + #include + ++#include ++ + #include + #include + #include +diff -urNad parted-1.7.0~/libparted/labels/sun.c parted-1.7.0/libparted/labels/sun.c +--- parted-1.7.0~/libparted/labels/sun.c 2006-05-19 03:54:01.000000000 -0300 ++++ parted-1.7.0/libparted/labels/sun.c 2006-05-19 03:54:02.000000000 -0300 +@@ -24,6 +24,8 @@ + + #include + ++#include ++ + #include + #include + #include +diff -urNad parted-1.7.0~/libparted/libparted.c parted-1.7.0/libparted/libparted.c +--- parted-1.7.0~/libparted/libparted.c 2006-05-19 03:54:01.000000000 -0300 ++++ parted-1.7.0/libparted/libparted.c 2006-05-19 03:54:02.000000000 -0300 +@@ -26,6 +26,8 @@ + # include + #elif defined(__BEOS__) + # include ++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++# include + #else + # include + #endif +@@ -182,6 +184,8 @@ + ped_set_architecture (&ped_linux_arch); + #elif defined(__BEOS__) + ped_set_architecture (&ped_beos_arch); ++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++ ped_set_architecture (&ped_freebsd_arch); + #else + ped_set_architecture (&ped_gnu_arch); + #endif --- parted-1.8.8.git.2009.06.03.orig/debian/patches/UPSTREAM +++ parted-1.8.8.git.2009.06.03/debian/patches/UPSTREAM @@ -0,0 +1,8 @@ +These are the patches we want to include upstream : + +s390.dpatch * copyright * + +# Should be already merged on 1.6.25 + +# Backport from 1.6.26 +fix_rescue_segfault.dpatch --- parted-1.8.8.git.2009.06.03.orig/debian/patches/freebsd.dpatch +++ parted-1.8.8.git.2009.06.03/debian/patches/freebsd.dpatch @@ -0,0 +1,92 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## kfreebsd-gnu.dpatch by Otavio Salvador +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This dpatch was make to include the patch built by Robert Millan. +## DP: Closes: #363381 +## DP: Upstream: not merged +## DP: Status: broken part of kfreebsd-gnu.dpatch, separated for reference, but not applied. + +@DPATCH@ +diff -urNad parted-1.7.0~/parted/strlist.h parted-1.7.0/parted/strlist.h +--- parted-1.7.0~/parted/strlist.h 2004-02-23 22:02:20.000000000 -0300 ++++ parted-1.7.0/parted/strlist.h 2006-05-19 03:54:02.000000000 -0300 +@@ -20,7 +20,18 @@ + #ifndef STRLIST_H_INCLUDED + #define STRLIST_H_INCLUDED + +-#include ++ ++#ifdef ENABLE_NLS ++# define _GNU_SOURCE ++# include ++#else ++# ifdef wchar_t ++# undef wchar_t ++# endif ++# define _GNU_SOURCE ++# include ++# define wchar_t char ++#endif + + typedef struct _StrList StrList; + struct _StrList { +diff -urNad parted-1.7.0~/parted/table.c parted-1.7.0/parted/table.c +--- parted-1.7.0~/parted/table.c 2006-05-19 03:54:01.000000000 -0300 ++++ parted-1.7.0/parted/table.c 2006-05-19 03:54:36.000000000 -0300 +@@ -25,6 +25,7 @@ + + #include + #include ++#include + + #include + +@@ -48,8 +49,24 @@ + size_t strnlen (const char *, size_t); + #endif + +-#include "strlist.h" ++size_t strnlen (const char *s, size_t maxlen) ++{ ++ size_t len = 0; ++ const char *tp = s; ++ ++ if(s == NULL) ++ return 0; ++ ++ while(*tp && len < maxlen) ++ { ++ len++; ++ tp++; ++ } + ++ return len; ++} ++ ++#include "strlist.h" + + static const unsigned int MAX_WIDTH = 512; + #ifdef ENABLE_NLS +@@ -186,7 +203,8 @@ + { + wchar_t** row = t->rows[rownum]; + int len = 1, i; +- size_t newsize; ++ size_t newsize, oldsize; ++ wchar_t *temps; + + assert(t); + assert(s != NULL); +@@ -197,7 +215,11 @@ + len += wcslen(COLSUFFIX); + + newsize = (wcslen(*s) + len + 1) * sizeof(wchar_t); ++ oldsize = (wcslen(*s) + 1) * sizeof(wchar_t); ++ ++ temps = *s; + *s = realloc (*s, newsize); ++ memcpy(*s, temps, oldsize); + + for (i = 0; i < ncols; ++i) + { --- parted-1.8.8.git.2009.06.03.orig/scripts/data/abi/baseline_symbols.txt +++ parted-1.8.8.git.2009.06.03/scripts/data/abi/baseline_symbols.txt @@ -14,6 +14,16 @@ FUNC:_update_stats FUNC:abs_mod FUNC:amiga_find_part +FUNC:base_len +FUNC:base_name +FUNC:clone_quoting_options +FUNC:close_stdout +FUNC:close_stdout_set_file_name +FUNC:close_stdout_set_ignore_EPIPE +FUNC:close_stream +FUNC:dir_len +FUNC:dir_name +FUNC:emit_bug_reporting_address FUNC:ext2_bcache_deinit FUNC:ext2_bcache_dump FUNC:ext2_bcache_flush @@ -167,6 +177,7 @@ FUNC:geom_dal_create FUNC:geom_dal_free FUNC:geom_dal_reopen +FUNC:get_quoting_style FUNC:hfs_and_wrapper_probe FUNC:hfs_btree_search FUNC:hfs_file_close @@ -205,7 +216,9 @@ FUNC:hfsplus_read_bad_blocks FUNC:hfsplus_update_vh FUNC:hfsx_probe -FUNC:mac_alloc +FUNC:last_component +FUNC:locale_charset +FUNC:parse_long_options FUNC:ped_alignment_align_down FUNC:ped_alignment_align_nearest FUNC:ped_alignment_align_up @@ -234,6 +247,7 @@ FUNC:ped_debug FUNC:ped_debug_set_handler FUNC:ped_device_begin_external_access +FUNC:ped_device_cache_remove FUNC:ped_device_check FUNC:ped_device_close FUNC:ped_device_destroy @@ -250,6 +264,8 @@ FUNC:ped_device_sync_fast FUNC:ped_device_write FUNC:ped_disk_add_partition +FUNC:ped_disk_aix_done +FUNC:ped_disk_aix_init FUNC:ped_disk_amiga_done FUNC:ped_disk_amiga_init FUNC:ped_disk_bsd_done @@ -270,6 +286,7 @@ FUNC:ped_disk_get_last_partition_num FUNC:ped_disk_get_max_partition_geometry FUNC:ped_disk_get_max_primary_partition_count +FUNC:ped_disk_get_max_supported_partition_count FUNC:ped_disk_get_partition FUNC:ped_disk_get_partition_by_sector FUNC:ped_disk_get_primary_partition_count @@ -299,10 +316,9 @@ FUNC:ped_disk_type_get_next FUNC:ped_disk_type_register FUNC:ped_disk_type_unregister -FUNC:ped_div_round_to_nearest -FUNC:ped_div_round_up FUNC:ped_exception_catch FUNC:ped_exception_fetch_all +FUNC:ped_exception_get_handler FUNC:ped_exception_get_option_string FUNC:ped_exception_get_type_string FUNC:ped_exception_leave_all @@ -377,13 +393,11 @@ FUNC:ped_partition_is_busy FUNC:ped_partition_is_flag_available FUNC:ped_partition_new -FUNC:ped_partition_print FUNC:ped_partition_set_flag FUNC:ped_partition_set_name FUNC:ped_partition_set_system FUNC:ped_partition_type_get_name FUNC:ped_realloc -FUNC:ped_register_disk_type FUNC:ped_round_down_to FUNC:ped_round_to_nearest FUNC:ped_round_up_to @@ -407,45 +421,95 @@ FUNC:ped_unit_parse FUNC:ped_unit_parse_custom FUNC:ped_unit_set_default -FUNC:ped_unregister_disk_type -FUNC:raw_part_parse +FUNC:quotearg +FUNC:quotearg_alloc +FUNC:quotearg_alloc_mem +FUNC:quotearg_buffer +FUNC:quotearg_char +FUNC:quotearg_char_mem +FUNC:quotearg_colon +FUNC:quotearg_colon_mem +FUNC:quotearg_free +FUNC:quotearg_mem +FUNC:quotearg_n +FUNC:quotearg_n_mem +FUNC:quotearg_n_style +FUNC:quotearg_n_style_mem +FUNC:quotearg_style +FUNC:quotearg_style_mem +FUNC:rpl_re_compile_fastmap +FUNC:rpl_re_compile_pattern +FUNC:rpl_re_match +FUNC:rpl_re_match_2 +FUNC:rpl_re_search +FUNC:rpl_re_search_2 +FUNC:rpl_re_set_registers +FUNC:rpl_re_set_syntax +FUNC:rpl_regcomp +FUNC:rpl_regerror +FUNC:rpl_regexec +FUNC:rpl_regfree +FUNC:safe_read +FUNC:set_char_quoting +FUNC:set_program_name +FUNC:set_quoting_flags +FUNC:set_quoting_style +FUNC:strip_trailing_slashes +FUNC:version_etc +FUNC:version_etc_va +FUNC:x2realloc +FUNC:xalloc_die +FUNC:xcalloc +FUNC:xmalloc +FUNC:xmemdup +FUNC:xrealloc +FUNC:xstrdup +FUNC:xstrndup +FUNC:xstrtol +FUNC:xstrtol_fatal +FUNC:xstrtoul +FUNC:xzalloc NOTYPE:__bss_start NOTYPE:_edata NOTYPE:_end -OBJECT:12:linux_disk_ops -OBJECT:16:_affs0_type -OBJECT:16:_affs1_type -OBJECT:16:_affs2_type -OBJECT:16:_affs3_type -OBJECT:16:_affs4_type -OBJECT:16:_affs5_type -OBJECT:16:_affs6_type -OBJECT:16:_affs7_type -OBJECT:16:_amufs0_type -OBJECT:16:_amufs1_type -OBJECT:16:_amufs2_type -OBJECT:16:_amufs3_type -OBJECT:16:_amufs4_type -OBJECT:16:_amufs5_type -OBJECT:16:_amufs_type -OBJECT:16:_apfs1_type -OBJECT:16:_apfs2_type -OBJECT:16:_asfs_type -OBJECT:16:fat16_type -OBJECT:16:fat32_type -OBJECT:1:fat16 -OBJECT:24:ops -OBJECT:324:xfsstats +OBJECT:16:ped_linux_arch +OBJECT:24:linux_disk_ops +OBJECT:32:_affs0_type +OBJECT:32:_affs1_type +OBJECT:32:_affs2_type +OBJECT:32:_affs3_type +OBJECT:32:_affs4_type +OBJECT:32:_affs5_type +OBJECT:32:_affs6_type +OBJECT:32:_affs7_type +OBJECT:32:_amufs0_type +OBJECT:32:_amufs1_type +OBJECT:32:_amufs2_type +OBJECT:32:_amufs3_type +OBJECT:32:_amufs4_type +OBJECT:32:_amufs5_type +OBJECT:32:_amufs_type +OBJECT:32:_apfs1_type +OBJECT:32:_apfs2_type +OBJECT:32:_asfs_type +OBJECT:32:fat16_type +OBJECT:32:fat32_type +OBJECT:32:quoting_style_vals +OBJECT:47:version_etc_copyright +OBJECT:48:ops +OBJECT:4:exit_failure OBJECT:4:ext2_buffer_cache_pool_size OBJECT:4:ext2_hash_bits OBJECT:4:ext2_relocator_pool_size -OBJECT:4:hfs_block OBJECT:4:hfs_block_count -OBJECT:4:hfsp_block OBJECT:4:hfsp_block_count -OBJECT:4:ped_alignment_any -OBJECT:4:ped_alignment_none -OBJECT:4:ped_architecture OBJECT:4:ped_exception +OBJECT:72:quoting_style_args OBJECT:8:_bitmap -OBJECT:8:ped_linux_arch +OBJECT:8:hfs_block +OBJECT:8:hfsp_block +OBJECT:8:ped_alignment_any +OBJECT:8:ped_alignment_none +OBJECT:8:ped_architecture +OBJECT:8:program_name +OBJECT:8:rpl_re_syntax_options