Skip to content

Commit

Permalink
parted_1.8.6.bb: add parted that not GPLv3
Browse files Browse the repository at this point in the history
In oe-core,the parted is GPLv3,so add parted-1.8.6 which is not GPLv3.

Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
  • Loading branch information
leimaohui authored and shr-project committed Aug 17, 2015
1 parent 582fd89 commit d1d5155
Show file tree
Hide file tree
Showing 9 changed files with 249 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- parted-1.8.6/libparted/fs/linux_swap/linux_swap.c.warnings 2007-03-20 13:22:36.000000000 -0400
+++ parted-1.8.6/libparted/fs/linux_swap/linux_swap.c 2007-03-20 13:59:11.000000000 -0400
@@ -123,7 +123,7 @@

error_close_fs:
swap_close (fs);
-error:
+
return 0;
}
#endif /* !DISCOVER_ONLY */
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
--- parted-1.8.6/parted/parted.c.notransname 2007-03-13 13:01:09.000000000 -0400
+++ parted-1.8.6/parted/parted.c 2007-03-21 10:50:35.000000000 -0400
@@ -1429,7 +1429,7 @@
part->fs_type->name : "");

if (has_name) {
- name = _(ped_partition_get_name (part));
+ name = ped_partition_get_name (part);
str_list_append (row, name);
}

--- parted-1.8.6/parted/table.c.notransname 2007-03-13 13:01:09.000000000 -0400
+++ parted-1.8.6/parted/table.c 2007-03-21 10:51:31.000000000 -0400
@@ -191,7 +191,8 @@
len += wcslen(COLSUFFIX);

newsize = (wcslen(*s) + len + 1) * sizeof(wchar_t);
- *s = realloc (*s, newsize);
+ *s = (wchar_t *) realloc (*s, newsize);
+ assert(*s != NULL);

for (i = 0; i < ncols; ++i)
{
@@ -199,6 +200,7 @@
int nspaces = max(t->widths[i] - wcswidth(row[i], MAX_WIDTH),
0);
wchar_t* pad = malloc ( (nspaces + 1) * sizeof(wchar_t) );
+ assert(pad != NULL);

for (j = 0; j < nspaces; ++j)
pad[j] = L' ';
@@ -211,6 +213,7 @@
wcscat (*s, DELIMITER);

free (pad);
+ pad = NULL;
}

wcscat (*s, COLSUFFIX);
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
--- parted-1.8.6/parted/parted.c.offbyone 2007-04-11 12:13:06.000000000 -0400
+++ parted-1.8.6/parted/parted.c 2007-04-11 12:13:21.000000000 -0400
@@ -1217,6 +1217,7 @@
static int
do_print (PedDevice** dev)
{
+ PedUnit default_unit;
PedDisk* disk;
Table* table;
StrList* row;
@@ -1303,11 +1304,12 @@
}

start = ped_unit_format (*dev, 0);
+ default_unit = ped_unit_get_default ();
end = ped_unit_format_byte (*dev, (*dev)->length * (*dev)->sector_size
- - 1 );
+ - (default_unit == PED_UNIT_CHS || default_unit == PED_UNIT_CYLINDER));

