summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:16:35 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:16:35 +0000
commit0658a8b1efc58836eb6674a1b0aadfbdf0e54755 (patch)
treee1d58d026a886d854c9e01cb4a683ad81fcb6e59
parentAdding upstream version 3.6. (diff)
downloadparted-0658a8b1efc58836eb6674a1b0aadfbdf0e54755.tar.xz
parted-0658a8b1efc58836eb6674a1b0aadfbdf0e54755.zip
Adding debian version 3.6-3.debian/3.6-3
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--debian/.git-dpm9
-rw-r--r--debian/.gitignore1
-rw-r--r--debian/README.source58
-rw-r--r--debian/changelog2575
-rw-r--r--debian/control163
-rw-r--r--debian/copyright429
-rw-r--r--debian/libparted-dev.install6
-rw-r--r--debian/libparted-dev.links2
-rw-r--r--debian/libparted-dev.maintscript1
-rw-r--r--debian/libparted-fs-resize0-udeb.install1
-rw-r--r--debian/libparted-fs-resize0.install1
-rw-r--r--debian/libparted-fs-resize0.maintscript1
-rw-r--r--debian/libparted-fs-resize0.symbols7
-rw-r--r--debian/libparted-i18n.docs1
-rw-r--r--debian/libparted-i18n.install1
-rw-r--r--debian/libparted2-udeb.install1
-rw-r--r--debian/libparted2.docs1
-rw-r--r--debian/libparted2.install1
-rw-r--r--debian/libparted2.symbols244
-rw-r--r--debian/parted-doc.docs8
-rw-r--r--debian/parted-doc.install1
-rw-r--r--debian/parted-udeb.install1
-rw-r--r--debian/parted.install3
-rw-r--r--debian/parted.lintian-overrides1
-rw-r--r--debian/parted.maintscript1
-rw-r--r--debian/patches/align-new-partitions-on-fresh-disks.patch45
-rw-r--r--debian/patches/doc-package.patch25
-rw-r--r--debian/patches/freebsd-geli.patch38
-rw-r--r--debian/patches/freebsd-ufs.patch291
-rw-r--r--debian/patches/freebsd-zvol.patch83
-rw-r--r--debian/patches/gptsync.patch466
-rw-r--r--debian/patches/kfreebsd-gnu.patch1434
-rw-r--r--debian/patches/kfreebsd_lvm.patch55
-rw-r--r--debian/patches/link-libuuid.patch32
-rw-r--r--debian/patches/preserve-hidden-parts.patch45
-rw-r--r--debian/patches/probe-lvs-again.patch34
-rw-r--r--debian/patches/series13
-rw-r--r--debian/patches/udevadm-settle.patch105
-rw-r--r--debian/patches/zfs.patch145
-rwxr-xr-xdebian/rules86
-rw-r--r--debian/salsa-ci.yml3
-rw-r--r--debian/source/format1
-rw-r--r--debian/upstream/metadata5
-rw-r--r--debian/upstream/signing-key.asc50
-rw-r--r--debian/watch2
45 files changed, 6476 insertions, 0 deletions
diff --git a/debian/.git-dpm b/debian/.git-dpm
new file mode 100644
index 0000000..d525d83
--- /dev/null
+++ b/debian/.git-dpm
@@ -0,0 +1,9 @@
+# see git-dpm(1) from git-dpm package
+e7662734df72abed3e10dcb032d3fd7284e0e868
+e7662734df72abed3e10dcb032d3fd7284e0e868
+8b1dfdefd31c1304a98e9df675720db83bca3c08
+8b1dfdefd31c1304a98e9df675720db83bca3c08
+parted_3.6.orig.tar.xz
+b83f10e654250a69dd9278f4425802c1b7fb0c74
+1896164
+signature:a2b631f6b812f8d3a2ddfc93f50066abdebd0fa8:508:parted_3.6.orig.tar.xz.asc
diff --git a/debian/.gitignore b/debian/.gitignore
new file mode 100644
index 0000000..2c8afeb
--- /dev/null
+++ b/debian/.gitignore
@@ -0,0 +1 @@
+/files
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..5dde0bf
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,58 @@
+This package uses quilt to manage all modifications to the upstream
+source. Changes are stored in the source package as diffs in
+debian/patches and applied during the build.
+
+To configure quilt to use debian/patches instead of patches, you want
+either to export QUILT_PATCHES=debian/patches in your environment
+or use this snippet in your ~/.quiltrc:
+
+ for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do
+ if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then
+ export QUILT_PATCHES=debian/patches
+ break
+ fi
+ done
+
+To get the fully patched source after unpacking the source package, cd to
+the root level of the source package and run:
+
+ quilt push -a
+
+The last patch listed in debian/patches/series will become the current
+patch.
+
+To add a new set of changes, first run quilt push -a, and then run:
+
+ quilt new <patch>
+
+where <patch> is a descriptive name for the patch, used as the filename in
+debian/patches. Then, for every file that will be modified by this patch,
+run:
+
+ quilt add <file>
+
+before editing those files. You must tell quilt with quilt add what files
+will be part of the patch before making changes or quilt will not work
+properly. After editing the files, run:
+
+ quilt refresh
+
+to save the results as a patch.
+
+Alternately, if you already have an external patch and you just want to
+add it to the build system, run quilt push -a and then:
+
+ quilt import -P <patch> /path/to/patch
+ quilt push -a
+
+(add -p 0 to quilt import if needed). <patch> as above is the filename to
+use in debian/patches. The last quilt push -a will apply the patch to
+make sure it works properly.
+
+To remove an existing patch from the list of patches that will be applied,
+run:
+
+ quilt delete <patch>
+
+You may need to run quilt pop -a to unapply patches first before running
+this command.
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..e32783b
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,2575 @@
+parted (3.6-3) unstable; urgency=medium
+
+ * align-new-partitions-on-fresh-disks.patch:
+ - Fix NULL dereference on error path.
+ - Don't try to align partitions if no constraint was passed.
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 26 Jun 2023 23:34:57 +0100
+
+parted (3.6-2) unstable; urgency=medium
+
+ * Cherry-pick from upstream:
+ - parted: link to libuuid
+ * Update symbols for 3.6.
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 13 Jun 2023 11:33:51 +0100
+
+parted (3.6-1) unstable; urgency=medium
+
+ [ Debian Janitor ]
+ * Remove constraints unnecessary since buster (oldstable):
+ + libparted-dev: Drop versioned constraint on libdevmapper-dev in Depends.
+
+ [ Colin Watson ]
+ * Update watch file format version to 4.
+ * New upstream release:
+ - parted: add type command (LP: #1666475).
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 12 Jun 2023 16:26:21 +0100
+
+parted (3.5-3) unstable; urgency=medium
+
+ [ Samuel Thibault ]
+ * Mark check Build-Dependency with <!nocheck> build profile (closes:
+ #1023216).
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 15 Nov 2022 23:24:37 +0000
+
+parted (3.5-2) unstable; urgency=medium
+
+ * debian/upstream/signing-key.asc: Update to non-expired versions of
+ upstream maintainer keys.
+ * Remove unnecessary install-info dependency from parted-doc (closes:
+ #1013839).
+ * Make documentation directories of architecture-dependent packages be
+ symlinks to /usr/share/doc/libparted2.
+ * Install upstream NEWS file (closes: #981379).
+
+ -- Colin Watson <cjwatson@debian.org> Sat, 17 Sep 2022 15:20:52 +0100
+
+parted (3.5-1) unstable; urgency=medium
+
+ * Simplify some debhelper overrides slightly.
+ * New upstream release:
+ - Add --fix to --script mode to automatically fix problems like the
+ backup GPT header not being at the end of a disk (LP: #1490608).
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 19 Apr 2022 17:05:20 +0100
+
+parted (3.4-2) unstable; urgency=medium
+
+ [ Debian Janitor ]
+ * Trim trailing whitespace.
+ * Add missing ${misc:Depends} to Depends for parted-udeb.
+ * Use secure URI in debian/watch.
+ * Use secure URI in Homepage field.
+ * Bump debhelper from deprecated 9 to 13.
+ + debian/rules: Drop --fail-missing argument, now the default.
+ * Update renamed lintian tag names in lintian overrides.
+ * Set upstream metadata fields: Bug-Submit (from ./configure), Name (from
+ ./configure), Repository, Repository-Browse.
+ * Drop unnecessary dependency on dh-autoreconf.
+
+ [ Colin Watson ]
+ * Drop now-unnecessary versioned Build-Depends constraints on dpkg-dev,
+ debhelper, libdevmapper-dev, texinfo, debianutils, autoconf, and
+ automake.
+ * Drop a number of ancient Conflicts/Breaks/Replaces.
+ * Drop dh-exec, no longer needed with debhelper v13.
+
+ -- Colin Watson <cjwatson@debian.org> Fri, 24 Dec 2021 23:44:18 +0000
+
+parted (3.4-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Colin Watson <cjwatson@debian.org> Sat, 30 Jan 2021 00:10:32 +0000
+
+parted (3.3-4) unstable; urgency=medium
+
+ * gptsync.patch: Silence stderr output from dmidecode, since only stdout
+ is considered anyway (fixes
+ https://github.com/martijnvanbrummelen/nwipe/issues/111; thanks, louib).
+
+ -- Colin Watson <cjwatson@debian.org> Sat, 08 Feb 2020 09:56:05 +0000
+
+parted (3.3-3) unstable; urgency=medium
+
+ * Fix chromeos-kernel-flag.patch to patch include/parted/disk.h too.
+
+ -- Colin Watson <cjwatson@debian.org> Sun, 19 Jan 2020 22:35:35 +0000
+
+parted (3.3-2) unstable; urgency=medium
+
+ * Cherry-pick upstream patch to add a GPT-only chromeos_kernel partition
+ type flag (closes: #949316).
+
+ -- Colin Watson <cjwatson@debian.org> Sun, 19 Jan 2020 21:37:10 +0000
+
+parted (3.3-1) unstable; urgency=medium
+
+ * New upstream release (closes: #942159):
+ - mkpart: Allow negative start value when FS-TYPE is not given (closes:
+ #880035).
+ - Fix atari label false positives (closes: #896171).
+ - libparted: Fix MacOS boot support (closes: #930742).
+ * Add Brian C. Lane's GPG key to debian/upstream/signing-key.asc.
+
+ -- Colin Watson <cjwatson@debian.org> Fri, 11 Oct 2019 10:59:03 +0100
+
+parted (3.2-27) unstable; urgency=medium
+
+ * Cherry-pick upstream patch to remove output to stdout from affs that
+ confused d-i (closes: #941777).
+
+ -- Colin Watson <cjwatson@debian.org> Sat, 05 Oct 2019 11:19:43 +0100
+
+parted (3.2-26) unstable; urgency=medium
+
+ * libparted-dasd-add-test-cases-for-the-new-fdasd-func.patch: Add missing
+ files (the original upstream commit was incomplete).
+ * Use debhelper-compat instead of debian/compat.
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 27 Aug 2019 14:57:08 +0100
+
+parted (3.2-25) unstable; urgency=medium
+
+ * Cherry-pick from upstream:
+ - libparted: BLKPG_RESIZE_PARTITION uses bytes, not sectors (closes:
+ #926735, LP: #1641308).
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 15 Apr 2019 15:38:11 +0100
+
+parted (3.2-24) unstable; urgency=medium
+
+ * Set Rules-Requires-Root: no.
+ * Mark parted as Multi-Arch: foreign (closes: #918794).
+
+ -- Colin Watson <cjwatson@debian.org> Sat, 12 Jan 2019 16:45:45 +0000
+
+parted (3.2-23) unstable; urgency=medium
+
+ * Cherry-pick upstream patch to read NVMe model names from sysfs (closes:
+ #911273).
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 22 Oct 2018 11:28:00 +0100
+
+parted (3.2-22) unstable; urgency=medium
+
+ * Change Maintainer to parted-maintainers@alioth-lists.debian.net,
+ following Alioth lists migration.
+ * Stop building with V=1; debhelper configures with --disable-silent-rules
+ as of 9.20150501.
+ * Remove libparted0-dev transitional package, since nothing build-depends
+ on it any more (closes: #878660).
+ * Include sys/sysmacros.h to account for the user of major() and minor()
+ macros (thanks, Mathieu Trudel-Lapierre; closes: #910326).
+
+ -- Colin Watson <cjwatson@debian.org> Sat, 06 Oct 2018 00:01:48 +0100
+
+parted (3.2-21) unstable; urgency=medium
+
+ * Move VCS to salsa.debian.org.
+ * Call dmidecode directly to detect Apple systems rather than using an
+ out-of-date clone-and-hack of its code that preferred reading from
+ /dev/mem (closes: #890587).
+ * Cherry-pick upstream patch to prevent crash resizing FAT with very deep
+ directories (closes: #840709).
+ * Cherry-pick upstream patch to fix recognition of FAT file system after
+ resizing (closes: #840710).
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 09 Apr 2018 12:16:58 +0100
+
+parted (3.2-20) unstable; urgency=medium
+
+ * Amend patches added in 3.2-19 to include corresponding patches to files
+ generated by "make dist".
+
+ -- Colin Watson <cjwatson@debian.org> Wed, 17 Jan 2018 01:43:32 +0000
+
+parted (3.2-19) unstable; urgency=medium
+
+ * Cherry-pick upstream patch to add support for NVMe devices (closes:
+ #886960, LP: #1742787).
+ * Cherry-pick upstream patches to update DASD handling (closes: #887016,
+ LP: #1737144).
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 16 Jan 2018 17:27:17 +0000
+
+parted (3.2-18) unstable; urgency=medium
+
+ * Mark parted-doc as Multi-Arch: foreign.
+ * Fix build failure with glibc-2.26 (thanks, Matthias Klose; closes:
+ #878234).
+ * Change priorities of udebs and libparted0-dev to optional, since
+ "Priority: extra" is now deprecated.
+
+ -- Colin Watson <cjwatson@debian.org> Wed, 11 Oct 2017 13:05:37 +0100
+
+parted (3.2-17) unstable; urgency=medium
+
+ [ Colin Watson ]
+ * Remove Otavio Salvador from Uploaders, with thanks for their previous
+ contributions (closes: #847255).
+ * Build-depend on gperf so that we can regenerate pt-limit.c.
+ * Policy version 3.9.8: no changes required.
+
+ [ John Paul Adrian Glaubitz ]
+ * Add support for atari partition tables (closes: #239816).
+
+ -- Colin Watson <cjwatson@debian.org> Fri, 09 Dec 2016 12:55:53 +0000
+
+parted (3.2-16) unstable; urgency=medium
+
+ * Remove Xavier Oswald from Uploaders as they have retired, with thanks
+ for their previous contributions (closes: #824328).
+ * Remove outdated README.Debian (closes: #838986).
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 27 Sep 2016 14:34:23 +0100
+
+parted (3.2-15) unstable; urgency=medium
+
+ * Cherry-pick upstream patch to check DASD geometry more carefully to
+ avoid problems with LVM (closes: #814076, LP: #1541510).
+
+ -- Colin Watson <cjwatson@debian.org> Wed, 10 Feb 2016 14:26:23 +0000
+
+parted (3.2-14) unstable; urgency=medium
+
+ * Use HTTPS for Vcs-* URLs, and link to cgit rather than gitweb.
+ * Build with all hardening options.
+
+ -- Colin Watson <cjwatson@debian.org> Wed, 27 Jan 2016 13:24:01 +0000
+
+parted (3.2-13) unstable; urgency=medium
+
+ * Simplify unnecessary use of dh-exec in debian/libparted-dev.install.
+ * Remove no-longer-necessary Conflicts/Replaces from libparted2.
+ * Replace versioned Conflicts on old versions of parted in libparted-dev
+ with Breaks+Replaces.
+ * Add OpenPGP signature checking configuration to watch file.
+
+ -- Colin Watson <cjwatson@debian.org> Sat, 16 Jan 2016 23:01:07 +0000
+
+parted (3.2-12) unstable; urgency=medium
+
+ * Cherry-pick upstream patch to use 512-byte sector size when
+ communicating with device-mapper; previously partitions could be created
+ eight times smaller than expected on DM devices with 4096-byte sectors
+ (thanks, Mauricio Faria de Oliveira and Mathieu Trudel-Lapierre;
+ LP: #1441930).
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 22 Dec 2015 13:41:02 +0000
+
+parted (3.2-11) unstable; urgency=medium
+
+ * Drop *-dbg packages in favour of ddebs.
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 22 Dec 2015 01:06:19 +0000
+
+parted (3.2-10) unstable; urgency=medium
+
+ * fdasd-update-geometry-handling.patch: Update include/parted/fdasd.h as
+ well as include/parted/fdasd.in.h, since the former doesn't seem to be
+ rebuilt automatically.
+
+ -- Colin Watson <cjwatson@debian.org> Thu, 05 Nov 2015 17:01:38 +0000
+
+parted (3.2-9) unstable; urgency=medium
+
+ * dasd-enhance-probing.patch: Fix function ordering.
+
+ -- Colin Watson <cjwatson@debian.org> Thu, 29 Oct 2015 14:52:41 +0000
+
+parted (3.2-8) unstable; urgency=medium
+
+ * Cherry-pick upstream patches to support virtio-attached DASD (thanks,
+ Viktor Mihajlovski; closes: #803333).
+
+ -- Colin Watson <cjwatson@debian.org> Thu, 29 Oct 2015 12:26:08 +0000
+
+parted (3.2-7) unstable; urgency=medium
+
+ [ Phillip Susi ]
+ * Cherry pick upstream patch to fix a crash when resizing fat16
+ (LP: #1342255).
+
+ [ Colin Watson ]
+ * Drop libparted2's alternative Suggests on nparted, which has not been in
+ Debian for a decade or so.
+
+ -- Colin Watson <cjwatson@debian.org> Thu, 19 Mar 2015 10:58:55 +0000
+
+parted (3.2-6) unstable; urgency=medium
+
+ [ Steven Chamberlain ]
+ * kfreebsd-gnu.patch: (Thanks, Jeff Epler!)
+ - Fix detection of /dev/ada as a SCSI disk type (Closes: #693510,
+ #757986)
+ - Implement detection of drive model, logical and physical sector sizes
+ for SCSI disks
+
+ -- Colin Watson <cjwatson@debian.org> Fri, 19 Sep 2014 15:44:36 +0100
+
+parted (3.2-5) unstable; urgency=medium
+
+ * Update freebsd-ufs.patch to handle non-512-byte-sector disks
+ (LP: #1355127).
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 25 Aug 2014 19:20:11 +0100
+
+parted (3.2-4) unstable; urgency=high
+
+ * Probe LVM logical volumes even when their physical volumes are on
+ device-mapper devices (closes: #757750).
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 11 Aug 2014 14:02:26 +0100
+
+parted (3.2-3) unstable; urgency=high
+
+ * Probe LVM logical volumes again (closes: #757417).
+
+ -- Colin Watson <cjwatson@debian.org> Sun, 10 Aug 2014 11:02:32 +0100
+
+parted (3.2-2) unstable; urgency=high
+
+ * Fix gptsync.patch not to try to perform pointer arithmetic on void *
+ values.
+ * Remove unused label from udevadm-settle.patch.
+ * Configure with --disable-gcc-warnings, even when building from git.
+ Making the build work with -Werror is too painful at the moment.
+ * Align new partitions created on fresh disks (LP: #1352252).
+
+ -- Colin Watson <cjwatson@debian.org> Wed, 06 Aug 2014 15:21:03 +0100
+
+parted (3.2-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Drop currently-unused build-dependency on po4a (thanks, Johannes
+ Schauer).
+
+ -- Colin Watson <cjwatson@debian.org> Wed, 30 Jul 2014 13:16:15 +0100
+
+parted (3.1-4) unstable; urgency=medium
+
+ * Ship static libraries again. hurd needs them for ext2fs.static.
+
+ -- Colin Watson <cjwatson@debian.org> Wed, 23 Jul 2014 10:55:09 +0100
+
+parted (3.1-3) unstable; urgency=medium
+
+ * Upload to unstable.
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 21 Jul 2014 10:23:16 +0100
+
+parted (3.1-2) experimental; urgency=medium
+
+ * Rename XC-Package-Type control fields to Package-Type.
+ * Note the presence of ped_disk_dasd_done and ped_disk_dasd_init symbols
+ on s390 and s390x.
+ * Note the presence of ped_device_new_from_store on hurd-any.
+ * Add ${misc:Depends} to libparted0-dev's Depends field.
+
+ -- Colin Watson <cjwatson@debian.org> Wed, 16 Jul 2014 22:20:01 +0100
+
+parted (3.1-1) experimental; urgency=medium
+
+ * New upstream release (closes: #646130, LP: #1046391; see #754582 for
+ transition tracking):
+ - Improve support of DASD devices on s390 (closes: #578097).
+ - Remove old and unmaintainable file system creation, deletion, and
+ copying code; please use other FS-specific tools instead (closes:
+ #399046, #481435, #751406). Most resizing code is also gone, although
+ HFS+ and FAT resizing is still available via libparted-fs-resize.
+ - Fix snap radius to avoid miscalculation of partition size when the
+ start or end is 1<unit> (closes: #706023).
+ * Update binary package names to libparted2 (etc.). We can safely drop
+ the "debian1" suffix now, as the previous incarnation of libparted2 was
+ about 14 years ago, and the Conflicts against it were made versioned
+ four years ago in 2.2-4.
+ * Split off separate packages for libparted-fs-resize, which has a
+ different SONAME.
+ * Remove largely-unhelpful version from libparted-i18n and libparted-dev
+ package names.
+ * Add .symbols files and stop using the old "make check-abi" mechanism,
+ which was cumbersome and appears to be unmaintained upstream. This is
+ also more robust against differing build options (closes: #744313).
+ * Convert from the long-deprecated dh_movefiles to dh_install.
+ * Remove lots of parameterisation from the packaging which was intended to
+ make it easier to handle SONAME changes. Enough things still have to be
+ adjusted manually that it didn't really help, and it made the packaging
+ harder to understand.
+ * Modernise and correct use of dpkg-architecture variables to work better
+ when cross-building.
+ * Drop another vestige of the old parted-bf package.
+ * Stop shipping static libraries.
+ * Use dh_link to fix up .so links in libparted-dev rather than doing it by
+ hand in debian/rules.
+ * Move development libraries into multiarch directories and mark
+ libparted-dev as Multi-Arch: same.
+ * Drop -fgnu89-inline workaround, which is no longer needed (and was
+ actually disabled by accident in 2.3-10).
+ * Drop the hardcoded minimum version passed to dh_makeshlibs, since this
+ is now effectively superseded by the .symbols file.
+ * Update Vcs-* to current canonical URLs.
+ * Convert to dh(1).
+ * Make parted and parted-udeb have exact-version dependencies on
+ libparted2 and libparted2-udeb respectively.
+ * Add a libparted0-dev transitional package. Most of the packages that
+ build-depend on us have a versioned build-dependency on libparted0-dev
+ right now, so this greatly simplifies the transition.
+ * Stop disabling pc98 support on powerpc; 3.1 tightened up pc98 probing so
+ that it has many fewer false positives.
+ * Remove use of --disable-Werror on several architectures; as of 3.0,
+ parted no longer supports this configure option and just builds without
+ -Werror.
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 14 Jul 2014 12:44:37 +0100
+
+parted (2.3-20) unstable; urgency=medium
+
+ * Fix crash when opening FAT file systems (LP: #1306704).
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 14 Apr 2014 11:44:43 +0100
+
+parted (2.3-19) unstable; urgency=medium
+
+ [ Phillip Susi ]
+ * fat-ntfs-large-sectors.patch: Fix fat and ntfs detection on non 512 byte
+ sectors (closes: #743816, LP: #1302762).
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 08 Apr 2014 12:55:59 +0100
+
+parted (2.3-18) unstable; urgency=medium
+
+ * Fix LVM handling regressions caused by fix-loop-labels.patch
+ (LP: #1300072):
+ - Initialise dev->loop in ped_disk_new_fresh rather than ped_disk_new.
+ - Temporarily set disk->dev->loop to 0 while removing partitions, so
+ that we can remove previously-existing non-loop partitions (thanks,
+ Phillip Susi).
+
+ -- Colin Watson <cjwatson@debian.org> Wed, 02 Apr 2014 00:01:13 +0100
+
+parted (2.3-17) unstable; urgency=low
+
+ [ Phillip Susi ]
+ * avoid-disturbing-partitions.patch: remove all old partitions (that are
+ not unchanged) first, then add new ones. This avoids an EBUSY trying to
+ add new partitions that overlap with old ones that have a higher number
+ (closes: #742847, LP: #1220165).
+ * fix-loop-labels.patch: Fix loop labels (filesystem on whole disk
+ device).
+
+ [ Colin Watson ]
+ * Slight tweak to avoid-disturbing-partitions.patch to continue to handle
+ entirely unchanged partitions properly.
+ * Convert to git-dpm.
+ * Backport upstream change to add GPT PReP GUID support.
+
+ [ Dimitri John Ledkov ]
+ * Cherry-pick upstream fix for FTBFS with readline 6.3 (closes: #741842).
+
+ -- Colin Watson <cjwatson@debian.org> Fri, 28 Mar 2014 17:49:47 +0000
+
+parted (2.3-16) unstable; urgency=low
+
+ * Convert libparted0debian1-dbg to a normal separated-debug-symbols
+ package rather than shipping a rather odd /usr/lib/libparted_g.a file,
+ saving a build pass and making it more generally useful. This also
+ involves enabling mtrace on all build passes, which should be fine since
+ it only does anything if MALLOC_TRACE is set in the environment.
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 10 Sep 2013 17:29:34 +0100
+
+parted (2.3-15) unstable; urgency=low
+
+ [ Pino Toscano ]
+ * Disable DMI detection on the Hurd (closes: #719628).
+ * Don't match tarball compression extensions in watch file (closes:
+ #719630).
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 13 Aug 2013 22:01:46 +0100
+
+parted (2.3-14) unstable; urgency=low
+
+ * Merge fix-head-size-assertion.patch from Ubuntu: change an
+ assert so it correctly recovers instead of aborting the program
+ (closes: #620273).
+ * Merge dm_p_separator.patch from Ubuntu: parted would add a
+ 'p' between the base device name and the partition number for
+ all device-mapper devices instead of only if the base name
+ ended in a digit.
+ * Merge remove-dev_t-dep.patch from Ubuntu: parted was making
+ bad assumptions about the meaning of the values of dev_t,
+ causing it to fail to detect in-use partitions on all dmraid
+ disks, and regular disk partitions > #16.
+ * Merge skip-floppy.patch from Ubuntu: add floppies to the list
+ of ignored devices since they can not be partitioned anyhow,
+ and often people have no floppy though their bios thinks they do,
+ and touching it causes hangs.
+ * Merge gptsync.patch from Ubuntu: On Intel Mac systems, write a
+ synced MBR rather than a protective MBR.
+ * Merge loop-partitions.patch from Ubuntu: backport some changes
+ to allow the use of partitions on loop devices. This also
+ allows more than 16 partitions.
+ * Merge dmraid.patch from Ubuntu: Don't probe dmraid partition
+ devices. Also set UUID of newly created dmraid partition devices.
+ * Merge dm-part-sync.patch from Ubuntu: refactor device-mapper
+ partition sync code so it does not fail when unmodified partitions
+ are mounted.
+ * Merge udevadm-settle.patch from Ubuntu: Run udevadm settle around
+ partition table rereads, to avoid races.
+ * Merge 16-dos-partitions.patch from Ubuntu: the kernel was not
+ being informed of partitions above #16 on dos partition tables
+ (closes: #667638).
+ * Merge hfs-probe-corrupt.patch from Ubuntu: don't let a corrupt
+ FS evoke failed assertion.
+ * Backport online resize patches: 0001-parted-resizepart-command.patch,
+ 0003-libparted-Add-support-for-BLKPG-ioctl-partition-resi.patch,
+ and 0004-parted-make-_partition_warn_busy-actually-a-warning.patch
+ * Merge fewer-gpt-entries.patch: Backport upstream patches to handle
+ GPT labels with fewer than 128 partition entries (LP: #1187560).
+ * debian/patches/avoid-disturbing-partitions.patch: Don't remove and
+ re-add unmodified partitions (LP: #1060484).
+ * debian/patches/linux-specific-gpt-type.patch: Backport upstream
+ changes to use a linux specific partition type code instead of
+ Microsoft's, which causes Windows to offer to format the partition.
+
+ -- Phillip Susi <psusi@ubuntu.com> Mon, 12 Aug 2013 10:11:10 +0100
+
+parted (2.3-13) unstable; urgency=low
+
+ * Use dh-autoreconf.
+ * Avoid assuming that gets is declared (closes: #699653).
+
+ -- Colin Watson <cjwatson@debian.org> Thu, 09 May 2013 10:48:00 +0100
+
+parted (2.3-12) unstable; urgency=low
+
+ * Breaks: python-parted (<< 3.6-5); previous versions were broken by the
+ PED_PARTITION_LAST_FLAG change in 2.3-11.1 (closes: #697588).
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 07 Jan 2013 12:13:14 +0000
+
+parted (2.3-11.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Cherry-pick upstream patches to fix the handling of GPT partition
+ flags when modifying a GPT. This, most particularly fixes the
+ handling of 'legagy BIOS bootable'.
+ Thanks to Jérémy Bobbio for providing the patch and analysis.
+ Closes: #673042
+
+ -- Christian Perrier <bubulle@debian.org> Tue, 01 Jan 2013 14:44:03 +0100
+
+parted (2.3-11) unstable; urgency=medium
+
+ * Non-maintainer upload to fix partitioned md devices (bug #684713)
+ * backport md-partitions.patch: libparted/arch/linux.c
+ (_device_get_partition_range): Use /sys/block/DEV/ext_range instead
+ of range sysfs file.
+
+ -- Miquel van Smoorenburg <miquels@debian.org> Thu, 13 Sep 2012 15:35:00 +0200
+
+parted (2.3-10) unstable; urgency=low
+
+ * Acknowledge NMUs with thanks (closes: #676593).
+ * Back out non-registered-device.diff, which had already been applied
+ upstream in 2.3.
+ * Rearrange patch ordering slightly.
+ * Update debian/watch for upstream switch to .tar.xz.
+ * Use dpkg-buildflags to enable hardening options.
+ * Build with V=1 so that tools such as blhc can scan more effectively for
+ missing build flags.
+ * Remove Sven Luther from Uploaders with thanks for his past contributions
+ (closes: #677756).
+ * Revert ABI symbols change from 2.3-9.2, since whatever prompted that
+ change seems to have changed back (closes: #678788).
+
+ -- Colin Watson <cjwatson@debian.org> Wed, 27 Jun 2012 00:01:04 +0100
+
+parted (2.3-9.2) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Add partition table re-read on hurd-i386 (Closes: #669936).
+ * Backport gnulib fix for set but not used variables (Closes: #676590).
+ * Update ABI symbol list (Closes: #676591).
+
+ -- Samuel Thibault <sthibault@debian.org> Fri, 08 Jun 2012 02:04:11 +0200
+
+parted (2.3-9.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * kfreebsd_lvm.patch: Support LVM on GNU/kFreeBSD. (Closes: #644825)
+ * hurd-partition-path.patch: Fix wrong path for GNU/Hurd partitions,
+ patch from Jeremie Koenig. (Closes: #586696)
+ * non-registered-device.diff: Fix NULL dereference condition, patch
+ from Jeremie Koenig. (Closes: #586682)
+
+ -- Robert Millan <rmh@debian.org> Mon, 09 Apr 2012 09:46:19 +0000
+
+parted (2.3-9) unstable; urgency=low
+
+ [ Colin Watson ]
+ * Add build-arch and build-indep targets to debian/rules.
+
+ [ Svante Signell ]
+ * Avoid building debian/rules targets more than once (closes: #649741).
+
+ -- Colin Watson <cjwatson@debian.org> Sat, 31 Mar 2012 18:51:13 +0100
+
+parted (2.3-8) unstable; urgency=low
+
+ [ Robert Millan ]
+ * Add detection of ZFS volumes (closes: #635384).
+ * Add detection of GEOM encryption devices (closes: #635393).
+
+ -- Colin Watson <cjwatson@debian.org> Sat, 30 Jul 2011 14:37:34 +0100
+
+parted (2.3-7) unstable; urgency=low
+
+ * Use [linux-any] in debian/control rather than [!hurd-i386 !kfreebsd-i386
+ !kfreebsd-amd64].
+ * Remove libparted.la from libparted0-dev.
+ * Convert to multiarch.
+
+ -- Colin Watson <cjwatson@debian.org> Sun, 17 Jul 2011 14:25:45 +0100
+
+parted (2.3-6) unstable; urgency=low
+
+ * Backport from upstream:
+ - Accommodate two-component Linux version numbers like 3.0
+ (LP: #796865).
+ * Rewrite package descriptions and add a Homepage field (thanks, Justin B
+ Rye; closes: #615124).
+
+ -- Colin Watson <cjwatson@debian.org> Wed, 15 Jun 2011 15:21:08 +0100
+
+parted (2.3-5) unstable; urgency=low
+
+ * Remove DASD restriction on _disk_sync_part_table, as otherwise DASD
+ partitioning will never work properly (closes: #605759).
+
+ -- Colin Watson <cjwatson@debian.org> Sun, 19 Dec 2010 12:57:43 +0000
+
+parted (2.3-4) unstable; urgency=low
+
+ * Fix used-uninitialised bug on devices smaller than one cylinder (closes:
+ #602568).
+ * Ignore zero-length devices (closes: #602533).
+
+ -- Colin Watson <cjwatson@debian.org> Fri, 19 Nov 2010 21:42:56 +0000
+
+parted (2.3-3) unstable; urgency=low
+
+ * Build-depend on check, so that we can run more of our test suite.
+ * Add ZFS detection support (thanks, Robert Millan; closes: #595007).
+
+ -- Colin Watson <cjwatson@debian.org> Sun, 17 Oct 2010 11:13:02 +0100
+
+parted (2.3-2) unstable; urgency=low
+
+ * Fix patch ordering: btrfs.patch is for upstream merging, not a symbols
+ patch.
+ * Remove limits on loop labels (closes: #592679). There's no reason to
+ impose any particular limit on loop labels, since they just represent a
+ single large partition. Sector counts over 2^32 are needed for large
+ RAID arrays.
+ * Backport upstream patch to update tests/t4000-sun-raid-type.sh so that
+ the test suite passes again.
+ * Add support for detection of FreeBSD UFS file systems and creation of
+ the partition on DOS and GPT labels (thanks, Aurelien Jarno; closes:
+ #588364).
+
+ -- Colin Watson <cjwatson@debian.org> Thu, 19 Aug 2010 12:19:36 +0100
+
+parted (2.3-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/patches/update-ext4-code.patch: refreshed against newer code.
+ * debian/patches/linux-exports.patch: dropped, merged upstream.
+ * debian/patches/kfreebsd-gnu.patch: refreshed against newer code.
+ * debian/patches/sun-revert-disk-flag.patch: backported to revert the
+ disk flag implementation. Refs: #579948.
+
+ -- Otavio Salvador <otavio@debian.org> Tue, 29 Jun 2010 12:26:47 -0300
+
+parted (2.2-7) unstable; urgency=low
+
+ * Update GNU/kFreeBSD patch, from Luca Favatella's Google Summer of Code
+ project last year via Aurelien Jarno. Among other things, this no
+ longer requires libgeom (closes: #580224).
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 14 Jun 2010 16:22:28 +0100
+
+parted (2.2-6) unstable; urgency=low
+
+ * libparted0-dev should depend on libgeom-dev on kFreeBSD (thanks, Petr
+ Salinger; closes: #576684).
+ * Use proper epoch in libdevmapper-dev build-dependency (closes: #580415).
+ * Add btrfs discovery support (thanks, Luca Bruno; closes: #567176).
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 14 Jun 2010 13:53:27 +0100
+
+parted (2.2-5) unstable; urgency=low
+
+ * Fix brown-paper-bag build error in kFreeBSD patch.
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 06 Apr 2010 11:06:54 +0100
+
+parted (2.2-4) unstable; urgency=low
+
+ * Policy version 3.8.4: no changes required.
+ * Merge from maint-1.8 branch:
+ - Version libparted[12] conflicts/replaces in preparation for
+ upstream-maintained sonames in 2.2 and newer.
+ * Rename libparted0 to libparted0debian1 (LP: #535368), and also
+ libparted0-dbg to libparted0debian1-dbg in case anything is relying on
+ those package names matching. This is unfortunate, but is needed to
+ work around historical unversioned Conflicts on libparted0, libparted1,
+ and libparted2, which would break upgrades from lenny. Add a dummy
+ libparted0 package to provide smooth upgrades from earlier 2.2-*
+ versions.
+
+ -- Colin Watson <cjwatson@debian.org> Sat, 03 Apr 2010 11:53:56 +0100
+
+parted (2.2-3) unstable; urgency=low
+
+ * Restore GNU/kFreeBSD support (closes: #575007).
+ * Don't rebuild autotools files during the build.
+ * Guard against FreeBSD kern.geom.conftxt not being newline-terminated.
+ * Fix FreeBSD support for file devices.
+ * Add GPT device naming support on kFreeBSD (thanks, Robert Millan;
+ closes: #548436).
+ * Strings from struct ata_params are not guaranteed to be null terminated
+ (thanks, Aurelien Jarno; closes: #559645).
+
+ -- Colin Watson <cjwatson@debian.org> Fri, 26 Mar 2010 11:06:34 +0000
+
+parted (2.2-2) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Colin Watson <cjwatson@debian.org> Sun, 21 Mar 2010 23:25:35 +0000
+
+parted (2.2-1) experimental; urgency=low
+
+ * New upstream release.
+
+ [ Colin Watson ]
+ * Upstream now uses libtool's versioning system, so the SONAME has changed
+ from "libparted-2.1.so.0" to "libparted.so.0". Change library package
+ names to libparted0 etc. to match. This actually returns to a SONAME
+ that was used for a few months in 2000, but it seems unlikely that that
+ will cause any problems and I'd rather keep in sync with upstream.
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 08 Mar 2010 13:48:02 +0000
+
+parted (2.1-4) experimental; urgency=low
+
+ * Make libparted-2.1-dev depend on packages that deliver other libraries
+ listed in libparted.la (closes: #526896).
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 01 Mar 2010 17:00:33 +0000
+
+parted (2.1-3) experimental; urgency=low
+
+ * linux-exports.patch: Don't export linux_get_minimum_alignment or
+ linux_get_optimum_alignment functions.
+
+ -- Colin Watson <cjwatson@debian.org> Fri, 26 Feb 2010 17:38:54 +0000
+
+parted (2.1-2) experimental; urgency=low
+
+ * Build-depend on libblkid-dev, since otherwise we don't get
+ minimum/optimum alignment handling on Linux.
+
+ -- Colin Watson <cjwatson@debian.org> Fri, 26 Feb 2010 12:51:06 +0000
+
+parted (2.1-1) experimental; urgency=low
+
+ * New upstream release
+
+ [ Otavio Salvador ]
+ * control.in: bump preferred soname for libreadline (closes: #553824).
+
+ [ Colin Watson ]
+ * control.in: Remove copy-and-paste error from libparted1.8-i18n
+ description (closes: #497626).
+ * copyright: Document parted.info's licence, namely GFDL 1.1 with no
+ invariant sections, front-cover texts, or back-cover texts (closes:
+ #500201).
+ * rules: Cell partition tables are misdetected as pc98, so disable pc98
+ support on powerpc (closes: #487833).
+ * control.in: Don't build-depend on libdevmapper-dev on hurd-i386.
+ * control.in: Build-depend on libdevmapper-dev (>= 1.02.33), for
+ dm_task_set_major_minor.
+
+ [ Xavier Oswald ]
+ * debian/control.in:
+ - Change my mail address
+ - Bump Standards-Version to 3.8.3
+ - Update Build-Depends on debhelper 7
+ * debian/compat: update version to 7
+ * Parted not informing the kernel of changes to the partition table
+ (Closes: #557044), fixed upstream
+
+ [ Otavio Salvador ]
+ * debian/watch: fix URL to download
+ * Switch to quilt to manage patches
+ - unpartitioned-disks.dpatch, drop (merged upstream)
+ - unblacklist-md.dpatch, drop (merged upstream)
+ - amiga-raid-lvm-fix.dpatch, drop (not used for ages)
+ - devfs.dpatch, drop (devfs is not used)
+ - reiserfs-libname.dpatch, drop (referenced library is unavailable)
+
+ [ Xavier Oswald, Colin Watson ]
+ * Refresh update-ext4-code.patch
+
+ [ Otavio Salvador ]
+ * Fix parted-doc info files installation
+ * Add lintian overrides for parted package
+ * Use soname in libparted udeb name
+
+ -- Otavio Salvador <otavio@ossystems.com.br> Sat, 06 Feb 2010 16:39:19 -0200
+
+parted (1.8.8.git.2009.07.19-6) unstable; urgency=medium
+
+ * Version libparted[012] conflicts/replaces in preparation for
+ upstream-maintained sonames in 2.2 and newer.
+
+ -- Colin Watson <cjwatson@debian.org> Mon, 08 Mar 2010 13:37:49 +0000
+
+parted (1.8.8.git.2009.07.19-5) unstable; urgency=low
+
+ * Update building system with automake 1.11
+
+ -- Otavio Salvador <otavio@ossystems.com.br> Tue, 18 Aug 2009 19:16:28 -0300
+
+parted (1.8.8.git.2009.07.19-4) unstable; urgency=low
+
+ [ Otavio Salvador ]
+ * Fix FTBFS in s390 due a missing prototype in dasd label.
+
+ [ Aurelien Jarno ]
+ * Add FreeBSD architecture support files
+ * Regenerate configure and Makefile.in
+
+ -- Otavio Salvador <otavio@ossystems.com.br> Wed, 12 Aug 2009 18:07:22 -0300
+
+parted (1.8.8.git.2009.07.19-3) unstable; urgency=low
+
+ [ Otavio Salvador ]
+ * control.in: use debug for libparted-dbg.
+
+ [ Colin Watson ]
+ * control.in: Move libparted@LIBPKGVER@-i18n to section localization.
+
+ [ Luca Favatella ]
+ * control.in: Remove libdevmapper-dev as build-dependency on GNU/kFreeBSD.
+ * debian/rules: Enable device-mapper only on Linux.
+
+ [ Otavio Salvador ]
+ * Do not dynamicaly update soname.
+
+ -- Otavio Salvador <otavio@ossystems.com.br> Mon, 10 Aug 2009 22:22:37 -0300
+
+parted (1.8.8.git.2009.07.19-2) unstable; urgency=low
+
+ * unblacklist-md.dpatch: Revert commit
+ f94e08bdb4ba0fa1b9fd35509e04c2d9ee84ff80, which broke RAID configuration
+ in d-i and isn't necessary given our unpartitioned-disks patch.
+ * Add myself to Uploaders, at Otavio's suggestion.
+
+ -- Colin Watson <cjwatson@debian.org> Fri, 24 Jul 2009 15:31:04 +0100
+
+parted (1.8.8.git.2009.07.19-1) unstable; urgency=low
+
+ * New upstream snapshot.
+
+ [ Max Vozeler ]
+ * Restore dependency on the patch-stamp target. (closes: #534248)
+
+ [ Otavio Salvador ]
+ * Drop baseline-symbols patch.
+ * Update symbols - no soname bump required.
+
+ -- Otavio Salvador <otavio@ossystems.com.br> Sun, 19 Jul 2009 13:11:09 -0300
+
+parted (1.8.8.git.2009.06.03-2) unstable; urgency=low
+
+ * libparted: move LinuxSpecific stuff to a private linux.h header
+
+ -- Otavio Salvador <otavio@ossystems.com.br> Fri, 17 Jul 2009 19:07:08 -0300
+
+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 <otavio@ossystems.com.br> 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 <otavio@ossystems.com.br> Sat, 23 May 2009 20:42:05 -0300
+
+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 <ben@decadent.org.uk> Mon, 24 Nov 2008 01:28:08 +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 <cjwatson@ubuntu.com> for the patch. Closes: #502618
+
+ -- Otavio Salvador <otavio@ossystems.com.br> 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 <giuseppe@iuculano.it> 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 <otavio@ossystems.com.br> 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 <otavio@ossystems.com.br> Mon, 28 Jul 2008 21:09:10 -0300
+
+parted (1.8.8.git.2008.03.24-7) unstable; urgency=low
+
+ * Upload to unstable
+
+ -- Otavio Salvador <otavio@ossystems.com.br> 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 <elendil@planet.nl> (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 <otavio@ossystems.com.br> 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 <otavio@ossystems.com.br> 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 <otavio@ossystems.com.br> 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 <otavio@ossystems.com.br> 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 <otavio@ossystems.com.br> 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 <otavio@ossystems.com.br> 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 <elendil@planet.nl>
+ 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 <otavio@ossystems.com.br> 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 <otavio@debian.org> 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 <luther@debian.org> Wed, 1 Nov 2006 19:27:46 +0100
+
+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 <luther@debian.org> Tue, 7 Nov 2006 17:45:28 +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 <sesse@debian.org> 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 <waldi@debian.org> as uploader.
+ * Add libparted changelog in libparted1.7-1 and libparted1.7-dev
+ packages. (Closes: #369780)
+ * Apply patch from David Härdeman <david@2gen.com> 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 <otavio@debian.org> 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 <waldi@debian.org> 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 <otavio@debian.org> 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 <otavio@debian.org> 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
+ <rmh@aybabtu.com> (Closes: #363381)
+ * Apply patch to use debhelper support for shlibs in udebs. Thanks to
+ Frans Pop <aragorn@tiscali.nl> (Closes: #360213)
+ * Apply patch to fix RAID usage in SPARC. Thanks to Fabio Di Nitto
+ <fabbione@sunfire.int.fabbione.net> (Closes: #355467)
+
+ -- Otavio Salvador <otavio@debian.org> 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 <otavio@ossystems.com.br> 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 <otavio@debian.org> 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 <otavio@debian.org> Mon, 10 Oct 2005 16:40:00 -0300
+
+parted (1.6.24-3) unstable; urgency=high
+
+ [ Otavio Salvador ]
+ * Applied patch from A. Costa <agcosta@gis.net> to update README.Debian
+ about hfs support
+ * parted.8.dpatch: manpage patch from A. Costa <agcosta@gis.net>
+ * id.po.dpatch: include Indonesian language
+ * es.po.dpatch: update Spanish language translation
+ * sparc.dpatch: recognize partitions on sun disklabel (Closes: #328694)
+
+ -- Otavio Salvador <otavio@debian.org> 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 <otavio@debian.org> 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 <jensseidel@users.sf.net>). (Closes: #313948)
+ * Really include udev-devfs-rules.dpatch but already on the updated
+ version (Colin Watson <cjwatson@ubuntu.com>). (Closes: #311664)
+ * Patch included upstream to update documentation for HFS and HFS+
+ current status (Nikolaus Schulz <microschulz@web.de>). (Closes: #298020)
+ * Applied patch to fix FTBFS on Hurd (Michael Banck
+ <mbanck@debian.org>). (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 <otavio@debian.org> 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 <luther@debian.org> 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 <doko@ubuntu.com>)
+ - 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 <cjwatson@ubuntu.com>)
+
+ -- Sven Luther <luther@debian.org> 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
+ <jari.aalto@cante.net> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> Sat, 27 Nov 2004 11:57:51 +0100
+
+parted (1.6.14-0.exp.2) experimental; urgency=low
+
+ * Added new hfs patch.
+
+ -- Sven Luther <luther@debian.org> Wed, 8 Sep 2004 07:55:18 +0200
+
+parted (1.6.14-0.exp.1) experimental; urgency=low
+
+ * New upstream release.
+
+ -- Sven Luther <luther@debian.org> 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 <luther@debian.org> 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 <peterc@gelato.unsw.edu.au> for providing the patch.
+ (Closes: #279732)
+
+ -- Sven Luther <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <snwint@suse.de>.
+
+ * Thanks to Fabio Tranchitella, Bastian Blank, Guillaume Knispel and
+ Peter Samuelson who made this release possible.
+
+ -- Sven Luther <luther@debian.org> 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 <kraai@debian.org> 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 <tbm@cyrius.com> 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 <tbm@cyrius.com> 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 <joeyh@debian.org>. (Closes: #243635)
+ * Added a more complete s390 sector size patch by Lucius Leland
+ <Leland.Lucius@ecolab.com>. (Closes: #243554)
+
+ -- Sven Luther <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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
+ <richard@sleepie.demon.co.uk> for providing a patch.
+ (Closes: #229626).
+ * Added parted.m4 patch provided by Petter Reinholdtsen <pere@hungry.com>,
+ (Closes: #223764).
+
+ -- Sven Luther <luther@debian.org> Tue, 27 Jan 2004 11:16:30 +0100
+
+parted (1.6.6-6) unstable; urgency=low
+
+ * dpatch build-depency got lost again :(.
+
+ -- Sven Luther <luther@debian.org> Sun, 25 Jan 2004 12:34:20 +0100
+
+parted (1.6.6-5) unstable; urgency=low
+
+ * Added hfs resize patch from Guillaume Knispel <k_guillaume@libertysurf.fr>.
+ (Closes: #226115)
+
+ -- Sven Luther <luther@debian.org> 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 <luther@debian.org> 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 <pere@debian.org> 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 <luther@debian.org> 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 <pere@debian.org>
+ for doing the work.
+ * Added libuuid dependency to udebs. Thanks to Matt Kraai <kraai@debian.org>
+ for providing the patch and following this. (Closes: #221225, #221226)
+
+ -- Sven Luther <luther@debian.org> 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 <luther@debian.org> 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 <luther@debian.org> Wed, 29 Oct 2003 16:11:35 +0100
+
+parted (1.6.6-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <luther@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <dannf@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> Wed, 10 Jul 2002 08:51:17 +1000
+
+parted (1.6.1-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <asm/page.h>" from libparted/fs_linux_swap/linux_swap.c,
+ which should fix build problems on ia64.
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> Fri, 1 Feb 2002 18:41:31 +1100
+
+parted (1.4.23-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> Wed, 16 Jan 2002 00:02:03 +1100
+
+parted (1.4.22-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> Mon, 8 Oct 2001 12:51:47 +1000
+
+parted (1.4.19-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> Sun, 30 Sep 2001 18:51:41 +1000
+
+parted (1.4.18+19pre2-5) unstable; urgency=low
+
+ * Applied Matt Domsch <Matt_Domsch@Dell.com>'s GPT (GUID Partition Tables)
+ support patch (closes: #105555)
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> Wed, 5 Sep 2001 13:08:56 +1000
+
+parted (1.4.18-1) unstable; urgency=low
+
+ * New upstream release (never uploaded)
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> Mon, 23 Jul 2001 09:39:22 +1000
+
+parted (1.4.16-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> Tue, 17 Jul 2001 10:22:56 +1000
+
+parted (1.4.15-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> Tue, 29 May 2001 10:10:09 +1000
+
+parted (1.4.13-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> Tue, 1 May 2001 12:03:56 +1000
+
+parted (1.4.11-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> Tue, 20 Mar 2001 00:47:22 +1100
+
+parted (1.4.9-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> Sun, 4 Feb 2001 18:30:05 +1100
+
+parted (1.4.6-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> Sun, 7 Jan 2001 18:39:59 +1100
+
+parted (1.4.4-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> Sun, 3 Dec 2000 18:58:28 +1100
+
+parted (1.4.3-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> Sun, 19 Nov 2000 22:52:57 +1100
+
+parted (1.2.13-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> Wed, 18 Oct 2000 12:59:48 +1100
+
+parted (1.2.10-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> Sun, 15 Oct 2000 23:24:15 +1100
+
+parted (1.2.9-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> Tue, 22 Aug 2000 21:27:59 +1000
+
+parted (1.2.7-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> Wed, 2 Aug 2000 21:13:42 +1000
+
+parted (1.2.5-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> Thu, 20 Jul 2000 09:49:29 +1000
+
+parted (1.2.3-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@debian.org> 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 <timshel@pobox.com> 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 <timshel@pobox.com> 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 <timshel@pobox.com> Mon, 12 Jun 2000 15:41:48 +1000
+
+parted (1.0.15-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@pobox.com> 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 <timshel@pobox.com> 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 <timshel@pobox.com> 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 <timshel@pobox.com> 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 <timshel@pobox.com> 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 <timshel@pobox.com> 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 <timshel@pobox.com> 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 <timshel@pobox.com> Wed, 19 Jan 2000 13:28:53 +1100
+
+parted (1.0.4-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@pobox.com> 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 <timshel@pobox.com> 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 <torsten@debian.org> Sun, 19 Dec 1999 12:05:41 +0100
+
+parted (1.0pre8-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@pobox.com> 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 <timshel@pobox.com> Sun, 14 Nov 1999 23:29:01 +1100
+
+parted (1.0pre7-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Timshel Knoll <timshel@pobox.com> Tue, 9 Nov 1999 13:52:14 +1100
+
+parted (1.0pre4-2) unstable; urgency=low
+
+ * Package split into parted and libparted-dev
+
+ -- Timshel Knoll <timshel@pobox.com> Mon, 8 Nov 1999 18:41:28 +1100
+
+parted (1.0pre4-1) unstable; urgency=low
+
+ * Initial Release.
+
+ -- Timshel Knoll <timshel@pobox.com> Fri, 5 Nov 1999 18:11:28 +1100
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..0e63f5a
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,163 @@
+Source: parted
+Section: admin
+Priority: optional
+Maintainer: Parted Maintainer Team <parted-maintainers@alioth-lists.debian.net>
+Uploaders: Bastian Blank <waldi@debian.org>, Colin Watson <cjwatson@debian.org>
+Standards-Version: 3.9.8
+Vcs-Git: https://salsa.debian.org/parted-team/parted.git
+Vcs-Browser: https://salsa.debian.org/parted-team/parted
+Homepage: https://www.gnu.org/software/parted
+Build-Depends:
+ debhelper-compat (= 13),
+ libncurses-dev | libncurses5-dev,
+ libreadline-dev | libreadline6-dev,
+ libdevmapper-dev [linux-any],
+ uuid-dev,
+ gettext,
+ texinfo,
+ libblkid-dev,
+ pkg-config,
+ check <!nocheck>,
+ autoconf,
+ automake,
+ autopoint,
+ gperf
+Rules-Requires-Root: no
+
+Package: parted
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, libparted2 (= ${binary:Version})
+Suggests: parted-doc
+Conflicts: parted-doc (<< 3.5-2~)
+Multi-Arch: foreign
+Description: disk partition manipulator
+ GNU Parted is a program that allows you to create, destroy, resize,
+ move, and copy disk partitions. This is useful for creating space
+ for new operating systems, reorganizing disk usage, and copying data
+ to new hard disks.
+ .
+ This package contains the binary and manual page. Further
+ documentation is available in parted-doc.
+ .
+ Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS, and PC98
+ partitioning formats, as well as a "loop" (raw disk) type which
+ allows use on RAID/LVM. It can detect and remove ASFS/AFFS/APFS,
+ Btrfs, ext2/3/4, FAT16/32, HFS, JFS, linux-swap, UFS, XFS, and ZFS
+ file systems. Parted also has the ability to create and modify file
+ systems of some of these types, but using it to perform file system
+ operations is now deprecated.
+ .
+ The nature of this software means that any bugs could cause massive
+ data loss. While there are no such bugs known 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
+Package-Type: udeb
+Architecture: any
+Section: debian-installer
+XB-Installer-Menu-Item: 99999
+Depends: ${shlibs:Depends}, libparted2-udeb (= ${binary:Version}), ${misc:Depends}
+Description: Manually partition a hard drive (parted)
+
+Package: libparted2
+Architecture: any
+Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, dmidecode [amd64 i386]
+Suggests: parted, libparted-dev, libparted-i18n (= ${source:Version})
+Provides: libparted
+Multi-Arch: same
+Description: disk partition manipulator - shared library
+ GNU Parted is a program that allows you to create, destroy, resize,
+ move, and copy disk partitions. This is useful for creating space
+ for new operating systems, reorganizing disk usage, and copying data
+ to new hard disks.
+ .
+ This package contains the shared library.
+
+Package: libparted-fs-resize0
+Architecture: any
+Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, libparted2 (= ${binary:Version})
+Suggests: libparted-dev
+Multi-Arch: same
+Description: disk partition manipulator - shared FS resizing library
+ GNU Parted is a program that allows you to create, destroy, resize,
+ move, and copy disk partitions. This is useful for creating space
+ for new operating systems, reorganizing disk usage, and copying data
+ to new hard disks.
+ .
+ This package contains the libparted-fs-resize shared library for
+ resizing HFS+ and FAT file systems.
+
+Package: libparted2-udeb
+Package-Type: udeb
+Architecture: any
+Section: debian-installer
+Depends: ${shlibs:Depends}, ${misc:Depends}, dmidecode-udeb [amd64 i386]
+Description: disk partition manipulator - library udeb
+ GNU Parted is a program that allows you to create, destroy, resize,
+ move, and copy disk partitions. This is useful for creating space
+ for new operating systems, reorganizing disk usage, and copying data
+ to new hard disks.
+ .
+ This is a cut-down library package for use in debian-installer.
+
+Package: libparted-fs-resize0-udeb
+Package-Type: udeb
+Architecture: any
+Section: debian-installer
+Depends: ${shlibs:Depends}, ${misc:Depends}, libparted2-udeb (= ${binary:Version})
+Description: disk partition manipulator - FS resizing library udeb
+ GNU Parted is a program that allows you to create, destroy, resize,
+ move, and copy disk partitions. This is useful for creating space
+ for new operating systems, reorganizing disk usage, and copying data
+ to new hard disks.
+ .
+ This is a cut-down library package for use in debian-installer. It
+ contains the libparted-fs-resize shared library for resizing HFS+ and
+ FAT file systems.
+
+Package: libparted-i18n
+Architecture: all
+Section: localization
+Depends: libparted2, ${misc:Depends}
+Description: disk partition manipulator - i18n support
+ GNU Parted is a program that allows you to create, destroy, resize,
+ move, and copy disk partitions. This is useful for creating space
+ for new operating systems, reorganizing disk usage, and copying data
+ to new hard disks.
+ .
+ This package contains localization data.
+
+Package: libparted-dev
+Architecture: any
+Section: libdevel
+Depends: libc6-dev, libparted2 (= ${binary:Version}), libparted-fs-resize0 (= ${binary:Version}), libdevmapper-dev [linux-any], uuid-dev, libblkid-dev, ${misc:Depends}
+Suggests: parted (= ${binary:Version}), parted-doc
+Multi-Arch: same
+Description: disk partition manipulator - development files
+ GNU Parted is a program that allows you to create, destroy, resize,
+ move, and copy disk partitions. This is useful for creating space
+ for new operating systems, reorganizing disk usage, and copying data
+ to new hard disks.
+ .
+ This package contains the static library and header files for
+ libparted, which are really only of interest to parted developers.
+
+Package: parted-doc
+Architecture: all
+Section: doc
+Suggests: parted | libparted-dev
+Depends: ${misc:Depends}
+Multi-Arch: foreign
+Description: disk partition manipulator - documentation
+ GNU Parted is a program that allows you to create, destroy, resize,
+ move, and copy disk partitions. This is useful for creating space
+ for new operating systems, reorganizing disk usage, and copying data
+ to new hard disks.
+ .
+ This package contains user documentation for parted and API
+ documentation for the library packages.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..92ceaa5
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,429 @@
+This package was debianized by Timshel Knoll <timshel@debian.org> on
+Fri, 5 Nov 1999 18:11:28 +1100.
+
+It was downloaded from ftp://ftp.gnu.org/gnu/parted/
+
+Upstream Authors: Andrew Clausen <clausen@gnu.org>
+ Lennert Buytanhek <buytenh@gnu.org>
+ Matthew Wilson <msw@redhat.com>
+
+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 <otavio@debian.org> Mon, 24 Mar 2008 23:30:11 +0000
+
+
+The info documentation, contained in the parted-doc package, is licensed as
+follows:
+
+ Copyright (C) 1999-2009 Free Software Foundation, Inc.
+
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.1 or
+ any later version published by the Free Software Foundation; with no
+ Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+
+(Note that, since this specifies no unmodifiable sections, the documentation
+is free per http://www.debian.org/vote/2006/vote_001#outcome.)
+
+The complete text of the GNU FDL 1.1, taken from Appendix A to parted.info,
+follows.
+
+A.1 GNU Free Documentation License
+==================================
+
+ Version 1.1, March 2000
+
+ Copyright (C) 2000 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ 0. PREAMBLE
+
+ The purpose of this License is to make a manual, textbook, or other
+ written document "free" in the sense of freedom: to assure everyone
+ the effective freedom to copy and redistribute it, with or without
+ modifying it, either commercially or noncommercially. Secondarily,
+ this License preserves for the author and publisher a way to get
+ credit for their work, while not being considered responsible for
+ modifications made by others.
+
+ This License is a kind of "copyleft", which means that derivative
+ works of the document must themselves be free in the same sense.
+ It complements the GNU General Public License, which is a copyleft
+ license designed for free software.
+
+ We have designed this License in order to use it for manuals for
+ free software, because free software needs free documentation: a
+ free program should come with manuals providing the same freedoms
+ that the software does. But this License is not limited to
+ software manuals; it can be used for any textual work, regardless
+ of subject matter or whether it is published as a printed book.
+ We recommend this License principally for works whose purpose is
+ instruction or reference.
+
+ 1. APPLICABILITY AND DEFINITIONS
+
+ This License applies to any manual or other work that contains a
+ notice placed by the copyright holder saying it can be distributed
+ under the terms of this License. The "Document", below, refers to
+ any such manual or work. Any member of the public is a licensee,
+ and is addressed as "you".
+
+ A "Modified Version" of the Document means any work containing the
+ Document or a portion of it, either copied verbatim, or with
+ modifications and/or translated into another language.
+
+ A "Secondary Section" is a named appendix or a front-matter
+ section of the Document that deals exclusively with the
+ relationship of the publishers or authors of the Document to the
+ Document's overall subject (or to related matters) and contains
+ nothing that could fall directly within that overall subject.
+ (For example, if the Document is in part a textbook of
+ mathematics, a Secondary Section may not explain any mathematics.)
+ The relationship could be a matter of historical connection with
+ the subject or with related matters, or of legal, commercial,
+ philosophical, ethical or political position regarding them.
+
+ The "Invariant Sections" are certain Secondary Sections whose
+ titles are designated, as being those of Invariant Sections, in
+ the notice that says that the Document is released under this
+ License.
+
+ The "Cover Texts" are certain short passages of text that are
+ listed, as Front-Cover Texts or Back-Cover Texts, in the notice
+ that says that the Document is released under this License.
+
+ A "Transparent" copy of the Document means a machine-readable copy,
+ represented in a format whose specification is available to the
+ general public, whose contents can be viewed and edited directly
+ and straightforwardly with generic text editors or (for images
+ composed of pixels) generic paint programs or (for drawings) some
+ widely available drawing editor, and that is suitable for input to
+ text formatters or for automatic translation to a variety of
+ formats suitable for input to text formatters. A copy made in an
+ otherwise Transparent file format whose markup has been designed
+ to thwart or discourage subsequent modification by readers is not
+ Transparent. A copy that is not "Transparent" is called "Opaque".
+
+ Examples of suitable formats for Transparent copies include plain
+ ASCII without markup, Texinfo input format, LaTeX input format,
+ SGML or XML using a publicly available DTD, and
+ standard-conforming simple HTML designed for human modification.
+ Opaque formats include PostScript, PDF, proprietary formats that
+ can be read and edited only by proprietary word processors, SGML
+ or XML for which the DTD and/or processing tools are not generally
+ available, and the machine-generated HTML produced by some word
+ processors for output purposes only.
+
+ The "Title Page" means, for a printed book, the title page itself,
+ plus such following pages as are needed to hold, legibly, the
+ material this License requires to appear in the title page. For
+ works in formats which do not have any title page as such, "Title
+ Page" means the text near the most prominent appearance of the
+ work's title, preceding the beginning of the body of the text.
+
+ 2. VERBATIM COPYING
+
+ You may copy and distribute the Document in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License
+ applies to the Document are reproduced in all copies, and that you
+ add no other conditions whatsoever to those of this License. You
+ may not use technical measures to obstruct or control the reading
+ or further copying of the copies you make or distribute. However,
+ you may accept compensation in exchange for copies. If you
+ distribute a large enough number of copies you must also follow
+ the conditions in section 3.
+
+ You may also lend copies, under the same conditions stated above,
+ and you may publicly display copies.
+
+ 3. COPYING IN QUANTITY
+
+ If you publish printed copies of the Document numbering more than
+ 100, and the Document's license notice requires Cover Texts, you
+ must enclose the copies in covers that carry, clearly and legibly,
+ all these Cover Texts: Front-Cover Texts on the front cover, and
+ Back-Cover Texts on the back cover. Both covers must also clearly
+ and legibly identify you as the publisher of these copies. The
+ front cover must present the full title with all words of the
+ title equally prominent and visible. You may add other material
+ on the covers in addition. Copying with changes limited to the
+ covers, as long as they preserve the title of the Document and
+ satisfy these conditions, can be treated as verbatim copying in
+ other respects.
+
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto
+ adjacent pages.
+
+ If you publish or distribute Opaque copies of the Document
+ numbering more than 100, you must either include a
+ machine-readable Transparent copy along with each Opaque copy, or
+ state in or with each Opaque copy a publicly-accessible
+ computer-network location containing a complete Transparent copy
+ of the Document, free of added material, which the general
+ network-using public has access to download anonymously at no
+ charge using public-standard network protocols. If you use the
+ latter option, you must take reasonably prudent steps, when you
+ begin distribution of Opaque copies in quantity, to ensure that
+ this Transparent copy will remain thus accessible at the stated
+ location until at least one year after the last time you
+ distribute an Opaque copy (directly or through your agents or
+ retailers) of that edition to the public.
+
+ It is requested, but not required, that you contact the authors of
+ the Document well before redistributing any large number of
+ copies, to give them a chance to provide you with an updated
+ version of the Document.
+
+ 4. MODIFICATIONS
+
+ You may copy and distribute a Modified Version of the Document
+ under the conditions of sections 2 and 3 above, provided that you
+ release the Modified Version under precisely this License, with
+ the Modified Version filling the role of the Document, thus
+ licensing distribution and modification of the Modified Version to
+ whoever possesses a copy of it. In addition, you must do these
+ things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title
+ distinct from that of the Document, and from those of
+ previous versions (which should, if there were any, be listed
+ in the History section of the Document). You may use the
+ same title as a previous version if the original publisher of
+ that version gives permission.
+
+ B. List on the Title Page, as authors, one or more persons or
+ entities responsible for authorship of the modifications in
+ the Modified Version, together with at least five of the
+ principal authors of the Document (all of its principal
+ authors, if it has less than five).
+
+ C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+
+ D. Preserve all the copyright notices of the Document.
+
+ E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+
+ F. Include, immediately after the copyright notices, a license
+ notice giving the public permission to use the Modified
+ Version under the terms of this License, in the form shown in
+ the Addendum below.
+
+ G. Preserve in that license notice the full lists of Invariant
+ Sections and required Cover Texts given in the Document's
+ license notice.
+
+ H. Include an unaltered copy of this License.
+
+ I. Preserve the section entitled "History", and its title, and
+ add to it an item stating at least the title, year, new
+ authors, and publisher of the Modified Version as given on
+ the Title Page. If there is no section entitled "History" in
+ the Document, create one stating the title, year, authors,
+ and publisher of the Document as given on its Title Page,
+ then add an item describing the Modified Version as stated in
+ the previous sentence.
+
+ J. Preserve the network location, if any, given in the Document
+ for public access to a Transparent copy of the Document, and
+ likewise the network locations given in the Document for
+ previous versions it was based on. These may be placed in
+ the "History" section. You may omit a network location for a
+ work that was published at least four years before the
+ Document itself, or if the original publisher of the version
+ it refers to gives permission.
+
+ K. In any section entitled "Acknowledgments" or "Dedications",
+ preserve the section's title, and preserve in the section all
+ the substance and tone of each of the contributor
+ acknowledgments and/or dedications given therein.
+
+ L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section
+ titles.
+
+ M. Delete any section entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+
+ N. Do not retitle any existing section as "Endorsements" or to
+ conflict in title with any Invariant Section.
+
+ If the Modified Version includes new front-matter sections or
+ appendices that qualify as Secondary Sections and contain no
+ material copied from the Document, you may at your option
+ designate some or all of these sections as invariant. To do this,
+ add their titles to the list of Invariant Sections in the Modified
+ Version's license notice. These titles must be distinct from any
+ other section titles.
+
+ You may add a section entitled "Endorsements", provided it contains
+ nothing but endorsements of your Modified Version by various
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
+
+ You may add a passage of up to five words as a Front-Cover Text,
+ and a passage of up to 25 words as a Back-Cover Text, to the end
+ of the list of Cover Texts in the Modified Version. Only one
+ passage of Front-Cover Text and one of Back-Cover Text may be
+ added by (or through arrangements made by) any one entity. If the
+ Document already includes a cover text for the same cover,
+ previously added by you or by arrangement made by the same entity
+ you are acting on behalf of, you may not add another; but you may
+ replace the old one, on explicit permission from the previous
+ publisher that added the old one.
+
+ The author(s) and publisher(s) of the Document do not by this
+ License give permission to use their names for publicity for or to
+ assert or imply endorsement of any Modified Version.
+
+ 5. COMBINING DOCUMENTS
+
+ You may combine the Document with other documents released under
+ this License, under the terms defined in section 4 above for
+ modified versions, provided that you include in the combination
+ all of the Invariant Sections of all of the original documents,
+ unmodified, and list them all as Invariant Sections of your
+ combined work in its license notice.
+
+ The combined work need only contain one copy of this License, and
+ multiple identical Invariant Sections may be replaced with a single
+ copy. If there are multiple Invariant Sections with the same name
+ but different contents, make the title of each such section unique
+ by adding at the end of it, in parentheses, the name of the
+ original author or publisher of that section if known, or else a
+ unique number. Make the same adjustment to the section titles in
+ the list of Invariant Sections in the license notice of the
+ combined work.
+
+ In the combination, you must combine any sections entitled
+ "History" in the various original documents, forming one section
+ entitled "History"; likewise combine any sections entitled
+ "Acknowledgments", and any sections entitled "Dedications". You
+ must delete all sections entitled "Endorsements."
+
+ 6. COLLECTIONS OF DOCUMENTS
+
+ You may make a collection consisting of the Document and other
+ documents released under this License, and replace the individual
+ copies of this License in the various documents with a single copy
+ that is included in the collection, provided that you follow the
+ rules of this License for verbatim copying of each of the
+ documents in all other respects.
+
+ You may extract a single document from such a collection, and
+ distribute it individually under this License, provided you insert
+ a copy of this License into the extracted document, and follow
+ this License in all other respects regarding verbatim copying of
+ that document.
+
+ 7. AGGREGATION WITH INDEPENDENT WORKS
+
+ A compilation of the Document or its derivatives with other
+ separate and independent documents or works, in or on a volume of
+ a storage or distribution medium, does not as a whole count as a
+ Modified Version of the Document, provided no compilation
+ copyright is claimed for the compilation. Such a compilation is
+ called an "aggregate", and this License does not apply to the
+ other self-contained works thus compiled with the Document, on
+ account of their being thus compiled, if they are not themselves
+ derivative works of the Document.
+
+ If the Cover Text requirement of section 3 is applicable to these
+ copies of the Document, then if the Document is less than one
+ quarter of the entire aggregate, the Document's Cover Texts may be
+ placed on covers that surround only the Document within the
+ aggregate. Otherwise they must appear on covers around the whole
+ aggregate.
+
+ 8. TRANSLATION
+
+ Translation is considered a kind of modification, so you may
+ distribute translations of the Document under the terms of section
+ 4. Replacing Invariant Sections with translations requires special
+ permission from their copyright holders, but you may include
+ translations of some or all Invariant Sections in addition to the
+ original versions of these Invariant Sections. You may include a
+ translation of this License provided that you also include the
+ original English version of this License. In case of a
+ disagreement between the translation and the original English
+ version of this License, the original English version will prevail.
+
+ 9. TERMINATION
+
+ You may not copy, modify, sublicense, or distribute the Document
+ except as expressly provided for under this License. Any other
+ attempt to copy, modify, sublicense or distribute the Document is
+ void, and will automatically terminate your rights under this
+ License. However, parties who have received copies, or rights,
+ from you under this License will not have their licenses
+ terminated so long as such parties remain in full compliance.
+
+ 10. FUTURE REVISIONS OF THIS LICENSE
+
+ The Free Software Foundation may publish new, revised versions of
+ the GNU Free Documentation License from time to time. Such new
+ versions will be similar in spirit to the present version, but may
+ differ in detail to address new problems or concerns. See
+ `http://www.gnu.org/copyleft/'.
+
+ Each version of the License is given a distinguishing version
+ number. If the Document specifies that a particular numbered
+ version of this License "or any later version" applies to it, you
+ have the option of following the terms and conditions either of
+ that specified version or of any later version that has been
+ published (not as a draft) by the Free Software Foundation. If
+ the Document does not specify a version number of this License,
+ you may choose any version ever published (not as a draft) by the
+ Free Software Foundation.
+
+A.1.1 ADDENDUM: How to use this License for your documents
+----------------------------------------------------------
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and license
+notices just after the title page:
+
+ Copyright (C) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.1
+ or any later version published by the Free Software Foundation;
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+ A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+
+ If you have no Invariant Sections, write "with no Invariant Sections"
+instead of saying which ones are invariant. If you have no Front-Cover
+Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being
+LIST"; likewise for Back-Cover Texts.
+
+ If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License, to
+permit their use in free software.
diff --git a/debian/libparted-dev.install b/debian/libparted-dev.install
new file mode 100644
index 0000000..b07be06
--- /dev/null
+++ b/debian/libparted-dev.install
@@ -0,0 +1,6 @@
+usr/lib/*/libparted.a
+usr/lib/*/libparted.so
+usr/lib/*/libparted-fs-resize.a
+usr/lib/*/libparted-fs-resize.so
+usr/lib/*/pkgconfig
+usr/include
diff --git a/debian/libparted-dev.links b/debian/libparted-dev.links
new file mode 100644
index 0000000..4111660
--- /dev/null
+++ b/debian/libparted-dev.links
@@ -0,0 +1,2 @@
+lib/${DEB_HOST_MULTIARCH}/libparted.so.2 usr/lib/${DEB_HOST_MULTIARCH}/libparted.so
+lib/${DEB_HOST_MULTIARCH}/libparted-fs-resize.so.0 usr/lib/${DEB_HOST_MULTIARCH}/libparted-fs-resize.so
diff --git a/debian/libparted-dev.maintscript b/debian/libparted-dev.maintscript
new file mode 100644
index 0000000..fb7161f
--- /dev/null
+++ b/debian/libparted-dev.maintscript
@@ -0,0 +1 @@
+dir_to_symlink /usr/share/doc/libparted-dev libparted2 3.5-2~
diff --git a/debian/libparted-fs-resize0-udeb.install b/debian/libparted-fs-resize0-udeb.install
new file mode 100644
index 0000000..b14f84a
--- /dev/null
+++ b/debian/libparted-fs-resize0-udeb.install
@@ -0,0 +1 @@
+lib/libparted-fs-resize.so.*
diff --git a/debian/libparted-fs-resize0.install b/debian/libparted-fs-resize0.install
new file mode 100644
index 0000000..5101a40
--- /dev/null
+++ b/debian/libparted-fs-resize0.install
@@ -0,0 +1 @@
+usr/lib/${DEB_HOST_MULTIARCH}/libparted-fs-resize.so.* lib/${DEB_HOST_MULTIARCH}
diff --git a/debian/libparted-fs-resize0.maintscript b/debian/libparted-fs-resize0.maintscript
new file mode 100644
index 0000000..33226c0
--- /dev/null
+++ b/debian/libparted-fs-resize0.maintscript
@@ -0,0 +1 @@
+dir_to_symlink /usr/share/doc/libparted-fs-resize0 libparted2 3.5-2~
diff --git a/debian/libparted-fs-resize0.symbols b/debian/libparted-fs-resize0.symbols
new file mode 100644
index 0000000..ef4987e
--- /dev/null
+++ b/debian/libparted-fs-resize0.symbols
@@ -0,0 +1,7 @@
+libparted-fs-resize.so.0 libparted-fs-resize0 #MINVER#
+* Build-Depends-Package: libparted-dev
+ LIBPARTED_FS_RESIZE_0.0.0@LIBPARTED_FS_RESIZE_0.0.0 3.1
+ ped_file_system_close@LIBPARTED_FS_RESIZE_0.0.0 3.1
+ ped_file_system_get_resize_constraint@LIBPARTED_FS_RESIZE_0.0.0 3.1
+ ped_file_system_open@LIBPARTED_FS_RESIZE_0.0.0 3.1
+ ped_file_system_resize@LIBPARTED_FS_RESIZE_0.0.0 3.1
diff --git a/debian/libparted-i18n.docs b/debian/libparted-i18n.docs
new file mode 100644
index 0000000..edc0071
--- /dev/null
+++ b/debian/libparted-i18n.docs
@@ -0,0 +1 @@
+NEWS
diff --git a/debian/libparted-i18n.install b/debian/libparted-i18n.install
new file mode 100644
index 0000000..3635480
--- /dev/null
+++ b/debian/libparted-i18n.install
@@ -0,0 +1 @@
+usr/share/locale
diff --git a/debian/libparted2-udeb.install b/debian/libparted2-udeb.install
new file mode 100644
index 0000000..343306d
--- /dev/null
+++ b/debian/libparted2-udeb.install
@@ -0,0 +1 @@
+lib/libparted.so.*
diff --git a/debian/libparted2.docs b/debian/libparted2.docs
new file mode 100644
index 0000000..edc0071
--- /dev/null
+++ b/debian/libparted2.docs
@@ -0,0 +1 @@
+NEWS
diff --git a/debian/libparted2.install b/debian/libparted2.install
new file mode 100644
index 0000000..c104532
--- /dev/null
+++ b/debian/libparted2.install
@@ -0,0 +1 @@
+usr/lib/${DEB_HOST_MULTIARCH}/libparted.so.* lib/${DEB_HOST_MULTIARCH}
diff --git a/debian/libparted2.symbols b/debian/libparted2.symbols
new file mode 100644
index 0000000..27eea22
--- /dev/null
+++ b/debian/libparted2.symbols
@@ -0,0 +1,244 @@
+libparted.so.2 libparted2 #MINVER#
+* Build-Depends-Package: libparted-dev
+ ped_alignment_align_down@Base 3.1
+ ped_alignment_align_nearest@Base 3.1
+ ped_alignment_align_up@Base 3.1
+ ped_alignment_any@Base 3.1
+ ped_alignment_destroy@Base 3.1
+ ped_alignment_duplicate@Base 3.1
+ ped_alignment_init@Base 3.1
+ ped_alignment_intersect@Base 3.1
+ ped_alignment_is_aligned@Base 3.1
+ ped_alignment_new@Base 3.1
+ ped_alignment_none@Base 3.1
+ ped_architecture@Base 3.1
+ ped_assert@Base 3.1
+ ped_calloc@Base 3.1
+ ped_constraint_any@Base 3.1
+ ped_constraint_destroy@Base 3.1
+ ped_constraint_done@Base 3.1
+ ped_constraint_duplicate@Base 3.1
+ ped_constraint_exact@Base 3.1
+ ped_constraint_init@Base 3.1
+ ped_constraint_intersect@Base 3.1
+ ped_constraint_is_solution@Base 3.1
+ ped_constraint_new@Base 3.1
+ ped_constraint_new_from_max@Base 3.1
+ ped_constraint_new_from_min@Base 3.1
+ ped_constraint_new_from_min_max@Base 3.1
+ ped_constraint_solve_max@Base 3.1
+ ped_constraint_solve_nearest@Base 3.1
+ ped_debug@Base 3.1
+ ped_debug_set_handler@Base 3.1
+ ped_device_begin_external_access@Base 3.1
+ ped_device_cache_remove@Base 3.1
+ ped_device_check@Base 3.1
+ ped_device_close@Base 3.1
+ ped_device_destroy@Base 3.1
+ ped_device_end_external_access@Base 3.1
+ ped_device_free_all@Base 3.1
+ ped_device_get@Base 3.1
+ ped_device_get_constraint@Base 3.1
+ ped_device_get_minimal_aligned_constraint@Base 3.1
+ ped_device_get_minimum_alignment@Base 3.1
+ ped_device_get_next@Base 3.1
+ ped_device_get_optimal_aligned_constraint@Base 3.1
+ ped_device_get_optimum_alignment@Base 3.1
+ ped_device_is_busy@Base 3.1
+ (arch=hurd-any)ped_device_new_from_store@Base 3.1
+ ped_device_open@Base 3.1
+ ped_device_probe_all@Base 3.1
+ ped_device_read@Base 3.1
+ ped_device_sync@Base 3.1
+ ped_device_sync_fast@Base 3.1
+ ped_device_write@Base 3.1
+ ped_disk_add_partition@Base 3.1
+ ped_disk_aix_done@Base 3.1
+ ped_disk_aix_init@Base 3.1
+ ped_disk_amiga_done@Base 3.1
+ ped_disk_amiga_init@Base 3.1
+ ped_disk_atari_done@Base 3.2-17~
+ ped_disk_atari_init@Base 3.2-17~
+ ped_disk_bsd_done@Base 3.1
+ ped_disk_bsd_init@Base 3.1
+ ped_disk_check@Base 3.1
+ ped_disk_clobber@Base 3.1
+ ped_disk_commit@Base 3.1
+ ped_disk_commit_to_dev@Base 3.1
+ ped_disk_commit_to_os@Base 3.1
+ (arch=s390 s390x)ped_disk_dasd_done@Base 3.1
+ (arch=s390 s390x)ped_disk_dasd_init@Base 3.1
+ ped_disk_delete_all@Base 3.1
+ ped_disk_delete_partition@Base 3.1
+ ped_disk_destroy@Base 3.1
+ ped_disk_duplicate@Base 3.1
+ ped_disk_dvh_done@Base 3.1
+ ped_disk_dvh_init@Base 3.1
+ ped_disk_extended_partition@Base 3.1
+ ped_disk_flag_get_by_name@Base 3.1
+ ped_disk_flag_get_name@Base 3.1
+ ped_disk_flag_next@Base 3.1
+ ped_disk_get_flag@Base 3.1
+ ped_disk_get_last_partition_num@Base 3.1
+ ped_disk_get_max_partition_geometry@Base 3.1
+ ped_disk_get_max_primary_partition_count@Base 3.1
+ ped_disk_get_max_supported_partition_count@Base 3.1
+ ped_disk_get_partition@Base 3.1
+ ped_disk_get_partition_alignment@Base 3.1
+ ped_disk_get_partition_by_sector@Base 3.1
+ ped_disk_get_primary_partition_count@Base 3.1
+ ped_disk_get_uuid@Base 3.6
+ ped_disk_gpt_done@Base 3.1
+ ped_disk_gpt_init@Base 3.1
+ ped_disk_is_flag_available@Base 3.1
+ ped_disk_loop_done@Base 3.1
+ ped_disk_loop_init@Base 3.1
+ ped_disk_mac_done@Base 3.1
+ ped_disk_mac_init@Base 3.1
+ ped_disk_max_partition_length@Base 3.1
+ ped_disk_max_partition_start_sector@Base 3.1
+ ped_disk_maximize_partition@Base 3.1
+ ped_disk_minimize_extended_partition@Base 3.1
+ ped_disk_msdos_done@Base 3.1
+ ped_disk_msdos_init@Base 3.1
+ ped_disk_new@Base 3.1
+ ped_disk_new_fresh@Base 3.1
+ ped_disk_next_partition@Base 3.1
+ ped_disk_pc98_done@Base 3.1
+ ped_disk_pc98_init@Base 3.1
+ ped_disk_print@Base 3.1
+ ped_disk_probe@Base 3.1
+ ped_disk_remove_partition@Base 3.1
+ ped_disk_set_flag@Base 3.1
+ ped_disk_set_partition_geom@Base 3.1
+ ped_disk_sun_done@Base 3.1
+ ped_disk_sun_init@Base 3.1
+ ped_disk_type_check_feature@Base 3.1
+ ped_disk_type_get@Base 3.1
+ ped_disk_type_get_next@Base 3.1
+ ped_disk_type_register@Base 3.1
+ ped_disk_type_unregister@Base 3.1
+ ped_exception@Base 3.1
+ ped_exception_catch@Base 3.1
+ ped_exception_fetch_all@Base 3.1
+ ped_exception_get_handler@Base 3.1
+ ped_exception_get_option_string@Base 3.1
+ ped_exception_get_type_string@Base 3.1
+ ped_exception_leave_all@Base 3.1
+ ped_exception_rethrow@Base 3.1
+ ped_exception_set_handler@Base 3.1
+ ped_exception_throw@Base 3.1
+ ped_file_system_alias_get_next@Base 3.1
+ ped_file_system_alias_register@Base 3.1
+ ped_file_system_alias_unregister@Base 3.1
+ ped_file_system_amiga_done@Base 3.1
+ ped_file_system_amiga_init@Base 3.1
+ ped_file_system_ext2_done@Base 3.1
+ ped_file_system_ext2_init@Base 3.1
+ ped_file_system_f2fs_done@Base 3.4
+ ped_file_system_f2fs_init@Base 3.4
+ ped_file_system_fat_done@Base 3.1
+ ped_file_system_fat_init@Base 3.1
+ ped_file_system_hfs_done@Base 3.1
+ ped_file_system_hfs_init@Base 3.1
+ ped_file_system_jfs_done@Base 3.1
+ ped_file_system_jfs_init@Base 3.1
+ ped_file_system_linux_swap_done@Base 3.1
+ ped_file_system_linux_swap_init@Base 3.1
+ ped_file_system_nilfs2_done@Base 3.1
+ ped_file_system_nilfs2_init@Base 3.1
+ ped_file_system_ntfs_done@Base 3.1
+ ped_file_system_ntfs_init@Base 3.1
+ ped_file_system_probe@Base 3.1
+ ped_file_system_probe_specific@Base 3.1
+ ped_file_system_reiserfs_done@Base 3.1
+ ped_file_system_reiserfs_init@Base 3.1
+ ped_file_system_type_get@Base 3.1
+ ped_file_system_type_get_next@Base 3.1
+ ped_file_system_type_register@Base 3.1
+ ped_file_system_type_unregister@Base 3.1
+ ped_file_system_udf_done@Base 3.3
+ ped_file_system_udf_init@Base 3.3
+ ped_file_system_ufs_done@Base 3.1
+ ped_file_system_ufs_init@Base 3.1
+ ped_file_system_xfs_done@Base 3.1
+ ped_file_system_xfs_init@Base 3.1
+ (arch=kfreebsd-any)ped_freebsd_arch@Base 3.1
+ ped_geometry_check@Base 3.1
+ ped_geometry_destroy@Base 3.1
+ ped_geometry_duplicate@Base 3.1
+ ped_geometry_init@Base 3.1
+ ped_geometry_intersect@Base 3.1
+ ped_geometry_map@Base 3.1
+ ped_geometry_new@Base 3.1
+ ped_geometry_read@Base 3.1
+ ped_geometry_read_alloc@Base 3.1
+ ped_geometry_set@Base 3.1
+ ped_geometry_set_end@Base 3.1
+ ped_geometry_set_start@Base 3.1
+ ped_geometry_sync@Base 3.1
+ ped_geometry_sync_fast@Base 3.1
+ ped_geometry_test_equal@Base 3.1
+ ped_geometry_test_inside@Base 3.1
+ ped_geometry_test_overlap@Base 3.1
+ ped_geometry_test_sector_inside@Base 3.1
+ ped_geometry_write@Base 3.1
+ ped_get_version@Base 3.1
+ (arch=hurd-any)ped_gnu_arch@Base 3.1
+ ped_greatest_common_divisor@Base 3.1
+ (arch=linux-any)ped_linux_arch@Base 3.1
+ ped_malloc@Base 3.1
+ ped_partition_destroy@Base 3.1
+ ped_partition_flag_get_by_name@Base 3.1
+ ped_partition_flag_get_name@Base 3.1
+ ped_partition_flag_next@Base 3.1
+ ped_partition_get_flag@Base 3.1
+ ped_partition_get_name@Base 3.1
+ ped_partition_get_path@Base 3.1
+ ped_partition_get_type_id@Base 3.6
+ ped_partition_get_type_uuid@Base 3.6
+ ped_partition_get_uuid@Base 3.6
+ ped_partition_is_active@Base 3.1
+ ped_partition_is_busy@Base 3.1
+ ped_partition_is_flag_available@Base 3.1
+ ped_partition_new@Base 3.1
+ ped_partition_set_flag@Base 3.1
+ ped_partition_set_name@Base 3.1
+ ped_partition_set_system@Base 3.1
+ ped_partition_set_type_id@Base 3.6
+ ped_partition_set_type_uuid@Base 3.6
+ ped_partition_type_get_name@Base 3.1
+ ped_round_down_to@Base 3.1
+ ped_round_to_nearest@Base 3.1
+ ped_round_up_to@Base 3.1
+ ped_set_architecture@Base 3.1
+ ped_timer_destroy@Base 3.1
+ ped_timer_destroy_nested@Base 3.1
+ ped_timer_new@Base 3.1
+ ped_timer_new_nested@Base 3.1
+ ped_timer_reset@Base 3.1
+ ped_timer_set_state_name@Base 3.1
+ ped_timer_touch@Base 3.1
+ ped_timer_update@Base 3.1
+ ped_unit_format@Base 3.1
+ ped_unit_format_byte@Base 3.1
+ ped_unit_format_custom@Base 3.1
+ ped_unit_format_custom_byte@Base 3.1
+ ped_unit_get_by_name@Base 3.1
+ ped_unit_get_default@Base 3.1
+ ped_unit_get_name@Base 3.1
+ ped_unit_get_size@Base 3.1
+ ped_unit_parse@Base 3.1
+ ped_unit_parse_custom@Base 3.1
+ ped_unit_set_default@Base 3.1
+# debian/patches/btrfs.patch
+ ped_file_system_btrfs_done@Base 3.1-1~
+ ped_file_system_btrfs_init@Base 3.1-1~
+# debian/patches/zfs.patch
+ ped_file_system_zfs_done@Base 3.1-1~
+ ped_file_system_zfs_init@Base 3.1-1~
+# Only symbols beginning with "ped_" are part of libparted's public ABI.
+# However, some internal symbols are used by the parted program, so it's
+# cumbersome to limit the exported symbols properly. For now, we just
+# ignore them.
+ (regex|optional)"^(?!ped_)" 3.1
diff --git a/debian/parted-doc.docs b/debian/parted-doc.docs
new file mode 100644
index 0000000..6836072
--- /dev/null
+++ b/debian/parted-doc.docs
@@ -0,0 +1,8 @@
+AUTHORS
+BUGS
+README
+THANKS
+TODO
+doc/API
+doc/FAT
+doc/USER.jp
diff --git a/debian/parted-doc.install b/debian/parted-doc.install
new file mode 100644
index 0000000..4365f16
--- /dev/null
+++ b/debian/parted-doc.install
@@ -0,0 +1 @@
+usr/share/info/parted.info
diff --git a/debian/parted-udeb.install b/debian/parted-udeb.install
new file mode 100644
index 0000000..e1ae85e
--- /dev/null
+++ b/debian/parted-udeb.install
@@ -0,0 +1 @@
+sbin
diff --git a/debian/parted.install b/debian/parted.install
new file mode 100644
index 0000000..88efc46
--- /dev/null
+++ b/debian/parted.install
@@ -0,0 +1,3 @@
+sbin
+usr/share/man/man8/parted.8
+usr/share/man/man8/partprobe.8
diff --git a/debian/parted.lintian-overrides b/debian/parted.lintian-overrides
new file mode 100644
index 0000000..46d9b32
--- /dev/null
+++ b/debian/parted.lintian-overrides
@@ -0,0 +1 @@
+parted: bad-whatis-entry usr/share/man/man8/parted.8.gz
diff --git a/debian/parted.maintscript b/debian/parted.maintscript
new file mode 100644
index 0000000..ca4e6b5
--- /dev/null
+++ b/debian/parted.maintscript
@@ -0,0 +1 @@
+dir_to_symlink /usr/share/doc/parted libparted2 3.5-2~
diff --git a/debian/patches/align-new-partitions-on-fresh-disks.patch b/debian/patches/align-new-partitions-on-fresh-disks.patch
new file mode 100644
index 0000000..c37bfe0
--- /dev/null
+++ b/debian/patches/align-new-partitions-on-fresh-disks.patch
@@ -0,0 +1,45 @@
+From 8b6f34acaadd78d11415144dccf5c4750e3e1d0e Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@ubuntu.com>
+Date: Wed, 6 Aug 2014 16:07:28 +0200
+Subject: Align new partitions created on fresh disks
+
+Commit fa815ad05db248d78ef214ea79a78c22772a9ffe arranged to skip
+partition alignment while reading disks, but also has the effect of
+skipping partition alignment when creating a partition on a fresh disk,
+which is incorrect.
+
+The proper upstream fix probably involves adding a new member to PedDisk
+to keep track of whether we're in the middle of the initial read in
+ped_disk_new or not. To avoid changing ABI, we instead take this hacky
+approach of overloading an extra bit on PedDisk.needs_clobber.
+
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1352252
+Forwarded: no
+Last-Update: 2023-06-26
+
+Patch-Name: align-new-partitions-on-fresh-disks.patch
+---
+ libparted/disk.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libparted/disk.c b/libparted/disk.c
+index 0db7b5c9..2d6b9d49 100644
+--- a/libparted/disk.c
++++ b/libparted/disk.c
+@@ -198,6 +198,7 @@ ped_disk_new (PedDevice* dev)
+ disk = ped_disk_new_fresh (dev, type);
+ if (!disk)
+ goto error_close_dev;
++ disk->needs_clobber |= 2;
+ if (!type->ops->read (disk))
+ goto error_destroy_disk;
+ disk->needs_clobber = 0;
+@@ -951,7 +952,7 @@ _partition_align (PedPartition* part, const PedConstraint* constraint)
+ PED_ASSERT (disk_type->ops->partition_align != NULL);
+ PED_ASSERT (part->disk->update_mode);
+
+- if (part->disk->needs_clobber)
++ if ((part->disk->needs_clobber & 2) != 0 || !constraint)
+ return 1; /* do not attempt to align partitions while reading them */
+ return disk_type->ops->partition_align (part, constraint);
+ }
diff --git a/debian/patches/doc-package.patch b/debian/patches/doc-package.patch
new file mode 100644
index 0000000..d4dc59a
--- /dev/null
+++ b/debian/patches/doc-package.patch
@@ -0,0 +1,25 @@
+From 2bf67dffffb5b09ce5b3deca65d279f8526a6033 Mon Sep 17 00:00:00 2001
+From: Timshel Knoll <timshel@debian.org>
+Date: Fri, 28 Mar 2014 17:09:39 +0000
+Subject: Small documentation fixes
+
+Forwarded: not-needed
+
+Patch-Name: doc-package.patch
+---
+ doc/C/parted.8 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/doc/C/parted.8 b/doc/C/parted.8
+index 3069c335..18abf537 100644
+--- a/doc/C/parted.8
++++ b/doc/C/parted.8
+@@ -160,7 +160,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 <timshel@debian.org>,
+ for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/patches/freebsd-geli.patch b/debian/patches/freebsd-geli.patch
new file mode 100644
index 0000000..0e71090
--- /dev/null
+++ b/debian/patches/freebsd-geli.patch
@@ -0,0 +1,38 @@
+From 981a6a2a87a90b25b83ecfc76f5c82c0fadcbbf8 Mon Sep 17 00:00:00 2001
+From: Robert Millan <rmh@debian.org>
+Date: Fri, 28 Mar 2014 17:09:51 +0000
+Subject: Detection of GEOM encryption devices (GELI)
+
+Bug-Debian: http://bugs.debian.org/635393
+Forwarded: no
+Last-Update: 2011-07-30
+
+Patch-Name: freebsd-geli.patch
+---
+ libparted/arch/freebsd.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/libparted/arch/freebsd.c b/libparted/arch/freebsd.c
+index a60b43f8..b78d2bb0 100644
+--- a/libparted/arch/freebsd.c
++++ b/libparted/arch/freebsd.c
+@@ -1096,6 +1096,8 @@ _probe_kern_disks ()
+ {
+ size_t listsize;
+ char *disklist, *pdisklist, *psave;
++ char buf[PATH_MAX];
++ struct stat st;
+
+ if (sysctlbyname("kern.disks", NULL, &listsize, NULL, 0) != 0) {
+ ped_exception_throw (
+@@ -1129,6 +1131,10 @@ _probe_kern_disks ()
+ strncat (dev_name, token, sizeof(dev_name) - strlen(_PATH_DEV) - 1);
+ dev_name[sizeof(dev_name) - 1] = '\0';
+ _ped_device_probe (dev_name);
++
++ snprintf (buf, sizeof (buf), "%s.eli", dev_name);
++ if (stat (buf, &st) == 0)
++ _ped_device_probe (buf);
+ }
+
+ free(disklist);
diff --git a/debian/patches/freebsd-ufs.patch b/debian/patches/freebsd-ufs.patch
new file mode 100644
index 0000000..2484d07
--- /dev/null
+++ b/debian/patches/freebsd-ufs.patch
@@ -0,0 +1,291 @@
+From 1bb66d74adb068f467668aa6f2cd36775cb63fee Mon Sep 17 00:00:00 2001
+From: Aurelien Jarno <aurelien@aurel32.net>
+Date: Fri, 28 Mar 2014 17:09:46 +0000
+Subject: Add FreeBSD UFS support
+
+This patch adds support for detection of FreeBSD UFS file systems and
+creation of the partition on DOS and GPT labels. It doesn't use the
+system of slices used by default on FreeBSD and places the partition
+directly in the dos label. This is something supported by the FreeBSD
+kernel, and the default on Debian GNU/kFreeBSD. Even on plain FreeBSD,
+some persons prefer to not use slices.
+
+This patch is used by debian-installer on Debian GNU/kFreeBSD for some
+months already.
+
+Last-Update: 2023-06-12
+
+Patch-Name: freebsd-ufs.patch
+---
+ libparted/fs/ufs/ufs.c | 103 ++++++++++++++++++++++++++++++++++---
+ libparted/labels/dos.c | 3 ++
+ libparted/labels/gpt.c | 9 ++++
+ tests/Makefile.am | 1 +
+ tests/t2500-freebsd-ufs.sh | 44 ++++++++++++++++
+ 5 files changed, 153 insertions(+), 7 deletions(-)
+ create mode 100644 tests/t2500-freebsd-ufs.sh
+
+diff --git a/libparted/fs/ufs/ufs.c b/libparted/fs/ufs/ufs.c
+index d2bf4214..08ed5603 100644
+--- a/libparted/fs/ufs/ufs.c
++++ b/libparted/fs/ufs/ufs.c
+@@ -45,6 +45,7 @@
+ #define UFS_MAGIC_LFN 0x00095014
+ #define UFS_MAGIC_FEA 0x00195612
+ #define UFS_MAGIC_4GB 0x05231994
++#define UFS2_MAGIC 0x19540119
+
+ struct __attribute__ ((packed)) ufs_csum {
+ uint32_t cs_ndir; /* number of directories */
+@@ -129,13 +130,50 @@ struct __attribute__ ((packed)) ufs_super_block {
+ int8_t fs_clean; /* file system is clean flag */
+ int8_t fs_ronly; /* mounted read-only flag */
+ int8_t fs_flags; /* currently unused flag */
+- int8_t fs_fsmnt[UFS_MAXMNTLEN]; /* name mounted on */
+-/* these fields retain the current block allocation info */
+- uint32_t fs_cgrotor; /* last cg searched */
+- uint32_t fs_csp[UFS_MAXCSBUFS]; /* list of fs_cs info buffers */
+- uint32_t fs_maxcluster;
+- uint32_t fs_cpc; /* cyl per cycle in postbl */
+- uint16_t fs_opostbl[16][8]; /* old rotation block list head */
++ union {
++ struct {
++ int8_t fs_fsmnt[UFS_MAXMNTLEN]; /* name mounted on */
++ /* these fields retain the current block allocation info */
++ uint32_t fs_cgrotor; /* last cg searched */
++ uint32_t fs_csp[UFS_MAXCSBUFS]; /* list of fs_cs info buffers */
++ uint32_t fs_maxcluster;
++ uint32_t fs_cpc; /* cyl per cycle in postbl */
++ uint16_t fs_opostbl[16][8]; /* old rotation block list head */
++ } fs_u1;
++ struct {
++ int8_t fs_fsmnt[468];
++ uint8_t fs_volname[32];
++ uint64_t fs_swuid;
++ int32_t fs_pad;
++ uint32_t fs_cgrotor;
++ uint32_t fs_ocsp[28];
++ uint32_t fs_contigdirs;
++ uint32_t fs_csp;
++ uint32_t fs_maxcluster;
++ uint32_t fs_active;
++ int32_t fs_old_cpc;
++ int32_t fs_maxbsize;
++ int64_t fs_sparecon64[17];
++ int64_t fs_sblockloc;
++ struct ufs2_csum_total {
++ uint64_t cs_ndir;
++ uint64_t cs_nbfree;
++ uint64_t cs_nifree;
++ uint64_t cs_nffree;
++ uint64_t cs_numclusters;
++ uint64_t cs_spare[3];
++ } fs_cstotal;
++ struct ufs_timeval {
++ int32_t tv_sec;
++ int32_t tv_usec;
++ } fs_time;
++ int64_t fs_size;
++ int64_t fs_dsize;
++ uint64_t fs_csaddr;
++ int64_t fs_pendingblocks;
++ int32_t fs_pendinginodes;
++ } __attribute__((packed)) fs_u2;
++ } fs_u11;
+ union {
+ struct {
+ int32_t fs_sparecon[53];/* reserved for future constants */
+@@ -244,6 +282,45 @@ ufs_probe_hp (PedGeometry* geom)
+ return NULL;
+ }
+
++static PedGeometry*
++ufs_probe_freebsd (PedGeometry* geom)
++{
++ int offsets[] = { 0, 16, 128, 512 };
++ char *buf = alloca (3 * geom->dev->sector_size);
++ struct ufs_super_block *sb;
++ PedSector block_size;
++ PedSector block_count;
++ int i;
++
++ if (geom->length < 5)
++ return 0;
++
++ /* The UFS superblock could be on four different positions */
++ for (i = 0; i < 4; i++) {
++ if (!ped_geometry_read (geom, buf, offsets[i], 3))
++ return 0;
++
++ sb = (struct ufs_super_block *)buf;
++
++ /* Little endian is more likely on FreeBSD boxes */
++ if (PED_LE32_TO_CPU(sb->fs_magic) == UFS2_MAGIC) {
++ block_size = PED_LE32_TO_CPU(sb->fs_fsize) / geom->dev->sector_size;
++ block_count = PED_LE32_TO_CPU(sb->fs_u11.fs_u2.fs_size);
++ return ped_geometry_new (geom->dev, geom->start,
++ block_size * block_count);
++ }
++
++ /* Then try big endian */
++ if (PED_BE32_TO_CPU(sb->fs_magic) == UFS2_MAGIC) {
++ block_size = PED_BE32_TO_CPU(sb->fs_fsize) / geom->dev->sector_size;
++ block_count = PED_BE32_TO_CPU(sb->fs_u11.fs_u2.fs_size);
++ return ped_geometry_new (geom->dev, geom->start,
++ block_size * block_count);
++ }
++ }
++ return NULL;
++}
++
+ static PedFileSystemOps ufs_ops_sun = {
+ probe: ufs_probe_sun,
+ };
+@@ -252,6 +329,10 @@ static PedFileSystemOps ufs_ops_hp = {
+ probe: ufs_probe_hp,
+ };
+
++static PedFileSystemOps ufs_ops_freebsd = {
++ probe: ufs_probe_freebsd,
++};
++
+ static PedFileSystemType ufs_type_sun = {
+ next: NULL,
+ ops: &ufs_ops_sun,
+@@ -264,6 +345,12 @@ static PedFileSystemType ufs_type_hp = {
+ name: "hp-ufs",
+ };
+
++static PedFileSystemType ufs_type_freebsd_ufs = {
++ next: NULL,
++ ops: &ufs_ops_freebsd,
++ name: "freebsd-ufs"
++};
++
+ void
+ ped_file_system_ufs_init ()
+ {
+@@ -271,11 +358,13 @@ ped_file_system_ufs_init ()
+
+ ped_file_system_type_register (&ufs_type_sun);
+ ped_file_system_type_register (&ufs_type_hp);
++ ped_file_system_type_register (&ufs_type_freebsd_ufs);
+ }
+
+ void
+ ped_file_system_ufs_done ()
+ {
++ ped_file_system_type_unregister (&ufs_type_freebsd_ufs);
+ ped_file_system_type_unregister (&ufs_type_hp);
+ ped_file_system_type_unregister (&ufs_type_sun);
+ }
+diff --git a/libparted/labels/dos.c b/libparted/labels/dos.c
+index 256f365d..95737d56 100644
+--- a/libparted/labels/dos.c
++++ b/libparted/labels/dos.c
+@@ -89,6 +89,7 @@ static const char MBR_BOOT_CODE[] = {
+ #define PARTITION_IRST 0x84
+ #define PARTITION_LINUX_EXT 0x85
+ #define PARTITION_LINUX_LVM 0x8e
++#define PARTITION_FREEBSD_UFS 0xa5
+ #define PARTITION_HFS 0xaf
+ #define PARTITION_SUN_UFS 0xbf
+ #define PARTITION_DELL_DIAG 0xde
+@@ -1610,6 +1611,8 @@ msdos_partition_set_system (PedPartition* part,
+ dos_data->system = PARTITION_UDF;
+ else if (!strcmp (fs_type->name, "sun-ufs"))
+ dos_data->system = PARTITION_SUN_UFS;
++ else if (!strcmp (fs_type->name, "freebsd-ufs"))
++ dos_data->system = PARTITION_FREEBSD_UFS;
+ else if (is_linux_swap (fs_type->name))
+ dos_data->system = PARTITION_LINUX_SWAP;
+ else
+diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c
+index 780fb705..130b9bd1 100644
+--- a/libparted/labels/gpt.c
++++ b/libparted/labels/gpt.c
+@@ -169,6 +169,10 @@ typedef struct
+ ((efi_guid_t) { PED_CPU_TO_LE32 (0x933ac7e1), PED_CPU_TO_LE16 (0x2eb4), \
+ PED_CPU_TO_LE16 (0x4f13), 0xb8, 0x44, \
+ { 0x0e, 0x14, 0xe2, 0xae, 0xf9, 0x15 }})
++#define PARTITION_FREEBSD_UFS_GUID \
++ ((efi_guid_t) { PED_CPU_TO_LE32 (0x516e7cb6), PED_CPU_TO_LE16 (0x6ecf), \
++ PED_CPU_TO_LE16 (0x11d6), 0x8f, 0xf8, \
++ { 0x00, 0x02, 0x2d, 0x09, 0x71, 0x2b }})
+
+ struct flag_uuid_mapping_t
+ {
+@@ -1490,6 +1494,11 @@ gpt_partition_set_system (PedPartition *part,
+ gpt_part_data->type = PARTITION_SWAP_GUID;
+ return 1;
+ }
++ if (strstr (fs_type->name, "freebsd-ufs"))
++ {
++ gpt_part_data->type = PARTITION_FREEBSD_UFS_GUID;
++ return 1;
++ }
+ }
+
+ gpt_part_data->type = PARTITION_LINUX_DATA_GUID;
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index fa27b44d..da093119 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -57,6 +57,7 @@ TESTS = \
+ t2320-dos-extended-noclobber.sh \
+ t2400-dos-hfs-partition-type.sh \
+ t2410-dos-udf-partition-type.sh \
++ t2500-freebsd-ufs.sh \
+ t2500-probe-corrupt-hfs.sh \
+ t3000-resize-fs.sh \
+ t3200-resize-partition.sh \
+diff --git a/tests/t2500-freebsd-ufs.sh b/tests/t2500-freebsd-ufs.sh
+new file mode 100644
+index 00000000..5a46263d
+--- /dev/null
++++ b/tests/t2500-freebsd-ufs.sh
+@@ -0,0 +1,44 @@
++#!/bin/sh
++# Probe FreeBSD UFS file system
++
++# Copyright (C) 2010 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.
++
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++
++if test "$VERBOSE" = yes; then
++ set -x
++ parted --version
++fi
++
++: ${srcdir=.}
++. $srcdir/t-lib.sh
++require_512_byte_sector_size_
++
++dev=loop-file
++ss=$sector_size_
++n_sectors=8000
++
++fail=0
++
++( type mkfs.ufs ) >/dev/null 2>&1 || skip_test_ "no freebsd-ufs support"
++
++# create a freebsd-ufs file system
++dd if=/dev/zero of=$dev bs=1024 count=4096 >/dev/null || fail=1
++mkfs.ufs `pwd`/$dev >/dev/null || fail=1
++
++# probe the freebsd-ufs file system
++parted -m -s $dev u s print >out 2>&1 || fail=1
++grep '^1:.*:freebsd-ufs::;$' out || fail=1
++
++Exit $fail
diff --git a/debian/patches/freebsd-zvol.patch b/debian/patches/freebsd-zvol.patch
new file mode 100644
index 0000000..b7826bc
--- /dev/null
+++ b/debian/patches/freebsd-zvol.patch
@@ -0,0 +1,83 @@
+From 3b19f4af4398d71eb3dd58041d4aff94e05efb6d Mon Sep 17 00:00:00 2001
+From: Robert Millan <rmh@debian.org>
+Date: Fri, 28 Mar 2014 17:09:50 +0000
+Subject: Detection of ZFS volumes (ZVOL)
+
+ZFS volumes (ZVOL) are the ZFS equivalent of Logical Volumes in LVM.
+
+They implement a block device which can be used for swap or legacy
+filesystems.
+
+Bug-Debian: http://bugs.debian.org/635384
+Forwarded: no
+Last-Update: 2011-07-30
+
+Patch-Name: freebsd-zvol.patch
+---
+ libparted/arch/freebsd.c | 40 ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+diff --git a/libparted/arch/freebsd.c b/libparted/arch/freebsd.c
+index 4c690e5f..a60b43f8 100644
+--- a/libparted/arch/freebsd.c
++++ b/libparted/arch/freebsd.c
+@@ -23,6 +23,7 @@
+ #include <parted/debug.h>
+
+ #include <ctype.h>
++#include <dirent.h>
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <stdint.h>
+@@ -1134,12 +1135,51 @@ _probe_kern_disks ()
+ return 1;
+ }
+
++static int
++_probe_zfs_volumes ()
++{
++ DIR* pool_dir;
++ DIR* zvol_dir;
++ struct dirent* pool_dent;
++ struct dirent* zvol_dent;
++ char buf[PATH_MAX];
++ struct stat st;
++
++ pool_dir = opendir ("/dev/zvol");
++ if (!pool_dir)
++ return 0;
++
++ while ((pool_dent = readdir (pool_dir))) {
++ if (strcmp (pool_dent->d_name, ".") == 0 || strcmp (pool_dent->d_name, "..") == 0)
++ continue;
++
++ snprintf (buf, sizeof (buf), "/dev/zvol/%s", pool_dent->d_name);
++ zvol_dir = opendir (buf);
++
++ while ((zvol_dent = readdir (zvol_dir))) {
++ if (strcmp (zvol_dent->d_name, ".") == 0 || strcmp (zvol_dent->d_name, "..") == 0)
++ continue;
++
++ snprintf (buf, sizeof (buf), "/dev/zvol/%s/%s", pool_dent->d_name, zvol_dent->d_name);
++ if (stat (buf, &st) != 0)
++ continue;
++ _ped_device_probe (buf);
++ }
++ closedir (zvol_dir);
++ }
++ closedir (pool_dir);
++
++ return 1;
++}
++
+ static void
+ freebsd_probe_all ()
+ {
+ _probe_standard_devices ();
+
+ _probe_kern_disks ();
++
++ _probe_zfs_volumes ();
+ }
+
+ static char*
diff --git a/debian/patches/gptsync.patch b/debian/patches/gptsync.patch
new file mode 100644
index 0000000..27820fe
--- /dev/null
+++ b/debian/patches/gptsync.patch
@@ -0,0 +1,466 @@
+From aa55572c980da038e675fc963d98a90964a2ce33 Mon Sep 17 00:00:00 2001
+From: Matthew Garrett <mjg59@srcf.ucam.org>
+Date: Fri, 28 Mar 2014 17:10:01 +0000
+Subject: GPT syncing for Intel Macs
+
+On Intel Mac systems, write a synced MBR rather than a protective MBR.
+
+From: Colin Watson <cjwatson@ubuntu.com>
+Forwarded: no
+Last-Update: 2022-04-19
+
+Patch-Name: gptsync.patch
+---
+ libparted/labels/gpt.c | 205 +++++++++++++++++++++++++++++++++++++++--
+ tests/Makefile.am | 1 +
+ tests/t0290-gptsync.sh | 175 +++++++++++++++++++++++++++++++++++
+ 3 files changed, 371 insertions(+), 10 deletions(-)
+ create mode 100644 tests/t0290-gptsync.sh
+
+diff --git a/libparted/labels/gpt.c b/libparted/labels/gpt.c
+index 130b9bd1..bebedb47 100644
+--- a/libparted/labels/gpt.c
++++ b/libparted/labels/gpt.c
+@@ -369,6 +369,40 @@ typedef struct _GPTPartitionData
+
+ static PedDiskType gpt_disk_type;
+
++
++#if (defined(__i386__) || defined(__x86_64__)) && defined(__linux__)
++# define USE_DMI
++#endif
++
++#define APPLE_DMI "Apple Computer, Inc."
++#define APPLE_DMI_2 "Apple Inc."
++static int is_apple = 0;
++
++static char *
++dmi_system_manufacturer (void)
++{
++#ifdef USE_DMI
++ FILE *dmidecode;
++ char *manufacturer = NULL;
++ size_t manufacturer_len = 0;
++
++ dmidecode = popen ("dmidecode -s system-manufacturer 2>/dev/null", "r");
++ if (getline (&manufacturer, &manufacturer_len, dmidecode) < 0) {
++ /* ignore; will return NULL */
++ }
++ pclose (dmidecode);
++ if (manufacturer) {
++ char *newline = strchr (manufacturer, '\n');
++ if (newline)
++ *newline = '\0';
++ }
++ return manufacturer;
++#else /* !USE_DMI */
++ return NULL;
++#endif /* USE_DMI */
++}
++
++
+ static inline uint32_t
+ pth_get_size (const PedDevice *dev)
+ {
+@@ -544,16 +578,19 @@ gpt_probe (const PedDevice *dev)
+ if (dev->length <= 1)
+ return 0;
+
+- void *label;
+- if (!ptt_read_sector (dev, 0, &label))
+- return 0;
+-
+- if (!_pmbr_is_valid (label))
++ if (!is_apple)
+ {
++ void *label;
++ if (!ptt_read_sector (dev, 0, &label))
++ return 0;
++
++ if (!_pmbr_is_valid (label))
++ {
++ free (label);
++ return 0;
++ }
+ free (label);
+- return 0;
+ }
+- free (label);
+
+ void *pth_raw = ped_malloc (pth_get_size (dev));
+ if (ped_device_read (dev, pth_raw, 1, GPT_HEADER_SECTORS)
+@@ -973,6 +1010,10 @@ gpt_read_headers (PedDisk const *disk,
+ * 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)
+@@ -1181,6 +1222,129 @@ _write_pmbr (PedDevice *dev, bool pmbr_boot)
+ return write_ok;
+ }
+
++static void
++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, "linux-swap", 10) == 0)
++ raw_part->OSType = 0x82;
++ else
++ raw_part->OSType = 0x83;
++ } else
++ raw_part->OSType = 0xda;
++
++ /* 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));
++
++ /* EFI system partitions will have a FAT filesystem and
++ PARTITION_SYSTEM_GUID; however, it is not wise to rely on filesystem
++ probing */
++
++ if (number == 1) {
++ if (!guid_cmp (gpt_part_data->type, PARTITION_SYSTEM_GUID) ||
++ !guid_cmp (gpt_part_data->type, PARTITION_BIOS_GRUB_GUID)) {
++ raw_part->OSType = EFI_PMBR_OSTYPE_EFI;
++ raw_part->OSType = EFI_PMBR_OSTYPE_EFI;
++ }
++ }
++
++ /* 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 (number == 1 && raw_part->OSType == EFI_PMBR_OSTYPE_EFI) {
++ raw_part->StartSector = 1;
++ raw_part->SizeInLBA += raw_part->StartingLBA - 1;
++ raw_part->StartingLBA = 1;
++ } else {
++ raw_part->StartHead = 0xfe;
++ raw_part->StartSector = 0xff;
++ raw_part->StartTrack = 0xff;
++ }
++
++ raw_part->EndHead = 0xfe;
++ raw_part->EndSector = 0xff;
++ raw_part->EndTrack = 0xff;
++}
++
++static int
++_gptsync (const PedDisk *disk)
++{
++ void *s0;
++ PedPartition* part;
++ int i;
++
++ if (!ptt_read_sector (disk->dev, GPT_PMBR_LBA, &s0))
++ return 0;
++ LegacyMBR_t *pmbr = s0;
++
++ int ok = 0;
++
++ memset(&pmbr->PartitionRecord, 0, sizeof(pmbr->PartitionRecord));
++ pmbr->Signature = PED_CPU_TO_LE16(MSDOS_MBR_SIGNATURE);
++
++ bool prot = false; /* have we found a protective partition? */
++ for (i=1; i<=4; i++) {
++ part = ped_disk_get_partition (disk, i);
++ if (!part)
++ continue;
++
++ fill_raw_part (&pmbr->PartitionRecord [i - 1], part, 0, i);
++ if (pmbr->PartitionRecord[i - 1].OSType == EFI_PMBR_OSTYPE_EFI)
++ prot = true;
++ }
++
++ if (!prot) { /* create one covering the gpt entries */
++ uint32_t prot_size;
++ for (i=2; i>=0; i--)
++ pmbr->PartitionRecord[i + 1] = pmbr->PartitionRecord[i];
++ memset (&pmbr->PartitionRecord[0], 0, sizeof pmbr->PartitionRecord[0]);
++ pmbr->PartitionRecord[0].OSType = EFI_PMBR_OSTYPE_EFI;
++ pmbr->PartitionRecord[0].StartSector = 1;
++ pmbr->PartitionRecord[0].EndHead = 0xfe;
++ pmbr->PartitionRecord[0].EndSector = 0xff;
++ pmbr->PartitionRecord[0].EndTrack = 0xff;
++ pmbr->PartitionRecord[0].StartingLBA = PED_CPU_TO_LE32 (1);
++ if ((disk->dev->length - 1ULL) > 0xFFFFFFFFULL)
++ prot_size = 0xFFFFFFFF;
++ else
++ prot_size = disk->dev->length - 1UL;
++ for (i=1; i<=3; i++) {
++ if (pmbr->PartitionRecord[i].StartingLBA) {
++ uint32_t starting_lba =
++ PED_LE32_TO_CPU (pmbr->PartitionRecord[i].StartingLBA);
++ if (starting_lba - 1 < prot_size)
++ prot_size = starting_lba - 1;
++ }
++ }
++ pmbr->PartitionRecord[0].SizeInLBA = PED_CPU_TO_LE32 (prot_size);
++ }
++
++ if (!ped_device_write (disk->dev, pmbr, GPT_PMBR_LBA, GPT_PMBR_SECTORS))
++ goto error;
++
++ ok = ped_device_sync (disk->dev);
++error:
++ free (s0);
++ return ok;
++}
++
+ static int
+ _generate_header (const PedDisk *disk, int alternate, uint32_t ptes_crc,
+ GuidPartitionTableHeader_t **gpt_p)
+@@ -1287,9 +1451,15 @@ gpt_write (const PedDisk *disk)
+
+ ptes_crc = efi_crc32 (ptes, ptes_bytes);
+
+- /* Write protective MBR */
+- if (!_write_pmbr (disk->dev, gpt_disk_data->pmbr_boot))
+- 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, gpt_disk_data->pmbr_boot))
++ goto error_free_ptes;
++ }
+
+ /* Write PTH and PTEs */
+ /* FIXME: Caution: this code is nearly identical to what's just below. */
+@@ -1938,6 +2108,21 @@ void
+ ped_disk_gpt_init ()
+ {
+ ped_disk_type_register (&gpt_disk_type);
++
++ char *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
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index da093119..3c1f929a 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -32,6 +32,7 @@ TESTS = \
+ t0282-gpt-move-backup.sh \
+ t0283-overlap-partitions.sh \
+ t0290-gpt-name.sh \
++ t0290-gptsync.sh \
+ t0300-dos-on-gpt.sh \
+ t0301-overwrite-gpt-pmbr.sh \
+ t0350-mac-PT-increases-sector-size.sh \
+diff --git a/tests/t0290-gptsync.sh b/tests/t0290-gptsync.sh
+new file mode 100644
+index 00000000..367d61bd
+--- /dev/null
++++ b/tests/t0290-gptsync.sh
+@@ -0,0 +1,175 @@
++#!/bin/sh
++# test GPT -> hybrid MBR syncing for Apple systems
++# http://www.rodsbooks.com/gdisk/hybrid.html
++
++# Copyright (C) 2012 Canonical Ltd.
++
++# 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.
++
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++
++if test "$VERBOSE" = yes; then
++ set -x
++ parted --version
++fi
++
++: ${srcdir=.}
++. $srcdir/t-lib.sh
++
++require_root_
++require_scsi_debug_module_
++
++ss=$sector_size_
++# must be big enough for a 32MiB partition in order to be big enough for FAT16
++n_sectors=131072
++bootcode_size=446
++mbr_table_size=$((512 - $bootcode_size))
++
++dump_mbr_table () {
++ dd if=$dev bs=1 skip=$bootcode_size count=$mbr_table_size 2>/dev/null | od -v -An -tx1
++}
++
++# create memory-backed device
++sectors_per_MiB=$((1024 * 1024 / $ss))
++n_MiB=$((($n_sectors + $sectors_per_MiB - 1) / $sectors_per_MiB))
++scsi_debug_setup_ dev_size_mb=$n_MiB > dev-name ||
++ skip_test_ 'failed to create scsi_debug device'
++dev=$(cat dev-name)
++
++# force Apple mode
++export PARTED_GPT_APPLE=1
++
++# create gpt label
++parted -s $dev mklabel gpt > empty 2>&1 || fail=1
++compare /dev/null empty || fail=1
++
++# print the empty table
++parted -m -s $dev unit s print > t 2>&1 || fail=1
++sed "s,.*/$dev:,$dev:," t > out || fail=1
++
++# check for expected output
++printf "BYT;\n$dev:${n_sectors}s:scsi:$sector_size_:$sector_size_:gpt:Linux scsi_debug;\n" \
++ > exp || fail=1
++compare exp out || fail=1
++
++# the empty table should have a MBR containing only a protective entry
++dump_mbr_table > out || fail=1
++cat <<EOF > exp || fail=1
++ 00 00 01 00 ee fe ff ff 01 00 00 00 ff ff 01 00
++ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
++ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
++ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
++ 55 aa
++EOF
++compare exp out || fail=1
++
++# create a 32MiB FAT16 EFI System Partition
++parted -s $dev mkpart p1 fat16 2048s 67583s set 1 boot on > empty 2>&1 || fail=1
++compare /dev/null empty || fail=1
++mkfs.vfat -F 16 ${dev}1 >/dev/null || skip_ "mkfs.vfat failed"
++
++# this is represented as a protective partition, but now it only extends as
++# far as the end of the first partition rather than covering the whole disk
++# (matching refit gptsync's strategy); it still starts at sector one
++dump_mbr_table > out || fail=1
++cat <<EOF > exp || fail=1
++ 00 00 01 00 ee fe ff ff 01 00 00 00 ff 07 01 00
++ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
++ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
++ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
++ 55 aa
++EOF
++compare exp out || fail=1
++
++# add a 2MiB ext3 partition
++parted -s $dev mkpart p2 ext3 67584s 71679s > empty 2>&1 || fail=1
++compare /dev/null empty || fail=1
++mkfs.ext3 ${dev}2 >/dev/null 2>&1 || skip_ "mkfs.ext3 failed"
++
++# this should have an MBR representing both partitions; the second partition
++# should be marked bootable
++dump_mbr_table > out || fail=1
++cat <<EOF > exp || fail=1
++ 00 00 01 00 ee fe ff ff 01 00 00 00 ff 07 01 00
++ 80 fe ff ff 83 fe ff ff 00 08 01 00 00 10 00 00
++ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
++ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
++ 55 aa
++EOF
++compare exp out || fail=1
++
++# add a 1MiB partition with no filesystem
++parted -s $dev mkpart p3 71680s 73727s > empty 2>&1 || fail=1
++compare /dev/null empty || fail=1
++
++# the new partition should be represented as 0xda (Non-FS data)
++dump_mbr_table > out || fail=1
++cat <<EOF > exp || fail=1
++ 00 00 01 00 ee fe ff ff 01 00 00 00 ff 07 01 00
++ 80 fe ff ff 83 fe ff ff 00 08 01 00 00 10 00 00
++ 00 fe ff ff da fe ff ff 00 18 01 00 00 08 00 00
++ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
++ 55 aa
++EOF
++compare exp out || fail=1
++
++# add two more 1MiB partitions
++parted -s $dev mkpart p4 73728s 75775s > empty 2>&1 || fail=1
++parted -s $dev mkpart p5 75776s 77823s > empty 2>&1 || fail=1
++
++# only the first four partitions will be represented
++dump_mbr_table > out || fail=1
++cat <<EOF > exp || fail=1
++ 00 00 01 00 ee fe ff ff 01 00 00 00 ff 07 01 00
++ 80 fe ff ff 83 fe ff ff 00 08 01 00 00 10 00 00
++ 00 fe ff ff da fe ff ff 00 18 01 00 00 08 00 00
++ 00 fe ff ff da fe ff ff 00 20 01 00 00 08 00 00
++ 55 aa
++EOF
++compare exp out || fail=1
++
++# convert first partition to a BIOS Boot Partition
++parted -s $dev set 1 boot off set 1 bios_grub on > empty 2>&1 || fail=1
++compare /dev/null empty || fail=1
++
++# this should be represented in the same way as an EFI System Partition
++dump_mbr_table > out || fail=1
++compare exp out || fail=1
++
++# convert first partition to an ordinary FAT partition
++parted -s $dev set 1 bios_grub off > empty 2>&1 || fail=1
++compare /dev/null empty || fail=1
++
++# this should result in a protective partition covering the GPT data up to
++# the start of the first partition, and then representations of the first
++# three partitions
++dump_mbr_table > out || fail=1
++cat <<EOF > exp || fail=1
++ 00 00 01 00 ee fe ff ff 01 00 00 00 ff 07 00 00
++ 00 fe ff ff 0b fe ff ff 00 08 00 00 00 00 01 00
++ 80 fe ff ff 83 fe ff ff 00 08 01 00 00 10 00 00
++ 00 fe ff ff da fe ff ff 00 18 01 00 00 08 00 00
++ 55 aa
++EOF
++compare exp out || fail=1
++
++# convert third partition to a BIOS Boot Partition
++parted -s $dev set 3 bios_grub on > empty 2>&1 || fail=1
++compare /dev/null empty || fail=1
++
++# since this isn't the first partition, it shouldn't become a protective
++# partition or have its starting LBA address set to 1 (and GRUB doesn't care
++# whether it's in the hybrid MBR anyway)
++dump_mbr_table > out || fail=1
++compare exp out || fail=1
++
++Exit $fail
diff --git a/debian/patches/kfreebsd-gnu.patch b/debian/patches/kfreebsd-gnu.patch
new file mode 100644
index 0000000..609a2a8
--- /dev/null
+++ b/debian/patches/kfreebsd-gnu.patch
@@ -0,0 +1,1434 @@
+From c55385989caf6e0fcdeb2a2157fbf2a3f3b59459 Mon Sep 17 00:00:00 2001
+From: Viktor Vasilev <Viktor Vasilev>
+Date: Fri, 28 Mar 2014 17:09:42 +0000
+Subject: Add GNU/kFreeBSD support
+
+Author: Robert Millan <rmh@aybabtu.com>
+Author: Colin Watson <cjwatson@debian.org>
+Author: Jeff Epler <jepler@unpythonic.net>
+Bug-Debian: http://bugs.debian.org/363381
+Bug-Debian: http://bugs.debian.org/693510
+Forwarded: no
+Last-Update: 2019-10-11
+
+Patch-Name: kfreebsd-gnu.patch
+---
+ configure.ac | 10 +-
+ libparted/Makefile.am | 3 +-
+ libparted/arch/freebsd.c | 1292 ++++++++++++++++++++++++++++++
+ libparted/architecture.c | 3 +
+ libparted/fs/xfs/platform_defs.h | 6 +-
+ libparted/labels/bsd.c | 1 +
+ libparted/labels/sun.c | 1 +
+ 7 files changed, 1311 insertions(+), 5 deletions(-)
+ create mode 100644 libparted/arch/freebsd.c
+
+diff --git a/configure.ac b/configure.ac
+index cf9fb8a5..d838c32c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,7 +62,8 @@ case "$host_os" in
+ linux*|uclinux*) OS=linux ;;
+ gnu*) OS=gnu ;;
+ beos*) OS=beos ;;
+- *) AC_MSG_ERROR([Unknown or unsupported OS "$host_os". Only "linux", "uclinux", "gnu" and "beos" are supported in this version of GNU Parted.]) ;;
++ 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])
+
+@@ -256,6 +257,7 @@ AC_CHECK_SIZEOF([off_t], [64], [
+ #include <sys/types.h>
+ #include <unistd.h>
+ ])
++AC_CHECK_TYPE([loff_t], [long long])
+
+ AC_ENABLE_SHARED([])
+ if test "$OS" = linux && test $ac_cv_sizeof_off_t -lt 8; then
+@@ -454,7 +456,7 @@ If you can't find one try:
+ http://web.mit.edu/tytso/www/linux/e2fsprogs.html])]
+ )
+
+-AC_CHECK_HEADERS([getopt.h])
++AC_CHECK_HEADERS([getopt.h endian.h sys/endian.h])
+ AC_CHECK_HEADERS([linux/ext2_fs.h])
+
+ dnl required for libparted/llseek.c (TODO: make linux-x86 only)
+@@ -513,7 +515,9 @@ AC_C_CONST
+ AC_C_RESTRICT
+
+ dnl Checks for library functions.
+-AC_CHECK_FUNCS([sigaction])
++if test "$OS" != freebsd; then
++ AC_CHECK_FUNCS([sigaction])
++fi
+ AC_CHECK_FUNCS([getuid])
+
+ dnl NOTE: We need to remove the gl_cv_ignore_unused_libraries flag if we
+diff --git a/libparted/Makefile.am b/libparted/Makefile.am
+index db29a189..b2b910e1 100644
+--- a/libparted/Makefile.am
++++ b/libparted/Makefile.am
+@@ -48,7 +48,8 @@ libparted_la_SOURCES = debug.c \
+ EXTRA_libparted_la_SOURCES = arch/linux.c \
+ arch/linux.h \
+ arch/gnu.c \
+- arch/beos.c
++ arch/beos.c \
++ arch/freebsd.c
+
+ libparted_la_LIBADD = \
+ fs/libfs.la \
+diff --git a/libparted/arch/freebsd.c b/libparted/arch/freebsd.c
+new file mode 100644
+index 00000000..4c690e5f
+--- /dev/null
++++ b/libparted/arch/freebsd.c
+@@ -0,0 +1,1292 @@
++/*
++ libparted - a library for manipulating disk partitions
++ Copyright (C) 1999 - 2009 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 <parted/parted.h>
++#include <parted/debug.h>
++
++#include <ctype.h>
++#include <errno.h>
++#include <fcntl.h>
++#include <stdint.h>
++#include <stdio.h>
++#include <string.h>
++#include <unistd.h>
++#include <paths.h>
++#include <sys/param.h>
++#include <sys/mount.h>
++#include <sys/ioctl.h>
++#include <sys/sysctl.h>
++#include <sys/stat.h>
++#include <sys/disk.h>
++#include <sys/ata.h>
++#include <cam/cam.h>
++#include <cam/scsi/scsi_pass.h>
++
++#include "../architecture.h"
++
++#if ENABLE_NLS
++# include <libintl.h>
++# define _(String) dgettext (PACKAGE, String)
++#else
++# define _(String) (String)
++#endif /* ENABLE_NLS */
++
++#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 {
++ int fd;
++ long long phys_sector_size;
++};
++
++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);
++ PED_ASSERT (!dev->external_mode);
++
++ 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;
++
++ if (!_device_stat (dev, &dev_stat))
++ return 0;
++
++ if (!S_ISCHR(dev_stat.st_mode)) {
++ dev->type = PED_DEVICE_FILE;
++ return 1;
++ }
++
++ np = strrchr(dev->path, '/');
++ if (np == NULL) {
++ dev->type = PED_DEVICE_UNKNOWN;
++ return 0;
++ }
++ np += 1; /* advance past '/' */
++
++ if (strncmp(np, "ada", 3) == 0) {
++ dev->type = PED_DEVICE_SCSI;
++ } else if (strncmp(np, "ad", 2) == 0) {
++ dev->type = PED_DEVICE_IDE;
++ } else if (strncmp(np, "da", 2) == 0) {
++ dev->type = PED_DEVICE_SCSI;
++ } else if (strncmp(np, "acd", 2) == 0 ||
++ strncmp(np, "cd", 2) == 0) {
++ /* ignore CD-ROM drives */
++ dev->type = PED_DEVICE_UNKNOWN;
++ return 0;
++ } else {
++ dev->type = PED_DEVICE_UNKNOWN;
++ }
++
++ return 1;
++}
++
++static void
++_device_set_sector_size (PedDevice* dev)
++{
++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev);
++ int sector_size;
++
++ dev->sector_size = PED_SECTOR_SIZE_DEFAULT;
++ dev->phys_sector_size = PED_SECTOR_SIZE_DEFAULT;
++
++ PED_ASSERT (dev->open_count);
++
++ if (ioctl (arch_specific->fd, DIOCGSECTORSIZE, &sector_size)) {
++ ped_exception_throw (
++ PED_EXCEPTION_WARNING,
++ PED_EXCEPTION_OK,
++ _("Could not determine sector size for %s: %s.\n"
++ "Using the default sector size (%lld)."),
++ dev->path, strerror (errno), PED_SECTOR_SIZE_DEFAULT);
++ } else {
++ dev->sector_size = (long long)sector_size;;
++ }
++
++ if (arch_specific->phys_sector_size)
++ dev->phys_sector_size = arch_specific->phys_sector_size;
++
++ if (sector_size != PED_SECTOR_SIZE_DEFAULT) {
++ ped_exception_throw (
++ PED_EXCEPTION_WARNING,
++ PED_EXCEPTION_OK,
++ _("Device %s has a logical sector size of %lld. Not "
++ "all parts of GNU Parted support this at the moment, "
++ "and the working code is HIGHLY EXPERIMENTAL.\n"),
++ dev->path, dev->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);
++ PED_ASSERT (dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0);
++
++ if(ioctl(arch_specific->fd, DIOCGMEDIASIZE, &bytes) != 0) {
++ ped_exception_throw (
++ PED_EXCEPTION_BUG,
++ PED_EXCEPTION_CANCEL,
++ _("Unable to determine the size of %s (%s)."),
++ dev->path,
++ strerror (errno));
++ return 0;
++ }
++
++ return bytes / dev->sector_size;
++}
++
++
++static int
++_device_probe_geometry (PedDevice* dev)
++{
++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev);
++ struct stat dev_stat;
++ struct ata_params params;
++
++ if (!_device_stat (dev, &dev_stat))
++ return 0;
++ PED_ASSERT (S_ISCHR (dev_stat.st_mode));
++
++ _device_set_sector_size (dev);
++
++ dev->length = _device_get_length (dev);
++ if (!dev->length)
++ return 0;
++
++ dev->bios_geom.sectors = 63;
++ dev->bios_geom.heads = 255;
++ dev->bios_geom.cylinders
++ = dev->length / (63 * 255);
++
++ if (ioctl (arch_specific->fd, IOCATAGPARM, &params) != 0) {
++ dev->hw_geom.sectors = params.sectors;
++ dev->hw_geom.heads = params.heads;
++ dev->hw_geom.cylinders = params.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 params;
++ PedExceptionOption ex_status;
++ char vendor_buf[64];
++
++ if (!_device_stat (dev, &dev_stat))
++ goto error;
++
++ if (!ped_device_open (dev))
++ goto error;
++
++ if (ioctl (arch_specific->fd, IOCATAGPARM, &params) != 0) {
++ 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(_("Generic IDE"));
++ break;
++ default:
++ PED_ASSERT (0);
++ break;
++ }
++ } else {
++ snprintf(vendor_buf, 64, "%.40s/%.8s", params.model, params.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 char *
++_scsi_pass_dev (PedDevice* dev)
++{
++ union ccb ccb;
++ int fd;
++ char result[64];
++
++ if (sscanf (dev->path, "/dev/%2s%u", ccb.cgdl.periph_name, &ccb.cgdl.unit_number) != 2 &&
++ sscanf (dev->path, "/dev/%3s%u", ccb.cgdl.periph_name, &ccb.cgdl.unit_number) != 2)
++ goto error;
++
++ if ((fd = open("/dev/xpt0", O_RDWR)) < 0)
++ goto error;
++
++ ccb.ccb_h.func_code = XPT_GDEVLIST;
++ if (ioctl(fd, CAMGETPASSTHRU, &ccb) != 0)
++ goto error_close_dev;
++
++ snprintf(result, sizeof(result), "/dev/%s%d", ccb.cgdl.periph_name, ccb.cgdl.unit_number);
++ close(fd);
++ return strdup(result);
++
++error_close_dev:
++ close(fd);
++error:
++ return NULL;
++}
++
++static uint32_t
++local_ata_logical_sector_size(struct ata_params *ident_data)
++{
++ if ((ident_data->pss & 0xc000) == 0x4000 &&
++ (ident_data->pss & ATA_PSS_LSSABOVE512)) {
++ return ((u_int32_t)ident_data->lss_1 |
++ ((u_int32_t)ident_data->lss_2 << 16));
++ }
++ return (512);
++}
++
++static uint64_t
++local_ata_physical_sector_size(struct ata_params *ident_data)
++{
++ if ((ident_data->pss & 0xc000) == 0x4000 &&
++ (ident_data->pss & ATA_PSS_MULTLS)) {
++ return ((uint64_t)local_ata_logical_sector_size(ident_data) *
++ (1 << (ident_data->pss & ATA_PSS_LSPPS)));
++ }
++ return (512);
++}
++
++static int
++init_scsi (PedDevice* dev)
++{
++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev);
++ PedExceptionOption ex_status;
++ struct stat dev_stat;
++ char* pass_dev;
++ int pass_fd;
++ union ccb ccb;
++
++ if (!_device_stat (dev, &dev_stat))
++ goto error;
++
++ if (!ped_device_open (dev))
++ goto error;
++
++ pass_dev = _scsi_pass_dev(dev);
++ if (!pass_dev)
++ goto error_close_dev;
++
++ pass_fd = open(pass_dev, O_RDWR);
++ if (pass_fd < 0) {
++ dev->host = 0;
++ dev->did = 0;
++ if (ped_exception_throw (
++ PED_EXCEPTION_ERROR,
++ PED_EXCEPTION_IGNORE_CANCEL,
++ _("Error initialising SCSI device %s - %s"),
++ dev->path, strerror (errno))
++ != PED_EXCEPTION_IGNORE)
++ goto error_close_dev;
++ if (!_device_probe_geometry (dev))
++ goto error_close_dev;
++ ped_device_close (dev);
++ return 1;
++ }
++
++ ccb.ccb_h.func_code = XPT_GDEVLIST;
++ if (ioctl(pass_fd, CAMGETPASSTHRU, &ccb) != 0) {
++ ex_status = ped_exception_throw (
++ PED_EXCEPTION_WARNING,
++ PED_EXCEPTION_IGNORE_CANCEL,
++ _("Could not get ID of devices %s - %s"),
++ dev->path, strerror (errno));
++ switch (ex_status) {
++ case PED_EXCEPTION_CANCEL:
++ goto error_close_fd_dev;
++
++ case PED_EXCEPTION_UNHANDLED:
++ ped_exception_catch ();
++ case PED_EXCEPTION_IGNORE:
++ dev->host = 0;
++ dev->did = 0;
++ break;
++ default:
++ PED_ASSERT (0);
++ break;
++ }
++ }
++
++ dev->host = ccb.ccb_h.target_id;
++ dev->did = ccb.ccb_h.target_lun;
++
++ ccb.ccb_h.func_code = XPT_GDEV_TYPE;
++ if (ioctl(pass_fd, CAMIOCOMMAND, &ccb) != 0) {
++ 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_fd_dev;
++
++ case PED_EXCEPTION_UNHANDLED:
++ ped_exception_catch ();
++ case PED_EXCEPTION_IGNORE:
++ dev->model = strdup(_("Generic SCSI"));
++ break;
++ default:
++ PED_ASSERT (0);
++ break;
++ }
++ } else {
++ size_t model_length = (8 + 16 + 2);
++ dev->model = (char*) ped_malloc (model_length);
++ if (!dev->model)
++ goto error_close_fd_dev;
++ if (ccb.cgd.protocol == PROTO_ATA && *ccb.cgd.ident_data.model) {
++ snprintf (dev->model, model_length, "%s", ccb.cgd.ident_data.model);
++ arch_specific->phys_sector_size = local_ata_physical_sector_size(&ccb.cgd.ident_data);
++ } else {
++ snprintf (dev->model, model_length, "%.8s %.16s", ccb.cgd.inq_data.vendor, ccb.cgd.inq_data.product);
++ }
++ }
++
++ if (!_device_probe_geometry (dev))
++ goto error_close_fd_dev;
++
++ close (pass_fd);
++ ped_device_close (dev);
++ return 1;
++
++error_close_fd_dev:
++ close (pass_fd);
++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 = PED_SECTOR_SIZE_DEFAULT;
++ dev->phys_sector_size = PED_SECTOR_SIZE_DEFAULT;
++ 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:
++ break;
++ default:
++ PED_ASSERT (0);
++ break;
++ }
++
++ /* 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->phys_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);
++
++ 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;
++
++ memset(dev->arch_specific, 0, sizeof(FreeBSDSpecific));
++
++ 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;
++ case PED_DEVICE_SCSI:
++ if (!init_scsi (dev))
++ goto error_free_arch_specific;
++ break;
++ case PED_DEVICE_FILE:
++ if (!init_file (dev))
++ goto error_free_arch_specific;
++ break;
++ case PED_DEVICE_UNKNOWN:
++ if (!init_generic (dev, _("Unknown")))
++ 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:
++ free (dev->arch_specific);
++error_free_path:
++ free (dev->path);
++error_free_dev:
++ free (dev);
++error:
++ return NULL;
++}
++
++static void
++freebsd_destroy (PedDevice* dev)
++{
++ free (dev->arch_specific);
++ free (dev->path);
++ free (dev->model);
++ 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);
++ free (part_name);
++
++ if (status)
++ return 1;
++ }
++
++ return 0;
++}
++
++static void
++_flush_cache (PedDevice* dev)
++{
++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev);
++
++ if (dev->read_only)
++ return;
++ dev->dirty = 0;
++
++ if (dev->type == PED_DEVICE_FILE) {
++ if (fsync(arch_specific->fd) != 0) {
++ ped_exception_throw (
++ PED_EXCEPTION_WARNING,
++ PED_EXCEPTION_OK,
++ _("Could not flush cache of file %s - %s."),
++ dev->path,
++ strerror (errno));
++ return;
++ }
++ } else {
++ if (ioctl (arch_specific->fd, DIOCGFLUSH) != 0) {
++ ped_exception_throw (
++ PED_EXCEPTION_WARNING,
++ PED_EXCEPTION_OK,
++ _("Could not flush cache of device %s - %s."),
++ dev->path,
++ strerror (errno));
++ return;
++ }
++ }
++
++ return;
++}
++
++/* 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 flagssize;
++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev);
++
++retry:
++ flagssize = sizeof (old_flags);
++
++ if (sysctlbyname (GEOM_SYSCTL, &old_flags, &flagssize, 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->sector_size % PED_SECTOR_SIZE_DEFAULT == 0);
++ PED_ASSERT (dev != NULL);
++ PED_ASSERT (!dev->external_mode);
++
++ arch_specific = FREEBSD_SPECIFIC (dev);
++
++ pos = sector * dev->sector_size;
++ 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);
++ PedExceptionOption ex_status;
++ void* diobuf = NULL;
++
++ PED_ASSERT (dev != NULL);
++ PED_ASSERT (dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0);
++
++ 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;
++ default:
++ PED_ASSERT (0);
++ break;
++ }
++ }
++
++ size_t read_length = count * dev->sector_size;
++ if (posix_memalign (&diobuf, dev->sector_size, read_length) != 0)
++ return 0;
++
++ while (1) {
++ ssize_t status = read (arch_specific->fd, diobuf, read_length);
++ if (status > 0) {
++ memcpy(buffer, diobuf, status);
++ }
++ if (status == (ssize_t) read_length)
++ break;
++ if (status > 0) {
++ read_length -= status;
++ buffer = (char *) 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;
++ default:
++ PED_ASSERT (0);
++ break;
++ }
++ }
++
++ free (diobuf);
++
++ return 1;
++}
++
++static int
++freebsd_write (PedDevice* dev, const void* buffer, PedSector start,
++ PedSector count)
++{
++ FreeBSDSpecific* arch_specific = FREEBSD_SPECIFIC (dev);
++ PedExceptionOption ex_status;
++ void* diobuf;
++ void* diobuf_start;
++
++ PED_ASSERT(dev->sector_size % PED_SECTOR_SIZE_DEFAULT == 0);
++
++ 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;
++ default:
++ PED_ASSERT (0);
++ break;
++ }
++ }
++
++#ifdef READ_ONLY
++ printf ("ped_device_write (\"%s\", %p, %d, %d)\n",
++ dev->path, buffer, (int) start, (int) count);
++#else
++ size_t write_length = count * dev->sector_size;
++ dev->dirty = 1;
++ if (posix_memalign(&diobuf, dev->sector_size, write_length) != 0)
++ return 0;
++ memcpy(diobuf, buffer, write_length);
++ diobuf_start = diobuf;
++ while (1) {
++ ssize_t status = write (arch_specific->fd, diobuf, write_length);
++ if (status == count * PED_SECTOR_SIZE_DEFAULT) break;
++ if (status > 0) {
++ write_length -= status;
++ diobuf = (char *) diobuf + 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;
++ default:
++ PED_ASSERT (0);
++ break;
++ }
++ }
++ free(diobuf_start);
++#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;
++ void* diobuf;
++
++ if (!_device_seek (dev, start))
++ return 0;
++
++ if (posix_memalign(&diobuf, PED_SECTOR_SIZE_DEFAULT,
++ count * PED_SECTOR_SIZE_DEFAULT) != 0)
++ return 0;
++
++ for (done = 0; done < count; done += status / dev->sector_size) {
++ status = read (arch_specific->fd, diobuf,
++ (size_t) ((count-done) * dev->sector_size));
++ if (status > 0)
++ memcpy(buffer, diobuf, status);
++ if (status < 0)
++ break;
++ }
++ free(diobuf);
++
++ 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;
++ default:
++ PED_ASSERT (0);
++ break;
++ }
++ }
++ return 1;
++}
++
++static int
++freebsd_sync (PedDevice* dev)
++{
++ PED_ASSERT (dev != NULL);
++ PED_ASSERT (!dev->external_mode);
++
++ 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);
++ PED_ASSERT (!dev->external_mode);
++
++ if (dev->read_only)
++ return 1;
++ if (!_do_fsync (dev))
++ return 0;
++ /* no cache flush... */
++ return 1;
++}
++
++static int
++_probe_standard_devices ()
++{
++ /* Add standard devices that are not autodetected here. */
++ return 1;
++}
++
++static int
++_probe_kern_disks ()
++{
++ size_t listsize;
++ char *disklist, *pdisklist, *psave;
++
++ if (sysctlbyname("kern.disks", NULL, &listsize, NULL, 0) != 0) {
++ ped_exception_throw (
++ PED_EXCEPTION_WARNING,
++ PED_EXCEPTION_OK,
++ _("Could not get the list of devices through kern.disks sysctl."));
++ return 0;
++ }
++
++ if (listsize == 0)
++ return 0;
++
++ disklist = ped_malloc(listsize + 1);
++ if (!disklist)
++ return 0;
++
++ if (sysctlbyname("kern.disks", disklist, &listsize, NULL, 0) != 0) {
++ free(disklist);
++ return 0;
++ }
++
++ for (pdisklist = disklist ; ; pdisklist = NULL) {
++ char dev_name [256];
++ char *token;
++
++ token = strtok_r(pdisklist, " ", &psave);
++ if (token == NULL)
++ break;
++
++ strncpy (dev_name, _PATH_DEV, sizeof(dev_name));
++ strncat (dev_name, token, sizeof(dev_name) - strlen(_PATH_DEV) - 1);
++ dev_name[sizeof(dev_name) - 1] = '\0';
++ _ped_device_probe (dev_name);
++ }
++
++ free(disklist);
++ return 1;
++}
++
++static void
++freebsd_probe_all ()
++{
++ _probe_standard_devices ();
++
++ _probe_kern_disks ();
++}
++
++static char*
++_device_get_part_path (PedDevice* dev, int num)
++{
++ int path_len = strlen (dev->path);
++ int result_len = path_len + 16;
++ int is_gpt;
++ char* result;
++ PedDisk* disk;
++
++ disk = ped_disk_new (dev);
++ if (!disk)
++ return NULL;
++
++ result = (char*) ped_malloc (result_len);
++ if (!result)
++ return NULL;
++
++ is_gpt = !strcmp (disk->type->name, "gpt");
++
++ ped_disk_destroy (disk);
++
++ /* append slice number (ad0, partition 1 => ad0s1)*/
++ snprintf (result, result_len, is_gpt ? "%sp%d" : "%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);
++}
++
++static int
++_partition_is_mounted_by_dev (dev_t dev)
++{
++ struct stat mntdevstat;
++ struct statfs *mntbuf, *statfsp;
++ char *devname;
++ char device[256];
++ int mntsize, i;
++
++ 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 == dev)
++ return 1;
++ }
++
++ return 0;
++}
++
++static int
++_partition_is_mounted_by_path (const char *path)
++{
++ struct stat part_stat;
++ if (stat (path, &part_stat) != 0)
++ return 0;
++ if (!S_ISCHR(part_stat.st_mode))
++ return 0;
++ return _partition_is_mounted_by_dev (part_stat.st_rdev);
++}
++
++static int
++_partition_is_mounted (const PedPartition *part)
++{
++ int status;
++ char* part_name;
++
++ if (!ped_partition_is_active (part))
++ return 0;
++ part_name = _device_get_part_path (part->disk->dev, part->num);
++ if (!part_name)
++ return 0;
++ status = _partition_is_mounted_by_path (part_name);
++ free (part_name);
++ return status;
++}
++
++static int
++freebsd_partition_is_busy (const PedPartition* part)
++{
++ PedPartition* walk;
++
++ PED_ASSERT (part != NULL);
++
++ 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;
++}
++
++static int
++_kernel_reread_part_table (PedDevice* dev)
++{
++ /* The FreeBSD kernel (at least the 7.x series) automatically
++ monitors the partition tables and re-read them if they
++ change. */
++ 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 --git a/libparted/architecture.c b/libparted/architecture.c
+index 4020f98b..824ece69 100644
+--- a/libparted/architecture.c
++++ b/libparted/architecture.c
+@@ -34,6 +34,9 @@ ped_set_architecture ()
+ #elif defined(__BEOS__)
+ extern PedArchitecture ped_beos_arch;
+ const PedArchitecture* arch = &ped_beos_arch;
++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++ extern PedArchitecture ped_freebsd_arch;
++ const PedArchitecture* arch = &ped_freebsd_arch;
+ #else
+ extern PedArchitecture ped_gnu_arch;
+ const PedArchitecture* arch = &ped_gnu_arch;
+diff --git a/libparted/fs/xfs/platform_defs.h b/libparted/fs/xfs/platform_defs.h
+index a6ec8fb8..47a3a55f 100644
+--- a/libparted/fs/xfs/platform_defs.h
++++ b/libparted/fs/xfs/platform_defs.h
+@@ -37,7 +37,11 @@
+ #include <stdio.h>
+ #include <stdarg.h>
+ #include <assert.h>
+-#include <endian.h>
++#if HAVE_ENDIAN_H
++# include <endian.h>
++#elif HAVE_SYS_ENDIAN_H
++# include <sys/endian.h>
++#endif
+ #include <fcntl.h>
+ #include <stddef.h>
+ #include <stdlib.h>
+diff --git a/libparted/labels/bsd.c b/libparted/labels/bsd.c
+index 38bc64c1..bd36babc 100644
+--- a/libparted/labels/bsd.c
++++ b/libparted/labels/bsd.c
+@@ -27,6 +27,7 @@
+ #include <parted/debug.h>
+ #include <parted/endian.h>
+ #include <stdbool.h>
++#include <sys/types.h>
+
+ #if ENABLE_NLS
+ # include <libintl.h>
+diff --git a/libparted/labels/sun.c b/libparted/labels/sun.c
+index 5ed28869..09b82cbe 100644
+--- a/libparted/labels/sun.c
++++ b/libparted/labels/sun.c
+@@ -26,6 +26,7 @@
+ #include <parted/debug.h>
+ #include <parted/endian.h>
+ #include <stdbool.h>
++#include <sys/types.h>
+
+ #if ENABLE_NLS
+ # include <libintl.h>
diff --git a/debian/patches/kfreebsd_lvm.patch b/debian/patches/kfreebsd_lvm.patch
new file mode 100644
index 0000000..145d050
--- /dev/null
+++ b/debian/patches/kfreebsd_lvm.patch
@@ -0,0 +1,55 @@
+From 10e3164ce61e959817683edf52c1f1206f82ef0c Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@ubuntu.com>
+Date: Fri, 28 Mar 2014 17:09:52 +0000
+Subject: Add LVM support on kFreeBSD
+
+Patch-Name: kfreebsd_lvm.patch
+---
+ libparted/arch/freebsd.c | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+diff --git a/libparted/arch/freebsd.c b/libparted/arch/freebsd.c
+index b78d2bb0..f7061c74 100644
+--- a/libparted/arch/freebsd.c
++++ b/libparted/arch/freebsd.c
+@@ -1178,6 +1178,31 @@ _probe_zfs_volumes ()
+ return 1;
+ }
+
++static int
++_probe_lvm_volumes ()
++{
++ DIR* lvm_dir;
++ struct dirent* lvm_dent;
++ char buf[PATH_MAX];
++ struct stat st;
++
++ lvm_dir = opendir ("/dev/linux_lvm");
++ if (!lvm_dir)
++ return 0;
++
++ while ((lvm_dent = readdir (lvm_dir))) {
++ if (strcmp (lvm_dent->d_name, ".") == 0 || strcmp (lvm_dent->d_name, "..") == 0)
++ continue;
++ snprintf (buf, sizeof (buf), "/dev/linux_lvm/%s", lvm_dent->d_name);
++ if (stat (buf, &st) != 0)
++ continue;
++ _ped_device_probe (buf);
++ }
++ closedir (lvm_dir);
++
++ return 1;
++}
++
+ static void
+ freebsd_probe_all ()
+ {
+@@ -1186,6 +1211,8 @@ freebsd_probe_all ()
+ _probe_kern_disks ();
+
+ _probe_zfs_volumes ();
++
++ _probe_lvm_volumes ();
+ }
+
+ static char*
diff --git a/debian/patches/link-libuuid.patch b/debian/patches/link-libuuid.patch
new file mode 100644
index 0000000..3b6e9ca
--- /dev/null
+++ b/debian/patches/link-libuuid.patch
@@ -0,0 +1,32 @@
+From e7662734df72abed3e10dcb032d3fd7284e0e868 Mon Sep 17 00:00:00 2001
+From: Yegor Yefremov <yegorslists@googlemail.com>
+Date: Thu, 11 May 2023 10:03:59 +0200
+Subject: parted: link to libuuid
+
+parted.c uses libuuid since 61b3a9733c0e0a79ccc43096642d378c8706add6.
+Hence, add UUID_LIBS to PARTED_LIBS to avoid
+"DSO missing from command line" error.
+
+Signed-off-by: Brian C. Lane <bcl@redhat.com>
+
+Origin: upstream, https://git.savannah.gnu.org/cgit/parted.git/commit/?id=d22c2d01f62139e0d386d90584cac0705857a571
+Last-Update: 2023-06-13
+
+Patch-Name: link-libuuid.patch
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index d838c32c..ea614430 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -300,6 +300,8 @@ Note: originally, libuuid was part of the e2fsprogs package. Later, it
+ moved to util-linux-ng-2.16, and that package is now the preferred source.])])
+ AC_SUBST([UUID_LIBS])
+
++PARTED_LIBS="$PARTED_LIBS $UUID_LIBS"
++
+ dnl Check for libdevmapper
+ DM_LIBS=
+ if test $ENABLE_DEVICE_MAPPER = yes; then
diff --git a/debian/patches/preserve-hidden-parts.patch b/debian/patches/preserve-hidden-parts.patch
new file mode 100644
index 0000000..e70378b
--- /dev/null
+++ b/debian/patches/preserve-hidden-parts.patch
@@ -0,0 +1,45 @@
+From 028c790ccdd95ef57a0b53404a32606d2e6a84ba Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Fri, 28 Mar 2014 17:09:40 +0000
+Subject: Avoid overwriting empty or hidden partitions
+
+It changes the DOS partition rewriting code to avoid overwriting empty
+or hidden primary partitions so long as their entries aren't reused.
+This makes fatresize and similar front-ends safe to use in the presence
+of hidden partitions.
+
+Forwarded: http://lists.gnu.org/archive/html/bug-parted/2008-10/msg00005.html
+Bug-Debian: http://bugs.debian.org/491797
+Last-Update: 2010-02-02
+
+Patch-Name: preserve-hidden-parts.patch
+---
+ libparted/labels/dos.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/libparted/labels/dos.c b/libparted/labels/dos.c
+index e6a01059..256f365d 100644
+--- a/libparted/labels/dos.c
++++ b/libparted/labels/dos.c
+@@ -1452,13 +1452,18 @@ msdos_write (const PedDisk* disk)
+ if (!table->mbr_signature)
+ table->mbr_signature = generate_random_uint32 ();
+
+- memset (table->partitions, 0, sizeof (table->partitions));
+- table->magic = PED_CPU_TO_LE16 (MSDOS_MAGIC);
++ if (table->magic != PED_CPU_TO_LE16 (MSDOS_MAGIC)) {
++ memset (table->partitions, 0, sizeof (table->partitions));
++ table->magic = PED_CPU_TO_LE16 (MSDOS_MAGIC);
++ }
+
+ for (i=1; i<=DOS_N_PRI_PARTITIONS; 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))
+ goto write_fail;
diff --git a/debian/patches/probe-lvs-again.patch b/debian/patches/probe-lvs-again.patch
new file mode 100644
index 0000000..77139c0
--- /dev/null
+++ b/debian/patches/probe-lvs-again.patch
@@ -0,0 +1,34 @@
+From 20f1477293d180b2141ae7f1047ff5df84d42826 Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@ubuntu.com>
+Date: Sat, 9 Aug 2014 16:23:26 +0200
+Subject: Probe LVM logical volumes again
+
+parted 3.2 stopped probing LVM logical volumes. This breaks
+debian-installer, which wants to be able to "partition" these, at least
+to the extent of being able to see them in the partitioner and operate
+on them somewhat like ordinary partitions. Revert to the old behaviour.
+
+Bug-Debian: http://bugs.debian.org/757417
+Forwarded: no
+Last-Update: 2014-08-11
+
+Patch-Name: probe-lvs-again.patch
+---
+ libparted/arch/linux.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
+index f6f72360..3bad1e6e 100644
+--- a/libparted/arch/linux.c
++++ b/libparted/arch/linux.c
+@@ -608,8 +608,8 @@ _probe_dm_devices ()
+ if (stat (buf, &st) != 0)
+ continue;
+
+- if (_is_dm_major(major(st.st_rdev)) && _is_dmraid_device (buf)
+- && !_dm_is_part(buf))
++ if (_is_dm_major(major(st.st_rdev))
++ && !(_is_dmraid_device(buf) && _dm_is_part(buf)))
+ _ped_device_probe (buf);
+ }
+ closedir (mapper_dir);
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..8d4f4b7
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,13 @@
+doc-package.patch
+preserve-hidden-parts.patch
+kfreebsd-gnu.patch
+freebsd-ufs.patch
+zfs.patch
+freebsd-zvol.patch
+freebsd-geli.patch
+kfreebsd_lvm.patch
+gptsync.patch
+udevadm-settle.patch
+align-new-partitions-on-fresh-disks.patch
+probe-lvs-again.patch
+link-libuuid.patch
diff --git a/debian/patches/udevadm-settle.patch b/debian/patches/udevadm-settle.patch
new file mode 100644
index 0000000..96cdbcf
--- /dev/null
+++ b/debian/patches/udevadm-settle.patch
@@ -0,0 +1,105 @@
+From 3947abeeb92069705229bff681b28d8ac78aedaa Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@ubuntu.com>
+Date: Fri, 28 Mar 2014 17:10:16 +0000
+Subject: udev handling
+
+Run udevadm settle around partition table rereads, to avoid races.
+
+This should be replaced by a proper completion-notification mechanism
+between the kernel and udev.
+
+Forwarded: no
+Last-Update: 2019-10-11
+
+Patch-Name: udevadm-settle.patch
+---
+ libparted/arch/linux.c | 56 ++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 54 insertions(+), 2 deletions(-)
+
+diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
+index ccbba865..f6f72360 100644
+--- a/libparted/arch/linux.c
++++ b/libparted/arch/linux.c
+@@ -26,6 +26,7 @@
+ #include <parted/fdasd.h>
+ #endif
+
++#include <stdlib.h>
+ #include <ctype.h>
+ #include <errno.h>
+ #include <fcntl.h>
+@@ -3250,10 +3251,52 @@ _have_blkpg ()
+ return have_blkpg = kver >= KERNEL_VERSION (2,4,0) ? 1 : 0;
+ }
+
++static int
++_chrooted ()
++{
++ static int cached = -1;
++ struct stat root, init_root;
++
++ if (cached != -1)
++ return cached;
++
++ if (stat ("/", &root) || stat ("/proc/1/root", &init_root))
++ /* We can't tell, but are unlikely to be able to tell in the
++ * future either.
++ */
++ cached = 0;
++ else if (root.st_dev == init_root.st_dev &&
++ root.st_ino == init_root.st_ino)
++ /* / has the same dev/ino as /sbin/init's root, so we're not
++ * in a chroot.
++ */
++ cached = 0;
++ else
++ /* We must be in a chroot. */
++ cached = 1;
++
++ return cached;
++}
++
+ /* Return nonzero upon success, 0 if something fails. */
+ static int
+ linux_disk_commit (PedDisk* disk)
+ {
++ int ret = 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 (!_chrooted () && system ("udevadm settle") != 0) {
++ /* ignore failures */
++ }
++
+ if (disk->dev->type != PED_DEVICE_FILE) {
+
+ /* We now require BLKPG support. If this assertion fails,
+@@ -3263,10 +3306,19 @@ linux_disk_commit (PedDisk* disk)
+ assert (_have_blkpg ());
+
+ if (!_disk_sync_part_table (disk))
+- return 0;
++ ret = 0;
+ }
+
+- return 1;
++ /* 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 (!_chrooted () && system ("udevadm settle") != 0) {
++ /* ignore failures */
++ }
++
++ return ret;
+ }
+
+ #if USE_BLKID
diff --git a/debian/patches/zfs.patch b/debian/patches/zfs.patch
new file mode 100644
index 0000000..8d0e927
--- /dev/null
+++ b/debian/patches/zfs.patch
@@ -0,0 +1,145 @@
+From a652c80f142411473d14c038e91c24ba81537f5b Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@ubuntu.com>
+Date: Fri, 28 Mar 2014 17:09:48 +0000
+Subject: Add ZFS support
+
+Last-Update: 2019-10-11
+
+Patch-Name: zfs.patch
+---
+ libparted/fs/Makefile.am | 3 +-
+ libparted/fs/zfs/zfs.c | 77 ++++++++++++++++++++++++++++++++++++++++
+ libparted/libparted.c | 4 +++
+ 3 files changed, 83 insertions(+), 1 deletion(-)
+ create mode 100644 libparted/fs/zfs/zfs.c
+
+diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am
+index 41a60d98..1636d49f 100644
+--- a/libparted/fs/Makefile.am
++++ b/libparted/fs/Makefile.am
+@@ -52,7 +52,8 @@ libfs_la_SOURCES = \
+ xfs/platform_defs.h \
+ xfs/xfs.c \
+ xfs/xfs_sb.h \
+- xfs/xfs_types.h
++ xfs/xfs_types.h \
++ zfs/zfs.c
+
+ lib_LTLIBRARIES = libparted-fs-resize.la
+
+diff --git a/libparted/fs/zfs/zfs.c b/libparted/fs/zfs/zfs.c
+new file mode 100644
+index 00000000..47cd6773
+--- /dev/null
++++ b/libparted/fs/zfs/zfs.c
+@@ -0,0 +1,77 @@
++/*
++ libparted - a library for manipulating disk partitions
++ Copyright (C) 2000, 2007, 2009-2010 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.
++
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>.
++*/
++
++#include <config.h>
++
++#include <parted/parted.h>
++#include <parted/endian.h>
++
++#if ENABLE_NLS
++# include <libintl.h>
++# define _(String) dgettext (PACKAGE, String)
++#else
++# define _(String) (String)
++#endif /* ENABLE_NLS */
++
++#include <unistd.h>
++
++#define ZFS_SIGNATURE 0x00bab10c
++
++struct zfs_uberblock
++{
++ uint64_t signature;
++ uint64_t version;
++};
++
++static PedGeometry*
++zfs_probe (PedGeometry* geom)
++{
++ struct zfs_uberblock *uber = alloca (geom->dev->sector_size);
++
++ if (!ped_geometry_read (geom, uber, 256, 1))
++ return 0;
++
++ if ((le64toh (uber->signature) == ZFS_SIGNATURE
++ || be64toh (uber->signature) == ZFS_SIGNATURE)
++ && uber->version != 0)
++ return ped_geometry_new (geom->dev, geom->start, geom->length);
++ else
++ return NULL;
++}
++
++static PedFileSystemOps zfs_ops = {
++ probe: zfs_probe,
++};
++
++static PedFileSystemType zfs_type = {
++ next: NULL,
++ ops: &zfs_ops,
++ name: "zfs",
++};
++
++void
++ped_file_system_zfs_init ()
++{
++ ped_file_system_type_register (&zfs_type);
++}
++
++void
++ped_file_system_zfs_done ()
++{
++ ped_file_system_type_unregister (&zfs_type);
++}
+diff --git a/libparted/libparted.c b/libparted/libparted.c
+index 204ce007..88e7eea2 100644
+--- a/libparted/libparted.c
++++ b/libparted/libparted.c
+@@ -115,6 +115,7 @@ extern void ped_file_system_ext2_init (void);
+ extern void ped_file_system_nilfs2_init (void);
+ extern void ped_file_system_btrfs_init (void);
+ extern void ped_file_system_udf_init (void);
++extern void ped_file_system_zfs_init (void);
+
+ static void
+ init_file_system_types ()
+@@ -133,6 +134,7 @@ init_file_system_types ()
+ ped_file_system_nilfs2_init ();
+ ped_file_system_btrfs_init ();
+ ped_file_system_udf_init ();
++ ped_file_system_zfs_init ();
+ }
+
+ extern void ped_disk_aix_done ();
+@@ -200,10 +202,12 @@ extern void ped_file_system_xfs_done (void);
+ extern void ped_file_system_amiga_done (void);
+ extern void ped_file_system_btrfs_done (void);
+ extern void ped_file_system_udf_done (void);
++extern void ped_file_system_zfs_done (void);
+
+ static void
+ done_file_system_types ()
+ {
++ ped_file_system_zfs_done ();
+ ped_file_system_nilfs2_done ();
+ ped_file_system_ext2_done ();
+ ped_file_system_f2fs_done ();
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..de1fd95
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,86 @@
+#!/usr/bin/make -f
+#
+# 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
+
+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+
+export DEB_BUILD_MAINT_OPTIONS := hardening=+all
+
+CONFFLAGS := --sbindir=/sbin --enable-mtrace --enable-shared
+CONFFLAGS += --disable-gcc-warnings
+
+# Enable device-mapper only on Linux
+ifeq (linux, $(DEB_HOST_ARCH_OS))
+ CONFFLAGS += --enable-device-mapper
+else
+ CONFFLAGS += --disable-device-mapper
+endif
+
+# Everything above here is common to the deb and udeb builds.
+CONFFLAGS_UDEB := $(CONFFLAGS)
+
+# Options specific to the udeb build.
+CONFFLAGS_UDEB += ac_cv_header_execinfo_h=no --libdir=/lib
+CONFFLAGS_UDEB += --disable-static --without-readline
+
+%:
+ dh $@
+
+override_dh_auto_configure:
+ dh_auto_configure -Bbuild-deb -- $(CONFFLAGS)
+ # We need to unset CFLAGS here to force debhelper to recompute it
+ # with the new DEB_CFLAGS_MAINT_APPEND. We also need to unset
+ # DH_INTERNAL_BUILDFLAGS to force debhelper to recompute any build
+ # flags at all. If there's a better way to do this I'd like to hear
+ # about it.
+ env -u DH_INTERNAL_BUILDFLAGS -u CFLAGS DEB_CFLAGS_MAINT_APPEND=-Os \
+ dh_auto_configure -Bbuild-udeb -- $(CONFFLAGS_UDEB)
+
+override_dh_auto_build:
+ dh_auto_build -Bbuild-deb
+ # Only build binaries for the udeb pass.
+ $(MAKE) -C build-udeb/lib
+ $(MAKE) -C build-udeb/libparted
+ $(MAKE) -C build-udeb/parted
+
+override_dh_auto_test:
+
+override_dh_auto_clean:
+ rm -rf build-deb build-udeb
+
+execute_before_dh_clean:
+ rm -rf debian/tmp-udeb
+
+override_dh_auto_install:
+ dh_auto_install -Bbuild-deb
+ $(MAKE) -C build-udeb/libparted install DESTDIR=$(CURDIR)/debian/tmp-udeb
+ $(MAKE) -C build-udeb/parted install DESTDIR=$(CURDIR)/debian/tmp-udeb
+ rm -f debian/tmp/usr/lib/*/*.la
+ rm -f debian/tmp-udeb/lib/*.la debian/tmp-udeb/lib/*.so
+
+override_dh_install:
+ dh_install -Nparted-udeb -Nlibparted2-udeb -Nlibparted-fs-resize0-udeb
+ dh_install -pparted-udeb -plibparted2-udeb -plibparted-fs-resize0-udeb --sourcedir=debian/tmp-udeb
+
+override_dh_installdocs-arch:
+ dh_installdocs --link-doc=libparted2
+
+override_dh_installdocs-indep:
+ dh_installdocs -pparted-doc --doc-main-package=libparted2
+ dh_installdocs --remaining-packages
+
+override_dh_strip:
+ dh_strip -plibparted2 --ddeb-migration='libparted2-dbg (<< 3.2-11~)'
+ dh_strip -plibparted-fs-resize0 \
+ --ddeb-migration='libparted-fs-resize0-dbg (<< 3.2-11~)'
+ dh_strip -Nlibparted2 -Nlibparted-fs-resize0
+
+override_dh_makeshlibs:
+ dh_makeshlibs -plibparted2 --add-udeb=libparted2-udeb -- -c4
+ dh_makeshlibs -plibparted-fs-resize0 --add-udeb=libparted-fs-resize0-udeb -- -c4
diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml
new file mode 100644
index 0000000..8424db4
--- /dev/null
+++ b/debian/salsa-ci.yml
@@ -0,0 +1,3 @@
+---
+include:
+ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644
index 0000000..867cfac
--- /dev/null
+++ b/debian/upstream/metadata
@@ -0,0 +1,5 @@
+---
+Name: GNU parted
+Bug-Submit: bug-parted@gnu.org
+Repository: https://git.savannah.gnu.org/git/parted.git
+Repository-Browse: https://git.savannah.gnu.org/cgit/parted.git
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..9634282
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,50 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBE7n3q8BCADW6Ejug3TeJn21ri5Pnqo7AraXyOhSWeatq377kbF9fJb+bd4l
+hhcWqs9BBCMcOrMdfDgAU6cP+TSNe5SBBPt89d0YZ8WH020eg3WkxXeph29wZyLj
+2HdxTMpZVv5p6QL1ksRmbnsToiJvXT24ydjLG3BTl+TAEDXuppPq0AlEYqkvD9fY
+Sqad1s064IppHQZhYVgmcEHOHt0vY66QW+UfwSI+GpkaXULlDS9WAphgWXrUoodb
+tC283pZUcBAio54uENUNT96ChzdlJ/9eyDRMjEhyL42AmazPVKgwZdLlrPG0iodD
+evxvsDbIgu0acGAeSjvt1tWgI+F5TJDeYfxfABEBAAG0H1BoaWxsaXAgU3VzaSA8
+cHN1c2lAY2ZsLnJyLmNvbT6JATgEEwECACIFAk7n3q8CGyMGCwkIBwMCBhUIAgkK
+CwQWAgMBAh4BAheAAAoJEAFfTdSnD7cFcZoIAMzUUmRQEjdV6Y9t5H/geCUlRpKA
+YLyf5mLvp6+9d+Sj8Jr80Gqdaf/+PCPx+s6OaVivwdrS/RKGQCJqlRhYUZfhhcSK
++LY8JhK7tXVqjTSCKZ/eExzHyNSRUS2CIS0bfFRaBKmWUnnz4GUjEZdEV7RsgaxQ
+tAB2ZhJ3podyXNuakVhOmumzMBKJOKYmVv0+Z/t0kh3eFCghS8X7xCmunswUvlUW
++OxV6nlg/MUP6L1abHPHgUkapM8rKYEI15V9iZL0xgJkUr973u4msvMzapKqtrxX
+QshLoCbLKeOQSOlNuyjPQCySFMeZeUQIORWLX27JNTq7ZBnRJU6SQA5cw920H1Bo
+aWxsaXAgU3VzaSA8cHN1c2lAdWJ1bnR1LmNvbT6JATgEEwECACIFAk7n31kCGyMG
+CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEAFfTdSnD7cFKYEH/1z0AARRSyCi
+B/FnutwNQDxkfZdDpMIJpoXFC65il25uzoWw2ejZRwQ5Jo9B8nyyMryZeRviFXOi
++Sdfi9Q2lRN0Lbt3z6H2LD7vNzV8Z9fe944uHsEQzU2pso1OOLMvC5FAdL942tug
+O9o8VNLuS+gf2W8gs28XJOx2HdV6wvT3aqsVGGEYJbyZ9qQvvb3xkvs3xC3xIvHL
+knOUB73tEhoLCtVohD6xiRVcqF8meKw/Pd5NK+dbRCS6zLRtdAVR6bVbnwgM1TJW
+PAHtg8dk4JsiCHtlOBPtiCjZn9ZLbEQ009N669J9JYiqqmM3wZTi/LVWRvUtvdTP
+k0PB8JjdMM6ZAQ0ES37FcwEIAKQDVm1w7gftlQb/RovhGVkijOyitfMWutMCwkQe
+93L6scIffFFwXPogxt8I51X6grGUM/s9LS9Yp+rHCR6c5S63mj1vfa4N0UxbghsV
+cRD3gC5JClKOjw+VUyb/nWmaZHF0nPI+evRgPfyZUrqpQRgsj/jNdKAWTj3cZPxj
+ibc3Xw7/7J4+c44i2PupusIwBKgHHVMbxl2Dy596Eyd9vznHjHEB5teSolCkRVOO
+3iWPinoGGtZH6khb+cFSvPc6xXtbA8qNIuMm1MkXFhf5EVIKo51+6y7Kyg7Gkgc7
+HVbGMZQ4HmN+eGarjWdZd/yjNvnzNKmMOsnuMZD2l1SkC1EAEQEAAbQeQnJpYW4g
+Qy4gTGFuZSA8YmNsQHJlZGhhdC5jb20+iQFUBBMBCgA+AhsDAh4BAheABQsJCAcD
+BRUKCQgLBRYCAwEAFiEEtMa0UeT6i0IyyhkeEX6MFo7+On8FAmJe6p4FCRjBWKsA
+CgkQEX6MFo7+On8O9AgAhdMCQgbnIX++6dAx+7Kf4G6WSwolj9PHynQT/wuztNy3
+vxTo1CB02wpQppKmPxfDDKFw7Va5S81/ahABwA+YHe+IR8CkUXQLtcv5AzqMX2Yy
+689hakelnuIOGFiLPg7Zju3b1nE3S1Qg/DE28T8ozgXKykzinSIZf9ytYVs9hITp
+WBUSVbZ9zIXC4lvJlM+y2tKTQzVROhyLbcloQl9X9/+tJ7dTF/838S0LUp/UVb2G
+KMz6PWrrMdSu/N47Ie71FSVGGU0/dL6kBxeNh3rJFXmLUDDdz3aK3NPbAR2cu2wy
+3Hjj0NsxBVOM5L+YdVWwp/LJ2GInWvL5l0LdszW06rkBDQRLfsVzAQgAvN5jr95p
+Jthv2w9co9/7omhM5rAnr9WJfbMLLiUfPPUvpL24RGO6SKy03aiVTUjlaHc+cGqO
+ciwnNKMCSt+noyG2kNnAESTDtCivpsjonaFP8jA3TqL0QK+yzBRKJnMnLEY1nWE1
+FtkMRccXvzi0Z/XQVhiWQyTvDFoKtepBFrH9UqWbNHyki22aighumUsW01pcPH2o
+gSj+HR01r7SfI/y2EkE6loHQfCDycHmlqYV+X6GZEvf1qu2+EHEQChsHIAxWyshs
+xM/ZPmx/8e5S3Xmjl7h/6E9wcsIpvnf504sLX5j4Km9I5HgJSRxHxgRPpqJ2/XiC
+lAJanO5gCw0RdQARAQABiQE8BBgBCgAmAhsMFiEEtMa0UeT6i0IyyhkeEX6MFo7+
+On8FAmJe6roFCRjBWMcACgkQEX6MFo7+On+l/QgAj7fb/ps3vfhckw+Hb1kfnNiG
+/HyqCosCAm7O7aMfZ8luqpwHtDEjf5Z3cu5XWMSbTskeG7N0kpOUQacWGzM9Vv6X
+T6GZ6wC1/+/Hzglsv4MHcVS9ZjeQeuresDQbWuUUadccHHrGMI9B8E6SQEJ2gC11
+JJJi6GNaAs3hN0zMNCfXllnEmU89wm0De/DHGSwhyph/4tzwXF2ncdh+emTG6SfT
+peHMNdVlwSJkC2/89WcHb+1AxC87I6gi8FVKJgQy0/9/nA582sq7+wRGWVnDpK5b
+pazytWZO16gRSNDch7bj9i4ESSmsvH9+p1Q/Kg/tNVPU8aRRI8tUE7WJ30EmLg==
+=iDdu
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..7d1d234
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=4
+opts=pgpsigurlmangle=s/$/.sig/ https://ftp.gnu.org/gnu/parted/ parted-(.*)\.tar\.(?:gz|xz)