Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-dqsegdb for openSUSE:Factory checked in at 2025-01-14 16:22:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-dqsegdb (Old) and /work/SRC/openSUSE:Factory/.python-dqsegdb.new.1881 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-dqsegdb" Tue Jan 14 16:22:24 2025 rev:3 rq:1237539 version:2.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-dqsegdb/python-dqsegdb.changes 2022-04-05 19:56:32.349507291 +0200 +++ /work/SRC/openSUSE:Factory/.python-dqsegdb.new.1881/python-dqsegdb.changes 2025-01-14 16:23:28.032043027 +0100 @@ -1,0 +2,19 @@ +Fri Jan 10 13:33:47 UTC 2025 - Nico Krapp <[email protected]> + +- Update to 2.1.0: + * migrates the CI from Github Actions to GitLab CI. + * removes user-env scripts + * adds lint job to the CI pipeline + * updates RPM build/install to use wheels + * modifies code that used glue.gpstime for GPS time conversion + to use gpstime package instead (some specific routines will + produce times that are 4 seconds different, due to updates in + leap seconds, but uses of those routines shouldn't be sensitive + to such changes) + * removes unused (and broken) function setup_files() from clientutils.py + * pins lscsoft-glue to version >= 3.0.1, < 4.0.0 +- add remove-six.patch to not require deprecated python-six +- update project url, upstream migrated to ligo.org +- migrate to setuptools and pyproject macros + +------------------------------------------------------------------- Old: ---- dqsegdb-2.0.0.tar.gz New: ---- dqsegdb-2.1.0.tar.gz remove-six.patch BETA DEBUG BEGIN: New: * pins lscsoft-glue to version >= 3.0.1, < 4.0.0 - add remove-six.patch to not require deprecated python-six - update project url, upstream migrated to ligo.org BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-dqsegdb.spec ++++++ --- /var/tmp/diff_new_pack.zUaTLc/_old 2025-01-14 16:23:28.488061896 +0100 +++ /var/tmp/diff_new_pack.zUaTLc/_new 2025-01-14 16:23:28.488061896 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-dqsegdb # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,26 +19,30 @@ %define skip_python2 1 %define modname dqsegdb Name: python-dqsegdb -Version: 2.0.0 +Version: 2.1.0 Release: 0 Summary: Client library for DQSegDB License: GPL-3.0-only Group: Development/Languages/Python -URL: https://github.com/ligovirgo/dqsegdb +URL: https://git.ligo.org/computing/dqsegdb/client Source: https://files.pythonhosted.org/packages/source/d/dqsegdb/dqsegdb-%{version}.tar.gz +# PATCH-FIX-OPENSUSE remove-six.patch to remove dependency on python-six +Patch0: remove-six.patch BuildRequires: %{python_module devel} +BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools >= 8.0} -BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros +Requires: python-gpstime Requires: python-gwdatafind Requires: python-lal -Requires: python-lscsoft-glue >= 1.55.0 -Requires: python-numpy +Requires: python-ligo-segments +Requires: python-lscsoft-glue >= 3.0.1 Requires: python-pyOpenSSL Requires: python-pyRXP Requires(post): update-alternatives -Requires(postun):update-alternatives +Requires(postun): update-alternatives BuildArch: noarch # SECTION For tests BuildRequires: %{python_module lal} @@ -54,13 +58,13 @@ connect to LIGO/VIRGO DQSEGDB server instances. %prep -%setup -q -n dqsegdb-%{version} +%autosetup -p1 -n dqsegdb-%{version} %build -%python_build +%pyproject_wheel %install -%python_install +%pyproject_install for exe in ligolw_dq_query_dqsegdb ligolw_publish_threaded_dqxml_dqsegdb ligolw_segment_insert_dqsegdb ligolw_segment_query_dqsegdb ligolw_segments_from_cats_dqsegdb do %python_clone -a %{buildroot}%{_bindir}/${exe} @@ -68,8 +72,6 @@ %python_expand %fdupes %{buildroot}%{$python_sitelib} -rm %{buildroot}%{_prefix}%{_sysconfdir}/dqsegdb-user-env.* - %check %pytest @@ -86,6 +88,6 @@ %python_alternative %{_bindir}/ligolw_segment_insert_dqsegdb %python_alternative %{_bindir}/ligolw_segment_query_dqsegdb %python_alternative %{_bindir}/ligolw_segments_from_cats_dqsegdb -%{python_sitelib}/%{modname}/ -%{python_sitelib}/%{modname}-%{version}-py%{python_version}.egg-info/ +%{python_sitelib}/%{modname} +%{python_sitelib}/%{modname}-%{version}.dist-info ++++++ dqsegdb-2.0.0.tar.gz -> dqsegdb-2.1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/NOTICE new/dqsegdb-2.1.0/NOTICE --- old/dqsegdb-2.0.0/NOTICE 1970-01-01 01:00:00.000000000 +0100 +++ new/dqsegdb-2.1.0/NOTICE 2024-02-06 10:04:48.000000000 +0100 @@ -0,0 +1 @@ +Portions of this software are Copyright (C) 2015-2020 by Syracuse University, the European Gravitational Observatory, and Christopher Newport University. Software written by Ryan Fisher and Gary Hemming. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/PKG-INFO new/dqsegdb-2.1.0/PKG-INFO --- old/dqsegdb-2.0.0/PKG-INFO 2022-01-28 06:42:57.000000000 +0100 +++ new/dqsegdb-2.1.0/PKG-INFO 2024-02-06 10:05:56.000000000 +0100 @@ -1,11 +1,15 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: dqsegdb -Version: 2.0.0 +Version: 2.1.0 Summary: Client library for DQSegDB Home-page: http://www.lsc-group.phys.uwm.edu/daswg/ Author: Ryan Fisher Author-email: [email protected] License: GPLv3 -Description: UNKNOWN Platform: UNKNOWN Provides: dqsegdb +License-File: LICENSE +License-File: NOTICE + +UNKNOWN + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/bin/ligolw_segment_insert_dqsegdb new/dqsegdb-2.1.0/bin/ligolw_segment_insert_dqsegdb --- old/dqsegdb-2.0.0/bin/ligolw_segment_insert_dqsegdb 2022-01-27 17:36:02.000000000 +0100 +++ new/dqsegdb-2.1.0/bin/ligolw_segment_insert_dqsegdb 2024-02-06 10:04:48.000000000 +0100 @@ -56,8 +56,9 @@ %s """ %(sys.argv[0], e), file=sys.stderr) +from gpstime import gpsnow + try: - from glue import gpstime from glue import ldbd from ligo import segments from glue.ligolw import lsctables @@ -289,7 +290,7 @@ print("\nERROR: invalid format in your --summary-file row number: %d " % line_no) print("Invalid interval is %s" % str(sum_line)) sys.exit(1) - current_time = str(gpstime.GpsSecondsFromPyUTC(time.time())) + current_time = str(int(gpsnow())) # make sure gps time is 9 digits #if (len(sum_line[0])!=9 or len(sum_line[1])!=9): @@ -590,7 +591,7 @@ insert_history_dict['insertion_metadata'] = {} insert_history_dict['insertion_metadata']['insert_data_start'] = min(min(intervals)) insert_history_dict['insertion_metadata']['insert_data_stop'] = max(max(intervals)) - insert_history_dict['insertion_metadata']['timestamp'] = current_time #_UTCToGPS(time.gmtime()) + insert_history_dict['insertion_metadata']['timestamp'] = current_time insert_history_dict['insertion_metadata']['auth_user']= USER_NAME #process.get_username() insert_history_dict['insertion_metadata']['comment'] = '/dq/'+'/'.join([str(options.ifos),str(options.name),str(options.version)]) flag_version.insert_history.append(insert_history_dict) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/bin/ligolw_segment_query_dqsegdb new/dqsegdb-2.1.0/bin/ligolw_segment_query_dqsegdb --- old/dqsegdb-2.0.0/bin/ligolw_segment_query_dqsegdb 2022-01-26 22:58:34.000000000 +0100 +++ new/dqsegdb-2.1.0/bin/ligolw_segment_query_dqsegdb 2024-02-06 10:04:48.000000000 +0100 @@ -132,7 +132,7 @@ # Data location options parser.add_option("-t", "--segment-url", metavar = "segment_url", help = "Segment URL. Users have to specify either 'https://' for a secure connection or 'http://' for an insecure connection to the segment database URL. For example, '--segment-url=https://segments.ligo.org'. No need to specify port number. ") - parser.add_option("-d", "--database", metavar = "use_database", action = "store_true", help = "Use database specified by environment variable S6_SEGMENT_SERVER. For example, 'S6_SEGMENT_SERVER=https://segdb.ligo.caltech.edu'") + parser.add_option("-d", "--database", metavar = "use_database", action = "store_true", help = "Use database specified by environment variable DEFAULT_SEGMENT_SERVER. For example, 'DEFAULT_SEGMENT_SERVER=https://segments.ligo.org'") parser.add_option("-f", "--dmt-files", metavar = "use_files", action = "store_true", help = "Use files in directory specified by environment variable ONLINEDQ, for example, 'ONLINEDQ=file:///path_to_dmt'. 'file://' is the prefix, the actual directory to DMT xml files starts with '/'.") @@ -186,9 +186,12 @@ outfile.close() file_location = tmp_dir elif options.database: - if 'S6_SEGMENT_SERVER' not in os.environ: - raise ValueError( "--database specified but S6_SEGMENT_SERVER not set" ) - database_location = os.environ['S6_SEGMENT_SERVER'] + try: + database_location = os.environ['DEFAULT_SEGMENT_SERVER'] + except KeyError: + raise ValueError( + "--database specified but DEFAULT_SEGMENT_SERVER not set", + ) elif options.dmt_files: if 'ONLINEDQ' not in os.environ: raise ValueError( "--dmt-files specified but ONLINEDQ not set" ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/bin/ligolw_segments_from_cats_dqsegdb new/dqsegdb-2.1.0/bin/ligolw_segments_from_cats_dqsegdb --- old/dqsegdb-2.0.0/bin/ligolw_segments_from_cats_dqsegdb 2022-01-26 22:58:34.000000000 +0100 +++ new/dqsegdb-2.1.0/bin/ligolw_segments_from_cats_dqsegdb 2024-02-06 10:04:48.000000000 +0100 @@ -49,9 +49,6 @@ from ligo import segments -import time -from glue import gpstime - from glue.ligolw import ligolw from glue.ligolw import utils from glue.ligolw.utils import ligolw_sqlite @@ -62,6 +59,8 @@ from glue.ligolw.utils import process +from gpstime import gpsnow + from dqsegdb import apicalls from dqsegdb import clientutils @@ -110,7 +109,7 @@ parser.add_option("-k", "--keep-db", metavar = "keep_db", action = "store_true", help = "Keep sqlite database (don't delete it when the script exits).") parser.add_option("-r", "--remove-definer-table", action = "store_true", help = "If set, the veto definer table will not be included in the output.") parser.add_option("-t", "--segment-url", metavar = "segment_url", help = "Segment URL, e.g., https://segments.ligo.org .") - parser.add_option("-d", "--database", metavar = "use_database", action = "store_true", help = "Use database specified by environment variable S6_SEGMENT_SERVER.") + parser.add_option("-d", "--database", metavar = "use_database", action = "store_true", help = "Use database specified by environment variable DEFAULT_SEGMENT_SERVER.") parser.add_option("-f", "--dmt-file", metavar = "use_files", action = "store_true", help = "Warning: NOT UPDATED FOR DQSEGDB CLIENT YET! use files in directory specified by environment variable ONLINEDQ.") parser.add_option("-c", "--cumulative-categories", action = "store_true", help = "If set, the category N files will contain all segments in categories <= N.") parser.add_option("-p", "--separate-categories", action = "store_true", help = "If set, the category N files will contain only category N.") @@ -188,9 +187,12 @@ outfile.close() file_location = tmp_dir elif options.database: - if 'S6_SEGMENT_SERVER' not in os.environ: - raise ValueError( "--database specified by S6_SEGMENT_SERVER not set" ) - database_location = os.environ['S6_SEGMENT_SERVER'] + try: + database_location = os.environ['DEFAULT_SEGMENT_SERVER'] + except KeyError: + raise ValueError( + "--database specified by DEFAULT_SEGMENT_SERVER not set", + ) elif options.dmt_file: # Fix!!! Easy to add dmt files and s6 server compatibility, but requires time to test them before deploying them! raise ValueError("DMT files method not yet suppported for this client in ER6, please use ligolw_segments_from_cats (S6 client)") @@ -271,7 +273,7 @@ allow_non_int=True else: allow_non_int=False - now = gpstime.GpsSecondsFromPyUTC(time.time()) + now = int(gpsnow()) # 1. Load the veto file into sqlite handle, temp_db = tempfile.mkstemp(suffix='.sqlite') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/debian/changelog new/dqsegdb-2.1.0/debian/changelog --- old/dqsegdb-2.0.0/debian/changelog 2022-01-28 06:01:10.000000000 +0100 +++ new/dqsegdb-2.1.0/debian/changelog 2024-02-06 10:04:48.000000000 +0100 @@ -1,6 +1,14 @@ +dqsegdb (2.1.0-1) unstable; urgency=medium + + * disable pytest during RPM/Deb builds + * pin lscsoft-glue to >= 3.0.1, < 4.0.0 + + -- Robert Bruntz <[email protected]> Thu, 6 Feb 2024 02:35:00 -0500 + dqsegdb (2.0.0-1) unstable; urgency=medium - * 2.0.0 change from Python 2 to Python 3; numerous small + medium improvements in code + * 2.0.0 change from Python 2 to Python 3 + * numerous small + medium improvements in code * added python3-lal as a requirement of python3-dqsegdb -- Robert Bruntz <[email protected]> Thu, 27 Jan 2022 14:11:00 -0500 @@ -8,7 +16,7 @@ dqsegdb (1.6.1-1) unstable; urgency=low * 1.6.1 bug fix release to use new ssl handler for https connections for - inserts. + inserts. -- ryan fisher <[email protected]> Thu, 11 Jul 2019 17:28:00 -0500 @@ -22,84 +30,84 @@ * Small change release to depend on updated glue called lscsoft-glue - -- Ryan Fisher <[email protected]> Thu, Apr 6 2017 18:00 -0500 - + -- Ryan Fisher <[email protected]> Thu, 6 Apr 2017 18:00:00 -0500 + dqsegdb (1.4.1-1) unstable; urgency=low * Intermediate base code only release to change python packaging code. No corresponding rpm or debian release. - -- Ryan Fisher <[email protected]> Wed, Jan 18 2017 14:00 -0500 - + -- Ryan Fisher <[email protected]> Wed, 18 Jan 2017 14:00:00 -0500 + dqsegdb (1.4.0-1) unstable; urgency=low - * ER10 release + * ER10 release - -- Ryan Fisher <[email protected]> Mon, Jun 13 2016 14:00 -0500 + -- Ryan Fisher <[email protected]> Mon, 13 Jun 2016 14:00:00 -0500 dqsegdb (1.3.1-1) unstable; urgency=low * ER9 release attempt 2, adding in missing commit. - -- Ryan Fisher <[email protected]> Thu, Jun 16 2016 17:00 -0500 + -- Ryan Fisher <[email protected]> Thu, 16 Jun 2016 17:00:00 -0500 dqsegdb (1.3.0-1) unstable; urgency=low - * ER9 release + * ER9 release - -- Ryan Fisher <[email protected]> Mon, Jun 13 2016 17:00 -0500 + -- Ryan Fisher <[email protected]> Mon, 13 Jun 2016 17:00:00 -0500 --1dqsegdb (1.2.2-1) unstable; urgency=low +dqsegdb (1.2.2-1) unstable; urgency=low * Two bug fixes to correct improper user inserts and add back in tables to veto definer for ligolw_segments_from_cats. - -- Ryan Fisher <[email protected]> Fri, Aug 07 2015 16:30 -0500 + -- Ryan Fisher <[email protected]> Fri, 07 Aug 2015 16:30:00 -0500 dqsegdb (1.2.1-1) unstable; urgency=low - * ER8 fix release + * ER8 fix release - -- Ryan Fisher <[email protected]> Fri, Aug 07 2015 16:30 -0500 + -- Ryan Fisher <[email protected]> Fri, 07 Aug 2015 16:30:00 -0500 dqsegdb (1.2.0-1) unstable; urgency=low - * ER8 release + * ER8 release - -- Ryan Fisher <[email protected]> Thu, Aug 06 2015 18:00 -0500 + -- Ryan Fisher <[email protected]> Thu, 06 Aug 2015 18:00:00 -0500 dqsegdb (1.1.4-1) unstable; urgency=low * Reverted previous 3 build changes and just added a BuildRequires to dqsegdb.spec - - -- Ryan Fisher <[email protected]> Thu, Apr 30 2015 17:00 -0500 + + -- Ryan Fisher <[email protected]> Thu, 30 Apr 2015 17:00:00 -0500 dqsegdb (1.1.3-1) unstable; urgency=low - * Changed python setup.py to not require git hopefully. - + * Changed python setup.py to not require git hopefully. + - -- Ryan Fisher <[email protected]> Wed, Apr 22 2015 23:15:00 +0200 + -- Ryan Fisher <[email protected]> Wed, 22 Apr 2015 23:15:00 +0200 dqsegdb (1.1.2-1) unstable; urgency=low - * Changed python setup.py to not require git hopefully. - + * Changed python setup.py to not require git hopefully. + - -- Ryan Fisher <[email protected]> Wed, Apr 22 2015 22:35:00 +0200 + -- Ryan Fisher <[email protected]> Wed, 22 Apr 2015 22:35:00 +0200 dqsegdb (1.1.1-1) unstable; urgency=low * Changed python setup.py to not require setuptools - - -- Ryan Fisher <[email protected]> Wed, Apr 22 2015 14:35:00 +0200 + + -- Ryan Fisher <[email protected]> Wed, 22 Apr 2015 14:35:00 +0200 dqsegdb (1.1.0-1) unstable; urgency=low * Release for compatibility with old S6 comment fields change to server. - + -- Ryan Fisher <[email protected]> Fri, 17 Apr 2015 10:35:00 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/debian/control new/dqsegdb-2.1.0/debian/control --- old/dqsegdb-2.0.0/debian/control 2022-01-28 06:01:10.000000000 +0100 +++ new/dqsegdb-2.1.0/debian/control 2024-02-06 10:04:48.000000000 +0100 @@ -6,11 +6,6 @@ debhelper (>= 9), dh-python, python3-all, - python3-gwdatafind, - python3-ligo-segments, - python3-lscsoft-glue (>= 1.55) | python3-glue (>= 1.55), - python3-pyrxp, - python3-pytest, python3-setuptools, Standards-Version: 3.9.1 X-Python-Version: >= 3.6 @@ -20,10 +15,13 @@ Depends: ${misc:Depends}, ${python3:Depends}, + python3-gpstime, python3-gwdatafind, python3-lal, python3-ligo-segments, - python3-lscsoft-glue (>= 1.55) | python3-glue (>= 1.55), + python3-lscsoft-glue (>= 3.0.1), + python3-lscsoft-glue (<< 4.0.0), + python3-openssl (>= 0.14), python3-pyrxp, Description: Python 3 DQSegDB client This package provides the Python3 library to connect to LIGO/VIRGO @@ -35,7 +33,7 @@ ${misc:Depends}, ${python3:Depends}, python3-dqsegdb (= ${binary:Version}), -Conflicts: python-dqsegdb (<< 1.6.1-2) -Description: dqsegdb client +Conflicts: python-dqsegdb (<< 2.0.0-1) +Description: Data-Quality Segment DataBase (DQSegDB) client This package provides the client tools to connect to LIGO/VIRGO DQSEGDB instances. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/debian/pydist-overrides new/dqsegdb-2.1.0/debian/pydist-overrides --- old/dqsegdb-2.0.0/debian/pydist-overrides 2022-01-26 20:23:39.000000000 +0100 +++ new/dqsegdb-2.1.0/debian/pydist-overrides 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -glue python-glue diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/debian/rules new/dqsegdb-2.1.0/debian/rules --- old/dqsegdb-2.0.0/debian/rules 2022-01-26 20:23:39.000000000 +0100 +++ new/dqsegdb-2.1.0/debian/rules 2024-02-06 10:04:48.000000000 +0100 @@ -1,6 +1,6 @@ #!/usr/bin/make -f -export PYBUILD_TEST_PYTEST = 1 +export PYBUILD_DISABLE = test %: dh $@ --with python3 --buildsystem=pybuild diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/dqsegdb/_version.py new/dqsegdb-2.1.0/dqsegdb/_version.py --- old/dqsegdb-2.0.0/dqsegdb/_version.py 2022-01-28 06:42:57.000000000 +0100 +++ new/dqsegdb-2.1.0/dqsegdb/_version.py 2024-02-06 10:05:56.000000000 +0100 @@ -8,11 +8,11 @@ version_json = ''' { - "date": "2022-01-27T23:53:38-0500", + "date": "2024-02-06T08:31:01+0000", "dirty": false, "error": null, - "full-revisionid": "c4b0520f9c19c940261e4738a33863aabd99dee5", - "version": "2.0.0" + "full-revisionid": "4f3a0595f4ed78e902a548d29d614e038c690f88", + "version": "2.1.0" } ''' # END VERSION_JSON diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/dqsegdb/apicalls.py new/dqsegdb-2.1.0/dqsegdb/apicalls.py --- old/dqsegdb-2.0.0/dqsegdb/apicalls.py 2022-01-27 17:36:02.000000000 +0100 +++ new/dqsegdb-2.1.0/dqsegdb/apicalls.py 2024-02-06 10:04:48.000000000 +0100 @@ -30,12 +30,7 @@ from ligo import segments from glue.ligolw.utils import process -try: - from lal import UTCToGPS as _UTCToGPS -except ImportError: - # lal is optional - from glue import gpstime - _UTCToGPS = lambda utc: int(gpstime.GpsSecondsFromPyUTC(time.mktime(utc))) +from gpstime import gpsnow from dqsegdb import urifunctions from dqsegdb import clientutils @@ -620,7 +615,7 @@ ## Note: Using ligolw/utils/process.py method of determining time: #meta['query_time']=query_start #meta['query_start']=query_start - #meta['query_end']=_UTCToGPS(time.gmtime()) + #meta['query_end']=int(gpsnow()) ### Now that we have the meta and the flags, which include the result, we need to build up the larger JSON #json_result={} @@ -1008,7 +1003,7 @@ else: insert_history_dict['insertion_metadata']['uri'] = '/dq/'+'/'.join([str(ifo),str(name),str(version)]) # FIX make dq a constant string in case we ever change it #print(ifo,name,version) - insert_history_dict['insertion_metadata']['timestamp'] = _UTCToGPS(time.gmtime()) + insert_history_dict['insertion_metadata']['timestamp'] = int(gpsnow()) insert_history_dict['insertion_metadata']['auth_user']=process.get_username() #if hackDec11: # # note that this only uses one insert_history...despite diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/dqsegdb/clientutils.py new/dqsegdb-2.1.0/dqsegdb/clientutils.py --- old/dqsegdb-2.0.0/dqsegdb/clientutils.py 2022-01-27 20:05:40.000000000 +0100 +++ new/dqsegdb-2.1.0/dqsegdb/clientutils.py 2024-02-06 10:04:48.000000000 +0100 @@ -31,9 +31,6 @@ from glue.segmentdb import segmentdb_utils -from glue.ligolw.utils import ligolw_sqlite -from glue.ligolw import dbtables - from dqsegdb import jsonhelper @@ -466,22 +463,6 @@ # -def setup_files(dir_name, gps_start_time, gps_end_time): - # Filter out the ones that are outside our time range - xml_files = segmentdb_utils.get_all_files_in_range(dir_name, gps_start_time, gps_end_time) - - handle, temp_db = tempfile.mkstemp(suffix='.sqlite') - os.close(handle) - - target = dbtables.get_connection_filename(temp_db, None, True, False) - connection = ligolw_sqlite.setup(target) - - ligolw_sqlite.insert_from_urls(connection, xml_files) # [temp_xml]) - - segmentdb_utils.ensure_segment_table(connection) - - return temp_db, connection - def add_to_segment_ns(xmldoc, proc_id, seg_def_id, sgmtlist): try: segtable = table.get_table(xmldoc, lsctables.SegmentTable.tableName) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/dqsegdb.egg-info/PKG-INFO new/dqsegdb-2.1.0/dqsegdb.egg-info/PKG-INFO --- old/dqsegdb-2.0.0/dqsegdb.egg-info/PKG-INFO 2022-01-28 06:42:57.000000000 +0100 +++ new/dqsegdb-2.1.0/dqsegdb.egg-info/PKG-INFO 2024-02-06 10:05:56.000000000 +0100 @@ -1,11 +1,15 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: dqsegdb -Version: 2.0.0 +Version: 2.1.0 Summary: Client library for DQSegDB Home-page: http://www.lsc-group.phys.uwm.edu/daswg/ Author: Ryan Fisher Author-email: [email protected] License: GPLv3 -Description: UNKNOWN Platform: UNKNOWN Provides: dqsegdb +License-File: LICENSE +License-File: NOTICE + +UNKNOWN + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/dqsegdb.egg-info/SOURCES.txt new/dqsegdb-2.1.0/dqsegdb.egg-info/SOURCES.txt --- old/dqsegdb-2.0.0/dqsegdb.egg-info/SOURCES.txt 2022-01-28 06:42:57.000000000 +0100 +++ new/dqsegdb-2.1.0/dqsegdb.egg-info/SOURCES.txt 2024-02-06 10:05:56.000000000 +0100 @@ -1,5 +1,6 @@ LICENSE MANIFEST.in +NOTICE README.md setup.cfg setup.py @@ -15,7 +16,6 @@ debian/copyright debian/dqsegdb.install debian/py3dist-overrides -debian/pydist-overrides debian/python3-dqsegdb.install debian/rules debian/source/format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/dqsegdb.egg-info/requires.txt new/dqsegdb-2.1.0/dqsegdb.egg-info/requires.txt --- old/dqsegdb-2.0.0/dqsegdb.egg-info/requires.txt 2022-01-28 06:42:57.000000000 +0100 +++ new/dqsegdb-2.1.0/dqsegdb.egg-info/requires.txt 2024-02-06 10:05:56.000000000 +0100 @@ -1,7 +1,8 @@ +gpstime gwdatafind lalsuite ligo-segments -lscsoft-glue>=1.55.0 +lscsoft-glue<4.0.0,>=3.0.1 pyOpenSSL>=0.14 pyRXP six diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/etc/dqsegdb.spec new/dqsegdb-2.1.0/etc/dqsegdb.spec --- old/dqsegdb-2.0.0/etc/dqsegdb.spec 2022-01-28 06:01:10.000000000 +0100 +++ new/dqsegdb-2.1.0/etc/dqsegdb.spec 2024-02-06 10:04:48.000000000 +0100 @@ -1,5 +1,5 @@ %define srcname dqsegdb -%define version 2.0.0 +%define version 2.1.0 %define release 1 Name: python-%{srcname} @@ -15,18 +15,11 @@ BuildArch: noarch Prefix: %{_prefix} -# rpmbuild dependencies -BuildRequires: python-srpm-macros -BuildRequires: python-rpm-macros -BuildRequires: python3-rpm-macros - # build requirements -BuildRequires: python%{python3_pkgversion} +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-pip BuildRequires: python%{python3_pkgversion}-setuptools - -# test requirements -BuildRequires: python%{python3_pkgversion}-pyOpenSSL >= 0.14 -BuildRequires: python%{python3_pkgversion}-pytest +BuildRequires: python%{python3_pkgversion}-wheel # -- src.rpm @@ -51,10 +44,12 @@ %package -n python%{python3_pkgversion}-%{srcname} Summary: Python %{python3_version} client library for the DQSEGDB service -Requires: python%{python3_pkgversion}-glue >= 1.55 +Requires: python%{python3_pkgversion}-gpstime Requires: python%{python3_pkgversion}-gwdatafind Requires: python%{python3_pkgversion}-lal Requires: python%{python3_pkgversion}-ligo-segments +Requires: python%{python3_pkgversion}-lscsoft-glue >= 3.0.1 +Requires: python%{python3_pkgversion}-lscsoft-glue < 4.0.0 Requires: python%{python3_pkgversion}-pyOpenSSL >= 0.14 Requires: python%{python3_pkgversion}-pyRXP %{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}} @@ -68,16 +63,19 @@ %autosetup -n %{srcname}-%{version} %build -%py3_build +# remove the lalsuite requirement from setup.py, that is fulfilled by +# python3-lal RPMs +sed -i '/lalsuite/d' setup.py +# build the wheel +%py3_build_wheel %install -%py3_install +%py3_install_wheel %{srcname}-%{version}-*.whl %check -cd %{_builddir} # move out of the source tree -export PYTHONPATH="%{buildroot}%{python3_sitelib}" -export PATH="%{buildroot}%{_bindir}:${PATH}" -%{__python3} -m pytest -ra -v --pyargs dqsegdb +# print the metadata +PATH="%{buildroot}%{_bindir}:${PATH}" \ +%{__python3} -m pip show dqsegdb %clean rm -rf $RPM_BUILD_ROOT @@ -89,7 +87,6 @@ %license LICENSE %doc README.md %{_bindir}/*dqsegdb -%{_prefix}/etc/dqsegdb* %files -n python%{python3_pkgversion}-dqsegdb %defattr(-,root,root) @@ -100,6 +97,13 @@ # -- changelog %changelog + +* Tue Feb 06 2024 Robert Bruntz <[email protected]> 2.1.0-1 +- update RPM build/install to use wheels +- remove references to (removed) user-env scripts +- disable pytest during RPM/Deb builds +- pin lscsoft-glue to >= 3.0.1, < 4.0.0 + * Thu Jan 27 2022 Robert Bruntz <[email protected]> 2.0.0-1 - added python3-lal as a requirement for python3-dqsegdb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/setup.cfg new/dqsegdb-2.1.0/setup.cfg --- old/dqsegdb-2.0.0/setup.cfg 2022-01-28 06:42:57.000000000 +0100 +++ new/dqsegdb-2.1.0/setup.cfg 2024-02-06 10:05:56.000000000 +0100 @@ -5,18 +5,27 @@ python-pyRXP [versioneer] -vcs = git +VCS = git style = pep440 versionfile_source = dqsegdb/_version.py versionfile_build = dqsegdb/_version.py tag_prefix = dqsegdb-release- parentdir_prefix = +[coverage:paths] +source = + dqsegdb/ + /usr/lib/python*/*-packages/dqsegdb/ + /usr/local/lib/python*/*-packages/dqsegdb/ + [coverage:run] source = dqsegdb omit = dqsegdb/_version.py, +[coverage:report] +precision = 1 + [egg_info] tag_build = tag_date = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dqsegdb-2.0.0/setup.py new/dqsegdb-2.1.0/setup.py --- old/dqsegdb-2.0.0/setup.py 2022-01-27 20:05:40.000000000 +0100 +++ new/dqsegdb-2.1.0/setup.py 2024-02-06 10:04:48.000000000 +0100 @@ -1,15 +1,8 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- -from __future__ import print_function - -import sys import glob import os.path -import subprocess -from distutils import log from setuptools import (setup, find_packages) -from setuptools.command import (build_py, install, sdist) PACKAGENAME = 'dqsegdb' DESCRIPTION = 'Client library for DQSegDB' @@ -24,95 +17,6 @@ __version__ = versioneer.get_version() cmdclass = versioneer.get_cmdclass() - -# -- custom install with etc scripts ------------------------------------------ - -Install = cmdclass.pop('install', install.install) - - -class DQSegDBInstall(Install): - """Extension of setuptools install to write source script for - users. - """ - shenv = os.path.join('etc', '%s-user-env.sh' % PACKAGENAME) - cshenv = os.path.join('etc', '%s-user-env.csh' % PACKAGENAME) - - def finalize_options(self): - Install.finalize_options(self) - try: - etc = list(zip(*self.distribution.data_files))[0].index('etc') - except TypeError: - self.distribution.data_files = [('etc', [])] - etc = 0 - except (ValueError, IndexError): - self.distribution.data_files.append(('etc', [])) - etc = 0 - self.data_files = self.distribution.data_files[etc][1] - - def _get_install_paths(self): - """Internal utility to get install and library paths for install. - """ - installpath = self.install_scripts - if self.install_purelib == self.install_platlib: - pythonpath = self.install_purelib - else: - pythonpath = os.pathsep.join([self.install_platlib, - self.install_purelib]) - if self.root: - installpath = os.path.normpath(installpath.replace(self.root, '')) - pythonpath = os.path.normpath(pythonpath.replace(self.root, '')) - return installpath, pythonpath - - def write_env_sh(self, fp=shenv): - """Write the shell environment script for DQSegDB. - - Parameters - ---------- - fp : `str` - path (relative to install prefix) of output csh file - """ - installpath, pythonpath = self._get_install_paths() - with open(fp, 'w') as env: - print('#!/bin/sh\n', file=env) - print('PATH=%s:${PATH}' % (installpath), file=env) - print('export PATH', file=env) - print('PYTHONPATH=%s:${PYTHONPATH}' % (pythonpath), file=env) - print('export PYTHONPATH', file=env) - self.data_files.append(fp) - - def write_env_csh(self, fp=cshenv): - """Write the shell environment script for DQSegDB. - - Parameters - ---------- - fp : `str` - path (relative to install prefix) of output csh file - """ - installpath, pythonpath = self._get_install_paths() - with open(fp, 'w') as env: - print('setenv PATH %s:${PATH}' % (installpath), file=env) - print('setenv PYTHONPATH %s:${PYTHONPATH}' % (pythonpath), - file=env) - self.data_files.append(fp) - - def run(self): - self.write_env_sh() - self.write_env_csh() - Install.run(self) - if not self.root: - print("\n--------------------------------------------------") - print("DQSegDB has been installed.") - print("If you are running csh, you can set your environment by " - "running:\n") - print("source %s\n" % os.path.join(self.install_base, self.cshenv)) - print("Otherwise, you can run:\n") - print("source %s" % os.path.join(self.install_base, self.shenv)) - print("--------------------------------------------------") - run.__doc__ = Install.__doc__ - -cmdclass['install'] = DQSegDBInstall - - # -- setup --------------------------------------------------------------------- # Use the find_packages tool to locate all packages and modules @@ -124,7 +28,6 @@ else: scripts = [] - setup(name=PACKAGENAME, cmdclass=cmdclass, version=__version__, @@ -135,10 +38,11 @@ scripts=scripts, setup_requires=['setuptools'], install_requires=[ + 'gpstime', 'gwdatafind', 'lalsuite', 'ligo-segments', - 'lscsoft-glue>=1.55.0', + 'lscsoft-glue>=3.0.1,<4.0.0', 'pyOpenSSL>=0.14', 'pyRXP', 'six', ++++++ remove-six.patch ++++++ Index: dqsegdb-2.1.0/dqsegdb/apicalls.py =================================================================== --- dqsegdb-2.1.0.orig/dqsegdb/apicalls.py +++ dqsegdb-2.1.0/dqsegdb/apicalls.py @@ -19,7 +19,7 @@ import sys import time from datetime import datetime, time as time2 -from six.moves.urllib.error import HTTPError +from urllib.error import HTTPError try: import pyRXPU as pyRXP Index: dqsegdb-2.1.0/dqsegdb/clientutils.py =================================================================== --- dqsegdb-2.1.0.orig/dqsegdb/clientutils.py +++ dqsegdb-2.1.0/dqsegdb/clientutils.py @@ -21,7 +21,7 @@ import os import operator import tempfile -from six.moves import reduce +from functools import reduce from ligo import segments Index: dqsegdb-2.1.0/dqsegdb/urifunctions.py =================================================================== --- dqsegdb-2.1.0.orig/dqsegdb/urifunctions.py +++ dqsegdb-2.1.0/dqsegdb/urifunctions.py @@ -23,9 +23,9 @@ import time import os from OpenSSL import crypto -from six.moves.urllib.parse import urlparse -from six.moves import http_client -from six.moves.urllib import (request as urllib_request, +from urllib.parse import urlparse +import http.client as http_client +from urllib import (request as urllib_request, error as urllib_error) Index: dqsegdb-2.1.0/setup.py =================================================================== --- dqsegdb-2.1.0.orig/setup.py +++ dqsegdb-2.1.0/setup.py @@ -45,7 +45,6 @@ setup(name=PACKAGENAME, 'lscsoft-glue>=3.0.1,<4.0.0', 'pyOpenSSL>=0.14', 'pyRXP', - 'six', ], provides=[PACKAGENAME], author=AUTHOR,
