- output = open_packages(suite, component, architecture, type_name)
-
- r = session.execute(_packages_query, {"suite": suite_id, "component": component_id,
- "type_id": type_id, "type_name": type_name, "arch_all": arch_all_id})
+ overridesuite_id = suite.get_overridesuite().suite_id
+ include_long_description = suite.include_long_description
+
+ # We currently filter out the "Tag" line. They are set by external
+ # overrides and NOT by the maintainer. And actually having it set by
+ # maintainer means we output it twice at the moment -> which breaks
+ # dselect.
+ metadata_skip = ["Section", "Priority", "Tag"]
+ if include_long_description:
+ metadata_skip.append("Description-md5")
+
+ writer_args = {
+ 'archive': suite.archive.path,
+ 'suite': suite.suite_name,
+ 'component': component.component_name,
+ 'architecture': architecture.arch_string,
+ 'debtype': type_name
+ }
+ if suite.indices_compression is not None:
+ writer_args['compression'] = suite.indices_compression
+ writer = PackagesFileWriter(**writer_args)
+ output = writer.open()
+
+ r = session.execute(_packages_query, {"archive_id": suite.archive.archive_id,
+ "suite": suite_id, "component": component_id, 'component_name': component.component_name,
+ "arch": architecture_id, "type_id": type_id, "type_name": type_name, "arch_all": arch_all_id,
+ "overridesuite": overridesuite_id, "metadata_skip": metadata_skip,
+ "include_long_description": 'true' if include_long_description else 'false'})