Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openSUSE-release-tools for
openSUSE:Factory checked in at 2022-03-04 20:17:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1958 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Fri Mar 4 20:17:03 2022 rev:388 rq:959341 version:20220303.003f0105
Changes:
--------
---
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
2022-03-04 00:18:00.584289889 +0100
+++
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1958/openSUSE-release-tools.changes
2022-03-04 20:20:53.632681528 +0100
@@ -1,0 +2,6 @@
+Thu Mar 03 17:04:55 UTC 2022 - [email protected]
+
+- Update to version 20220303.003f0105:
+ * Treat all group*.yml like groups.yml
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20220303.39bbc90c.obscpio
New:
----
openSUSE-release-tools-20220303.003f0105.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.aO1pHf/_old 2022-03-04 20:20:54.332680972 +0100
+++ /var/tmp/diff_new_pack.aO1pHf/_new 2022-03-04 20:20:54.336680968 +0100
@@ -20,7 +20,7 @@
%define source_dir openSUSE-release-tools
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20220303.39bbc90c
+Version: 20220303.003f0105
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0-or-later AND MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.aO1pHf/_old 2022-03-04 20:20:54.400680917 +0100
+++ /var/tmp/diff_new_pack.aO1pHf/_new 2022-03-04 20:20:54.404680914 +0100
@@ -1,7 +1,7 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
- <param
name="changesrevision">39bbc90c227d789bbd0a9c197e7d7a98d07e9cdd</param>
+ <param
name="changesrevision">003f010579af96ef6ffe09b700a50661ed29a9da</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20220303.39bbc90c.obscpio ->
openSUSE-release-tools-20220303.003f0105.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20220303.39bbc90c/docs/pkglistgen.md
new/openSUSE-release-tools-20220303.003f0105/docs/pkglistgen.md
--- old/openSUSE-release-tools-20220303.39bbc90c/docs/pkglistgen.md
2022-03-03 08:12:19.000000000 +0100
+++ new/openSUSE-release-tools-20220303.003f0105/docs/pkglistgen.md
2022-03-03 18:03:46.000000000 +0100
@@ -1,33 +1,92 @@
-# The package list generator
+# Package List Generator
-## Sources
+pkglistgen.py is a self contained script to generate and update OBS products
for openSUSE and SLE.
+It works on the products and its staging projects and ports.
-The package list generator is contained within `pkglistgen.py` and consists of
-two phases.
+The main input is a package named 000package-groups and it will update the
content of other packages
+from that. For that it will read [YAML](https://en.wikipedia.org/wiki/YAML)
input from e.g. 000package-groups/groups.yml and generate .group files into
000product. The rest of 000package-groups is copied into 000product as well and
it runs the OBS product converter service (See [OBS
Documentation](https://en.opensuse.org/openSUSE:Build_Service_product_definition)
for details)
+The generated release spec files are split into 000release-packages to avoid
needless rebuilds.
+
+## Input
+
+The package list generator reads several files. The most important are
group*.yml (tradionally only groups.yml) within 000package-groups.
+
+### supportstatus.txt
+ TODO
+
+### group*.yml
+The file is a list of package lists and the special hash 'OUTPUT'. OUTPUT
contains an entry for every group file that needs to be written out. The group
name of it needs to exist as package list as well. OUTPUT also contains flags
for the groups.
+
+We currently support:
+ * default-support
+ Sets the support level in case there is no explicitly entry in
[supportstatus.txt](#supportstatus.txt), defaults to 'unsupported'
+ * recommends
+ If the solver should take recommends into account when solving the package
list, defaults to false.
+ * includes
+ Adds package lists to the group to be solved. Allows to organize different
topics into the same group. By default there are no package lists added - the
package list with the group name is always there.
+ * excludes
+ Removes all packages from the __solved__ groups listed. Used to build addons
to main products.
+ * conflicts
+ Sets package groups not to be part of the same product. Influences the
[overlap calculation](#overlap-calculation) only.
+
+Be aware that group names must not contain a '-'.
+
+You can also adapt the solving on a package level by putting a hash into the
package list. Normally the package name is a string, in case it's a hash the
key needs to be the package name and the value is a list of following
modifiers:
+
+ * recommended
+ Evaluate also 'Recommends' in package to determine dependencies. Otherwise
only 'required' are considered. Used mainly for patterns in SLE. It can not be
combined with platforms, For architecture specific recommends, use patterns.
+ * suggested
+ Evaluate also 'Suggests' in package to determine dependencies. This implies
recommended
+ * architecture (e.g. x86_64,s390x,ppc64le,aarch64)
+ Makes the entry specific to the listed architectures. Will get ignored if
used in combination with 'recommended'.
+ * locked
+ Do not put the package into this group. Used to *force* certain packages into
other modules
+ * silent
+ Use this package for dependency solving of groups "on top", but do not output
the package for this group. Mainly to mark the product to use by adding release
packages. Use with care, this breaks dependency chains!
+ * required
+ If the package is missing or is uninstallable, don't leave a comment but put
the error as package entry for OBS to create unresolvable error to avoid
building a DVD
+
+Note that you can write yaml lists in 2 ways. You can put the modifier lists
as multiple lines starting with -, but it's recommended to put them as [M1,M2]
behind the package name. See the difference between pkg4 and pkg5 in the
example.
+
+#### Example:
+
+```
+OUTPUT:
+ - group1:
+ includes:
+ - list1
+ - list2
+ - group2:
+ default-support: l3
+ recommends: true
+ includes:
+ - list3
+ excludes:
+ - group1
+ conflicts:
+ - group3
+ - group3:
+ includes:
+ - list2
+
+group1:
+ - pkg1
+
+group2:
+ - pkg2: [locked]
+ - pkg3
+
+group3:
+ - pkg4: [x86_64]
+
+list1:
+ - pkg5:
+ - x86_64
+
+list2:
+ - pkg6: [recommended]
+```
-- `update`: updates local package cache
-- `solve`: uses libsolv to determine list of packages
+## Overlap calculcation
+ TODO
-The two phases can be run together via the `update_and_solve` subcommand which
-also performs necessary initialization and post-processing. By default it will
-run against all _scopes_, but a specific scope such as `rings` or `staging` can
-be specified.
-
-## Input and Output
-
-There is one input package and two output packages:
-
-- 000package-groups: This is the input. It contains the *.product files, as
- well as release package templates (e.g openSUSE-release.spec.in). The special
- files groups.yml is read by pkglistgen.py to output group files that are
- meant to be included by the product files.
-- 000product: This is the output container where resulting kiwi files are put
-- 000release-packages: This is the output container for release package spec
files.
-
-## The groups.yml file
-
-The groups.yml is the input for the solver. It contains dictionaries with lists
-of packages. The special key OUTPUT contains a dictionary that lists the group
-files to generate.
-
-FIXME: continue here
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20220303.39bbc90c/pkglistgen/file_utils.py
new/openSUSE-release-tools-20220303.003f0105/pkglistgen/file_utils.py
--- old/openSUSE-release-tools-20220303.39bbc90c/pkglistgen/file_utils.py
2022-03-03 08:12:19.000000000 +0100
+++ new/openSUSE-release-tools-20220303.003f0105/pkglistgen/file_utils.py
2022-03-03 18:03:46.000000000 +0100
@@ -32,7 +32,7 @@
def copy_directory_contents(source, destination, ignore_list=[]):
for name in os.listdir(source):
name_path = os.path.join(source, name)
- if name in ignore_list or not os.path.isfile(name_path):
+ if name in ignore_list or name_path in ignore_list or not
os.path.isfile(name_path):
continue
shutil.copy(name_path, os.path.join(destination, name))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20220303.39bbc90c/pkglistgen/tool.py
new/openSUSE-release-tools-20220303.003f0105/pkglistgen/tool.py
--- old/openSUSE-release-tools-20220303.39bbc90c/pkglistgen/tool.py
2022-03-03 08:12:19.000000000 +0100
+++ new/openSUSE-release-tools-20220303.003f0105/pkglistgen/tool.py
2022-03-03 18:03:46.000000000 +0100
@@ -96,8 +96,11 @@
g.parse_yml(group)
return output, unwanted
+ def group_input_files(self):
+ return glob.glob(os.path.join(self.input_dir, 'group*.yml'))
+
def load_all_groups(self):
- for fn in glob.glob(os.path.join(self.input_dir, 'group*.yml')):
+ for fn in self.group_input_files():
o, u = self._load_group_file(fn)
if o:
if self.output is not None:
@@ -646,6 +649,9 @@
release_dir = os.path.join(cache_dir, release)
oldrepos_dir = os.path.join(cache_dir, oldrepos)
+ self.input_dir = group_dir
+ self.output_dir = product_dir
+
for package in checkout_list:
if no_checkout:
print('Skipping checkout of {}/{}'.format(project, package))
@@ -656,16 +662,12 @@
file_utils.unlink_all_except(release_dir, ['weakremovers.inc'])
if not only_release_packages:
file_utils.unlink_all_except(product_dir)
- file_utils.copy_directory_contents(group_dir, product_dir,
- ['supportstatus.txt', 'groups.yml',
- 'reference-unsorted.yml',
'reference-summary.yml',
- 'package-groups.changes'])
+ ignore_list = ['supportstatus.txt', 'reference-unsorted.yml',
'reference-summary.yml', 'package-groups.changes']
+ ignore_list += self.group_input_files()
+ file_utils.copy_directory_contents(group_dir, product_dir, ignore_list)
file_utils.change_extension(product_dir, '.spec.in', '.spec')
file_utils.change_extension(product_dir, '.product.in', '.product')
- self.input_dir = group_dir
- self.output_dir = product_dir
-
print('-> do_update')
# make sure we only calculcate existant architectures
self.filter_architectures(target_archs(api.apiurl, project, main_repo))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20220303.39bbc90c/pkglistgen.md
new/openSUSE-release-tools-20220303.003f0105/pkglistgen.md
--- old/openSUSE-release-tools-20220303.39bbc90c/pkglistgen.md 2022-03-03
08:12:19.000000000 +0100
+++ new/openSUSE-release-tools-20220303.003f0105/pkglistgen.md 1970-01-01
01:00:00.000000000 +0100
@@ -1,92 +0,0 @@
-# Package List Generator
-
-pkglistgen.py is a self contained script to generate and update OBS products
for openSUSE and SLE.
-It works on the products and its staging projects and ports.
-
-The main input is a package named 000package-groups and it will update the
content of other packages
-from that. For that it will read [YAML](https://en.wikipedia.org/wiki/YAML)
input from e.g. 000package-groups/groups.yml and generate .group files into
000product. The rest of 000package-groups is copied into 000product as well and
it runs the OBS product converter service (See [OBS
Documentation](https://en.opensuse.org/openSUSE:Build_Service_product_definition)
for details)
-The generated release spec files are split into 000release-packages to avoid
needless rebuilds.
-
-## Input
-
-The package list generator reads several files. The most important is
groups.yml within 000package-groups
-
-### supportstatus.txt
- TODO
-
-### groups.yml
-The file is a list of package lists and the special hash 'OUTPUT'. OUTPUT
contains an entry for every group file that needs to be written out. The group
name of it needs to exist as package list as well. OUTPUT also contains flags
for the groups.
-
-We currently support:
- * default-support
- Sets the support level in case there is no explicitly entry in
[supportstatus.txt](#supportstatus.txt), defaults to 'unsupported'
- * recommends
- If the solver should take recommends into account when solving the package
list, defaults to false.
- * includes
- Adds package lists to the group to be solved. Allows to organize different
topics into the same group. By default there are no package lists added - the
package list with the group name is always there.
- * excludes
- Removes all packages from the __solved__ groups listed. Used to build addons
to main products.
- * conflicts
- Sets package groups not to be part of the same product. Influences the
[overlap calculation](#overlap-calculation) only.
-
-Be aware that group names must not contain a '-'.
-
-You can also adapt the solving on a package level by putting a hash into the
package list. Normally the package name is a string, in case it's a hash the
key needs to be the package name and the value is a list of following
modifiers:
-
- * recommended
- Evaluate also 'Recommends' in package to determine dependencies. Otherwise
only 'required' are considered. Used mainly for patterns in SLE. It can not be
combined with platforms, For architecture specific recommends, use patterns.
- * suggested
- Evaluate also 'Suggests' in package to determine dependencies. This implies
recommended
- * architecture (e.g. x86_64,s390x,ppc64le,aarch64)
- Makes the entry specific to the listed architectures. Will get ignored if
used in combination with 'recommended'.
- * locked
- Do not put the package into this group. Used to *force* certain packages into
other modules
- * silent
- Use this package for dependency solving of groups "on top", but do not output
the package for this group. Mainly to mark the product to use by adding release
packages. Use with care, this breaks dependency chains!
- * required
- If the package is missing or is uninstallable, don't leave a comment but put
the error as package entry for OBS to create unresolvable error to avoid
building a DVD
-
-Note that you can write yaml lists in 2 ways. You can put the modifier lists
as multiple lines starting with -, but it's recommended to put them as [M1,M2]
behind the package name. See the difference between pkg4 and pkg5 in the
example.
-
-#### Example:
-
-```
-OUTPUT:
- - group1:
- includes:
- - list1
- - list2
- - group2:
- default-support: l3
- recommends: true
- includes:
- - list3
- excludes:
- - group1
- conflicts:
- - group3
- - group3:
- includes:
- - list2
-
-group1:
- - pkg1
-
-group2:
- - pkg2: [locked]
- - pkg3
-
-group3:
- - pkg4: [x86_64]
-
-list1:
- - pkg5:
- - x86_64
-
-list2:
- - pkg6: [recommended]
-```
-
-## Overlap calculcation
- TODO
-
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.aO1pHf/_old 2022-03-04 20:20:55.112680351 +0100
+++ /var/tmp/diff_new_pack.aO1pHf/_new 2022-03-04 20:20:55.116680348 +0100
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20220303.39bbc90c
-mtime: 1646291539
-commit: 39bbc90c227d789bbd0a9c197e7d7a98d07e9cdd
+version: 20220303.003f0105
+mtime: 1646327026
+commit: 003f010579af96ef6ffe09b700a50661ed29a9da