Commit Graph

69 Commits

Author SHA1 Message Date
Mike Fleetwood a2cc5014c6 Move root privilege escalation into gparted wrapper script (#776437)
Move calling of the privilege escalation program which allows a normal
user to run GParted as root from the desktop file into the gparted
wrapper script.  This is in preparation for further changes needed to
grant root access to the X11 display under Wayland.

Don't introduce yet another script so that there aren't two different
names to run GParted by for normal users and root.  Using the same
gparted name but placing two different scripts at /usr/bin/gparted and
/usr/sbin/gparted is not possible because on Arch Linux /usr/sbin is a
symbolic link to /usr/bin.

    Frequently asked questions, Does Arch follow the FHS?
    https://wiki.archlinux.org/index.php/Frequently_asked_questions#Does_Arch_follow_the_FHS.3F

    "Arch Linux follows the file system hierarchy for operating systems
    using the systemd service manager.  See file-hierarchy(7) for an
    explanation of each directory along with their designations.  In
    particular, /bin, /sbin, and /usr/sbin are symbolic links to
    /usr/bin, and /lib (and /lib64 if applicable) are symbolic links to
    /usr/lib".

Bug 776437 - GParted fails to run as root under Wayland
2017-09-01 10:14:20 -06:00
Pali Rohár 5f327feb25 Add support for UDF file system (#784533)
Add support for detecting UDF file systems and formatting hard disks
with revision 2.01 UDF file systems using udftools.  Formatting optical
disks or any other media types is not supported yet.  Changing label or
UUID after formatting is not supported as the tools do not yet exist.

Bug 784533 - Add support for UDF file system
2017-07-10 19:17:05 +01:00
Mike Fleetwood cbab9849b1 Update README with the inclusion of Google Test framework (#781978)
Document the files and license of the Google Test C++ test framework.

Bug 781978 - Add Google Test C++ test framework
2017-06-02 10:13:16 -06:00
Mike Fleetwood 34185afbf1 Document new requirement on the cryptsetup command (#774818)
Bug 774818 - Implement LUKS read-write actions NOT requiring a
             passphrase
2017-01-14 08:49:58 -07:00
Mike Fleetwood 91e5a0960e Remove remaining use of retired vol_id
Vol_id has been retired and removed from all supported distributions.
See earlier commit "Remove use of retired vol_id from FS_Info module
(#767842)" for more details.  Therefore remove it's use from GParted
entirely.
2016-08-06 09:47:58 -06:00
Mike Fleetwood 835a5fb6d7 Add LUKS read-only / dmsetup note to the README file (#760080)
Bug 760080 - Implement read-only LUKS support
2016-01-29 13:41:41 -07:00
Mike Fleetwood 28ad527874 Add Linux SWRaid / mdadm note to the README file (#756829)
Missed earlier when implementing the feature.

Bug 756829 - SWRaid member detection enhancements
2016-01-03 09:41:47 -07:00
Mike Fleetwood 050366f691 Fix configuration version mismatch when using custom install of libparted (#753525)
When configuring GParted build with a custom install of libparted the
configure script is using the wrong version number for the version of
libparted.  It uses the version of the system install of libparted,
rather that the version of the specified custom install of libparted.

For example configuring GParted build on CentOS 7 with system provided
libparted 3.1 and custom install of libparted 3.2 from GIT in
/tmp/parted-3.2-git:
    $ export CPPFLAGS=-I/tmp/parted-3.2-git/include
    $ export LDFLAGS=-L/tmp/parted-3.2-git/lib
    $ export LD_RUN_PATH=/tmp/parted-3.2-git/lib
    $ ./configure
    ...
    checking for libparted >= 1.7.1 (querying pkg-config)... 3.1
    checking for 2.0 <= libparted <= 3.0 (loop table creation doesn't delete old partitions)... (cached) no
    checking for libparted >= 2.2 (improved pt re-read)... (cached) yes
    checking for ped_file_system_resize in -lparted... no
    checking for ped_file_system_resize in -lparted-fs-resize... yes
    checking for libparted >= 3.2 (online resize)... (cached) no
    ...
    $ make
    $ ldd src/gpartedbin | fgrep libparted
        libparted-fs-resize.so.0 => /tmp/parted-3.2-git/lib/libparted-fs-resize.so.0 (0x00007f9a460ee000)
        libparted.so.2 => /tmp/parted-3.2-git/lib/libparted.so.2 (0x00007f9a45ea3000)
Configure script used version 3.1 as reported by pkg-config to make most
of the decisions (those version related checks with cached results) but
the executable was still linked with the custom libparted 3.2 install.

Temporarily rename the system libparted pkg-config file out of the way:
    # cd /usr/lib64/pkgconfig
    # mv libparted.pc libparted.pc-NOT
and reconfigure the GParted build:
    $ ./configure
    ...
    checking for libparted >= 1.7.1 (querying pkg-config)... not found
    checking for libparted >= 1.7.1 (querying libparted)... 3.2.25-5a92
    checking for 2.0 <= libparted <= 3.0 (loop table creation doesn't delete old partitions)... (cached) no
    checking for libparted >= 2.2 (improved pt re-read)... (cached) yes
    checking for ped_file_system_resize in -lparted... no
    checking for ped_file_system_resize in -lparted-fs-resize... yes
    checking for libparted >= 3.2 (online resize)... (cached) yes
    ...
Now configure is having to compile a program with the custom install of
libparted and gets the correct version.

Restore libparted pkg-config file:
    # mv libparted.pc-NOT libparted.pc
and this time set environment variable PKG_CONFIG_PATH to inform
pkg-config of the additional directory to search for .pc files before
the default system location:
    $ export PKG_CONFIG_PATH=/tmp/parted-3.2-git/lib/pkgconfig
    $ ./configure
    ...
    checking for libparted >= 1.7.1 (querying pkg-config)... 3.2.25-5a92
    checking for 2.0 <= libparted <= 3.0 (loop table creation doesn't delete old partitions)... (cached) no
    checking for libparted >= 2.2 (improved pt re-read)... (cached) yes
    checking for ped_file_system_resize in -lparted... no
    checking for ped_file_system_resize in -lparted-fs-resize... yes
    checking for libparted >= 3.2 (online resize)... (cached) yes
    ...
Now configure is getting the correct version of the custom install of
libparted when querying pkg-config and thus making the correct
decisions.

Update the README file to reflect the need to also set the
PKG_CONFIG_PATH environment variable when building GParted with a custom
install of libparted.

Bug 753525 - Configuration issues when using non-system location or
             non-released versions of libparted
2015-08-18 10:30:08 -06:00
Mike Fleetwood ff3f51ac29 Update names of the ntfs and reiserfs specific packages (#753436)
The ntfs-3g package previously provided the FUSE based NTFS driver to
mount the file system and ntfsprogs provided the user space tools.  In
April 2011 the packages have merged [1] forming ntfs-3g_ntfsprogs.  Arch
Linux / Debian / Slackware / Ubuntu now just have an ntfs-3g package
with everything; where as CentOS / Fedora / openSUSE are sticking with
the original two package names.  Reverse the order of the needed
packages to:

    ntfs-3g / ntfsprogs

[1] Release: NTFS-3G + NTFSPROGS 2011.4.12
    http://www.tuxera.com/release-ntfs-3g-ntfsprogs-2011-4-12/

For reiserfs the upstream package is named reiserfsprogs.  Arch Linux /
Debian / Slackware / Ubuntu use this name; but CentOS / Fedora name it
reiserfs-utils and openSUSE names it just reiserfs.  Update the README
file with all 3 package names.

    reiserfsprogs / reiserfs-utils / reiserfs

In the File System Support dialog just use the first 2 package names as
we don't want to make the dialog too wide with all 3 names and hopefully
on openSUSE it is more obvious that the reiserfs package is needed to
support the reiserfs file system.

NOTE:
Again this slightly increases the width of the File System Support
dialog on my CentOS 6 desktop with default fonts, now from 676 to 707
pixels.  Again still well within the 800 wide target and still narrower
than the main window.

Bug 753436 - Update documentation of GParted software dependencies
2015-08-10 11:34:03 -06:00
Mike Fleetwood 4160ae5018 Update name of the btrfs file system specific package (#753436)
In Fedora bug report:
    Bug 1176108 - Warning shown on BTRFS partition because of missing btrfs-tools package
    https://bugzilla.redhat.com/show_bug.cgi?id=1176108#c0
The user said:
    However there is no btrfs-tools package in the standard Fedora repo.
    There is a btrfs-progs package, which is already installed.  It's
    unclear whether this is a real error or simply a mismatched package
    name.

The upstream software is named btrfs-progs.  Arch Linux / CentOS /
Fedora / Slackware use the upstream name.  Debian / Ubuntu name it
btrfs-tools and openSUSE calls it btrfsprogs (no dash).

Rename the needed software to:

    btrfs-progs / btrfs-tools

Upstream name first separated by slash from alternative names
distributions use.

NOTE:
This slightly increases the width of the File System Support dialog on
my CentOS 6 desktop with default fonts, from 655 to 676 pixels.  Still
well within the 800 wide target and still narrower that the main window.

Bug 753436 - Update documentation of GParted software dependencies
2015-08-10 11:31:31 -06:00
Mike Fleetwood 749a249571 Document blkid command as a mandatory requirement (#753436)
Update the README file to document the blkid command as a mandatory
requirement for GParted.  GParted will run without blkid but it is
needed to detect a number of file systems which libparted doesn't and in
a number of other situations.

Blkid is needed to detect these file systems:
    exfat
    f2fs
    ReFS
    SWRaid
    ZFS

Blkid also detects these file systems (for which GParted has simple
internal detection but libparted, mostly, doesn't detect):
    btrfs      (detected by libparted >= 3.2)
    LVM2 PV
    LUKS
    nilfs2     (detected by libparted >= 2.4)
    reiser4

Blkid is also needed for these commits:

1)  f8faee6377
    Avoid whole disk FAT being detected as MSDOS partition table (#743181)
    (with libparted 1.9.0 to 2.3 inclusive)

2)  9e5e9f5627
    Enhance file system detection to use FS_Info method - blkid
    (Detect file systems with sector sizes other than 512 bytes with
    libparted 2.2)

Other changes to the DISTRIBUTION NOTES section of the README file:
* Drop NOTE about vol_id and blkid being used to read volume labels for
  specific file systems and read the UUIDs.  Vol_id was deprecated in
  May 2009 and is not included in any currently supported distribution.
  Blkid is now mandatory.  List of optional commands at the end of the
  section seems to cover everything that is necessary.
* Indent description of optional commands at the end of the section to
  match the indentation earlier in the section.
* Line wrap the section at column 72 to match the rest of the file.

Bug 753436 - Update documentation of GParted software dependencies
2015-08-10 11:31:31 -06:00
Mike Fleetwood 4b72ecd44e Display device serial numbers (#751251)
Run "hdparm -I /dev/DISK" to get the hard drive serial number of
every device which has one and display it in the Device Information.
The displayed value can either be the actual serial number, "none" or
blank.  "none" means the device doesn't have a hard drive serial number,
such as for Linux software RAID arrays, BIOS fake RAID arrays or USB
flash drives.  Blank means something went wrong getting the serial
number.  Either it couldn't be found in the hdparm output or the hdparm
command wasn't installed.

Example real hard drive:
    # hdparm -I /dev/sda
    ...
    ATA device, with non-removable media
            Model Number:       SAMSUNG HM500JI
            Serial Number:      S1WFJDSZ123732
    ...

Example Linux software RAID array:
    # hdparm -I /dev/md127

    /dev/md127:
     HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device

On my desktop with 4 internal hard drives 2 Linux software RAID arrays
on those hard drives, 2 USB flash drives and 1 USB hard drive attached,
running hdparm 9 times added 0.07 seconds to the device refresh time.

Bug 751251 - Show serial number in device information
2015-07-01 10:22:47 -06:00
Mike Fleetwood 826d9d47ad README: Correct env variables to build using specific libparted version
CPPFLAGS - Needed to instruct the compiler to use libparted include
files, <parted/parted.h> etc, from the non-default location.

LD_LIBRARY_PATH - Not needed to specify an additional directory to find
libparted shared libraries at run time, as the linker build the
additional directory into the executable based on the LD_RUN_PATH
environment variable.
2014-09-20 11:53:23 +01:00
Curtis Gedak a1ea76b51a Add section on building using a specific libparted version to README 2014-09-14 21:06:33 +01:00
Mike Fleetwood 46acc4c0f6 Small update to source build instructions
Make the standard three steps to build GParted more prominent by
repeating them at the top of the Building from Source section in the
README file.
2014-09-14 10:43:38 -06:00
Mike Fleetwood af05344095 Automatically enable online resize with libparted >= 3.2 (#734076)
Configure script checks for libparted version >= 3.2 to automatically
determine the availability of online resize capability in libparted.
This can be overridden from the ./configure command line.  Override
enable when an older version of libparted has been patched to include
online resize support with:

    ./configure --enable-online-resize

Override disable with libparted 3.2 or later to disable the feature when
it is not wanted with:

    ./configure --disable-online-resize

Note that GParted also requires, and checks for at runtime, Linux
kernel >= 3.6 for online resize support.  See commit for more details:

    de2844d02d
    Add online resize support (#694622)

Bug #734076 - Autodetect parted online partition resizing capability
2014-08-31 11:04:35 -06:00
Piotr Drąg 6a060c6ea8 doap: update URLs 2014-04-04 20:27:48 +02:00
Curtis Gedak 93f7cb3f47 Add gnome-common to fedora dependencies in README
The gnome-common package is needed when building from the git
repository.  This package was missed in the list of dependencies for
the Fedora GNU/Linux distribution.
2014-02-08 12:23:55 +00:00
Curtis Gedak 7123ae7125 Fix typo in package name for Fedora C++ compiler in README
"gcc-g++" -> "gcc-c++"
2014-01-06 11:35:42 -07:00
Phillip Susi de2844d02d Add online resize support (#694622)
Many file systems are capable of growing while mounted, and a few can
even shrink.  This support must be explicitly enabled at configure time
with the --enable-online-resize flag and depends on a patched libparted.
Also requires kernel >= 3.6 for partition resizing, even if the
partition is in use (BLKPG_RESIZE_PARTITION).

Thanks to Mike Fleetwood for double check mark idea instead of a second
column to show the online grow/shrink.

Bug #694622 - Add support for online resize
2013-11-24 10:10:37 +00:00
Curtis Gedak d65fb881e2 Update install instructions for some GNU/Linux distributions 2013-10-08 11:09:06 +01:00
Mike Fleetwood 7d6adee516 Update licensing statement in the README file
Explicitly state that GParted is licensed under the GPLv2+ and the
GParted Manual is licensed under the GFDLv1.2+.
2013-05-27 11:08:39 -06:00
Curtis Gedak 00960e0172 Add xdg-su to README (#699626)
Add xdg-su to list of possible programs used to acquire root
privileges in the gparted.desktop file.

Bug #699626 - Enable gparted.desktop to prompt for root on default
              openSUSE installation
2013-05-05 12:39:27 -06:00
Patrick Verner 9b649ed445 Add f2fs file system support (#695396)
Only supports detection and creation of f2fs file systems.  Requires
f2fs-tools and a blkid with f2fs support, util-linux > 2.22.2.

f2fs-tools v1.1.0 only supports file system creation.
Currently requires util-linux directly from the git repository as f2fs
support was only committed on 5 Feb 2013 and it has not yet been
released.

Closes Bug #695396 - Please apply f2fs patch
2013-03-19 22:13:34 +00:00
Curtis Gedak ed236a325c Add docbook style sheets to README to speed up build time
The w3C has implemented measures to discourage excessive DTD traffic
and to encourage caching the XML.  See,

The W3C servers are slow to return DTDs. Is the delay intentional?
http://www.w3.org/Help/Webmaster.html#slowdtd

Caching XML data at install time
http://www.w3.org/QA/2008/09/caching_xml_data_at_install_ti.html

Many GNU/Linux distributions conveniently include these docbook
style sheets in a package.  This package has been added to the
dependencies for building from source.

Also added and updated are commands related to installation on
OpenSUSE.
2013-02-24 11:47:14 -07:00
Curtis Gedak de99c530d4 Remove SWRaid method as it is no longer needed (#678379)
Active Linux software RAID devices are detected in the
Proc_Partitions_Info method.  Hence the SWRaid method is no longer
required.

Removal of the SWRaid method fixes the problem with the error message:

  Could not stat device /dev/md/0 - No such file or directory

This fixes the problem because we no longer use "mdadm --examine
--scan" in an attempt to detect Linux software RAID devices.  The
mdadm command was returning device names such as /dev/md/0, which are
incorrect for GParted.

NOTE:  With this change, GParted no longer requires the mdadm command
       to detect Linux software RAID devices.

Closes Bug #678379 - Could not stat device /dev/md/0 - No such file or
                     directory
2012-12-05 09:51:50 -07:00
Curtis Gedak 88a2939880 Use gksudo, if available, in gparted.desktop
If gksu was installed on a KDE system (tested with kubuntu 12.04 LTS),
then gksu would prompt for the password three times and always fail to
load gparted.  In a prior version of kubuntu 8.04 LTS, gksu would
properly invoke gparted from the "K --> System --> GParted" menu
entry.

Since gksudo also works on KDE (and kubuntu 12.04 LTS), add gksudo to
the root privilege invocation search list ahead of gksu.

Note that gksu has been kept for backwards compatibility with systems
that provide only gksu and not gksudo.

Related to Bug #687813 - Use kdesudo on KDE, as gksu is not
                         installed by default
2012-11-11 12:19:39 +00:00
Curtis Gedak ec4a2ac09b Use kdesudo in gparted.desktop when gksu is not installed (#687813)
Normally gksu is not installed by default on KDE systems.  When
compiling and installing gparted on a KDE system without gksu, the
desktop menu entry would try to run gparted as the user, and not with
root privileges.

To fix this, add kdesudo to the search list of root privilege
invocation programs.

Closes Bug #687813 - Use kdesudo on KDE, as gksu is not installed by
                     default
2012-11-11 12:19:39 +00:00
Rogier Goossens 4108daf15f Implement changing UUID for NTFS (#667278)
Part 4 of 4 to provide new UUID support for NTFS.

Closes Bug #667278 - Add support for setting UUID
2012-02-10 10:33:13 -07:00
Rogier Goossens ed51f4b28f README file: dmsetup is not required for lvm 2012-02-08 15:46:29 -07:00
Mike Fleetwood 72ac712024 Show LVM2 PVs as supported, read-only (#160787)
Add LVM2 PV into the File System Support dialog list and remove the
warning message reporting LVM as not being supported.

Bug #160787 - lvm support
2012-02-02 10:24:31 -07:00
Mike Fleetwood df20b54d00 Add nilfs2 support (#642842)
Requires libparted 2.4 or higher, or blkid from utils-linux 2.20 or
higher for nilfs2 file system detection.

Requires nilfs-utils for nilfs2 file system support.

Closes Bug #642842 - nilfs is not detected
2011-12-16 11:40:46 -07:00
Curtis Gedak 1dce98cd3e Add to README packages required for fedora 16 build
Also add configure flag to disable scrollkeeper for desktops that do
not support scrollkeeper.
2011-11-12 17:03:23 -07:00
Curtis Gedak 32659e5e02 Add xfsdump package requirement to copy xfs file systems 2011-11-10 13:12:21 -07:00
Curtis Gedak 3499b2327a Add openSUSE command to install dependencies to README 2011-02-26 10:20:02 -07:00
Curtis Gedak 87acba030c Remove all usage of kpartx to avoid partition entry duplicates
Usage of the kpartx package to create partition names has been
completely removed.  Hence kpartx is no longer even an optionally used
package by gparted.

This change is related to the following bug report:

Ubuntu launchpad bug 719129 - [Natty] Gparted duplicates dmraid
                              partition devices
https://bugs.launchpad.net/ubuntu/+source/gparted/+bug/719129
2011-02-22 14:40:02 -07:00
Curtis Gedak 2f99511228 Add flag --enable-libparted-dmraid to use native libparted dmraid
The new configure option --enable-libparted-dmraid enables the native
use of /dev/mapper dmraid support in the libparted library.

If this option is not specified, or is disabled, then gparted code
will be used to support dmraid.  The gparted code uses the old dmraid
partition naming scheme of always appending the partition number to
the device name.  The letter 'p' is not inserted between the device
name and the partition number.  The gparted code is particularly
useful when used with older versions of libparted that do not support
/dev/mapper dmraid.

Ubuntu launchpad bug 719129 - [Natty] Gparted duplicates dmraid
                              partition devices
https://bugs.launchpad.net/ubuntu/+source/gparted/+bug/719129
2011-02-22 13:22:49 -07:00
Curtis Gedak 6bf8df6c4c Update README and AUTHORS for attempt data rescue 2011-01-29 15:44:23 -07:00
Curtis Gedak 2fa59d972f Update URL in README 2010-12-12 11:19:36 -07:00
Curtis Gedak c21b38e1ea Add btrfs-tools package to list in README 2010-10-29 09:06:59 -06:00
Curtis Gedak c55a8de305 Remove dependency on kpartx for fake RAID support
With this patch the commands required to support motherboard BIOS
RAID, also known as fake RAID, are dmraid and dmsetup.

If the kpartx command is available, it will be used to maintain
device entries that follow the naming convention used by kpartx.

Closes Ubuntu launchpad bug 554582 - GParted does not list dmraid
devices
https://bugs.launchpad.net/ubuntu/+source/gparted/+bug/554582
2010-08-17 10:36:00 -06:00
Curtis Gedak 72d5de8bc1 Update README with udisks command usage note 2010-08-10 14:38:23 -06:00
Curtis Gedak 05e9e36530 Add udevinfo and udevadm as optional commands used with dmraid support 2010-06-01 15:28:06 -06:00
Curtis Gedak afb1ba8a37 Add gnome-doc-utils to apt-get install example 2010-05-25 16:26:07 -06:00
Curtis Gedak b1bdb04e2b Update optional list of commands used 2009-12-06 13:58:27 -07:00
Curtis Gedak 5a43d64486 Update list of optional commands used by gparted 2009-12-06 13:39:09 -07:00
Curtis Gedak cb2bb3ef9b Add mdadm requirement to README for Linux software RAID 2009-11-23 12:19:14 -07:00
Curtis Gedak dd8a57a8fe Remove requirement for xxd and dd for NTFS move or paste action
Perform direct update of Number of Hidden Sectors in NTFS boot record.
This change removes the need for /usr/bin/xxd and /bin/dd.
Related to GParted bug #574389
2009-05-16 12:15:14 -06:00
Curtis Gedak f164e78153 Require xxd and dd for NTFS move or paste action
Related to GParted bug #574389
2009-05-14 14:59:49 -06:00
Curtis Gedak 0eafa2cb72 Updated requirements for dmraid support
svn path=/trunk/; revision=1108
2009-03-26 17:35:00 +00:00