diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index ec0e1aa..f3cb2ad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,3 @@ -/iprutils-*-src.tgz -/iprutils-2.4.8.tar.gz -/iprutils-2.4.10.1.tar.gz -/iprutils-2.4.11.1.tar.gz -/iprutils-2.4.12.1.tar.gz -/iprutils-2.4.14.1.tar.gz -/iprutils-2.4.15.1.tar.gz -/iprutils-2.4.16.1.tar.gz -/iprutils-2.4.17.1.tar.gz +iprutils-2.2.20-src.tgz +/iprutils-2.3.2-src.tgz +/iprutils-2.3.7-src.tgz diff --git a/iprutils-2.4.19-covscan.patch b/iprutils-2.4.19-covscan.patch deleted file mode 100644 index 87b4e66..0000000 --- a/iprutils-2.4.19-covscan.patch +++ /dev/null @@ -1,449 +0,0 @@ -diff -up iprutils-rel-2-4-19/iprconfig.c.me iprutils-rel-2-4-19/iprconfig.c ---- iprutils-rel-2-4-19/iprconfig.c.me 2024-06-17 12:10:54.493119641 +0200 -+++ iprutils-rel-2-4-19/iprconfig.c 2024-06-18 11:20:17.885495296 +0200 -@@ -2483,7 +2483,7 @@ static char *disk_details(char *body, st - char vendor_id[IPR_VENDOR_ID_LEN+1]; - char serial_num[IPR_SERIAL_NUM_LEN+1]; - char buffer[100]; -- int len, scsi_channel, scsi_id, scsi_lun; -+ int len = 0, scsi_channel = 0, scsi_id = 0, scsi_lun = 0; - - device_record = (struct ipr_dev_record *)dev->dev_rcd; - -@@ -2633,7 +2633,7 @@ int get_ses_phy_loc(struct ipr_dev *dev) - int rc, i, ret = 1; - struct ses_inquiry_page0 ses_page0_inq; - struct ses_serial_num_vpd ses_vpd_inq; -- struct esm_serial_num_vpd esm_vpd_inq; -+ struct esm_serial_num_vpd esm_vpd_inq = {0}; - char buffer[100]; - - memset(&ses_vpd_inq, 0, sizeof(ses_vpd_inq)); -@@ -2649,18 +2649,18 @@ int get_ses_phy_loc(struct ipr_dev *dev) - - if (ret == 0 ) { - dev->physical_location[0] = '\0'; -- strncat(dev->physical_location, "U", strlen("U")); -+ strcat(dev->physical_location, "U"); - ipr_strncpy_0(buffer, (char *)ses_vpd_inq.feature_code, - sizeof(ses_vpd_inq.feature_code)); -- strncat(dev->physical_location, buffer, strlen(buffer)); -+ strncat(dev->physical_location, buffer, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); - ipr_strncpy_0(buffer, (char *)ses_vpd_inq.count, - sizeof(ses_vpd_inq.count)); -- strncat(dev->physical_location, ".", strlen(".")); -- strncat(dev->physical_location, buffer, strlen(buffer)); -+ strcat(dev->physical_location, "."); -+ strncat(dev->physical_location, buffer, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); - ipr_strncpy_0(buffer, (char *)ses_vpd_inq.ses_serial_num, - sizeof(ses_vpd_inq.ses_serial_num)); -- strncat(dev->physical_location, ".", strlen(".")); -- strncat(dev->physical_location, buffer, strlen(buffer)); -+ strcat(dev->physical_location, "."); -+ strncat(dev->physical_location, buffer, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); - - } - -@@ -2676,8 +2676,8 @@ int get_ses_phy_loc(struct ipr_dev *dev) - ipr_strncpy_0((char *)&dev->serial_number, (char *)&esm_vpd_inq.esm_serial_num[0], sizeof(esm_vpd_inq.esm_serial_num)); - ipr_strncpy_0(buffer, (char *)esm_vpd_inq.frb_label, - sizeof(esm_vpd_inq.frb_label)); -- strncat(dev->physical_location, "-", strlen("-")); -- strncat(dev->physical_location, buffer, strlen(buffer)); -+ strcat(dev->physical_location, "-"); -+ strncat(dev->physical_location, buffer, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); - return 0; - } - } -@@ -3313,7 +3313,7 @@ static int raid_stop_complete() - **/ - int do_confirm_raid_stop(i_container *i_con) - { -- struct ipr_dev *vset; -+ struct ipr_dev *vset = NULL; - struct array_cmd_data *cur_raid_cmd; - struct ipr_ioa *ioa; - int rc; -@@ -3715,7 +3715,7 @@ int configure_raid_parameters(i_containe - int ch, start_row; - int cur_field_index; - int selected_count = 0, ssd_num = 0, hdd_num = 0; -- int stripe_sz, stripe_sz_mask, stripe_sz_list[16]; -+ int stripe_sz, stripe_sz_mask, stripe_sz_list[16] = {0}; - struct prot_level *prot_level_list; - int *userptr = NULL; - int *retptr; -@@ -3979,7 +3979,7 @@ int configure_raid_parameters(i_containe - sprintf(stripe_menu_str[index].line,"%d k",stripe_sz_mask); - - if (stripe_sz_mask == ntohs(cap_entry->recommended_stripe_size)) { -- sprintf(buffer,_("%s - recommend"),stripe_menu_str[index].line); -+ snprintf(buffer, sizeof(buffer), _("%s - recommend"),stripe_menu_str[index].line); - raid_item[index] = new_item(buffer, ""); - } else { - raid_item[index] = new_item(stripe_menu_str[index].line, ""); -@@ -7486,7 +7486,7 @@ int remove_or_add_back_device_64bit(stru - int res_path_len, dev_slot; - struct ipr_dev *sec_dev, *tmp_dev; - char new_sysfs_res_path[IPR_MAX_RES_PATH_LEN]; -- int rc; -+ int rc = 0; - - res_path_len = strlen(dev->res_path_name); - dev_slot = strtoul(dev->res_path_name + (res_path_len - 2), NULL, 16); -@@ -7558,7 +7558,7 @@ int process_conc_maint(i_container *i_co - int toggle=0; - s_node *n_screen; - struct screen_output *s_out; -- struct ipr_res_addr res_addr; -+ struct ipr_res_addr res_addr = {0}; - struct ipr_res_path res_path[2]; - int max_y, max_x; - -@@ -7905,7 +7905,7 @@ static struct ipr_dev *alloc_empty_slot( - dev->ses[0] = ses; - dev->ioa = ioa; - dev->physical_location[0] = '\0'; -- strncat(dev->physical_location, phy_loc, strlen(phy_loc)); -+ strncat(dev->physical_location, phy_loc, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); - get_res_addrs(dev); - return dev; - } -@@ -7948,7 +7948,7 @@ static struct ipr_dev *alloc_empty_slot_ - dev->ses[0] = ses; - dev->ioa = ioa; - dev->physical_location[0] = '\0'; -- strncat(dev->physical_location, phy_loc, strlen(phy_loc)); -+ strncat(dev->physical_location, phy_loc, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); - get_res_path(dev); - return dev; - } -@@ -8020,7 +8020,7 @@ static struct ipr_dev *get_dev_for_slot( - } - dev->physical_location[0] = '\0'; - if (strlen(phy_loc)) -- strncat(dev->physical_location, phy_loc, strlen(phy_loc)); -+ strncat(dev->physical_location, phy_loc, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); - return dev; - } - } -@@ -8068,7 +8068,7 @@ static struct ipr_dev *get_dev_for_slot_ - } - dev->physical_location[0] = '\0'; - if (strlen(phy_loc)) -- strncat(dev->physical_location, phy_loc, strlen(phy_loc)); -+ strncat(dev->physical_location, phy_loc, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); - return dev; - - } -@@ -8282,7 +8282,7 @@ static int get_conc_devs(struct ipr_dev - int ses_bus, scsi_id_found, is_spi, is_vses; - struct ipr_ses_config_pg ses_cfg; - struct drive_elem_desc_pg drive_data; -- char phy_loc[PHYSICAL_LOCATION_LENGTH + 1]; -+ char phy_loc[PHYSICAL_LOCATION_LENGTH + 1] = {0}; - int times, index; - - for_each_primary_ioa(ioa) { -@@ -11447,7 +11447,7 @@ int change_ioa_config(i_container * i_co - * number of options showed at screen. It should be more generic... - */ - struct ioa_config_attr *config_attr = NULL; -- struct ipr_ioa_attr ioa_attr; -+ struct ipr_ioa_attr ioa_attr = {0}; - int header_lines = 0, index = 0; - char *body = NULL; - struct screen_output *s_out; -@@ -12418,8 +12418,7 @@ int ibm_storage_log(i_container *i_con) - (*dirent)->d_name); - logsource_fp = gzopen(logfile, "r"); - if (logsource_fp == NULL) { -- syslog(LOG_ERR, "Could not open %s: %m\n", line); -- close(log_fd); -+ syslog(LOG_ERR, "Could not open %s: %m\n", logfile); - continue; /* proceed to next log file */ - } - -@@ -12524,8 +12523,7 @@ int kernel_log(i_container *i_con) - (*dirent)->d_name); - logsource_fp = gzopen(logfile, "r"); - if (logsource_fp == NULL) { -- syslog(LOG_ERR, "Could not open %s: %m\n", line); -- close(log_fd); -+ syslog(LOG_ERR, "Could not open %s: %m\n", logfile); - continue; /* proceed to next log file */ - } - -@@ -12602,8 +12600,7 @@ int iprconfig_log(i_container *i_con) - (*dirent)->d_name); - logsource_fp = gzopen(logfile, "r"); - if (logsource_fp == NULL) { -- syslog(LOG_ERR, "Could not open %s: %m\n", line); -- close(log_fd); -+ syslog(LOG_ERR, "Could not open %s: %m\n", logfile); - continue; /* proceed to next log file */ - } - -@@ -12855,7 +12852,7 @@ int ibm_boot_log(i_container *i_con) - snprintf(logfile, sizeof(logfile), "%s/boot.msg", log_root_dir); - logsource_fp = fopen(logfile, "r"); - if (!logsource_fp) { -- syslog(LOG_ERR, "Could not open %s: %m\n", line); -+ syslog(LOG_ERR, "Could not open %s: %m\n", logfile); - free(tmp_log); - close(log_fd); - return RC_75_Failed_Read_Err_Log; -@@ -12917,7 +12914,7 @@ static void get_status(struct ipr_dev *d - int blk_size = 0; - struct ipr_mode_pages mode_pages; - struct ipr_block_desc *block_desc; -- struct sense_data_t sense_data; -+ struct sense_data_t sense_data = {0}; - struct ipr_cmd_status cmd_status; - struct ipr_cmd_status_record *status_record; - int percent_cmplt = 0; -@@ -13261,7 +13258,7 @@ static char *print_phy64(struct ipr_fabr - ipr_format_res_path_wo_hyphen(cfg->res_path, buffer, IPR_MAX_RES_PATH_LEN); - ff_len = res_path_len - strlen(buffer); - for ( i = 0; i < ff_len; i++) -- strncat(buffer, "F", strlen("F")); -+ strcat(buffer, "F"); - - len += sprintf(body + len, "%s", buffer); - -@@ -13419,8 +13416,8 @@ char *__print_device(struct ipr_dev *dev - char res_path_name[IPR_MAX_RES_PATH_LEN]; - int tab_stop = 0; - int loc_len = 0; -- char vendor_id[IPR_VENDOR_ID_LEN + 1]; -- char product_id[IPR_PROD_ID_LEN + 1]; -+ char vendor_id[IPR_VENDOR_ID_LEN + 1] = {0}; -+ char product_id[IPR_PROD_ID_LEN + 1] = {0}; - struct ipr_ioa *ioa = dev->ioa, *ioa_phy_loc; - bool is4k = false, isri = false; - -@@ -14009,7 +14006,7 @@ static void curses_init() - **/ - static int format_devices(char **args, int num_args, int fmt_flag) - { -- int i, rc, blksz; -+ int i, rc, blksz = 0; - struct ipr_dev *dev; - - for (i = 0; i < num_args; i++) { -@@ -17779,7 +17776,7 @@ static int get_drive_phy_loc(struct ipr_ - struct ipr_ses_config_pg ses_cfg; - int ses_bus, scsi_id_found, is_spi, is_vses; - struct drive_elem_desc_pg drive_data; -- char phy_loc[PHYSICAL_LOCATION_LENGTH + 1]; -+ char phy_loc[PHYSICAL_LOCATION_LENGTH + 1] = {0}; - int times, index; - - is_spi = ioa_is_spi(ioa); -@@ -18222,7 +18219,7 @@ static int set_ioa_caching(char **args, - static int set_array_rebuild_verify(char **args, int num_args) - { - int rc; -- struct ipr_ioa_attr attr; -+ struct ipr_ioa_attr attr = {0}; - struct ipr_ioa *ioa; - struct ipr_dev *dev; - int disable_rebuild_verify; -@@ -18318,7 +18315,7 @@ static int set_array_rebuild_rate(char** - int err_rebuild_rate = 0; - int rebuild_rate = 0; - int rc; -- struct ipr_ioa_attr attr; -+ struct ipr_ioa_attr attr = {0}; - struct ipr_ioa *ioa; - struct ipr_dev *dev; - -@@ -18382,7 +18379,7 @@ static int set_array_rebuild_rate(char** - **/ - static int query_array_rebuild_rate(char**args, int num_args) - { -- struct ipr_ioa_attr attr; -+ struct ipr_ioa_attr attr = {0}; - struct ipr_ioa *ioa; - struct ipr_dev *dev; - int rebuild_rate = 0; -diff -up iprutils-rel-2-4-19/iprconfig.h.me iprutils-rel-2-4-19/iprconfig.h -diff -up iprutils-rel-2-4-19/iprdump.c.me iprutils-rel-2-4-19/iprdump.c ---- iprutils-rel-2-4-19/iprdump.c.me 2024-06-17 17:12:49.846400485 +0200 -+++ iprutils-rel-2-4-19/iprdump.c 2024-06-18 00:41:47.907738323 +0200 -@@ -23,6 +23,7 @@ - #define MAX_DUMP_FILES 4 - #define TOOL_NAME "iprdump" - #define DUMP_PREFIX TOOL_NAME"." -+#define MAX_PATH_LENGTH 1024 - - char *tool_name = TOOL_NAME; - -@@ -156,7 +157,7 @@ static int dump_sort(const struct dirent - static void cleanup_old_dumps() - { - struct dirent **dirent; -- char fname[100]; -+ char fname[MAX_PATH_LENGTH]; - int rc, i; - - rc = scandir(usr_dir, &dirent, select_dump_file, dump_sort); -@@ -226,7 +227,7 @@ static void write_dump(struct ipr_ioa *i - if (get_dump_fname(dump_file)) - return; - -- sprintf(dump_path, "%s%s", usr_dir, dump_file); -+ snprintf(dump_path, sizeof(dump_path), "%s%s", usr_dir, dump_file); - f_dump = creat(dump_path, S_IRUSR); - if (f_dump < 0) { - syslog(LOG_ERR, "Cannot open %s. %m\n", dump_path); -@@ -347,7 +348,7 @@ int main(int argc, char *argv[]) - if (strcmp(argv[i], "-d") == 0) { - strcpy(usr_dir,argv[++i]); - len = strlen(usr_dir); -- if (len < sizeof(usr_dir) && usr_dir[len] != '/') { -+ if (len < sizeof(usr_dir) - 2 && usr_dir[len] != '/') { - usr_dir[len + 1] = '/'; - usr_dir[len + 2] = '\0'; - } -diff -up iprutils-rel-2-4-19/iprlib.c.me iprutils-rel-2-4-19/iprlib.c ---- iprutils-rel-2-4-19/iprlib.c.me 2024-06-17 12:22:56.983740856 +0200 -+++ iprutils-rel-2-4-19/iprlib.c 2024-06-18 10:09:20.716132953 +0200 -@@ -2063,8 +2063,9 @@ static void ipr_get_pci_slots() - if (strcmp(pci_slot[i].pci_device, ioa->pci_address) && - strcmp(pci_slot[i].slot_name, ioa->pci_address)) - continue; -- strcpy(ioa->physical_location, -- pci_slot[i].physical_name); -+ strncpy(ioa->physical_location, -+ pci_slot[i].physical_name, sizeof(ioa->physical_location) - 1); -+ ioa->physical_location[sizeof(ioa->physical_location) - 1] = '\0'; - break; - } - } -@@ -2101,7 +2102,7 @@ void load_system_p_oper_mode() - **/ - static int __tool_init(int save_state) - { -- int temp, fw_type; -+ int temp, fw_type = 0; - struct ipr_ioa *ipr_ioa; - DIR *dirfd, *host_dirfd; - struct dirent *dent, *host_dent; -@@ -2132,13 +2133,15 @@ static int __tool_init(int save_state) - memset(ipr_ioa,0,sizeof(struct ipr_ioa)); - - /* PCI address */ -- strcpy(ipr_ioa->pci_address, dent->d_name); -+ strncpy(ipr_ioa->pci_address, dent->d_name, sizeof(ipr_ioa->pci_address) - 1); -+ ipr_ioa->pci_address[sizeof(ipr_ioa->pci_address) -1] = '\0'; - ipr_ioa->host_num = -1; - sprintf(devpath, "/sys/bus/pci/drivers/ipr/%s", - dent->d_name); - host_dirfd = opendir(devpath); - if (!host_dirfd) { - syslog_dbg("Failed to open scsi_host class.\n"); -+ closedir(dirfd); - return -EAGAIN; - } - while ((host_dent = readdir(host_dirfd)) != NULL) { -@@ -2152,7 +2155,8 @@ static int __tool_init(int save_state) - &ipr_ioa->host_num) != 1) - continue; - -- strcpy(ipr_ioa->host_name, host_dent->d_name); -+ strncpy(ipr_ioa->host_name, host_dent->d_name, sizeof(ipr_ioa->host_name) - 1); -+ ipr_ioa->host_name[sizeof(ipr_ioa->host_name) - 1] = '\0'; - get_pci_attrs(ipr_ioa, devpath); - - sprintf(scsipath, "%s/%s/scsi_host/%s", devpath, -@@ -2188,6 +2192,7 @@ static int __tool_init(int save_state) - len = sysfs_read_attr(devpath, "model", buff, 16); - if (len < 0 || (sscanf(buff, "%4X", &temp) != 1)) { - syslog_dbg("Cannot read SCSI device model.\n"); -+ closedir(dirfd); - return -EAGAIN; - } - ipr_ioa->ccin = temp; -@@ -5747,7 +5752,7 @@ int ipr_set_active_active_mode(struct ip - **/ - int set_active_active_mode(struct ipr_ioa *ioa, int mode) - { -- struct ipr_ioa_attr attr; -+ struct ipr_ioa_attr attr = {0}; - int rc; - - /* Get the current ioa attributes. */ -@@ -5860,7 +5865,7 @@ int get_scsi_dev_data(struct scsi_dev_da - len = sysfs_read_attr(devpath, "resource_path", buff, 256); - if (len > 0) - ipr_strncpy_0n(scsi_dev_data->res_path, -- buff, IPR_MAX_RES_PATH_LEN); -+ buff, IPR_MAX_RES_PATH_LEN-1); - - len = sysfs_read_attr(devpath, "device_id", buff, 256); - if (len > 0) -@@ -6255,15 +6260,19 @@ static void get_prot_levels(struct ipr_i - for_each_array(ioa, array) { - prot_level_str = get_prot_level_str(ioa->supported_arrays, - array->raid_level); -- strncpy(array->prot_level_str, prot_level_str, 8); -+ strncpy(array->prot_level_str, prot_level_str, sizeof(array->prot_level_str) - 1); -+ array->prot_level_str[sizeof(array->prot_level_str) - 1] = '\0'; - } - - for_each_vset(ioa, vset) { - prot_level_str = get_prot_level_str(ioa->supported_arrays, - vset->raid_level); -- strncpy(vset->prot_level_str, prot_level_str, 8); -- for_each_dev_in_vset(vset, dev) -- strncpy(dev->prot_level_str, prot_level_str, 8); -+ strncpy(vset->prot_level_str, prot_level_str, sizeof(vset->prot_level_str) - 1); -+ vset->prot_level_str[sizeof(vset->prot_level_str) - 1] = '\0'; -+ for_each_dev_in_vset(vset, dev) { -+ strncpy(dev->prot_level_str, prot_level_str, sizeof(dev->prot_level_str) - 1); -+ dev->prot_level_str[sizeof(dev->prot_level_str) - 1] = '\0'; -+ } - } - } - -@@ -7038,6 +7047,7 @@ static void ipr_save_attr(struct ipr_ioa - temp_fd = fopen(temp_fname, "w"); - if (temp_fd == NULL) { - syslog(LOG_ERR, "Could not open %s. %m\n", temp_fname); -+ fclose(fd); - return; - } - -@@ -9175,6 +9185,8 @@ int ipr_update_ioa_fw(struct ipr_ioa *io - dir = opendir(hotplug_dir); - if (!dir) - mkdir(hotplug_dir, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH); -+ else -+ closedir(dir); - - dir = opendir(hotplug_dir); - if (!dir) { -@@ -9356,7 +9368,12 @@ int ipr_ses_get_time(struct ipr_dev *dev - return -EIO; - - *origin = !!get_time.timestamp_origin; -- *timestamp = be64toh(*((u64*) get_time.timestamp)) >> 16; -+ *timestamp = ((u64)get_time.timestamp[0] << 40) | -+ ((u64)get_time.timestamp[1] << 32) | -+ ((u64)get_time.timestamp[2] << 24) | -+ ((u64)get_time.timestamp[3] << 16) | -+ ((u64)get_time.timestamp[4] << 8) | -+ (u64)get_time.timestamp[5]; - return 0; - } - -@@ -9776,7 +9793,7 @@ static void init_gpdd_dev(struct ipr_dev - */ - static void init_af_dev(struct ipr_dev *dev) - { -- struct ipr_disk_attr attr; -+ struct ipr_disk_attr attr = {0}; - int rc; - - if (ipr_set_dasd_timeouts(dev, 0)) diff --git a/iprutils-cflags.patch b/iprutils-cflags.patch new file mode 100644 index 0000000..b615bde --- /dev/null +++ b/iprutils-cflags.patch @@ -0,0 +1,11 @@ +--- iprutils/Makefile.cflags 2005-12-23 10:11:42.000000000 +0000 ++++ iprutils/Makefile 2005-12-23 10:11:49.000000000 +0000 +@@ -9,7 +9,7 @@ + + include version.mk + +-CFLAGS = -g -Wall $(IPR_DEFINES) ++CFLAGS += -g -Wall $(IPR_DEFINES) + UTILS_VER = $(IPR_MAJOR_RELEASE).$(IPR_MINOR_RELEASE).$(IPR_FIX_LEVEL) + TAR = cd .. && tar -zcpf iprutils-$(UTILS_VER)-src.tgz --exclude CVS --exclude applied-patches --exclude series --exclude txt --exclude pc --exclude patches --exclude debug --exclude *~* iprutils + diff --git a/iprutils-initscripts.patch b/iprutils-initscripts.patch new file mode 100644 index 0000000..0641491 --- /dev/null +++ b/iprutils-initscripts.patch @@ -0,0 +1,463 @@ +diff -up iprutils/init.d/iprdump.initscripts iprutils/init.d/iprdump +--- iprutils/init.d/iprdump.initscripts 2008-11-20 02:20:20.000000000 +0100 ++++ iprutils/init.d/iprdump 2009-10-05 13:46:41.000000000 +0200 +@@ -20,84 +20,98 @@ + # Short-Description: Start the ipr dump daemon + # Description: Start the ipr dump daemon + ### END INIT INFO ++# ++# chkconfig: 2345 20 80 ++# description: Runs the IBM Power RAID adapter dump daemon ++# processname: iprdump ++# pidfile: /var/run/iprdump.pid ++# ++ ++# Source function library ++. /etc/init.d/functions ++ ++RETVAL=0 ++ ++prog=iprdump ++exec=/sbin/iprdump ++lockfile=/var/lock/subsys/iprdump ++pidfile=/var/run/iprdump.pid + +-IPRDUMP=/sbin/iprdump +-test -x $IPRDUMP || exit 5 +-. /lib/lsb/init-functions + + start() { +- echo -n "Starting ipr dump daemon" ++ [ -x $exec ] || exit 5 ++ echo -n "Starting $prog: " + if [ ! -d /sys/class/scsi_generic ] ; then + modprobe sg + fi +- start_daemon $IPRDUMP --daemon +- ++ ++ daemon $exec --daemon + RETVAL=$? +- if [ $RETVAL -eq 0 ]; then +- log_success_msg " " +- else +- log_failure_msg " " +- fi ++ echo ++ [ $RETVAL = 0 ] && touch $lockfile && /sbin/pidof $exec > $pidfile + return $RETVAL + } + + stop() { +- echo -n "Shutting down ipr dump daemon" +- killproc $IPRDUMP +- ++ echo -n "Stopping $prog: " ++ killproc $exec -TERM + RETVAL=$? +- if [ $RETVAL -eq 0 ]; then +- log_success_msg " " +- else +- log_failure_msg " " +- fi ++ echo ++ [ $RETVAL = 0 ] && rm -f $lockfile $pidfile + return $RETVAL + } + + restart() { +- $0 stop +- $0 start +- return $RETVAL ++ stop ++ start + } + + reload() { +- echo -n "Reload ipr dump daemon" +- $0 stop && $0 start +- return $RETVAL ++ restart + } + +-status() { +- echo -n "Checking for iprdump daemon: " ++force_reload() { ++ restart ++} + +- pidofproc $IPRDUMP >& /dev/null ++rh_status() { ++ # run checks to determine if the service is running or use generic status ++ status $prog ++} + +- RETVAL=$? +- if [ $RETVAL -eq 0 ]; then +- log_success_msg "running" +- else +- log_failure_msg "unused" +- fi +- return $RETVAL ++rh_status_q() { ++ rh_status >/dev/null 2>&1 + } + + case "$1" in + start) +- start +- ;; ++ rh_status_q && exit 0 ++ $1 ++ ;; + stop) +- stop +- ;; ++ rh_status_q || exit 0 ++ $1 ++ ;; + restart) +- restart +- ;; ++ $1 ++ ;; + reload) +- reload +- ;; ++ rh_status_q || exit 7 ++ $1 ++ ;; ++ force-reload) ++ force_reload ++ ;; + status) +- status +- ;; ++ rh_status ++ ;; ++ condrestart|try-restart) ++ rh_status_q || exit 0 ++ restart ++ ;; + *) +- echo "Usage: $0 {start|stop|status|restart|reload}" +- exit 1 +- ;; ++ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" ++ exit 2 + esac ++exit $? ++ +diff -up iprutils/init.d/iprinit.initscripts iprutils/init.d/iprinit +--- iprutils/init.d/iprinit.initscripts 2007-08-21 20:56:03.000000000 +0200 ++++ iprutils/init.d/iprinit 2009-10-05 14:59:18.000000000 +0200 +@@ -20,84 +20,97 @@ + # Short-Description: Start the ipr init daemon + # Description: Start the ipr initialization daemon + ### END INIT INFO +- +-IPRINIT=/sbin/iprinit +-test -x $IPRINIT || exit 5 +-. /lib/lsb/init-functions ++# ++# chkconfig: 2345 20 80 ++# description: Runs the IBM Power RAID adapter initialization daemon ++# processname: iprinit ++# pidfile: /var/run/iprinit.pid ++# ++ ++# Source function library ++. /etc/init.d/functions ++ ++RETVAL=0 ++ ++prog=iprinit ++exec=/sbin/iprinit ++lockfile=/var/lock/subsys/$prog ++pidfile=/var/run/iprinit.pid + + start() { +- echo -n "Starting ipr initialization daemon" ++ [ -x $exec ] || exit 5 ++ echo -n "Starting $prog: " + if [ ! -d /sys/class/scsi_generic ] ; then + modprobe sg + fi +- start_daemon $IPRINIT --daemon ++ daemon $exec --daemon + + RETVAL=$? +- if [ $RETVAL -eq 0 ]; then +- log_success_msg " " +- else +- log_failure_msg " " +- fi ++ echo ++ [ $RETVAL = 0 ] && touch $lockfile && /sbin/pidof $exec > $pidfile + return $RETVAL + } + + stop() { +- echo -n "Shutting down ipr initialization daemon" +- killproc $IPRINIT +- ++ echo -n "Stopping iprinit: " ++ killproc $exec -TERM + RETVAL=$? +- if [ $RETVAL -eq 0 ]; then +- log_success_msg " " +- else +- log_failure_msg " " +- fi ++ [ $RETVAL = 0 ] && rm -f $lockfile $pidfile + return $RETVAL + } + + restart() { +- $0 stop +- $0 start +- return $RETVAL ++ stop ++ start + } + + reload() { +- echo -n "Reload ipr initialization daemon" +- $0 stop && $0 start +- return $RETVAL ++ restart + } + +-status() { +- echo -n "Checking for ipr initialization daemon: " ++force_reload() { ++ restart ++} + +- pidofproc $IPRINIT >& /dev/null ++rh_status() { ++ # run checks to determine if the service is running or use generic status ++ status $prog ++} + +- RETVAL=$? +- if [ $RETVAL -eq 0 ]; then +- log_success_msg "running" +- else +- log_failure_msg "unused" +- fi +- return $RETVAL ++rh_status_q() { ++ rh_status >/dev/null 2>&1 + } + ++ + case "$1" in + start) +- start +- ;; ++ rh_status_q && exit 0 ++ $1 ++ ;; + stop) +- stop +- ;; ++ rh_status_q || exit 0 ++ $1 ++ ;; + restart) +- restart +- ;; ++ $1 ++ ;; + reload) +- reload +- ;; ++ rh_status_q || exit 7 ++ $1 ++ ;; ++ force-reload) ++ force_reload ++ ;; + status) +- status +- ;; ++ rh_status ++ ;; ++ condrestart|try-restart) ++ rh_status_q || exit 0 ++ restart ++ ;; + *) +- echo "Usage: $0 {start|stop|status|restart|reload}" +- exit 1 +- ;; ++ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" ++ exit 2 + esac ++exit $? ++ +diff -up iprutils/init.d/iprupdate.initscripts iprutils/init.d/iprupdate +--- iprutils/init.d/iprupdate.initscripts 2008-11-20 02:20:20.000000000 +0100 ++++ iprutils/init.d/iprupdate 2009-10-05 15:04:50.000000000 +0200 +@@ -20,86 +20,98 @@ + # Short-Description: Start the iprupdate utility + # Description: Start the iprupdate utility + ### END INIT INFO +- +-IPRUPDATE=/sbin/iprupdate +-test -x $IPRUPDATE || exit 5 +-. /lib/lsb/init-functions ++# ++# chkconfig: 2345 20 80 ++# description: Runs the IBM Power RAID adapter update daemon ++# processname: iprupdate ++# pidfile: /var/run/iprupdate.pid ++# ++ ++# Source function library ++. /etc/init.d/functions ++ ++RETVAL=0 ++ ++prog=iprupdate ++exec=/sbin/iprupdate ++lockfile=/var/lock/subsys/iprupdate ++pidfile=/var/run/iprupdate.pid + + start() { +- echo "Checking ipr microcode levels" +- if [ ! -d /sys/class/scsi_generic ] ; then +- modprobe sg +- fi +- start_daemon $IPRUPDATE --daemon +- +- RETVAL=$? +- if [ $RETVAL -eq 0 ]; then +- echo -n "Completed ipr microcode updates" +- log_success_msg " " +- else +- echo -n "Completed ipr microcode updates" +- log_failure_msg " " +- fi +- return $RETVAL ++ [ -x $exec ] || exit 5 ++ echo -n "Starting iprupdate: " ++ ++ if [ ! -d /sys/class/scsi_generic ]; then ++ modprobe sg ++ fi ++ ++ daemon $exec --daemon ++ RETVAL=$? ++ echo ++ [ $RETVAL = 0 ] && touch $lockfile && /sbin/pidof $exec > $pidfile ++ return $RETVAL + } + + stop() { +- echo -n "Shutting down ipr update daemon" +- killproc $IPRUPDATE +- ++ echo -n "Stopping iprupdate: " ++ killproc $exec -TERM + RETVAL=$? +- if [ $RETVAL -eq 0 ]; then +- log_success_msg " " +- else +- log_failure_msg " " +- fi ++ [ $RETVAL = 0 ] && rm -f $lockfile $pidfile + return $RETVAL + } + + restart() { +- $0 stop +- $0 start +- return $RETVAL ++ stop ++ start + } + + reload() { +- $0 stop +- $0 start +- return $RETVAL ++ restart + } + +-status() { +- echo -n "Checking for ipr update daemon: " ++force_reload() { ++ restart ++} + +- pidofproc $IPRUPDATE >& /dev/null ++rh_status() { ++ # run checks to determine if the service is running or use generic status ++ status $prog ++} + +- RETVAL=$? +- if [ $RETVAL -eq 0 ]; then +- log_success_msg "running" +- else +- log_failure_msg "unused" +- fi +- return $RETVAL ++rh_status_q() { ++ rh_status >/dev/null 2>&1 + } + ++ + case "$1" in +- start) +- start +- ;; +- stop) +- stop +- ;; +- restart) +- restart +- ;; +- reload) +- reload +- ;; +- status) +- status +- ;; +- *) +- echo "Usage: $0 {start|stop|status|restart|reload}" +- exit 1 +- ;; ++ start) ++ rh_status_q && exit 0 ++ $1 ++ ;; ++ stop) ++ rh_status_q || exit 0 ++ $1 ++ ;; ++ restart) ++ $1 ++ ;; ++ reload) ++ rh_status_q || exit 7 ++ $1 ++ ;; ++ force-reload) ++ force_reload ++ ;; ++ status) ++ rh_status ++ ;; ++ condrestart|try-restart) ++ rh_status_q || exit 0 ++ restart ++ ;; ++ *) ++ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" ++ exit 2 + esac ++exit $? ++ diff --git a/iprutils-lsb-init-ectomy.patch b/iprutils-lsb-init-ectomy.patch new file mode 100644 index 0000000..328b5c5 --- /dev/null +++ b/iprutils-lsb-init-ectomy.patch @@ -0,0 +1,189 @@ +diff -up iprutils/init.d/iprdump.lsb iprutils/init.d/iprdump +--- iprutils/init.d/iprdump.lsb 2007-10-01 14:07:33.000000000 -0400 ++++ iprutils/init.d/iprdump 2007-10-01 14:12:04.000000000 -0400 +@@ -23,20 +23,20 @@ + + IPRDUMP=/sbin/iprdump + test -x $IPRDUMP || exit 5 +-. /lib/lsb/init-functions ++. /etc/init.d/functions + + start() { + echo -n "Starting ipr dump daemon" + if [ ! -d /sys/class/scsi_generic ] ; then + modprobe sg + fi +- start_daemon $IPRDUMP ++ daemon $IPRDUMP + + RETVAL=$? + if [ $RETVAL -eq 0 ]; then +- log_success_msg " " ++ success " " + else +- log_failure_msg " " ++ failure " " + fi + return $RETVAL + } +@@ -47,9 +47,9 @@ stop() { + + RETVAL=$? + if [ $RETVAL -eq 0 ]; then +- log_success_msg " " ++ success " " + else +- log_failure_msg " " ++ failure " " + fi + return $RETVAL + } +@@ -73,9 +73,9 @@ status() { + + RETVAL=$? + if [ $RETVAL -eq 0 ]; then +- log_success_msg "running" ++ success "running" + else +- log_failure_msg "unused" ++ failure "unused" + fi + return $RETVAL + } +diff -up iprutils/init.d/iprha.lsb iprutils/init.d/iprha +--- iprutils/init.d/iprha.lsb 2007-10-01 14:07:37.000000000 -0400 ++++ iprutils/init.d/iprha 2007-10-01 14:12:17.000000000 -0400 +@@ -25,7 +25,7 @@ + + IPRCONFIG=/sbin/iprconfig + test -x $IPRCONFIG || exit 5 +-. /lib/lsb/init-functions ++. /etc/init.d/functions + + start() { + echo -n "Enabling ipr primary adapter mode" +@@ -33,9 +33,9 @@ start() { + + RETVAL=$? + if [ $RETVAL -eq 0 ]; then +- log_success_msg " " ++ success " " + else +- log_failure_msg " " ++ failure " " + fi + return $RETVAL + } +@@ -46,9 +46,9 @@ stop() { + + RETVAL=$? + if [ $RETVAL -eq 0 ]; then +- log_success_msg " " ++ success " " + else +- log_failure_msg " " ++ failure " " + fi + return $RETVAL + } +diff -up iprutils/init.d/iprupdate.lsb iprutils/init.d/iprupdate +--- iprutils/init.d/iprupdate.lsb 2007-10-01 14:07:47.000000000 -0400 ++++ iprutils/init.d/iprupdate 2007-10-01 14:11:29.000000000 -0400 +@@ -23,7 +23,7 @@ + + IPRUPDATE=/sbin/iprupdate + test -x $IPRUPDATE || exit 5 +-. /lib/lsb/init-functions ++. /etc/init.d/functions + + start() { + echo "Checking ipr microcode levels" +@@ -35,10 +35,10 @@ start() { + RETVAL=$? + if [ $RETVAL -eq 0 ]; then + echo -n "Completed ipr microcode updates" +- log_success_msg " " ++ success " " + else + echo -n "Completed ipr microcode updates" +- log_failure_msg " " ++ failure " " + fi + return $RETVAL + } +@@ -49,9 +49,9 @@ stop() { + + RETVAL=$? + if [ $RETVAL -eq 0 ]; then +- log_success_msg " " ++ success " " + else +- log_failure_msg " " ++ failure " " + fi + return $RETVAL + } +@@ -75,9 +75,9 @@ status() { + + RETVAL=$? + if [ $RETVAL -eq 0 ]; then +- log_success_msg "running" ++ success "running" + else +- log_failure_msg "unused" ++ failure "unused" + fi + return $RETVAL + } +diff -up iprutils/init.d/iprinit.lsb iprutils/init.d/iprinit +--- iprutils/init.d/iprinit.lsb 2007-10-01 14:07:43.000000000 -0400 ++++ iprutils/init.d/iprinit 2007-10-01 14:13:05.000000000 -0400 +@@ -23,20 +23,20 @@ + + IPRINIT=/sbin/iprinit + test -x $IPRINIT || exit 5 +-. /lib/lsb/init-functions ++. /etc/init.d/functions + + start() { + echo -n "Starting ipr initialization daemon" + if [ ! -d /sys/class/scsi_generic ] ; then + modprobe sg + fi +- start_daemon $IPRINIT --daemon ++ daemon $IPRINIT --daemon + + RETVAL=$? + if [ $RETVAL -eq 0 ]; then +- log_success_msg " " ++ success " " + else +- log_failure_msg " " ++ failure " " + fi + return $RETVAL + } +@@ -47,9 +47,9 @@ stop() { + + RETVAL=$? + if [ $RETVAL -eq 0 ]; then +- log_success_msg " " ++ success " " + else +- log_failure_msg " " ++ failure " " + fi + return $RETVAL + } +@@ -73,9 +73,9 @@ status() { + + RETVAL=$? + if [ $RETVAL -eq 0 ]; then +- log_success_msg "running" ++ success "running" + else +- log_failure_msg "unused" ++ failure "unused" + fi + return $RETVAL + } diff --git a/iprutils.spec b/iprutils.spec index fb01523..7b44211 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -1,257 +1,88 @@ -%global gitver rel-2-4-19 - Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils -Version: 2.4.19 -Release: 16%{?dist} -License: CPL-1.0 -URL: https://github.com/bjking1/iprutils -Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz +Version: 2.3.7 +Release: 1%{?dist} +License: CPL +Group: System Environment/Base +URL: http://sourceforge.net/projects/iprdd/ + +Source0: http://downloads.sourceforge.net/project/iprdd/iprutils%20for%202.6%20kernels/%{version}/%{name}-%{version}-src.tgz # missing man page Source1: iprdbg.8.gz -Patch10: iprutils-2.4.19-covscan.patch +Patch0: %{name}-cflags.patch +Patch1: %{name}-initscripts.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +ExclusiveArch: ppc ppc64 -ExclusiveArch: ppc64le +Requires: /sbin/pidof -BuildRequires: libtool +BuildRequires: libsysfs-devel +BuildRequires: pciutils-devel BuildRequires: ncurses-devel BuildRequires: libcap-devel -BuildRequires: kernel-headers -BuildRequires: systemd -BuildRequires: zlib-devel -BuildRequires: make +BuildRequires: kernel-devel +Obsoletes: ipr-utils %description Provides a suite of utilities to manage and configure SCSI devices supported by the ipr SCSI storage device driver. - %prep -%autosetup -p1 -n %{name}-%{gitver} - -autoreconf -vif - +%setup -q -n %{name} +%patch0 -p1 -b .cflags +%patch1 -p1 -b .initscripts %build -%configure --with-systemd --without-initscripts --disable-static --disable-sosreport -%{make_build} - +CFLAGS="%{optflags}" %{__make} %install -%{make_install} +%{__rm} -rf %{buildroot} +%{__make} INSTALL_MOD_PATH=%{buildroot} install + +%{__install} -d %{buildroot}%{_sysconfdir}/rc.d/init.d +%{__install} -m 0755 init.d/iprinit %{buildroot}%{_sysconfdir}/rc.d/init.d/iprinit +%{__install} -m 0755 init.d/iprdump %{buildroot}%{_sysconfdir}/rc.d/init.d/iprdump +%{__install} -m 0755 init.d/iprupdate %{buildroot}%{_sysconfdir}/rc.d/init.d/iprupdate # missing man page -install -p -m 0644 %SOURCE1 %{buildroot}%{_mandir}/man8/ - -#install bash completion -mv %{buildroot}/%{_sysconfdir}/bash_completion.d/{iprconfig-bash-completion.sh,iprconfig} - -# Remove temporary files and scripts that will not be packaged. -rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha +%{__install} -m 0755 %SOURCE1 %{buildroot}%{_mandir}/man8/ +# move all binaries from /sbin to /usr/sbin and +# make symbolink links for all binaries in /sbin to /usr/sbin +mkdir %{buildroot}/usr/sbin +for file in iprconfig iprdbg iprdump iprinit iprupdate; do + mv %{buildroot}/sbin/$file %{buildroot}/usr/sbin/$file + ln -s /usr/sbin/$file %{buildroot}/sbin/$file +done %post -%systemd_post iprinit.service -%systemd_post iprdump.service -%systemd_post iprupdate.service -%systemd_post iprutils.target +/sbin/chkconfig --add iprdump +/sbin/chkconfig --add iprupdate +/sbin/chkconfig --add iprinit %preun -%systemd_preun iprinit.service -%systemd_preun iprdump.service -%systemd_preun iprupdate.service -%systemd_preun iprutils.target +/sbin/chkconfig --del iprdump +/sbin/chkconfig --del iprupdate +/sbin/chkconfig --del iprinit + +%clean +%{__rm} -rf %{buildroot} %files -%license LICENSE -%doc README -%{_sbindir}/* -%{_sysconfdir}/bash_completion.d/ +%defattr(-,root,root,-) +%doc README LICENSE +/sbin/* +/usr/sbin/* %{_mandir}/man*/* -%{_unitdir}/iprinit.service -%{_unitdir}/iprdump.service -%{_unitdir}/iprupdate.service -%{_unitdir}/iprutils.target -%{_udevrulesdir}/90-iprutils.rules - +%{_sysconfdir}/rc.d/init.d/* %changelog -* Thu Jul 24 2025 Fedora Release Engineering - 2.4.19-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Fri Jan 17 2025 Fedora Release Engineering - 2.4.19-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Aug 07 2024 Miroslav Suchý - 2.4.19-14 -- convert license to SPDX - -* Mon Aug 05 2024 Than Ngo - 2.4.19-13 -- fix license tag - -* Thu Jul 18 2024 Fedora Release Engineering - 2.4.19-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Mon Jul 08 2024 Than Ngo - 2.4.19-11 -- fixed covscan issues and test -- limit to ppc64le - -* Wed Jan 24 2024 Fedora Release Engineering - 2.4.19-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jan 20 2024 Fedora Release Engineering - 2.4.19-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Jul 20 2023 Fedora Release Engineering - 2.4.19-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jan 19 2023 Fedora Release Engineering - 2.4.19-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Thu Jul 21 2022 Fedora Release Engineering - 2.4.19-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Jan 20 2022 Fedora Release Engineering - 2.4.19-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Jul 22 2021 Fedora Release Engineering - 2.4.19-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jan 26 2021 Fedora Release Engineering - 2.4.19-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 2.4.19-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jul 09 2020 Than Ngo - 2.4.19-1 -- rebase to 2.4.19 - -* Wed Jan 29 2020 Fedora Release Engineering - 2.4.17.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jul 25 2019 Fedora Release Engineering - 2.4.17.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Mon Apr 15 2019 Than Ngo - 2.4.17.1-2 -- add tests - -* Mon Mar 04 2019 Than Ngo - 2.4.17.1-1 -- update to 2.4.17.1 - -* Fri Feb 01 2019 Fedora Release Engineering - 2.4.16.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jul 13 2018 Fedora Release Engineering - 2.4.16.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon May 14 2018 Dan Horák - 2.4.16.1-2 -- use better patch for udev activation - -* Fri May 11 2018 Dan Horák - 2.4.16.1-1 -- rebased to 2.4.16.1 -- spec file cleanup - -* Thu Mar 15 2018 Iryna Shcherbina - 2.4.15.1-4 -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Wed Feb 07 2018 Fedora Release Engineering - 2.4.15.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Jan 23 2018 Merlin Mathesius - 2.4.15.1-2 -- Not building kernel modules, so use kernel-headers instead of kernel-devel - -* Fri Oct 13 2017 Sinny Kumari - 2.4.15.1-1 -- Rebase to 2.4.15.1 - -* Wed Aug 02 2017 Fedora Release Engineering - 2.4.14.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 2.4.14.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Wed Apr 05 2017 Sinny Kumari - 2.4.14.1-1 -- Rebase to 2.4.14.1 - -* Fri Feb 10 2017 Fedora Release Engineering - 2.4.12.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Wed Aug 10 2016 Sinny Kumari - 2.4.12.1-1 -- Rebase to 2.4.12.1 - -* Mon Apr 11 2016 Sinny Kumari - 2.4.11.1-1 -- Update to 2.4.11.1 -- Add zlib-devel as BuildRequires - -* Sat Feb 27 2016 Jakub Čajka - 2.4.10.1-1 -- rebase to 2.4.10.1 -- Resolves: #1289145 - iprutils-2.4.9 package update in Fedora - -* Thu Feb 04 2016 Fedora Release Engineering - 2.4.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Jul 10 2015 Gabriel Krisman Bertazi - 2.4.8-1 -- Rebase to 2.4.8 -- Move to Autotools -- Remove unused files -- Rebase patch 0001 to use autotools -- Install bash completion -- Spec file clean up - -* Wed Jun 17 2015 Fedora Release Engineering - 2.4.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed Nov 19 2014 Jakub Čajka - 2.4.5-1 -- Rebase to 2.4.5 - -* Wed Oct 1 2014 Jakub Čajka - 2.4.4-1 -- Rebase to 2.4.4 -- Moved to systemd -- Spec file clean up -- Fixed build flags - -* Sat Aug 16 2014 Fedora Release Engineering - 2.3.13-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Fedora Release Engineering - 2.3.13-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Sat Aug 03 2013 Fedora Release Engineering - 2.3.13-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Thu Feb 14 2013 Fedora Release Engineering - 2.3.13-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Sat Dec 29 2012 Peter Robinson 2.3.13-1 -- update to 2.3.13 - -* Tue Sep 11 2012 David Aquilina 2.3.11-2 -- Prevent the RPM from conflicting with itself (BZ #856330) - -* Wed Sep 05 2012 Karsten Hopp 2.3.11-1 -- update to 2.3.11 -- enable on all archs as it now supports some adapters on them, too. - -* Thu Jul 19 2012 Fedora Release Engineering - 2.3.10-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Tue May 08 2012 Karsten Hopp 2.3.10-1 -- update to iprutils-2.3.10 - -* Fri Jan 13 2012 Fedora Release Engineering - 2.3.9-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Thu Dec 22 2011 Jiri Skala - 2.3.9-1 -- Update to version 2.3.9 - * Wed Aug 24 2011 Jiri Skala - 2.3.7-1 - Update to version 2.3.7 -* Fri Aug 05 2011 Jiri Skala - 2.3.6-1 -- Update to version 2.3.6 - * Wed Feb 09 2011 Fedora Release Engineering - 2.3.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild diff --git a/plans/basic.fmf b/plans/basic.fmf deleted file mode 100644 index b5711c6..0000000 --- a/plans/basic.fmf +++ /dev/null @@ -1,11 +0,0 @@ ---- -/: - inherit: false - -summary: Plan for running all tests - -discover: - how: fmf -execute: - how: tmt - diff --git a/sources b/sources index 1a03d26..3184be5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (iprutils-2.4.19.tar.gz) = 4b2a5cfdc7982d26b976b82e8d6eac219266059dda40dd79f03734c6e6ef434a273bfc5f8276ea4f2dd55b1a749c2c03b7c5677c64527469dd54fe45afe6f25d +068ca361a8abe3a713939e2834f21582 iprutils-2.3.7-src.tgz diff --git a/tests/sanity/main.fmf b/tests/sanity/main.fmf deleted file mode 100644 index b0aef71..0000000 --- a/tests/sanity/main.fmf +++ /dev/null @@ -1,24 +0,0 @@ -summary: Test for bz431887 (Cannot handle file names with integrated spaces) -description: "tests following scenarios:\n * test iprdump --version\n * test iprinit - --version\n * test iprupdate --version\n * test Services: iprdump, iprinit, iprupdate\n\ - \ * test existence of man pages\n * test existence of license and readme file\ - \ \n" -contact: Ondrej Moris -link: - - relates: https://bugzilla.redhat.com/show_bug.cgi?id=431887 -component: - - patch -test: ./runtest.sh -framework: beakerlib -recommend: - - iprutils - - patch - - expect - - man-db - - coreutils - - rpm -duration: 5m -extra-summary: - /CoreOS/patch/Regression/Cannot-handle-file-names-with-integrated-spaces -extra-task: - /CoreOS/patch/Regression/Cannot-handle-file-names-with-integrated-spaces diff --git a/tests/sanity/runtest.sh b/tests/sanity/runtest.sh deleted file mode 100755 index 2cc274e..0000000 --- a/tests/sanity/runtest.sh +++ /dev/null @@ -1,184 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /CoreOS/which/Sanity/basic-functionality-test -# Description: tests basic functionality -# Author: Than Ngo -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2019 Red Hat, Inc. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -PACKAGES="iprutils man-db coreutils rpm" -SERVICES="iprdump iprinit iprupdate" - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -rlJournalStart - rlPhaseStartSetup - for p in $PACKAGES ; do - rlAssertRpm $p - done - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlPhaseEnd - # test the sercives - rlPhaseStartTest "Services: iprdump, iprinit, iprupdate" - for s in $SERVICES ; do - rlServiceStart $s - rlRun "systemctl status -l $s" - rlServiceStop $s - done - rlPhaseEnd - rlPhaseStartTest "Smoke, sanity and function tests" - rlRun "VERSION=\$( rpm -q --qf '%{VERSION}' iprutils )" - rlRun -s "iprconfig --version" 0 "It ought show the version" - rlAssertGrep "iprconfig: $VERSION" $rlRun_LOG - rlRun "iprconfig -c show-config" 0 "Show ipr configuration" - rlRun "iprconfig -c show-alt-config" 0 "Show alternate ipr configuration information" - rlRun "iprconfig -c show-ioas" 0 "Show all ipr adapters" - rlRun "iprconfig -c show-arrays" 0 "Show all ipr arrays" - # rlRun "iprconfig -c show-battey-info" 0 "Show cache battery information for specified IOA" - # rlRun "iprconfig -c show-details sda" 0 "Show device details for specified device" - rlRun "iprconfig -c show-hot-spares" 0 "Show all configured hot spares" - rlRun "iprconfig -c show-af-disks" 0 "Show disks formatted for Advanced Function that are not configured in an array or as a hot spare" - rlRun "iprconfig -c show-all-af-disks" 0 "Show all disks formatted for Advanced Function" - rlRun "iprconfig -c show-jbod-disks" 0 "Show all disks formatted for JBOD Function" - rlRun "iprconfig -c show-slots" 0 "Show all disks slots available on the system" - # iprconfig -c status /dev/sda || echo FAILED $? - # iprconfig -c alt-status /dev/sda || echo FAILED $? - # iprconfig -c query-aid-ceate || echo FAILED $? - # iprconfig -c query-aid-delete || echo FAILED $? - # iprconfig -c query-hot-spae-ceate || echo FAILED $? - # iprconfig -c query-hot-spae-delete || echo FAILED $? - rlRun "iprconfig -c query-raid-consistency-check" 0 "Show all RAID arrays that are candidates for a RAID consistency check" - rlRun "iprconfig -c query-format-for-jbod" 0 "Show all disks that can be reformatted for JBOD function" - rlRun "iprconfig -c query-reclaim" 0 "Show all IOAs that may need a reclaim cache storage" - rlRun "iprconfig -c query-arrays-raid-include" 0 "Show all RAID arrays that can have disks included in them to increase their capacity" - # iprconfig -c query-devices-aid-include || echo FAILED $? - # iprconfig -c query-suppoted-aid-levels || echo FAILED $? - # iprconfig -c query-include-allowed || echo FAILED $? - # iprconfig -c query-max-devices-in-aay || echo FAILED $? - # iprconfig -c query-min-devices-in-aay || echo FAILED $? - # iprconfig -c quey-min-mult-in-aay || echo FAILED $? - # iprconfig -c quey-supp-stipe-sizes || echo FAILED $? - # iprconfig -c query-ecommended-stipe-size || echo FAILED $? - rlRun "iprconfig -c query-recovery-format" 0 "Show all disks that can be formatted for error recovery purposes" - rlRun "iprconfig -c query-raid-rebuild" 0 "Show all disks in RAID arrays that can be rebuilt" - rlRun "iprconfig -c query-format-for-raid" 0 "Show all disks that can be formatted such that they can be used in a RAID array or as a hot spare" - # iprconfig -c query-ucode-level || echo FAILED $? - # iprconfig -c ssd-report || echo FAILED $? - rlRun "iprconfig -c show-ucode-levels" 0 "Show the microcode level that is currently loaded for every device and adapter in the system" - # iprconfig -c query-format-timeout || echo FAILED $? - # iprconfig -c query-qdepth || echo FAILED $? - # iprconfig -c query-tcq-enable || echo FAILED $? - # iprconfig -c query-log-level || echo FAILED $? - rlRun "iprconfig -c query-add-device" 0 "Show all empty disk slots that can have a disk concurrently added" - rlRun "iprconfig -c query-remove-device" 0 "Show all disk slots which are either empty or have disks in them which can be concurrently removed from the running system" - # iprconfig -c query-initiator-id || echo FAILED $? - # iprconfig -c query-bus-speed || echo FAILED $? - # iprconfig -c query-bus-width || echo FAILED $? - rlRun "iprconfig -c query-path-status" 0 "Show the current dual path state for the SAS devices attached specified IOA" - # iprconfig -c query-path-details || echo FAILED $? - # iprconfig -c query-arrays-raid-migrate || echo FAILED $? - # iprconfig -c query-devices-raid-migrate || echo FAILED $? - # iprconfig -c query-raid-levels-raid-migrate || echo FAILED $? - # iprconfig -c query-stripe-sizes-raid-migrate || echo FAILED $? - # iprconfig -c query-devices-min-max-raid-migrate || echo FAILED $? - rlRun "iprconfig -c query-ioas-asymmetric-access" 0 "Show the IOAs that support asymmetric access" - rlRun "iprconfig -c query-arrays-asymmetric-access" 0 "Show the disk arrays that are candidates for setting their asymmetric access mode to Optimized or Non-Optimized" - # iprconfig -c query-ioa-asymmetric-access-mode || echo FAILED $? - # iprconfig -c query-aay-asymmetric-access-mode || echo FAILED $? - # iprconfig -c query-ioa-caching || echo FAILED $? - # iprconfig -c query-array-label || echo FAILED $? - # iprconfig -c query-array-rebuild-rate || echo FAILED $? - # iprconfig -c query-array-rebuild-verify || echo FAILED $? - # iprconfig -c query-array || echo FAILED $? - # iprconfig -c query-device || echo FAILED $? - # iprconfig -c query-location || echo FAILED $? - # iprconfig -c query-write-cache-policy || echo FAILED $? - # iprconfig -c raid-create || echo FAILED $? - # iprconfig -c raid-delete || echo FAILED $? - # iprconfig -c raid-include || echo FAILED $? - # iprconfig -c raid-migrate || echo FAILED $? - # iprconfig -c format-for-raid || echo FAILED $? - # iprconfig -c format-for-jbod || echo FAILED $? - # iprconfig -c recovey-format || echo FAILED $? - # iprconfig -c hot-spare-create || echo FAILED $? - # iprconfig -c hot-spare-delete || echo FAILED $? - # iprconfig -c disrupt-device || echo FAILED $? - # iprconfig -c reclaim-cache || echo FAILED $? - # iprconfig -c reclaim-unknown-cache || echo FAILED $? - # iprconfig -c raid-consistency-check || echo FAILED $? - # iprconfig -c raid-rebuild || echo FAILED $? - # iprconfig -c update-ucode || echo FAILED $? - rlRun "iprconfig -c update-all-ucodes" 0 "Update the microcode of every device with the latest version found in the system" - # iprconfig -c set-format-timeout || echo FAILED $? - # iprconfig -c set-qdepth || echo FAILED $? - # iprconfig -c set-tcq-enable || echo FAILED $? - # iprconfig -c set-log-level || echo FAILED $? - # iprconfig -c set-write-cache-policy || echo FAILED $? - # iprconfig -c identify-disk || echo FAILED $? - # iprconfig -c identify-slot || echo FAILED $? - # iprconfig -c remove-disk || echo FAILED $? - # iprconfig -c remove-slot || echo FAILED $? - # iprconfig -c add-slot || echo FAILED $? - # iprconfig -c set-initiator-id || echo FAILED $? - # iprconfig -c set-bus-speed || echo FAILED $? - # iprconfig -c set-bus-width || echo FAILED $? - # iprconfig -c primary || echo FAILED $? - # iprconfig -c secondary || echo FAILED $? - rlRun "iprconfig -c set-all-primary" 0 "Set all attached ipr adapters as the preferred primary adapter" - rlRun "iprconfig -c set-all-secondary" 0 "Set all attached ipr adapters to indicate they are not the preferred primary adapter" - # iprconfig -c query-ha-mode || echo FAILED $? - # iprconfig -c set-ha-mode || echo FAILED $? - # iprconfig -c set-aay-asymmetic-access-mode || echo FAILED $? - # iprconfig -c set-ioa-asymmetric-access-mode || echo FAILED $? - # iprconfig -c set-ioa-caching || echo FAILED $? - # iprconfig -c set-array-rebuild-verify || echo FAILED $? - # iprconfig -c set-array-rebuild-rate || echo FAILED $? - # iprconfig -c get-live-dump || echo FAILED $? - rlRun "iprconfig -c dump" 0 "Display detailed hardware and system information on standard output" - - # should not segfault - rlRun -s "iprdump --version" 0 "Print iprdump version" - rlAssertGrep "iprdump: $VERSION" $rlRun_LOG - rlRun -s "iprinit --version" 0 "Print iprinit version" - rlAssertGrep "iprinit: $VERSION" $rlRun_LOG - # iprsos --version - rlRun -s "iprupdate --version" 0 "Print iprupdate version" - rlAssertGrep "iprupdate: $VERSION" $rlRun_LOG - - # check man page - for m in iprconfig iprdbg iprdump iprinit iprsos iprupdate ; do - rlRun "man -P head $m" 0 "Show the $m man page" - done - - # check for sane license and readme file - rlRun "head /usr/share/licenses/iprutils/LICENSE" 0 "Check for license file" - rlRun "head /usr/share/doc/iprutils/README" 0 "Check for README file" - rlPhaseEnd - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -fr $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd