From dc0f2c444dc981cf789b90f3df72977dfd29f5f0 Mon Sep 17 00:00:00 2001
From: Kipp Cannon <kipp.cannon@ligo.org>
Date: Thu, 7 Feb 2019 03:46:01 +0900
Subject: [PATCH 1/3] complete the removal of the segments package

- a few last places that refer to glue.segments and glue.segmentsUtils are updated
- the subpackage is removed from the packaging scripts
---
 bin/gw_data_find                     |  3 +-
 bin/ligolw_geo_fr_to_dq              |  4 +--
 bin/ligolw_publish_dqxml             |  2 +-
 bin/ligolw_segments_from_cats_split  |  2 +-
 debian/control                       | 40 ++-------------------------
 debian/python-glue-segments.install  |  3 --
 debian/python-glue.install           |  1 -
 debian/python3-glue-segments.install |  3 --
 debian/python3-glue.install          |  1 -
 debian/rules                         |  1 -
 etc/glue.spec                        | 41 +---------------------------
 glue/ligolw/lsctables.py             | 10 +++----
 glue/ligolw/utils/segments.py        |  4 +--
 glue/segments.py                     | 22 ---------------
 glue/segmentsUtils.py                |  3 --
 15 files changed, 16 insertions(+), 124 deletions(-)
 delete mode 100644 debian/python-glue-segments.install
 delete mode 100644 debian/python3-glue-segments.install
 delete mode 100644 glue/segments.py
 delete mode 100644 glue/segmentsUtils.py

diff --git a/bin/gw_data_find b/bin/gw_data_find
index 49696629..438b4807 100755
--- a/bin/gw_data_find
+++ b/bin/gw_data_find
@@ -51,8 +51,9 @@ For example,
 
 import os,sys,optparse,re
 from ligo import segments
+from ligo.segments import utils as segmentsUtils
 from glue import datafind
-from glue import segmentsUtils,git_version
+from glue import git_version
 
 __author__  = "Scott Koranda <scott.koranda@ligo.org>, Duncan M. Macleod <duncan.macleod@ligo.org>"
 __version__ = git_version.id
diff --git a/bin/ligolw_geo_fr_to_dq b/bin/ligolw_geo_fr_to_dq
index 7345158c..c352a85e 100755
--- a/bin/ligolw_geo_fr_to_dq
+++ b/bin/ligolw_geo_fr_to_dq
@@ -32,7 +32,7 @@ from optparse import OptionParser
 
 from ligo import segments
 from glue import lal
-from glue import segmentsUtils
+from ligo.segments import utils as segmentsUtils
 from glue import gpstime
 
 import glue.pipeline
@@ -129,7 +129,7 @@ class diskcacheEntry(object):
             return self.__frame_segments__
         self.__frame_segments__ = segments.segmentlist([])
         for seg in self.segments:
-            self.__frame_segments__.extend(glue.segmentsUtils.segmentlist_range(seg[0], seg[1], self.duration))
+            self.__frame_segments__.extend(segmentsUtils.segmentlist_range(seg[0], seg[1], self.duration))
         return self.__frame_segments__
 
 
diff --git a/bin/ligolw_publish_dqxml b/bin/ligolw_publish_dqxml
index ebcbdc4c..f63d3078 100755
--- a/bin/ligolw_publish_dqxml
+++ b/bin/ligolw_publish_dqxml
@@ -37,7 +37,7 @@ from optparse import OptionParser
 from ligo import segments
 from glue import lal
 from glue import gpstime
-from glue import segmentsUtils
+from ligo.segments import utils as segmentsUtils
 from glue import pidfile
 
 from glue.ligolw import ligolw
diff --git a/bin/ligolw_segments_from_cats_split b/bin/ligolw_segments_from_cats_split
index 354e1382..f71a2e10 100755
--- a/bin/ligolw_segments_from_cats_split
+++ b/bin/ligolw_segments_from_cats_split
@@ -33,7 +33,7 @@ import re
 from optparse import OptionParser
 
 import ligo.segments
