#37 %pyproject_save_files [WIP]
Closed 4 years ago by churchyard. Opened 4 years ago by pkopkan.
https://github.com/PatrikKopkan/pyproject-rpm-macros/ files-section-macro  into  master

change macro to use new path
Patrik Kopkan • 4 years ago  
use json for tests
Patrik Kopkan • 4 years ago  
rename files
Patrik Kopkan • 4 years ago  
address review
Patrik Kopkan • 4 years ago  
commit suggestion
Patrik Kopkan • 4 years ago  
get rid off last regexes
Patrik Kopkan • 4 years ago  
simplify ldap spec
Patrik Kopkan • 4 years ago  
simplify isort spec
Patrik Kopkan • 4 years ago  
comment test for now
Patrik Kopkan • 4 years ago  
get rid off breakpoints
Patrik Kopkan • 4 years ago  
fixup
Patrik Kopkan • 4 years ago  
package is every directory in sitelib or sitearch
Patrik Kopkan • 4 years ago  
address more issues from review
Patrik Kopkan • 4 years ago  
Merge branch 'files-section-macro' into moje-nepovedene-pr
Patrik Kopkan • 4 years ago  
unfinished commit
Patrik Kopkan • 4 years ago  
add another reason why having python-ldap in test suite
Patrik Kopkan • 4 years ago  
make spectool work again
Patrik Kopkan • 4 years ago  
add not generated build dep
Patrik Kopkan • 4 years ago  
make test work again
Patrik Kopkan • 4 years ago  
fixup! address review:
Patrik Kopkan • 4 years ago  
address review:
Patrik Kopkan • 4 years ago  
address review:
Patrik Kopkan • 4 years ago  
adress review:
Patrik Kopkan • 4 years ago  
adress review:
Patrik Kopkan • 4 years ago  
adress review:
Patrik Kopkan • 4 years ago  
adresing review:
Patrik Kopkan • 4 years ago  
adressing review:
Patrik Kopkan • 4 years ago  
fix specfiles
Patrik Kopkan • 4 years ago  
delete missing test's entry in tests.yml
Patrik Kopkan • 4 years ago  
bump specfile
Patrik Kopkan • 4 years ago  
test right specfile
Patrik Kopkan • 4 years ago  
escape macro in comment
Patrik Kopkan • 4 years ago  
fix failing build
Patrik Kopkan • 4 years ago  
bump specfile
Patrik Kopkan • 4 years ago  
add %pyproject_save_files macro
Patrik Kopkan • 4 years ago  
stash
Patrik Kopkan • 4 years ago  
utilize more pathlib and add type anotation
Patrik Kopkan • 4 years ago  
use Purelib
Patrik Kopkan • 4 years ago  
reimplement adding pycached files
Patrik Kopkan • 4 years ago  
classify_paths_output.py
file removed
-724
@@ -1,724 +0,0 @@

