diff --git a/base/musl/pkg/mdadm/0001-mdadm-musl-remove-deprecated-values.h.patch b/base/musl/pkg/mdadm/0001-mdadm-musl-remove-deprecated-values.h.patch new file mode 100644 index 000000000..58bee3104 --- /dev/null +++ b/base/musl/pkg/mdadm/0001-mdadm-musl-remove-deprecated-values.h.patch @@ -0,0 +1,65 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../musl/pkg/mdadm/0001-mdadm-musl-remove-deprecated-values.h.patch +# Copyright (C) 2012 - 2013 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +--- a/super-ddf.c 2012-11-25 01:35:58.911682709 +0100 ++++ b/super-ddf.c 2012-11-24 23:24:00.900425167 +0100 +@@ -29,7 +29,6 @@ + #include "mdadm.h" + #include "mdmon.h" + #include "sha1.h" +-#include + + /* a non-official T10 name for creation GUIDs */ + static char T10[] = "Linux-MD"; +@@ -971,13 +970,13 @@ + { DDF_RAID5E, LEVEL_UNSUPPORTED }, + { DDF_RAID5EE, LEVEL_UNSUPPORTED }, + { DDF_RAID6, 6}, +- { MAXINT, MAXINT } ++ { INT_MAX, INT_MAX } + }; + + static int map_num1(struct num_mapping *map, int num) + { + int i; +- for (i=0 ; map[i].num1 != MAXINT; i++) ++ for (i=0 ; map[i].num1 != INT_MAX; i++) + if (map[i].num1 == num) + break; + return map[i].num2; +@@ -2641,10 +2640,10 @@ + if (!dev) { + /* Initial sanity check. Exclude illegal levels. */ + int i; +- for (i=0; ddf_level_num[i].num1 != MAXINT; i++) ++ for (i=0; ddf_level_num[i].num1 != INT_MAX; i++) + if (ddf_level_num[i].num2 == level) + break; +- if (ddf_level_num[i].num1 == MAXINT) { ++ if (ddf_level_num[i].num1 == INT_MAX) { + if (verbose) + fprintf(stderr, Name ": DDF does not support level %d arrays\n", + level); +--- a/super-intel.c 2012-11-24 23:26:46.412202198 +0100 ++++ b/super-intel.c 2012-11-24 23:27:25.229092400 +0100 +@@ -22,7 +22,6 @@ + #include "mdmon.h" + #include "sha1.h" + #include "platform-intel.h" +-#include + #include + #include + #include diff --git a/base/musl/pkg/mdadm/0002-mdadm-musl-no-__off64_t.patch b/base/musl/pkg/mdadm/0002-mdadm-musl-no-__off64_t.patch new file mode 100644 index 000000000..bdccdb80c --- /dev/null +++ b/base/musl/pkg/mdadm/0002-mdadm-musl-no-__off64_t.patch @@ -0,0 +1,39 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../musl/pkg/mdadm/0002-mdadm-musl-no-__off64_t.patch +# Copyright (C) 2012 - 2013 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +--- a/mdadm.h 2012-11-25 01:44:21.403317766 +0100 ++++ b/mdadm.h 2012-11-25 01:43:12.293717364 +0100 +@@ -25,6 +25,12 @@ + #define _GNU_SOURCE + #define _FILE_OFFSET_BITS 64 + #include ++ ++/* ++ * musl doesn't know __off64_t ++ * ++ * mdadm.h:29:1: error: unknown type name '__off64_t' ++ * + #if !defined(__dietlibc__) && !defined(__KLIBC__) + extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence)); + #else +@@ -32,6 +38,7 @@ + # define lseek64 lseek + # endif + #endif ++ */ + + #include + #include diff --git a/base/musl/pkg/mdadm/0003-mdadm-musl-sockaddr.patch b/base/musl/pkg/mdadm/0003-mdadm-musl-sockaddr.patch new file mode 100644 index 000000000..e923182ce --- /dev/null +++ b/base/musl/pkg/mdadm/0003-mdadm-musl-sockaddr.patch @@ -0,0 +1,38 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../musl/pkg/mdadm/0003-mdadm-musl-sockaddr.patch +# Copyright (C) 2012 - 2013 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +--- a/mdmon.c 2012-11-25 02:00:13.801413830 +0100 ++++ b/mdmon.c 2012-11-25 02:31:10.676367716 +0100 +@@ -231,7 +231,7 @@ + + addr.sun_family = PF_LOCAL; + strcpy(addr.sun_path, path); +- if (bind(sfd, &addr, sizeof(addr)) < 0) { ++ if (bind(sfd, (struct sockaddr *)&addr, sizeof(addr)) < 0) { + close(sfd); + return -1; + } +--- a/msg.c 2012-11-25 02:05:54.825264277 +0100 ++++ b/msg.c 2012-11-25 02:33:03.923005492 +0100 +@@ -173,7 +173,7 @@ + + addr.sun_family = PF_LOCAL; + strcpy(addr.sun_path, path); +- if (connect(sfd, &addr, sizeof(addr)) < 0) { ++ if (connect(sfd, (struct sockaddr *)&addr, sizeof(addr)) < 0) { + close(sfd); + return -1; + } diff --git a/base/musl/pkg/mdadm/0004-mdam-musl-no-canonicalize_file_name.patch b/base/musl/pkg/mdadm/0004-mdam-musl-no-canonicalize_file_name.patch new file mode 100644 index 000000000..2bcb0653e --- /dev/null +++ b/base/musl/pkg/mdadm/0004-mdam-musl-no-canonicalize_file_name.patch @@ -0,0 +1,36 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../musl/pkg/mdadm/0004-mdam-musl-no-canonicalize_file_name.patch +# Copyright (C) 2012 - 2013 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +--- ./platform-intel.c.orig 2012-11-25 02:37:18.872911773 +0100 ++++ ./platform-intel.c 2012-11-25 02:37:24.525034590 +0100 +@@ -116,7 +116,7 @@ + + list->dev_id = (__u16) dev_id; + list->type = type; +- list->path = canonicalize_file_name(path); ++ list->path = realpath(path, NULL); + list->next = NULL; + if ((list->pci_id = strrchr(list->path, '/')) != NULL) + list->pci_id++; +@@ -459,7 +459,7 @@ + char device[46]; + + sprintf(device, "/sys/dev/block/%d:%d/device", major(dev), minor(dev)); +- return canonicalize_file_name(device); ++ return realpath(device, NULL); + } + + char *diskfd_to_devpath(int fd) diff --git a/base/musl/pkg/mdadm/0005-mdadm-musl-compile-fixes.patch b/base/musl/pkg/mdadm/0005-mdadm-musl-compile-fixes.patch new file mode 100644 index 000000000..935dfba8d --- /dev/null +++ b/base/musl/pkg/mdadm/0005-mdadm-musl-compile-fixes.patch @@ -0,0 +1,688 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../musl/pkg/mdadm/0005-mdadm-musl-compile-fixes.patch +# Copyright (C) 2013 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +----------------------------------------------------------------------------- +policy.c:217:19: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] +----------------------------------------------------------------------------- + +--- ./policy.c.orig 2012-12-31 19:27:47.068270301 +0100 ++++ ./policy.c 2012-12-31 19:52:16.454327330 +0100 +@@ -214,7 +214,7 @@ + continue; + if ((stb.st_mode & S_IFMT) != S_IFBLK) + continue; +- if (stb.st_rdev != makedev(disk->disk.major, disk->disk.minor)) ++ if (stb.st_rdev != (unsigned int)makedev(disk->disk.major, disk->disk.minor)) + continue; + closedir(by_path); + return strdup(ent->d_name); + +----------------------------------------------------------------------------- +util.c: In function 'md_get_version': +util.c:138:5: error: overflow in implicit constant conversion [-Werror=overflow] +util.c: In function 'enough_fd': +util.c:378:2: error: overflow in implicit constant conversion [-Werror=overflow] +util.c:384:3: error: overflow in implicit constant conversion [-Werror=overflow] +util.c: In function 'super_by_fd': +util.c:962:3: error: overflow in implicit constant conversion [-Werror=overflow] +util.c: In function 'get_dev_size': +util.c:1105:2: error: overflow in implicit constant conversion [-Werror=overflow] +util.c: In function 'get_one_disk': +util.c:1282:2: error: overflow in implicit constant conversion [-Werror=overflow] +util.c:1284:3: error: overflow in implicit constant conversion [-Werror=overflow] +----------------------------------------------------------------------------- + +--- ./util.c.orig 2012-12-31 19:58:26.898884477 +0100 ++++ ./util.c 2012-12-31 20:00:36.381873014 +0100 +@@ -135,7 +135,7 @@ + if ((S_IFMT&stb.st_mode) != S_IFBLK) + return -1; + +- if (ioctl(fd, RAID_VERSION, &vers) == 0) ++ if (ioctl(fd, (int)RAID_VERSION, &vers) == 0) + return (vers.major*10000) + (vers.minor*100) + vers.patchlevel; + if (errno == EACCES) + return -1; +@@ -375,13 +375,13 @@ + int i, rv; + char *avail; + +- if (ioctl(fd, GET_ARRAY_INFO, &array) != 0 || ++ if (ioctl(fd, (int)GET_ARRAY_INFO, &array) != 0 || + array.raid_disks <= 0) + return 0; + avail = calloc(array.raid_disks, 1); + for (i=0; i < MAX_DISKS && array.nr_disks > 0; i++) { + disk.number = i; +- if (ioctl(fd, GET_DISK_INFO, &disk) != 0) ++ if (ioctl(fd, (int)GET_DISK_INFO, &disk) != 0) + continue; + if (disk.major == 0 && disk.minor == 0) + continue; +@@ -959,7 +959,7 @@ + minor = sra->array.minor_version; + verstr = sra->text_version; + } else { +- if (ioctl(fd, GET_ARRAY_INFO, &array)) ++ if (ioctl(fd, (int)GET_ARRAY_INFO, &array)) + array.major_version = array.minor_version = 0; + vers = array.major_version; + minor = array.minor_version; +@@ -1102,7 +1102,7 @@ + ldsize = (unsigned long long)st.st_size; + else + #ifdef BLKGETSIZE64 +- if (ioctl(fd, BLKGETSIZE64, &ldsize) != 0) ++ if (ioctl(fd, (int)BLKGETSIZE64, &ldsize) != 0) + #endif + { + unsigned long dsize; +@@ -1279,9 +1279,9 @@ + { + int d; + +- ioctl(mdfd, GET_ARRAY_INFO, ainf); ++ ioctl(mdfd, (int)GET_ARRAY_INFO, ainf); + for (d = 0 ; d < MAX_DISKS ; d++) { +- if (ioctl(mdfd, GET_DISK_INFO, disk) == 0 && ++ if (ioctl(mdfd, (int)GET_DISK_INFO, disk) == 0 && + (disk->major || disk->minor)) + return; + } + + +----------------------------------------------------------------------------- +Manage.c: In function 'Manage_ro': +Manage.c:98:2: error: overflow in implicit constant conversion [-Werror=overflow] +Manage.c: In function 'Manage_resize': +Manage.c:369:2: error: overflow in implicit constant conversion [-Werror=overflow] +Manage.c: In function 'Manage_subdevs': +Manage.c:422:2: error: overflow in implicit constant conversion [-Werror=overflow] +Manage.c:468:5: error: overflow in implicit constant conversion [-Werror=overflow] +Manage.c:502:5: error: overflow in implicit constant conversion [-Werror=overflow] +Manage.c:716:6: error: overflow in implicit constant conversion [-Werror=overflow] +Manage.c:788:7: error: overflow in implicit constant conversion [-Werror=overflow] +Manage.c:884:7: error: overflow in implicit constant conversion [-Werror=overflow] +Manage.c:931:5: error: overflow in implicit constant conversion [-Werror=overflow] +Manage.c:966:6: error: overflow in implicit constant conversion [-Werror=overflow] +----------------------------------------------------------------------------- + +--- ./Manage.c.orig 2012-12-31 20:05:54.117244641 +0100 ++++ ./Manage.c 2012-12-31 20:14:30.889202023 +0100 +@@ -95,7 +95,7 @@ + goto out; + } + #endif +- if (ioctl(fd, GET_ARRAY_INFO, &array)) { ++ if (ioctl(fd, (int)GET_ARRAY_INFO, &array)) { + fprintf(stderr, Name ": %s does not appear to be active.\n", + devname); + rv = 1; +@@ -366,7 +366,7 @@ + int Manage_resize(char *devname, int fd, long long size, int raid_disks) + { + mdu_array_info_t info; +- if (ioctl(fd, GET_ARRAY_INFO, &info) != 0) { ++ if (ioctl(fd, (int)GET_ARRAY_INFO, &info) != 0) { + fprintf(stderr, Name ": Cannot get array information for %s: %s\n", + devname, strerror(errno)); + return 1; +@@ -419,7 +419,7 @@ + struct mdinfo info; + int frozen = 0; + +- if (ioctl(fd, GET_ARRAY_INFO, &array)) { ++ if (ioctl(fd, (int)GET_ARRAY_INFO, &array)) { + fprintf(stderr, Name ": cannot get array info for %s\n", + devname); + goto abort; +@@ -465,7 +465,7 @@ + for (; j < MAX_DISKS && remaining_disks > 0; j++) { + unsigned dev; + disc.number = j; +- if (ioctl(fd, GET_DISK_INFO, &disc)) ++ if (ioctl(fd, (int)GET_DISK_INFO, &disc)) + continue; + if (disc.major == 0 && disc.minor == 0) + continue; +@@ -499,7 +499,7 @@ + int sfd; + unsigned dev; + disc.number = j; +- if (ioctl(fd, GET_DISK_INFO, &disc)) ++ if (ioctl(fd, (int)GET_DISK_INFO, &disc)) + continue; + if (disc.major == 0 && disc.minor == 0) + continue; +@@ -713,7 +713,7 @@ + char *dev; + int dfd; + disc.number = j; +- if (ioctl(fd, GET_DISK_INFO, &disc)) ++ if (ioctl(fd, (int)GET_DISK_INFO, &disc)) + continue; + if (disc.major==0 && disc.minor==0) + continue; +@@ -785,7 +785,7 @@ + get_linux_version() <= 2006018) + goto skip_re_add; + disc.number = mdi.disk.number; +- if (ioctl(fd, GET_DISK_INFO, &disc) != 0 ++ if (ioctl(fd, (int)GET_DISK_INFO, &disc) != 0 + || disc.major != 0 || disc.minor != 0 + ) + goto skip_re_add; +@@ -881,7 +881,7 @@ + + for (d = 0; d < MAX_DISKS && found < array.active_disks; d++) { + disc.number = d; +- if (ioctl(fd, GET_DISK_INFO, &disc)) ++ if (ioctl(fd, (int)GET_DISK_INFO, &disc)) + continue; + if (disc.major == 0 && disc.minor == 0) + continue; +@@ -928,7 +928,7 @@ + */ + for (j = array.raid_disks; j< tst->max_devs; j++) { + disc.number = j; +- if (ioctl(fd, GET_DISK_INFO, &disc)) ++ if (ioctl(fd, (int)GET_DISK_INFO, &disc)) + break; + if (disc.major==0 && disc.minor==0) + break; +@@ -963,7 +963,7 @@ + for (j=0; j< tst->max_devs; j++) { + mdu_disk_info_t disc2; + disc2.number = j; +- if (ioctl(fd, GET_DISK_INFO, &disc2)) ++ if (ioctl(fd, (int)GET_DISK_INFO, &disc2)) + continue; + if (disc2.major==0 && disc2.minor==0) + continue; + + +----------------------------------------------------------------------------- +Create.c:164:7: error: overflow in implicit constant conversion [-Werror=overflow] +Create.c:595:3: error: overflow in implicit constant conversion [-Werror=overflow] +----------------------------------------------------------------------------- + +--- ./Create.c.orig 2012-12-31 20:16:07.671435365 +0100 ++++ ./Create.c 2012-12-31 20:17:02.504732226 +0100 +@@ -161,7 +161,7 @@ + memset(&inf, 0, sizeof(inf)); + fd = open(devlist->devname, O_RDONLY); + if (fd >= 0 && +- ioctl(fd, GET_ARRAY_INFO, &inf) == 0 && ++ ioctl(fd, (int)GET_ARRAY_INFO, &inf) == 0 && + inf.raid_disks == 0) { + /* yep, looks like a container */ + if (st) { +@@ -592,7 +592,7 @@ + } else { + mdu_array_info_t inf; + memset(&inf, 0, sizeof(inf)); +- ioctl(mdfd, GET_ARRAY_INFO, &inf); ++ ioctl(mdfd, (int)GET_ARRAY_INFO, &inf); + if (inf.working_disks != 0) { + fprintf(stderr, Name ": another array by this name" + " is already running.\n"); + + +----------------------------------------------------------------------------- +Detail.c:81:2: error: overflow in implicit constant conversion [-Werror=overflow] +Detail.c:118:3: error: overflow in implicit constant conversion [-Werror=overflow] +Detail.c:246:3: error: overflow in implicit constant conversion [-Werror=overflow] +Detail.c:296:7: error: overflow in implicit constant conversion [-Werror=overflow] +Detail.c:361:7: error: overflow in implicit constant conversion [-Werror=overflow] +----------------------------------------------------------------------------- + +--- ./Detail.c.orig 2012-12-31 20:18:51.899223201 +0100 ++++ ./Detail.c 2012-12-31 20:20:11.589100167 +0100 +@@ -78,7 +78,7 @@ + close(fd); + return rv; + } +- if (ioctl(fd, GET_ARRAY_INFO, &array)<0) { ++ if (ioctl(fd, (int)GET_ARRAY_INFO, &array)<0) { + if (errno == ENODEV) + fprintf(stderr, Name ": md device %s does not appear to be active.\n", + dev); +@@ -115,7 +115,7 @@ + int fd2; + int err; + disk.number = d; +- if (ioctl(fd, GET_DISK_INFO, &disk) < 0) ++ if (ioctl(fd, (int)GET_DISK_INFO, &disk) < 0) + continue; + if (d >= array.raid_disks && + disk.major == 0 && +@@ -243,7 +243,7 @@ + for (d=0; d < max_disks; d++) { + mdu_disk_info_t disk; + disk.number = d; +- if (ioctl(fd, GET_DISK_INFO, &disk) < 0) { ++ if (ioctl(fd, (int)GET_DISK_INFO, &disk) < 0) { + if (d < array.raid_disks) + fprintf(stderr, Name ": cannot get device detail for device %d: %s\n", + d, strerror(errno)); +@@ -293,7 +293,7 @@ + + /* Only try GET_BITMAP_FILE for 0.90.01 and later */ + if (vers >= 9001 && +- ioctl(fd, GET_BITMAP_FILE, &bmf) == 0 && ++ ioctl(fd, (int)GET_BITMAP_FILE, &bmf) == 0 && + bmf.pathname[0]) { + printf(" bitmap=%s", bmf.pathname); + } +@@ -358,7 +358,7 @@ + printf("\n"); + /* Only try GET_BITMAP_FILE for 0.90.01 and later */ + if (vers >= 9001 && +- ioctl(fd, GET_BITMAP_FILE, &bmf) == 0 && ++ ioctl(fd, (int)GET_BITMAP_FILE, &bmf) == 0 && + bmf.pathname[0]) { + printf(" Intent Bitmap : %s\n", bmf.pathname); + printf("\n"); + + +----------------------------------------------------------------------------- +Grow.c: In function 'Grow_Add_device': +Grow.c:117:2: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:161:3: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:221:2: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:232:3: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c: In function 'Grow_addbitmap': +Grow.c:299:2: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:319:2: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:394:4: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:453:4: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c: In function 'Grow_reshape': +Grow.c:1478:2: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:1716:6: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:1756:4: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:1785:3: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:1963:4: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c: In function 'reshape_array': +Grow.c:2113:2: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:2292:3: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:2503:3: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c: In function 'Grow_continue_command': +Grow.c:3998:3: error: overflow in implicit constant conversion [-Werror=overflow] +Grow.c:4014:4: error: overflow in implicit constant conversion [-Werror=overflow] +----------------------------------------------------------------------------- + +--- ./Grow.c.orig 2012-12-31 20:22:21.952118074 +0100 ++++ ./Grow.c 2012-12-31 20:27:36.859416122 +0100 +@@ -114,7 +114,7 @@ + struct supertype *st = NULL; + char *subarray = NULL; + +- if (ioctl(fd, GET_ARRAY_INFO, &info.array) < 0) { ++ if (ioctl(fd, (int)GET_ARRAY_INFO, &info.array) < 0) { + fprintf(stderr, Name ": cannot get array info for %s\n", devname); + return 1; + } +@@ -158,7 +158,7 @@ + st->ss->free_super(st); + + disk.number = d; +- if (ioctl(fd, GET_DISK_INFO, &disk) < 0) { ++ if (ioctl(fd, (int)GET_DISK_INFO, &disk) < 0) { + fprintf(stderr, Name ": cannot get device detail for device %d\n", + d); + close(nfd); +@@ -218,7 +218,7 @@ + * Now go through and update all superblocks + */ + +- if (ioctl(fd, GET_ARRAY_INFO, &info.array) < 0) { ++ if (ioctl(fd, (int)GET_ARRAY_INFO, &info.array) < 0) { + fprintf(stderr, Name ": cannot get array info for %s\n", devname); + return 1; + } +@@ -229,7 +229,7 @@ + char *dv; + + disk.number = d; +- if (ioctl(fd, GET_DISK_INFO, &disk) < 0) { ++ if (ioctl(fd, (int)GET_DISK_INFO, &disk) < 0) { + fprintf(stderr, Name ": cannot get device detail for device %d\n", + d); + return 1; +@@ -296,7 +296,7 @@ + " the Linux kernel.\n"); + } + +- if (ioctl(fd, GET_BITMAP_FILE, &bmf) != 0) { ++ if (ioctl(fd, (int)GET_BITMAP_FILE, &bmf) != 0) { + if (errno == ENOMEM) + fprintf(stderr, Name ": Memory allocation failure.\n"); + else +@@ -316,7 +316,7 @@ + devname, bmf.pathname); + return 1; + } +- if (ioctl(fd, GET_ARRAY_INFO, &array) != 0) { ++ if (ioctl(fd, (int)GET_ARRAY_INFO, &array) != 0) { + fprintf(stderr, Name ": cannot get array status for %s\n", devname); + return 1; + } +@@ -391,7 +391,7 @@ + mdu_disk_info_t disk; + char *dv; + disk.number = d; +- if (ioctl(fd, GET_DISK_INFO, &disk) < 0) ++ if (ioctl(fd, (int)GET_DISK_INFO, &disk) < 0) + continue; + if (disk.major == 0 && + disk.minor == 0) +@@ -450,7 +450,7 @@ + char *dv; + int fd2; + disk.number = d; +- if (ioctl(fd, GET_DISK_INFO, &disk) < 0) ++ if (ioctl(fd, (int)GET_DISK_INFO, &disk) < 0) + continue; + if ((disk.major==0 && disk.minor==0) || + (disk.state & (1<ss->external == 0) { + /* use SET_ARRAY_INFO but only if reshape hasn't started */ +- ioctl(fd, GET_ARRAY_INFO, &array); ++ ioctl(fd, (int)GET_ARRAY_INFO, &array); + array.raid_disks = reshape.after.data_disks + reshape.parity; + if (!restart && + ioctl(fd, SET_ARRAY_INFO, &array) != 0) { +@@ -3995,7 +3995,7 @@ + if (st->ss->external == 0) { + int d; + dprintf("native array (%s)\n", devname); +- if (ioctl(fd, GET_ARRAY_INFO, &array.array) < 0) { ++ if (ioctl(fd, (int)GET_ARRAY_INFO, &array.array) < 0) { + fprintf(stderr, Name ": %s is not an active md array -" + " aborting\n", devname); + ret_val = 1; +@@ -4011,7 +4011,7 @@ + char *dv; + int err; + disk.number = d; +- if (ioctl(fd, GET_DISK_INFO, &disk) < 0) ++ if (ioctl(fd, (int)GET_DISK_INFO, &disk) < 0) + continue; + if (disk.major == 0 && disk.minor == 0) + continue; + + +----------------------------------------------------------------------------- +Monitor.c: In function 'check_array': +Monitor.c:477:2: error: overflow in implicit constant conversion [-Werror=overflow] +Monitor.c:596:3: error: overflow in implicit constant conversion [-Werror=overflow] +Monitor.c:648:19: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] +Monitor.c: In function 'add_new_arrays': +Monitor.c:687:8: error: overflow in implicit constant conversion [-Werror=overflow] +----------------------------------------------------------------------------- + +--- ./Monitor.c.orig 2012-12-31 20:29:37.462193570 +0100 ++++ ./Monitor.c 2012-12-31 20:31:49.977256244 +0100 +@@ -474,7 +474,7 @@ + return 0; + } + fcntl(fd, F_SETFD, FD_CLOEXEC); +- if (ioctl(fd, GET_ARRAY_INFO, &array)<0) { ++ if (ioctl(fd, (int)GET_ARRAY_INFO, &array)<0) { + if (!st->err) + alert("DeviceDisappeared", dev, NULL, ainfo); + st->err=1; +@@ -593,7 +593,7 @@ + i++) { + mdu_disk_info_t disc; + disc.number = i; +- if (ioctl(fd, GET_DISK_INFO, &disc) >= 0) { ++ if (ioctl(fd, (int)GET_DISK_INFO, &disc) >= 0) { + info[i].state = disc.state; + info[i].major = disc.major; + info[i].minor = disc.minor; +@@ -645,7 +645,7 @@ + alert("Fail", dev, dv, ainfo); + else if ((newstate & (1<devid[i] == makedev(disc.major, disc.minor)) ++ st->devid[i] == (unsigned int)makedev(disc.major, disc.minor)) + alert("FailSpare", dev, dv, ainfo); + else if ((newstate&change)&(1<devname = strdup(get_md_name(mse->devnum)); + if ((fd = open(st->devname, O_RDONLY)) < 0 || +- ioctl(fd, GET_ARRAY_INFO, &array)< 0) { ++ ioctl(fd, (int)GET_ARRAY_INFO, &array)< 0) { + /* no such array */ + if (fd >=0) close(fd); + put_md_name(st->devname); + + +----------------------------------------------------------------------------- +Query.c: In function 'Query': +Query.c:56:2: error: overflow in implicit constant conversion [-Werror=overflow] +Query.c:103:9: error: overflow in implicit constant conversion [-Werror=overflow] +Query.c:104:6: error: overflow in implicit constant conversion [-Werror=overflow] +----------------------------------------------------------------------------- + +--- ./Query.c.orig 2012-12-31 20:32:56.982789319 +0100 ++++ ./Query.c 2012-12-31 20:33:43.743900230 +0100 +@@ -53,7 +53,7 @@ + } + + vers = md_get_version(fd); +- if (ioctl(fd, GET_ARRAY_INFO, &array)<0) ++ if (ioctl(fd, (int)GET_ARRAY_INFO, &array)<0) + ioctlerr = errno; + else ioctlerr = 0; + +@@ -100,8 +100,8 @@ + activity = "undetected"; + if (mddev && (fd = open(mddev, O_RDONLY))>=0) { + if (md_get_version(fd) >= 9000 && +- ioctl(fd, GET_ARRAY_INFO, &array)>= 0) { +- if (ioctl(fd, GET_DISK_INFO, &disc) >= 0 && ++ ioctl(fd, (int)GET_ARRAY_INFO, &array)>= 0) { ++ if (ioctl(fd, (int)GET_DISK_INFO, &disc) >= 0 && + makedev((unsigned)disc.major,(unsigned)disc.minor) == stb.st_rdev) + activity = "active"; + else + + +----------------------------------------------------------------------------- +Incremental.c: In function 'Incremental': +Incremental.c:371:4: error: overflow in implicit constant conversion [-Werror=overflow] +Incremental.c:503:2: error: overflow in implicit constant conversion [-Werror=overflow] +Incremental.c: In function 'find_reject': +Incremental.c:605:2: error: overflow in implicit constant conversion [-Werror=overflow] +Incremental.c: In function 'container_members_max_degradation': +Incremental.c:770:3: error: overflow in implicit constant conversion [-Werror=overflow] +Incremental.c: In function 'IncrementalScan': +Incremental.c:1282:3: error: overflow in implicit constant conversion [-Werror=overflow] +Incremental.c:1298:4: error: overflow in implicit constant conversion [-Werror=overflow] +----------------------------------------------------------------------------- + +--- ./Incremental.c.orig 2012-12-31 20:34:38.097145590 +0100 ++++ ./Incremental.c 2012-12-31 20:34:51.073428917 +0100 +@@ -368,7 +368,7 @@ + && ! policy_action_allows(policy, st->ss->name, + act_re_add) + && runstop < 1) { +- if (ioctl(mdfd, GET_ARRAY_INFO, &ainf) == 0) { ++ if (ioctl(mdfd, (int)GET_ARRAY_INFO, &ainf) == 0) { + fprintf(stderr, Name + ": not adding %s to active array (without --run) %s\n", + devname, chosen_name); +@@ -500,7 +500,7 @@ + /* + add any bitmap file */ + /* + start the array (auto-readonly). */ + +- if (ioctl(mdfd, GET_ARRAY_INFO, &ainf) == 0) { ++ if (ioctl(mdfd, (int)GET_ARRAY_INFO, &ainf) == 0) { + if (verbose >= 0) + fprintf(stderr, Name + ": %s attached to %s which is already active.\n", +@@ -602,7 +602,7 @@ + struct mdinfo *d; + mdu_array_info_t ra; + +- if (ioctl(mdfd, GET_ARRAY_INFO, &ra) == 0) ++ if (ioctl(mdfd, (int)GET_ARRAY_INFO, &ra) == 0) + return; /* not safe to remove from active arrays + * without thinking more */ + +@@ -767,7 +767,7 @@ + if (afd < 0) + continue; + /* most accurate information regarding array degradation */ +- if (ioctl(afd, GET_ARRAY_INFO, &array) >= 0) { ++ if (ioctl(afd, (int)GET_ARRAY_INFO, &array) >= 0) { + int degraded = array.raid_disks - array.active_disks - + array.spare_disks; + if (degraded > max_degraded) +@@ -1279,7 +1279,7 @@ + + if (mdfd < 0) + continue; +- if (ioctl(mdfd, GET_ARRAY_INFO, &array) == 0 || ++ if (ioctl(mdfd, (int)GET_ARRAY_INFO, &array) == 0 || + errno != ENODEV) { + close(mdfd); + continue; +@@ -1295,7 +1295,7 @@ + * is a hint only + */ + int added = -1; +- if (ioctl(mdfd, GET_ARRAY_INFO, &bmf) < 0) { ++ if (ioctl(mdfd, (int)GET_ARRAY_INFO, &bmf) < 0) { + int bmfd = open(mddev->bitmap_file, O_RDWR); + if (bmfd >= 0) { + added = ioctl(mdfd, SET_BITMAP_FILE, + + +----------------------------------------------------------------------------- +mdopen.c: In function 'make_parts': +mdopen.c:77:21: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] +mdopen.c: In function 'create_mddev': +mdopen.c:342:20: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] +----------------------------------------------------------------------------- + +--- ./mdopen.c.orig 2012-12-31 20:37:08.680627411 +0100 ++++ ./mdopen.c 2012-12-31 20:37:50.805605089 +0100 +@@ -74,7 +74,7 @@ + if (stat(name, &stb2)==0) { + if (!S_ISBLK(stb2.st_mode) || !S_ISBLK(stb.st_mode)) + continue; +- if (stb2.st_rdev == makedev(major_num, minor_num+i)) ++ if (stb2.st_rdev == (unsigned int)makedev(major_num, minor_num+i)) + continue; + unlink(name); + } else { +@@ -339,7 +339,7 @@ + if (lstat(devname, &stb) == 0) { + /* Must be the correct device, else error */ + if ((stb.st_mode&S_IFMT) != S_IFBLK || +- stb.st_rdev != makedev(dev2major(num),dev2minor(num))) { ++ stb.st_rdev != (unsigned int)makedev(dev2major(num),dev2minor(num))) { + fprintf(stderr, Name ": %s exists but looks wrong, please fix\n", + devname); + return -1; + + +----------------------------------------------------------------------------- +sysfs.c: In function 'sysfs_init': +sysfs.c:87:3: error: overflow in implicit constant conversion [-Werror=overflow] +----------------------------------------------------------------------------- + +--- ./sysfs.c.orig 2012-12-31 20:39:07.367406882 +0100 ++++ ./sysfs.c 2012-12-31 20:39:19.959686963 +0100 +@@ -84,7 +84,7 @@ + mdi->sys_name[0] = 0; + if (fd >= 0) { + mdu_version_t vers; +- if (ioctl(fd, RAID_VERSION, &vers) != 0) ++ if (ioctl(fd, (int)RAID_VERSION, &vers) != 0) + return; + devnum = fd2devnum(fd); + } diff --git a/base/musl/pkg/mdadm/0006-mdadm-musl-execl-missing-sentinel.patch b/base/musl/pkg/mdadm/0006-mdadm-musl-execl-missing-sentinel.patch new file mode 100644 index 000000000..d5d81f553 --- /dev/null +++ b/base/musl/pkg/mdadm/0006-mdadm-musl-execl-missing-sentinel.patch @@ -0,0 +1,45 @@ +# --- SDE-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# Filename: package/.../musl/pkg/mdadm/0006-mdadm-musl-execl-missing-sentinel.patch +# Copyright (C) 2013 The OpenSDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- SDE-COPYRIGHT-NOTE-END --- + +error: missing sentinel in function call [-Werror=format] + +--- a/util.c 2013-12-16 19:20:10.501872646 +0100 ++++ b/util.c 2013-12-16 19:20:32.118396213 +0100 +@@ -1656,11 +1656,11 @@ + if (__offroot) { + execl(paths[i], "mdmon", "--offroot", + devnum2devname(devnum), +- NULL); ++ (char *)NULL); + } else { + execl(paths[i], "mdmon", + devnum2devname(devnum), +- NULL); ++ (char *)NULL); + } + } + exit(1); +--- a/Monitor.c 2013-12-16 19:21:05.623164042 +0100 ++++ b/Monitor.c 2013-12-16 19:23:33.718570949 +0100 +@@ -361,7 +361,7 @@ + break; + case 0: + execl(info->alert_cmd, info->alert_cmd, +- event, dev, disc, NULL); ++ event, dev, disc, (char *)NULL); + exit(2); + } + }