-from glue.segmentsUtils import segmentlist_range
+from ligo.segments.utils import segmentlist_range
 from glue import git_version
 
 PROGRAM_NAME = sys.argv[0].replace('./','')
diff --git a/debian/control b/debian/control
index cb419f25..09f245bb 100644
--- a/debian/control
+++ b/debian/control
@@ -33,7 +33,7 @@ Depends: ${shlibs:Depends},
          python-kerberos,
          python-openssl,
          python-six,
-         python-glue-segments
+         python-ligo-segments
 Recommends: python-numpy (>= 1.0),
             python-xml,
             libsqlite3-0 (>= 3.3),
@@ -44,25 +44,6 @@ Description: Grid LSC User Environment
  Glue (Grid LSC User Environment) is a suite of python modules and programs to
  allow users to run LSC codes on the grid.
 
-Package: python-glue-segments
-Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends},
-         ${python:Depends},
-         python-cjson,
-         python-openssl,
-         python-six,
-         python-ligo-segments,
-         python-glue-common
-Recommends: python-numpy (>= 1.0),
-            python-xml,
-            libsqlite3-0 (>= 3.3),
-            pyrxp | python-pyrxp
-Description: Grid LSC User Environment
- Glue (Grid LSC User Environment) is a suite of python modules and programs to
- allow users to run LSC codes on the grid.
- Segments handling part.
-
 Package: python-glue-common
 Architecture: all
 Depends: ${shlibs:Depends},
@@ -88,7 +69,7 @@ Depends: ${shlibs:Depends},
          python3-kerberos,
          python3-openssl,
          python3-six,
-         python3-glue-segments
+         python3-ligo-segments
 Recommends: python3-numpy (>= 1.0),
             python3-xml,
             libsqlite3-0 (>= 3.3),
@@ -99,23 +80,6 @@ Description: Grid LSC User Environment
  Glue (Grid LSC User Environment) is a suite of python3 modules and programs to
  allow users to run LSC codes on the grid.
 
-Package: python3-glue-segments
-Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends},
-         ${python3:Depends},
-         python3-six,
-         python3-ligo-segments,
-         python3-glue-common
-Recommends: python3-numpy (>= 1.0),
-            python3-xml,
-            libsqlite3-0 (>= 3.3),
-            pyrxp | python3-pyrxp
-Description: Grid LSC User Environment
- Glue (Grid LSC User Environment) is a suite of python3 modules and programs to
- allow users to run LSC codes on the grid.
- Segments handling part.
-
 Package: python3-glue-common
 Architecture: all
 Depends: ${shlibs:Depends},
diff --git a/debian/python-glue-segments.install b/debian/python-glue-segments.install
deleted file mode 100644
index 71a63863..00000000
--- a/debian/python-glue-segments.install
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/lib/python2*/*/glue/segments.py*
-#usr/lib/python2*/*/src/segments*
-#usr/lib/python2*/*/test*
diff --git a/debian/python-glue.install b/debian/python-glue.install
index 2250a753..eddeac72 100644
--- a/debian/python-glue.install
+++ b/debian/python-glue.install
@@ -40,7 +40,6 @@ usr/lib/python2*/*/glue/markup.py*
 usr/lib/python2*/*/glue/offsetvector.py*
 usr/lib/python2*/*/glue/pidfile.py*
 usr/lib/python2*/*/glue/pipeline.py*
-usr/lib/python2*/*/glue/segmentsUtils.py*
 usr/lib/python2*/*/glue/text_progress_bar.py*
 usr/lib/python2*/*/glue/utils.py*
 usr/lib/python2*/*/glue/workflow.py