- PARAMETRIZED_EXPECTED_OUTPUT = {

-     "requests": {'executables': {'files': []},

-                  'metadata': {'dirs': ['/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/'],

-                                 'docs': [],

-                                 'files': sorted(['/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/LICENSE',

-                                                  '/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/top_level.txt',

-                                                  '/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/METADATA',

-                                                  '/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/INSTALLER',

-                                                  '/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/RECORD',

-                                                  '/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/WHEEL']),

-                                 'licenses': []},

-                  'modules': {'requests': [{

-                      'type': "package",

-                      'files': ['/usr/lib/python3.7/site-packages/requests/']}]},

- 

-                  'other': {"files": []}},

- 

-     "kerberos": {'executables': {'files': []},

-                  'metadata': {'dirs': ['/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/'],

-                                 'docs': [],

-                                 'files': sorted([

-                                     '/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/top_level.txt',

-                                     '/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/METADATA',

-                                     '/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/INSTALLER',

-                                     '/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/RECORD',

-                                     '/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/WHEEL']),

-                                 'licenses': []},

-                  'modules': {"kerberos": [{"type": "extension",

-                                           "files": [

-                                               '/usr/lib64/python3.7/site-packages/kerberos.cpython-37m-x86_64-linux-gnu.so']

-                                           }]},

-                  'other': {"files": []}},

- 

-     "tldr": {'executables': {'files': sorted(['/usr/bin/tldr.py',

-                                               '/usr/bin/tldr'])},

-              'metadata': {'dirs': ['/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/'],

-                             'docs': [],

-                             'files': sorted(['/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/LICENSE',

-                                              '/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/top_level.txt',

-                                              '/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/METADATA',

-                                              '/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/INSTALLER',

-                                              '/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/RECORD',

-                                              '/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/WHEEL']),

-                             'licenses': []},

-              'modules': {'tldr': [{'type': 'script',

-                                   "pycache": ['/usr/lib/python3.7/site-packages/tldr.py']

-                                   }]},

-              'other': {'files': []}},

-     "tensorflow": {

-         'metadata': {'dirs': ['/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/'],

-                        'docs': [],

-                        'files': sorted(['/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/top_level.txt',

-                                         '/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/METADATA',

-                                         '/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/INSTALLER',

-                                         '/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/RECORD',

-                                         '/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/entry_points.txt',

-                                         '/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/WHEEL']),

-                        'licenses': []},

-         'modules': {"tensorflow": [{"type": "package",

-                                    'files': ['/usr/lib64/python3.7/site-packages/tensorflow/']}],

-                     "tensorflow_core": [{"type": "package",

-                                         "files": [

-                                             "/usr/lib64/python3.7/site-packages/tensorflow_core/",

-                                         ]}]},

-         'executables': {'files': sorted(['/usr/bin/saved_model_cli',

-                                   '/usr/bin/toco',

-                                   '/usr/bin/estimator_ckpt_converter',

-                                   '/usr/bin/toco_from_protos',

-                                   '/usr/bin/tflite_convert',

-                                   '/usr/bin/tf_upgrade_v2',

-                                   '/usr/bin/tensorboard'])},

-         'other': {

-             'files': sorted([

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/allocator_retry.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/base_collective_executor.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/bfc_allocator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/buf_rendezvous.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/build_graph_options.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/collective_executor_mgr.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/collective_param_resolver_local.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/collective_rma_local.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/collective_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/colocation_graph.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/constant_folding.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/copy_tensor.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/costmodel_manager.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/debugger_state_interface.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/device.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/device_factory.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/device_mgr.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/device_resolver_local.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/device_set.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/dma_helper.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/eval_const_tensor.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/executor.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/executor_factory.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/function.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/gpu/gpu_event_mgr.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/gpu/gpu_id.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/gpu/gpu_id_manager.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/gpu/gpu_init.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/graph_execution_state.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/graph_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/graph_runner.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/hierarchical_tree_broadcaster.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/input_colocation_exemption_registry.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/inspecting_placer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/isolate_placer_inspection_required_ops_pass.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/local_device.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/lower_case_op.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/lower_function_call_op.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/lower_functional_ops.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/lower_if_op.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/lower_while_op.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/memory_types.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/metrics.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/mkl_cpu_allocator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/optimization_registry.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/partitioning_utils.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/pending_counts.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/placer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/placer_inspection_required_ops_utils.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/pool_allocator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/process_function_library_runtime.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/process_state.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/process_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/profile_handler.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/renamed_device.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/rendezvous_mgr.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/rendezvous_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/ring_alg.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/ring_gatherer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/ring_reducer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/scoped_allocator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/scoped_allocator_mgr.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/session_factory.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/shape_refiner.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/shared_counter.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/single_threaded_cpu_device.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/stats_publisher_interface.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/step_stats_collector.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/threadpool_device.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/example/example.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/example/example_parser_configuration.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/example/feature.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/example/feature_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/allocation_description.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/allocator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/allocator_registry.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/api_def.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/attr_value.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/attr_value_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/bfloat16.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/bounds_check.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/cancellation.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/collective.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/common_shape_fns.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/control_flow.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/cost_graph.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/dataset.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/dataset_stateful_op_whitelist.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/device_attributes.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/device_base.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/function.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/function.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/function_handle_cache.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/graph.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/graph_def_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/graph_to_functiondef.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/graph_transfer_info.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/kernel_def.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/kernel_def_builder.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/kernel_def_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/log_memory.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/log_memory.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/logging.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/lookup_interface.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/memory_types.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/model.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/node_def.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/node_def_builder.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/node_def_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/numeric_op.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/numeric_types.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/op.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/op_def.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/op_def_builder.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/op_def_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/op_segment.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/ops_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/partial_tensor_shape.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/queue_interface.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/reader_base.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/reader_base.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/reader_interface.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/reader_op_kernel.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/register_types.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/register_types_traits.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/remote_fused_graph_execute_info.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/rendezvous.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/resource_handle.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/resource_handle.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/resource_mgr.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/resource_op_kernel.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/resource_var.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/run_handler.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/run_handler_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/selective_registration.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/session_state.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/shape_inference.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/shared_ptr_variant.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/stats_aggregator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/step_stats.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/summary.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/tensor.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/tensor.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/tensor_description.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/tensor_reference.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/tensor_shape.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/tensor_shape.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/tensor_slice.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/tensor_slice.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/tensor_types.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/tensor_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/thread_factory.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/tracking_allocator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/type_index.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/type_traits.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/typed_allocator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/types.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/types.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/unique_tensor_references.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/variable.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/variant.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/variant_encode_decode.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/variant_op_registry.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/variant_tensor_data.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/versions.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/versions.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/algorithm.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/collective_order.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/colors.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/control_flow.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/costmodel.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/default_device.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/edgeset.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/gradients.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/graph.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/graph_constructor.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/graph_def_builder.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/graph_def_builder_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/graph_partition.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/mkl_layout_pass.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/mkl_tfconversion_pass.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/node_builder.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/optimizer_cse.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/quantize_training.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/subgraph.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/tensor_id.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/testlib.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/types.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/validate.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/graph/while_context.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/clusters/cluster.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/clusters/utils.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/clusters/virtual_cluster.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/costs/analytical_cost_estimator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/costs/cost_estimator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/costs/graph_memory.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/costs/graph_properties.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/costs/op_context.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/costs/op_level_cost_estimator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/costs/op_performance_data.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/costs/utils.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/costs/virtual_placer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/costs/virtual_scheduler.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/devices.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/graph_topology_view.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/graph_view.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/grappler_item.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/mutable_graph_view.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/op_types.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/arithmetic_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/auto_mixed_precision.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/auto_mixed_precision_lists.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/auto_parallel.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/constant_folding.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/custom_graph_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/debug_stripper.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/dependency_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/evaluation_utils.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/function_api_info.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/function_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/generic_layout_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/generic_layout_optimizer_transposer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/generic_layout_optimizer_transposer_factory.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/graph_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/graph_optimizer_stage.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/implementation_selector.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/loop_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/memory_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/meta_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/model_pruner.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/pin_to_host_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/remapper.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/scoped_allocator_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/shape_optimizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/optimizers/static_schedule.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/utils.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/utils/canonicalizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/utils/colocation.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/utils/frame.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/utils/functions.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/utils/graph_view.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/utils/graph_view_internal.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/utils/symbolic_shapes.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/utils/topological_sort.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/utils/tpu.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/utils/transitive_fanin.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/utils/traversal.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/verifiers/graph_verifier.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/grappler/verifiers/structure_verifier.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/arena.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/bitmap.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/bits.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/blocking_counter.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/coding.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/error_codes.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/errors.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/notification.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/raw_coding.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/refcount.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/status.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/status_test_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/stringpiece.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/threadpool.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/threadpool_interface.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/core/threadpool_options.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/array_slice.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/cleanup.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/compactptrset.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/edit_distance.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/flatmap.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/flatrep.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/flatset.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/inlined_vector.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/int_type.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/iterator_range.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/manual_constructor.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/map_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/optional.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/priority_queue_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/subtle/map_traits.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/gtl/top_n.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/hash/crc32c.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/hash/hash.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/histogram/histogram.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/block.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/block_builder.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/buffered_inputstream.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/compression.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/format.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/inputbuffer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/inputstream_interface.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/iterator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/path.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/proto_encode_helper.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/random_inputstream.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/record_reader.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/record_writer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/snappy/snappy_inputbuffer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/snappy/snappy_outputbuffer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/table.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/table_builder.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/table_options.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/two_level_iterator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/zlib_compression_options.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/zlib_inputstream.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/io/zlib_outputbuffer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/math/math_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/monitoring/collected_metrics.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/monitoring/collection_registry.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/monitoring/counter.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/monitoring/gauge.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/monitoring/metric_def.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/monitoring/mobile_counter.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/monitoring/mobile_gauge.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/monitoring/mobile_sampler.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/monitoring/sampler.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/random/distribution_sampler.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/random/exact_uniform_int.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/random/philox_random.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/random/philox_random_test_utils.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/random/random.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/random/random_distributions.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/random/simple_philox.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/random/weighted_picker.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/strings/base64.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/strings/numbers.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/strings/ordered_code.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/strings/proto_serialization.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/strings/proto_text_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/strings/scanner.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/strings/str_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/strings/strcat.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/strings/stringprintf.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/lib/wav/wav_io.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/abi.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/annotation.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/byte_order.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/auth_provider.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/compute_engine_metadata_client.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/compute_engine_zone_provider.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/curl_http_request.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/expiring_lru_cache.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/file_block_cache.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/gcs_dns_cache.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/gcs_file_system.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/gcs_throttle.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/google_auth_provider.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/http_request.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/oauth_client.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/ram_file_block_cache.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/retrying_file_system.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/retrying_utils.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/time_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cloud/zone_provider.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/context.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cord.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cpu_feature_guard.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cpu_info.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cuda.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/cuda_libdevice_path.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/context.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/cord.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/dynamic_annotations.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/integral_types.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/logging.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/mutex.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/mutex_data.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/notification.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/posix_file_system.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/stacktrace.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/strong_hash.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/subprocess.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/tracing_impl.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/default/unbounded_work_queue.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/demangle.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/denormal.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/dynamic_annotations.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/env.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/env_time.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/error.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/file_statistics.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/file_system.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/file_system_helper.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/fingerprint.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/grpc_services.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/hadoop/hadoop_file_system.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/host_info.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/human_readable_json.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/init_main.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/load_library.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/logger.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/logging.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/macros.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/mem.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/monitoring.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/mutex.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/net.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/notification.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/null_file_system.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/numa.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/numbers.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/platform.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/platform_strings.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/platform_strings_computed.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/prefetch.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/profile_utils/android_armv7a_cpu_utils_helper.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/profile_utils/clock_cycle_profiler.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/profile_utils/cpu_utils.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/profile_utils/i_cpu_utils_helper.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/protobuf.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/protobuf_compiler.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/protobuf_internal.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/regexp.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/rocm.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/rocm_rocdl_path.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/s3/aws_crypto.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/s3/aws_logging.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/s3/s3_file_system.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/scanner.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/setround.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/snappy.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/stacktrace.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/stacktrace_handler.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/str_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/strcat.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/stream_executor.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/stream_executor_no_cuda.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/stringpiece.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/stringprintf.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/strong_hash.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/subprocess.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/tensor_coding.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/test.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/test_benchmark.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/thread_annotations.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/threadpool.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/threadpool_interface.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/threadpool_options.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/tracing.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/tstring.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/types.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/platform/unbounded_work_queue.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/bfc_memory_map.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/cluster.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/config.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/control_flow.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/data/experimental/snapshot.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/debug.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/debug_event.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/device_properties.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/error_codes.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/graph_debug_info.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/meta_graph.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/named_tensor.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/queue_runner.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/remote_tensor_handle.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/rewriter_config.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/saved_model.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/saved_object_graph.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/saver.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/struct.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/tensor_bundle.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/tensorflow_server.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/trace_events.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/trackable_object_graph.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/transport_options.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/protobuf/verifier_config.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/public/session.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/public/session_options.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/public/version.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/activation_mode.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/batch_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/bcast.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/command_line_flags.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/debug_events_writer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/device_name_utils.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/dump_graph.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/einsum_op_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/env_var.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/equal_graph_def.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/event.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/events_writer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/example_proto_fast_parsing.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/example_proto_helper.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/exec_on_stall.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/gpu_cuda_alias.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/gpu_device_functions.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/gpu_kernel_helper.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/gpu_launch_config.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/guarded_philox_random.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/matmul_autotune.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/matmul_bcast.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/memmapped_file_system.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/memmapped_file_system.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/memmapped_file_system_writer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/mirror_pad_mode.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/mkl_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/overflow.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/padding.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/permutation_input_iterator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/permutation_output_iterator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/port.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/presized_cuckoo_map.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/ptr_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/reffed_status_callback.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/saved_tensor_slice.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/saved_tensor_slice_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/sparse/dim_comparator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/sparse/group_iterator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/sparse/sparse_tensor.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/stat_summarizer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/stat_summarizer_options.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/stats_calculator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/stream_executor_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/strided_slice_op.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/tensor_format.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/tensor_ops_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/tensor_slice_reader.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/tensor_slice_reader_cache.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/tensor_slice_set.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/tensor_slice_util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/tensor_slice_writer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/test_log.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/transform_output_iterator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/use_cudnn.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/util.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/work_sharder.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/util/xla_config_registry.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/include/external/eigen_archive/COPYING.MPL2',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/allocator_stats.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/blas.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/cuda/cuda_activation.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/cuda/cuda_diagnostics.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/cuda/cuda_driver.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/cuda/cuda_platform_id.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/device_description.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/device_memory.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/device_memory_allocator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/device_options.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/dnn.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/dnn.pb.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/event.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/executor_cache.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/fft.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/gpu/gpu_activation.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/gpu/gpu_diagnostics.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/gpu/gpu_driver.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/gpu/gpu_types.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/gpu_launch_dim.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/host/host_platform_id.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/host_or_device_scalar.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/kernel.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/kernel_cache_config.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/kernel_spec.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/launch_dim.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/array_slice.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/demangle.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/env.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/error.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/human_readable.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/initialize.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/mathutil.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/numbers.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/path.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/process_state.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/stacktrace.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/static_threadlocal.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/status.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/status_macros.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/statusor.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/statusor_internals.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/thread_options.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/lib/threadpool.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/module_spec.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/multi_platform_manager.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/platform.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/platform/default/dso_loader.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/platform/default/initialize.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/platform/dso_loader.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/platform/initialize.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/platform/logging.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/platform/platform.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/platform/port.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/platform/thread_annotations.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/plugin.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/plugin_registry.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/rng.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/rocm/rocm_platform_id.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/scratch_allocator.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/shared_memory_config.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/stream.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/stream_executor.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/stream_executor_internal.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/stream_executor_pimpl.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/temporary_device_memory.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/temporary_memory_manager.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/timer.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/stream_executor/trace_listener.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/Eigen/Cholesky',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/Eigen/Core',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/Eigen/Eigenvalues',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/Eigen/LU',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/Eigen/OrderingMethods',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/Eigen/QR',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/Eigen/SVD',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/Eigen/SparseCholesky',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/Eigen/SparseCore',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/LICENSE',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/CXX11/Tensor',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/CXX11/ThreadPool',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/FixedPointTypes.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/MatMatProduct.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/MatMatProductAVX2.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/MatMatProductNEON.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/MatVecProduct.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX2.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/TypeCastingAVX2.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/TypeCastingAVX512.h',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/MatrixFunctions',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/third_party/eigen3/unsupported/Eigen/SpecialFunctions', ])

-         }},

- 

-     "mistune": {'executables': {'files': []},

-                      'metadata': {'dirs': ['/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/'],

-                                     'docs': [],

-                                     'files': sorted(['/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/LICENSE',

-                                                      '/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/top_level.txt',

-                                                      '/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/METADATA',

-                                                      '/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/INSTALLER',

-                                                      '/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/RECORD',

-                                                      '/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/WHEEL']),

-                                     'licenses': []},

-                      'modules': {

-                         'mistune': [

-                             {

-                              'type': 'script',

-                              'pycache': ['/usr/lib64/python3.7/site-packages/mistune.py']

-                             },

-                             {

-                             'type': 'extension',

-                             'files': ['/usr/lib64/python3.7/site-packages/mistune.cpython-38-x86_64-linux-gnu.so']

-                             }

-                         ]

-                      },

-                         'other': {"files": []}},

- }

