Commit Graph

2601 Commits

Author SHA1 Message Date
Mike Fleetwood cb8ce9caea Indent File System Support legend narrative (#342682)
Use padding to indent the legend narrative to better show hierarchy and
association with the "Legend" category as recommended in the:

    GNOME HIG 2.2.3 / Visual Design / Window Layout
    https://developer.gnome.org/hig-book/stable/design-window.html.en

Padding the legend narrative widget also deliberately increases the
spacing to the legend icons too.

Bug #342682 - too much information in 'features' dialog
2014-01-27 10:54:48 -07:00
Mike Fleetwood 59f684d8cd Always show the File System Support dialog legend (#342682)
Make the legend always shown, ready for when the dialog is resizable.

Change the widget containing the legend from an expander to a frame
widget.  Set the frame to be borderless using a bold label as
recommended in the GNOME Human Interface Guidelines 2.2.1 / Controls /
Frames and Separators.

    https://developer.gnome.org/hig-book/2.32/controls-frames.html.en

Bug #342682 - too much information in 'features' dialog
2014-01-27 10:54:48 -07:00
Mike Fleetwood dd9e2161d4 Enhance readability of the DialogFeatures constructor
The DialogFeatures::DialogFeatures() constructor used four levels of
nested code blocks and reused the same variable names at multiple
levels.  The variable hbox was used at three of the four levels.  This
was done by commit:

    91b971691d
    Bug #634090: Change some attributes to local variables

In my opinion this made the code hard to understand.  Give every local
variable a unique and meaningful name and remove the nested code blocks.
2014-01-27 10:54:48 -07:00
Daniel Mustieles 3861b9257b Replace obsolete FSF postal address in copyright notices (#721565)
This is part of parent bug:
    Bug #721455 - Obsolete info in license text on multiple modules

and GNOME Goal:
    https://wiki.gnome.org/Initiatives/GnomeGoals/Proposals

    * verify all source files to make sure they have a license and a
      copyright, and that both are up-to-date

Bug #721565 -  License text contains obsolete FSF postal address
2014-01-26 10:53:23 +00:00
GunChleoc f51866dcd8 Added Scottish Gaelic translation 2014-01-22 21:35:24 +01:00
Mike Fleetwood 0e253fa234 Prevent crash when creating new partition on loop label (#721988)
Write a loop partition table to a disk and then try to create a new
partition on that disk crashes GParted.

Analysis:

1) Loop partition table, actually just the signature / label
   "GNU Parted Loopback 0", is written to the disk.
2) create_partition() calls ped_disk_app_partition() to create the
   partition which, arguably erroneously, clears the loop signature.
3) In erase_filesystem_signatures(), get_device_and_disk() fails because
   there's no longer a loop signature for libparted to recognise.  This
   leaves lp_device, lp_disk and lp_partition = NULL, but incorrectly
   overall_success = true.
4) Overall_success = true allows the signature erasure loop to run and
   evaluate lp_device->sector_size, dereferencing a NULL pointer and
   crashing GParted.

