Skip to content

Commit

Permalink
Merge pull request #1328 from jberry-suse/pkglistgen-migrate-followup
Browse files Browse the repository at this point in the history
pkglistgen: migrate bash scripts to python followup
  • Loading branch information
jberry-suse committed Jan 9, 2018
2 parents 2b037a0 + 3ae00c1 commit b41bbd1
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 5 deletions.
2 changes: 1 addition & 1 deletion osclib/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
'repo-checker': 'repo-checker',
'pkglistgen-archs': 'x86_64',
'pkglistgen-archs-ports': 'aarch64',
'pkglistgen-locals-from': 'openSUSE-product',
'pkglistgen-locals-from': 'openSUSE.product',
'pkglistgen-include-suggested': '1',
'pkglistgen-delete-kiwis': 'openSUSE-ftp-ftp-x86_64.kiwi openSUSE-cd-mini-x86_64.kiwi',
},
Expand Down
16 changes: 13 additions & 3 deletions pkglistgen.py
Original file line number Diff line number Diff line change
Expand Up @@ -1020,14 +1020,17 @@ def do_update_and_solve(self, subcmd, opts):

def update_and_solve_target(self, apiurl, target_project, target_config, main_repo, opts,
skip_release=False):
print('[{}] {}/{}: update and solve'.format(opts.scope, opts.project, main_repo))

group = target_config.get('pkglistgen-group', '000package-groups')
product = target_config.get('pkglistgen-product', '000product')
release = target_config.get('pkglistgen-release', '000release-packages')

url = makeurl(apiurl, ['source', opts.project])
packages = ET.parse(http_GET(url)).getroot()
if packages.find('entry[@name="{}"]'.format(product)) is None:
undelete_package(apiurl, opts.project, product, 'revive')
if not self.options.dry:
undelete_package(apiurl, opts.project, product, 'revive')
# TODO disable build.
print('{} undeleted, skip dvd until next cycle'.format(product))
return
Expand All @@ -1043,7 +1046,8 @@ def update_and_solve_target(self, apiurl, target_project, target_config, main_re
checkout_list.append(release)

if packages.find('entry[@name="{}"]'.format(release)) is None:
undelete_package(apiurl, opts.project, product, 'revive')
if not self.options.dry:
undelete_package(apiurl, opts.project, product, 'revive')
print('{} undeleted, skip dvd until next cycle'.format(release))
return

Expand All @@ -1070,19 +1074,25 @@ def update_and_solve_target(self, apiurl, target_project, target_config, main_re
['supportstatus.txt', 'groups.yml', 'package-groups.changes'])
self.change_extension(product_dir, '.spec.in', '.spec')

self.options.input_dir = group_dir
self.options.output_dir = product_dir
self.postoptparse()

print('-> do_update')
self.do_update('update', opts)

opts.ignore_recommended = bool(target_config.get('pkglistgen-include-recommended'))
print('-> do_solve')
opts.ignore_unresolvable = bool(target_config.get('pkglistgen-ignore-unresolvable'))
opts.ignore_recommended = bool(target_config.get('pkglistgen-ignore-recommended'))
opts.include_suggested = bool(target_config.get('pkglistgen-include-suggested'))
opts.locale = target_config.get('pkglistgen-local')
opts.locales_from = target_config.get('pkglistgen-locals-from')
self.do_solve('solve', opts)

delete_products = target_config.get('pkglistgen-delete-products', '').split(' ')
self.unlink_list(product_dir, delete_products)

print('-> product service')
for product_file in glob.glob(os.path.join(product_dir, '*.product')):
print(subprocess.check_output(
[PRODUCT_SERVICE, product_file, product_dir, opts.project]))
Expand Down
2 changes: 1 addition & 1 deletion systemd/osrt-pkglistgen@.service
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Description=openSUSE Release Tools: generate package lists for %i

[Service]
User=osrt-repo-checker
ExecStart=/usr/bin/osrt-pkglistgen -p "%i"
ExecStart=/usr/bin/osrt-pkglistgen update_and_solve -p "%i"

[Install]
WantedBy=multi-user.target

0 comments on commit b41bbd1

Please sign in to comment.