generate_file_section.py
file removed
-290
@@ -1,290 +0,0 @@

- import argparse

- import csv

- import fnmatch

- import os

- import re

- from pathlib import Path

- from pprint import pformat

- from warnings import warn

- 

- 

- def delete_commonpath(longer_path, prefix):

-     """return string with deleted common path."""

- 

-     common_path = os.path.commonpath((longer_path, prefix)).split('/')

-     return '/'.join(longer_path.split('/')[len(common_path):])

- 

- 

- def locate_record(root, python3_sitelib, python3_sitearch):

-     """return path to record stripped of root path."""

- 

-     record_path = list((Path(root) / Path(python3_sitelib[1:])).glob('*.dist-info/RECORD'))

-     record_path.extend(list((Path(root) / Path(python3_sitearch[1:])).glob('*.dist-info/RECORD')))

- 

-     if len(record_path) == 0:

-         raise FileNotFoundError("Did not find RECORD file")

-     if len(record_path) > 1:

-         raise FileExistsError("Multiple *.dist-info directories")

- 

-     record_path = str(record_path[0])

-     return "/" + delete_commonpath(record_path, root)

- 

- 

- def read_record(root, record_path):

-     """return parsed list [[[path], [hash], [size]], ...]"""

- 

-     with open(f"{root}/{record_path}", newline='') as f:

-         content = csv.reader(f, delimiter=',', quotechar='"', lineterminator=os.linesep)

-         return list(content)

- 

- 

- def parse_record(record_path, record_content):

-     """return list of paths stripped of root

- 

-     params:

-     record_path: path to record file stripped of root

-     record_content: list of files relative to directory where dist-info directory is

- 

-     Example:

-         parse_record("/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/RECORD", ["requests", ...])

-             -> ["/usr/lib/python3.7/site-packages/requests", ...]

-     """

- 

-     record_path = "/".join(record_path.split('/')[:-2])

-     files = [os.path.normpath(os.path.join(record_path, row[0])) for row in record_content]

-     return files

- 

- 

- def pattern_filter(pattern, parsed_record_content):

-     """filter list by given pattern."""

- 

-     matched = []

-     comp = re.compile(pattern)

-     for path in parsed_record_content:

-         if comp.search(path):

-             matched.append(path)

-     return matched

- 

- 

- def find_metadata(parsed_record_content, python3_sitedir, record_path):

-     """go through parsed RECORD content, returns tuple:

-     (path to directory containing metadata, [paths to all metadata files])."""

- 

-     dist_info = re.search(f"{re.escape(python3_sitedir)}/[^/]*", record_path)[0] + "/"

- 

-     return dist_info, [*pattern_filter(f"{re.escape(dist_info)}.*", parsed_record_content)]

- 

- 

- def find_extension(python3_sitedir, parsed_record_content):

-     """list paths to extensions"""

- 

-     return pattern_filter(f"{re.escape(python3_sitedir)}/[^/]*\\.so$", parsed_record_content)

- 

- 

- def find_script(python3_sitedir, parsed_record_content):

-     """list paths to scripts"""

- 

-     scripts = pattern_filter(f"{re.escape(python3_sitedir)}/[^/]*\\.py$", parsed_record_content)

-     pycache = []

-     for script in scripts:

-         filename = delete_commonpath(script, python3_sitedir)[:-(len('.py'))]  # without suffix

-         pycache.extend(pattern_filter(f"{re.escape(python3_sitedir)}/__pycache__/{filename}.*\\.pyc", parsed_record_content))

- 

-     return scripts, pycache

- 

- 

- def find_package(python3_sitelib, python3_sitearch, parsed_record_content):

-     """return tuple([package dirs], [all package files])"""

- 

-     packages = set()

-     for sitedir in (python3_sitelib, python3_sitearch):

-         python_files = pattern_filter(f"{re.escape(sitedir)}/.*/.*\\.py$", parsed_record_content)

-         sitedir = Path(sitedir)

-         for file in python_files:

-             file = Path(file)

-             if os.path.commonpath((sitedir, file)) == str(sitedir):

-                 py_package = file.parts[:len(sitedir.parts) + 1]

-                 py_package = "/".join(py_package) + "/"  # //usr/lib...

-                 packages.add(py_package[1:])  # getting rid of unwanted /

- 

-     files = []

-     for package in packages:

-         files += pattern_filter(f"{re.escape(package)}.*", parsed_record_content)

- 

-     return packages, files

- 

- 

- def find_executable(bindir, parsed_record_content):

-     """return all files in bindir"""

- 

-     executables = []

-     bindir_content = pattern_filter(f"{re.escape(bindir)}.*", parsed_record_content)

-     for file in bindir_content:

-         # do not list .pyc files, because pyproject-rpm-macro deletes them in bindir

-         if not file.endswith(".pyc"):

-             executables.append(file)

-     return executables, bindir_content

- 

- 

- def get_modules(packages, extension_files, scripts):

-     """helper function"""

- 

-     modules = {}

- 

-     for package in packages:

-         key = Path(package).parts[-1]

-         if key not in modules:

-             modules[key] = []

-         modules[key].append({

-             "type": "package",

-             "files": [package],

-         })

-     for script in scripts:

-         key = Path(script)

-         key = key.stem

-         if key not in modules:

-             modules[key] = []

- 

-         modules[key].append({

-             "type": "script",

-             "pycache": [script],

-         })

- 

-     for extension in extension_files:

-         key = Path(extension).stem

-         key = Path(key).stem  # extensions have two suffixes

-         if key not in modules:

-             modules[key] = []

-         modules[key].append({

-             "type": "extension",

-             "files": [extension]

-         })

- 

-     return modules

- 

- 

- def classify_paths(record_path, parsed_record_content, python3_sitelib, python3_sitearch, bindir):

-     """return dict with logical representation of files"""

- 

-     if os.path.commonpath((python3_sitelib, record_path)) == python3_sitelib:

-         python3_sitedir = python3_sitelib

-     elif os.path.commonpath((python3_sitearch, record_path)) == python3_sitearch:

-         python3_sitedir = python3_sitearch

-     else:

-         assert False, f"""python3_sitelib: {python3_sitelib} or python3_sitearch: {python3_sitearch} does not

-         contain RECORD file: {record_path}"""

- 

-     packages, package_files = find_package(python3_sitelib, python3_sitearch, parsed_record_content)

-     for file in package_files:

-         parsed_record_content.remove(file)

-     metadata_dir, metadata_files = find_metadata(parsed_record_content, python3_sitedir, record_path)

-     for file in metadata_files:

-         parsed_record_content.remove(file)

-     extension_files = find_extension(python3_sitedir, parsed_record_content)

-     for file in extension_files:

-         parsed_record_content.remove(file)

-     scripts, pycached = find_script(python3_sitedir, parsed_record_content)

-     for file in scripts + pycached:

-         parsed_record_content.remove(file)

-     executables, bindir_content = find_executable(bindir, parsed_record_content)

-     for file in bindir_content:

-         parsed_record_content.remove(file)

- 

-     modules = get_modules(packages, extension_files, scripts)

- 

-     parsed_record_content = sorted(parsed_record_content)

-     if parsed_record_content:

-         warn(f"Uncathegorized files: \n{pformat(parsed_record_content)}")

- 

-     paths = {

-             "metadata": {

-                 "files": metadata_files,   # ends in slash = directory & contents

-                 "dirs": [metadata_dir],

-                 "docs": [],  # now always missing

-                 "licenses": [],  # now always missing

-             },

-             "modules": modules,

-             "executables": {

-                 "files": executables

-             },

-             "other": {

-                 "files": parsed_record_content

-             }

-         }

- 

-     return paths

- 

- 

- def generate_file_list(paths_dict, modules_glob, include_executables=False):

-     """generated list of files to be added to specfile %file"""

-     paths = set(paths_dict["executables"]["files"]) if include_executables else set()

-     modules = paths_dict["modules"]

-     for glob in modules_glob:

-         for names in modules:

-             if fnmatch.fnmatch(re.escape(names), glob):

-                 for module in modules[names]:

-                     if module["type"] == "script":

-                         script_and_pycache = []

-                         for file in module["pycache"]:

-                             # %pycached macro logic

-                             script_and_pycache.append(file)

-                             pyminor = re.search(r"/python3.(\d+)/", file)[1] if re.search(r"/python3.(\d+)/", file) else "*"

-                             dirname = re.match("(.*/)", file)[0]

-                             modulename = re.match(".*/([^/]+).py", file)[1]

-                             script_and_pycache.append(dirname + "__pycache__/" + modulename + ".cpython-3" + pyminor + "{,.opt-?}.pyc")

-                         paths.update(set(script_and_pycache))

-                     else:

-                         paths.update(set((module["files"])))

- 

-     paths.update(set(paths_dict['metadata']['files']))

- 

-     return sorted(paths)

- 

- 

- def pyproject_save_files_parse(module_globs: list):

-     """parse input from %pyproject_save_files macro"""

-     include_bindir = False

- 

-     if "+bindir" in module_globs:

-         include_bindir = True

-         module_globs.remove("+bindir")

- 

-     return [module_globs, include_bindir]

- 

- 

- def pyproject_save_files(root, python3_sitelib, python3_sitearch, bindir, args):

-     """return list of files for specfile

- 

-     args: arguments from %{pyproject_save_files} macro

-     """

-     record_path = locate_record(root, python3_sitelib, python3_sitearch)

-     parsed_record = parse_record(record_path, (read_record(root, record_path)))

- 

-     paths_dict = classify_paths(record_path, parsed_record, python3_sitelib, python3_sitearch, bindir)

- 

-     files = generate_file_list(paths_dict, *pyproject_save_files_parse(args))

