patchman 4.0.1__tar.gz → 4.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. {patchman-4.0.1 → patchman-4.0.3}/INSTALL.md +4 -2
  2. {patchman-4.0.1 → patchman-4.0.3}/PKG-INFO +1 -1
  3. patchman-4.0.3/VERSION.txt +1 -0
  4. {patchman-4.0.1 → patchman-4.0.3}/hosts/views.py +15 -1
  5. {patchman-4.0.1 → patchman-4.0.3}/patchman.egg-info/PKG-INFO +1 -1
  6. {patchman-4.0.1 → patchman-4.0.3}/reports/utils.py +1 -1
  7. patchman-4.0.1/VERSION.txt +0 -1
  8. {patchman-4.0.1 → patchman-4.0.3}/AUTHORS +0 -0
  9. {patchman-4.0.1 → patchman-4.0.3}/COPYING +0 -0
  10. {patchman-4.0.1 → patchman-4.0.3}/MANIFEST.in +0 -0
  11. {patchman-4.0.1 → patchman-4.0.3}/README.md +0 -0
  12. {patchman-4.0.1 → patchman-4.0.3}/arch/__init__.py +0 -0
  13. {patchman-4.0.1 → patchman-4.0.3}/arch/admin.py +0 -0
  14. {patchman-4.0.1 → patchman-4.0.3}/arch/apps.py +0 -0
  15. {patchman-4.0.1 → patchman-4.0.3}/arch/migrations/0001_initial.py +0 -0
  16. {patchman-4.0.1 → patchman-4.0.3}/arch/migrations/__init__.py +0 -0
  17. {patchman-4.0.1 → patchman-4.0.3}/arch/models.py +0 -0
  18. {patchman-4.0.1 → patchman-4.0.3}/arch/serializers.py +0 -0
  19. {patchman-4.0.1 → patchman-4.0.3}/arch/tests/__init__.py +0 -0
  20. {patchman-4.0.1 → patchman-4.0.3}/arch/tests/test_api.py +0 -0
  21. {patchman-4.0.1 → patchman-4.0.3}/arch/tests/test_models.py +0 -0
  22. {patchman-4.0.1 → patchman-4.0.3}/arch/utils.py +0 -0
  23. {patchman-4.0.1 → patchman-4.0.3}/arch/views.py +0 -0
  24. {patchman-4.0.1 → patchman-4.0.3}/domains/__init__.py +0 -0
  25. {patchman-4.0.1 → patchman-4.0.3}/domains/admin.py +0 -0
  26. {patchman-4.0.1 → patchman-4.0.3}/domains/apps.py +0 -0
  27. {patchman-4.0.1 → patchman-4.0.3}/domains/migrations/0001_initial.py +0 -0
  28. {patchman-4.0.1 → patchman-4.0.3}/domains/migrations/__init__.py +0 -0
  29. {patchman-4.0.1 → patchman-4.0.3}/domains/models.py +0 -0
  30. {patchman-4.0.1 → patchman-4.0.3}/domains/serializers.py +0 -0
  31. {patchman-4.0.1 → patchman-4.0.3}/domains/tests/__init__.py +0 -0
  32. {patchman-4.0.1 → patchman-4.0.3}/domains/tests/test_api.py +0 -0
  33. {patchman-4.0.1 → patchman-4.0.3}/domains/tests/test_models.py +0 -0
  34. {patchman-4.0.1 → patchman-4.0.3}/domains/views.py +0 -0
  35. {patchman-4.0.1 → patchman-4.0.3}/errata/__init__.py +0 -0
  36. {patchman-4.0.1 → patchman-4.0.3}/errata/admin.py +0 -0
  37. {patchman-4.0.1 → patchman-4.0.3}/errata/apps.py +0 -0
  38. {patchman-4.0.1 → patchman-4.0.3}/errata/managers.py +0 -0
  39. {patchman-4.0.1 → patchman-4.0.3}/errata/migrations/0001_initial.py +0 -0
  40. {patchman-4.0.1 → patchman-4.0.3}/errata/migrations/0002_alter_erratumreference_unique_together.py +0 -0
  41. {patchman-4.0.1 → patchman-4.0.3}/errata/migrations/0003_delete_erratumreference_alter_erratum_references.py +0 -0
  42. {patchman-4.0.1 → patchman-4.0.3}/errata/migrations/0004_rename_packages_erratum_fixed_packages.py +0 -0
  43. {patchman-4.0.1 → patchman-4.0.3}/errata/migrations/0005_erratum_affected_packages_and_more.py +0 -0
  44. {patchman-4.0.1 → patchman-4.0.3}/errata/migrations/0006_alter_erratum_options.py +0 -0
  45. {patchman-4.0.1 → patchman-4.0.3}/errata/migrations/0007_alter_erratum_fixed_packages.py +0 -0
  46. {patchman-4.0.1 → patchman-4.0.3}/errata/migrations/__init__.py +0 -0
  47. {patchman-4.0.1 → patchman-4.0.3}/errata/models.py +0 -0
  48. {patchman-4.0.1 → patchman-4.0.3}/errata/serializers.py +0 -0
  49. {patchman-4.0.1 → patchman-4.0.3}/errata/sources/__init__.py +0 -0
  50. {patchman-4.0.1 → patchman-4.0.3}/errata/sources/distros/__init__.py +0 -0
  51. {patchman-4.0.1 → patchman-4.0.3}/errata/sources/distros/alma.py +0 -0
  52. {patchman-4.0.1 → patchman-4.0.3}/errata/sources/distros/arch.py +0 -0
  53. {patchman-4.0.1 → patchman-4.0.3}/errata/sources/distros/centos.py +0 -0
  54. {patchman-4.0.1 → patchman-4.0.3}/errata/sources/distros/debian.py +0 -0
  55. {patchman-4.0.1 → patchman-4.0.3}/errata/sources/distros/rocky.py +0 -0
  56. {patchman-4.0.1 → patchman-4.0.3}/errata/sources/distros/ubuntu.py +0 -0
  57. {patchman-4.0.1 → patchman-4.0.3}/errata/sources/repos/__init__.py +0 -0
  58. {patchman-4.0.1 → patchman-4.0.3}/errata/sources/repos/yum.py +0 -0
  59. {patchman-4.0.1 → patchman-4.0.3}/errata/tables.py +0 -0
  60. {patchman-4.0.1 → patchman-4.0.3}/errata/tasks.py +0 -0
  61. {patchman-4.0.1 → patchman-4.0.3}/errata/templates/errata/erratum_detail.html +0 -0
  62. {patchman-4.0.1 → patchman-4.0.3}/errata/templates/errata/erratum_list.html +0 -0
  63. {patchman-4.0.1 → patchman-4.0.3}/errata/tests/__init__.py +0 -0
  64. {patchman-4.0.1 → patchman-4.0.3}/errata/tests/test_api.py +0 -0
  65. {patchman-4.0.1 → patchman-4.0.3}/errata/tests/test_integration.py +0 -0
  66. {patchman-4.0.1 → patchman-4.0.3}/errata/tests/test_models.py +0 -0
  67. {patchman-4.0.1 → patchman-4.0.3}/errata/urls.py +0 -0
  68. {patchman-4.0.1 → patchman-4.0.3}/errata/utils.py +0 -0
  69. {patchman-4.0.1 → patchman-4.0.3}/errata/views.py +0 -0
  70. {patchman-4.0.1 → patchman-4.0.3}/etc/patchman/apache.conf.example +0 -0
  71. {patchman-4.0.1 → patchman-4.0.3}/etc/patchman/celery.conf +0 -0
  72. {patchman-4.0.1 → patchman-4.0.3}/etc/patchman/local_settings.py +0 -0
  73. {patchman-4.0.1 → patchman-4.0.3}/etc/systemd/system/patchman-celery-beat.service +0 -0
  74. {patchman-4.0.1 → patchman-4.0.3}/etc/systemd/system/patchman-celery-worker.service +0 -0
  75. {patchman-4.0.1 → patchman-4.0.3}/hosts/__init__.py +0 -0
  76. {patchman-4.0.1 → patchman-4.0.3}/hosts/admin.py +0 -0
  77. {patchman-4.0.1 → patchman-4.0.3}/hosts/apps.py +0 -0
  78. {patchman-4.0.1 → patchman-4.0.3}/hosts/forms.py +0 -0
  79. {patchman-4.0.1 → patchman-4.0.3}/hosts/managers.py +0 -0
  80. {patchman-4.0.1 → patchman-4.0.3}/hosts/migrations/0001_initial.py +0 -0
  81. {patchman-4.0.1 → patchman-4.0.3}/hosts/migrations/0002_initial.py +0 -0
  82. {patchman-4.0.1 → patchman-4.0.3}/hosts/migrations/0003_host_modules.py +0 -0
  83. {patchman-4.0.1 → patchman-4.0.3}/hosts/migrations/0004_remove_host_tags_host_tags.py +0 -0
  84. {patchman-4.0.1 → patchman-4.0.3}/hosts/migrations/0005_rename_os_host_osvariant.py +0 -0
  85. {patchman-4.0.1 → patchman-4.0.3}/hosts/migrations/0006_migrate_to_tz_aware.py +0 -0
  86. {patchman-4.0.1 → patchman-4.0.3}/hosts/migrations/0007_alter_host_tags.py +0 -0
  87. {patchman-4.0.1 → patchman-4.0.3}/hosts/migrations/0008_alter_host_options.py +0 -0
  88. {patchman-4.0.1 → patchman-4.0.3}/hosts/migrations/0009_host_errata.py +0 -0
  89. {patchman-4.0.1 → patchman-4.0.3}/hosts/migrations/__init__.py +0 -0
  90. {patchman-4.0.1 → patchman-4.0.3}/hosts/models.py +0 -0
  91. {patchman-4.0.1 → patchman-4.0.3}/hosts/serializers.py +0 -0
  92. {patchman-4.0.1 → patchman-4.0.3}/hosts/tables.py +0 -0
  93. {patchman-4.0.1 → patchman-4.0.3}/hosts/tasks.py +0 -0
  94. {patchman-4.0.1 → patchman-4.0.3}/hosts/templates/hosts/host_delete.html +0 -0
  95. {patchman-4.0.1 → patchman-4.0.3}/hosts/templates/hosts/host_detail.html +0 -0
  96. {patchman-4.0.1 → patchman-4.0.3}/hosts/templates/hosts/host_edit.html +0 -0
  97. {patchman-4.0.1 → patchman-4.0.3}/hosts/templates/hosts/host_list.html +0 -0
  98. {patchman-4.0.1 → patchman-4.0.3}/hosts/templatetags/__init__.py +0 -0
  99. {patchman-4.0.1 → patchman-4.0.3}/hosts/templatetags/report_alert.py +0 -0
  100. {patchman-4.0.1 → patchman-4.0.3}/hosts/tests/__init__.py +0 -0
  101. {patchman-4.0.1 → patchman-4.0.3}/hosts/tests/test_api.py +0 -0
  102. {patchman-4.0.1 → patchman-4.0.3}/hosts/tests/test_find_updates.py +0 -0
  103. {patchman-4.0.1 → patchman-4.0.3}/hosts/tests/test_managers.py +0 -0
  104. {patchman-4.0.1 → patchman-4.0.3}/hosts/tests/test_models.py +0 -0
  105. {patchman-4.0.1 → patchman-4.0.3}/hosts/urls.py +0 -0
  106. {patchman-4.0.1 → patchman-4.0.3}/hosts/utils.py +0 -0
  107. {patchman-4.0.1 → patchman-4.0.3}/modules/__init__.py +0 -0
  108. {patchman-4.0.1 → patchman-4.0.3}/modules/admin.py +0 -0
  109. {patchman-4.0.1 → patchman-4.0.3}/modules/apps.py +0 -0
  110. {patchman-4.0.1 → patchman-4.0.3}/modules/managers.py +0 -0
  111. {patchman-4.0.1 → patchman-4.0.3}/modules/migrations/0001_initial.py +0 -0
  112. {patchman-4.0.1 → patchman-4.0.3}/modules/migrations/0002_auto_20240204_2214.py +0 -0
  113. {patchman-4.0.1 → patchman-4.0.3}/modules/migrations/0003_alter_module_options.py +0 -0
  114. {patchman-4.0.1 → patchman-4.0.3}/modules/migrations/0004_alter_module_options.py +0 -0
  115. {patchman-4.0.1 → patchman-4.0.3}/modules/migrations/0005_alter_module_unique_together.py +0 -0
  116. {patchman-4.0.1 → patchman-4.0.3}/modules/migrations/__init__.py +0 -0
  117. {patchman-4.0.1 → patchman-4.0.3}/modules/models.py +0 -0
  118. {patchman-4.0.1 → patchman-4.0.3}/modules/serializers.py +0 -0
  119. {patchman-4.0.1 → patchman-4.0.3}/modules/tables.py +0 -0
  120. {patchman-4.0.1 → patchman-4.0.3}/modules/templates/modules/module_detail.html +0 -0
  121. {patchman-4.0.1 → patchman-4.0.3}/modules/templates/modules/module_list.html +0 -0
  122. {patchman-4.0.1 → patchman-4.0.3}/modules/urls.py +0 -0
  123. {patchman-4.0.1 → patchman-4.0.3}/modules/utils.py +0 -0
  124. {patchman-4.0.1 → patchman-4.0.3}/modules/views.py +0 -0
  125. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/__init__.py +0 -0
  126. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/admin.py +0 -0
  127. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/apps.py +0 -0
  128. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/fixtures/os.json +0 -0
  129. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/fixtures/osgroup.json +0 -0
  130. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/forms.py +0 -0
  131. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/managers.py +0 -0
  132. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/migrations/0001_initial.py +0 -0
  133. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/migrations/0002_initial.py +0 -0
  134. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/migrations/0003_os_arch.py +0 -0
  135. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/migrations/0003_osgroup_codename.py +0 -0
  136. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/migrations/0004_alter_osgroup_unique_together.py +0 -0
  137. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/migrations/0005_rename_osgroup_osrelease_rename_os_osvariant_and_more.py +0 -0
  138. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/migrations/0006_osrelease_cpe_name_osvariant_codename.py +0 -0
  139. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/migrations/0007_alter_osrelease_unique_together.py +0 -0
  140. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/migrations/0008_alter_osrelease_options_alter_osvariant_options.py +0 -0
  141. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/migrations/__init__.py +0 -0
  142. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/models.py +0 -0
  143. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/serializers.py +0 -0
  144. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/tables.py +0 -0
  145. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/templates/operatingsystems/os_landing.html +0 -0
  146. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/templates/operatingsystems/osrelease_delete.html +0 -0
  147. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/templates/operatingsystems/osrelease_detail.html +0 -0
  148. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/templates/operatingsystems/osrelease_list.html +0 -0
  149. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/templates/operatingsystems/osvariant_delete.html +0 -0
  150. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/templates/operatingsystems/osvariant_delete_multiple.html +0 -0
  151. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/templates/operatingsystems/osvariant_detail.html +0 -0
  152. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/templates/operatingsystems/osvariant_list.html +0 -0
  153. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/tests/__init__.py +0 -0
  154. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/tests/test_api.py +0 -0
  155. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/tests/test_models.py +0 -0
  156. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/urls.py +0 -0
  157. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/utils.py +0 -0
  158. {patchman-4.0.1 → patchman-4.0.3}/operatingsystems/views.py +0 -0
  159. {patchman-4.0.1 → patchman-4.0.3}/packages/__init__.py +0 -0
  160. {patchman-4.0.1 → patchman-4.0.3}/packages/admin.py +0 -0
  161. {patchman-4.0.1 → patchman-4.0.3}/packages/apps.py +0 -0
  162. {patchman-4.0.1 → patchman-4.0.3}/packages/managers.py +0 -0
  163. {patchman-4.0.1 → patchman-4.0.3}/packages/migrations/0001_initial.py +0 -0
  164. {patchman-4.0.1 → patchman-4.0.3}/packages/migrations/0002_auto_20250207_1319.py +0 -0
  165. {patchman-4.0.1 → patchman-4.0.3}/packages/migrations/0002_delete_erratum_delete_erratumreference.py +0 -0
  166. {patchman-4.0.1 → patchman-4.0.3}/packages/migrations/0003_auto_20250207_1746.py +0 -0
  167. {patchman-4.0.1 → patchman-4.0.3}/packages/migrations/0004_alter_package_options_alter_packagecategory_options_and_more.py +0 -0
  168. {patchman-4.0.1 → patchman-4.0.3}/packages/migrations/0005_alter_package_packagetype.py +0 -0
  169. {patchman-4.0.1 → patchman-4.0.3}/packages/migrations/__init__.py +0 -0
  170. {patchman-4.0.1 → patchman-4.0.3}/packages/models.py +0 -0
  171. {patchman-4.0.1 → patchman-4.0.3}/packages/serializers.py +0 -0
  172. {patchman-4.0.1 → patchman-4.0.3}/packages/tables.py +0 -0
  173. {patchman-4.0.1 → patchman-4.0.3}/packages/templates/packages/package_detail.html +0 -0
  174. {patchman-4.0.1 → patchman-4.0.3}/packages/templates/packages/package_list.html +0 -0
  175. {patchman-4.0.1 → patchman-4.0.3}/packages/templates/packages/package_name_detail.html +0 -0
  176. {patchman-4.0.1 → patchman-4.0.3}/packages/templates/packages/package_name_list.html +0 -0
  177. {patchman-4.0.1 → patchman-4.0.3}/packages/tests/__init__.py +0 -0
  178. {patchman-4.0.1 → patchman-4.0.3}/packages/tests/test_api.py +0 -0
  179. {patchman-4.0.1 → patchman-4.0.3}/packages/tests/test_models.py +0 -0
  180. {patchman-4.0.1 → patchman-4.0.3}/packages/tests/test_version_compare.py +0 -0
  181. {patchman-4.0.1 → patchman-4.0.3}/packages/urls.py +0 -0
  182. {patchman-4.0.1 → patchman-4.0.3}/packages/utils.py +0 -0
  183. {patchman-4.0.1 → patchman-4.0.3}/packages/views.py +0 -0
  184. {patchman-4.0.1 → patchman-4.0.3}/patchman/__init__.py +0 -0
  185. {patchman-4.0.1 → patchman-4.0.3}/patchman/celery.py +0 -0
  186. {patchman-4.0.1 → patchman-4.0.3}/patchman/receivers.py +0 -0
  187. {patchman-4.0.1 → patchman-4.0.3}/patchman/settings.py +0 -0
  188. {patchman-4.0.1 → patchman-4.0.3}/patchman/signals.py +0 -0
  189. {patchman-4.0.1 → patchman-4.0.3}/patchman/sqlite3/base.py +0 -0
  190. {patchman-4.0.1 → patchman-4.0.3}/patchman/static/css/base.css +0 -0
  191. {patchman-4.0.1 → patchman-4.0.3}/patchman/static/js/expandable-text.js +0 -0
  192. {patchman-4.0.1 → patchman-4.0.3}/patchman/static/js/sidebar.js +0 -0
  193. {patchman-4.0.1 → patchman-4.0.3}/patchman/urls.py +0 -0
  194. {patchman-4.0.1 → patchman-4.0.3}/patchman/wsgi.py +0 -0
  195. {patchman-4.0.1 → patchman-4.0.3}/patchman.egg-info/SOURCES.txt +0 -0
  196. {patchman-4.0.1 → patchman-4.0.3}/patchman.egg-info/dependency_links.txt +0 -0
  197. {patchman-4.0.1 → patchman-4.0.3}/patchman.egg-info/requires.txt +0 -0
  198. {patchman-4.0.1 → patchman-4.0.3}/patchman.egg-info/top_level.txt +0 -0
  199. {patchman-4.0.1 → patchman-4.0.3}/reports/__init__.py +0 -0
  200. {patchman-4.0.1 → patchman-4.0.3}/reports/admin.py +0 -0
  201. {patchman-4.0.1 → patchman-4.0.3}/reports/apps.py +0 -0
  202. {patchman-4.0.1 → patchman-4.0.3}/reports/migrations/0001_initial.py +0 -0
  203. {patchman-4.0.1 → patchman-4.0.3}/reports/migrations/0002_report_modules.py +0 -0
  204. {patchman-4.0.1 → patchman-4.0.3}/reports/migrations/0003_remove_report_accessed.py +0 -0
  205. {patchman-4.0.1 → patchman-4.0.3}/reports/migrations/0004_migrate_to_tz_aware.py +0 -0
  206. {patchman-4.0.1 → patchman-4.0.3}/reports/migrations/0005_alter_report_options.py +0 -0
  207. {patchman-4.0.1 → patchman-4.0.3}/reports/migrations/__init__.py +0 -0
  208. {patchman-4.0.1 → patchman-4.0.3}/reports/models.py +0 -0
  209. {patchman-4.0.1 → patchman-4.0.3}/reports/serializers.py +0 -0
  210. {patchman-4.0.1 → patchman-4.0.3}/reports/tables.py +0 -0
  211. {patchman-4.0.1 → patchman-4.0.3}/reports/tasks.py +0 -0
  212. {patchman-4.0.1 → patchman-4.0.3}/reports/templates/reports/report.txt +0 -0
  213. {patchman-4.0.1 → patchman-4.0.3}/reports/templates/reports/report_delete.html +0 -0
  214. {patchman-4.0.1 → patchman-4.0.3}/reports/templates/reports/report_detail.html +0 -0
  215. {patchman-4.0.1 → patchman-4.0.3}/reports/templates/reports/report_list.html +0 -0
  216. {patchman-4.0.1 → patchman-4.0.3}/reports/tests/__init__.py +0 -0
  217. {patchman-4.0.1 → patchman-4.0.3}/reports/tests/test_api.py +0 -0
  218. {patchman-4.0.1 → patchman-4.0.3}/reports/tests/test_edge_cases.py +0 -0
  219. {patchman-4.0.1 → patchman-4.0.3}/reports/tests/test_integration.py +0 -0
  220. {patchman-4.0.1 → patchman-4.0.3}/reports/tests/test_models.py +0 -0
  221. {patchman-4.0.1 → patchman-4.0.3}/reports/tests/test_parsing.py +0 -0
  222. {patchman-4.0.1 → patchman-4.0.3}/reports/tests/test_serializers.py +0 -0
  223. {patchman-4.0.1 → patchman-4.0.3}/reports/tests/test_tasks.py +0 -0
  224. {patchman-4.0.1 → patchman-4.0.3}/reports/tests/test_utils.py +0 -0
  225. {patchman-4.0.1 → patchman-4.0.3}/reports/urls.py +0 -0
  226. {patchman-4.0.1 → patchman-4.0.3}/reports/views.py +0 -0
  227. {patchman-4.0.1 → patchman-4.0.3}/repos/__init__.py +0 -0
  228. {patchman-4.0.1 → patchman-4.0.3}/repos/admin.py +0 -0
  229. {patchman-4.0.1 → patchman-4.0.3}/repos/apps.py +0 -0
  230. {patchman-4.0.1 → patchman-4.0.3}/repos/forms.py +0 -0
  231. {patchman-4.0.1 → patchman-4.0.3}/repos/managers.py +0 -0
  232. {patchman-4.0.1 → patchman-4.0.3}/repos/migrations/0001_initial.py +0 -0
  233. {patchman-4.0.1 → patchman-4.0.3}/repos/migrations/0002_alter_repository_repotype.py +0 -0
  234. {patchman-4.0.1 → patchman-4.0.3}/repos/migrations/0003_migrate_to_tz_aware.py +0 -0
  235. {patchman-4.0.1 → patchman-4.0.3}/repos/migrations/0004_rename_file_checksum_mirror_package_checksum.py +0 -0
  236. {patchman-4.0.1 → patchman-4.0.3}/repos/migrations/0005_rename_package_checksum_mirror_packages_checksum.py +0 -0
  237. {patchman-4.0.1 → patchman-4.0.3}/repos/migrations/0006_mirror_errata_checksum_mirror_modules_checksum.py +0 -0
  238. {patchman-4.0.1 → patchman-4.0.3}/repos/migrations/__init__.py +0 -0
  239. {patchman-4.0.1 → patchman-4.0.3}/repos/models.py +0 -0
  240. {patchman-4.0.1 → patchman-4.0.3}/repos/repo_types/__init__.py +0 -0
  241. {patchman-4.0.1 → patchman-4.0.3}/repos/repo_types/arch.py +0 -0
  242. {patchman-4.0.1 → patchman-4.0.3}/repos/repo_types/deb.py +0 -0
  243. {patchman-4.0.1 → patchman-4.0.3}/repos/repo_types/gentoo.py +0 -0
  244. {patchman-4.0.1 → patchman-4.0.3}/repos/repo_types/rpm.py +0 -0
  245. {patchman-4.0.1 → patchman-4.0.3}/repos/repo_types/yast.py +0 -0
  246. {patchman-4.0.1 → patchman-4.0.3}/repos/repo_types/yum.py +0 -0
  247. {patchman-4.0.1 → patchman-4.0.3}/repos/serializers.py +0 -0
  248. {patchman-4.0.1 → patchman-4.0.3}/repos/tables.py +0 -0
  249. {patchman-4.0.1 → patchman-4.0.3}/repos/tasks.py +0 -0
  250. {patchman-4.0.1 → patchman-4.0.3}/repos/templates/repos/mirror_delete.html +0 -0
  251. {patchman-4.0.1 → patchman-4.0.3}/repos/templates/repos/mirror_detail.html +0 -0
  252. {patchman-4.0.1 → patchman-4.0.3}/repos/templates/repos/mirror_edit.html +0 -0
  253. {patchman-4.0.1 → patchman-4.0.3}/repos/templates/repos/mirror_list.html +0 -0
  254. {patchman-4.0.1 → patchman-4.0.3}/repos/templates/repos/mirror_with_repo_list.html +0 -0
  255. {patchman-4.0.1 → patchman-4.0.3}/repos/templates/repos/repo_delete.html +0 -0
  256. {patchman-4.0.1 → patchman-4.0.3}/repos/templates/repos/repo_detail.html +0 -0
  257. {patchman-4.0.1 → patchman-4.0.3}/repos/templates/repos/repo_edit.html +0 -0
  258. {patchman-4.0.1 → patchman-4.0.3}/repos/templates/repos/repo_list.html +0 -0
  259. {patchman-4.0.1 → patchman-4.0.3}/repos/templatetags/__init__.py +0 -0
  260. {patchman-4.0.1 → patchman-4.0.3}/repos/tests/__init__.py +0 -0
  261. {patchman-4.0.1 → patchman-4.0.3}/repos/tests/test_api.py +0 -0
  262. {patchman-4.0.1 → patchman-4.0.3}/repos/tests/test_managers.py +0 -0
  263. {patchman-4.0.1 → patchman-4.0.3}/repos/tests/test_mirror_sync.py +0 -0
  264. {patchman-4.0.1 → patchman-4.0.3}/repos/tests/test_models.py +0 -0
  265. {patchman-4.0.1 → patchman-4.0.3}/repos/urls.py +0 -0
  266. {patchman-4.0.1 → patchman-4.0.3}/repos/utils.py +0 -0
  267. {patchman-4.0.1 → patchman-4.0.3}/repos/views.py +0 -0
  268. {patchman-4.0.1 → patchman-4.0.3}/requirements.txt +0 -0
  269. {patchman-4.0.1 → patchman-4.0.3}/sbin/patchman +0 -0
  270. {patchman-4.0.1 → patchman-4.0.3}/sbin/patchman-manage +0 -0
  271. {patchman-4.0.1 → patchman-4.0.3}/sbin/patchman-set-secret-key +0 -0
  272. {patchman-4.0.1 → patchman-4.0.3}/scripts/clear-django-logs.py +0 -0
  273. {patchman-4.0.1 → patchman-4.0.3}/scripts/create_graph.sh +0 -0
  274. {patchman-4.0.1 → patchman-4.0.3}/scripts/rpm-install.sh +0 -0
  275. {patchman-4.0.1 → patchman-4.0.3}/scripts/rpm-post-install.sh +0 -0
  276. {patchman-4.0.1 → patchman-4.0.3}/security/__init__.py +0 -0
  277. {patchman-4.0.1 → patchman-4.0.3}/security/admin.py +0 -0
  278. {patchman-4.0.1 → patchman-4.0.3}/security/apps.py +0 -0
  279. {patchman-4.0.1 → patchman-4.0.3}/security/managers.py +0 -0
  280. {patchman-4.0.1 → patchman-4.0.3}/security/migrations/0001_initial.py +0 -0
  281. {patchman-4.0.1 → patchman-4.0.3}/security/migrations/0002_alter_cve_options.py +0 -0
  282. {patchman-4.0.1 → patchman-4.0.3}/security/migrations/0003_alter_cve_description_alter_cwe_description.py +0 -0
  283. {patchman-4.0.1 → patchman-4.0.3}/security/migrations/0004_alter_cve_options.py +0 -0
  284. {patchman-4.0.1 → patchman-4.0.3}/security/migrations/0005_reference_cve_references.py +0 -0
  285. {patchman-4.0.1 → patchman-4.0.3}/security/migrations/0006_alter_cve_options_alter_cvss_unique_together.py +0 -0
  286. {patchman-4.0.1 → patchman-4.0.3}/security/migrations/0007_remove_cve_title.py +0 -0
  287. {patchman-4.0.1 → patchman-4.0.3}/security/migrations/__init__.py +0 -0
  288. {patchman-4.0.1 → patchman-4.0.3}/security/models.py +0 -0
  289. {patchman-4.0.1 → patchman-4.0.3}/security/serializers.py +0 -0
  290. {patchman-4.0.1 → patchman-4.0.3}/security/tables.py +0 -0
  291. {patchman-4.0.1 → patchman-4.0.3}/security/tasks.py +0 -0
  292. {patchman-4.0.1 → patchman-4.0.3}/security/templates/security/cve_detail.html +0 -0
  293. {patchman-4.0.1 → patchman-4.0.3}/security/templates/security/cve_list.html +0 -0
  294. {patchman-4.0.1 → patchman-4.0.3}/security/templates/security/cwe_detail.html +0 -0
  295. {patchman-4.0.1 → patchman-4.0.3}/security/templates/security/cwe_list.html +0 -0
  296. {patchman-4.0.1 → patchman-4.0.3}/security/templates/security/reference_list.html +0 -0
  297. {patchman-4.0.1 → patchman-4.0.3}/security/templates/security/security_landing.html +0 -0
  298. {patchman-4.0.1 → patchman-4.0.3}/security/tests/__init__.py +0 -0
  299. {patchman-4.0.1 → patchman-4.0.3}/security/tests/test_api.py +0 -0
  300. {patchman-4.0.1 → patchman-4.0.3}/security/tests/test_models.py +0 -0
  301. {patchman-4.0.1 → patchman-4.0.3}/security/urls.py +0 -0
  302. {patchman-4.0.1 → patchman-4.0.3}/security/utils.py +0 -0
  303. {patchman-4.0.1 → patchman-4.0.3}/security/views.py +0 -0
  304. {patchman-4.0.1 → patchman-4.0.3}/setup.cfg +0 -0
  305. {patchman-4.0.1 → patchman-4.0.3}/setup.py +0 -0
  306. {patchman-4.0.1 → patchman-4.0.3}/util/__init__.py +0 -0
  307. {patchman-4.0.1 → patchman-4.0.3}/util/apps.py +0 -0
  308. {patchman-4.0.1 → patchman-4.0.3}/util/context_processors.py +0 -0
  309. {patchman-4.0.1 → patchman-4.0.3}/util/filterspecs.py +0 -0
  310. {patchman-4.0.1 → patchman-4.0.3}/util/logging.py +0 -0
  311. {patchman-4.0.1 → patchman-4.0.3}/util/management/__init__.py +0 -0
  312. {patchman-4.0.1 → patchman-4.0.3}/util/management/commands/__init__.py +0 -0
  313. {patchman-4.0.1 → patchman-4.0.3}/util/management/commands/create_api_key.py +0 -0
  314. {patchman-4.0.1 → patchman-4.0.3}/util/management/commands/list_api_keys.py +0 -0
  315. {patchman-4.0.1 → patchman-4.0.3}/util/management/commands/revoke_api_key.py +0 -0
  316. {patchman-4.0.1 → patchman-4.0.3}/util/tables.py +0 -0
  317. {patchman-4.0.1 → patchman-4.0.3}/util/tasks.py +0 -0
  318. {patchman-4.0.1 → patchman-4.0.3}/util/templates/404.html +0 -0
  319. {patchman-4.0.1 → patchman-4.0.3}/util/templates/500.html +0 -0
  320. {patchman-4.0.1 → patchman-4.0.3}/util/templates/base.html +0 -0
  321. {patchman-4.0.1 → patchman-4.0.3}/util/templates/bulk_actions.html +0 -0
  322. {patchman-4.0.1 → patchman-4.0.3}/util/templates/dashboard.html +0 -0
  323. {patchman-4.0.1 → patchman-4.0.3}/util/templates/navbar.html +0 -0
  324. {patchman-4.0.1 → patchman-4.0.3}/util/templates/objectlist.html +0 -0
  325. {patchman-4.0.1 → patchman-4.0.3}/util/templates/registration/login.html +0 -0
  326. {patchman-4.0.1 → patchman-4.0.3}/util/templates/searchbar.html +0 -0
  327. {patchman-4.0.1 → patchman-4.0.3}/util/templates/table.html +0 -0
  328. {patchman-4.0.1 → patchman-4.0.3}/util/templatetags/__init__.py +0 -0
  329. {patchman-4.0.1 → patchman-4.0.3}/util/templatetags/common.py +0 -0
  330. {patchman-4.0.1 → patchman-4.0.3}/util/tests/__init__.py +0 -0
  331. {patchman-4.0.1 → patchman-4.0.3}/util/tests/test_commands.py +0 -0
  332. {patchman-4.0.1 → patchman-4.0.3}/util/tests/test_utils.py +0 -0
  333. {patchman-4.0.1 → patchman-4.0.3}/util/urls.py +0 -0
  334. {patchman-4.0.1 → patchman-4.0.3}/util/views.py +0 -0
