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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. From 2512c3ba608077db3a5e0286b976fadc8a04a5c4 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: Adam Duskett <aduskett@gmail.com>
  13. ---
  14. sedta | 3 ++-
  15. seinfoflow | 3 ++-
  16. setools/__init__.py | 4 ++--
  17. setoolsgui/apol/dta.py | 2 +-
  18. setoolsgui/apol/infoflow.py | 2 +-
  19. tests/dta.py | 3 ++-
  20. tests/infoflow.py | 3 ++-
  21. 7 files changed, 12 insertions(+), 8 deletions(-)
  22. diff --git a/sedta b/sedta
  23. index 1c76ebb..255ad49 100755
  24. --- a/sedta
  25. +++ b/sedta
  26. @@ -23,6 +23,7 @@ import argparse
  27. import logging
  28. import setools
  29. +import setools.dta
  30. def print_transition(trans):
  31. @@ -111,7 +112,7 @@ else:
  32. try:
  33. p = setools.SELinuxPolicy(args.policy)
  34. - g = setools.DomainTransitionAnalysis(p, reverse=args.reverse, exclude=args.exclude)
  35. + g = setools.dta.DomainTransitionAnalysis(p, reverse=args.reverse, exclude=args.exclude)
  36. if args.shortest_path or args.all_paths:
  37. if args.shortest_path:
  38. diff --git a/seinfoflow b/seinfoflow
  39. index b287921..d53bdef 100755
  40. --- a/seinfoflow
  41. +++ b/seinfoflow
  42. @@ -19,6 +19,7 @@
  43. from __future__ import print_function
  44. import setools
  45. +import setools.infoflow
  46. import argparse
  47. import sys
  48. import logging
  49. @@ -79,7 +80,7 @@ else:
  50. try:
  51. p = setools.SELinuxPolicy(args.policy)
  52. m = setools.PermissionMap(args.map)
  53. - g = setools.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude)
  54. + g = setools.infoflow.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude)
  55. if args.shortest_path or args.all_paths:
  56. if args.shortest_path:
  57. diff --git a/setools/__init__.py b/setools/__init__.py
  58. index a84c846..a53c5a7 100644
  59. --- a/setools/__init__.py
  60. +++ b/setools/__init__.py
  61. @@ -74,11 +74,11 @@ from .pcideviceconquery import PcideviceconQuery
  62. from .devicetreeconquery import DevicetreeconQuery
  63. # Information Flow Analysis
  64. -from .infoflow import InfoFlowAnalysis
  65. +# from .infoflow import InfoFlowAnalysis
  66. from .permmap import PermissionMap
  67. # Domain Transition Analysis
  68. -from .dta import DomainTransitionAnalysis
  69. +# from .dta import DomainTransitionAnalysis
  70. # Policy difference
  71. from .diff import PolicyDifference
  72. diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py
  73. index 0aaf13f..5b1ea20 100644
  74. --- a/setoolsgui/apol/dta.py
  75. +++ b/setoolsgui/apol/dta.py
  76. @@ -23,7 +23,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread
  77. from PyQt5.QtGui import QPalette, QTextCursor
  78. from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \
  79. QTreeWidgetItem
  80. -from setools import DomainTransitionAnalysis
  81. +from setools.dta import DomainTransitionAnalysis
  82. from ..logtosignal import LogHandlerToSignal
  83. from .analysistab import AnalysisTab
  84. diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py
  85. index 1ae16de..fdf8f7b 100644
  86. --- a/setoolsgui/apol/infoflow.py
  87. +++ b/setoolsgui/apol/infoflow.py
  88. @@ -25,7 +25,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread
  89. from PyQt5.QtGui import QPalette, QTextCursor
  90. from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \
  91. QTreeWidgetItem
  92. -from setools import InfoFlowAnalysis
  93. +from setools.infoflow import InfoFlowAnalysis
  94. from setools.exception import UnmappedClass, UnmappedPermission
  95. from ..logtosignal import LogHandlerToSignal
  96. diff --git a/tests/dta.py b/tests/dta.py
  97. index 32b9271..2bdd052 100644
  98. --- a/tests/dta.py
  99. +++ b/tests/dta.py
  100. @@ -17,7 +17,8 @@
  101. #
  102. import unittest
  103. -from setools import SELinuxPolicy, DomainTransitionAnalysis
  104. +from setools import SELinuxPolicy
  105. +from setools.dta import DomainTransitionAnalysis
  106. from setools import TERuletype as TERT
  107. from setools.policyrep.exception import InvalidType
  108. from setools.policyrep.typeattr import Type
  109. diff --git a/tests/infoflow.py b/tests/infoflow.py
  110. index 7751dda..a21c683 100644
  111. --- a/tests/infoflow.py
  112. +++ b/tests/infoflow.py
  113. @@ -17,7 +17,8 @@
  114. #
  115. import unittest
  116. -from setools import SELinuxPolicy, InfoFlowAnalysis
  117. +from setools import SELinuxPolicy
  118. +from setools.infoflow import InfoFlowAnalysis
  119. from setools import TERuletype as TERT
  120. from setools.permmap import PermissionMap
  121. from setools.policyrep.exception import InvalidType
  122. --
  123. 2.9.3