diff --git a/debian/python3-glue-segments.install b/debian/python3-glue-segments.install
deleted file mode 100644
index b2096dc4..00000000
--- a/debian/python3-glue-segments.install
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/lib/python3*/*/glue/segments.py*
-#usr/lib/python3*/*/src/segments*
-#usr/lib/python3*/*/test*
diff --git a/debian/python3-glue.install b/debian/python3-glue.install
index b96122b0..2729300a 100644
--- a/debian/python3-glue.install
+++ b/debian/python3-glue.install
@@ -40,7 +40,6 @@ usr/lib/python3*/*/glue/markup.py*
 usr/lib/python3*/*/glue/offsetvector.py*
 usr/lib/python3*/*/glue/pidfile.py*
 usr/lib/python3*/*/glue/pipeline.py*
-usr/lib/python3*/*/glue/segmentsUtils.py*
 usr/lib/python3*/*/glue/text_progress_bar.py*
 usr/lib/python3*/*/glue/utils.py*
 usr/lib/python3*/*/glue/workflow.py
diff --git a/debian/rules b/debian/rules
index 0bb253a9..0b4a9cbb 100755
--- a/debian/rules
+++ b/debian/rules
@@ -19,7 +19,6 @@ export PYBUILD_AFTER_TEST := env \
 	-o ligolw_test01 \
 	-o test_ligolw_lsctables \
 	-o test_ligolw_table \
-	-o segmentsUtils_verify \
 	-o test_ligolw_utils_segments
 
 # Redirect Python 3 packages to a directory that we are going to ignore.
diff --git a/etc/glue.spec b/etc/glue.spec
index cbed6ad6..0d7c4493 100644
--- a/etc/glue.spec
+++ b/etc/glue.spec
@@ -7,7 +7,7 @@ Group:		Development/Libraries
 Source:		lscsoft-%{name}-%{version}.tar.gz
 Url:		http://www.lsc-group.phys.uwm.edu/daswg/projects/glue.html
 BuildRoot:	%{_tmppath}/%{name}-%{version}-root
-Requires:	python-cjson pyOpenSSL numpy python-six glue-common glue-segments python >= 2.7
+Requires:	python-cjson pyOpenSSL numpy python-six glue-common python >= 2.7
 BuildRequires:  python-rpm-macros
 BuildRequires:  python3-rpm-macros
 BuildRequires:  python-devel
@@ -34,7 +34,6 @@ Requires:       python%{python3_pkgversion}
 Requires:       python%{python3_pkgversion}-numpy
 Requires:       python%{python3_pkgversion}-six
 Requires:       python%{python3_pkgversion}-glue-common
-Requires:       python%{python3_pkgversion}-glue-segments
 %{?python_provide:%python_provide python%{python3_pkgversion}-glue}
 %description -n python%{python3_pkgversion}-glue
 Glue (Grid LSC User Environment) is a suite of python modules and programs to
@@ -58,24 +57,6 @@ Requires:       python%{python3_pkgversion}-six
 This is for the files that are common across the glue subpackages, namely
 git_version, iterutils and __init__.py
 
-%package segments
-Summary:        The segments subpackage
-Group:          Development/Libraries
-Requires:       python numpy python-six python2-ligo-segments glue-common
-%description segments
-This is for the segments subpackage, written by Kipp.
-
-%package -n python%{python3_pkgversion}-glue-segments
-Summary:        The segments subpackage
-Group:          Development/Libraries
-Requires:       python%{python3_pkgversion}
-Requires:       python%{python3_pkgversion}-numpy
-Requires:       python%{python3_pkgversion}-six
-Requires:       python%{python3_pkgversion}-glue-common
-Requires:       python%{python3_pkgversion}-ligo-segments
-%description -n python%{python3_pkgversion}-glue-segments
-This is for the segments subpackage, written by Kipp.
-
 %prep
 %setup -n lscsoft-%{name}-%{version}
 
@@ -96,7 +77,6 @@ make -C test \
     -o ligolw_test01 \
     -o test_ligolw_lsctables \
     -o test_ligolw_table \
