--- dmraid-1.0.0.rc14.orig/debian/patches/08_promise-metadata-fixes.dpatch +++ dmraid-1.0.0.rc14/debian/patches/08_promise-metadata-fixes.dpatch @@ -0,0 +1,45 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 08_promise-metadata-fixes.dpatch by Luke Yelavich +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Promise metadata fixes. + +@DPATCH@ +diff -urNad dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/pdc.c dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/pdc.c +--- dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/pdc.c 2006-10-02 21:19:33.000000000 +1000 ++++ dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/pdc.c 2008-07-08 14:29:10.000000000 +1000 +@@ -155,6 +155,21 @@ + } + } + ++ /* Some pdc card detect only PDC_MAX_SECTOR sectors, even ++ * if the disk is bigger, this prevents dmraid from discovering ++ * the metadata. This quirk searches for metadata at the ++ * sector PDC_MAX_SECTOR ++ */ ++ if (di->sectors >= PDC_MAX_SECTOR) { ++ if (read_file(lc, handler, di->path, ret, sizeof(*ret), ++ PDC_MAX_SECTOR << 9) && ++ !strncmp((const char*) ret->promise_id, PDC_MAGIC, ++ PDC_ID_LENGTH)) { ++ info->u32 = PDC_MAX_SECTOR; ++ return (void*) ret; ++ } ++ } ++ + dbg_free(ret); + } + +diff -urNad dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/pdc.h dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/pdc.h +--- dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/pdc.h 2006-02-11 02:01:42.000000000 +1100 ++++ dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/pdc.h 2008-07-08 14:29:12.000000000 +1000 +@@ -16,6 +16,9 @@ + #define PDC_CONFIGOFFSETS 63,255,256,16,399,735 + #define PDC_DATAOFFSET 0 + ++/* maximum device size (sectors) which can be detected by some pdc card */ ++#define PDC_MAX_SECTOR 268435377UL ++ + /* Ondisk metadata for Promise Fastrack */ + struct pdc { + #define PDC_ID_LENGTH 24 --- dmraid-1.0.0.rc14.orig/debian/patches/11_fix_segfault_on_big_endian.dpatch +++ dmraid-1.0.0.rc14/debian/patches/11_fix_segfault_on_big_endian.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 11_fix_segfault_on_big_endian.dpatch by Giuseppe Iuculano +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: this fix a typo and a segfault on big-endian platforms + +@DPATCH@ +diff -urNad dmraid-1.0.0.rc14~/1.0.0.rc14/lib/format/ataraid/nv.c dmraid-1.0.0.rc14/1.0.0.rc14/lib/format/ataraid/nv.c +--- dmraid-1.0.0.rc14~/1.0.0.rc14/lib/format/ataraid/nv.c 2006-09-21 12:30:02.000000000 +0200 ++++ dmraid-1.0.0.rc14/1.0.0.rc14/lib/format/ataraid/nv.c 2008-07-08 13:19:58.000000000 +0200 +@@ -155,7 +155,7 @@ + CVT32(nv->unitFlags); + CVT32(array->version); + +- while (i--); ++ while (i--) + CVT32(array->signature[i]); + + CVT32(array->raidLevel); --- dmraid-1.0.0.rc14.orig/debian/patches/09_promise-add-offsets.dpatch +++ dmraid-1.0.0.rc14/debian/patches/09_promise-add-offsets.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 09_promise-add-offsets.dpatch by Luke Yelavich +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Add extra offsets where promise metadata can be found. + +@DPATCH@ +diff -urNad dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/pdc.h dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/pdc.h +--- dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/pdc.h 2008-07-08 14:30:10.000000000 +1000 ++++ dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/pdc.h 2008-07-08 14:30:40.000000000 +1000 +@@ -13,7 +13,7 @@ + + #include + +-#define PDC_CONFIGOFFSETS 63,255,256,16,399,735 ++#define PDC_CONFIGOFFSETS 63,255,256,16,399,735,675,991,911 + #define PDC_DATAOFFSET 0 + + /* maximum device size (sectors) which can be detected by some pdc card */ --- dmraid-1.0.0.rc14.orig/debian/patches/06_isw-metadata-fixes.dpatch +++ dmraid-1.0.0.rc14/debian/patches/06_isw-metadata-fixes.dpatch @@ -0,0 +1,45 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 06_isw-metadata-fixes.dpatch by Luke Yelavich +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Intel Software RAID metadata fixes. + +@DPATCH@ +diff -urNad dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/isw.c dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/isw.c +--- dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/isw.c 2006-09-23 04:11:37.000000000 +1000 ++++ dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/isw.c 2008-07-08 14:15:28.000000000 +1000 +@@ -364,21 +364,26 @@ + { + int ret; + struct isw *isw = META(rd, isw); ++ int large = div_up(isw->mpb_size, ISW_DISK_BLOCK_SIZE) > 1; + + to_disk(isw, FULL); + +- /* +- * Copy 1st metadata sector to after the extended ones +- * and increment metadata area pointer by one block, so +- * that the metadata is filed in the proper sequence. +- */ +- memcpy((void*) isw + rd->meta_areas->size, isw, ISW_DISK_BLOCK_SIZE); +- rd->meta_areas->area += ISW_DISK_BLOCK_SIZE; ++ if (large) { ++ /* ++ * Copy 1st metadata sector to after the extended ones ++ * and increment metadata area pointer by one block, so ++ * that the metadata is filed in the proper sequence. ++ */ ++ memcpy((void*) isw + rd->meta_areas->size, isw, ++ ISW_DISK_BLOCK_SIZE); ++ rd->meta_areas->area += ISW_DISK_BLOCK_SIZE; ++ } + + ret = write_metadata(lc, handler, rd, -1, erase); + + /* Correct metadata area pointer. */ +- rd->meta_areas->area -= ISW_DISK_BLOCK_SIZE; ++ if (large) ++ rd->meta_areas->area -= ISW_DISK_BLOCK_SIZE; + + to_cpu(isw, FULL); + --- dmraid-1.0.0.rc14.orig/debian/patches/07_isw-raid10-nested.dpatch +++ dmraid-1.0.0.rc14/debian/patches/07_isw-raid10-nested.dpatch @@ -0,0 +1,432 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 07_isw-raid10-nested.dpatch by Luke Yelavich +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Add RAID10(0+1) nested RAID level support for Intel Software RAID. + +@DPATCH@ +diff -urNad dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/isw.c dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/isw.c +--- dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/isw.c 2008-07-08 14:18:03.000000000 +1000 ++++ dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/isw.c 2008-07-08 14:18:23.000000000 +1000 +@@ -25,30 +25,59 @@ + #endif + + static const char *handler = HANDLER; ++static struct isw_disk *_get_disk(struct isw *isw, struct dev_info *di); ++int is_raid10(struct isw *isw); + +-/* +- * Make up RAID set name from family_num and volume name. +- */ +-static size_t _name(struct isw *isw, struct isw_dev *dev, +- char *str, size_t len) ++static size_t _name(struct isw *isw, char *str, size_t len, int subset, ++ int num, struct isw_dev *dev) + { +- return snprintf(str, len, dev ? "isw_%u_%s" : "isw_%u", ++ switch(subset) { ++ case 2: ++ return snprintf(str, len, "isw_%u", isw->family_num); ++ case 1: ++ if(!is_raid10(isw)) ++ return snprintf(str, len, "isw_%u_%s", + isw->family_num, (char*) dev->volume); ++ else ++ return snprintf(str, len, "isw_%u_%s-%u", ++ isw->family_num, (char*) dev->volume, num); ++ case 0: ++ return snprintf(str, len, "isw_%u_%s", isw->family_num, ++ (char*) dev->volume); ++ } ++ return 0; + } + +-static char *name(struct lib_context *lc, struct isw *isw, struct isw_dev *dev) ++static char *name(struct lib_context *lc, struct raid_dev *rd, ++ unsigned int subset) + { +- size_t len; +- char *ret; ++ size_t len; ++ char *ret = NULL; ++ int id = 0; ++ struct isw *isw = META(rd, isw); ++ struct isw_disk *disk = isw->disk; ++ struct isw_dev *dev = (struct isw_dev*) (isw->disk + isw->num_disks); + +- if ((ret = dbg_malloc((len = _name(isw, dev, NULL, 0) + 1)))) { +- _name(isw, dev, ret, len); +- mk_alpha(lc, ret + HANDLER_LEN, len - HANDLER_LEN - +- (dev ? strlen((char*) dev->volume) - 2 : 1)); +- } else ++ if((subset == 1) && (is_raid10(isw))) { ++ if ((disk = _get_disk(isw, rd->di))) { ++ if(disk == isw->disk) id = 0; ++ else if(disk == isw->disk + 1) id = 1; ++ else if(disk == isw->disk + 2) id = 2; ++ else if(disk == isw->disk + 3) id = 3; ++ else return ret; ++ } ++ id = id % 2; ++ } ++ ++ if ((ret = dbg_malloc((len = _name(isw, ret, 0, subset, id, ++ dev) + 1)))) { ++ _name(isw, ret, len, subset, id, dev); ++ mk_alpha(lc, ret + HANDLER_LEN, snprintf(ret, 0, "%u", ++ isw->family_num)); ++ } else + log_alloc_err(lc, handler); + +- return ret; ++ return ret; + } + + /* Find a disk table slot by serial number. */ +@@ -59,7 +88,7 @@ + + do { + if (!strncmp(di->serial, (const char*) disk->serial, +- MAX_RAID_SERIAL_LEN)) ++ MAX_RAID_SERIAL_LEN)) + return disk; + } while (++disk < isw->disk + isw->num_disks); + } +@@ -102,21 +131,38 @@ + } + + /* Neutralize disk type. */ +-static enum type type(struct raid_dev *rd) ++static enum type type(struct isw *isw) + { + /* Mapping of Intel types to generic types. */ + static struct types types[] = { + { ISW_T_RAID0, t_raid0}, + { ISW_T_RAID1, t_raid1}, + { ISW_T_RAID5, t_raid5_la}, ++ { ISW_T_RAID10, t_raid0}, + { 0, t_undef}, + }; +- struct isw_dev *dev = rd->private.ptr; ++ ++ struct isw_dev *dev = (struct isw_dev*) (isw->disk + isw->num_disks); ++ ++ if(is_raid10(isw)) ++ dev->vol.map.raid_level = ISW_T_RAID10; + + return dev ? rd_type(types, (unsigned int) dev->vol.map.raid_level) : + t_group; + } + ++int is_raid10(struct isw *isw) ++{ ++ int ret; ++ struct isw_dev *dev = (struct isw_dev*) (isw->disk + isw->num_disks); ++ ++ ret = ((dev->vol.map.raid_level == ISW_T_RAID10) || ++ (dev->vol.map.raid_level == ISW_T_RAID1 && ++ isw->num_disks > 3)); ++ ++ return ret; ++} ++ + /* + * Generate checksum of Raid metadata for mpb_size/sizeof(u32) words + * (checksum field itself ignored for this calculation). +@@ -298,7 +344,8 @@ + } + + /* Check for RAID disk ok. */ +-static int disk_ok(struct lib_context *lc, struct dev_info *di, struct isw *isw) ++static int disk_ok(struct lib_context *lc, struct dev_info *di, ++ struct isw *isw) + { + struct isw_disk *disk = get_disk(lc, di, isw); + +@@ -306,15 +353,15 @@ + } + + static void *isw_read_metadata(struct lib_context *lc, struct dev_info *di, +- size_t *sz, uint64_t *offset, +- union read_info *info) ++ size_t *sz, uint64_t *offset, ++ union read_info *info) + { + size_t size = ISW_DISK_BLOCK_SIZE; + uint64_t isw_sboffset = ISW_CONFIGOFFSET; + struct isw *isw; + + if (!(isw = alloc_private_and_read(lc, handler, size, +- di->path, isw_sboffset))) ++ di->path, isw_sboffset))) + goto out; + + /* +@@ -396,7 +443,7 @@ + */ + /* Check state if isw device map. */ + static int _check_map_state(struct lib_context *lc, struct raid_dev *rd, +- struct isw_dev *dev) ++ struct isw_dev *dev) + { + /* FIXME: FAILED_MAP etc. */ + switch (dev->vol.map.map_state) { +@@ -420,20 +467,27 @@ + struct raid_dev *r; + + if (!_check_map_state(lc, rd, dev) || +- !(r = alloc_raid_dev(lc, handler))) ++ !(r = alloc_raid_dev(lc, handler))) + return NULL; + + if (!(r->private.ptr = alloc_private(lc, handler, sizeof(*dev)))) + goto free; +- + memcpy(r->private.ptr, dev, sizeof(*dev)); +- if ((r->type = type(r)) == t_undef) { ++ ++ if (!(r->meta_areas = alloc_meta_areas(lc, rd, handler, 1))) ++ return 0; ++ ++ r->meta_areas->offset = rd->meta_areas->offset; ++ r->meta_areas->size = rd->meta_areas->size; ++ r->meta_areas->area = rd->meta_areas->area; ++ ++ if ((r->type = type(isw)) == t_undef) { + log_err(lc, "%s: RAID type %u not supported", + handler, (unsigned int) dev->vol.map.raid_level); + goto free; + } + +- if (!(r->name = name(lc, isw, dev))) ++ if (!(r->name = name(lc, rd, 1))) + goto free; + + r->di = rd->di; +@@ -465,43 +519,73 @@ + return _get_disk(isw, RD(new)->di) < _get_disk(isw, RD(pos)->di); + } + ++static void super_created(struct raid_set *super, void *private) ++{ ++ super->type = t_raid1; ++ super->stride = ((struct isw_dev*) private)->vol.map.blocks_per_strip; ++} ++ ++static int set_sort(struct list_head *pos, struct list_head *new) ++{ ++ return 0; ++} ++ + /* + * rs_group contains the top-level group RAID set (type: t_group) on entry + * and shall be returned on success (or NULL on error). + */ + static struct raid_set *group_rd(struct lib_context *lc, +- struct raid_set *rs_group, +- struct raid_dev *rd_meta) ++ struct raid_set *rs_group, ++ struct raid_dev *rd_meta) + { + unsigned int d; + void *private; + struct isw *isw = META(rd_meta, isw); + struct isw_dev *dev; + struct raid_dev *rd; +- struct raid_set *rs; +- ++ struct raid_set *rs, *ss; ++ char *nm = NULL; ++ + /* Loop the device/volume table. */ + for (d = 0; d < isw->num_raid_devs; d++) { + dev = raiddev(isw, d); +- ++ + if (!(rd = _create_rd(lc, rd_meta, isw, dev))) + return NULL; + +- if (!(rs = find_or_alloc_raid_set(lc, rd->name, FIND_ALL, +- rd, &rs_group->sets, +- create_rs, dev))) { +- free_raid_dev(lc, &rd); +- return NULL; ++ if(is_raid10(isw)) { ++ nm = name(lc, rd, 0); ++ ss = find_or_alloc_raid_set(lc, nm, FIND_TOP, rd, ++ LC_RS(lc), super_created, dev); ++ if (!(rs = find_or_alloc_raid_set(lc, rd->name, ++ FIND_ALL, rd, &ss->sets, create_rs, ++ dev))) { ++ free_raid_dev(lc, &rd); ++ return NULL; ++ } ++ } else { ++ if (!(rs = find_or_alloc_raid_set(lc, rd->name, ++ FIND_ALL, rd, &rs_group->sets, ++ create_rs, dev))) { ++ free_raid_dev(lc, &rd); ++ return NULL; ++ } + } + ++ rs->status = s_ok; ++ + /* Save and set to enable dev_sort(). */ + private = rd->private.ptr; + rd->private.ptr = isw; +- + list_add_sorted(lc, &rs->devs, &rd->devs, dev_sort); +- + /* Restore. */ + rd->private.ptr = private; ++ ++ if(is_raid10(isw)) { ++ ss = join_superset(lc, name, super_created, set_sort, ++ rs, rd); ++ return ss; ++ } + } + + return rs_group; +@@ -509,31 +593,35 @@ + + /* Add an Intel SW RAID device to a set */ + static struct raid_set *isw_group(struct lib_context *lc, +- struct raid_dev *rd_meta) ++ struct raid_dev *rd_meta) + { +- struct raid_set *rs_group; ++ struct raid_set *rs_group = NULL; ++ struct isw *isw = META(rd_meta, isw); + + if (T_SPARE(rd_meta)) + return NULL; + +- /* +- * Once we get here, an Intel SW RAID disk containing a metadata area +- * with a volume table has been discovered by isw_read. +- */ +- /* Check if a top level group RAID set already exists. */ +- if (!(rs_group = find_or_alloc_raid_set(lc, rd_meta->name, FIND_TOP, +- rd_meta, LC_RS(lc), +- NO_CREATE, NO_CREATE_ARG))) +- return NULL; ++ if(!is_raid10(isw)) { ++ /* ++ * Once we get here, an Intel SW RAID disk containing a metadata ++ * area with a volume table has been discovered by isw_read. ++ */ ++ /* Check if a top level group RAID set already exists. */ ++ if (!(rs_group = find_or_alloc_raid_set(lc, rd_meta->name, ++ FIND_TOP, rd_meta, LC_RS(lc), ++ NO_CREATE, NO_CREATE_ARG))) ++ return NULL; + +- /* +- * Add the whole underlying (meta) RAID device to the group set. +- * Sorting is no problem here, because RAID sets and devices will +- * be created for all the Volumes of an ISW set and those need sorting. +- */ +- rd_meta->private.ptr = rd_meta->meta_areas->area; +- list_add_sorted(lc, &rs_group->devs, &rd_meta->devs, dev_sort); +- rd_meta->private.ptr = NULL; ++ /* ++ * Add the whole underlying (meta) RAID device to the group set. ++ * Sorting is no problem here, because RAID sets and devices ++ * will be created for all the Volumes of an ISW set and those ++ * need sorting. ++ */ ++ rd_meta->private.ptr = rd_meta->meta_areas->area; ++ list_add_sorted(lc, &rs_group->devs, &rd_meta->devs, dev_sort); ++ rd_meta->private.ptr = NULL; ++ } + + /* + * We need to run through the volume table and create a RAID set and +@@ -557,17 +645,16 @@ + } + + static int check_rd(struct lib_context *lc, struct raid_set *rs, +- struct raid_dev *rd, void *context) ++ struct raid_dev *rd, void *context) + { + struct isw_dev *dev = rd->private.ptr; + + /* FIXME: more status checks ? */ + if (dev->status) + LOG_ERR(lc, 0, "%s device for volume \"%s\" broken on %s " +- "in RAID set \"%s\"", +- handler, dev->volume, rd->di->path, rs->name); +- +- return 1; ++ "in RAID set \"%s\"", handler, dev->volume, ++ rd->di->path, rs->name); ++ return 1; + } + + static int _isw_check(struct lib_context *lc, struct raid_set *rs) +@@ -577,9 +664,14 @@ + + static int isw_check(struct lib_context *lc, struct raid_set *rs) + { +- return T_GROUP(rs) ? _isw_check(lc, rs) : 0; ++ /* If it is a stacked set like RAID10 */ ++ if((!T_GROUP(rs)) && SETS(rs)) { ++ return check_raid_set(lc, rs, devices, NULL, ++ NO_CHECK_RD, NULL, handler); ++ } else { ++ return T_GROUP(rs) ? _isw_check(lc, rs) : 0; ++ } + } +- + /* + * IO error event handler. + */ +@@ -590,7 +682,7 @@ + struct isw_disk *disk; + + if (!(disk = get_disk(lc, rd->di, isw))) +- LOG_ERR(lc, 0, "%s: disk", handler); ++ LOG_ERR(lc, 0, "%s: disk", handler); + + /* Avoid write trashing. */ + if (S_BROKEN(status(lc, rd))) +@@ -634,7 +726,7 @@ + for (i = 0; i < ISW_FILLERS; i++) { + if (isw->filler[i]) + P("filler[%i]: %u", isw, +- isw->filler[i], i, isw->filler[i]); ++ isw->filler[i], i, isw->filler[i]); + } + + /* Disk table. */ +@@ -749,7 +841,7 @@ + static struct dmraid_format isw_format = { + .name = HANDLER, + .descr = "Intel Software RAID", +- .caps = "0,1", ++ .caps = "0,1,10", + .format = FMT_RAID, + .read = isw_read, + .write = isw_write, +@@ -802,5 +894,7 @@ + rd->status = status(lc, rd); + rd->type = t_group; + +- return (rd->name = name(lc, isw, NULL)) ? 1 : 0; ++ return (rd->name = name(lc, rd, 2)) ? 1 : 0; + } ++ ++ +diff -urNad dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/isw.h dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/isw.h +--- dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/isw.h 2006-01-25 02:02:54.000000000 +1100 ++++ dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/isw.h 2008-07-08 14:18:28.000000000 +1000 +@@ -68,6 +68,7 @@ + uint8_t raid_level; + #define ISW_T_RAID0 0 + #define ISW_T_RAID1 1 ++#define ISW_T_RAID10 2 + #define ISW_T_RAID5 5 // since metadata version 1.2.02 ? + uint8_t num_members; // number of member disks + uint8_t reserved[3]; --- dmraid-1.0.0.rc14.orig/debian/patches/02_raid45_to_raid4-5.dpatch +++ dmraid-1.0.0.rc14/debian/patches/02_raid45_to_raid4-5.dpatch @@ -0,0 +1,27 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_raid45_to_raid4-5.dpatch by Ben Collins +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Use raid4-5 instead of raid45 for RAID 4/5 sets. + +@DPATCH@ +diff -urNad dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/metadata/metadata.c dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/metadata/metadata.c +--- dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/metadata/metadata.c 2006-10-11 20:54:24.000000000 +1000 ++++ dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/metadata/metadata.c 2008-07-08 12:31:19.000000000 +1000 +@@ -27,11 +27,11 @@ + { t_linear, "linear", "linear" }, + { t_raid0, "stripe", "striped" }, + { t_raid1, "mirror", "mirror" }, +- { t_raid4, "raid4", "raid45" }, +- { t_raid5_ls, "raid5_ls", "raid45" }, +- { t_raid5_rs, "raid5_rs", "raid45" }, +- { t_raid5_la, "raid5_la", "raid45" }, +- { t_raid5_ra, "raid5_ra", "raid45" }, ++ { t_raid4, "raid4", "raid4-5" }, ++ { t_raid5_ls, "raid5_ls", "raid4-5" }, ++ { t_raid5_rs, "raid5_rs", "raid4-5" }, ++ { t_raid5_la, "raid5_la", "raid4-5" }, ++ { t_raid5_ra, "raid5_ra", "raid4-5" }, + { t_raid6, "raid6", NULL }, + }; + --- dmraid-1.0.0.rc14.orig/debian/patches/04_generate-uuids.dpatch +++ dmraid-1.0.0.rc14/debian/patches/04_generate-uuids.dpatch @@ -0,0 +1,71 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 04_generate-uuids.dpatch by Luke Yelavich +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Generate UUIDs with DMRAID prefix. + +@DPATCH@ +diff -urNad dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/activate/devmapper.c dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/activate/devmapper.c +--- dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/activate/devmapper.c 2006-09-15 23:52:11.000000000 +1000 ++++ dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/activate/devmapper.c 2008-07-08 14:10:06.000000000 +1000 +@@ -21,6 +21,8 @@ + #include "internal.h" + #include "devmapper.h" + ++#include ++ + /* Make up a dm path. */ + char *mkdm_path(struct lib_context *lc, const char *name) + { +@@ -147,24 +149,48 @@ + return handle_table(lc, NULL, table, get_target_list()); + } + ++/* Build a UUID for a dmraid device ++ * Return 1 for sucess; 0 for failure*/ ++static int dmraid_uuid(struct lib_context *lc, struct raid_set *rs, ++ char *uuid, uint uuid_len) { ++ int r; ++ ++ /* Clear garbage data from uuid string */ ++ memset(uuid, 0, uuid_len); ++ ++ /* Create UUID string from subsystem prefix and RAID set name. */ ++ r = snprintf(uuid, uuid_len, "DMRAID-%s", rs->name) < uuid_len; ++ return r < 0 ? 0 : (r < uuid_len); ++} ++ + /* Create a task, set its name and run it. */ + static int run_task(struct lib_context *lc, struct raid_set *rs, + char *table, int type) + { ++ /* DM_UUID_LEN is defined in dm-ioctl.h as 129 characters; ++ * though not all 129 must be used (md uses just 16 from ++ * a quick review of md.c. ++ * We will be using: (len vol grp name)*/ ++ char uuid[DM_UUID_LEN]; + int ret; + struct dm_task *dmt; + + _init_dm(); +- ret = (dmt = dm_task_create(type)) && dm_task_set_name(dmt, rs->name); ++ ret = (dmt = dm_task_create(type)) && ++ dm_task_set_name(dmt, rs->name); + if (ret && table) + ret = parse_table(lc, dmt, table); + +- if (ret) +- ret = dm_task_run(dmt); ++ if (ret && ++ DM_DEVICE_CREATE == type) ++ ret = dmraid_uuid(lc, rs, uuid, DM_UUID_LEN) && ++ dm_task_set_uuid(dmt, uuid) && ++ dm_task_run(dmt); + + _exit_dm(dmt); + return ret; + } ++ + /* Create a mapped device. */ + int dm_create(struct lib_context *lc, struct raid_set *rs, char *table) + { --- dmraid-1.0.0.rc14.orig/debian/patches/10_jmicron-name-fix.dpatch +++ dmraid-1.0.0.rc14/debian/patches/10_jmicron-name-fix.dpatch @@ -0,0 +1,39 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 10_jmicron-name-fix.dpatch by Luke Yelavich +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix segfault when attempting to generate name for jmicron controllers. + +@DPATCH@ +diff -urNad dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/jm.c dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/jm.c +--- dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/format/ataraid/jm.c 2006-09-23 01:24:03.000000000 +1000 ++++ dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/format/ataraid/jm.c 2008-07-08 14:36:57.000000000 +1000 +@@ -28,10 +28,16 @@ + size_t len; + struct jm *jm = META(rd, jm); + char buf[2], *ret, *name = (char *) jm->name; ++ char buf0[JM_NAME_LEN+1] = { '\0' }; ++ size_t i = JM_NAME_LEN-1; + +- /* Name always 0 terminated ? */ +- if ((len = strlen(name)) > JM_NAME_LEN) +- len = JM_NAME_LEN; ++ /* Sanitize name, make sure it's null terminated */ ++ strncpy(buf0, jm->name, JM_NAME_LEN); ++ while (i!=0 && buf0[i]==' ') { ++ buf0[i]='\0'; ++ --i; ++ } ++ len = strlen(buf0); + + len += sizeof(HANDLER) + 2; + if (jm->mode == JM_T_RAID01) +@@ -43,7 +49,7 @@ + else + *buf = 0; + +- sprintf(ret, "%s_%s%s", HANDLER, name, buf); ++ sprintf(ret, "%s_%s%s", HANDLER, buf0, buf); + } + + return ret; --- dmraid-1.0.0.rc14.orig/debian/patches/05_kernel-event-handling.dpatch +++ dmraid-1.0.0.rc14/debian/patches/05_kernel-event-handling.dpatch @@ -0,0 +1,23 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 05_kernel-event-handling.dpatch by Luke Yelavich +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Add support for kernel driver event handling support. + +@DPATCH@ +diff -urNad dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/activate/activate.c dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/activate/activate.c +--- dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/activate/activate.c 2006-09-15 23:22:44.000000000 +1000 ++++ dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/activate/activate.c 2008-07-08 14:12:00.000000000 +1000 +@@ -398,7 +398,11 @@ + goto err; + } + +- return 1; ++ /* Append the flag/feature required for dmraid1 ++ * event handling in the kernel driver ++ */ ++ if(p_fmt(lc, table, " 1 handle_errors")) ++ return 1; + + err: + return log_alloc_err(lc, __func__); --- dmraid-1.0.0.rc14.orig/debian/patches/03_fix_hyphen-used-as-minus-sign.dpatch +++ dmraid-1.0.0.rc14/debian/patches/03_fix_hyphen-used-as-minus-sign.dpatch @@ -0,0 +1,170 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03_fix_hyphen-used-as-minus-sign.dpatch by Giuseppe Iuculano +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix hyphen-used-as-minus-sign + +@DPATCH@ +diff -urNad dmraid-1.0.0.rc14~/1.0.0.rc14/man/dmraid.8 dmraid-1.0.0.rc14/1.0.0.rc14/man/dmraid.8 +--- dmraid-1.0.0.rc14~/1.0.0.rc14/man/dmraid.8 2008-06-23 11:35:00.000000000 +0200 ++++ dmraid-1.0.0.rc14/1.0.0.rc14/man/dmraid.8 2008-06-23 11:36:02.000000000 +0200 +@@ -4,18 +4,18 @@ + .SH SYNOPSIS + .B dmraid + {-a|--activate} {y|n|yes|no} +- [-d|--debug]... [-v|--verbose]... [-i|--ignorelocking] +- [-f|--format FORMAT[,FORMAT...]] +- [-p|--no_partitions] +- [--separator SEPARATOR] +- [-t|--test] ++ [\-d|--debug]... [\-v|--verbose]... [\-i|--ignorelocking] ++ [\-f|--format FORMAT[,FORMAT...]] ++ [\-p|--no_partitions] ++ [\--separator SEPARATOR] ++ [\-t|--test] + [RAID-set...] + + .B dmraid + {-b|--block_devices} +- [-c|--display_columns][FIELD[,FIELD...]]... +- [-d|--debug]... [-v|--verbose]... +- [--separator SEPARATOR] ++ [\-c|--display_columns][FIELD[,FIELD...]]... ++ [\-d|--debug]... [\-v|--verbose]... ++ [\--separator SEPARATOR] + [device-path...] + + .B dmraid +@@ -23,39 +23,39 @@ + + .B dmraid + {-l|--list_formats} +- [-d|--debug]... [-v|--verbose]... ++ [\-d|--debug]... [\-v|--verbose]... + + .B dmraid + {-n|--native_log} +- [-d|--debug]... [-v|--verbose]... [-i|--ignorelocking] +- [-f|--format FORMAT[,FORMAT...]] +- [--separator SEPARATOR] ++ [\-d|--debug]... [\-v|--verbose]... [\-i|--ignorelocking] ++ [\-f|--format FORMAT[,FORMAT...]] ++ [\--separator SEPARATOR] + [device-path...] + + .B dmraid + {-r|--raid_devices} +- [-c|--display_columns][FIELD[,FIELD...]]... +- [-d|--debug]... [-v|--verbose]... [-i|--ignorelocking] +- [-D|--dump_metadata] +- [-f|--format FORMAT[,FORMAT...]] +- [--separator SEPARATOR] ++ [\-c|--display_columns][FIELD[,FIELD...]]... ++ [\-d|--debug]... [\-v|--verbose]... [\-i|--ignorelocking] ++ [\-D|--dump_metadata] ++ [\-f|--format FORMAT[,FORMAT...]] ++ [\--separator SEPARATOR] + [device-path...] + + .B dmraid + {-r|--raid_devices} +- [-d|--debug]... [-v|--verbose]... [-i|--ignorelocking] +- [-E|--erase_metadata] +- [-f|--format FORMAT[,FORMAT...]] +- [--separator SEPARATOR] ++ [\-d|--debug]... [\-v|--verbose]... [\-i|--ignorelocking] ++ [\-E|--erase_metadata] ++ [\-f|--format FORMAT[,FORMAT...]] ++ [\--separator SEPARATOR] + [device-path...] + + .B dmraid + {-s|--sets}...[a|i|active|inactive] +- [-c|--display_columns][FIELD[,FIELD...]]... +- [-d|--debug]... [-v|--verbose]... [-i|--ignorelocking] +- [-f|--format FORMAT[,FORMAT...]] +- [-g|--display_group] +- [--separator SEPARATOR] ++ [\-c|--display_columns][FIELD[,FIELD...]]... ++ [\-d|--debug]... [\-v|--verbose]... [\-i|--ignorelocking] ++ [\-f|--format FORMAT[,FORMAT...]] ++ [\-g|--display_group] ++ [\--separator SEPARATOR] + [RAID-set...] + + .B dmraid +@@ -90,7 +90,7 @@ + .B -p + disables the activation of partitions on them. + RAID set names given on command line don't need to be fully specified +-(eg, "dmraid -ay sil" would activate all discovered Silicon Image Medley ++(eg, "dmraid \-ay sil" would activate all discovered Silicon Image Medley + RAID sets). + + .TP +@@ -239,7 +239,7 @@ + .TP + .I -s... [a|i] [RAID-set...] + Display properties of RAID sets. Multiple RAID set names can be given +-on the command line which don't need to be fully specified (eg, "dmraid -s hpt" ++on the command line which don't need to be fully specified (eg, "dmraid \-s hpt" + would display all discovered Highpoint RAID sets). Enter + .B -s + twice to display RAID subsets too. +@@ -266,7 +266,7 @@ + increasing the verbosity level. + + .SH EXAMPLES +-"dmraid -l" lists all supported metadata formats with their names along with ++"dmraid \-l" lists all supported metadata formats with their names along with + some descriptive information, eg: + .br + hpt37x : (+) Highpoint HPT37X +@@ -289,16 +289,16 @@ + .br + (0): Discover, (+): Discover+Activate + +-"dmraid -ay" activates all software RAID sets discovered. ++"dmraid \-ay" activates all software RAID sets discovered. + +-"dmraid -an" deactivates all active software RAID sets which are not open ++"dmraid \-an" deactivates all active software RAID sets which are not open + (eg, mounted filesystem on them). + +-"dmraid -ay -f pdc" (pdc looked up from "dmraid -l") activates all ++"dmraid \-ay \-f pdc" (pdc looked up from "dmraid \-l") activates all + software RAID sets with Promise format discovered and ignores all other + supported formats. + +-"dmraid -r" discovers all software RAID devices supported on your system, eg: ++"dmraid \-r" discovers all software RAID devices supported on your system, eg: + .br + /dev/dm-46: hpt45x, "hpt45x_chidjhaiaa-0", striped, ok, 320172928 sectors, data@ 0 + .br +@@ -309,7 +309,7 @@ + /dev/dm-58: hpt45x, "hpt45x_chidjhaiaa-1", striped, ok, 320172928 sectors, data@ 0 + + +-"dmraid -s -s hpt45x_chidjhaiaa" displays properties of ++"dmraid \-s \-s hpt45x_chidjhaiaa" displays properties of + set "hpt45x_chidjhaiaa", eg: + .br + *** Superset +@@ -367,7 +367,7 @@ + spare : 0 + .br + +-"dmraid -s -ccs hpt45" displays properties in column format of all sets ++"dmraid \-s \-ccs hpt45" displays properties in column format of all sets + and subsets with hpt45* format, eg: + .br + hpt45x_chidjhaiaa,640345856,128,raid10,ok,4,0 +@@ -376,7 +376,7 @@ + .br + hpt45x_chidjhaiaa-b,640345856,128,stripe,ok,2,0 + +-"dmraid -r --sep : -cpath:size" display paths and sizes in sectors for ++"dmraid \-r \--sep : \-cpath:size" display paths and sizes in sectors for + RAID devices in column format using ':' as a delimiter, eg: + .br + /dev/dm-8:320173055 --- dmraid-1.0.0.rc14.orig/debian/patches/00list +++ dmraid-1.0.0.rc14/debian/patches/00list @@ -0,0 +1,10 @@ +01_fix_broken_linking.dpatch +02_raid45_to_raid4-5.dpatch +03_fix_hyphen-used-as-minus-sign.dpatch +04_generate-uuids.dpatch +05_kernel-event-handling.dpatch +06_isw-metadata-fixes.dpatch +07_isw-raid10-nested.dpatch +08_promise-metadata-fixes.dpatch +09_promise-add-offsets.dpatch +10_jmicron-name-fix.dpatch --- dmraid-1.0.0.rc14.orig/debian/patches/01_fix_broken_linking.dpatch +++ dmraid-1.0.0.rc14/debian/patches/01_fix_broken_linking.dpatch @@ -0,0 +1,137 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 01_fix-lib-symlinking.dpatch by Luke Yelavich +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix library symbolic link creation and library linking. + +@DPATCH@ +diff -urNad dmraid-1.0.0.rc14~/1.0.0.rc14/configure dmraid-1.0.0.rc14/1.0.0.rc14/configure +--- dmraid-1.0.0.rc14~/1.0.0.rc14/configure 2008-07-14 20:13:31.000000000 +1000 ++++ dmraid-1.0.0.rc14/1.0.0.rc14/configure 2008-07-14 20:20:13.000000000 +1000 +@@ -310,7 +310,7 @@ + #endif" + + ac_default_prefix=/usr +-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os AWK INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE RANLIB ac_ct_RANLIB KLCC KLIBC KLIBC_PREFIX KLIBC_BIN_DIR KLIBC_SBIN_DIR KLIBC_LIB_DIR KLIBC_INCLUDE_DIR CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP CLDFLAGS DEBUG DEBUG_MALLOC DMRAID_TEST DMRAID_VERSION DMRAID_LIB_VERSION DIETLIBC GROUP JOBS LD_DEPS FLAVOUR LIBSELINUX LIBSEPOL LIB_SO OWNER SOFLAG STATIC_LINK LIBOBJS LTLIBOBJS' ++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os AWK INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE RANLIB ac_ct_RANLIB KLCC KLIBC KLIBC_PREFIX KLIBC_BIN_DIR KLIBC_SBIN_DIR KLIBC_LIB_DIR KLIBC_INCLUDE_DIR CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP CLDFLAGS DEBUG DEBUG_MALLOC DMRAID_TEST DMRAID_VERSION DMRAID_LIB_VERSION dmraid_lib_major_version DIETLIBC GROUP JOBS LD_DEPS FLAVOUR LIBSELINUX LIBSEPOL LIB_SO OWNER SOFLAG STATIC_LINK LIBOBJS LTLIBOBJS' + ac_subst_files='' + + # Initialize some variables set by options. +@@ -5326,8 +5326,10 @@ + + if test "-f lib/version.h"; then + DMRAID_LIB_VERSION="`sed --quiet 's/^.*\(DMRAID_LIB_VERSION\)[^_].*"\(.*\)"/\2/p' lib/version.h`" ++ DMRAID_LIB_MAJOR_VERSION="`grep DMRAID_LIB_MAJOR_VERSION lib/version.h | tr '\t' ' ' | cut -f 3 -d ' '`" + else + DMRAID_LIB_VERSION="Unknown" ++ DMRAID_LIB_MAJOR_VERSION="Unknown" + fi + + +@@ -6035,6 +6037,7 @@ + s,@DMRAID_TEST@,$DMRAID_TEST,;t t + s,@DMRAID_VERSION@,$DMRAID_VERSION,;t t + s,@DMRAID_LIB_VERSION@,$DMRAID_LIB_VERSION,;t t ++s,@DMRAID_LIB_MAJOR_VERSION@,$DMRAID_LIB_MAJOR_VERSION,;t t + s,@DIETLIBC@,$DIETLIBC,;t t + s,@GROUP@,$GROUP,;t t + s,@JOBS@,$JOBS,;t t +diff -urNad dmraid-1.0.0.rc14~/1.0.0.rc14/configure.in dmraid-1.0.0.rc14/1.0.0.rc14/configure.in +--- dmraid-1.0.0.rc14~/1.0.0.rc14/configure.in 2008-07-14 20:13:31.000000000 +1000 ++++ dmraid-1.0.0.rc14/1.0.0.rc14/configure.in 2008-07-14 20:20:13.000000000 +1000 +@@ -164,7 +164,7 @@ + fi + + dnl Mess with default exec_prefix +-if [[ "x$exec_prefix" = xNONE -a "x$prefix" = xNONE ]]; ++if [ "x$exec_prefix" = xNONE -a "x$prefix" = xNONE ]; + then exec_prefix=""; + fi; + +@@ -206,8 +206,10 @@ + + if test "-f lib/version.h"; then + DMRAID_LIB_VERSION="`sed --quiet 's/^.*\(DMRAID_LIB_VERSION\)[[^_]].*"\(.*\)"/\2/p' lib/version.h`" ++ DMRAID_LIB_MAJOR_VERSION="`grep DMRAID_LIB_MAJOR_VERSION lib/version.h | tr '\t' ' ' | cut -f 3 -d ' '`" + else + DMRAID_LIB_VERSION="Unknown" ++ DMRAID_LIB_MAJOR_VERSION="Unknown" + fi + + AC_SUBST(CC) +@@ -218,6 +220,7 @@ + AC_SUBST(DMRAID_TEST) + AC_SUBST(DMRAID_VERSION) + AC_SUBST(DMRAID_LIB_VERSION) ++AC_SUBST(DMRAID_LIB_MAJOR_VERSION) + AC_SUBST(DIETLIBC) + AC_SUBST(GROUP) + AC_SUBST(JOBS) +diff -urNad dmraid-1.0.0.rc14~/1.0.0.rc14/lib/Makefile.in dmraid-1.0.0.rc14/1.0.0.rc14/lib/Makefile.in +--- dmraid-1.0.0.rc14~/1.0.0.rc14/lib/Makefile.in 2008-07-14 20:13:31.000000000 +1000 ++++ dmraid-1.0.0.rc14/1.0.0.rc14/lib/Makefile.in 2008-07-14 20:23:24.000000000 +1000 +@@ -56,6 +56,11 @@ + LIB_SHARED=$(top_srcdir)/lib/libdmraid.so + TARGETS += $(LIB_SHARED) + INSTALL_TARGETS += $(LIB_SHARED) ++ ifeq ("@DIETLIBC@", "yes") ++ LIBDMRAIDLIBS += -ldevmapper_dietc ++ else ++ LIBDMRAIDLIBS += -ldevmapper ++ endif + endif + endif + +@@ -72,10 +77,11 @@ + for f in $(INSTALL_TARGETS); \ + do \ + n=$$(basename $${f}) ; \ +- if [[ "$$n" =~ '.so$$' ]]; then \ ++ if echo "$$n" | grep -q '.so$$'; then \ + $(INSTALL) -m 555 $(STRIP) \ + $$f $(libdir)/$${n}.@DMRAID_LIB_VERSION@; \ +- $(LN_S) -f $${n}.@DMRAID_LIB_VERSION@ $(libdir)/$${n}; \ ++ mkdir -p $(prefix)/lib; \ ++ cd $(prefix)/lib/ && $(LN_S) -f /lib/$${n}.@DMRAID_LIB_VERSION@ $${n}; \ + else \ + $(INSTALL) -m 555 $(STRIP) $$f $(libdir)/$${n}; \ + fi \ +diff -urNad dmraid-1.0.0.rc14~/1.0.0.rc14/make.tmpl.in dmraid-1.0.0.rc14/1.0.0.rc14/make.tmpl.in +--- dmraid-1.0.0.rc14~/1.0.0.rc14/make.tmpl.in 2008-07-14 20:13:31.000000000 +1000 ++++ dmraid-1.0.0.rc14/1.0.0.rc14/make.tmpl.in 2008-07-14 20:20:13.000000000 +1000 +@@ -44,6 +44,7 @@ + OWNER = @OWNER@ + GROUP = @GROUP@ + DMRAID_LIB_VERSION = @DMRAID_LIB_VERSION@ ++DMRAID_LIB_MAJOR_VERSION = @DMRAID_LIB_MAJOR_VERSION@ + + # The number of jobs to run, if blank, defaults to the make standard + ifndef MAKEFLAGS +@@ -131,7 +132,7 @@ + + %.so: $(OBJECTS) + $(CC) -shared -Wl,-soname,$(notdir $@).$(DMRAID_LIB_VERSION) \ +- -Wl,--version-script,.export.sym $(OBJECTS) -o $@ ++ -Wl,--version-script,.export.sym $(OBJECTS) $(LIBDMRAIDLIBS) -o $@ + + $(LIB_STATIC): $(OBJECTS) + $(RM) $@ +diff -urNad dmraid-1.0.0.rc14~/1.0.0.rc14/tools/Makefile.in dmraid-1.0.0.rc14/1.0.0.rc14/tools/Makefile.in +--- dmraid-1.0.0.rc14~/1.0.0.rc14/tools/Makefile.in 2008-07-14 20:13:31.000000000 +1000 ++++ dmraid-1.0.0.rc14/1.0.0.rc14/tools/Makefile.in 2008-07-14 20:20:13.000000000 +1000 +@@ -28,9 +28,13 @@ + DMRAIDLIBS += -ldevmapper_klibc + else + ifeq ("@DIETLIBC@", "yes") +- DMRAIDLIBS += -ldevmapper_dietc ++ ifeq ("@LIB_SO@", "no") ++ DMRAIDLIBS += -ldevmapper_dietc ++ endif + else +- DMRAIDLIBS += -ldevmapper ++ ifeq ("@LIB_SO@", "no") ++ DMRAIDLIBS += -ldevmapper ++ endif + endif + + ifeq ("@LIBSELINUX@", "yes") --- dmraid-1.0.0.rc14.orig/debian/dmraid.install +++ dmraid-1.0.0.rc14/debian/dmraid.install @@ -0,0 +1,4 @@ +debian/initramfs/dmraid.initramfs-hook/dmraid usr/share/initramfs-tools/hooks +debian/initramfs/dmraid.initramfs-local/dmraid usr/share/initramfs-tools/scripts/local-top +debian/standard/sbin/dmraid sbin +debian/standard/usr/share/man usr/share --- dmraid-1.0.0.rc14.orig/debian/dmraid-udeb.install +++ dmraid-1.0.0.rc14/debian/dmraid-udeb.install @@ -0,0 +1 @@ +debian/udeb/sbin/dmraid sbin --- dmraid-1.0.0.rc14.orig/debian/libdmraid1.0.0.rc14.install +++ dmraid-1.0.0.rc14/debian/libdmraid1.0.0.rc14.install @@ -0,0 +1 @@ +debian/standard/lib/*.so.* lib --- dmraid-1.0.0.rc14.orig/debian/control +++ dmraid-1.0.0.rc14/debian/control @@ -0,0 +1,104 @@ +Source: dmraid +Section: admin +Priority: optional +Maintainer: Ubuntu Core Developers +XSBC-Original-Maintainer: Giuseppe Iuculano +Standards-Version: 3.8.0 +Build-Depends: debhelper (>= 5), libdevmapper-dev, libklibc-dev, dpatch, autotools-dev +Homepage: http://people.redhat.com/~heinzm/sw/dmraid/ +Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/dmraid/ubuntu + +Package: dmraid +Section: admin +Priority: optional +Architecture: any +Depends: ${shlibs:Depends}, lsb-base +Description: Device-Mapper Software RAID support tool + dmraid discovers, activates, deactivates and displays properties + of software RAID sets (eg, ATARAID) and contained DOS partitions. + . + dmraid uses the Linux device-mapper to create devices with respective + mappings for the ATARAID sets discovered. + . + The following formats are supported: + Highpoint HPT37X/HPT45X + Intel Software RAID + LSI Logic MegaRAID + NVidia NForce RAID (nvraid) + Promise FastTrack + Silicon Image(tm) Medley(tm) + VIA Software RAID + . + Please read the documentation in /usr/share/doc/dmraid BEFORE attempting + any use of this software. Improper use can cause data loss! + +Package: dmraid-udeb +Architecture: any +Section: debian-installer +XC-Package-Type: udeb +Depends: ${shlibs:Depends} +Description: Device-Mapper Software RAID support tool + dmraid discovers, activates, deactivates and displays properties + of software RAID sets (eg, ATARAID) and contained DOS partitions. + . + dmraid uses the Linux device-mapper to create devices with respective + mappings for the ATARAID sets discovered. + . + The following formats are supported: + Highpoint HPT37X/HPT45X + Intel Software RAID + LSI Logic MegaRAID + NVidia NForce RAID (nvraid) + Promise FastTrack + Silicon Image(tm) Medley(tm) + VIA Software RAID + . + Please read the documentation in /usr/share/doc/dmraid BEFORE attempting + any use of this software. Improper use can cause data loss! + . + This is the minimal package (udeb) used by debian-installer + +Package: libdmraid1.0.0.rc14-udeb +Architecture: any +Section: debian-installer +XC-Package-Type: udeb +Depends: ${shlibs:Depends} +Description: Device-Mapper Software RAID support tool - shared library + dmraid discovers, activates, deactivates and displays properties + of software RAID sets (eg, ATARAID) and contained DOS partitions. + . + dmraid uses the Linux device-mapper to create devices with respective + mappings for the ATARAID sets discovered. + . + This package contains the dmraid shared library, which implements + the back half of dmraid, including on-disk metadata formats. + . + This is the minimal package (udeb) used by debian-installer + +Package: libdmraid1.0.0.rc14 +Architecture: any +Section: libs +Depends: ${shlibs:Depends} +Description: Device-Mapper Software RAID support tool - shared library + dmraid discovers, activates, deactivates and displays properties + of software RAID sets (eg, ATARAID) and contained DOS partitions. + . + dmraid uses the Linux device-mapper to create devices with respective + mappings for the ATARAID sets discovered. + . + This package contains the dmraid shared library, which implements + the back half of dmraid, including on-disk metadata formats. + +Package: libdmraid-dev +Architecture: any +Section: libdevel +Depends: libdmraid1.0.0.rc14 (= ${binary:Version}) +Description: Device-Mapper Software RAID support tool - header files + dmraid discovers, activates, deactivates and displays properties + of software RAID sets (eg, ATARAID) and contained DOS partitions. + . + dmraid uses the Linux device-mapper to create devices with respective + mappings for the ATARAID sets discovered. + . + This package contains the header files needed to link programs against + dmraid. --- dmraid-1.0.0.rc14.orig/debian/libdmraid-dev.install +++ dmraid-1.0.0.rc14/debian/libdmraid-dev.install @@ -0,0 +1,3 @@ +debian/standard/usr/lib/*.so usr/lib +debian/standard/lib/*.a usr/lib +debian/standard/usr/include/dmraid usr/include --- dmraid-1.0.0.rc14.orig/debian/dmraid.init +++ dmraid-1.0.0.rc14/debian/dmraid.init @@ -0,0 +1,54 @@ +#!/bin/bash +### BEGIN INIT INFO +# Provides: dmraid +# Required-Start: mountkernfs udev +# Required-Stop: umountroot +# X-Start-Before: checkroot mdadm-raid lvm2 lvm +# X-Stop-After: umountfs mdadm-raid lvm2 lvm +# Default-Start: S +# Default-Stop: 0 6 +# Short-Description: Start dmraid at boot time +### END INIT INFO + +# try to load module in case that hasn't been done yet +modprobe dm-mod >/dev/null 2>&1 + +set -e + +. /lib/lsb/init-functions +[ -r /etc/default/rcS ] && . /etc/default/rcS + +[ -x /sbin/dmraid ] || exit 0 + +case "$1" in + start|"") + log_begin_msg "Setting up DMRAID devices..." + if [ "$VERBOSE" != no ]; then + /sbin/dmraid --activate yes --ignorelocking --verbose + else + /sbin/dmraid --activate yes --ignorelocking >/dev/null 2>&1 + fi + log_end_msg $? + ;; + + stop) + log_begin_msg "Shutting down DMRAID devices... " + if [ "$VERBOSE" != no ]; then + /sbin/dmraid --activate no --ignorelocking --verbose + else + /sbin/dmraid --activate no --ignorelocking >/dev/null 2>&1 + fi + log_end_msg $? + ;; + + restart|force-reload) + $0 stop + sleep 1 + $0 start + ;; + + *) + log_success_msg "Usage: dmraid {start|stop|restart|force-reload}" + exit 1 + ;; +esac --- dmraid-1.0.0.rc14.orig/debian/watch +++ dmraid-1.0.0.rc14/debian/watch @@ -0,0 +1,3 @@ +# watch control file for dmraid +version=3 +http://people.redhat.com/heinzm/sw/dmraid/src dmraid-([\d.].*)\.tar\.bz2 --- dmraid-1.0.0.rc14.orig/debian/copyright +++ dmraid-1.0.0.rc14/debian/copyright @@ -0,0 +1,43 @@ +This is the Ubuntu / Debian GNU/Linux prepackaged version of dmraid. + +Packaged by Fabio M. Di Nitto . + +Re-debianized by Giuseppe Iuculano + +It was downloaded from http://people.redhat.com/heinzm/sw/dmraid/ +Upstream Author: Heinz Mauelshagen + +upstream LICENSE +**** + + Copyright (C) 2004,2006 Heinz Mauelshagen, Red Hat GmbH. + Copyright (C) 2006 Darrick Wong, James Simshaw, Adam DiCarlo IBM. + Copyright (c) 2001, 2002, 2004 Adaptec Inc. + Copyright (C) 2004 NVidia Corporation. All rights reserved. + All rights reserved. + + This dmraid code is free software; + you can redistribute and/or modify it 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. + + dmraid 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 (Lesser) General Public + License along with this dmraid code; if not, write to the Free + Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + MA 02110-1301, USA. + +**** + +On Ubuntu / Debian GNU/Linux systems, the complete text of the GNU +General Public License can be found in `/usr/share/common-licenses/GPL'. +The complete text of the GNU Lesser General Public License can be found in +`/usr/share/common-licenses/LGPL'. + +The Debian packaging is © 2008, Giuseppe Iuculano and +is licensed under the GPL, see `/usr/share/common-licenses/GPL'. --- dmraid-1.0.0.rc14.orig/debian/initramfs/dmraid.initramfs-hook/dmraid +++ dmraid-1.0.0.rc14/debian/initramfs/dmraid.initramfs-hook/dmraid @@ -0,0 +1,26 @@ +#!/bin/sh + +PREREQ="" + +prereqs() +{ + echo "$PREREQ" +} + +case $1 in +# get pre-requisites +prereqs) + prereqs + exit 0 + ;; +esac + +. /usr/share/initramfs-tools/hook-functions + +if [ -x /sbin/dmraid ]; then + manual_add_modules dm-mod + manual_add_modules dm-mirror + copy_exec /sbin/dmraid sbin +fi + +exit 0 --- dmraid-1.0.0.rc14.orig/debian/initramfs/dmraid.initramfs-local/dmraid +++ dmraid-1.0.0.rc14/debian/initramfs/dmraid.initramfs-local/dmraid @@ -0,0 +1,22 @@ +#!/bin/sh + +PREREQ="udev" + +prereqs() +{ + echo "$PREREQ" +} + +case $1 in +# get pre-requisites +prereqs) + prereqs + exit 0 + ;; +esac + +modprobe -Q dm-mod +modprobe -Q dm-mirror + +[ -x /sbin/dmraid ] && /sbin/dmraid -ay + --- dmraid-1.0.0.rc14.orig/debian/libdmraid1.0.0.rc14-udeb.install +++ dmraid-1.0.0.rc14/debian/libdmraid1.0.0.rc14-udeb.install @@ -0,0 +1 @@ +debian/udeb/lib/*.so.* lib --- dmraid-1.0.0.rc14.orig/debian/dmraid.postinst +++ dmraid-1.0.0.rc14/debian/dmraid.postinst @@ -0,0 +1,13 @@ +#! /bin/sh + +set -e + +#DEBHELPER# + +case "$1" in + configure) + if [ -x /usr/sbin/update-initramfs ]; then + /usr/sbin/update-initramfs -u + fi + ;; +esac --- dmraid-1.0.0.rc14.orig/debian/rules +++ dmraid-1.0.0.rc14/debian/rules @@ -0,0 +1,118 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +# export DH_VERBOSE=1 + +include /usr/share/dpatch/dpatch.make + +version := $(shell dpkg-parsechangelog | sed -ne 's/^Version: \(.*\)-[^-]*$$/\1/p') +buildroot := $(CURDIR)/debian/build +flavours := standard udeb +#flavours := standard udeb initramfs + +common-config-flags := '--mandir=$${prefix}/share/man' + +methods: methods-stamp +methods-stamp: + dh_testdir + mkdir -p ${buildroot} + for i in ${flavours}; do cp -rp ${version} ${buildroot}/$$i; done + touch $@ + +configure-standard: methods configure-standard-stamp +configure-standard-stamp: + -test -r /usr/share/misc/config.sub && \ + cp -f /usr/share/misc/config.sub 1.0.0.rc14/autoconf/config.sub + -test -r /usr/share/misc/config.guess && \ + cp -f /usr/share/misc/config.guess 1.0.0.rc14/autoconf/config.guess + dh_testdir + cd ${buildroot}/standard && \ + ./configure ${common-config-flags} --disable-klibc --disable-libselinux --disable-libsepol --enable-shared_lib + touch $@ + +configure-udeb: methods configure-udeb-stamp +configure-udeb-stamp: + dh_testdir + cd ${buildroot}/udeb && \ + ./configure ${common-config-flags} --disable-libselinux --disable-libsepol --enable-shared_lib + touch $@ + +configure-initramfs: methods configure-initramfs-stamp +configure-initramfs-stamp: + dh_testdir + cd ${buildroot}/initramfs && \ + ./configure ${common-config-flags} --enable-klibc + # klibc doesn't use standard headers. we need to copy them? + mkdir -p ${buildroot}/initramfs/include/bits + mkdir -p ${buildroot}/initramfs/include/sys + mkdir -p ${buildroot}/initramfs/include/gnu + mkdir -p ${buildroot}/initramfs/include/rpc + cp /usr/include/libdevmapper.h ${buildroot}/initramfs/include + cp /usr/include/byteswap.h ${buildroot}/initramfs/include + cp /usr/include/bits/byteswap.h ${buildroot}/initramfs/include/bits + cp /usr/include/netdb.h ${buildroot}/initramfs/include + cp /usr/include/bits/netdb.h ${buildroot}/initramfs/include/bits + cp /usr/include/rpc/netdb.h ${buildroot}/initramfs/include/rpc + cp /usr/include/features.h ${buildroot}/initramfs/include + cp /usr/include/bits/wordsize.h ${buildroot}/initramfs/include/bits + cp /usr/include/sys/cdefs.h ${buildroot}/initramfs/include/sys + cp /usr/include/gnu/stubs.h ${buildroot}/initramfs/include/gnu + touch $@ + +configure: methods configure-stamp +configure-stamp: $(addprefix configure-, $(flavours)) + dh_testdir + touch $@ + +build: patch-stamp configure build-stamp +build-stamp: + dh_testdir + for i in ${flavours}; do cd ${buildroot}/$$i && make; done + touch $@ + +install: build + dh_testdir + dh_testroot + dh_clean -k + cd ${buildroot}/standard && make DESTDIR=$(CURDIR)/debian/standard install + cd ${buildroot}/udeb && make DESTDIR=$(CURDIR)/debian/udeb install + #rm -rf debian/dmraid-udeb/lib + rm -rf debian/udeb/usr + dh_link + #dh_installdocs ${version}/CREDITS ${version}/KNOWN_BUGS ${version}/README ${version}/TODO + #dh_installchangelogs ${version}/CHANGELOG + +binary-arch: install + dh_testdir + dh_testroot + dh_installinit -p dmraid -- start 11 S . start 51 0 6 . + dh_install + dh_installdocs ${version}/CREDITS ${version}/KNOWN_BUGS ${version}/README ${version}/TODO + dh_installchangelogs ${version}/CHANGELOG + chmod 755 debian/dmraid/usr/share/initramfs-tools/hooks/dmraid debian/dmraid/usr/share/initramfs-tools/scripts/local-top/dmraid + dh_strip -a + dh_compress -a + dh_fixperms -a + dh_makeshlibs -p 'libdmraid1.0.0.rc14' --add-udeb 'libdmraid1.0.0.rc14-udeb' -V + dh_installdeb + dh_shlibdeps +# dh_shlibdeps -p libdmraid1.0.0.rc14 +# dh_shlibdeps -p libdmraid1.0.0.rc14-udeb +# dh_shlibdeps -p dmraid -L libdmraid1.0.0.rc14 +# dh_shlibdeps -p dmraid-udeb -L libdmraid1.0.0.rc14-udeb + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +binary-indep: install + # nothing to do + +binary: binary-arch binary-indep + +clean: unpatch + dh_testdir + dh_testroot + dh_clean + rm -f *-stamp + rm -rf debian/build debian/standard debian/udeb +.PHONY: clean binary binary-indep binary-arch install build configure methods $(addprefix configure-, $(flavours)) --- dmraid-1.0.0.rc14.orig/debian/changelog +++ dmraid-1.0.0.rc14/debian/changelog @@ -0,0 +1,305 @@ +dmraid (1.0.0.rc14-2ubuntu3) intrepid; urgency=low + + * Revert the config.{guess,sub} changes in the diff.gz file. Looks + like they were remnants from a previous package cleanup. (LP: #253553) + + -- Luke Yelavich Thu, 31 Jul 2008 18:22:58 +1000 + +dmraid (1.0.0.rc14-2ubuntu2) intrepid; urgency=low + + * debian/patches/01_statically_link_against_libz.dpatch: Dropped, as + the upstream changelog mentions that the CRC functionality from zlib has + now been implemented internally. + * debian/control: + - Dropped zlib1g-dev build dependency. + - Dropped libselinux1-dev build dependency, no symbols are used. + * debian/patches/01_fix_broken_linking.dpatch: + - Create correct symbolic links when building a shared library. + - libdmraid should be linked against libdevmapper when building the shared + library, not the dmraid executable. + * Build dmraid shared library for both standard and udeb packages. It will + likely be used in the future by udev. + * Create new packages, libdmraid1, libdmraid-dev and libdmraid1-udeb + respectively. + * Alter packaging to place shared libraries, header files etc into their + respective packages. + + -- Luke Yelavich Mon, 14 Jul 2008 20:34:08 +1000 + +dmraid (1.0.0.rc14-2ubuntu1) intrepid; urgency=low + + * Merge from debian unstable, remaining changes: + - Change raid45 target to raid4-5. + - Use -Q with modprobe in initramfs. + - Start after udev. + - debian/control: Add Vcs-Bzr field for Ubuntu. + - Update maintainer as per spec. + + -- Luke Yelavich Mon, 14 Jul 2008 18:44:25 +1000 + +dmraid (1.0.0.rc14-2) unstable; urgency=low + + * Merge the following patch from Ubuntu (thanks to Luke Yelavich): + + 04_generate-uuids.dpatch, Generate UUIDs with DMRAID prefix. + (Closes: #489967) + + 05_kernel-event-handling.dpatch, Add support for kernel driver event + handling support. (Closes: #489968) + + 06_isw-metadata-fixes.dpatch, Intel Software RAID metadata fixes. + (Closes: #489969) + + 07_isw-raid10-nested.dpatch, Add RAID10(0+1) nested RAID level support + for Intel Software RAID. (Closes: #489970) + + 08_promise-metadata-fixes.dpatch, Promise metadata fixes. + (Closes: #489971) + + 09_promise-add-offsets.dpatch, Add extra offsets where promise metadata + can be found. (Closes: #489972) + + 10_jmicron-name-fix.dpatch, Fix segfault when attempting to generate + name for jmicron controllers. (Closes: #489973) + * Added 11_fix_segfault_on_big_endian.dpatch (via upstream), it fixes a + segfault on big-endian platforms (ppc) + + -- Giuseppe Iuculano Wed, 09 Jul 2008 09:26:32 +0200 + +dmraid (1.0.0.rc14-1ubuntu1) intrepid; urgency=low + + * Merge from debian unstable, remaining changes: + - Change raid45 target to raid4-5. + - Patches from Mandriva: + + Generate UUIDs with "DMRAID-" as the prefix. + + Append the flag/feature required for dmraid1 event handling in the + kernel driver. + + Metadata fixes for Intel Software RAID. + + Add RAID10(0+1) nested RAID level support for Intel Software RAID. + + Metadata search fixes for Promis software RAID. + - Jmicron name generation fixes. + - Use -Q with modprobe in initramfs. + - Start after udev. + - Add some extra offsets for promise controllers. + * debian/control: Add Vcs-Bzr field for Ubuntu. + * Change maintainer to Ubuntu Core Developers, as promotion to main + will be happening shortly. + + -- Luke Yelavich Tue, 08 Jul 2008 14:58:40 +1000 + +dmraid (1.0.0.rc14-1) unstable; urgency=low + + * New upstream release (Closes: #450809) + * New maintainer, thanks to Utnubu Team for the prior work on dmraid + (Closes: #459593) + * Switch to dpatch + - 01_statically_link_against_libz.dpatch (merged) + - 02_raid45_toraid456.dpatch Change raid45 target to raid456 + (Closes: #411172) + - 03_fix_hyphen-used-as-minus-sign.dpatch + * lintian cleaned: + - Calling dh_installdeb after dh_shlibdeps + - Added autotools-dev to Build-Depends, and fix + outdated-autotools-helper-file + - Added watch file + - Fix old-fsf-address-in-copyright-file + - Fix init.d-script-missing-lsb-short-description + - Updated to standards version 3.8.0 + * debian/dmraid.init: Check if /etc/default/rcS exists before sourcing it + * debian/rules: Using dh_install instead of cp for installing initrams + + -- Giuseppe Iuculano Tue, 24 Jun 2008 10:17:33 +0200 + +dmraid (1.0.0.rc14-0ubuntu6) intrepid; urgency=low + + * Change raid45 target to raid4-5 + LP: #220493 + + -- Ben Collins Wed, 18 Jun 2008 16:23:42 -0400 + +dmraid (1.0.0.rc14-0ubuntu5) intrepid; urgency=low + + * Add LSB dependency header to init.d scripts, pulled from Debian. + * Patches from Mandriva: + - Generate UUIDs with "DMRAID-" as the prefix. + - Append the flag/feature required for dmraid1 event handling in the + kernel driver. + - Metadata fixes for Intel Software RAID. + - Add RAID10(0+1) nested RAID level support for Intel Software RAID. + - Metadata search fixes for Promis software RAID. + + -- Luke Yelavich Thu, 22 May 2008 23:37:49 +0200 + +dmraid (1.0.0.rc14-0ubuntu4) intrepid; urgency=low + + * Properly fix crash when attempting to use dmraid with jmicron controllers + with a patch from LP #152818. + + -- Luke Yelavich Sat, 03 May 2008 11:38:22 +1000 + +dmraid (1.0.0.rc14-0ubuntu3) hardy; urgency=low + + * Use improved patch from upstream to fix jmicron name issue. Fixes a core + dump. Patch taken from the dmraid fedora package. (LP: #205307, LP: #152818) + + -- Luke Yelavich Fri, 18 Apr 2008 09:38:18 +1000 + +dmraid (1.0.0.rc14-0ubuntu2) hardy; urgency=low + + * Patch from upstream to fix some jmicron raid string issues. + + -- Luke Yelavich Fri, 15 Feb 2008 11:00:40 +1100 + +dmraid (1.0.0.rc14-0ubuntu1) hardy; urgency=low + + * New upstream release. + * debian/dmraid.init: Check if /etc/default/rcS exists before sourcing it. + + -- Luke Yelavich Thu, 14 Feb 2008 00:16:44 +1100 + +dmraid (1.0.0.rc13-2.1) unstable; urgency=low + + * Non-maintainer upload to solve release goal. + * Add LSB dependency header to init.d scripts (Closes: #458626) + + -- Petter Reinholdtsen Tue, 18 Mar 2008 17:57:38 +0100 + +dmraid (1.0.0.rc13-2ubuntu6) hardy; urgency=low + + * debian/dmraid.initramfs-local: call udevadm instead of udevsettle + + -- Scott James Remnant Fri, 14 Dec 2007 16:13:57 +0000 + +dmraid (1.0.0.rc13-2ubuntu5) gutsy; urgency=low + + * No-change upload to link against libdevmapper1.02.1. + + -- Martin Pitt Thu, 14 Jun 2007 14:27:43 +0200 + +dmraid (1.0.0.rc13-2ubuntu4) gutsy; urgency=low + + * Added some new metadata offsets to pdc.h: Ubuntu #112402 + + -- Phillip Susi Thu, 10 May 2007 10:32:31 -0400 + +dmraid (1.0.0.rc13-2ubuntu3) feisty; urgency=high + + * Call udevsettle during initrd before continuing. Patch submitted by Tormod Volden. (LP: #93810) + + -- Richard Bailey (3-Oct-2006) Fri, 13 Apr 2007 16:02:00 -0400 + +dmraid (1.0.0.rc13-2ubuntu2) feisty; urgency=low + + * Moved dmraid to initialize after udev (LP: #98846) + * Changed Maintainer field as per the Maintainer Field policy + + -- Richard Bailey (3-Oct-2006) Mon, 26 Mar 2007 17:25:01 -0400 + +dmraid (1.0.0.rc13-2ubuntu1) feisty; urgency=low + + * Merge from debian unstable; closes Malone #54246 + * Retained the -Q flag for modprobe + + -- Richard Bailey (3-Oct-2006) Sat, 06 Dec 2006 12:09:00 -0400 + +dmraid (1.0.0.rc13-2) unstable; urgency=high + + * Apply patch to link libz statically, but only that; works only with GNU + linker, and might break full static linking in the future; thanks Steve + Langasek; catched by Frederic Briere; closes: #396762. + + -- Loic Minier Sun, 5 Nov 2006 17:08:55 +0100 + +dmraid (1.0.0.rc13-1) unstable; urgency=low + + * New upstream release; closes: #391499. + - Update copyright years and copyright holders. + - Update version in debian/rules. + - Supports some new NVIDIA RAID arrays; closes: #391125. + - Add a zlib1g-dev build-dep. + - Configure the standard flavour with --enable-libselinux + --enable-libsepol. + * Merge diff from 0.9.9+1.0.0.rc9-3.1 NMU; acknowledge NMU; thanks + Jonathan McDowell; closes: #367796, #367661. + * Add myself as Uploaders. + * Compute upstream version with dpkg-parsechangelog instead of hardcoding + it. + * Use $(CURDIR) instead of $(shell pwd). + * Fix bashisms; thanks Julien Danjou; closes: #374480. + * Pass --mandir to configure relative to ${prefix}; pass an absolute DESTDIR + to make install. + * Bump up Debhelper compatibility level to 5; partially addresses #375413. + * Bump up Standards-Version to 3.7.2. + * Build a new udeb flavour, configured without selinux and sepol; + closes: #375413. + * Add a .PHONY definition; create the list of configure-$flavour targets + dynamically; misc cleanups. + + -- Loic Minier Sun, 29 Oct 2006 12:01:36 +0100 + +dmraid (0.9.9+1.0.0.rc9-3.1) unstable; urgency=low + + * NMU with permission. + * Move init script from 03 to 04 to ensure we run after udev. + (Closes: #367796) + * Include the initramfs hook and script contributed by Tormod Volden, + so dmraid can integrate effortlessly (closes: launchpad.net/22107) + (Closes: #367661) + + -- Jonathan McDowell Mon, 24 Jul 2006 18:49:11 +0100 + +dmraid (0.9.9+1.0.0.rc9-3) unstable; urgency=low + + * add dmraid-udeb by popular request, looking forward for d-i integration + (Closes: #350250) + + -- Filippo Giunchedi Sat, 11 Feb 2006 13:25:55 +0100 + +dmraid (0.9.9+1.0.0.rc9-2ubuntu1) dapper; urgency=low + + * Include the initramfs hook and script contributed by Tormod Volden, + so dmraid can integrate effortlessly (closes: launchpad.net/22107) + * Call update-initramfs in our postinst, if we have it on the system. + + -- Adam Conrad Wed, 17 May 2006 19:16:59 +1000 + +dmraid (0.9.9+1.0.0.rc9-2build1) dapper; urgency=low + + * Rebuild for libdevmapper1.01 -> libdevmapper1.02 ABI change. + + -- Scott James Remnant Thu, 11 May 2006 09:31:36 +0100 + +dmraid (0.9.9+1.0.0.rc9-2) unstable; urgency=low + + * fix Description: to a more accurate one this closes: #334805 and correctly + indent the item list (closes: #334855) + * fix copyright file with additional informations as per policy 12.5 + (closes: #334856) + * add CHANGELOG to dh_installchangelogs + + -- Filippo Giunchedi Thu, 20 Oct 2005 22:12:42 +0200 + +dmraid (0.9.9+1.0.0.rc9-1) unstable; urgency=low + + * upload to debian on behalf of the utnubu team (closes: #306257) + + -- Filippo Giunchedi Sun, 16 Oct 2005 13:22:24 +0200 + +dmraid (0.9.9+1.0.0.rc9-0ubuntu1) breezy; urgency=low + + * New upstream releasse with tons of fixes. + + * Drop all our local patches (merged by upstream). + + -- Fabio M. Di Nitto Mon, 26 Sep 2005 06:57:21 +0200 + +dmraid (0.9.9+1.0.0.rc8-0ubuntu1) breezy; urgency=low + + * First release. + + * Fix aclocal.m4 to cope properly with --enable-klibc/--disable-klibc. + + * Fix make.tmpl.in to be very loud when building with klibc. + + * Fix make.tmpl.in to understand $(DESTDIR) for mandir and infodir. + + * Fix missing ] in lib/format/ataraid/pdc.c to compile on bigendian + machines. + + * Run init script before mdadm-raid and lvm and stop after. + + -- Fabio M. Di Nitto Thu, 22 Sep 2005 06:56:24 +0200 + --- dmraid-1.0.0.rc14.orig/debian/compat +++ dmraid-1.0.0.rc14/debian/compat @@ -0,0 +1 @@ +5