summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--extra/parted/.footprint8
-rw-r--r--extra/parted/.md5sum3
-rw-r--r--extra/parted/Pkgfile10
-rw-r--r--extra/parted/parted-1.9.0-btrfs-02.patch196
4 files changed, 207 insertions, 10 deletions
diff --git a/extra/parted/.footprint b/extra/parted/.footprint
index 1d4bbb65b..3335dfbf1 100644
--- a/extra/parted/.footprint
+++ b/extra/parted/.footprint
@@ -8,18 +8,16 @@ drwxr-xr-x root/root usr/include/parted/
-rw-r--r-- root/root usr/include/parted/exception.h
-rw-r--r-- root/root usr/include/parted/filesys.h
-rw-r--r-- root/root usr/include/parted/geom.h
--rw-r--r-- root/root usr/include/parted/gnu.h
--rw-r--r-- root/root usr/include/parted/linux.h
-rw-r--r-- root/root usr/include/parted/natmath.h
-rw-r--r-- root/root usr/include/parted/parted.h
-rw-r--r-- root/root usr/include/parted/timer.h
-rw-r--r-- root/root usr/include/parted/unit.h
drwxr-xr-x root/root usr/lib/
-lrwxrwxrwx root/root usr/lib/libparted-1.8.so.8 -> libparted-1.8.so.8.0.0
--rwxr-xr-x root/root usr/lib/libparted-1.8.so.8.0.0
+lrwxrwxrwx root/root usr/lib/libparted-1.9.so.0 -> libparted-1.9.so.0.0.0
+-rwxr-xr-x root/root usr/lib/libparted-1.9.so.0.0.0
-rw-r--r-- root/root usr/lib/libparted.a
-rwxr-xr-x root/root usr/lib/libparted.la
-lrwxrwxrwx root/root usr/lib/libparted.so -> libparted-1.8.so.8.0.0
+lrwxrwxrwx root/root usr/lib/libparted.so -> libparted-1.9.so.0.0.0
drwxr-xr-x root/root usr/lib/pkgconfig/
-rw-r--r-- root/root usr/lib/pkgconfig/libparted.pc
drwxr-xr-x root/root usr/sbin/
diff --git a/extra/parted/.md5sum b/extra/parted/.md5sum
index 7da7fba0f..e695b904f 100644
--- a/extra/parted/.md5sum
+++ b/extra/parted/.md5sum
@@ -1 +1,2 @@
-607ab4c3cfd8455af6588b97d99ad0ba parted-1.8.8.tar.bz2
+8ec3904f943b6893f4c535be865ab53c parted-1.9.0-btrfs-02.patch
+055305bc7bcf472ce38f9abf69a9d94d parted-1.9.0.tar.gz
diff --git a/extra/parted/Pkgfile b/extra/parted/Pkgfile
index bf7020c75..bca3ae403 100644
--- a/extra/parted/Pkgfile
+++ b/extra/parted/Pkgfile
@@ -2,15 +2,17 @@
# URL: http://www.gnu.org/software/parted/index.shtml
# Maintainer: NuTyX core team
# Packager: thierryn1 at hispeed dot ch
-# Depends on:
+# Depends on: device-mapper
name=parted
-version=1.8.8
-release=2
-source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.bz2)
+version=1.9.0
+release=1
+source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz\
+ parted-1.9.0-btrfs-02.patch )
build() {
cd $name-$version
+ patch -Np1 -i ../parted-1.9.0-btrfs-02.patch
./configure --prefix=/usr \
--disable-debug \
--without-readline \
diff --git a/extra/parted/parted-1.9.0-btrfs-02.patch b/extra/parted/parted-1.9.0-btrfs-02.patch
new file mode 100644
index 000000000..4d28767ef
--- /dev/null
+++ b/extra/parted/parted-1.9.0-btrfs-02.patch
@@ -0,0 +1,196 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -524,6 +524,7 @@ libparted/Makefile
+ libparted/labels/Makefile
+ libparted/fs/Makefile
+ libparted/fs/amiga/Makefile
++libparted/fs/btrfs/Makefile
+ libparted/fs/ext2/Makefile
+ libparted/fs/fat/Makefile
+ libparted/fs/hfs/Makefile
+diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am
+index 96a5744..365ba7b 100644
+--- a/libparted/fs/Makefile.am
++++ b/libparted/fs/Makefile.am
+@@ -3,7 +3,7 @@
+ #
+ # This file may be modified and/or distributed without restriction.
+
+-SUBDIRS = amiga ext2 ufs fat ntfs hfs linux_swap xfs jfs reiserfs # bfs
++SUBDIRS = amiga ext2 ufs fat ntfs hfs linux_swap xfs jfs reiserfs btrfs
+# bfs
+
+ partedincludedir = -I$(top_srcdir)/include
+ noinst_LTLIBRARIES = libfs.la
+diff --git a/libparted/fs/btrfs/Makefile.am b/libparted/fs/btrfs/Makefile.am
+new file mode 100644
+index 0000000..a9428da
+--- /dev/null
++++ b/libparted/fs/btrfs/Makefile.am
+@@ -0,0 +1,8 @@
++partedincludedir = -I$(top_srcdir)/include
++
++noinst_LTLIBRARIES = libbtrfs.la
++libbtrfs_la_SOURCES = btrfs.c
++
++INCLUDES = $(partedincludedir) $(INTLINCS)
++
++MAINTAINERCLEANFILES = Makefile.in
+diff --git a/libparted/fs/btrfs/btrfs.c b/libparted/fs/btrfs/btrfs.c
+new file mode 100644
+index 0000000..a79d756
+--- /dev/null
++++ b/libparted/fs/btrfs/btrfs.c
+@@ -0,0 +1,106 @@
++/*
++ libparted - a library for manipulating disk partitions
++ Copyright (C) 2009 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 3 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>.
++*/
++
++#include <config.h>
++
++#include <parted/parted.h>
++#include <parted/endian.h>
++
++#if ENABLE_NLS
++# include <libintl.h>
++# define _(String) dgettext (PACKAGE, String)
++#else
++# define _(String) (String)
++#endif /* ENABLE_NLS */
++
++#include <unistd.h>
++
++#define BTRFS_BLOCK_SIZES ((int[2]){1024, 0})
++#define BTRFS_SUPER_INFO_SIZE 4096
++#define BTRFS_SUPER_INFO_OFFSET (64 * 1024)
++
++//Should be definitive, as of v0.18
++#define BTRFS_SIGNATURE "_BHRfS_M"
++
++static PedGeometry*
++btrfs_probe (PedGeometry* geom)
++{
++ char buf[BTRFS_SUPER_INFO_SIZE];
++
++ if (!ped_geometry_read (geom, buf,
++ (BTRFS_SUPER_INFO_OFFSET / 512),
++ (BTRFS_SUPER_INFO_SIZE / 512)))
++ return 0;
++
++ if (strncmp (BTRFS_SIGNATURE, buf + 64, strlen (BTRFS_SIGNATURE)) == 0)
++ return ped_geometry_new (geom->dev, geom->start, geom->length);
++ else
++ return NULL;
++}
++
++#ifndef DISCOVER_ONLY
++static int
++btrfs_clobber (PedGeometry* geom)
++{
++ char buf[BTRFS_SUPER_INFO_SIZE];
++
++ memset (buf, 0, BTRFS_SUPER_INFO_SIZE);
++ return ped_geometry_write (geom, buf,
++ (BTRFS_SUPER_INFO_OFFSET / 512),
++ (BTRFS_SUPER_INFO_SIZE / 512));
++}
++#endif /* !DISCOVER_ONLY */
++
++static PedFileSystemOps btrfs_ops = {
++ probe: btrfs_probe,
++#ifndef DISCOVER_ONLY
++ clobber: btrfs_clobber,
++#else
++ clobber: NULL,
++#endif
++ open: NULL,
++ create: NULL,
++ close: NULL,
++ check: NULL,
++ copy: NULL,
++ resize: NULL,
++ get_create_constraint: NULL,
++ get_resize_constraint: NULL,
++ get_copy_constraint: NULL
++};
++
++static PedFileSystemType btrfs_type = {
++ next: NULL,
++ ops: &btrfs_ops,
++ name: "btrfs",
++ block_sizes: BTRFS_BLOCK_SIZES
++};
++
++void
++ped_file_system_btrfs_init ()
++{
++ ped_file_system_type_register (&btrfs_type);
++}
++
++void
++ped_file_system_btrfs_done ()
++{
++ ped_file_system_type_unregister (&btrfs_type);
++}
++
++
+--- parted-1.9.0/libparted/libparted.c.old 2009-09-15 22:28:48.588463837 +0200
++++ parted-1.9.0/libparted/libparted.c 2009-09-15 22:30:46.736581923 +0200
+@@ -109,6 +109,7 @@
+ extern void ped_file_system_hfs_init (void);
+ extern void ped_file_system_fat_init (void);
+ extern void ped_file_system_ext2_init (void);
++extern void ped_file_system_btrfs_init (void);
+
+ static void
+ init_file_system_types ()
+@@ -123,6 +124,7 @@
+ ped_file_system_hfs_init ();
+ ped_file_system_fat_init ();
+ ped_file_system_ext2_init ();
++ ped_file_system_btrfs_init ();
+ }
+ #endif /* ENABLE_FS */
+
+@@ -188,6 +190,7 @@
+ extern void ped_file_system_reiserfs_done (void);
+ extern void ped_file_system_ufs_done (void);
+ extern void ped_file_system_xfs_done (void);
++extern void ped_file_system_btrfs_done (void);
+ extern void ped_file_system_amiga_done (void);
+
+ static void
+@@ -202,6 +205,7 @@
+ ped_file_system_reiserfs_done ();
+ ped_file_system_ufs_done ();
+ ped_file_system_xfs_done ();
++ ped_file_system_btrfs_done ();
+ ped_file_system_amiga_done ();
+ }
+ #endif /* ENABLE_FS */
+--- parted-1.9.0/libparted/fs/Makefile.am.old 2009-09-15 22:41:23.216463981 +0200
++++ parted-1.9.0/libparted/fs/Makefile.am 2009-09-15 22:41:56.460682352 +0200
+@@ -23,7 +23,8 @@
+ linux_swap/liblinuxswap.la \
+ xfs/libxfs.la \
+ jfs/libjfs.la \
+- reiserfs/libreiserfs.la
++ reiserfs/libreiserfs.la \
++ btrfs/libbtrfs.la
+ # bfs/libbfs.la
+
+ libfs_la_SOURCES =