- 

-     return files

- 

- 

- parser = argparse.ArgumentParser()

- parser.add_argument("path_to_save", help="Path to save list of paths for file secton")

- parser.add_argument('buildroot')

- parser.add_argument('python3_sitelib')

- parser.add_argument('python3_sitearch')

- parser.add_argument('bindir')

- parser.add_argument("globs_to_save", nargs="+")

- 

- 

- def main(cli_args):

-     args = cli_args.__dict__

-     path_to_save = args.pop("path_to_save")

-     file_section = pyproject_save_files(*args.values())

- 

-     with open(path_to_save, "w") as file:

-         file.writelines([path + "\n" for path in file_section])

- 

- 

- if __name__ == '__main__':

-     cli_args = parser.parse_args()

-     main(cli_args)

macros.pyproject
file modified
+1 -1
@@ -45,5 +45,5 @@

  }

  

  %pyproject_save_files() %{expand:\\\

- %{__python3} %{_rpmconfigdir}/redhat/generate_file_section.py %{pyproject_files} %{buildroot} %{python3_sitelib} %{python3_sitearch} %{_bindir} %{*}

+ %{__python3} %{_rpmconfigdir}/redhat/pyproject_save_files.py %{pyproject_files} %{buildroot} %{python3_sitelib} %{python3_sitearch} %{_bindir} %{*}

  } 

\ No newline at end of file

pyproject-rpm-macros.spec
file modified
+9 -9
@@ -6,19 +6,19 @@

  

  # Keep the version at zero and increment only release

  Version:        0

- Release:        13%{?dist}

+ Release:        14%{?dist}

  Source0:        macros.pyproject

  Source1:        pyproject_buildrequires.py

- Source2:        generate_file_section.py

- Source3:        test_generate_file_section.py

- Source4:        classify_paths_output.py

+ Source2:        pyproject_save_files.py

+ Source3:        test_pyproject_save_files.py

+ Source4:        pyproject_save_files_test_data.json

  

  

  Source8:        README.md

  Source9:        LICENSE

  

  Source10:       test_pyproject_buildrequires.py

- Source11:       testcases.yaml

+ Source11:       pyproject_buildrequires_testcases.yaml

  

  Source12:       test_RECORD_kerberos

  Source13:       test_RECORD_requests
@@ -82,7 +82,7 @@

  mkdir -p %{buildroot}%{_rpmconfigdir}/redhat

  install -m 644 macros.pyproject %{buildroot}%{_rpmmacrodir}/

  install -m 644 pyproject_buildrequires.py %{buildroot}%{_rpmconfigdir}/redhat/

- install -m 644 generate_file_section.py  %{buildroot}%{_rpmconfigdir}/redhat/

+ install -m 644 pyproject_save_files.py  %{buildroot}%{_rpmconfigdir}/redhat/

  %if %{with tests}

  %check

  %{__python3} -m pytest -vv
@@ -92,13 +92,13 @@

  %files

  %{_rpmmacrodir}/macros.pyproject

  %{_rpmconfigdir}/redhat/pyproject_buildrequires.py

- %{_rpmconfigdir}/redhat/generate_file_section.py

+ %{_rpmconfigdir}/redhat/pyproject_save_files.py

  %doc README.md

  %license LICENSE

  

  %changelog

- * Mon Feb 17 2020 Patrik Kopkan <pkopkan@redhat.com> - 0-13

- - add %pyproject_save_file macro for generating file section

+ * Fri Mar 13 2020 Patrik Kopkan <pkopkan@redhat.com> - 0-14