if (opt_machine_mode) {
- switch (ped_unit_get_default ()) {
+ switch (default_unit) {
case PED_UNIT_CHS: puts ("CHS;");
break;
case PED_UNIT_CYLINDER: puts ("CYL;");
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
--- parted-1.8.6/libparted/labels/dos.c.boundary 2007-03-13 13:01:09.000000000 -0400
+++ parted-1.8.6/libparted/labels/dos.c 2007-04-11 14:56:54.000000000 -0400
@@ -1696,8 +1696,7 @@
_primary_start_constraint (disk, part,
bios_geom, min_geom)));

- if (!solution)
- solution = _best_solution (part, bios_geom, solution,
+ solution = _best_solution (part, bios_geom, solution,
_try_constraint (part, constraint,
_primary_constraint (disk, bios_geom,
min_geom)));
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
diff -up parted-1.8.6/libparted/arch/linux.c.xvd parted-1.8.6/libparted/arch/linux.c
--- parted-1.8.6/libparted/arch/linux.c.xvd 2007-08-07 14:05:59.000000000 -0400
+++ parted-1.8.6/libparted/arch/linux.c 2007-08-07 14:07:13.000000000 -0400
@@ -248,6 +248,7 @@ struct blkdev_ioctl_param {
#define VIODASD_MAJOR 112
#define SX8_MAJOR1 160
#define SX8_MAJOR2 161
+#define XVD_MAJOR 202

#define SCSI_BLK_MAJOR(M) ( \
(M) == SCSI_DISK0_MAJOR \
@@ -450,6 +451,8 @@ _device_probe_type (PedDevice* dev)
} else if (_is_dm_major(dev_major)) {
dev->type = PED_DEVICE_DM;
#endif
+ } else if (dev_major == XVD_MAJOR && (dev_minor % 0x10 == 0)) {
+ dev->type = PED_DEVICE_XVD;
} else {
dev->type = PED_DEVICE_UNKNOWN;
}
@@ -1152,6 +1155,11 @@ linux_new (const char* path)
break;
#endif

+ case PED_DEVICE_XVD:
+ if (!init_generic (dev, _("Xen Virtual Block Device")))
+ goto error_free_arch_specific;
+ break;
+
case PED_DEVICE_UNKNOWN:
if (!init_generic (dev, _("Unknown")))
goto error_free_arch_specific;
diff -up parted-1.8.6/include/parted/device.h.xvd parted-1.8.6/include/parted/device.h
--- parted-1.8.6/include/parted/device.h.xvd 2007-01-12 10:15:10.000000000 -0500
+++ parted-1.8.6/include/parted/device.h 2007-08-07 14:07:13.000000000 -0400
@@ -45,11 +45,11 @@ typedef enum {
PED_DEVICE_UBD = 8,
PED_DEVICE_DASD = 9,
PED_DEVICE_VIODASD = 10,
- PED_DEVICE_SX8 = 11
+ PED_DEVICE_SX8 = 11,
#ifdef ENABLE_DEVICE_MAPPER
- ,
- PED_DEVICE_DM = 12
+ PED_DEVICE_DM = 12,
#endif
+ PED_DEVICE_XVD = 13
} PedDeviceType;

typedef struct _PedDevice PedDevice;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff -up parted-1.8.6/include/parted/device.h.devmapper parted-1.8.6/include/parted/device.h
--- parted-1.8.6/include/parted/device.h.devmapper 2007-10-04 15:39:27.000000000 -0400
+++ parted-1.8.6/include/parted/device.h 2007-10-04 15:40:11.000000000 -0400
@@ -46,9 +46,7 @@ typedef enum {
PED_DEVICE_DASD = 9,
PED_DEVICE_VIODASD = 10,
PED_DEVICE_SX8 = 11,
-#ifdef ENABLE_DEVICE_MAPPER
PED_DEVICE_DM = 12,
-#endif
PED_DEVICE_XVD = 13
} PedDeviceType;

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- parted-1.8.6/parted/table.c 2010-11-02 13:37:16.256204798 +0900
+++ parted-1.8.6/parted/table.c 2010-11-02 13:45:16.231266752 +0900
@@ -43,7 +43,7 @@
# define wcslen strlen
# define wcswidth strnlen
# define wcscat strcat
-# define wcsdup strdup
+/* # define wcsdup strdup */
size_t strnlen (const char *, size_t);
#endif

Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
From 4f4dfd5aabdaadd8f495e193ca8daed5a3a1782a Mon Sep 17 00:00:00 2001
From: Li xin <lixin.fnst@cn.fujitsu.com>
Date: Fri, 28 Nov 2014 02:49:19 +0900
Subject: [PATCH] parted/ui.c : fix build error

Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
parted/ui.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/parted/ui.c b/parted/ui.c
index 59cb98b..b583693 100644
--- a/parted/ui.c
+++ b/parted/ui.c
@@ -1376,7 +1376,7 @@ init_ui ()

#ifdef HAVE_LIBREADLINE
rl_initialize ();
- rl_attempted_completion_function = (CPPFunction*) complete_function;
+ rl_attempted_completion_function = (rl_completion_func_t*) complete_function;
readline_state.in_readline = 0;
#endif

--
1.8.4.2

62 changes: 62 additions & 0 deletions meta-oe/recipes-extended/parted/parted_1.8.6.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
SUMMARY = "The GNU disk partition manipulation program"
DESCRIPTION = "The GNU Parted program allows you to create, destroy, resize, move, \
and copy hard disk partitions. Parted can be used for creating space \
for new operating systems, reorganizing disk usage, and copying data \
to new hard disks."
HOMEPAGE = "http://www.gnu.org/software/parted"
SECTION = "Applications/System"

SRC_URI = "http://ftp.gnu.org/gnu/parted/parted-1.8.6.tar.bz2 \
file://1000parted-1.8.6-warnings1.patch \
file://1001parted-1.8.6-notransname1.patch \
file://1002parted-1.8.6-off-by-one1.patch \
file://1003parted-1.8.6-primary-boundary1.patch \
file://1004parted-1.8.6-xvd1.patch \
file://1005parted-1.8.6-devmapper-header1.patch \
file://7000no_effect_macro1.patch \
file://ui.c-fix-build-error.patch \
"

SRC_URI[md5sum] = "03c967ae0e915e08da90605d68ba93d7"
SRC_URI[sha256sum] = "82d94c9bb58cccd1eacfc5ff3a9331d179cc26d8fbe00c451e2c84feb6d23408"

LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"

inherit autotools gettext pkgconfig

DEPENDS = "lvm2 readline"

EXTRA_OECONF = "--enable-device-mapper \
--disable-selinux \
--disable-static \
--sbindir=${sbindir} \
--disable-Werror \
--disable-rpath \
"
EXTRA_OEMAKE = "DESTDIR=${D}"

do_configure_prepend() {
# ltmain.sh will set rpath to path on host.
for l in `find ${S} -name "ltmain\.sh"` ; do
sed -i -e 's/\$compile_rpath//g' \
-e 's/\$finalize_rpath//g' ${l}
done

# FIXME: Some option may be needed by EXTRA_OECONF.
sed -i 's/ac_cv_func_malloc_0_nonnull=no/ac_cv_func_malloc_0_nonnull=yes/g' ${S}/configure
sed -i 's/ac_cv_func_calloc_0_nonnull=no/ac_cv_func_calloc_0_nonnull=yes/g' ${S}/configure
sed -i 's/ac_cv_func_memcmp_working=no/ac_cv_func_memcmp_working=yes/g' ${S}/configure
sed -i 's/ac_cv_func_realloc_0_nonnull=no/ac_cv_func_realloc_0_nonnull=yes/g' ${S}/configure
}

do_configure() {
oe_runconf
}

do_install_append() {
/bin/rm -rf ${D}/${libdir}/*.la
/bin/rm -rf ${D}/usr/share/info/dir
/bin/rm -fr ${D}/usr/bin
}

0 comments on commit d1d5155

Please sign in to comment.