-    -o segmentsUtils_verify \
     -o test_ligolw_utils_segments
 PYTHONPATH="${RPM_BUILD_ROOT}%{python3_sitearch}" \
 PYTHON=%{__python3} \
@@ -106,7 +86,6 @@ make -C test \
     -o ligolw_test01 \
     -o test_ligolw_lsctables \
     -o test_ligolw_table \
-    -o segmentsUtils_verify \
     -o test_ligolw_utils_segments
 
 %clean
@@ -121,12 +100,8 @@ rm -rf $RPM_BUILD_ROOT
 %exclude %{_exec_prefix}/etc/
 %exclude %{_exec_prefix}/var/
 %exclude %{python2_sitearch}/glue/__init__.py*
-%exclude %{python2_sitearch}/glue/segments.py*
 %exclude %{python2_sitearch}/glue/iterutils.py*
 %exclude %{python2_sitearch}/glue/git_version.py*
-#%exclude %{_exec_prefix}/src/segments/
-#%exclude %{_exec_prefix}/test/segment_verify.py
-#%exclude %{_exec_prefix}/test/segmentsUtils_verify.py
 #%exclude %{_exec_prefix}/test/verifyutils.py
 
 %files -n python%{python3_pkgversion}-glue
@@ -139,27 +114,13 @@ rm -rf $RPM_BUILD_ROOT
 %exclude %{_exec_prefix}/var/
 %exclude %{python3_sitearch}/glue/__init__.py
 %exclude %{python3_sitearch}/glue/__pycache__/__init__.cpython-%{python3_version_nodots}.py?
-%exclude %{python3_sitearch}/glue/segments.py
 %exclude %{python3_sitearch}/glue/__pycache__/segments.cpython-%{python3_version_nodots}.py?
 %exclude %{python3_sitearch}/glue/iterutils.py
 %exclude %{python3_sitearch}/glue/__pycache__/iterutils.cpython-%{python3_version_nodots}.py?
 %exclude %{python3_sitearch}/glue/git_version.py
 %exclude %{python3_sitearch}/glue/__pycache__/git_version.cpython-%{python3_version_nodots}.py?
-#%exclude %{_exec_prefix}/src/segments/
-#%exclude %{_exec_prefix}/test/segment_verify.py
-#%exclude %{_exec_prefix}/test/segmentsUtils_verify.py
 #%exclude %{_exec_prefix}/test/verifyutils.py
 
-%files segments
-%license LICENSE
-%{python2_sitearch}/glue/segments.py
-%{python2_sitearch}/glue/segments.pyc
-
-%files -n python%{python3_pkgversion}-glue-segments
-%license LICENSE
-%{python3_sitearch}/glue/segments.py
-%{python3_sitearch}/glue/__pycache__/segments.cpython-%{python3_version_nodots}.pyc
-
 %files common
 %license LICENSE
 %{python2_sitearch}/glue/__init__.py
diff --git a/glue/ligolw/lsctables.py b/glue/ligolw/lsctables.py
index e5c43657..952ff700 100644
--- a/glue/ligolw/lsctables.py
+++ b/glue/ligolw/lsctables.py
@@ -1276,20 +1276,20 @@ class SnglBurstTable(table.Table):
 
 	def get_period(self):
 		"""@returns: the period segment of each row in the table
-		@returntype: glue.segments.segmentlist
+		@returntype: ligo.segments.segmentlist
 		"""
 		return segments.segmentlist([row.get_period() for row in self])
 
 	def get_ms_period(self):
 		"""@returns: the period segment for the most significant tile
 		of each row in the table
-		@returntype: glue.segments.segmentlist
+		@returntype: ligo.segments.segmentlist
 		"""
 		return segments.segmentlist([row.get_ms_period() for row in self])
 
 	def get_band(self):
 		"""@returns: the frequency band of each row in the table
-		@returntype: glue.segments.segmentlist
+		@returntype: ligo.segments.segmentlist
 		"""
 		return segments.segmentlist([row.get_band() for row in self])
 
