commit 6a9b85014a7193d6bb08cc376fc8eca62de71806
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Wed May 9 16:45:38 2007 -0400

    Removed clean.sh script.  Using git now, we don't need it anymore (git 
clean -d -x).

commit cda0b9bf4ad99a8c06a831e0efc46aeefdcfbc4c
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Wed May 9 16:41:30 2007 -0400

    Updated NEWS file for 1.8.7.

commit 5dae040800b2862280a3a4b65bc3cbbe01350cac
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Wed May 9 15:15:47 2007 -0400

    Use gnulib xmalloc() and xrealloc().

commit 774b5839c04173eccebee905b3d3fc08d464bf4e
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Wed May 9 15:14:29 2007 -0400

    Whitespace cleanups.

commit a65a6ee30e13cdb3354a51b67687b0ac6a7089c7
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Tue May 8 18:44:44 2007 -0400

    Bump version to 1.8.7.

commit 9e5e55c7a7f2be4ec819d08b99023d20d18f358a
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Tue May 8 18:44:23 2007 -0400

    Blank the NEWS file in preparation for 1.8.7.

commit e77bb0f0fe26c694e1786742ac24efad8bc8e6ef
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Wed May 9 16:03:39 2007 -0300

    [parted] Fix script mode support on mkfs commandline command
    
    Parted was lacking support to script mode on do_mkfs method hence
    always failing.
    
    Note: tests/t2000-mkfs.sh was created to avoid it to happen again
    
    Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
    (cherry picked from commit 20fd17ca725b0705e462d59604951ad7ea34497c)

commit acc28864bb858bcdd476facd4bd9a0f79c1cd680
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue May 8 23:05:23 2007 +0530

    Preventing compilation of DASD code on GNU Hurd systems through the use of 
AC_COMPILE_IFELSE and AM_CONDITIONAL, instead of #ifdef.
    (cherry picked from commit 2b4fa6af6736ee2526da7f4ae6a173b29c321826)