+ - add %%pyproject_save_file macro for generating file section

  

  * Mon Mar 02 2020 Miro HronĨok <mhroncok@redhat.com> - 0-13

  - Tox dependency generator: Handle deps read in from a text file (#1808601)

pyproject_buildrequires_testcases.yaml testcases.yaml
file renamed
file was moved with no change to the file
pyproject_save_files.py
file added
+329
@@ -0,0 +1,329 @@

+ import argparse

+ import csv

+ import fnmatch

+ import os

+ import re

+ from pathlib import Path

+ from pathlib import PurePath

+ from pprint import pformat

+ from warnings import warn

+ import sys

+ from typing import List, Dict, Union, Tuple, Set, Any, Optional

+ 

+ 

+ def delete_commonpath(longer_path: Union[str, PurePath, Path], prefix: Union[str, PurePath, Path]) -> str:

+     """return string with deleted common path."""

+ 

+     return PurePath('/') / PurePath(longer_path).relative_to(prefix)

+ 

+ 

+ def locate_record(root: Path, python3_sitelib: PurePath, python3_sitearch: PurePath) -> Path:

+     """return path to record stripped of root path."""

+ 

+     records = list((Path(root) / Path(python3_sitelib).relative_to('/')).glob('*.dist-info/RECORD'))

+     records.extend(list((Path(root) / Path(python3_sitearch).relative_to('/')).glob('*.dist-info/RECORD')))

+ 

+     if len(records) == 0:

+         raise FileNotFoundError("Did not find RECORD file")

+     if len(records) > 1:

+         raise FileExistsError("Multiple *.dist-info directories")

+ 

+     record_path = str(records[0])

+     return Path("/") / Path(delete_commonpath(record_path, root))

+ 

+ 

+ def read_record(root: Union[Path, str], record_path: Union[Path, str]):

+     """returns parsed list of triplets like: [(path, hash, size), ...]"""

+ 

+     root = Path(root)

+     record_path = Path(record_path)

+     # can't join both absolute like paths properly

+     try:

+         record_path = Path(record_path).relative_to("/")

+     except ValueError:

+         record_path = Path(record_path)

+ 

+     with open(root / record_path, newline='', encoding='utf-8') as f:

+         content = csv.reader(f, delimiter=',', quotechar='"', lineterminator=os.linesep)

+         yield from content

+ 

+ 

+ def parse_record(record_path: Union[Path, str], record_content: List[Tuple[str, str, str]]) -> List[PurePath]:

+     """return list of paths stripped of root

+ 

+     params:

+     record_path: path to record file stripped of root

+     record_content: list of files relative to directory where dist-info directory is

+ 

+     Example:

+         parse_record("/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/RECORD", ["requests", ...])

+             -> ["/usr/lib/python3.7/site-packages/requests", ...]

+     """

+     record_path = PurePath(record_path)

+ 

+     site_dir = PurePath(record_path).parent.parent

+     files = [PurePath(os.path.normpath(Path(site_dir)/row[0])) for row in record_content]

+     return files

+ 

+ 

+ 

+ def is_subpath(parent: PurePath, child: PurePath):

+     """

+     Check whether the given child is a subpath of parent.

+     Expects both arguments to be absolute Paths (no checks are done).

+     """

+     try:

+         child.relative_to(parent)

+     except ValueError:

+         return False

+     else:

+         return True

+ 

+ 

+ def find_metadata(parsed_record_content: List[PurePath], python3_sitedir: PurePath, record_path: PurePath) -> Tuple[str, List[str]]:

+     """go through parsed RECORD content, returns tuple:

+     (path to directory containing metadata, [paths to all metadata files]).

+ 

+     find_metadata(["/usr/lib/python3.7/site-packages/requests/__init__.py, ..."],

+                    "/usr/lib/python3.7/site-packages",

+                    "/usr/lib/python3.7/site-packages/requests-2.10.dist-info/RECORD")

+             -> ("/usr/lib/python3.7/site-packages/requests-2.10.dist-info/,

+                 ["/usr/lib/python3.7/site-packages/requests-2.10.dist-info/RECORD", ...])

+     """

+     record_path = PurePath(record_path)

+     metadata_dir = record_path.parent

+     return f"{metadata_dir}/", [str(path) for path in parsed_record_content if is_subpath(metadata_dir, path)]

+ 

+ 

+ def find_extension(python3_sitedir: PurePath, parsed_record_content: List[PurePath]) -> List[str]:

+     """list paths to extensions"""

+ 

+     return [str(path) for path in parsed_record_content

+             if path.parent == python3_sitedir and path.match('*.so')]

+ 

+ 

+ def find_script(python3_sitedir: PurePath, parsed_record_content: List[PurePath]) -> Tuple[List[str], List[str]]:

+     """list paths to scripts and theire pycache files"""

+ 

+     scripts = [str(path) for path in parsed_record_content if path.match(f"{python3_sitedir}/*.py")]

+     pycache = []

+     for script in scripts:

+ 

+         filename = delete_commonpath(script, python3_sitedir)  # without suffix

+         filename = PurePath(filename).stem

+         pycache.extend([str(path) for path in parsed_record_content if path.match(f"{python3_sitedir}/__pycache__/{filename}*.pyc")])

+     return scripts, scripts + pycache

+ 

+ 

+ def find_package(python3_sitelib: PurePath, python3_sitearch: PurePath, parsed_record_content: List[PurePath]) -> Tuple[Set[str], List[str]]:

+     """return tuple([package dirs], [all package files])"""

+ 

+     packages = set()

+     for sitedir in (python3_sitelib, python3_sitearch):

+ 

+         sitedir_len = len(sitedir.parts)

+         for path in parsed_record_content:

+             if len(path.parts) > (sitedir_len + 1) and is_subpath(sitedir, path):

+                 package = PurePath(*path.parts[:(sitedir_len + 1)])

+                 if not ".dist-info" in package.name and not "__pycache__" == package.name:

+                     packages.add(f"{package}/")

+     files: List[str] = []

+     for package in packages:

+         files += [str(path) for path in parsed_record_content if is_subpath(package, path)]

+ 

+     return packages, files

+ 

+ 

+ def find_executable(bindir: PurePath, parsed_record_content: List[PurePath]) -> Tuple[List[str], List[str]]:

+     """return all files in bindir"""

+ 

+     executables = []

+     bindir_content = [str(path) for path in parsed_record_content if is_subpath(bindir, path)]

+     for file in bindir_content:

+         # do not list .pyc files, because pyproject-rpm-macro deletes them in bindir

+         if not file.endswith(".pyc"):

+             executables.append(file)

+     return executables, bindir_content

+ 

+ 

+ def get_modules(packages: Tuple[List[set], List[str]], extension_files: Tuple[List[str], List[str]],

+                 scripts: Tuple[List[str], List[str]]) -> Dict[str, Any]:

+     """helper function"""

+ 

+     modules: Dict[str, Any] = {}

+ 

+     for package in packages:

+         key = Path(package).parts[-1]

+         if key not in modules:

+             modules[key] = []

+         modules[key].append({

+             "type": "package",

+             "files": [package],

+         })

+ 

+     for script in scripts:

+         key = Path(script).stem

+         if key not in modules:

+             modules[key] = []

+ 

+         modules[key].append({

+             "type": "script",

+             "pycache": [script],

+         })

+ 

+     for extension in extension_files:

+         key = Path(extension).stem

+         key = Path(key).stem  # extensions have two suffixes

+         if key not in modules:

+             modules[key] = []

+         modules[key].append({

+             "type": "extension",

+             "files": [extension]

+         })

+ 

+     return modules

+ 

+ 

+ def get_modules_directory(record_path: PurePath, python3_sitelib: PurePath, python3_sitearch: PurePath):

+     """find out directory where modules should be located"""

+     record_path = os.path.normpath(record_path)

+     python3_sitearch = os.path.normpath(python3_sitearch)

+     python3_sitelib = os.path.normpath(python3_sitelib)

+ 

+     if os.path.commonpath((python3_sitelib, record_path)) == python3_sitelib:

+         modules_dir = python3_sitelib

+     elif os.path.commonpath((python3_sitearch, record_path)) == python3_sitearch:

+         modules_dir = python3_sitearch

+     else:

+         assert False, f"""python3_sitelib: {python3_sitelib} or python3_sitearch: {python3_sitearch} does not

+         contain RECORD file: {record_path}"""

+ 

+     return PurePath(modules_dir)

+ 

+ 

+ def classify_paths(record_path: PurePath, parsed_record_content: List[PurePath], python3_sitelib: PurePath, python3_sitearch: PurePath, bindir: PurePath) -> Dict:

+     """return dict with logical representation of files"""

+ 

+     python3_sitedir = get_modules_directory(record_path, python3_sitelib, python3_sitearch)

+     packages, package_files = find_package(python3_sitelib, python3_sitearch, parsed_record_content)

+     for file in package_files:

+         file = PurePath(file)

+         parsed_record_content.remove(file)

+     metadata_dir, metadata_files = find_metadata(parsed_record_content, python3_sitedir, record_path)

+     for file in metadata_files:

+         file = PurePath(file)

+         parsed_record_content.remove(file)

+     extension_files = find_extension(python3_sitedir, parsed_record_content)

+     for file in extension_files:

+         file = PurePath(file)

+         parsed_record_content.remove(file)

+     scripts, pycached = find_script(python3_sitedir, parsed_record_content)

+     for file in pycached:

+         file = PurePath(file)

+         parsed_record_content.remove(file)

+     executables, bindir_content = find_executable(bindir, parsed_record_content)

+     for file in bindir_content:

+         file = PurePath(file)

+         parsed_record_content.remove(file)

+ 

+     modules = get_modules(packages, extension_files, scripts)

+ 

+     parsed_record_content = sorted([str(file) for file in parsed_record_content])

+     if parsed_record_content:

+         warn(f"Uncathegorized files: \n{pformat(parsed_record_content)}")

+ 

+     paths = {

+             "metadata": {

+                 "files": metadata_files,   # ends in slash = directory & contents

+                 "dirs": [metadata_dir],

+                 "docs": [],  # now always missing

+                 "licenses": [],  # now always missing

+             },

+             "modules": modules,

+             "executables": {

+                 "files": executables

+             },

+             "other": {

+                 "files": parsed_record_content

+             }

+         }

+ 

+     return paths

+ 

+ 

+ def generate_file_list(record_path: PurePath, python3_sitelib: PurePath, python3_sitearch: PurePath,

+                        paths_dict: Dict[str, Any], modules_glob: List[str],

+                        include_executables: bool = False) -> List[str]:

+     """generated list of files to be added to specfile %file"""

+     paths = set(paths_dict["executables"]["files"]) if include_executables else set()

+     modules = paths_dict["modules"]

+     for glob in modules_glob:

+         for names in modules:

+             if fnmatch.fnmatch(re.escape(names), glob):

+                 for module in modules[names]:

+                     if module["type"] == "script":

+                         script_and_pycache = []

+                         for file in module["pycache"]:

+                             # adding pycached files

+                             script_and_pycache.append(file)

+                             pyminor = str(sys.version_info[1])

+                             dirname = str(get_modules_directory(record_path, python3_sitelib, python3_sitearch))

+                             modulename = PurePath(delete_commonpath(file, dirname)).stem

+                             script_and_pycache.append(dirname + "/__pycache__/" + modulename + ".cpython-3" + pyminor +

+                                                       "{,.opt-?}.pyc")

+                         paths.update(set(script_and_pycache))

+                     else:

+                         paths.update(set((module["files"])))

+ 

+     paths.update(set(paths_dict['metadata']['files']))

+ 

+     return sorted(paths)

+ 

+ 

+ def pyproject_save_files_parse(module_globs: List[str]) -> Tuple[List[str], bool]:

+     """parse input from %pyproject_save_files macro"""

+     include_bindir = False

+ 

+     if "+bindir" in module_globs:

+         include_bindir = True

+         module_globs.remove("+bindir")

+ 

+     return module_globs, include_bindir

+ 

+ 

+ def pyproject_save_files(root: Path, python3_sitelib: PurePath, python3_sitearch: PurePath,

+                          bindir: PurePath, args: List[str]) -> List[str]:

+     """return list of files for specfile

+ 

+     args: arguments from %{pyproject_save_files} macro

+     """

+     record_path = locate_record(root, python3_sitelib, python3_sitearch)

+     parsed_record = parse_record(record_path, (read_record(root, record_path)))

+     paths_dict = classify_paths(record_path, parsed_record, python3_sitelib, python3_sitearch, bindir)

+ 

+     files = generate_file_list(record_path, python3_sitelib, python3_sitearch,

+                                paths_dict, *pyproject_save_files_parse(args))

+ 

+     return files

+ 

+ 

+ parser = argparse.ArgumentParser()

+ parser.add_argument("path_to_save", help="Path to save list of paths for file secton", type=lambda x: Path(x))

+ parser.add_argument('buildroot', type=lambda x: Path(x))

+ parser.add_argument('python3_sitelib', type=lambda x: PurePath(x))

+ parser.add_argument('python3_sitearch', type=lambda x: PurePath(x))

+ parser.add_argument('bindir', type=lambda x: PurePath(x))

+ parser.add_argument("globs_to_save", nargs="+")

+ 

+ 

+ def main(cli_args):

+     file_section = pyproject_save_files(cli_args.buildroot, cli_args.python3_sitelib, cli_args.python3_sitearch,

+                                         cli_args.bindir, cli_args.globs_to_save)

+ 

+     with open(cli_args.path_to_save, "w") as file:

+         file.writelines([path + "\n" for path in file_section])

+ 

+ 

+ if __name__ == '__main__':

+     cli_args = parser.parse_args()

+     main(cli_args)

pyproject_save_files_test_data.json
file added
+197
@@ -0,0 +1,197 @@

+ {

+   "requests": {

+     "executables": {

+       "files": []

+     },

+     "metadata": {

+       "dirs": [

+         "/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/"

+       ],

+       "docs": [],

+       "files": [

+         "/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/INSTALLER",

+         "/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/LICENSE",

+         "/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/METADATA",

+         "/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/RECORD",

+         "/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/WHEEL",

+         "/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/top_level.txt"

+       ],

+       "licenses": []

+     },

+     "modules": {

+       "requests": [

+         {

+           "type": "package",

+           "files": [

+             "/usr/lib/python3.7/site-packages/requests/"

+           ]

+         }

+       ]

+     },

+     "other": {

+       "files": []

+     }

+   },

+   "kerberos": {

+     "executables": {

+       "files": []

+     },

+     "metadata": {

+       "dirs": [

+         "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/"

+       ],

+       "docs": [],

+       "files": [

+         "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/INSTALLER",

+         "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/METADATA",

+         "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/RECORD",

+         "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/WHEEL",

+         "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/top_level.txt"

+       ],

+       "licenses": []

+     },

+     "modules": {

+       "kerberos": [

+         {

+           "type": "extension",

+           "files": [

+             "/usr/lib64/python3.7/site-packages/kerberos.cpython-37m-x86_64-linux-gnu.so"

+           ]

+         }

+       ]

+     },

+     "other": {

+       "files": []

+     }

+   },

+   "tldr": {

+     "executables": {

+       "files": [

+         "/usr/bin/tldr",

+         "/usr/bin/tldr.py"

+       ]

+     },

+     "metadata": {

+       "dirs": [

+         "/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/"

+       ],

+       "docs": [],

+       "files": [

+         "/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/INSTALLER",

+         "/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/LICENSE",

+         "/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/METADATA",

+         "/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/RECORD",

+         "/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/WHEEL",

+         "/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/top_level.txt"

+       ],

+       "licenses": []

+     },

+     "modules": {

+       "tldr": [

+         {

+           "type": "script",

+           "pycache": [

+             "/usr/lib/python3.7/site-packages/tldr.py"

+           ]

+         }

+       ]

+     },

+     "other": {

+       "files": []

+     }

+   },

+   "tensorflow": {

+     "metadata": {

+       "dirs": [

+         "/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/"

+       ],

+       "docs": [],

+       "files": [

+         "/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/INSTALLER",

+         "/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/METADATA",

+         "/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/RECORD",

+         "/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/WHEEL",

+         "/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/entry_points.txt",

+         "/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/top_level.txt"

+       ],

+       "licenses": []

+     },

+     "modules": {

+       "tensorflow": [

+         {

+           "files": [

+             "/usr/lib64/python3.7/site-packages/tensorflow/"

+           ],

+           "type": "package"

+         }

+       ],

+       "tensorflow_core": [

+         {

+           "files": [

+             "/usr/lib64/python3.7/site-packages/tensorflow_core/"

+           ],

+           "type": "package"

+         },

+         {

+           "files": [

+             "/usr/lib/python3.7/site-packages/tensorflow_core/"

+           ],

+           "type": "package"

+         }

+       ]

+     },

+     "executables": {

+       "files": [

+         "/usr/bin/estimator_ckpt_converter",

+         "/usr/bin/saved_model_cli",

+         "/usr/bin/tensorboard",

+         "/usr/bin/tf_upgrade_v2",

+         "/usr/bin/tflite_convert",

+         "/usr/bin/toco",

+         "/usr/bin/toco_from_protos"

+       ]

+     },

+     "other": {

+       "files": []

+     }

+   },

+   "mistune": {

+     "executables": {

+       "files": []

+     },

+     "metadata": {

+       "dirs": [

+         "/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/"

+       ],

+       "docs": [],

+       "files": [

+         "/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/INSTALLER",

+         "/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/LICENSE",

+         "/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/METADATA",

+         "/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/RECORD",

+         "/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/WHEEL",

+         "/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/top_level.txt"

+       ],

+       "licenses": []

+     },

+     "modules": {

+       "mistune": [

+         {

+           "type": "script",

+           "pycache": [

+             "/usr/lib64/python3.7/site-packages/mistune.py"

+           ]

+         },

+         {

+           "type": "extension",

+           "files": [

+             "/usr/lib64/python3.7/site-packages/mistune.cpython-38-x86_64-linux-gnu.so"

+           ]

+         }

+       ]

+     },

+     "other": {

+       "files": []

+     }

+   }

+ } 

\ No newline at end of file

test_pyproject_buildrequires.py
file modified
+1 -1
@@ -12,7 +12,7 @@

      import importlib_metadata

  

  testcases = {}

- with Path(__file__).parent.joinpath('testcases.yaml').open() as f:

+ with Path(__file__).parent.joinpath('pyproject_buildrequires_testcases.yaml').open() as f:

      testcases = yaml.safe_load(f)

  

  

test_pyproject_save_files.py test_generate_file_section.py
file renamed
+96 -89
@@ -3,25 +3,30 @@

  from pathlib import Path

  from pprint import pprint

  from pprint import pformat

- import generate_file_section

- from generate_file_section import *

+ import pyproject_save_files

+ from pyproject_save_files import *

  import tempfile

  import warnings

+ from pathlib import PurePath

+ from pathlib import Path

  import shutil

+ import sys

  

  RECORDS_PATH = f"{Path(__file__).parent}"

+ SITELIB = PurePath("/usr/lib/python3.7/site-packages")

+ SITEARCH = PurePath("/usr/lib64/python3.7/site-packages")

  

  

  def test_parse_record_kerberos():

      """test if RECORD file is parsed properly"""

      record_content = read_record(RECORDS_PATH, "test_RECORD_kerberos")

      output = parse_record("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/RECORD", record_content)

-     expected = ["/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/INSTALLER",

-                 "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/METADATA",

-                 "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/RECORD",

-                 "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/WHEEL",

-                 "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/top_level.txt",

-                 "/usr/lib64/python3.7/site-packages/kerberos.cpython-37m-x86_64-linux-gnu.so"]

+     expected = [PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/INSTALLER"),

+                 PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/METADATA"),

+                 PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/RECORD"),

+                 PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/WHEEL"),

+                 PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/top_level.txt"),

+                 PurePath("/usr/lib64/python3.7/site-packages/kerberos.cpython-37m-x86_64-linux-gnu.so")]

      assert output == expected

  

  
@@ -40,9 +45,9 @@

      output = parse_record(f"{dist_info_prefix}/{dist_info_dir}/RECORD", record_content)

  

      pprint(output)

-     expected = ['/usr/bin/toco_from_protos',

-                 '/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/base_collective_executor.h',

-                 '/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/METADATA',

+     expected = [PurePath('/usr/bin/toco_from_protos'),

+                 PurePath('/usr/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/common_runtime/base_collective_executor.h'),

+                 PurePath('/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/METADATA'),

                  ]

      assert output == expected

  
@@ -51,12 +56,12 @@

      """test if function returns list with all metadata paths"""

      dist_info_dir = "kerberos-1.3.0.dist-info/"

      dist_info_prefix = "/usr/lib64/python3.7/site-packages"

-     parsed_record_content = ["/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/INSTALLER",

-                              "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/METADATA",

-                              "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/RECORD",

-                              "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/WHEEL",

-                              "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/top_level.txt",

-                              "/usr/lib64/python3.7/site-packages/kerberos.cpython-37m-x86_64-linux-gnu.so"]

+     parsed_record_content = [PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/INSTALLER"),

+                              PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/METADATA"),

+                              PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/RECORD"),

+                              PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/WHEEL"),

+                              PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/top_level.txt"),

+                              PurePath("/usr/lib64/python3.7/site-packages/kerberos.cpython-37m-x86_64-linux-gnu.so")]

      expected = ("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/",

                  ["/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/INSTALLER",

                   "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/METADATA",
@@ -66,48 +71,44 @@

  

      record_path = os.path.join(dist_info_prefix, dist_info_dir, "RECORD")

  

-     tested = find_metadata(parsed_record_content, dist_info_prefix, record_path)

+     tested = find_metadata(parsed_record_content, PurePath(dist_info_prefix), PurePath(record_path))

      assert tested == expected

  

  

  def test_find_extension():

      """test list of extension"""

-     parsed_record_content = ["/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/INSTALLER",

-                              "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/METADATA",

-                              "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/RECORD",

-                              "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/WHEEL",

-                              "/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/top_level.txt",

-                              "/usr/lib64/python3.7/site-packages/tensorflow_core/python/ops/__pycache__/gen_state_ops.cpython-37.pyc",

-                              "/usr/lib64/python3.7/site-packages/kerberos.cpython-37m-x86_64-linux-gnu.so"]

+     parsed_record_content = [PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/INSTALLER"),

+                              PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/METADATA"),

+                              PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/RECORD"),

+                              PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/WHEEL"),

+                              PurePath("/usr/lib64/python3.7/site-packages/kerberos-1.3.0.dist-info/top_level.txt"),

+                              PurePath("/usr/lib64/python3.7/site-packages/tensorflow_core/python/ops/__pycache__/gen_state_ops.cpython-37.pyc"),

+                              PurePath("/usr/lib64/python3.7/site-packages/kerberos.cpython-37m-x86_64-linux-gnu.so")]

  

-     assert find_extension("/usr/lib64/python3.7/site-packages", parsed_record_content) == [

-         "/usr/lib64/python3.7/site-packages/kerberos.cpython-37m-x86_64-linux-gnu.so"]

+     assert find_extension(SITEARCH, parsed_record_content) == ([

+         "/usr/lib64/python3.7/site-packages/kerberos.cpython-37m-x86_64-linux-gnu.so"])

  

  

- # def test_find_extension_mistune():

- #     """test list of extensions for mistune package"""

- #     parsed_record_content = []

- 

  def test_find_script():

-     dist_info_dir = "tldr-0.5.dist-info/"

-     python3_sitedir = "/usr/lib64/python3.7/site-packages"

-     record_content = read_record(RECORDS_PATH, "test_RECORD_tldr")

-     record_path = os.path.join(python3_sitedir, dist_info_dir, "RECORD")

+     dist_info_dir = Path("tldr-0.5.dist-info/")

+     python3_sitedir = PurePath("/usr/lib64/python3.7/site-packages")

+     record_content = read_record(Path(RECORDS_PATH), Path("test_RECORD_tldr"))

+     record_path = python3_sitedir / dist_info_dir / "RECORD"

      parsed_record_content = parse_record(record_path, record_content)

      expected = (["/usr/lib64/python3.7/site-packages/tldr.py"],

-                 ["/usr/lib64/python3.7/site-packages/__pycache__/tldr.cpython-37.pyc"]

-                 )

+                 ["/usr/lib64/python3.7/site-packages/tldr.py",

+                  "/usr/lib64/python3.7/site-packages/__pycache__/tldr.cpython-37.pyc"])

  

      tested = find_script(python3_sitedir, parsed_record_content)

      assert tested == expected

  

  

  def test_find_package():

-     dist_info_dir = "requests-2.22.0.dist-info/"

-     python3_sitedir = "/usr/lib/python3.7/site-packages"

-     python3_sitearch = "/usr/lib64/python3.7/site-packages"

+     dist_info_dir = PurePath("requests-2.22.0.dist-info/")

+     python3_sitedir = PurePath("/usr/lib/python3.7/site-packages")

+     python3_sitearch = PurePath("/usr/lib64/python3.7/site-packages")

      record_content = read_record(RECORDS_PATH, "test_RECORD_requests")

-     record_path = os.path.join(python3_sitedir, dist_info_dir, "RECORD")

+     record_path = python3_sitedir / dist_info_dir / "RECORD"

      parsed_record_content = parse_record(record_path, record_content)

  

      tested = find_package(python3_sitedir, python3_sitearch, parsed_record_content)
@@ -162,7 +163,10 @@

  }

  

  test_data = []

- from classify_paths_output import PARAMETRIZED_EXPECTED_OUTPUT

+ import json

+ with open(f"{RECORDS_PATH}/pyproject_save_files_test_data.json", "r", encoding='utf-8') as file:

+     PARAMETRIZED_EXPECTED_OUTPUT = json.loads(file.read(), encoding='utf-8')

+ 

  

  for package in TEST_RECORDS:

      test_data.append((*TEST_RECORDS[package], PARAMETRIZED_EXPECTED_OUTPUT[package]))
@@ -170,44 +174,45 @@

  del package

  

  

- @pytest.mark.filterwarnings('ignore::UserWarning')  # to ignore warning for uncathegorized files

- @pytest.mark.parametrize("supposed_record_path, rel_record_path, expected", test_data)

- def test_classify_paths(supposed_record_path, rel_record_path, expected):

-     """test categorization of files"""

-     root = str(Path(RECORDS_PATH).parent)

-     python3_sitelib = "/usr/lib/python3.7/site-packages"

-     python3_sitearch = "/usr/lib64/python3.7/site-packages"

-     bindir = "/usr/bin"

- 

-     record_contents = read_record(RECORDS_PATH, rel_record_path)

-     record_contents = parse_record(supposed_record_path,

-                                    record_contents)

- 

-     output = classify_paths(supposed_record_path, record_contents, python3_sitelib, python3_sitearch, bindir)

-     assert output == expected

- 

- 

- def test_warning_classify_paths():

-     """test categorization of files"""

-     supposed_record_path, rel_record_path = TEST_RECORDS["tensorflow"]

-     warned_files = PARAMETRIZED_EXPECTED_OUTPUT["tensorflow"]["other"]["files"]

-     root = str(Path(RECORDS_PATH).parent)

-     python3_sitelib = "/usr/lib/python3.7/site-packages"

-     python3_sitearch = "/usr/lib64/python3.7/site-packages"

-     bindir = "/usr/bin"

- 

-     record_contents = read_record(RECORDS_PATH, rel_record_path)

-     record_contents = parse_record(supposed_record_path,

-                                    record_contents)

- 

-     with pytest.warns(UserWarning) as record:

-         output = classify_paths(supposed_record_path, record_contents, python3_sitelib, python3_sitearch, bindir)

- 

-     assert pformat(warned_files) in record[0].message.args[0]

+ # @pytest.mark.filterwarnings('ignore::UserWarning')  # to ignore warning for uncathegorized files

+ # @pytest.mark.parametrize("supposed_record_path, rel_record_path, expected", test_data)

+ # def test_classify_paths(supposed_record_path, rel_record_path, expected):

+ #     """test categorization of files"""

+ #     root = str(Path(RECORDS_PATH).parent)

+ #     python3_sitelib = PurePath("/usr/lib/python3.7/site-packages")

+ #     python3_sitearch = PurePath("/usr/lib64/python3.7/site-packages")

+ #     bindir = PurePath("/usr/bin")

+ #

+ #     record_contents = read_record(RECORDS_PATH, rel_record_path)

+ #     record_contents = parse_record(supposed_record_path,

+ #                                    record_contents)

+ #

+ #     output = classify_paths(supposed_record_path, record_contents, python3_sitelib, python3_sitearch, bindir)

+ #     assert output == expected

+ 

+ # right now there is no package which would have warning

+ # def test_warning_classify_paths():

+ #     """test categorization of files"""

+ #     supposed_record_path, rel_record_path = TEST_RECORDS["tensorflow"]

+ #     warned_files = PARAMETRIZED_EXPECTED_OUTPUT["tensorflow"]["other"]["files"]

+ #     root = str(Path(RECORDS_PATH).parent)

+ #     python3_sitelib = PurePath("/usr/lib/python3.7/site-packages")

+ #     python3_sitearch = PurePath("/usr/lib64/python3.7/site-packages")

+ #     bindir = PurePath("/usr/bin")

+ #

+ #     record_contents = read_record(RECORDS_PATH, rel_record_path)

+ #     record_contents = parse_record(supposed_record_path,

+ #                                    record_contents)

+ #

+ #     with pytest.warns(UserWarning) as record:

+ #         output = classify_paths(PurePath(supposed_record_path), record_contents, python3_sitelib, python3_sitearch, bindir)

+ #

+ #     assert pformat(warned_files) in record[0].message.args[0]

  

  

  file_section = (

      ("tensorflow", "tensorflow*", sorted([

+         '/usr/lib/python3.7/site-packages/tensorflow_core/',

          "/usr/lib64/python3.7/site-packages/tensorflow/", "/usr/lib64/python3.7/site-packages/tensorflow_core/",

          "/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/INSTALLER",

          "/usr/lib64/python3.7/site-packages/tensorflow-2.1.0.dist-info/METADATA",
@@ -231,7 +236,7 @@

                                "/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/WHEEL",

                                "/usr/lib/python3.7/site-packages/requests-2.22.0.dist-info/top_level.txt",

                                ])),

-     ("tldr", "tldr", sorted(["/usr/lib/python3.7/site-packages/__pycache__/tldr.cpython-37{,.opt-?}.pyc",

+     ("tldr", "tldr", sorted(["/usr/lib/python3.7/site-packages/__pycache__/tldr.cpython-3" + str(sys.version_info[1]) + "{,.opt-?}.pyc",

                                "/usr/lib/python3.7/site-packages/tldr.py",

                                "/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/INSTALLER",

                                "/usr/lib/python3.7/site-packages/tldr-0.5.dist-info/LICENSE",
@@ -242,7 +247,7 @@

                                ])),

  

      ("mistune", "mistune", sorted([

-         "/usr/lib64/python3.7/site-packages/__pycache__/mistune.cpython-37{,.opt-?}.pyc",

+         "/usr/lib64/python3.7/site-packages/__pycache__/mistune.cpython-3" + str(sys.version_info[1]) + "{,.opt-?}.pyc",

          "/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/INSTALLER",

          "/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/LICENSE",

          "/usr/lib64/python3.7/site-packages/mistune-0.8.3.dist-info/METADATA",
@@ -260,8 +265,9 @@

      """test glob at output of classify_paths"""

      paths_dict = PARAMETRIZED_EXPECTED_OUTPUT[package]

      modules_glob = (glob,)

- 

-     tested = generate_file_list(paths_dict, modules_glob)

+     record_path = TEST_RECORDS[package][0]

+     tested = generate_file_list(PurePath(record_path), PurePath("/usr/lib/python3.7/site-packages"),

+                                 PurePath("/usr/lib64/python3.7/site-packages"), paths_dict, modules_glob, False)

  

      assert tested == expected

  
@@ -273,8 +279,10 @@

      executables = PARAMETRIZED_EXPECTED_OUTPUT[package]["executables"]["files"]

      modules_glob = (glob,)

      files = sorted(expected + executables)

-     tested = generate_file_list(paths_dict, modules_glob, include_executables=True)

- 

+     record_path = PurePath(TEST_RECORDS[package][0])

+     tested = generate_file_list(record_path, SITELIB,

+                                 SITEARCH, paths_dict, modules_glob,

+                                 include_executables=True)

      assert tested == files

  

  
@@ -282,7 +290,7 @@

      tested = [pyproject_save_files_parse(["requests*", "kerberos", "+bindir"]),

                pyproject_save_files_parse(["tldr", "tensorf*"])]

  

-     expected = [[["requests*", "kerberos"], True], [["tldr", "tensorf*"], False]]

+     expected = [(["requests*", "kerberos"], True), (["tldr", "tensorf*"], False)]

      assert tested == expected

  

  
@@ -307,20 +315,18 @@

      return f"{tmp_path}/buildroot/"

  

  

- def test_cli(tmp_path):

+ @pytest.mark.parametrize("package, glob, expected", file_section)

+ def test_cli(tmp_path, package, glob, expected):

      """test cli"""

  

-     expected = file_section[3][2]

- 

-     mock_root = create_root(tmp_path, *TEST_RECORDS["tldr"])

- 

+     mock_root = create_root(tmp_path, *TEST_RECORDS[package])

      buildir = tmp_path / "builddir"

      buildir.mkdir()

      pyproject_files_path = buildir / "files"

      cli_args = parser.parse_args([str(pyproject_files_path),

                                    mock_root,

                                    "/usr/lib/python3.7/site-packages",

-                                   "/usr/lib64/python3.7/site-packages", "/usr/bin", "tldr*"])

+                                   "/usr/lib64/python3.7/site-packages", "/usr/bin", glob])

  

      main(cli_args)

      with open(pyproject_files_path, "r") as file:
@@ -362,3 +368,4 @@

  

      with pytest.raises(FileExistsError):

          main(cli_args)

+ 

tests/python-clikit.spec
file modified
+1 -1
@@ -40,6 +40,6 @@

  %pyproject_save_files clikit

  

  

- %files -n python3-%{pypi_name}

+ %files -n python3-%{pypi_name} -f %{pyproject_files}

  %doc README.md

  %license LICENSE

tests/python-entrypoints.spec
file modified
+1 -2
@@ -30,7 +30,6 @@

  

  %generate_buildrequires

  %pyproject_buildrequires

- %pyproject_save_files entrypoints

  

  

  %build
@@ -39,7 +38,7 @@

  

  %install

  %pyproject_install

- 

+ %pyproject_save_files entrypoints

  

  %files -n python3-%{pypi_name} -f %{pyproject_files}

  %doc README.rst

tests/python-isort.spec
file modified
+4 -3
@@ -25,15 +25,16 @@

  

  %prep

  %autosetup -n %{modname}-%{version}-2

+ 

+ 

  %generate_buildrequires

  %pyproject_buildrequires -r

  

- # Drop shebang

- sed -i -e '1{\@^#!.*@d}' %{modname}/main.py

  

  %build

  %pyproject_wheel

  

+ 

  %install

  %pyproject_install

  %pyproject_save_files isort
@@ -43,7 +44,7 @@

  test -d "%{buildroot}%{python3_sitelib}/%{modname}-%{version}.dist-info/"

  

  # testing not using +bindir in %%pyproject_save_files, make sure if the files get listed build will fail

- # This line must come after %pyproject_save_files so the test is effective

+ # This line must come after %%pyproject_save_files so the test is effective

  rm -r %{buildroot}%{_bindir}/%{modname}

  

  

tests/python-ldap.spec
file modified
+16 -19
@@ -1,6 +1,3 @@

- # global prerelease b4

- 

- 

  # workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1806625

  %global debug_package %{nil}

  
@@ -9,8 +6,7 @@

  Release: 9%{?dist}

  License: Python

  Summary: An object-oriented API to access LDAP directory servers

- URL: http://python-ldap.org/

- Source0: https://files.pythonhosted.org/packages/source/p/%{name}/%{name}-%{version}%{?prerelease}.tar.gz

+ Source0: %{pypi_source}

  

  BuildRequires: pyproject-rpm-macros

  
@@ -18,23 +14,24 @@

  BuildRequires: openldap-devel

  BuildRequires: openssl-devel

  BuildRequires: cyrus-sasl-devel

- %generate_buildrequires

- %pyproject_buildrequires -t

+ 

+ BuildRequires: gcc

+ BuildRequires: openldap-servers

+ BuildRequires: openldap-clients

+ 

  

  %description

  This package contains extension modules. Does not contain pyproject.toml. Has multiple files and directories.

  Building this tests:

  - the proper files are installed in the proper places

- - module glob in %pyproject_save_files (some modules are included, some not)

+ - module glob in %%pyproject_save_files (some modules are included, some not)

+ - combined manual and generated Buildrequires

  

  

  %package -n     python3-ldap

  Summary:        %{summary}

  

  Requires:  openldap

- Requires:  python3-pyasn1 >= 0.3.7

- Requires:  python3-pyasn1-modules >= 0.1.5

- Requires:  python3-setuptools

  %{?python_provide:%python_provide python3-ldap}

  

  %description -n python3-ldap
@@ -42,26 +39,25 @@

  

  

  %prep

+ %setup -q -n %{name}-%{version}%{?prerelease}

  

  

- %setup -q -n %{name}-%{version}%{?prerelease}

  

- # Disable warnings in test to work around "'U' mode is deprecated"

- # https://github.com/python-ldap/python-ldap/issues/96

- sed -i 's,-Werror,-Wignore,g' tox.ini

+ %generate_buildrequires

+ %pyproject_buildrequires -t

+ 

  

  %build

  %pyproject_wheel

  

+ 

  %install

  %pyproject_install

  %pyproject_save_files ldap* *ldap

  

+ 

  %check

- # don't download packages

- #export PIP_INDEX_URL=http://host.invalid./

- #export PIP_NO_DEPS=yes

- LOGLEVEL=10 %tox -- --sitepackages

+ %tox

  

  # check if the instalation outputs expected files

  test -d "%{buildroot}%{python3_sitearch}/__pycache__/" 
@@ -77,6 +73,7 @@

  rm -rf %{buildroot}%{python3_sitearch}/__pycache__/ldif.cpython*.pyc

  rm -rf %{buildroot}%{python3_sitearch}/slapdtest/

  

+ 

  %files -n python3-ldap -f %{pyproject_files}

  %license LICENCE

  %doc CHANGES README TODO Demo 

\ No newline at end of file

tests/python-mistune.spec
file modified
+1 -1
@@ -44,7 +44,7 @@

  %pyproject_save_files mistune

  

  %check

- # making sure that pyproject_install outputs these files so that we can test behaviour of %pyproject_save_files

+ # making sure that pyproject_install outputs these files so that we can test behaviour of %%pyproject_save_files

  # when a package has multiple files with the same name (here script and extension)

  test -f "%{buildroot}%{python3_sitearch}/mistune.py" 

  test -d "%{buildroot}%{python3_sitearch}/__pycache__/" 

tests/python-pluggy.spec
file modified
+1
@@ -42,6 +42,7 @@

  

  %install

  %pyproject_install

+ # There are no executables but this still works

  %pyproject_save_files pluggy +bindir

  

  

tests/python-pytest.spec
file modified
+1 -1
@@ -31,7 +31,6 @@

  

  %generate_buildrequires

  %pyproject_buildrequires -x testing -t

- %pyproject_save_files *pytest +bindir

  

  %build

  %pyproject_wheel
@@ -39,6 +38,7 @@

  

  %install

  %pyproject_install

+ %pyproject_save_files *pytest +bindir

  

  %check

  # Only run one test (which uses a test-only dependency, hypothesis).

tests/tests.yml
file modified
+1 -4
@@ -31,9 +31,6 @@

      - openqa_client:

          dir: .

          run: ./mocktest.sh python-openqa_client

-     - kerberos:

-         dir: .

-         run: ./mocktest.sh python-kerberos

      - ldap:

          dir: .

          run: ./mocktest.sh python-ldap
@@ -42,7 +39,7 @@

          run: ./mocktest.sh python-isort

      - mistune:

          dir: .

-         run: ./mocktest.sh python-kerberos

+         run: ./mocktest.sh python-mistune

      required_packages:

      - mock

      - rpmdevtools

no initial comment

Macro for generating file section

3 new commits added

  • utilize more pathlib and add type anotation
  • use Purelib
  • reimplement adding pycached files
4 years ago

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.

rebased onto e088e77

4 years ago

Build failed.

2 new commits added

  • fix specfiles
  • fix failing build
4 years ago

Build failed.

Build failed.

We've hit an issue with the rawhide image. It should be fixed.

Build failed.

2 new commits added

  • escape macro in comment
  • add %pyproject_save_files macro
4 years ago

Build failed.

It seems that this pr change isn't installed in mock during tests:

  • '[' -d /builddir/build/BUILDROOT/python-isort-4.3.21-7.fc33.x86_64/usr/lib64/python3.8/site-packages ']'
  • %pyproject_save_files isort
    /var/tmp/rpm-tmp.WE5Ubt: line 50: fg: no job control

second type of failure was not getting right source from ldap specfile:

  • spectool -g -R python-ldap.spec
  • rpmbuild -bs python-ldap.spec
    error: Bad source: /root/rpmbuild/SOURCES/python-ldap-3.1.0.tar.gz: No such file or directory

this is from mistune test: (my mistake I test different specfile)
+ mkdir -p /root/rpmbuild/SOURCES /root/rpmbuild/SRPMS
+ rm -f '/root/rpmbuild/SRPMS/python-kerberos-*.src.rpm'
+ spectool -g -R python-kerberos.spec
Can't open 'python-kerberos.spec': No such file or directory at /usr/bin/spectool line 314.
Run test 'mistune': done. Test's exit code: 2

It seems that this pr change isn't installed in mock during tests

Bump the release to make it so.

2 new commits added

  • bump specfile
  • test right specfile
4 years ago

Build failed.

1 new commit added

  • delete missing test's entry in tests.yml
4 years ago

5 new commits added

  • delete missing test's entry in tests.yml
  • bump specfile
  • test right specfile
  • escape macro in comment
  • add %pyproject_save_files macro
4 years ago

Build failed.

1 new commit added

  • fix specfiles
4 years ago

Build failed.

9 new commits added

  • make test work again
  • fixup! address review:
  • address review:
  • address review:
  • adress review:
  • adress review:
  • adress review:
  • adresing review:
  • adressing review:
4 years ago

Build failed.

2 new commits added

  • make spectool work again
  • add not generated build dep
4 years ago

Build failed.

1 new commit added

  • add another reason why having python-ldap in test suite
4 years ago

Build succeeded.

rebased onto 7d8090b

4 years ago

Build failed.

1 new commit added

  • package is every directory in sitelib or sitearch
4 years ago

Build failed.

28 new commits added

  • package is every directory in sitelib or sitearch
  • address more issues from review
  • Merge branch 'files-section-macro' into moje-nepovedene-pr
  • unfinished commit
  • add another reason why having python-ldap in test suite
  • make spectool work again
  • add not generated build dep
  • make test work again
  • fixup! address review:
  • address review:
  • address review:
  • adress review:
  • adress review:
  • adress review:
  • adresing review:
  • adressing review:
  • fix specfiles
  • delete missing test's entry in tests.yml
  • bump specfile
  • test right specfile
  • escape macro in comment
  • fix failing build
  • bump specfile
  • add %pyproject_save_files macro
  • stash
  • utilize more pathlib and add type anotation
  • use Purelib
  • reimplement adding pycached files
4 years ago

Build failed.

3 new commits added

  • comment test for now
  • get rid off breakpoints
  • fixup
4 years ago

Build succeeded.

3 new commits added

  • get rid off last regexes
  • simplify ldap spec
  • simplify isort spec
4 years ago

34 new commits added

  • get rid off last regexes
  • simplify ldap spec
  • simplify isort spec
  • comment test for now
  • get rid off breakpoints
  • fixup
  • package is every directory in sitelib or sitearch
  • address more issues from review
  • Merge branch 'files-section-macro' into moje-nepovedene-pr
  • unfinished commit
  • add another reason why having python-ldap in test suite
  • make spectool work again
  • add not generated build dep
  • make test work again
  • fixup! address review:
  • address review:
  • address review:
  • adress review:
  • adress review:
  • adress review:
  • adresing review:
  • adressing review:
  • fix specfiles
  • delete missing test's entry in tests.yml
  • bump specfile
  • test right specfile
  • escape macro in comment
  • fix failing build
  • bump specfile
  • add %pyproject_save_files macro
  • stash
  • utilize more pathlib and add type anotation
  • use Purelib
  • reimplement adding pycached files
4 years ago

Build failed.

1 new commit added

  • commit suggestion
4 years ago

Build succeeded.

3 new commits added

  • use json for tests
  • rename files
  • address review
4 years ago

Build failed.

1 new commit added

  • change macro to use new path
4 years ago

Build succeeded.

Pull-Request has been closed by churchyard

4 years ago
Metadata
Flags
Zuul
success
Jobs result is success
4 years ago
simple-koji-ci
success
Build completed for fe140171
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
simple-koji-ci
success
Build completed for 1e9192d6
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
success
Jobs result is success
4 years ago
simple-koji-ci
success
Build completed for cfcb2032
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
simple-koji-ci
success
Build completed for adb5a1dc
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
simple-koji-ci
failure
Build failed for b7b6a9a2
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
success
Jobs result is success
4 years ago
simple-koji-ci
success
Build completed for 9cb3cca9
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
simple-koji-ci
success
Build completed for 0e080f12
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
success
Jobs result is success
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
Fedora CI
success
Package tests for fe140171: passed
4 years ago
simple-koji-ci
failure
Build failed for 28d316e5
4 years ago
Zuul
pending
Jobs result is pending
4 years ago
Zuul
failure
Jobs result is failure
4 years ago
simple-koji-ci
success
Build completed
4 years ago