@@ -3581,7 +3581,7 @@ class Segment(table.Table.RowType):
 	>>> Segment(20, 30).segment
 	segment(LIGOTimeGPS(20, 0), LIGOTimeGPS(30, 0))
 	>>> # use as a segment object in segmentlist operations
-	>>> from glue import segments
+	>>> from ligo import segments
 	>>> x = segments.segmentlist([Segment(0, 10), Segment(20, 30)])
 	>>> abs(x)
 	LIGOTimeGPS(20, 0)
@@ -3647,7 +3647,7 @@ class Segment(table.Table.RowType):
 		"""
 		self.segment = segment
 
-	# emulate a glue.segments.segment object
+	# emulate a ligo.segments.segment object
 
 	def __abs__(self):
 		return abs(self.segment)
diff --git a/glue/ligolw/utils/segments.py b/glue/ligolw/utils/segments.py
index 5fa354d7..af0335e8 100644
--- a/glue/ligolw/utils/segments.py
+++ b/glue/ligolw/utils/segments.py
@@ -35,7 +35,7 @@ from ligo import segments
 
 from glue import git_version
 from glue import iterutils
-from glue import segmentsUtils
+from ligo.segments import utils as segmentsUtils
 from .. import ligolw
 from .. import lsctables
 
@@ -324,7 +324,7 @@ class LigolwSegmentList(object):
 class LigolwSegments(set):
 	"""
 	An interface shim between code that makes use of segments in
-	glue.segments form, and LIGO Light-Weight XML I/O code.
+	ligo.segments form, and LIGO Light-Weight XML I/O code.
 
 	This class is "attached" to an XML document object, at which time
 	it parses and extracts the segment lists from the document, and
diff --git a/glue/segments.py b/glue/segments.py
deleted file mode 100644
index cb1e7e6b..00000000
--- a/glue/segments.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (C) 2006  Kipp Cannon
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# 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.
-
-import warnings
-
-from ligo.segments import *
-
-warnings.warn('glue.segments has been renamed ligo.segments',
-              DeprecationWarning)
diff --git a/glue/segmentsUtils.py b/glue/segmentsUtils.py
deleted file mode 100644
index 0a6c9a2d..00000000
--- a/glue/segmentsUtils.py
+++ /dev/null
@@ -1,3 +0,0 @@
-import warnings
-warnings.warn("This module is obsolete.  Use ligo.segments.utils instead.", DeprecationWarning)
-from ligo.segments.utils import *
-- 
GitLab


From 077cd4fcfaf5b839de7effba96590596acf019d5 Mon Sep 17 00:00:00 2001
From: Kipp Cannon <kipp.cannon@ligo.org>
Date: Thu, 7 Feb 2019 16:16:51 +0900
Subject: [PATCH 2/3] remove offsetvector.py

- obsolete stub, moved to lalburst
---
 debian/python-glue.install  | 1 -
 debian/python3-glue.install | 1 -
 glue/offsetvector.py        | 3 ---
 3 files changed, 5 deletions(-)
 delete mode 100644 glue/offsetvector.py

diff --git a/debian/python-glue.install b/debian/python-glue.install
index eddeac72..e97e6131 100644
--- a/debian/python-glue.install
+++ b/debian/python-glue.install
@@ -37,7 +37,6 @@ usr/lib/python2*/*/glue/gsiserverutils.py*
 usr/lib/python2*/*/glue/lal.py*
 usr/lib/python2*/*/glue/ldbd.py*
 usr/lib/python2*/*/glue/markup.py*
-usr/lib/python2*/*/glue/offsetvector.py*
 usr/lib/python2*/*/glue/pidfile.py*
 usr/lib/python2*/*/glue/pipeline.py*
 usr/lib/python2*/*/glue/text_progress_bar.py*
diff --git a/debian/python3-glue.install b/debian/python3-glue.install
index 2729300a..85abc5f5 100644
--- a/debian/python3-glue.install
+++ b/debian/python3-glue.install
@@ -37,7 +37,6 @@ usr/lib/python3*/*/glue/gsiserverutils.py*
 usr/lib/python3*/*/glue/lal.py*
 usr/lib/python3*/*/glue/ldbd.py*
 usr/lib/python3*/*/glue/markup.py*
-usr/lib/python3*/*/glue/offsetvector.py*
 usr/lib/python3*/*/glue/pidfile.py*
 usr/lib/python3*/*/glue/pipeline.py*
 usr/lib/python3*/*/glue/text_progress_bar.py*
diff --git a/glue/offsetvector.py b/glue/offsetvector.py
deleted file mode 100644
index 9ce8525c..00000000
--- a/glue/offsetvector.py
+++ /dev/null
@@ -1,3 +0,0 @@
-import warnings
-warnings.warn("This module is obsolete.  Use lalburst.offsetvector instead.", DeprecationWarning)
-from lalburst.offsetvector import *
-- 
GitLab


From 6ca4cbafa9e453697e9ab17712f17091a48e28aa Mon Sep 17 00:00:00 2001
From: Kipp Cannon <kipp.cannon@ligo.org>
Date: Thu, 7 Feb 2019 16:33:28 +0900
Subject: [PATCH 3/3] remote dagfile.py

- obsolete stub, original now in gstlal
---
 bin/glue_dagfile_rerun_relatives | 162 -------------------------------
 debian/python-glue.install       |   1 -
 debian/python3-glue.install      |   1 -
 glue/dagfile.py                  |   3 -
 4 files changed, 167 deletions(-)
 delete mode 100755 bin/glue_dagfile_rerun_relatives
 delete mode 100644 glue/dagfile.py