Fix erase_filesystem_signatures() to correctly handle failure from
get_device_and_disk(), broken by this commit:

    246e05559d
    Clear btrfs file system super block mirror copies too (#705426)

Bug #721988 - Crash when creating new partition on disk with loop label
2014-01-13 08:06:09 +00:00
Marek Černocký f439a31a48 Updated Czech translation 2014-01-11 23:58:46 +01:00
Daniel Mustieles 52d37bfa6f Updated Spanish translation 2014-01-10 18:19:26 +01:00
Dimitris Spingos fe14df2afa Updated Greek translation of help 2014-01-08 09:48:06 +02: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
Mike Fleetwood 433bde0922 Update manual with default to GPT on disks >= 2 TiB (#711098)
Bug #711098 - Default partition table can not handle > 2 TiB disks
2014-01-06 10:45:00 +00:00
Mike Fleetwood 7b43d52720 Display partition table types in order (#711098)
In the Create Partition Table dialog display the entries in the combobox
in order.

Previously the default of MSDOS or GPT was moved to the first item in
the combobox.  Now the partition table types remain in order with just
either MSDOS or GPT being selected as as the default as required.

The partition table types are displayed in the order supplied by
libparted, which is alphabetic except with "loop" last.

Bug #711098 - Default partition table can not handle > 2 TiB disks
2014-01-06 10:45:00 +00:00
Phillip Susi 07bd72ba80 Default to GPT on disks >= 2 TiB (#711098)
MSDOS partition table is limited to addressing 2^32 sectors, limiting
disks using 512 byte sectors to 2 TiB in size.  Fdisk reports the
following warning on disks 2 TiB and larger.

    # truncate -s 2T /var/tmp/loop-2T
    # losetup /dev/loop0 /var/tmp/loop-2T
    # fdisk /dev/loop0

    WARNING: The size of this disk is 2.2 TB (2199023255552 bytes).
    DOS partition table format can not be used on drives for volumes
    larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
    partition table format (GPT).

(Fdisk arguably reports this warning one sector too early.  Anyway for
safety and consistency GParted will use this limit too).  Continue to
use MSDOS as the default partition table type for disks smaller than 2
TiB and use GPT as the default for disks 2 TiB and larger.  This
maximises compatibility.

Also remove the advanced expander and always show the partition table
list box.

Bug #711098 - Default partition table can not handle > 2 TiB disks
2014-01-06 10:44:59 +00:00
Fran Diéguez 06c4929353 Updated Galician translations 2014-01-03 02:23:02 +01:00
Seong-ho Cho e55d08f22e Updated Korean translation 2013-12-22 04:12:22 +09:00
Daniel Mustieles 5010b8d579 Updated Spanish translation 2013-12-18 17:50:16 +01:00
Daniel Mustieles 02a3a7d549 Updated Spanish translation 2013-12-12 17:23:28 +01:00
Curtis Gedak 6b077f2d71 Append -git to version for continuing development 2013-12-09 11:19:23 -07:00
Curtis Gedak 78890e3fbc ========== gparted-0.17.0 ========== 2013-12-09 10:04:05 -07:00
Chao-Hsiung Liao 64b8d5b61c Updated Traditional Chinese translation(Hong Kong and Taiwan) 2013-12-08 21:32:46 +08:00
Marek Černocký 7d2ec034d1 Updated Czech translation 2013-12-07 17:39:23 +01:00
Muhammet Kara cf96dbb0aa [l10n]Updated Turkish translation 2013-12-07 14:48:06 +02:00
Christian Kirbach 03be7457d1 Updated German translation 2013-12-05 18:10:05 +01:00
Mike Fleetwood a4b82a9305 Successfully read kernel versions with only 2 components
When the kernel version as stated in /proc/version did not have at least
three numbers separated by periods, the version would fail to be read.
Sample /proc/version to demonstrate problem:

    Linux version 3.10-3-686-pae ...

The Linux kernel will always have a major number and a minor number
separated by a period.  There is likely also a patch version number too
that would be preceded by a period.  This enhancement will read 2 and 3
component Linux kernel versions.
2013-12-04 18:22:34 -07:00
Claude Paroz 32816f28f8 Updated French translation 2013-12-03 13:53:28 +01:00
Marek Černocký 67c0ffbfac Updated Czech translation 2013-12-02 15:26:51 +01:00
Milo Casagrande 399db099b1 [l10n] Updated Italian translation. 2013-12-02 08:34:46 +01:00
Rafael Ferreira 65485cd06a Updated Brazilian Portuguese translation of help files 2013-12-01 19:41:42 -02:00
Piotr Drąg aaa42a9026 Updated Polish translation 2013-12-01 16:39:54 +01:00
Rafael Ferreira 3845384742 Updated Brazilian Portuguese translation of help files 2013-12-01 08:25:29 -02:00
Mike Fleetwood b3f0a0b1be Remove multi-line comment compiler warning from PipeCapture.cc
Remove this compiler warning:
    PipeCapture.cc:56:2: warning: multi-line comment [-Wcomment]
      //      /\                                          /\        /\
      ^

added by commit:
    1b54123580
    Enhance line discipline in PipeCapture::OnReadable() (#709276)
2013-11-27 20:21:10 +00:00
Curtis Gedak d842b8cdfb Show SWRAID active/not active status in information dialog (#712533)
Bug #712533 - Partitions not detected as busy inside Software RAID on
              some distros
2013-11-27 20:21:10 +00:00
Mike Fleetwood ad63ede421 Fix detection of busy status of extended partitions (#712533)
GParted doesn't report extended partitions as busy if it contains only
busy LVM2 PV or SWRAID logical partitions.  Libparted's
ped_partition_is_busy() only detects mounted file systems and swap space
as busy, not active LVM2 PVs or SWRAID members.  This is as of libparted
3.1 and earlier.

Fix by determining the busy status of an extended partition based solely
on the busy status of the logical partitions it contains.  This makes it
unnecessary to check for mounted DMRAID logical partitions or call
ped_partition_is_busy() for extended partitions.

Bug #712533 - Partitions not detected as busy inside Software RAID on
              some distros
2013-11-27 20:21:10 +00:00
Mike Fleetwood 4202992063 Fix false busy detection of unusual case with Linux Software RAID (#712533)
In this unusual setup of having one Linux Software RAID array
partitioned and a second array not partitioned, /dev/md1p1 partition in
the first array is falsely reported as busy when the file system filling
the second array /dev/md2 is mounted.

  Partition   RAID                File System        Mount mount
  ---------   -----------------   ----------------   -----------
  /dev/sdb1   SWRAID /dev/md1
                     /dev/md1p1   ext4,Label=test1   (Unmounted)
  /dev/sdb2   SWRAID /dev/md2     ext4,Label=test2   /mnt/2

This again affects Debian 6, Debian 7 and RHEL/CentOS 6.x and is as a
result of the this bug fixed in libparted 2.4:
    http://git.savannah.gnu.org/cgit/parted.git/commit/?id=db52898c214310dab4ed84e6cb2f9ffc8c3aa502
    linux: also detect "in-use" dmraid and scsi-Nth (N>=16) partition

Fix by not using libparted's ped_partition_is_busy() to determine if a
normal or logical partition is busy.

Bug #712533 - Partitions not detected as busy inside Software RAID on
              some distros
2013-11-27 20:21:10 +00:00
Mike Fleetwood 4d7ebe0314 Fix busy detection of file systems inside Linux Software RAID (#712533)
On some distributions GParted doesn't detect when a file system is busy
and mounted when the partition is within a Linux Software RAID array.
Affected distributions include: Debian 6, Debian 7 and RHEL/CentOS 6.x.

This is because of a bug in libparted 2.3 and earlier.  It was fixed by
this change in libparted 2.4:
    http://git.savannah.gnu.org/cgit/parted.git/commit/?id=db52898c214310dab4ed84e6cb2f9ffc8c3aa502
    linux: also detect "in-use" dmraid and scsi-Nth (N>=16) partition

Ubuntu 13.10 with libparted 2.3 is not affected because it contains a
distribution specific patch to correct it.

Fix by using GParted's internal mounted partitions map, mount_info, to
determine if a partition is busy, in addition to using libparted's
ped_partition_is_busy().

Bug #712533 - Partitions not detected as busy inside Software RAID on
              some distros
2013-11-27 20:21:10 +00:00
Rafael Ferreira 103fd9a0c6 Updated Brazilian Portuguese translation 2013-11-25 23:40:10 -02:00
Piotr Drąg b764e991dd Actually translate the AppData file 2013-11-25 01:09:09 +01:00
Richard Hughes 640f92790b Add an AppData file (#709164)
For more information on AppData see:

AppData Specification
http://people.freedesktop.org/~hughsient/appdata/

Application metadata with AppData
http://lwn.net/Articles/569034/

Bug #709164 - Please include an AppData file
2013-11-24 11:42:02 +00:00
Curtis Gedak 00409ef51b Update help manual for online resize support (#694622)
Indicate that online resize is available for some mounted or otherwise
active partitions.

Bug #694622 - Add support for online resize
2013-11-24 10:10:37 +00: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
Mike Fleetwood 7bebacd8d4 List ext4 in the GParted Manual (#711114)
Bug #711114 - Change default fs to ext4
2013-10-31 21:16:14 +00:00
Phillip Susi 73f2c689f7 Change default file system to ext4 (#711114)
In the Create New Partition dialog use ext4 as the default choice for
new file systems.  It has been the preferred file system of
distributions for many years.  Use ext3 and ext2 as second and third
choice defaults.  This handles RHEL/CentOS 5.x which doesn't support
ext4.

Bug #711114 - Change default fs to ext4
2013-10-31 21:16:14 +00:00
Mike Fleetwood 98cd693818 Make Partition Information dialog warnings selectable (#705596)
Allow all partition warning messages to be selectable and copied.  Merge
all the messages into a single Gtk::Label widget so that they can be
selected together.

Use a blank line between individual messages so that each message can be
distinguished. Therefore each message should be formatted as one or more
non-blank lines, with an optional trailing new line.  This is true of
GParted internal messages and probably all external messages and errors
from libparted and executed commands too.

Bug #705596 - Partition Information Dialog - let user copy warnings
2013-10-22 10:12:16 -06:00
Anish A 80523a7079 Updated Malayalam Translation 2013-10-21 22:27:22 +05:30
Mike Fleetwood 7ae05b7241 Remove unused function declarations for *_mtoolsrc_file()
Remove left behind function declarations create_mtoolsrc_file() and
delete_mtoolsrc_file() after commit:

    2706f0174a
    Remove mtoolsrc file
2013-10-19 10:21:09 -06:00
Mike Fleetwood a255abf343 Prevent GParted starting stopped Linux Software RAID arrays (#709640)
Applying operations or just scanning the partitions in GParted was
causing all stopped Linux Software RAID arrays to be automatically
started.  This is not new with this patch set, but as a result of the
following behaviour which has existed for a long time.  Chain of events
goes likes this:

 1) Gparted calls commit_to_os() to update the kernel with the new
    partition table;
 2) Libparted calls ioctl() BLKPG_DEL_PARTITION on every partition to
    delete every partition from the kernel.  Succeeds on non-busy
    partitions only;
 3) Kernel emits udev partition remove event on every removed partition;
 4) Libparted calls ioctl() BLKPG_ADD_PARTITION on every non-busy
    partition to re-add the partition to the kernel;
 5) Kernel emits udev partition add event on every added partition;
 6) Udev rule:
      SUBSYSTEM=="block", ACTION=="add", ENV{ID_FS_TYPE}=="linux_raid_member", \
              RUN+="/sbin/mdadm -I $tempnode"
    from either /lib/udef/rules.d/64-md-raid.rules or
    .../65-md-incremental.rules incrementally starts the member in a
    Linux Software RAID array.

Fix by temporarily adding blank override rules files which does nothing,
so that when the udev add and remove events for Linux Software RAID
array member partitions fire nothing is done; but only when required.
Note that really old versions of udev don't have rules to incrementally
start array members and some distributions comment out such rules.

Bug #709640 - Linux Swap Suspend and Software RAID partitions not
              recognised
2013-10-19 10:21:09 -06:00
Mike Fleetwood d2e1130ad2 Detect busy status of Linux Software RAID members (#709640)
Read the contents of /proc/mdstat file to determine if a device is a
member of of an active RAID array.

    $ cat /proc/mdstat
    Personalities : [raid1]
    md1 : active raid1 sda1[2] sdb1[3]
          524224 blocks super 1.0 [2/2] [UU]

    md2 : active raid1 sdb2[2] sda2[3](F)
          5238720 blocks super 1.1 [2/1] [U_]

    md3 : active raid1 sdb3[1]
          10477440 blocks super 1.1 [2/1] [_U]
          bitmap: 1/1 pages [4KB], 65536KB chunk

    md4 : inactive sda4[0](S)
          1048564 blocks super 1.2

    unused devices: <none>

There are 5 example Linux Software RAID arrays, md1 to md5.  All are
RAID1 mirrors with 2 members, in various states.

    Array  Members     Status
    md1    sda1, sdb2  Fully operational.
    md2    sda2, sdb2  Member sda2 marked as faulty.  (Device sda2 is
                       still in use).
    md3    sda3, sdb3  Member sda3 has been removed.  (Device sda3 is
                       not in use).
    md4    sda4, sdb4  Incremental start of member sda4 only.  (Neither
                       member devices is in use).
    md5    sda5, sdb5  Array stopped.  (Neither member device is in
                       use).

Also disable "Unmount" in the partition menu for active RAID array
members.

Bug #709640 - Linux Swap Suspend and Software RAID partitions not
              recognised
2013-10-19 10:21:03 -06:00
Mike Fleetwood fac3f5b865 Recognise Linux Swap Suspend and Software RAID partitions (#709640)
Recognise in kernel, Linux Swap Suspend partitions.  (When hibernated
the kernel write the RAM out to swap space and changes the magic string
from swap space to suspend).  Recognition required either
libparted >= 1.8.8.1 or blkid from util-linux >= 2.15 or before that
blkid from e2fsprogs >= 1.39.

Recognise Linux Software RAID partitions.  Recognition requires blkid
from util-linux >= 2.15.

Example:

    # blkid /dev/sda10 /dev/sda11
    /dev/sda10: ... TYPE="swsuspend"
    /dev/sda11: ... TYPE="linux_raid_member"

    # parted /dev/sda print
    Model: ATA SAMSUNG HM500JI (scsi)
    Disk /dev/sda: 500GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos

    Number  Start   End     Size    Type      File system     Flags
    ...
    10      361GB   362GB   1074MB  logical   swsusp
    11      362GB   363GB   1074MB  logical                   raid

Bug #709640 - Linux Swap Suspend and Software RAID partitions not
              recognised
2013-10-19 10:05:54 -06:00
Mike Fleetwood be2689ad25 Stop using deprecated widget alignment enumerators (#652044)
Step 3 of 3:

Now that all label widgets are created with ALIGN_LEFT and ALIGN_CENTER
alignment remove the x_align and y_align parameters from mk_label() and
always use this alignment.  Also specify this alignment via floats
rather than enumerators, one of which was deprecated.

Bug #652044 - uses deprecated APIs
2013-10-18 10:17:22 -06:00
Mike Fleetwood 18e2eb8618 Replace widget alignment ALIGN_RIGHT with ALIGN_LEFT (#652044)
Step 2 of 3:

ALIGN_RIGHT was only used for the size figures in the GParted > Devices
device selector with radio buttons.  Change to ALIGN_LEFT and adjust the
widget packing to maintain appearance.

Bug #652044 - uses deprecated APIs
2013-10-18 10:17:22 -06:00