@@ -34,7 +34,8 @@ patchman-manage createsuperuser
34
34
 
35
35
  ### Rocky 10
36
36
 
37
- Currently broken due to missing upstream packages: https://github.com/furlongm/patchman/issues/669
37
+ Server installation is currently broken due to missing upstream packages: https://github.com/furlongm/patchman/issues/669
38
+ Client installation should work as expected.
38
39
 
39
40
  This also applies to Alma, RHEL, etc.
40
41
 
@@ -50,7 +51,8 @@ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-openbytes
50
51
  EOF
51
52
  dnf -y install epel-release
52
53
  dnf makecache
53
- dnf -y install patchman patchman-client
54
+ dnf -y install patchman-client
55
+ #dnf -y install patchman
54
56
  systemctl restart httpd
55
57
  patchman-manage createsuperuser
56
58
  ```
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: patchman
3
- Version: 4.0.1
3
+ Version: 4.0.3
4
4
  Summary: Django based patch status monitoring tool for linux systems
5
5
  Home-page: http://patchman.openbytes.ie/
6
6
  Author: Marcus Furlong
@@ -0,0 +1 @@
1
+ 4.0.3
@@ -20,6 +20,7 @@ from django.contrib.auth.decorators import login_required
20
20
  from django.db.models import Count, Q
21
21
  from django.shortcuts import get_object_or_404, redirect, render
22
22
  from django.urls import reverse
23
+ from django_filters import rest_framework as filters
23
24
  from django_tables2 import RequestConfig
24
25
  from rest_framework import viewsets
25
26
  from taggit.models import Tag
@@ -279,13 +280,26 @@ def host_bulk_action(request):
279
280
  return redirect('hosts:host_list')
280
281
 
281
282
 
283
+ class HostFilter(filters.FilterSet):
284
+ package_id = filters.NumberFilter(field_name='packages', lookup_expr='exact')
285
+ package_name = filters.CharFilter(field_name='packages__name__name', lookup_expr='exact')
286
+ package_version = filters.CharFilter(field_name='packages__version', lookup_expr='exact')
287
+ package_release = filters.CharFilter(field_name='packages__release', lookup_expr='exact')
288
+ package_epoch = filters.CharFilter(field_name='packages__epoch', lookup_expr='exact')
289
+ package_arch = filters.CharFilter(field_name='packages__arch__name', lookup_expr='exact')
290
+
291
+ class Meta:
292
+ model = Host
293
+ fields = ['hostname']
294
+
295
+
282
296
  class HostViewSet(viewsets.ModelViewSet):
283
297
  """
284
298
  API endpoint that allows hosts to be viewed or edited.
285
299
  """
286
300
  queryset = Host.objects.all()
287
301
  serializer_class = HostSerializer
288
- filterset_fields = ['hostname']
302
+ filterset_class = HostFilter
289
303
 
290
304
 
291
305
  class HostRepoViewSet(viewsets.ModelViewSet):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: patchman
3
- Version: 4.0.1
3
+ Version: 4.0.3
4
4
  Summary: Django based patch status monitoring tool for linux systems
5
5
  Home-page: http://patchman.openbytes.ie/
6
6
  Author: Marcus Furlong
@@ -153,7 +153,7 @@ def parse_updates(updates_string, security):
153
153
  specifying whether it is a security update or not
154
154
  """
155
155
  updates = {}
156
- ulist = updates_string.lower().split()
156
+ ulist = updates_string..split()
157
157
  while ulist:
158
158
  name = f'{ulist[0]} {ulist[1]} {ulist[2]}\n'
159
159
  del ulist[:3]
@@ -1 +0,0 @@
1
- 4.0.1
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes