0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. From ae84e5ef59bb24d5b8fd17e6756952f42c2d5c36 Mon Sep 17 00:00:00 2001
  2. From: rpm-build <rpm-build>
  3. Date: Thu, 23 Feb 2017 08:17:07 +0100
  4. Subject: [PATCH] Do not export/use setools.InfoFlowAnalysis and
  5. setools.DomainTransitionAnalysis
  6. dta and infoflow modules require networkx which brings lot of dependencies.
  7. These dependencies are not necessary for setools module itself as it's
  8. used in policycoreutils.
  9. Therefore it's better to use setools.infoflow.InfoFlowAnalysis and
  10. setools.dta.DomainTransitionAnalysis and let the package containing
  11. sedta and seinfoflow to require python3-networkx
  12. Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
  13. [Refreshed for 4.3.0]
  14. Signed-off-by: Adam Duskett <aduskett@gmail.com>
  15. ---
  16. sedta | 3 ++-
  17. seinfoflow | 5 +++--
  18. setools/__init__.py | 4 ++--
  19. setoolsgui/apol/dta.py | 2 +-
  20. setoolsgui/apol/infoflow.py | 2 +-
  21. tests/dta.py | 2 +-
  22. tests/infoflow.py | 2 +-
  23. 7 files changed, 11 insertions(+), 9 deletions(-)
  24. diff --git a/sedta b/sedta
  25. index 60861ca630a5..0056172a55e5 100755
  26. --- a/sedta
  27. +++ b/sedta
  28. @@ -23,6 +23,7 @@ import logging
  29. import signal
  30. import setools
  31. +import setools.dta
  32. def print_transition(trans):
  33. @@ -114,7 +115,7 @@ else:
  34. try:
  35. p = setools.SELinuxPolicy(args.policy)
  36. - g = setools.DomainTransitionAnalysis(p, reverse=args.reverse, exclude=args.exclude)
  37. + g = setools.dta.DomainTransitionAnalysis(p, reverse=args.reverse, exclude=args.exclude)
  38. if args.shortest_path or args.all_paths:
  39. if args.shortest_path:
  40. diff --git a/seinfoflow b/seinfoflow
  41. index f10c39de4d8e..fe733bbd0787 100755
  42. --- a/seinfoflow
  43. +++ b/seinfoflow
  44. @@ -18,6 +18,7 @@
  45. #
  46. import setools
  47. +import setools.infoflow
  48. import argparse
  49. import sys
  50. import logging
  51. @@ -101,8 +102,8 @@ elif args.booleans is not None:
  52. try:
  53. p = setools.SELinuxPolicy(args.policy)
  54. m = setools.PermissionMap(args.map)
  55. - g = setools.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude,
  56. - booleans=booleans)
  57. + g = setools.infoflow.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude,
  58. + booleans=booleans)
  59. if args.shortest_path or args.all_paths:
  60. if args.shortest_path:
  61. diff --git a/setools/__init__.py b/setools/__init__.py
  62. index 26fa5aa34a19..9e9058a6bf90 100644
  63. --- a/setools/__init__.py
  64. +++ b/setools/__init__.py
  65. @@ -75,11 +75,11 @@ from .pcideviceconquery import PcideviceconQuery
  66. from .devicetreeconquery import DevicetreeconQuery
  67. # Information Flow Analysis
  68. -from .infoflow import InfoFlowAnalysis
  69. +# from .infoflow import InfoFlowAnalysis
  70. from .permmap import PermissionMap
  71. # Domain Transition Analysis
  72. -from .dta import DomainTransitionAnalysis
  73. +# from .dta import DomainTransitionAnalysis
  74. # Policy difference
  75. from .diff import PolicyDifference
  76. diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py
  77. index 4608b9dbf34e..2cde44c142e9 100644
  78. --- a/setoolsgui/apol/dta.py
  79. +++ b/setoolsgui/apol/dta.py
  80. @@ -23,7 +23,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread
  81. from PyQt5.QtGui import QPalette, QTextCursor
  82. from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \
  83. QTreeWidgetItem
  84. -from setools import DomainTransitionAnalysis
  85. +from setools.dta import DomainTransitionAnalysis
  86. from ..logtosignal import LogHandlerToSignal
  87. from .analysistab import AnalysisTab
  88. diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py
  89. index 7bca299d23fc..7fee2778f35f 100644
  90. --- a/setoolsgui/apol/infoflow.py
  91. +++ b/setoolsgui/apol/infoflow.py
  92. @@ -26,7 +26,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread
  93. from PyQt5.QtGui import QPalette, QTextCursor
  94. from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \
  95. QTreeWidgetItem
  96. -from setools import InfoFlowAnalysis
  97. +from setools.infoflow import InfoFlowAnalysis
  98. from setools.exception import UnmappedClass, UnmappedPermission
  99. from ..logtosignal import LogHandlerToSignal
  100. diff --git a/tests/dta.py b/tests/dta.py
  101. index a0cc9381469c..177e6fb0b961 100644
  102. --- a/tests/dta.py
  103. +++ b/tests/dta.py
  104. @@ -18,7 +18,7 @@
  105. import os
  106. import unittest
  107. -from setools import DomainTransitionAnalysis
  108. +from setools.dta import DomainTransitionAnalysis
  109. from setools import TERuletype as TERT
  110. from setools.exception import InvalidType
  111. from setools.policyrep import Type
  112. diff --git a/tests/infoflow.py b/tests/infoflow.py
  113. index aa0e44a7e4f8..fca2848aeca5 100644
  114. --- a/tests/infoflow.py
  115. +++ b/tests/infoflow.py
  116. @@ -18,7 +18,7 @@
  117. import os
  118. import unittest
  119. -from setools import InfoFlowAnalysis
  120. +from setools.infoflow import InfoFlowAnalysis
  121. from setools import TERuletype as TERT
  122. from setools.exception import InvalidType
  123. from setools.permmap import PermissionMap
  124. --
  125. 2.26.2