From c1bdf0325cb9857f51435d53a936519e2b09a318 Mon Sep 17 00:00:00 2001 From: Ben Allan Date: Mon, 7 Aug 2017 11:42:21 -0600 Subject: [PATCH] obsolete lines and per rhel/fedora std optflags. --- rhel7.unstable/ovis.spec.in | 5 + rhel7/ovis.spec.in | 5 + toss2.unstable/.gitignore | 2 + toss2.unstable/ovis.spec.in | 5 + toss2/ovis.spec.in | 5 + toss3.unstable/ovis.spec.in | 7 +- toss3.unstable/patches/flex_array.3.4.1 | 334 ++++++++++++++++++++++++ toss3/ovis.spec.in | 7 +- 8 files changed, 368 insertions(+), 2 deletions(-) create mode 100644 toss3.unstable/patches/flex_array.3.4.1 diff --git a/rhel7.unstable/ovis.spec.in b/rhel7.unstable/ovis.spec.in index 4467319..d7a1806 100644 --- a/rhel7.unstable/ovis.spec.in +++ b/rhel7.unstable/ovis.spec.in @@ -27,6 +27,7 @@ License: GPLv2 or BSD Group: %{ldms_all} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source: %{name}-%{version}.tar.gz +Obsoletes: ldms-all Requires: rpm >= 4.8.0 Requires: libevent >= 2.0.21 Requires: libyaml libyaml-devel @@ -112,6 +113,7 @@ rm -rf $RPM_BUILD_ROOT Summary: LDMS devel package Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-devel %description devel This is a development package of Lightweight Distributed Metric System (LDMS). Users who want to implement their own sampler or store must install this @@ -129,6 +131,7 @@ package. Summary: LDMS test package Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-test %description test This is a collection of test scripts for (LDMS). They also serve as examples, but are not usually of interest @@ -144,6 +147,7 @@ on compute nodes in large clusters. Summary: LDMS base initscripts for libgenders control of %{name} Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-initscripts %description initscripts-base This is the support file set for libgenders based booting of LDMS daemons. Users normally provide information via /etc/genders (or alternate file) @@ -279,6 +283,7 @@ control file, use of libgenders can be bypassed. %package doc Summary: Documentation files for %{name} Group: %{ldms_all} +Obsoletes: ldms-all-doc ## Requires: %{name}-devel = %{version}-%{release} %description doc Doxygen files for ovis package. diff --git a/rhel7/ovis.spec.in b/rhel7/ovis.spec.in index f440c8b..bb403a2 100644 --- a/rhel7/ovis.spec.in +++ b/rhel7/ovis.spec.in @@ -27,6 +27,7 @@ License: GPLv2 or BSD Group: %{ldms_all} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source: %{name}-%{version}.tar.gz +Obsoletes: ldms-all Requires: rpm >= 4.8.0 Requires: libevent >= 2.0.21 Requires: libyaml libyaml-devel @@ -120,6 +121,7 @@ rm -rf $RPM_BUILD_ROOT Summary: LDMS devel package Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-devel %description devel This is a development package of Lightweight Distributed Metric System (LDMS). Users who want to implement their own sampler or store must install this @@ -137,6 +139,7 @@ package. Summary: LDMS test package Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-test %description test This is a collection of test scripts for (LDMS). They also serve as examples, but are not usually of interest @@ -152,6 +155,7 @@ on compute nodes in large clusters. Summary: LDMS base initscripts for libgenders control of %{name} Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-initscripts %description initscripts-base This is the support file set for libgenders based booting of LDMS daemons. Users normally provide information via /etc/genders (or alternate file) @@ -287,6 +291,7 @@ control file, use of libgenders can be bypassed. %package doc Summary: Documentation files for %{name} Group: %{ldms_all} +Obsoletes: ldms-all-doc ## Requires: %{name}-devel = %{version}-%{release} %description doc Doxygen files for ovis package. diff --git a/toss2.unstable/.gitignore b/toss2.unstable/.gitignore index 9a4c5f5..4f337fc 100644 --- a/toss2.unstable/.gitignore +++ b/toss2.unstable/.gitignore @@ -1,4 +1,6 @@ ovis +plist +rlist sos *log *.spec diff --git a/toss2.unstable/ovis.spec.in b/toss2.unstable/ovis.spec.in index 95c5674..bb695b1 100644 --- a/toss2.unstable/ovis.spec.in +++ b/toss2.unstable/ovis.spec.in @@ -27,6 +27,7 @@ License: GPLv2 or BSD Group: %{ldms_all} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source: %{name}-%{version}.tar.gz +Obsoletes: ldms-all Requires: rpm >= 4.8.0 Requires: ovis-libevent2 Requires: libyaml libyaml-devel @@ -112,6 +113,7 @@ rm -rf $RPM_BUILD_ROOT Summary: LDMS devel package Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-devel %description devel This is a development package of Lightweight Distributed Metric System (LDMS). Users who want to implement their own sampler or store must install this @@ -129,6 +131,7 @@ package. Summary: LDMS test package Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-test %description test This is a collection of test scripts for (LDMS). They also serve as examples, but are not usually of interest @@ -144,6 +147,7 @@ on compute nodes in large clusters. Summary: LDMS base initscripts for libgenders control of %{name} Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-initscripts %description initscripts-base This is the support file set for libgenders based booting of LDMS daemons. Users normally provide information via /etc/genders (or alternate file) @@ -279,6 +283,7 @@ control file, use of libgenders can be bypassed. %package doc Summary: Documentation files for %{name} Group: %{ldms_all} +Obsoletes: ldms-all-doc ## Requires: %{name}-devel = %{version}-%{release} %description doc Doxygen files for ovis package. diff --git a/toss2/ovis.spec.in b/toss2/ovis.spec.in index 67b2233..6a79c30 100644 --- a/toss2/ovis.spec.in +++ b/toss2/ovis.spec.in @@ -27,6 +27,7 @@ License: GPLv2 or BSD Group: %{ldms_all} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source: %{name}-%{version}.tar.gz +Obsoletes: ldms-all Requires: rpm >= 4.8.0 Requires: ovis-libevent2 @ENABLE_LDMS_PYTHON_TRUE@Requires: python @@ -183,6 +184,7 @@ rm -rf $RPM_BUILD_ROOT Summary: LDMS devel package Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-devel %description devel This is a development package of Lightweight Distributed Metric System (LDMS). Users who want to implement their own sampler or store must install this @@ -200,6 +202,7 @@ package. Summary: LDMS test package Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-test %description test This is a collection of test scripts for (LDMS). They also serve as examples, but are not usually of interest @@ -215,6 +218,7 @@ on compute nodes in large clusters. Summary: LDMS base initscripts for libgenders control of %{name} Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-initscripts %description initscripts-base This is the support file set for libgenders based booting of LDMS daemons. Users normally provide information via /etc/genders (or alternate file) @@ -350,6 +354,7 @@ control file, use of libgenders can be bypassed. %package doc Summary: Documentation files for %{name} Group: %{ldms_all} +Obsoletes: ldms-all-doc ## Requires: %{name}-devel = %{version}-%{release} %description doc Doxygen files for ovis package. diff --git a/toss3.unstable/ovis.spec.in b/toss3.unstable/ovis.spec.in index e3533aa..f6151c3 100644 --- a/toss3.unstable/ovis.spec.in +++ b/toss3.unstable/ovis.spec.in @@ -27,6 +27,7 @@ License: GPLv2 or BSD Group: %{ldms_all} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source: %{name}-%{version}.tar.gz +Obsoletes: ldms-all Requires: rpm >= 4.8.0 Requires: libevent >= 2.0.21 @ENABLE_LDMS_PYTHON_TRUE@Requires: python @@ -186,6 +187,7 @@ rm -rf $RPM_BUILD_ROOT Summary: LDMS devel package Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-devel %description devel This is a development package of Lightweight Distributed Metric System (LDMS). Users who want to implement their own sampler or store must install this @@ -203,6 +205,7 @@ package. Summary: LDMS test package Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-test %description test This is a collection of test scripts for (LDMS). They also serve as examples, but are not usually of interest @@ -218,6 +221,7 @@ on compute nodes in large clusters. Summary: LDMS base initscripts for libgenders control of %{name} Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-initscripts %description initscripts-base This is the support file set for libgenders based booting of LDMS daemons. Users normally provide information via /etc/genders (or alternate file) @@ -353,6 +357,7 @@ control file, use of libgenders can be bypassed. %package doc Summary: Documentation files for %{name} Group: %{ldms_all} +Obsoletes: ldms-all-doc ## Requires: %{name}-devel = %{version}-%{release} %description doc Doxygen files for ovis package. @@ -427,7 +432,7 @@ Requires: ovis >= 3.0.0 python @ENABLE_SOS_TRUE@%package ldms-sos @ENABLE_SOS_TRUE@Summary: LDMS sosdb plugins -@ENABLE_SOS_TRUE@Requires: sosdb +@ENABLE_SOS_TRUE@Requires: ovis-sosdb @ENABLE_SOS_TRUE@%description ldms-sos @ENABLE_SOS_TRUE@Libraries and utilities for SOS usage in LDMS @ENABLE_SOS_TRUE@%files ldms-sos diff --git a/toss3.unstable/patches/flex_array.3.4.1 b/toss3.unstable/patches/flex_array.3.4.1 new file mode 100644 index 0000000..8fb5b7d --- /dev/null +++ b/toss3.unstable/patches/flex_array.3.4.1 @@ -0,0 +1,334 @@ +diff --git a/ldms/src/core/ldms.h b/ldms/src/core/ldms.h +index 4e27371..da7e074 100644 +--- a/ldms/src/core/ldms.h ++++ b/ldms/src/core/ldms.h +@@ -556,7 +556,7 @@ typedef struct ldms_dir_s { + int set_count; + + /** each string is null terminated. */ +- char *set_names[0]; ++ char *set_names[/*flex*/]; + } *ldms_dir_t; + + typedef void (*ldms_dir_cb_t)(ldms_t t, int status, ldms_dir_t dir, void *cb_arg); +@@ -1296,7 +1296,7 @@ typedef enum ldms_notify_event_type { + typedef struct ldms_notify_event_s { + ldms_notify_event_type_t type; + size_t len; /*! The size of the event in bytes */ +- unsigned char u_data[0];/*! User-data for the LDMS_USER_DATA ++ unsigned char u_data[/*flex*/];/*! User-data for the LDMS_USER_DATA + type */ + } *ldms_notify_event_t; + +diff --git a/ldms/src/core/ldms_core.h b/ldms/src/core/ldms_core.h +index 3e3b7db..088cd04 100644 +--- a/ldms/src/core/ldms_core.h ++++ b/ldms/src/core/ldms_core.h +@@ -95,7 +95,7 @@ typedef struct ldms_value_desc { + uint8_t vd_type; /*! The type of the value, enum ldms_value_type */ + uint8_t vd_flags; /*! Metric or Attribute */ + uint8_t vd_name_len; /*! The length of the metric name in bytes*/ +- char vd_name[0]; /*! The metric name */ ++ char vd_name[/*flex*/]; /*! The metric name */ + } *ldms_mdesc_t; + #pragma pack() + +@@ -171,7 +171,7 @@ struct ldms_set_hdr { + uint32_t card; /* Size of dictionary */ + uint32_t meta_sz; /* size of meta data in bytes */ + uint32_t data_sz; /* size of metric values in bytes */ +- uint32_t dict[0]; /* The attr/metric dictionary */ ++ uint32_t dict[/*flex*/];/* The attr/metric dictionary */ + }; + + /** +@@ -191,17 +191,17 @@ typedef union ldms_value { + int64_t v_s64; + float v_f; + double v_d; +- char a_char[0]; +- uint8_t a_u8[0]; +- int8_t a_s8[0]; +- uint16_t a_u16[0]; +- int16_t a_s16[0]; +- uint32_t a_u32[0]; +- int32_t a_s32[0]; +- uint64_t a_u64[0]; +- int64_t a_s64[0]; +- float a_f[0]; +- double a_d[0]; ++ char a_char[/*flex*/]; ++ uint8_t a_u8[/*flex*/]; ++ int8_t a_s8[/*flex*/]; ++ uint16_t a_u16[/*flex*/]; ++ int16_t a_s16[/*flex*/]; ++ uint32_t a_u32[/*flex*/]; ++ int32_t a_s32[/*flex*/]; ++ uint64_t a_u64[/*flex*/]; ++ int64_t a_s64[/*flex*/]; ++ float a_f[/*flex*/]; ++ double a_d[/*flex*/]; + } *ldms_mval_t; + + /** +@@ -237,7 +237,7 @@ enum ldms_value_type { + + typedef struct ldms_name { + uint8_t len; +- char name[0]; ++ char name[/*flex*/]; + } *ldms_name_t; + + #ifndef roundup +diff --git a/ldms/src/core/ldms_xprt.h b/ldms/src/core/ldms_xprt.h +index 9792b2f..429b0b3 100644 +--- a/ldms/src/core/ldms_xprt.h ++++ b/ldms/src/core/ldms_xprt.h +@@ -104,7 +104,7 @@ enum ldms_request_cmd { + + struct ldms_send_cmd_param { + uint32_t msg_len; +- char msg[0]; ++ char msg[/*flex*/]; + }; + + struct ldms_lookup_cmd_param { +@@ -152,7 +152,7 @@ struct ldms_lookup_msg { + uint32_t card; + uint32_t schema_len; + uint32_t inst_name_len; +- char schema_inst_name[0]; /* schema name and then instance name */ ++ char schema_inst_name[/*flex*/]; /* schema name and then instance name */ + }; + + struct ldms_dir_reply { +@@ -160,7 +160,7 @@ struct ldms_dir_reply { + uint32_t more; + uint32_t set_count; + uint32_t set_list_len; +- char set_list[0]; ++ char set_list[/*flex*/]; + }; + + struct ldms_req_notify_reply { +diff --git a/ldms/src/core/ldmsd.h b/ldms/src/core/ldmsd.h +index 3ab3157..aec3499 100644 +--- a/ldms/src/core/ldmsd.h ++++ b/ldms/src/core/ldmsd.h +@@ -801,7 +801,7 @@ typedef struct ldmsd_req_attr_s { + uint32_t discrim; /* If 0, end of attr_list */ + uint32_t attr_id; /* Attribute identifier, unique per ldmsd_req_hdr_s.cmd_id */ + uint32_t attr_len; /* Size of value in bytes */ +- uint8_t attr_value[0]; /* Size is attr_len */ ++ uint8_t attr_value[/*flex*/]; /* Size is attr_len */ + } *ldmsd_req_attr_t; + typedef struct ldmsd_req_hdr_s { + uint32_t marker; /* Always has the value 0xff */ +diff --git a/ldms/src/sampler/lustre/lustre_sampler.h b/ldms/src/sampler/lustre/lustre_sampler.h +index 1f5cbdd..c31f11f 100644 +--- a/ldms/src/sampler/lustre/lustre_sampler.h ++++ b/ldms/src/sampler/lustre/lustre_sampler.h +@@ -238,7 +238,7 @@ struct lustre_svc_stats { + int mh_status_idx; + ldms_set_t set; + int mlen; +- struct lustre_metric_ctxt mctxt[0]; ++ struct lustre_metric_ctxt mctxt[/*flex*/]; + }; + + /** +diff --git a/lib/configure.ac b/lib/configure.ac +index b47ba34..75d0446 100644 +--- a/lib/configure.ac ++++ b/lib/configure.ac +@@ -23,6 +23,7 @@ AC_PROG_CC_C_O + AM_PROG_CC_C_O + + AC_C_CONST ++AC_C_FLEXIBLE_ARRAY_MEMBER + + AC_SEARCH_LIBS([clock_gettime],[rt posix4],[LDFLAGS_GETTIME=$LIBS]) + AC_SUBST([LDFLAGS_GETTIME]) +diff --git a/lib/src/coll/idx_priv.h b/lib/src/coll/idx_priv.h +index d496de2..040443b 100644 +--- a/lib/src/coll/idx_priv.h ++++ b/lib/src/coll/idx_priv.h +@@ -69,7 +69,7 @@ struct idx_entry_s { + struct idx_layer_s { + int obj_count; /* objs in this layer. */ + int layer_count; /* sub-layers below this layer */ +- struct idx_entry_s entries[0]; /* table of entries if we are a leaf */ ++ struct idx_entry_s entries[/*flex*/]; /* table of entries if we are a leaf */ + }; + + #endif +diff --git a/lib/src/ovis_event/ovis_event_priv.h b/lib/src/ovis_event/ovis_event_priv.h +index 69a471b..53804c6 100644 +--- a/lib/src/ovis_event/ovis_event_priv.h ++++ b/lib/src/ovis_event/ovis_event_priv.h +@@ -71,7 +71,7 @@ struct ovis_event { + struct ovis_event_heap { + uint32_t alloc_len; + uint32_t heap_len; +- struct ovis_event *ev[0]; ++ struct ovis_event *ev[/*flex*/]; + }; + + struct ovis_event_manager { +diff --git a/lib/src/ovis_util/util.h b/lib/src/ovis_util/util.h +index 5fd928a..c6cede6 100644 +--- a/lib/src/ovis_util/util.h ++++ b/lib/src/ovis_util/util.h +@@ -111,7 +111,7 @@ struct attr_value_list { + int size; + int count; + LIST_HEAD(string_list, string_ref_s) strings; +- struct attr_value list[0]; ++ struct attr_value list[/*flex*/]; + }; + + /** +diff --git a/lib/src/zap/rdma/zap_rdma.h b/lib/src/zap/rdma/zap_rdma.h +index a5e5be5..3131b1c 100644 +--- a/lib/src/zap/rdma/zap_rdma.h ++++ b/lib/src/zap/rdma/zap_rdma.h +@@ -83,19 +83,19 @@ struct z_rdma_share_msg { + uint32_t len; + uint32_t rkey; + uint64_t va; +- char msg[0]; ++ char msg[/*flex*/]; + }; + + struct z_rdma_accept_msg { + struct z_rdma_message_hdr hdr; + uint32_t len; +- char data[0]; ++ char data[/*flex*/]; + }; + + struct z_rdma_reject_msg { + struct z_rdma_message_hdr hdr; + uint32_t len; +- char msg[0]; ++ char msg[/*flex*/]; + }; + + #pragma pack() +@@ -135,7 +135,7 @@ struct z_rdma_context { + struct z_rdma_conn_data { + struct zap_version v; + uint8_t data_len; +- char data[0]; ++ char data[/*flex*/]; + }; + #pragma pack(pop) + +diff --git a/lib/src/zap/sock/zap_sock.h b/lib/src/zap/sock/zap_sock.h +index f1edde9..bde671d 100644 +--- a/lib/src/zap/sock/zap_sock.h ++++ b/lib/src/zap/sock/zap_sock.h +@@ -153,7 +153,7 @@ struct sock_msg_connect { + struct zap_version ver; + char sig[8]; + uint32_t data_len; +- char data[0]; ++ char data[/*flex*/]; + }; + + /** +@@ -162,7 +162,7 @@ struct sock_msg_connect { + struct sock_msg_sendrecv { + struct sock_msg_hdr hdr; + uint32_t data_len; +- char data[0]; ++ char data[/*flex*/]; + }; + + /** +@@ -183,7 +183,7 @@ struct sock_msg_read_resp { + uint16_t status; /**< Return status */ + uint64_t dst_ptr; /**< Destination memory addr (on initiator) */ + uint32_t data_len; /**< Response data length */ +- char data[0]; /**< Response data */ ++ char data[/*flex*/]; /**< Response data */ + }; + + /** +@@ -194,7 +194,7 @@ struct sock_msg_write_req { + uint32_t dst_map_key; /**< Destination map key */ + uint64_t dst_ptr; /**< Destination address */ + uint32_t data_len; /**< Data length */ +- char data[0]; /**< data for SOCK_MSG_WRITE_REQ */ ++ char data[/*flex*/]; /**< data for SOCK_MSG_WRITE_REQ */ + }; + + /** +@@ -214,7 +214,7 @@ struct sock_msg_rendezvous { + uint32_t acc; /**< Access */ + uint64_t addr; /**< Address in the map */ + uint32_t data_len; /**< Length */ +- char msg[0]; /**< Context */ ++ char msg[/*flex*/]; /**< Context */ + }; + + /** +diff --git a/lib/src/zap/ugni/zap_ugni.h b/lib/src/zap/ugni/zap_ugni.h +index 9c13a7f..f45733d 100644 +--- a/lib/src/zap/ugni/zap_ugni.h ++++ b/lib/src/zap/ugni/zap_ugni.h +@@ -226,7 +226,7 @@ struct zap_ugni_msg_hdr { + struct zap_ugni_msg_regular { + struct zap_ugni_msg_hdr hdr; + uint32_t data_len; +- char data[0]; ++ char data[/*flex*/]; + }; + + /** +@@ -238,7 +238,7 @@ struct zap_ugni_msg_rendezvous { + zap_access_t acc; + uint64_t addr; /**< Address in the map */ + uint32_t data_len; /**< Length */ +- char msg[0]; /**< Context */ ++ char msg[/*flex*/]; /**< Context */ + }; + + /** +@@ -249,7 +249,7 @@ struct zap_ugni_msg_accepted { + uint32_t inst_id; /**< inst_id of the accepter (passive side). */ + uint32_t pe_addr; /**< peer address of the accepter (passive side). */ + uint32_t data_len; +- char data[0]; ++ char data[/*flex*/]; + }; + + static char ZAP_UGNI_SIG[8] = "UGNI"; +@@ -265,7 +265,7 @@ struct zap_ugni_msg_connect { + uint32_t inst_id; /**< inst_id of the requester (active side). */ + uint32_t pe_addr; /**< peer address of the requester (active side). */ + uint32_t data_len; /**< Connection data*/ +- char data[0]; /**< Size of connection data */ ++ char data[/*flex*/]; /**< Size of connection data */ + }; + + #pragma pack() +diff --git a/packaging/make-all-rhel7.sh b/packaging/make-all-rhel7.sh +index a5b6314..f0a5168 100755 +--- a/packaging/make-all-rhel7.sh ++++ b/packaging/make-all-rhel7.sh +@@ -9,7 +9,13 @@ export CC=gcc; # on chama, gcc46 is in default path. + + export CXX=g++ ; # needed for configure. not used anywhere in build yet. + +-export CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -march=native" ; # cflags common to us, libevent2 ++# These are the cflags defined by Redhat for daemons and other ++# security-required applications in /usr/lib/rpm/redhat/macros. ++# SUSE and Debian define nearly identical sets. They require c99 ++# flexible array syntax in declarations. ++export RHEL7_CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches" ++export CFLAGS="$RHEL7_CFLAGS" ++# See also: https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html for why this is important. + + # local path of scratch ldms files + build_subdir=LDMS_objdir diff --git a/toss3/ovis.spec.in b/toss3/ovis.spec.in index bf098e6..8fe3804 100644 --- a/toss3/ovis.spec.in +++ b/toss3/ovis.spec.in @@ -22,11 +22,12 @@ Summary: OVIS Commands and Libraries Name: ovis Version: @VERSION@ -Release: 1%{?dist} +Release: 1.1%{?dist} License: GPLv2 or BSD Group: %{ldms_all} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source: %{name}-%{version}.tar.gz +Obsoletes: ldms-all Requires: rpm >= 4.8.0 Requires: libevent >= 2.0.21 @ENABLE_LDMS_PYTHON_TRUE@Requires: python @@ -184,6 +185,7 @@ rm -rf $RPM_BUILD_ROOT Summary: LDMS devel package Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-devel %description devel This is a development package of Lightweight Distributed Metric System (LDMS). Users who want to implement their own sampler or store must install this @@ -201,6 +203,7 @@ package. Summary: LDMS test package Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-test %description test This is a collection of test scripts for (LDMS). They also serve as examples, but are not usually of interest @@ -216,6 +219,7 @@ on compute nodes in large clusters. Summary: LDMS base initscripts for libgenders control of %{name} Group: %{ldms_grp} Requires: ovis = @VERSION@ +Obsoletes: ldms-all-initscripts %description initscripts-base This is the support file set for libgenders based booting of LDMS daemons. Users normally provide information via /etc/genders (or alternate file) @@ -351,6 +355,7 @@ control file, use of libgenders can be bypassed. %package doc Summary: Documentation files for %{name} Group: %{ldms_all} +Obsoletes: ldms-all-doc ## Requires: %{name}-devel = %{version}-%{release} %description doc Doxygen files for ovis package.