diff --git a/bin/glue_dagfile_rerun_relatives b/bin/glue_dagfile_rerun_relatives
deleted file mode 100755
index 26084938..00000000
--- a/bin/glue_dagfile_rerun_relatives
+++ /dev/null
@@ -1,162 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (C) 2011  Kipp Cannon
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# 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.
-
-
-#
-# =============================================================================
-#
-#                                   Preamble
-#
-# =============================================================================
-#
-
-
-from __future__ import print_function
-from optparse import OptionParser
-import sys
-
-
-from glue import git_version
-from glue import dagfile
-
-__author__ = "Kipp Cannon <kipp.cannon@ligo.org>"
-__version__ = "git id %s" % git_version.id
-__date__ = git_version.date
-
-
-#
-# =============================================================================
-#
-#                                 Command Line
-#
-# =============================================================================
-#
-
-
-def parse_command_line():
-	parser = OptionParser(
-		version = "Name: %%prog\n%s" % git_version.verbose_msg,
-		usage = "%prog [options] node1 [node2 ...] <old_dag >new_dag",
-		description = "%prog constructs a DAG to re-run all parents of the DAG nodes named on the command line."
-	)
-	parser.add_option("--themselves", "-t", action = "store_true", help = "Rerun the named nodes.")
-	parser.add_option("--ancestors-of", "-a", action = "store_true", help = "Rerun the ancestors of the named nodes.")
-	parser.add_option("--descendants-of", "-d", action = "store_true", help = "Rerun the descendents of the named nodes.")
-	parser.add_option("--verbose", "-v", action = "store_true", help = "Be verbose.")
-	options, nodenames = parser.parse_args()
-
-	#
-	# check that there's something to do
-	#
-
-	if not (options.themselves or options.ancestors_of or options.descendants_of):
-		raise ValueError("nothing to do!")
-	if options.ancestors_of and options.descendants_of and not options.themselves:
-		raise ValueError("cowardly refusing to rerun both the parents and children of the named nodes without also rerunning the named nodes themselves.  must include --themselves when both --ancestors-of and --descendants-of have been selected.")
-
-	#
-	# uniqueify the node names
-	#
-
-	nodenames = set(nodenames)
-
-	#
-	# done
-	#
-
-	return options, nodenames
-
-
-#
-# =============================================================================
-#
-#                                 Process DAG
-#
-# =============================================================================
-#
-
-
-#
-# command line
-#
-
-
-options, nodenames = parse_command_line()
-
-
-#
-# read original dag from stdin
-#
-
-
-if options.verbose:
-	def progress(f, n, done):
-		print("reading original dag from stdin ... %d lines\r" % n, end=' ', file=sys.stderr)
-		if done:
-			print(file=sys.stderr)
-else:
-	progress = None
-dag = dagfile.DAG.parse(sys.stdin, progress = progress)
-if not nodenames.issubset(set(dag.nodes)):
-	raise ValueError("node(s) %s not found in dag" % ", ".join(sorted(nodenames - set(dag.nodes))))
-
-
-#
-# extract graph
-#
-
-
-if options.verbose:
-	print("extracting graph ...", file=sys.stderr)
-names_to_rerun = set()
-if options.ancestors_of:
-	names_to_rerun |= dag.get_all_parent_names(nodenames)
-if options.descendants_of:
-	names_to_rerun |= dag.get_all_child_names(nodenames)
-if options.themselves:
-	names_to_rerun |= nodenames
-assert names_to_rerun	# must not be empty
-dag = dagfile.DAG.select_nodes_by_name(dag, names_to_rerun)
-
-
-#
-# set nodes matching the requested patterns to done, everything else to not
-# done
-#
-
-
-if options.verbose:
-	print("setting jobs to done/not-done ...", file=sys.stderr)
-for nodename, node in dag.nodes.items():
-	# FIXME:  feature not implemented;  all nodes marked "not done"
-	node.done = False
-
-
-#
-# write new dag to stdout
-#
-
-
-if options.verbose:
-	def progress(f, n, done):
-		print("writing new dag to stdout ... %d lines\r" % n, end=' ', file=sys.stderr)
-		if done:
-			print(file=sys.stderr)
-else:
-	progress = None
-dag.write(sys.stdout, progress = progress)
diff --git a/debian/python-glue.install b/debian/python-glue.install
index e97e6131..65b0ea5f 100644
--- a/debian/python-glue.install
+++ b/debian/python-glue.install
@@ -30,7 +30,6 @@ usr/lib/python2*/*/lscsoft_glue-*.egg-info/requires.txt
 usr/lib/python2*/*/lscsoft_glue-*.egg-info/top_level.txt
 usr/lib/python2*/*/glue/cis.py
 usr/lib/python2*/*/glue/cbcwebpage.py*
-usr/lib/python2*/*/glue/dagfile.py*
 usr/lib/python2*/*/glue/datafind.py*
 usr/lib/python2*/*/glue/gpstime.py*
 usr/lib/python2*/*/glue/gsiserverutils.py*
diff --git a/debian/python3-glue.install b/debian/python3-glue.install
index 85abc5f5..69fd9abd 100644
--- a/debian/python3-glue.install
+++ b/debian/python3-glue.install
@@ -30,7 +30,6 @@ usr/lib/python3*/*/lscsoft_glue-*.egg-info/requires.txt
 usr/lib/python3*/*/lscsoft_glue-*.egg-info/top_level.txt
 usr/lib/python3*/*/glue/cis.py
 usr/lib/python3*/*/glue/cbcwebpage.py*
-usr/lib/python3*/*/glue/dagfile.py*
 usr/lib/python3*/*/glue/datafind.py*
 usr/lib/python3*/*/glue/gpstime.py*
 usr/lib/python3*/*/glue/gsiserverutils.py*
diff --git a/glue/dagfile.py b/glue/dagfile.py
deleted file mode 100644
index 80bf77b7..00000000
--- a/glue/dagfile.py
+++ /dev/null
@@ -1,3 +0,0 @@
-import warnings
-warnings.warn("This module is obsolete.  Use gstlal.dagfile instead.", DeprecationWarning)
-from gstlal.dagfile import *
-- 
GitLab