commit faca3cb2738d12f7e0346df03ad1ee162e988436
Author: Jim Meyering <jim@meyering.net>
Date:   Mon May 7 18:42:38 2007 +0200

    Rewrite integration tests to use a new framework (git's).
    * tests/t1000-mkpartfs.sh: New file.
    * tests/t0000-basic.sh: New file.
    * tests/test-lib.sh: New file.  Derived from git's t/test-lib.sh.
    * tests/lang-default, tests/priv-check: Remove files.
    * tests/Makefile.am (EXTRA_DIST): Add test-lib.sh.
    Remove lang-default and priv-check; no longer used.
    * tests/part-01, tests/label-01: Remove files.
    * tests/part-02, tests/label-02: Likewise.
    (cherry picked from commit 6803320261c8ad3e9e97d77c4548c0b151d5de34)

commit a6c2ff8ede1d7eba0d8da5be0218670d15d08da7
Author: Jim Meyering <jim@meyering.net>
Date:   Mon May 7 16:51:29 2007 +0200

    Make ---pretend-input-tty inhibit output word-wrap.
    * parted/ui.c (screen_width): Use effectively-unlimited screen width
    with ---pretend-input-tty, just as for '--script' mode.
    (cherry picked from commit a15d89c3a553f5cf17bf844d0e9ae4a1089fc66f)

commit f2e1e47ed24d688a5c611c9932e75bd4a66c18f3
Author: Jim Meyering <jim@meyering.net>
Date:   Mon May 7 16:45:27 2007 +0200

    Suppress "you are not superuser..." warning in script mode.
    * parted/parted.c (_init): Do not emit this warning in script mode:
    "You are not superuser.  Watch out for permissions."
    (cherry picked from commit 0a8bfdca7c90a936dcf689bc54d5b098b84dc630)

commit 8df6e6f03a69c97626e46fd141c19fae63bd207d
Author: Jim Meyering <jim@meyering.net>
Date:   Mon May 7 16:38:00 2007 +0200

    Avoid "make distcheck" failure, with newer system headers.
    * parted/parted.c: Include <limits.h>, for use of CHAR_MAX.
    (cherry picked from commit 6008ff8125e2a4612cece18cea4808a89eb3f911)

commit cd3e8ca7f5ace787b81463c6ed884651f6628a4d
Author: Anant Narayanan <anant@kix.in>
Date:   Fri May 4 05:09:52 2007 +0530

    Updated Doxyfile
    (cherry picked from commit c40d3fd6fb40f6c9a52dccaf8db2adc0117c1ada)

commit 52bd893e3a0facc8f6b134534c1b578c6152afa3
Author: Jim Meyering <jim@meyering.net>
Date:   Thu Apr 26 23:17:32 2007 +0200

    Add integration tests, then adjust code so that they pass.
    These changes affect how --script (-s) works, and when diagnostics
    are displayed.
    * Makefile.am (SUBDIRS): Add tests.
    * configure.ac (AC_OUTPUT): Add tests/Makefile.
    * tests/Makefile.am: New file.
    * tests/part-01, tests/label-01: New files.
    * tests/part-02, tests/label-02: New files.
    * parted/parted.c (enum) [PRETEND_INPUT_TTY]: Define.
    Support a new, undocumented option: ---pretend-input-tty.
    It is intended solely for testing.  The leading '---' ensures
    that it will never conflict with a "regular" long option.
    (do_mkpartfs): Prompt only when not in script mode.
    Call ped_exception_leave_all() to decrement global counter.
    Without this, the use of parted in tests/part-01 would still fail,
    but would not issue the diagnostic explaining why.
    * parted/ui.h (pretend_input_tty): Declare new global.
    * parted/ui.c (exception_handler): Let the new "pretend_input_tty"
    option override "!isatty (0)".
    (init_ui): Don't set opt_script_mode.
    * tests/lang-default, tests/priv-check: New files.
    (cherry picked from commit b235f8a487d81b4703e76e08add3c89cf109a06f)

commit 22e12c227ed41ee04987714dab9a6db95cb8a39b
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Mon Apr 23 16:41:02 2007 -0400

    Revert "Remove unused label."
    
    This reverts commit bfd9a6d8b6322d870650b0e92bd936035ab28e76.
    (cherry picked from commit 5ac8e21a86ecf8c9e639e4aeadad8b778052841c)

commit 9b04b181d6147af89a1678ebcc5a7c52898f35ed
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Mon Apr 23 16:02:13 2007 -0400

    Fix primary partition cylinder alignment error for DOS disk labels.

commit 6aa9317010b0694d2c5b1dc85cec6d8e63659236
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Mon Apr 23 16:00:54 2007 -0400

    Fix off-by-one bug in parted when displaying information about the disk 
label (the disk size, specifically).

commit 5ba0af2247450bd4c2bca53c3971f043e3563e08
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Mon Apr 23 15:58:03 2007 -0400

    Do not translate partition names in 'parted print' command. This causes 
problems for non-Latin-based character sets. Also, we don't want to translate 
the partition name here as we are just showing what is in the disklabel, 
translating it distorts what the value is.
    
    Also added some malloc checks in table.c.

commit e31f600fea11ba29f48d125032daea500a63acc2
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Mon Apr 23 15:53:48 2007 -0400

    Remove unused label.

commit a699da637bd6b5a688b79afa8f41dd49b2a94517
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue May 1 10:01:50 2007 +0530

    [tests] Separate and improved test for reading of disk labels.
    (cherry picked from commit e736648c24372fd7532fef7c568a5424395b3a7a)

commit a6bcab446e8957b771efd00ec52b288c04a3bfa4
Author: Matthew Harris <mharris@coruscant.(none)>
Date:   Tue Apr 24 08:13:41 2007 -0700

    Fix endianness bugs
    (cherry picked from commit ecea0c9857813beae1c91b0afa39c17634b97a95)

commit 0a5859eeda49909ae54a6510947c16934b86ef8d
Author: Jim Meyering <jim@meyering.net>
Date:   Thu Apr 26 21:54:51 2007 +0200

    Temporarily disable the clone-dvh-label test.
    * libparted/tests/label.c (test_clone_label):
    (cherry picked from commit ef8d13eb0053e5e0b87fea037a150b1eef3a3372)

commit 6f04f317301b505079f492d57977f46c1e745ed2
Author: Debarshi Ray <rishi@gnu.org>
Date:   Sat Apr 21 00:59:15 2007 +0530

    [tests] New test for probing of disk labels.
    (cherry picked from commit b40a7a0976280fc861d5afa7563b28f561818b55)

commit 1cba5a2f1ebcae79d710f601b4bb1306d6fa5519
Author: Jim Meyering <jim@meyering.net>
Date:   Sat Apr 21 18:59:43 2007 +0200

    [PATCH] Avoid warning from -Wformat-security; tweak error diagnostic.
    
    * parted/parted.c (_parse_options): Upon failure, output diagnostic
    to stderr, not stdout.  Use "program_name" value, not literal "parted".
    
    Signed-off-by: Jim Meyering <jim@meyering.net>
    (cherry picked from commit 3b93925f767ee1727898674a6e357b7572157dd8)

commit 4263c3a15f39d0dca01b35d671b44c60f4110db5
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Fri Apr 20 03:53:18 2007 -0300

    [tests] Simplify test_clone_label removing the label reading test
    
    Since the test_create_label already tests the label reading we
    shouldn't redo it. It's always better to have simple tests so is much
    easier to find the bugs.
    
    Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
    (cherry picked from commit 5650695a9abf63c3930b0f5f44352b4e2a5469dc)

commit 9b1ad1dc13f5f427c03b77d07a024e830c977a17
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Fri Apr 20 00:37:07 2007 -0300

    [tests] Trivial coding style fixes around the tests code
    
    Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
    (cherry picked from commit 5c438aee9b6fc699b5e4bb9adcbe2ed13c87f202)

commit 9365c83cf57ca287a481f44b9a1e907994bb9b41
Author: Debarshi Ray <rishi@gnu.org>
Date:   Fri Apr 20 05:49:44 2007 +0530

    [tests] New test for cloning of disk labels.
    (cherry picked from commit a46cc7578fd2ff478b6e83850e06b73fe42911b1)

commit bc19c56aad86d4eb7b8bb200b38ee77ff8e4bc29
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Thu Apr 19 21:30:53 2007 -0300

    [tests] Add _test_exception_handler to fail every time an exception is 
raised
    
    Sometimes parts of code raises exceptions and this shouldn't happen on
    tests. To ensure we catch them a specific exception handler has been
    implemented.
    
    The handler usage is very easy. You just need to put the following
    code at testsuite main method:
    
    ...
            /* Fail when an exception is raised */
            ped_exception_set_handler (_test_exception_handler);
    ...
    
    Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
    (cherry picked from commit cba3a64fb1744f545c373594c8795a4da30558c4)

commit dff847674fe48a08dc9ab5c6793d3dd4c8da3a8e
Author: Debarshi Ray <rishi@gnu.org>
Date:   Fri Apr 20 01:00:50 2007 +0530

    [tests] Fix spacing around brackets and asterisks.
    
    Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
    (cherry picked from commit a1ae8809d111795dcc977e693668bcfaf776fbbe)

commit 319a886cc97fc1aa11054d839a0da80c3ee1777f
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Mon Apr 9 23:34:15 2007 +0200

    Handle options independent of their order.
    
    Abort on any invalid option, and handle -v and -h first.
    
    Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
    (cherry picked from commit b60e2a0cb24272cc9d5af043ab69aa2fba546f93)

commit 55098d9d232ce7b15280afd5cb5e90673f5615a1
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Wed Apr 18 19:37:11 2007 -0300

    [tests] Small refactoring on test_create_label
    
     - Destroy the temporary device once the test has been finished,
     - Use the _implemented_disk_label and _create_disk_label methods
       to avoid code duplication.
    
    Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
    (cherry picked from commit 0b3cdc7425a3b8d6095c1d0dd4e0d53851c52236)

commit bc00d3be97e5ca55f7028e9ecd05de07fc841d79
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Wed Apr 18 19:35:57 2007 -0300

    [tests] Implements _implemented_disk_label and _create_disk_label on 
common.[hc]
    
     - _implemented_disk_label: returns 0 when we haven't yet implemented
       this specific label and 1 otherwise;
    
     - _create_disk_label: creates a disk label of a specific type on a
       specific device;
    
    Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
    (cherry picked from commit c70ef4439cc5ea80db950f404ccdc2fef92bd488)

commit e2177dee8b0836518c35492ad9a8608a2e6c76ad
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Wed Apr 18 17:05:05 2007 -0300

    [tests] Ensure that we're able to read the just created disk label
    
    To ensure we're able to read the just created disk label we introduced a 
call
    ped_disk_new using the same loopback. This could detect bad label creating 
or
    probing detectiong mistakes.
    
    Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
    (cherry picked from commit ad50aff79f5062d543b21e98d2de938bec247a26)

commit 2cbdba25de402f48959a468b584e83dcc77ae331
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue Apr 17 00:04:54 2007 +0530

    Show the update /etc/fstab message only when there has been a change to the 
disk. The message is now shorter and more direct.
    (cherry picked from commit fc5e7030c2b672054c7732c36d009dc302ffe7aa)

commit b1117fdbe4cce1ab12fb2da875e3528b72b4b99f
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue Apr 17 21:08:14 2007 +0530

    Indentation fixes in libparted/tests/.
    (cherry picked from commit 5b4bfde015d7e1c3b01b352d8eafe003e1cd8474)

commit 80b1572bd1ef3b704e7fa8d67d1e75f768cb5156
Author: solsTiCe d'Hiver <solsticed.hiver@laposte.net>
Date:   Fri Apr 6 00:01:46 2007 +0200

    change the variable named start to offset to be consistent with the doc
    (cherry picked from commit cc8f086cde0c75945e5dddfef67de02bf45ac8b8)

commit 5aa851b89bcb649149952be50fe2bfbfdf25ca11
Author: solsTiCe d'Hiver <solstice.dhiver@laposte.net>
Date:   Thu Apr 5 14:39:45 2007 +0200

    remove any trace of PED_PARTITION_PRIMARY which was deprecated a long time 
ago to use PED_PARTITION_NORMAL
    (cherry picked from commit f9ad3f0d114dedc706ffc4bd7fdc7ce13761766b)

commit 43bb17ea7306402eda03872840ebc69b6004d289
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Thu Mar 29 19:28:25 2007 +0200

    Added 'rescue', 'unit', and 'version' to the man page, plus some small 
edits.
    (cherry picked from commit 1792848063066de3cc62d3bcf9810bad77f230c2)

commit abff646aa88e7ed0e18a7d2621b1e505a31ab4c9
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Wed Apr 4 12:03:29 2007 +0200

    Make the wording of warning somewhat clearer.

commit 9c80df4b50c9838ef661fd4286ce56ed74cb0b6f
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Wed Apr 4 09:04:30 2007 -0300

    Avoid segfault due a double free on reiserfs support (patch sent by Jakub 
Bogusz <qboosh@pld-linux.org>)

commit 0005325e24fe2ae21dc8e978da6597619335b197
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Tue Mar 27 00:23:18 2007 +0200

    Tweak some help messages: change third person to imperative for 
consistency, add single quotes and remove letters for clarity

commit 39ebba8b5b31b00e6896405055335ff2af6e12b3
Author: David Cantrell <dcantrell@redhat.com>
Date:   Tue Mar 20 01:37:13 2007 -0400

    Added %find_lang to the spec file template.

commit 7362c6e3074cbd9a9163a96ac46327b62c7ac41c
Author: David Cantrell <dcantrell@redhat.com>
Date:   Tue Mar 20 00:58:16 2007 -0400

    Fix variable names.

commit 818404016bddbc929b8165106fa45897bb4a121b
Author: David Cantrell <dcantrell@redhat.com>
Date:   Tue Mar 20 00:09:08 2007 -0400

    Updated file sizes.

commit 1f1c4e94bc2e3994cd8a42d1fcb42f9c3e8250f0
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 22:40:15 2007 -0400

    Update NEWS for 1.8.5.

commit 39ff688b9a3b7d20288373c53d4927e431ee6d48
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 17:26:39 2007 -0400

    Update for version 1.8.5.

commit b8dab26e6d815a86a4cb9b33c4f1a64b51ab1dcc
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 17:25:29 2007 -0400

    wget lies, cheats, and steals.  Use curl to download PO files instead.

commit cb63e683259f9425f8f4949287316503cf929467
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 14:30:27 2007 -0400

    Updated NEWS file for 1.8.4.

commit 028f3b3d8f7ba29bca6117d897faf25fef54c2a7
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 14:20:52 2007 -0400

    Remove GNU make-specific things from po4a.mk.

commit 6e1bad8c99e2a5db61dcb8ad3c8c2ef1ef3dffb8
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 14:02:00 2007 -0400

    Update.

commit c26019b8fdd8fdb2c5f5d4b9978b153f3eced8f8
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 14:01:46 2007 -0400

    Conditionalize the System Z stuff correctly.  We get headers installed on 
non-System Z platforms, but the code only compiles on that platform.

commit b07405d594cf3110ecf01086819e33924dc16f8f
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 11:22:22 2007 -0400

    Added a section for version 1.8.4 (it's only a minor bug fix release).

commit 82bd95c127e699ea46d83d0ef983bd1bbeddb241
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 11:22:06 2007 -0400

    Update to 1.8.4 for the version number.

commit 26522f85f7f9b03a1273b73bf17cc035ad0d74b2
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 11:20:55 2007 -0400

    Remove the COMPILE_FOR_S390 flag-setting stuff.  It wasn't correct anyway.  
Take a kernel-style approach and check uname -m to see if we are on s390.  If 
so, we build for zSeries.  Otherwise we do not.

commit d5186c9ce91f43e1302a0e3b4edcee08578cac2c
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 11:19:27 2007 -0400

    Include vtoc.h for the format1_label_t typedef.

commit b222813d2c6bd2d48b5c208b0f98ec1c7ddd23c6
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 11:12:11 2007 -0400

    Remove some unused variables, check the return values from fgets() and 
asprintf(), and remove the unused _dm_remove_map() function.

commit 39b8326cd8d2f720246e30567558860a89afdc13
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 11:10:38 2007 -0400

    Check for tgetent() in libtinfo as well as ncurses, curses, termcap, and 
termlib.

commit f6ad5d645eb0c41fc55cb52ad901f5661135d29d
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 11:09:25 2007 -0400

    Fix for compile problems with gcc-4.1.2 as indicated here:
    http://lists.gnu.org/archive/html/bug-parted/2007-03/msg00008.html

commit cba88be73e1323cd5ab101eab717a9b56dcacfbf
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Mar 19 10:43:56 2007 -0400

    Sleep for one second after uploading a file to ftp-upload.gnu.org.  Seems 
transactions need to be spaced out a bit otherwise the server will reject files.

commit 1f4627cb45b50b1c102d59c2a07235b545e4b862
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Mar 16 16:09:08 2007 -0400

    Updated the release script to work with the new source layout.

commit 7dd9ac4a860a4965a215aa33872f1bea6e688f93
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Mar 16 15:20:22 2007 -0400

    Ignore the gnulib/ subdirectory in version control.

commit d165ede94cfa70cc5f72894e12aed851b47ce795
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Mar 16 15:19:57 2007 -0400

    More spec file template cleanups.

commit 2328bb6bc41ee07a9284b5233e7986d9dbf2524a
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Mar 16 15:18:27 2007 -0400

    File size updates.

commit 412eb2ae187bfd63480d5cbc4a4ab10e792fe77c
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Mar 16 15:18:08 2007 -0400

    Install the libparted.pc file, not the libparted.pc.in file.

commit 1027064bbd7d587808e28ffd488c00ea1a5dece3
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Mar 16 15:10:03 2007 -0400

    Updated NEWS for version 1.8.3.

commit abab0f1e36da89edc36f10d01bfdc11657e251fa
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Mar 16 14:50:34 2007 -0400

    Revert "From: Jim Meyering <jim@meyering.net> - 2048-byte linux_write patch"
    
    This reverts commit 152c426cacedcd20db4515bd40d66ece6632c258.
    
    Test hardware not secured in time for release.  Postponing this patch to
    next release.

commit 152c426cacedcd20db4515bd40d66ece6632c258
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Mar 16 14:10:11 2007 -0400

    From: Jim Meyering <jim@meyering.net>
    
    Patch linux_write() to handle logical sector sizes larger than 
PED_SECTOR_SIZE_DEFAULT (512).

commit 66939bf90b96e5cbe09889e4d3490837f87fc285
Author: Jim Meyering <jim@meyering.net>
Date:   Fri Mar 16 10:59:19 2007 +0100

    po/POTFILES.in: Add lib/getopt.c

commit b3ed253cbbc93f61cbf06e7b87f1065619d39cc9
Author: Debarshi Ray <rishi@gnu.org>
Date:   Fri Mar 16 19:50:32 2007 +0530

    Fixed faulty information in README-hacking (Bison is not a maintainer tool 
for Parted), and Makefile.maint (every project has certain variations of it).

commit 4f9da17313899b0ea98373249cb6a6d09c32ea4a
Author: Debarshi Ray <rishi@gnu.org>
Date:   Fri Mar 16 12:12:34 2007 +0530

    Prevented DASD specific headers and sources from being compiled/installed 
on non-s390 systems; and conditionally included fdasd.h in linux.h for s390 
systems.

commit e117aded872afad903758900353487ab9f3265be
Author: David Cantrell <dcantrell@redhat.com>
Date:   Tue Mar 13 17:34:05 2007 -0400

    Modernize the spec file template.

commit d6a40ac2888f221b41d3a46a9bcf33e4171409eb
Author: David Cantrell <dcantrell@redhat.com>
Date:   Thu Mar 15 13:03:24 2007 -0400

    Move static variable flagging little endian or not to journal.c.  We don't 
want static variables in general, but if they must exist, put them in a C file, 
not a header.
    
    Parameterize the little_endian flag for the macros in journal.h.

commit 5a968514dfc49c716c04a4b4de4b1756253618cf
Author: David Cantrell <dcantrell@redhat.com>
Date:   Thu Mar 15 12:53:35 2007 -0400

    Reverted my patch to configure.ac to remove -Wl,--as-needed from LDFLAGS 
when checking for libreadline.

commit 8c2e29fefa1ce459764b694c68f495034fff3a88
Author: David Cantrell <dcantrell@redhat.com>
Date:   Wed Mar 14 14:55:49 2007 -0400

    libreadline is a problematic library.  Autoconf adds a block to the 
generated configure script that checks to see if we should be passing the 
--as-needed flag to ld(1).  There are portability reasons this code exists 
(best I can figure), but it presents a problem when we scan for libreadline.
    
    libreadline specifically has unresolved symbols on at least Fedora and 
RHEL.  Why?  Well, the developer can choose to provide libtermcap, libncurses, 
or libncursesw (wide-char support) at compile time which all satisfy the curses 
API dependency that libreadline has.  When the parted configure script runs, it 
fails on readline because the --as-needed flag causes the linker to not include 
libncurses even though we already have that on the link line.
    
    My solution is to remove the --as-needed flag when we scan for libreadline 
and then later check for rl_completion_matches() in libreadline.

commit ac91d97b31643951836c8fdc071be88c177df186
Author: David Cantrell <dcantrell@redhat.com>
Date:   Tue Mar 13 23:24:17 2007 -0400

    Ignore more files.

commit 2793d89afb88df92396fcd0a722b0b676841bf95
Author: David Cantrell <dcantrell@redhat.com>
Date:   Tue Mar 13 15:05:53 2007 -0400

    More changes to set the version number to 1.8.3.

commit d0bfc19688128a4da86a6bec875266b5cb8f5878
Author: David Cantrell <dcantrell@redhat.com>
Date:   Tue Mar 13 13:37:45 2007 -0400

    Patch from Matthew Garrett <mjg59@srcf.ucam.org> to add HFS+ resize support.

commit b2390873a632d04a133191c6b9feb21b15f58722
Author: Jim Meyering <jim@meyering.net>
Date:   Thu Mar 8 01:05:33 2007 +0100

    Don't use deprecated mktemp, to avoid linker warning
    * libparted/tests/common.c (_create_disk): Rewrite to
    use mkstemp instead.

commit 499a48b7413e60fd39d1be79db79b3b8745d000c
Author: Jim Meyering <jim@meyering.net>
Date:   Wed Mar 7 18:56:21 2007 +0100

    tests/label: Don't dereference NULL if open fails.
    * libparted/tests/label.c (START_TEST): Return right away if
    ped_device_get returns NULL.

commit 8da395b8b5bdf26730c59d696975edc4a2067f8d
Author: David Cantrell <dcantrell@redhat.com>
Date:   Tue Mar 13 13:03:02 2007 -0400

    Set version to 1.8.3 for upcoming release.

commit 8cf8ecbf9018c12429bec550f55a867b9df5a7f3
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Mar 12 14:58:40 2007 +0100

    hfs.c: Detect write failure.
    * libparted/fs/hfs/hfs.c (hfs_extract_file, hfs_extract_bitmap):
    (hfs_extract_mdb, hfsplus_extract_file, hfsplus_extract_vh):
    Fail when fclose fails for a written-to file handle.

commit 39437335049b0e0d0fa0c36bb69c50dc2ef0eae9
Author: Jim Meyering <jim@meyering.net>
Date:   Thu Mar 8 23:40:03 2007 +0100

    	aix.c: Avoid memory overrun.  Don't assume logical sector size <= 512B
    	* libparted/labels/aix.c (struct AixLabel): Remove definition.
    	(aix_label_magic_get, aix_label_magic_set): New functions.
    	(read_sector): New function.
    	(aix_probe): Rewrite not to use the above, and not a static buffer.
    	(aix_clobber): Likewise.
    	Also, rather than PED_ASSERT'ing that aix_probe returns 1,
    	simply return 0 if aix_probe returns fails.
    	(ped_disk_aix_init): Remove assertion, now that AixLabel is gone.

commit 154a2c3028359d3f8f9fcd0d6446e64e185a2fce
Author: Jim Meyering <jim@meyering.net>
Date:   Thu Mar 8 23:11:53 2007 +0100

    	Use PED_SECTOR_SIZE_DEFAULT not 512
    	* libparted/arch/beos.c (beos_read, beos_write):
    	* libparted/arch/linux.c (_device_get_length, _device_seek)
    	(linux_read, linux_write, _blkpg_add_partition):
    	* libparted/fs/fat/bootsector.c (fat_boot_sector_read):
    	* libparted/labels/bsd.c (bsd_alloc):
    	* libparted/labels/dos.c (probe_filesystem_for_geom):
    	* libparted/labels/rdb.c (amiga_read):

commit 53d9a7d2e7104b91a1575a1ad01d403788fce94f
Author: Jim Meyering <jim@meyering.net>
Date:   Thu Mar 8 22:39:33 2007 +0100

    * parted/ui.c (non_interactive_mode): Plug a tiny leak.
    Exercise by running the following with a CD-ROM in the drive:
    valgrind --leak-check=full parted/parted /dev/cdrom print
    Before, we'd leak the 6-byte command: "print\0".

commit da62e39536d0aaeaff1e855374c2c7be7237a44c
Author: Jim Meyering <jim@meyering.net>
Date:   Thu Mar 8 17:41:34 2007 +0100

    linux.c: Avoid memory overrun.  Handle 2048-byte logical sectors.
    * libparted/arch/linux.c (linux_read): Allocate the right amount of
    space for the (potentially 2048-byte-long) sectors we're about to read.

commit 6236d44bb8133131a06aef2a6d596f7b5fe1d886
Author: Jim Meyering <jim@meyering.net>
Date:   Thu Mar 8 01:04:44 2007 +0100

    * libparted/tests/label.c: Plug a trivial leak.

commit 1e4c2c85ad53bc3163b2a000336d39a80e9a236f
Author: Debarshi Ray <rishi@gnu.org>
Date:   Thu Mar 8 01:48:30 2007 +0530

    Replaced [f]printf with fput[c|s] globally.

commit 881c973e12735983e42307a2b208a86a24cefdc5
Author: Jim Meyering <jim@meyering.net>
Date:   Wed Mar 7 19:39:56 2007 +0100

    libparted/unit.c: constify interfaces
    * include/parted/unit.h (PED_UNIT_LAST):
    * libparted/unit.c (ped_unit_get_size):
    (ped_unit_format_custom_byte, ped_unit_format_byte):
    (ped_unit_format_custom, ped_unit_format, ped_unit_parse):
    (find_suffix, parse_chs, clip, geometry_from_centre_radius):
    (ped_unit_parse_custom):

commit b8afc0b5d48aefb48cd3b2eeb811dca83cfa9401
Author: Jim Meyering <jim@meyering.net>
Date:   Wed Mar 7 19:27:18 2007 +0100

    Declare some static arrays to be "const".
    * libparted/labels/dos.c (MBR_BOOT_CODE):
    * libparted/labels/efi_crc32.c (crc32_tab):
    * libparted/labels/pc98.c (MBR_BOOT_CODE):
    * libparted/labels/vtoc.c (EBCtoASC, ASCtoEBC):

commit cb77063c26281dae2dbce6079819c4aad4e15b15
Author: Jim Meyering <jim@meyering.net>
Date:   Wed Mar 7 18:17:00 2007 +0100

    Add "const" to parameters in these public interfaces.
    * libparted/disk.c (ped_disk_check):
    (ped_disk_get_primary_partition_count):
    (ped_disk_get_last_partition_num, ped_partition_print):
    (ped_disk_print):
    (ped_partition_print): Also declare to be "static".
    This is ok, since the function is referenced only from this file.
    * include/parted/disk.h: Update their prototypes.

commit b906fb597e84c5ff7ca3c54343b6c2de216d2471
Author: Jim Meyering <jim@meyering.net>
Date:   Wed Mar 7 12:29:47 2007 +0100

    Use <config.h> consistently, not "config.h".
    * Makefile.cfg (local-checks-to-skip): Remove sc_require_config_h,
    to enable the "make distcheck" test for this.

commit cc1955e39202f9ff5ecf9f3bf874af1b85a737aa
Author: David Cantrell <dcantrell@redhat.com>
Date:   Tue Mar 6 17:19:31 2007 -0500

    start_pos is a PedSector, not a PedGeometry.

commit 51e774269002a7a9c0aecf497d4d98486c918918
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Tue Mar 6 11:18:20 2007 -0500

    Preserve starting sector for primary NTFS 3.1 partitions (Windows Vista)
    when modifying the DOS disk label.  NTFS 3.1 partitions do not start on
    the 2nd head of the 1st cylinder at the beginning of the drive.

commit 40bfba3a317f33e7bc55fdd8cd5073ac69ae280a
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Fri Mar 2 13:20:28 2007 -0500

    Patched parted.8 man page to show partition names apply to GPT disk labels
    
    as well as Mac and PC98 disk labels.

commit 5330d232f97619b39277bd46f8858bb41a8f1541
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue Mar 6 20:47:58 2007 +0530

    Replaced [f]printf with fput[c|s] in 
libparted/fs/ext2/ext2_block_relocator.c.

commit 57b3c73e7e4d01ac87212501f7a87477be018d12
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue Mar 6 16:38:33 2007 +0530

    Re-arranging .gitignore in alphabetical order.

commit f4a46701638355a80e75909315878b3b7237b6b5
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue Mar 6 15:57:24 2007 +0530

    Defined a dummy '_dump_history' function in parted/ui.c when Readline is 
absent. Thanks to Jim Meyering for the suggestion.

commit d72b78e2f55e44985716f37c0fde40e5f8fd79eb
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue Mar 6 15:51:58 2007 +0530

    Added libparted/tests/label to .gitignore.

commit 7ca20fbca15e89d8d40c33d11917c6969f1ed403
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue Mar 6 14:37:25 2007 +0530

    Fixed parted/ui.c to incorporate signal handlers for systems lacking 
'sigaction', 'SA_SIGINFO', and other constants in signal.h.

commit ce3810b4372764154b71a299c3e90eb08a610a46
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Mar 5 22:44:38 2007 +0100

    Undo part of the dos.c constification.
    * libparted/disk.c: The sole parameter of ped_disk_type_register
    and ped_disk_type_unregister must *not* be const.
    * libparted/labels/dos.c (msdos_disk_type): Likewise for the
    corresponding static struct in dos.c, since those functions modify
    the struct.  This didn't show up at compile time due to casts.
    * include/parted/disk.h: Update prototypes, too.

commit 3011e1809a1935f576a5ec80681cc5fcf94cd262
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Mar 5 22:07:23 2007 +0100

    Hide two unnecessarily-"extern" functions.
    * libparted/labels/mac.c (mac_alloc): Declare static.
    * libparted/labels/dos.c (raw_part_parse): Declare static.

commit f0c8fc255dbdefea2f5c79ae100f89c852952312
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Mar 5 15:37:25 2007 +0100

    * libparted/labels/dos.c: Complete constification of this file.
    * libparted/disk.c (ped_disk_type_register): Make the sole
    parameter "const", so that caller's argument may be "const".
    (ped_disk_type_unregister): Likewise.

commit 869a6b4e28218b09c5b9e46b214e02ce75450d70
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Mar 5 15:06:31 2007 +0100

    * po/POTFILES.in: Add partprobe/partprobe.c, now that it contains
    translatable strings.

commit cc46aa2dbbaebc7f68e8bbfc9bfb313a2e1c2e18
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Mar 5 14:47:02 2007 +0100

    Make partprobe accept --help and --version options.
    Add long options: --no-update (same as existing -d), and
    --summary (same as existing -s).
    * partprobe/partprobe.c
    Include configmake.h, getopt.h, and NLS-related things.
    (main): Rewrite option handling.
    Along the way, fix a bug whereby "partprobe DEV1 DEV2 ... DEVN" would
    exit successfully whenever process_dev (DEVN) returns nonzero, even
    when that function fails for each of the preceding devices.

commit 3389f62ba35ca2f0c5ba87ae29af5ef807ecf985
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Mar 5 14:47:02 2007 +0100

    Make clearfat accept --help and --version options.
    * debug/clearfat/clearfat.c (AUTHORS, PROGRAM_NAME): Define.
    Include gettext-related things.
    Include closeout.h.
    (usage): New function.
    (main): Set up for translations, use close_stdout.
    * bootstrap.conf: Add long-options, for clearfat.
    * debug/clearfat/Makefile.am: Use gnulib.

commit a3f971d08ff676bd515da2830acfddd3753d5b6e
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Mar 5 14:44:58 2007 +0100

    * include/parted/disk.h (struct _PedDiskOps) [write]: Change
    parameter type to be "const".

commit 6b0d9c51985ae48af05250bd50600f387ba7ff8d
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Mar 5 14:37:39 2007 +0100

    Begin making libparted/labels/*.c const-correct.
    For an introduction, see
    http://mail-archive.com/parted-devel@lists.alioth.debian.org/msg00930.html
    In particular, I've used a const-adding case in mac.c to work around
    the current, inconsistent semantics of mac_write.

commit e1fee6ee482fee8ad1b255e29d3b39bff37b979c
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Mar 5 10:19:53 2007 +0100

    Avoid a libtool warning:
    libtool: link: warning: `-release' is ignored for convenience libraries
    * libparted/labels/Makefile.am (liblabels_la_LDFLAGS): Don't define.

commit ceffe567344966353079819f6c7aab357a7809c1
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Mar 5 10:13:08 2007 +0100

    Make "make distcheck" work better.
    * Makefile.cfg (local-checks-to-skip): Skip sc_system_h_headers, too.
    * Makefile.maint (my-distcheck): Don't depend on $(release_archive_dir).

commit 334e10639c208c0e69317556b5bae4af35f4fb70
Author: Jim Meyering <jim@meyering.net>
Date:   Fri Mar 2 12:23:25 2007 +0100

    Avoid recursive "LIBS = ... $(LIBS)" assignments.
    * libparted/labels/Makefile.am (liblabels_la_LIBADD): Add $(INTLLIBS)
    here rather than via a recursive LIBS = ... $(LIBS) assignment.
    * libparted/fs/Makefile.am (libfs_la_LIBADD): Likewise.

commit 233c78f24efe16ef29626f348cf7e4f4f275668f
Author: Jim Meyering <jim@meyering.net>
Date:   Fri Mar 2 11:56:02 2007 +0100

    Use $(VAR), rather than obsolescent @VAR@ automake notation.
    
    Enable the makefile-check rule.
    * Makefile.cfg: Remove makefile-check from the list of rules to skip.
    * Makefile.am: change e.g., @VERSION@ to $(VERSION).
    * debug/clearfat/Makefile.am: Likewise.
    * libparted/Makefile.am: Likewise.
    * libparted/fs/Makefile.am: Likewise.
    * libparted/fs/amiga/Makefile.am: Likewise.
    * libparted/fs/bfs/Makefile.am: Likewise.
    * libparted/fs/ext2/Makefile.am: Likewise.
    * libparted/fs/fat/Makefile.am: Likewise.
    * libparted/fs/hfs/Makefile.am: Likewise.
    * libparted/fs/jfs/Makefile.am: Likewise.
    * libparted/fs/linux_swap/Makefile.am: Likewise.
    * libparted/fs/ntfs/Makefile.am: Likewise.
    * libparted/fs/reiserfs/Makefile.am: Likewise.
    * libparted/fs/ufs/Makefile.am: Likewise.
    * libparted/fs/xfs/Makefile.am: Likewise.
    * libparted/labels/Makefile.am: Likewise.
    * libparted/tests/Makefile.am: Likewise.
    * parted/Makefile.am: Likewise.
    * partprobe/Makefile.am: Likewise.
    
    The above conversion caused a problem:
    * libparted/Makefile.am: Remove this recursive definition:
    LIBS = @INTLLIBS@ @LIBS@.  Once converted to LIBS = ...$(LIBS),
    GNU make would (rightly) fail, objecting to the recursive definition.
    (libparted_la_LIBADD): Instead, add $(INTLLIBS) here.

commit 037e1d061a3bbf0f85c80c92d31b1081ea22e182
Author: Jim Meyering <jim@meyering.net>
Date:   Fri Mar 2 11:55:58 2007 +0100

    Enable the po-check rule.
    
    * Makefile.cfg (local-checks-to-skip): Remove po-check.
    * po/POTFILES.in: Add a bunch of names of files that contain
    translatable strings.  Remove some which contain none.

commit 478c89f683083a768fb47d33059af3005bf3be82
Author: Jim Meyering <jim@meyering.net>
Date:   Fri Mar 2 11:55:50 2007 +0100

    Add infrastructure for more rigorous "make distcheck" rules.
    
    * GNUmakefile: New file.
    * .prev-version: New file.
    * Makefile.am (MAINTAINERCLEANFILES): Remove names of files now in 
build-aux/.
    (distcheck-hook): New rule, to run the checks in Makefile.maint.
    (EXTRA_DIST): Add .prev-version.
    * Makefile.maint: New file.  Improved "make distcheck" rules.
    * Makefile.cfg: Select which Makefile.maint checks to run.
    (local-checks-to-skip): List all currently-failing and irrelevant
    tests here.
    * build-aux/vc-list-files: New file.  List version-controlled files.
    * .gitignore: Remove build-aux, since now it contains a
    version-controlled file.

commit 852b9c08a7a1ae8ec7e58145a7f128cf69cbaa2f
Author: Debarshi Ray <rishi@gnu.org>
Date:   Thu Mar 1 21:42:32 2007 +0530

    Fixing indentation in parted/ui.c. Replaced TABs with spaces to ensure 
uniformity in all editors.

commit b3603b541252f0dedfd3adc10aec2e79f9a2d586
Author: Debarshi Ray <rishi@gnu.org>
Date:   Wed Feb 28 21:01:52 2007 +0530

    Fixing indentation in parted/ui.c.

commit 25d5569313677c66dd850af34a6c6f61b0c7e5a7
Author: Jim Meyering <jim@meyering.net>
Date:   Tue Feb 27 18:56:36 2007 +0100

    Normalize the way we handle a generated-and-distributed file, parted.spec.
    * Makefile.am (EXTRA_DIST): Add parted.spec.
    (parted.spec): New rule.
    (MAINTAINERCLEANFILES): Add parted.spec.
    * configure.ac (AC_OUTPUT): Remove parted.spec from the list.

commit 7cc9fd767dadcf8bbacd8e6d498781b3113d5721
Author: Jim Meyering <jim@meyering.net>
Date:   Tue Feb 27 16:22:29 2007 +0100

    Add -I$(top_srcdir)/lib, required for new use of close_stdout.
    * partprobe/Makefile.am (partedincludedir):

commit dd3fe031ff4f06df145c50d557b65ce5716e1029
Author: Jim Meyering <jim@meyering.net>
Date:   Tue Feb 27 13:16:44 2007 +0100

    Arrange for "make distcheck" to be stricter.

commit 15ae6ceca82602fe3a1c6ef6130f0ca133c7016b
Author: Jim Meyering <jim@meyering.net>
Date:   Tue Feb 27 00:43:55 2007 +0100

    * bootstrap: new file.

commit 72d1a0c4e574c528e30b1e104490772530eedcb1
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue Feb 27 04:02:44 2007 +0530

    Fixing libparted/arch/gnu.c to remove build-time errors.

commit 802504ae11a79d3ed72fc3466dd3a96de1139c12
Author: Jim Meyering <jim@meyering.net>
Date:   Sun Feb 25 18:46:05 2007 +0100

    partprobe: Detect/report any error when writing to stdout.
    	* partprobe/Makefile.am (partprobe_LDADD): Add lib/libparted.la.
    	* partprobe/partprobe.c:
    	Include "closeout.h" for close_stdout.
    	Include "version-etc.h" for version_etc prototype.
    	Declare global, program_name.
    	(PROGRAM_NAME, AUTHORS): Define.
    	(help): Use PROGRAM_NAME, rather than hard-coding it.
    	(version): Use gnulib's version_etc.
    	(main): Set program_name.
    	Use atexit to close stdout carefully upon exit.

commit 1bfda3859e3f6d19cfdff4794da5d150bec4c6b3
Author: Jim Meyering <jim@meyering.net>
Date:   Sun Feb 25 18:44:30 2007 +0100

    Add a bunch of .gitignore files.

commit 7a46b70e5ecc0b1eb97e87158e2ca0816d63214e
Author: Jim Meyering <jim@meyering.net>
Date:   Sun Feb 25 18:44:30 2007 +0100

    	Avoid a gcc format warning:
    	* debug/clearfat/clearfat.c (_do_help): Use fputs, not printf.

commit 17e5036bf4e4e5c88b94562432e10d1ae3b2b1b0
Author: Jim Meyering <jim@meyering.net>
Date:   Sun Feb 25 18:44:30 2007 +0100

    	Remove now-generated files.
    	* po/ca.po, po/cs.po, po/da.po, po/de.po, po/es.po, po/fr.po:
    	* po/gl.po, po/id.po, po/it.po, po/ja.po, po/nl.po, po/nn.po:
    	* po/pl.po, po/pt.po, po/pt_BR.po, po/ru.po:
    	* po/sv.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
    	* po/Makevars: Remove now-generated file.
    	* po/parted.pot: Remove -generated file.

commit 720c03986d3d9e158c54bbe89afa970c1e3be60e
Author: Jim Meyering <jim@meyering.net>
Date:   Sun Feb 25 18:44:30 2007 +0100

    	mv parted.m4 into new dir, m4/
    
    	* Makefile.am (EXTRA_DIST): Remove parted.m4.
    	Now that it's in m4, it's included automatically.
    	(aclocal_DATA): Remove unnecessary definition.

commit 40758f1bd909f927e81f9a523fc4169e18572eec
Author: Jim Meyering <jim@meyering.net>
Date:   Sun Feb 25 18:44:30 2007 +0100

    	* libparted/tests/label.c: Fail if _create_disk returns NULL.
    	Make global and functions static.
    	* libparted/tests/common.c (_create_disk): Handle fopen failure.
    	Handle fclose failure.

commit dea71f503c58d39ba5a7901c675f3dcc4522962d
Author: Jim Meyering <jim@meyering.net>
Date:   Sun Feb 25 18:44:30 2007 +0100

    	Include <config.h> from every .c file:
    	* libparted/unit.c, libparted/timer.c:
    	* libparted/cs/natmath.c, libparted/cs/constraint.c:
    	* libparted/tests/label.c, libparted/tests/common.c:
    	* libparted/fs/fat/count.c, libparted/fs/fat/bootsector.c:
    	* libparted/fs/fat/context.c, libparted/fs/fat/fatio.c:
    	* libparted/fs/fat/fat.c, libparted/fs/fat/clstdup.c:
    	* libparted/fs/fat/resize.c, libparted/fs/fat/traverse.c:
    	* libparted/fs/fat/table.c, libparted/fs/fat/calc.c:
    	* libparted/fs/amiga/amiga.c, libparted/labels/fdasd.c:
    	* libparted/labels/dvh.c, libparted/labels/efi_crc32.c:
    	* libparted/labels/vtoc.c, parted/command.c:
    	* libparted/tests/label.c, libparted/tests/common.c:

commit 2cc2792a2ff36fd9f959577c1f6058d9eb9ba3dd
Author: Jim Meyering <jim@meyering.net>
Date:   Sun Feb 25 18:44:30 2007 +0100

    	* libparted/libparted.c: Include "configmake.h" for LOCALEDIR defn.

commit e08dea672f8f0715acd873117121f716565d292c
Author: Jim Meyering <jim@meyering.net>
Date:   Sun Feb 25 18:44:30 2007 +0100

    parted: Detect/report stdout write errors.
    	* parted/parted.c: Include "closeout.h" for close_stdout.
    	Include "configmake.h" for LOCALEDIR definition.
    	Include "version-etc.h" for version_etc prototype.
    	Declare global, program_name.
    	(PROGRAM_NAME, AUTHORS): Define.
    	(_version): Use gnulib's version_etc.
    	(main): Set program_name.
    	Use atexit to close stdout carefully upon exit.

commit 2944a1e139782729b980d55d01394b4148321ab0
Author: Jim Meyering <jim@meyering.net>
Date:   Sun Feb 25 18:44:29 2007 +0100

    Include <config.h>, not "../config.h".

commit e2583060e3ba1b94465a79f9cc8fadf02ee7b5ef
Author: Jim Meyering <jim@meyering.net>
Date:   Sun Feb 25 18:43:53 2007 +0100

    Begin adjusting Makefile.am files to use gnulib.
    * libparted/Makefile.am (partedincludedir): Add -I$(top_srcdir)/lib.
    * parted/Makefile.am (parted_LDADD): Add lib/libparted.la.
    (partedincludedir): Add -I$(top_srcdir)/lib.

commit 66760ee42fd8c627cb2a32fea23908f3e08d164c
Author: Jim Meyering <jim@meyering.net>
Date:   Sun Feb 25 18:38:41 2007 +0100

    Update to use gnulib, and newer autoconf, automake conventions.
    
    	Add build-from-checkout instructions.
    	* README-hacking: New file.  Mostly copied from coreutils'
    	README-cvs.
    	* bootstrap: Generate ChangeLog here, if needed/possible,
    	before invoking tools that require its presence.
    	* autogen.sh: Remove this file.  It's superseded by bootstrap.
    
    	Use gnulib, modernize some uses of autoconf, automake, etc.
    	* bootstrap, bootstrap.conf: New files.
    
    	* configure.ac: Modernize.
    	Require the latest stable releases: autoconf-2.61, automake-1.10.
    	Require gettext-0.15.
    	Use more modern form of AC_INIT, etc.
    	Now that the version string must be hard-coded in the AC_INIT line,
    	add code to ensure it agrees with the PED_* and LT_* variables.
    	Use AM_CPPFLAGS, not CFLAGS
    	Remove obsolete setting of ALL_LINGUAS.
    	Don't set CFLAGS=-D_GNU_SOURCE=1 explicitly , since that's already
    	done via AC_GNU_SOURCE, which gnulib pulls in by default,
    	through gl_EARLY.
    	Use gl_INIT and gl_EARLY.
    
    	* Makefile.am (SUBDIRS): Add lib.
    	(EXTRA_DIST): Remove names that are automatically included.
    	* lib/Makefile.am: New file.

commit a7975b69a52675f8a1ef346d4b5ebf994200c88e
Author: Anant Narayanan <anant@theghost.local>
Date:   Fri Feb 23 16:18:31 2007 +0530

    Fix memleaks. Patch thanks to Mike Hommey

commit 7855179120162cd4de8bd7dc04e21809b8f1d413
Author: Debarshi Ray <rishi@gnu.org>
Date:   Mon Feb 19 10:58:46 2007 +0530

    Introduced MAINTAINERCLEANFILES in Makefile.am for carrying out 'make 
maintainer-clean'.

commit 9d4a4289659625ef143e8c74a26654a7c4da2906
Author: Debarshi Ray <rishi@gnu.org>
Date:   Mon Feb 19 09:09:44 2007 +0530

    Cleaning up nested structs & unions.

commit 4529f6625622b459975c59921f4360afe6b7eb5c
Author: Jim Meyering <jim@meyering.net>
Date:   Fri Feb 16 15:55:40 2007 +0100

    Avoid compiler warnings with gcc -Wall -Wshadow.
    
    * libparted/arch/linux.c (init_ide): Add missing "break" at end of
    final case: stmt.
    Add "default:" in the same switch to avoid a compiler warning.
    * libparted/fs/fat/bootsector.c (fat_boot_sector_analyse): Likewise.
    * libparted/fs/fat/resize.c (ask_type): Likewise.
    * libparted/fs/fat/traverse.c (fat_dir_entry_set_first_cluster):
    Likewise.
    * debug/clearfat/clearfat.c (_calc_fat_entry_offset): Likewise.
    
    * parted/parted.c (_timer_handler): Cast time_t values to "int"
    to agree with %d printf format.
    (g_timer): Rename file-scoped global from shadowed "timer".
    Update all uses of the global.
    (version_msg): Remove decl of unused global.
    
    * parted/ui.c (current_exception_opt): Remove decl of unused global.
    
    * libparted/filesys.c (ped_file_system_close): Remove unused label.
    * libparted/unit.c (parse_chs): Likewise.
    
    * libparted/debug.c (ped_assert): Use "int" as type of backtrace
    return value, not size_t.
    
    * libparted/fs/reiserfs/reiserfs.c (reiserfs_check):
    Guard declaration of local with #ifdef HAVE_REISERFS_FS_CHECK,
    since it's used only in a similarly-guarded block.
    (reiserfs_fs_check): Likewise for this file-scoped global.
    
    Avoid warnings about unused file-scoped global variables.
    * libparted/fs/hfs/hfs.h (hfs_type, hfsplus_type): Remove these
    declarations of file-scoped static variables.
    * libparted/fs/hfs/hfs.c: Put them here, instead.
    
    * libparted/fs/fat/table.c (_test_code_active): Remove unused function.
    
    * libparted/arch/linux.c: Add casts to avoid performing
    pointer arithmetic on "void *" pointers.
    
    * libparted/fs/hfs/file_plus.c (hfsplus_file_read):
    Don't do pointer arithmetic on a "void *" pointer.
    (hfsplus_file_write): Likewise.
    
    * libparted/fs/fat/count.c (flag_traverse_dir): Move decl of
    unused local into #if-0'd block where it is referenced.
    (print_chain): Guard definition with #ifdef PED_VERBOSE,
    since the sole use of this function is guarded the same way.
    
    * libparted/fs/amiga/amiga.c: (_amiga_valid_block_id):
    Remove unused function.
    (_amiga_get_bstr): Likewise.
    (_amiga_set_bstr): Likewise.
    
    Remove unused labels and/or declarations of unused variables.
    * parted/ui.c (_readline): Likewise.
    * libparted/cs/constraint.c (_constraint_get_canonical_start_range):
    Likewise.
    * libparted/cs/geom.c (ped_geometry_read): Likewise.
    * libparted/fs/amiga/apfs.c (_generic_apfs_probe): Likewise.
    * libparted/fs/ext2/ext2_mkfs.c (ext2_mkfs_write_meta): Likewise.
    * libparted/disk.c: Likewise.
    * libparted/fs/hfs/hfs.c: Likewise.
    * libparted/fs/fat/fat.c: Likewise.
    * libparted/fs/fat/clstdup.c: Likewise.
    * libparted/fs/fat/calc.c: Likewise.
    * libparted/fs/ext2/ext2.c: Likewise.
    * libparted/fs/amiga/affs.c: Likewise.
    * libparted/fs/amiga/asfs.c: Likewise.
    * libparted/labels/aix.c: Likewise.
    * libparted/labels/sun.c: Likewise.
    * libparted/labels/pc98.c: Likewise.
    * libparted/labels/mac.c: Likewise.
    * libparted/labels/dos.c: Likewise.
    * libparted/labels/loop.c (loop_alloc): Likewise.
    * libparted/labels/gpt.c: Likewise.
    * libparted/labels/dvh.c (dvh_alloc): Likewise.
    (dvh_read) [!DISCOVER_ONLY]: Add "default:" in a switch.
    
    * libparted/labels/fdasd.c (fdasd_reread_partition_table):
    Remove decl of unused local(s).
    (fdasd_get_partition_data): Likewise.
    (fdasd_partition_type): Remove unused function.
    (fdasd_write_vtoc_labels): Likewise.
    (fdasd_change_volser): Likewise.
    (fdasd_check_volser): Likewise.
    (fdasd_reread_partition_table): Likewise.
    
    Signed-off-by: Jim Meyering <jim@meyering.net>

commit cbf5b4da095637e18ab6f2b8a52a506a4126845b
Author: Jim Meyering <jim@meyering.net>
Date:   Thu Feb 15 16:05:17 2007 +0100

    * libparted/labels/rdb.c (amiga_read): Remove decl of unused local(s).
    
    Signed-off-by: Jim Meyering <jim@meyering.net>

commit 3f3af4affe2ee037620c717acc7d3fc84422574c
Author: Jim Meyering <jim@meyering.net>
Date:   Thu Feb 15 15:56:23 2007 +0100

    * libparted/labels/bsd.c (bsd_partition_new): Remove unused label.
    
    Signed-off-by: Jim Meyering <jim@meyering.net>

commit 74eb62c50d7a6107f7c9dcb5273060f20da990b8
Author: Jim Meyering <jim@meyering.net>
Date:   Thu Feb 15 15:53:44 2007 +0100

    * libparted/labels/dasd.c: Remove unused labels and declarations
    
    of unused variables.
    
    Signed-off-by: Jim Meyering <jim@meyering.net>

commit 93ca20d8aebd0d04dbb00b86a2903c992e59a96b
Author: Debarshi Ray <rishi@gnu.org>
Date:   Fri Feb 16 10:10:17 2007 +0530

    Fix the style of typedef, enum, struct and __attribute__ ((packed)).

commit f4022a35faf01c5286ab5b44bce080e80d310099
Author: Debarshi Ray <rishi@gnu.org>
Date:   Thu Feb 15 10:25:41 2007 +0530

    Deprecating ped_[register|unregister]_disk_type in favour of 
ped_disk_type_[register|unregister].

commit 3965965b3413df11d6306704478490f6e5b72549
Author: Jim Meyering <jim@meyering.net>
Date:   Tue Feb 13 22:51:56 2007 +0100

    Use lighter-weight fputs and putchar in place of printf, when possible.
    
    * parted/ui.c (wipe_line, _dump_history, reset_env):
    (sigsegv_handler, sigfpe_handler, sigill_handler, _readline):
    (help_msg, interactive_mode, non_interactive_mode): Use puts,
    fputs, and putchar in place of printf, when possible.
    (reset_env): Correct misleading indentation.
    (wipe_line): Split a long string.
    
    Signed-off-by: Jim Meyering <jim@meyering.net>

commit f757156d846c70a88b90ab3ff47ff385ed136a56
Author: Jim Meyering <jim@meyering.net>
Date:   Wed Feb 14 12:37:45 2007 +0100

    Make it so "make distcheck" passes.
    
    * doc/po4a.mk (updatepo): Don't choke when *.$(lang).po matches no file.
    * doc/C/Makefile.am (updatepo): Don't do anything when $(srcdir) is not 
writable.
    
    Signed-off-by: Jim Meyering <jim@meyering.net>

commit 4ae6903525e60202efa78ebec336d1bb2c3bb6b4
Author: Debarshi Ray <rishi@gnu.org>
Date:   Wed Feb 14 22:19:42 2007 +0530

    Fixed the copyright notices.

commit 69b733fcedc80d7192fb98c2ade006938c6d58f8
Author: Debarshi Ray <rishi@gnu.org>
Date:   Wed Feb 14 21:39:57 2007 +0530

    Cleaned up the formatting of AUTHORS.

commit d29c917bf4a22a084deecf769346f030b87e0eb8
Author: Debarshi Ray <rishi@gnu.org>
Date:   Wed Feb 14 20:25:12 2007 +0530

    Tidying up the formatting and comments in linux_swap.c.

commit 951e82fc0c102aa8187cf19de49c9f504eaa60f6
Author: Jim Meyering <jim@meyering.net>
Date:   Tue Feb 13 21:02:08 2007 +0100

    Don't define _GNU_SOURCE manually.
    
    It's better not to define _GNU_SOURCE manually.
    By using AC_GNU_SOURCE, you get the definition in exactly one place:
    in config.h.  I verified that each affected file also includes config.h.
    
    Don't define _GNU_SOURCE manually.
    * configure.ac: Use AC_GNU_SOURCE instead.
    * libparted/arch/gnu.c: Remove definition of _GNU_SOURCE.
    * libparted/arch/linux.c: Likewise.
    * libparted/device.c: Likewise.
    * parted/table.c: Likewise.
    * parted/table.h: Likewise.
    
    Signed-off-by: Jim Meyering <jim@meyering.net>

commit 2d2e20fc366c08519fdac33d74686da87d8291f5
Author: Jim Meyering <jim@meyering.net>
Date:   Tue Feb 13 17:10:18 2007 +0100

    Remove some #ifdefs
    
    Remove some #ifdefs.
    * parted/table.c (L_): define.
    Remove in-function #ifdefs; use L_(str) instead.
    
    Signed-off-by: Jim Meyering <jim@meyering.net>

commit f38cb2091e5f9cd300b4bc0aa93138c205d34135
Author: Jim Meyering <jim@meyering.net>
Date:   Tue Feb 13 17:08:35 2007 +0100

    * libparted/labels/fdasd.c (GETARG): Remove unused definition.
    
    A tiny change...
    
    Signed-off-by: Jim Meyering <jim@meyering.net>

commit 7074a16500bc275a4f5bb4bd0a02d26b3c83ae9a
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Tue Feb 13 09:44:33 2007 -0200

    Create 'm4' directory when generating the building system

commit e3c1ef348cea4ab998224db3e77672db9b7af8d7
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Feb 12 23:30:46 2007 +0100

    Work with automake-1.10.
    
    I've just tried building parted from scratch (running ./autogen.sh
    after git-clone) and hit a couple of snags:
    
    Without aclocal's -I m4, ./autogen.sh produced this:
    
      configure.ac:192: warning: macro `AM_GNU_GETTEXT_VERSION' not found in 
library
      configure.ac:193: warning: macro `AM_GNU_GETTEXT' not found in library
      configure.ac:192: error: possibly undefined macro: AM_GNU_GETTEXT_VERSION
            If this token and others are legitimate, please use 
m4_pattern_allow.
            See the Autoconf documentation.
    
    With automake-1.10, I got this:
    
        parted/Makefile.am:5: compiling `command.c' with per-target flags 
requires `AM_PROG_CC_C_O' in `configure.ac'
    
    Here's a patch that fixes those and also removes some trailing blanks.

commit 64f61abbcaefe060433196e323eba251bfc6e17e
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Feb 12 23:35:30 2007 +0100

    Compile warning-free with "gcc -Wall -Wshadow".
    
    Hello,
    
    I find that keeping code warning-free (wrt gcc -Wall -Wshadow)
    makes it easier to avoid certain classes of bugs.
    
    Compiling with gcc -Wall -Wshadow evoked a few warnings
    on a Debian/unstable system.  Here are patches to fix those:
    
    * libparted/exception.c (default_handler): Rename parameter "ex"
    to "e", to avoid shadowing file-scoped global.
    * libparted/fs/linux_swap/linux_swap.c (_generic_swap_probe): Add a
    "can't happen" (with current callers) "default: goto error" clause
    in a switch to avoid a may-be-used-uninitialized warning.
    (_generic_swap_clobber): Likewise.
    * libparted/fs/hfs/reloc_plus.c (hfsplus_pack_free_space_from_block):
    Rename local variable "div" to "divisor", to avoid shadowing
    the function in <stdlib.h>.
    * libparted/fs/hfs/reloc.c (hfs_pack_free_space_from_block): Likewise.
    * libparted/fs/hfs/cache.c (hfsc_cache_add_extent): Rename parameter
    "index" to "ref_index" to avoid shadowing the <string.h> function.
    * libparted/labels/sun.c (sun_partition_enumerate): Rename local
    variable "i" to "j", to avoid shadowing another local.
    
    Signed-off-by: Jim Meyering <jim@meyering.net>

commit eff7c75fbe7348e20fde39f0f02dc9613ccd7afc
Author: Jim Meyering <jim@meyering.net>
Date:   Mon Feb 12 23:38:07 2007 +0100

    configure.ac: Add LOCALEDIR definition to CFLAGS only once.
    
    I noticed that there were two identical lines in configure.ac,
    adding the same LOCALEDIR definition to CFLAGS.
    This change removes the latter.
    
    * configure.ac: Add LOCALEDIR definition to CFLAGS only once.
    
    Signed-off-by: Jim Meyering <jim@meyering.net>

commit 92f00c9a4b6669954aa8689c5963c52ceaefdf57
Author: Riccardo Setti <giskard@piton.asimov.bot>
Date:   Mon Feb 12 13:24:29 2007 +0100

    Added a pkgconfig file for libparted, adjusted Makefile.am and configure.ac 
for reflect the canges
    
    	modified:   Makefile.am
    	modified:   configure.ac
    	new file:   libparted.pc.in

commit 760e6decef7aac12aada62c3185e83506fcb5d47
Author: Debarshi Ray <rishi@gnu.org>
Date:   Wed Jan 31 02:01:43 2007 +0530

    Renaming PARTITION_EXT to PARTITION_DOS_EXT in MSDOS disk-label code, to 
maintain similarity with Linux v2.6.18.2

commit 98a53fd115ca012edf226525b8d4be628454f99e
Author: Debarshi Ray <rishi@gnu.org>
Date:   Wed Jan 17 18:56:46 2007 +0530

    Enable support for swsusp partitions, and the ability to differentiate 
between old and new versions of linux-swap partitions. Changed the swap_init 
signature and removed extra ped_geometry_read from _swap*_open.

commit f58467190721c7d29b2d07c1567cdd90633f1996
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue Jan 16 23:13:09 2007 +0530

    Synchronize the linux-swap (new version) header according to the Linux 
kernel sources.

commit 8cc182e1919144ecaede5b95983b6528017a78ac
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue Jan 16 22:41:47 2007 +0530

    cb6ca73be06f360308e6a2fccb7142ed8175af29 continued.

commit cb6ca73be06f360308e6a2fccb7142ed8175af29
Author: Debarshi Ray <rishi@gnu.org>
Date:   Tue Jan 16 06:43:36 2007 +0530

    Add stdint.h stdlib.h & string.h to include/parted/parted.h and remove them 
from other files.

commit 21dc308fe0829e12d55fba0e6f75063cf7bf651a
Author: Debarshi Ray <rishi@gnu.org>
Date:   Sun Jan 14 21:06:58 2007 +0530

    Synchronise manual page and --help documentation.

commit 7ad100209c0a7382ca36cc4b337b8800d45c4a7a
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Fri Jan 12 12:47:13 2007 -0500

    Updated i18n information.

commit 400386a9a6f39b052ecebb307cf2aa8c3bfc0e35
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Fri Jan 12 10:05:08 2007 -0500

    Add ped_device_cache_remove() prototype.
    (cherry picked from commit cb53b87ab2f779633f152f478c7f8c99c2fd1817)

commit 935ae113d257fa4f42ca97b30650f056238e7705
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Fri Jan 12 10:06:40 2007 -0500

    Only call _disk_warn_loss(disk) in do_mklabel() if disk is not NULL.  Fixes 
a segfault when initializing new volumes.
    (cherry picked from commit 70e3bf5e7818df49a11e203ac8519e037818d592)

commit 5fa95be2c48e0913f78dabe2c9c078d0742a71f8
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Fri Jan 12 10:07:17 2007 -0500

    Fix a segfault in ped_assert() where the wrong pointer is freed in the 
backtrace.
    (cherry picked from commit 63f7b33b352d0d699efeb1095340ed6139c49e3b)

commit b5e6500868c4216b5c137799c898870726f28a00
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Fri Jan 12 10:07:45 2007 -0500

    Add the ped_device_cache_remove() function to remove a device from the 
cache.
    (cherry picked from commit 5fb6658d124050a9dc27a87f2e1c3ffd3d1ad7c0)

commit 1c1251c20172246671ac2c0c7c66663af902fdf3
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Fri Jan 12 10:10:07 2007 -0500

    Updated the AUTHORS file.
    (cherry picked from commit 7ab32d423cc43a5e9372a7dc000feb183db9a89a)

commit 9ef417f05d1405d6a6b874d77d93ccf3113deee6
Author: Debarshi Ray <rishi@gnu.org>
Date:   Fri Jan 12 08:10:15 2007 +0530

    Rectify segmentation fault caused by 
9e05418de3477666b0709f5d1996149febd33100

commit 399cc344ef9ec0b2c06132b95ee4195779d44686
Author: Debarshi Ray <rishi@gnu.org>
Date:   Fri Jan 12 06:35:58 2007 +0530

    Update doc/C/parted.8 to document --list.

commit 9e05418de3477666b0709f5d1996149febd33100
Author: Otavio Salvador <otavio@debian.org>
Date:   Sat Dec 16 18:47:53 2006 -0200

    parted/parted.c: Destroy all objects before return when called with --list 
or --all option.

commit 7f310ecdeb187c3ccd0f51c7cc874f34fb95cf81
Author: Anant Narayanan <anant@kix.in>
Date:   Fri Jan 5 23:42:23 2007 +0530

    Dump readline history on crash

commit 8acac4f1497e55447d931df8a128af3a14452385
Author: Anant Narayanan <anant@kix.in>
Date:   Thu Dec 14 22:00:59 2006 +0530

    Loosen requirement for the 'check' library.

commit 45713930032b8e0664287a6cb354509f7df281e7
Author: Debarshi Ray <rishi@gnu.org>
Date:   Fri Dec 15 01:26:03 2006 +0530

    Update AUTHORS.

commit f74b890bb3658b972b02e98e4354994306cb8372
Author: Leslie P. Polzer <polzer@gnu.org>
Date:   Wed Dec 13 17:23:15 2006 +0100

    added scripts/update-po

commit a7b47b3632fd2ac59495520b9db02a57c6c82794
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Tue Dec 12 19:26:09 2006 -0500

    Merge branches 'master' and 'master' of 
git+ssh://dcantrell-guest@git.debian.org/git/parted/parted

commit 60a1188ce869ec19a0650cb4251f80bc2b51625c
Author: Leslie P. Polzer <polzer@gnu.org>
Date:   Mon Dec 11 18:00:00 2006 +0100

    Updated translations.

commit b9fadd12d1a6c0a853f999398ed5d689fd7d9106
Author: Debarshi Ray <rishi@gnu.org>
Date:   Sat Dec 9 01:11:49 2006 +0530

    Alias 'print list' with 'print all'.

commit 6928477436823359850941fabd78444635752095
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Mon Dec 11 07:46:34 2006 -0200

    Include a disk probing test

commit c95d7f912f577c6188c4900826f50ddd54505b4e
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Mon Dec 11 07:46:34 2006 -0200

    If CHECK is installed on configure time, build our unittest framework

commit 38f29307583865f83117aa7c7c85a297feefad18
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Mon Dec 11 07:46:33 2006 -0200

    Add CHECK unittext library detection to Autoconf script

commit ab143e1794c06ee5828450ec48ebccd2a89adfa4
Author: Leslie P. Polzer <polzer@gnu.org>
Date:   Sat Dec 9 10:51:43 2006 +0100

    Release script: cannot call "return" from top level;  replaced with "exit".

commit a6c3ff6df55c31c922a7e963662b1a0d76001162
Author: Debarshi Ray <rishi@gnu.org>
Date:   Fri Dec 8 00:51:06 2006 +0530

    Zero sized device is shown as 0.00B and not -0.00kB.

commit 17155dfd54b893181c0cc6aee98b1387b4e3ba7a
Author: Otavio Salvador <otavio@debian.org>
Date:   Wed Dec 6 23:33:52 2006 -0200

    libparted/exception.c: Dynamically allow space of exception message.

commit b8903b3f54151437a2fff93399ca50b01abd4184
Author: Otavio Salvador <otavio@debian.org>
Date:   Wed Dec 6 22:44:40 2006 -0200

    Output a backtrace when catching SEGV_MAPERR or a general SIGSEGV signals.

commit 13c28f379c46d983e7005808261119c188b9c8a0
Author: Debarshi Ray <rishi@gnu.org>
Date:   Thu Dec 7 07:31:39 2006 +0530

    Implement 'print devices'.

commit 7df669078834b8a48eb29042d1c6fea06e221367
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Wed Dec 6 00:00:03 2006 +0100

    Translate the copyright message, and hard wrap it

commit a9fea1add642a8f1243932a4db2ee967ad668a4b
Author: Otavio Salvador <otavio@debian.org>
Date:   Tue Dec 5 15:32:26 2006 -0200

    libparted/disk.c: Standarize the way we walk throught the disk types 
overall the code

commit 0f1ba3f5d9d57f3a2205ec67738f611cf5b22e7d
Author: Otavio Salvador <otavio@debian.org>
Date:   Tue Dec 5 14:16:04 2006 -0200

    Revert "Add check unittest support and a initial test for a resizing bug."
    
    This code wasn't ready for commit yet.
    
    This reverts commit ba43cb6ff7bb1d945062e25b94efecb1b84c0c33.

commit fe914828d2b36451a7056292560820633c891afe
Author: Otavio Salvador <otavio@debian.org>
Date:   Tue Dec 5 14:12:24 2006 -0200

    parted/parted.c: Remove useless line break

commit ba43cb6ff7bb1d945062e25b94efecb1b84c0c33
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Mon Dec 4 23:40:54 2006 -0200

    Add check unittest support and a initial test for a resizing bug.

commit dc4df69ecac2c693328dba452f4b4e9df9c0d29f
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Sun Dec 3 22:20:25 2006 -0500

    Fix the upload script to correctly reference the sig files.

commit be1a157ad3657b1c1406d2b246df9e49afca826f
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Sun Dec 3 20:31:10 2006 -0500

    Remove ChangeLog, doc/mdate-sh, and doc/texinfo.tex since they are 
unmanaged files and get generated automatically at release time.

commit 0b8b2da570ceda85f79e1b2b1239f7e5a4668ece
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Sun Dec 3 20:30:44 2006 -0500

    Generate ChangeLog before running the autogen tools because we need a file 
called 'ChangeLog' to exist when running those tools.

commit afeb97c0968ea0dda5f07d56ee1361562a8d6517
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Sun Dec 3 18:37:45 2006 -0500

    Pass git changelog through 'fold -s' to wrap long lines.

commit e6012cac9fa1999d2719f01c35df33cef9b92614
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Sun Dec 3 18:25:41 2006 -0500

    Added the --enable-selinux switch to the configure script.  If set, it adds 
-lselinux and -lsepol to the list of libraries to link libparted with.  Bumped 
the version number to 1.9.9 since this is the edge branch.

commit 00ab69cc4471643aa422e3bf9a536ac2fff64266
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Sun Dec 3 18:09:54 2006 -0500

    Rename all old ChangeLog files to ChangeLog.0.  Added code to the 
tarball_upload.sh script to generate a toplevel ChangeLog from the git 
changelog.

commit 155b8da6f647a09b365a599d96ce259fd4649429
Author: Leslie P. Polzer <polzer@gnu.org>
Date:   Sat Dec 2 21:43:02 2006 +0100

    Updated URL of static parted in docs.

commit e3af14fde62492e7a4a7f451161c999527025d65
Author: Anant Narayanan <anant@kix.in>
Date:   Sun Dec 3 01:45:14 2006 +0530

    Make parted ignore '-i' option instead of failing

commit 30e12276029b0b6c04d2d0edf2b9b00ba797013c
Author: Anant Narayanan <anant@kix.in>
Date:   Sun Dec 3 00:24:34 2006 +0530

    Support machine parseable output.

commit a51bc04c311154ab770a720faf84def68c2f4875
Author: Debarshi Ray <rishi@gnu.org>
Date:   Thu Nov 30 08:09:08 2006 +0530

    Cleanup _partition_warn_busy, _disk_warn_busy, _partition_warn_loss and 
_disk_warn_loss.

commit cebee78a5b5c9f6b0fb3c918d2cab82744d74e24
Author: Otavio Salvador <otavio@debian.org>
Date:   Tue Nov 28 22:26:50 2006 -0200

    Proper print when there're no extended partitions, but partition names 
(patch from Sven Luther)

commit ad358e802bc539e49608e05badd257a1ff6d3658
Author: Otavio Salvador <otavio@debian.org>
Date:   Tue Nov 28 17:36:03 2006 -0200

    libparted/arch/linux.c: initialize task point to please GCC

commit 7081b489002dedb5b9450fb83bdf91a915b2838b
Author: Otavio Salvador <otavio@debian.org>
Date:   Tue Nov 28 17:35:00 2006 -0200

    Don't enforce libselinux and libsepol linking when using device-mapper 
support

commit 692a1a8363d17986da061b792dd01f80e7b745f0
Author: Debarshi Ray <rishi@gnu.org>
Date:   Wed Nov 29 03:43:05 2006 +0530

    Warn before mklabel and mkfs.

commit ae6278b3091dbbaee4832c0579a02d867cc5bbe2
Author: Debarshi Ray <rishi@gnu.org>
Date:   Wed Nov 29 00:10:04 2006 +0530

    Make mktable aliased to mklabel.

commit 3ca373769bd33b99946e9a85f476e21c4cad47ce
Author: Otavio Salvador <otavio@debian.org>
Date:   Mon Nov 27 22:06:20 2006 -0200

    Fix 'print' command help
    
    'print' command help was missing a new line at end and then breaking
    the help printing.

commit a9f9240d7ee40659edaa953bb987e475ac159ea2
Author: Leslie P. Polzer <polzer@gnu.org>
Date:   Mon Nov 27 17:59:14 2006 +0100

    Updated translations.

commit 9a6d5bc9fbd991b23b5e78c552d252740da0bf63
Author: Otavio Salvador <otavio@debian.org>
Date:   Sun Nov 26 22:47:11 2006 -0200

    Remove doc/mdate-sh and doc/texinfo.tex since they are included when we run 
autogen.sh

commit e567b42aed82eace7143e0e04e2532d7124ee991
Author: Anant Narayanan <anant@kix.in>
Date:   Thu Nov 23 13:46:13 2006 +0530

    Introduce the -list command-line switch, patch by Debarshi Ray

commit 45c63412a89580e4c33db29d218bc7896c7c5d45
Author: Otavio Salvador <otavio@debian.org>
Date:   Wed Nov 22 18:38:59 2006 -0200

    Avoid warning about user permissions when using --version

commit 1d021d78eccc3a87461a49bbb871b30277c4b010
Author: Otavio Salvador <otavio@debian.org>
Date:   Wed Nov 22 18:22:39 2006 -0200

    parted/parted.c: Remove redeclaration of current_dev fixing a compilation 
error

commit b593b0219787646cecc64818c3618afada5075b9
Author: Otavio Salvador <otavio@debian.org>
Date:   Wed Nov 22 15:40:44 2006 -0200

    Readd the 'return 0;' to please GCC
    
    The commit d000de8f062ce070d5310f164ebf4f5ed26fcad0 included a
    compilation warning that makes sense when Parted is built without
    debugging. To solve the warning and ensure that when running without
    debugging we return a sinsible value I've reverted
    d000de8f062ce070d5310f164ebf4f5ed26fcad0 change and added a nice
    comment to avoid misunderstandings again.

commit 0ddc14a9d22cf1d994ea15285cc39c6f000a2d30
Author: Anant <anant@theghost.(none)>
Date:   Thu Nov 23 01:12:04 2006 +0530

    Fix loop in print_all, thanks to Debarshi Ray for the patch.

commit d000de8f062ce070d5310f164ebf4f5ed26fcad0
Author: Otavio Salvador <otavio@debian.org>
Date:   Mon Nov 20 21:45:13 2006 -0200

    Remove useless 'return 0;' call
    
    Since PED_ASSERT will always be run, the return 0 is useless, hence
    removed.

commit 43b8a930c3c97088e85f676100b3f8c8afcd01eb
Author: Otavio Salvador <otavio@debian.org>
Date:   Mon Nov 20 21:44:13 2006 -0200

    Remove useless semicolon from PED_ASSERT calls

commit e8c462eaae67a38678f19cc0f18f473d363b4227
Author: David Cantrell <dcantrel@mortise.boston.redhat.com>
Date:   Mon Nov 20 12:34:49 2006 -0500

    Generate SHA-1 digests of the archive files and upload those along with the 
actual archive files.

commit 791bc17d9f6a3f3890b37b0a96823350cf8a7ebb
Author: Otavio Salvador <otavio@debian.org>
Date:   Mon Nov 20 18:16:12 2006 -0200

    Rework backtrace support
    
    While doing a deeply check about the backtrace support I found that
    -rdynamic is useless on CFLAGS and my previous change was wrong since
    it wasn't avoiding -rdynamic on LFLAGS if the running system missed
    the execinfo.h support. That would probably cause a build error on
    some systems.

commit d9f985240c67d6b789d7c5d4e7f5b8c86865d050
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Nov 17 15:42:05 2006 +0000

    Final changes for parted-1.8.0
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@896 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 7f443fa31de53c58b836cfe2b42aa920dce34f91
Author: Otavio Salvador <otavio@debian.org>
Date:   Sat Nov 11 20:30:57 2006 +0000

    Apply changes done on Darcs and suitable for release on 1.8 final:
    
    Sat Nov 11 18:09:17 BRST 2006  Otavio Salvador <otavio@debian.org>
      * Enable backtrace just if it's has support on libc.
    
    Sat Nov 11 17:41:12 BRST 2006  Otavio Salvador <otavio@debian.org>
      * Add -rdynamic to LDFLAGS.
    
    Sat Nov 11 17:40:19 BRST 2006  Otavio Salvador <otavio@debian.org>
      * Add -rdynamic to CFLAGS
    
    Sat Nov 11 17:38:11 BRST 2006  Otavio Salvador <otavio@debian.org>
      * Print backtrace stack when throwing an exception
    
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@895 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 8d01bac2a34ba2a0bc7e4fdb68c61917cda03a71
Author: Otavio Salvador <otavio@debian.org>
Date:   Sat Nov 11 17:23:46 2006 +0000

    Remove files that can be generated.
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@894 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit ea44a7b5e1395ac06c965daf815d08b525d35cf9
Author: Otavio Salvador <otavio@debian.org>
Date:   Sat Nov 11 12:45:23 2006 +0000

    Changes done on darcs repository suitable for 1.8 release:
    
    Sat Nov 11 10:41:54 BRST 2006  Otavio Salvador <otavio@debian.org>
      * Break lines bigger then 80 columns.
    
    Sat Nov 11 02:02:26 BRST 2006  Otavio Salvador <otavio@debian.org>
      * Fix autogen.sh script to call autopoint with -f
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@892 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit c4a8b9d94afb889fc90f4a855d55b0a1716c57b2
Author: Otavio Salvador <otavio@debian.org>
Date:   Sat Nov 11 01:32:58 2006 +0000

    Changes done on darcs repository suitable for 1.8 release:
    
    Fri Nov 10 23:19:15 BRST 2006  Otavio Salvador <otavio@debian.org>
      * Code clean-up on registering and unregistering of disks
    
            * libparted/disk.c (ped_register_disk_type, 
ped_unregister_disk_type):
            Clean-up. Patch sent by Debarshi 'Rishi' Ray 
<debarshi.ray@gmail.com>.
    
    Fri Nov 10 23:14:58 BRST 2006  Otavio Salvador <otavio@debian.org>
      * Fix filesystem unregistering
    
            * libparted/filesys.c (ped_file_system_type_unregister): Handle
            instances where fs_types == NULL and the given fs_type is not in
            the list of registered file-system types. Some code clean-up.
            Patch sent by Debarshi 'Rishi' Ray <debarshi.ray@gmail.com>.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@891 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 65a9b87971a1761274b79aed464ae924d924ce04
Author: Otavio Salvador <otavio@debian.org>
Date:   Fri Nov 10 14:05:18 2006 +0000

    Changes done on darcs repository suitable for 1.8 release:
    
    Wed Nov  8 20:40:43 BRST 2006  Otavio Salvador <otavio@debian.org>
      * Merge libparted/ChangeLog conflict caused by Subversion syncing
    
    Wed Nov  8 21:15:58 BRST 2006  Otavio Salvador <otavio@debian.org>
      * doc/C/parted.8: small documentation simplification
    
    Wed Nov  8 20:09:03 BRST 2006  Otavio Salvador <otavio@debian.org>
      * libparted/fs/hfs/probe.c: Fix a segmentation fault when running without 
debug
    
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@890 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit ed3347ffe695c45cdb0e6037e382db619b6e76c2
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Nov 6 00:34:57 2006 +0000

    Updates for parted-1.8.0rc3
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@882 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit b55d4cb7eb481b71894ff3416f9e092ffb794042
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Nov 6 00:01:01 2006 +0000

       * arch/linux.c: Define PROC_DEVICES_BUFSIZ for reading /proc/devices,
       set to 16384.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@881 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 857952db44cbeeba462fc4b1efebb73adabeb9e9
Author: David Cantrell <dcantrell@redhat.com>
Date:   Thu Nov 2 23:35:31 2006 +0000

       * labels/mac.c (_rawpart_is_boot): Check for Apple_Boot type.
       * labels/mac.c (_rawpart_analyse): Don't check the data_region_length
       against the part->geom.length for boot partitions.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@880 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit bedeb63457b543cd14ba62ff167b552f4b7f64b2
Author: David Cantrell <dcantrell@redhat.com>
Date:   Tue Oct 31 20:06:25 2006 +0000

    2048 -> 1024
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@871 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 537863c5defd5d3f1ba33cd65f060c63e2eab7b0
Author: David Cantrell <dcantrell@redhat.com>
Date:   Tue Oct 31 20:05:55 2006 +0000

            * device.c (canonicalize_file_name): calloc should use sizeof(char)
            instead of 1 (from Debarshi Ray).
            * arch/linux.c (readFD): Use a 1KB buffer to read /proc/devices
            rather than a 16KB buffer.  Init filesize to zero at declaration.
            Combine error and EOF check for read() loop.  Memory cleanups at
            function exit.  Use malloc() instead of calloc() (from Debarshi
            Ray).
            * arch/linux.c (_is_dm_major): Test expression and loop cleanups
            (from Debarshi Ray).
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@870 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit e5abd4d5597ba4a54d9b5e4194f8d90988c18e19
Author: David Cantrell <dcantrell@redhat.com>
Date:   Tue Oct 31 20:05:42 2006 +0000

            * parted.c (do_print): Add device-mapper type to the transport type
            list (from Debarshi Ray).
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@869 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit ef4343efe1ea283ff3f4ee44046af1a473014f93
Author: David Cantrell <dcantrell@redhat.com>
Date:   Thu Oct 26 20:23:20 2006 +0000

            * arch/linux.c: Go to error_free_arch_specific rather than
            error_free_dev for init_generic() failure on PED_DEVICE_UBD.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@866 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 52b5281bbbe6f9f262f024ba31bd49787c1a1a4e
Author: David Cantrell <dcantrell@redhat.com>
Date:   Thu Oct 26 20:22:59 2006 +0000

    Line length fixes.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@865 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 3cf7e98f65bf1695cedafd9ceec53eacbb2f49ec
Author: David Cantrell <dcantrell@redhat.com>
Date:   Wed Oct 11 20:52:58 2006 +0000

    Need the filename: directive as well.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@858 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 31562e95ae323492785f821b3da61d5bea5a8829
Author: David Cantrell <dcantrell@redhat.com>
Date:   Wed Oct 11 20:35:24 2006 +0000

    Set directive file version to 1.1.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@855 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 2820e091e51b394aca26a50c2ce0e33fd75fd224
Author: David Cantrell <dcantrell@redhat.com>
Date:   Wed Oct 11 19:55:58 2006 +0000

    Conditionalize the device-mapper stuff.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@852 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 7ae07d52ec84c00e3749fd74302fbe9470447af0
Author: David Cantrell <dcantrell@redhat.com>
Date:   Wed Oct 11 19:48:29 2006 +0000

    i18n updates.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@850 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 2f90fe2b624807347127e7a9dde3c2e28c32a256
Author: David Cantrell <dcantrell@redhat.com>
Date:   Wed Oct 11 19:46:07 2006 +0000

    Bump version.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@849 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 2d3ff5782f478c9a68e1084787e8e97556054aaa
Author: David Cantrell <dcantrell@redhat.com>
Date:   Wed Oct 11 19:45:52 2006 +0000

    Updates for 1.8.0rc2 release.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@848 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 797cdb00cbd05ca529537de6546c595290db3974
Author: David Cantrell <dcantrell@redhat.com>
Date:   Wed Oct 11 19:42:08 2006 +0000

    Added /dev/mapper device support (patch from Peter Jones).
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@847 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit df9247c1425e23daaaf51e15d2afe5d3939b58a4
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Oct 9 18:33:48 2006 +0000

       * cs/geom.c (ped_geometry_read): Do not throw PED_EXCEPTION_ERROR here
       if accessing sectors outside of partition boundary. Returning false
       causes ped_geometry_check() to shift correctly anyway.  This occurs
       on current Mac disklabels, among other systems.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@845 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 743a57354cbb7fe0c0cfb38cca5d69a35d0f0f3d
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Oct 9 18:29:22 2006 +0000

       * disk.c (ped_unregister_disk_type): Handle instances where disk_types
       == NULL and the given type is not in the list of registered disk types
       (from Debarshi Ray).
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@844 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit c9b7d8ff9d23766663d59465e4025bb9278c2f10
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Oct 9 18:25:06 2006 +0000

           * parted.c (do_print): Define transport type list and display disk
           model type and transport type (from Debarshi Ray).
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@843 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit d404542493c6e6c9f0950375af847877fc477eb9
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Oct 9 18:03:52 2006 +0000

    Forgot changelog notice.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@842 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit e11ee6af016557c71e40561c02060f71c2814a84
Author: David Cantrell <dcantrell@redhat.com>
Date:   Mon Oct 9 18:03:22 2006 +0000

    Updated i18n files.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@841 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit f0b9c8cf02196ce7e6d1eacc39ead1879268ee0a
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Oct 6 19:36:14 2006 +0000

       * arch/linux.c: Change __GNU_SOURCE define to _GNU_SOURCE (only one
       underscore at the beginning). Fixes problem with certain systems
       not getting posix_memalign() defined during compilation.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@840 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 4b9f246731f061a61e63e3af2eddf4d136f9775a
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Oct 6 18:15:41 2006 +0000

       * scripts/release/tarball_upload.sh: Since v1.0 directive files will
       no longer be supported by ftp-upload.gnu.org after 2006, modified the
       upload script to use the v1.1 format.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@839 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 1733f680f22a6f15ad0ba86a3849cf9e6280c351
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Oct 6 17:51:42 2006 +0000

       * scripts/release/tarball_upload.sh: Support the -a (or --alpha) switch
       on the tarball upload script. This switch will upload the release to
       alpha.gnu.org rather than ftp.gnu.org.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@838 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit fee81c46f5890d9024c0f4e164d555fe828f0d13
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 19:14:17 2006 +0000

    Fix execution of autogen.sh and configure.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@836 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 67d6bdcfe0e3b3447243e1e3ba2ac195fda6e349
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 19:10:08 2006 +0000

    These (upx and statifier) are not called from anywhere.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@835 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 0e3276e2ad5bdfc5134066499a94daf2ae3df461
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 19:06:53 2006 +0000

    Updated for parted-1.8.0rc1.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@834 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 735066798b3bdd05cb2d6324c4519d21ad8f94de
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 19:05:23 2006 +0000

           * doc/po4a.mk: Removed fake* stuff. Fixed all-local target so you 
don't
           end up in an infinite make loop trying to make '*'. Fixed the remove
           target as well.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@833 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit ee51dc64f9ce85b8efe3e31e371c5fdb9591dfd8
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 18:54:55 2006 +0000

    Tabs for the updatepo target.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@832 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit d76a8b989c26414a11085d995d463f3b2926b1da
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 18:32:54 2006 +0000

    Add vtoc.h and fdasd.h to the list.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@831 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit a41cd22e1f035478c429f5cb5f2017d405b31864
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 18:27:43 2006 +0000

    Removed the extra double quote at the end of line 6 in 
partprobe.8.pt_BR.po.  Other updates for i18n.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@830 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 3d5f22814bc20546bd6361a2e718b2bde22fed12
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 18:16:19 2006 +0000

    Added a script to clean the tree after running 'make distclean'.  Gets it 
back to the checked-out state from svn.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@829 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit e4ab44a38068e3a856c49b681963159030a377a3
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 18:14:28 2006 +0000

    i18n updates for parted-1.8.0.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@828 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 4c273408ede70a343727cfa80d656114e085c696
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 18:14:06 2006 +0000

    Removed *.h files from the Makefile.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@827 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 36b3a98e3d5fa6bb1a182f3a8cfea8d6d010dc20
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 18:13:07 2006 +0000

    i18n updates for parted-1.8.0.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@826 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 859d0d68fe03235b438a738ed5a65a32d880614e
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 18:12:35 2006 +0000

    Removed from version control.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@825 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit f4448f549734e7fd8ed575024c83a9fead496bf8
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 18:11:10 2006 +0000

    i18n updates for parted-1.8.0.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@824 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 4d69cd37d6e55d47a1fdf12451566a4e12442407
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 18:10:43 2006 +0000

    Removed from version control.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@823 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 48ea38118fc9c601eca616680a65327cb4dcdcfe
Author: David Cantrell <dcantrell@redhat.com>
Date:   Fri Sep 15 15:25:41 2006 +0000

    Updated for version 1.8.0rc1.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@822 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 26cfacb70d75923b23a0e07f1a01ed7ed88622c6
Author: David Cantrell <dcantrell@redhat.com>
Date:   Thu Sep 14 20:55:58 2006 +0000

           * labels/mac.c (mac_partition_new): memset() inits everything to
           zero, no need to do it manually.
    
           * labels/mac.c (mac_partition_set_flag): Prevent LVM and RAID 
partition
           types from corrupting the partition table.
    
           * arch/linux.c (_blkpg_add_partition): Set linux_part.length based on
           whether or not this partition is PED_PARTITION_EXTENDED or not.
    
           * arch/linux.c (_disk_sync_part_table): Remove the check and continue
           for PED_PARTITION_EXTENDED types.
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@821 
2d424fd7-7fe2-0310-af74-8bc65edeb173

commit 232dbda915dfcfec99e5983b7f53d57d4498a6aa
Author: Anant Narayanan <anant@kix.in>
Date:   Thu Sep 14 15:18:45 2006 +0000

    Fix ChangeLog
    
    
    git-svn-id: svn://svn.debian.org/svn/parted/upstream/trunk@820 
2d424fd7-7fe2-0310-af74-8bc65edeb173
