Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@pirat89
Copy link
Member

@pirat89 pirat89 commented Jan 8, 2020

Originally we had troubles with dependencies and release processes
as we have been strict about versions of leapp and repositories,
specified in the leapp rpm. As well, we would like to ensure that
currently we will install all rpms when leapp tool is installed.

So we are going to keep dependency on leapp-repository, but
without a version specification. We are going to left the
reponsiblity for version check on repositories itself.

As well, python?-leapp rpms will provide new leapp-framework
capability informing about incompatible changes or new features that
affects leapp repository (like changes in stdlib). This one will
be more flexible than official versioning and can be updated per
PR (see comment in the spec file for more details).

As well, I added several new macros in the SPEC, so there is no need
to update same values on several places anymore. Just update macros
in the top of the SPEC.

There is missing solution for Py3 framework. See the comments for more details, and this. I commented out the capability for python3-leapp now, so we can resolve it even later.


Tasks:

  • update leapp.spec
  • create documentation
  • prepare PR in leapp-repository

@centos-ci
Copy link

Can one of the admins verify this patch?

@pirat89 pirat89 changed the title [DO_NOT_MERGE] Pkg version deps [DO_NOT_MERGE] packaging: improve deps, polish spec and fix split of files Jan 8, 2020
@pirat89 pirat89 changed the title [DO_NOT_MERGE] packaging: improve deps, polish spec and fix split of files [WIP] packaging: improve deps, polish spec and fix split of files Jan 8, 2020
@pirat89 pirat89 added the wip label Jan 8, 2020
pirat89 added a commit to pirat89/leapp-repository that referenced this pull request Jan 8, 2020
See the leapp PR for more details:
  oamg/leapp#591

In short, leapp-repository takes care that compatible version of the
framework is installed.
@pirat89
Copy link
Member Author

pirat89 commented Jan 8, 2020

@oamg/developers - the name of capability can be changed yet. I am waiting with writting of the documentation until we have agreement on the solution.

@pirat89
Copy link
Member Author

pirat89 commented Jan 8, 2020

@oamg/developers Here is prepared tmp repository with several leapp and leapp-repository builds with various provides & requirements:

[copr:copr.fedorainfracloud.org:pstodulk:leapp-deps-test]
name=Copr repo for leapp-deps-test owned by pstodulk
baseurl=https://copr-be.cloud.fedoraproject.org/results/pstodulk/leapp-deps-test/epel-7-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://copr-be.cloud.fedoraproject.org/results/pstodulk/leapp-deps-test/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1

https://copr.fedorainfracloud.org/coprs/pstodulk/leapp-deps-test

@drehak
Copy link
Contributor

drehak commented Jan 23, 2020

Given that this is a pretty big change in deps, shouldn't this be mentioned in the %changelog? Or do we not care about that section?

@pirat89
Copy link
Member Author

pirat89 commented Jan 24, 2020

@drehak: we never care about %changelog in upstream. this will be kept unchanged forever. That's why we have changlog for releases. Downstream takes care of %changelog.

Copy link
Contributor

@drehak drehak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

drehak
drehak previously approved these changes Jan 30, 2020
@pirat89
Copy link
Member Author

pirat89 commented Feb 4, 2020

I will probably document that in the following PR as documentation needs more changes anyway and I am kind of sick now. keeping that opened, until @bocekm finishes review of Beta/HTB, so we willl be able to merge both things together (as in both cases, other prs will have to be rebased).

@pirat89 pirat89 changed the title [WIP] packaging: improve deps, polish spec and fix split of files packaging: improve deps, polish spec and fix split of files Feb 4, 2020
@pirat89 pirat89 removed the wip label Feb 4, 2020
bocekm
bocekm previously approved these changes Feb 12, 2020
@pirat89 pirat89 dismissed stale reviews from bocekm and drehak via f4031af February 12, 2020 19:08
Originally we had troubles with dependencies and release processes
as we have been strict about versions of leapp and repositories,
specified in the leapp rpm. As well, we would like to ensure that
currently we will install all rpms when leapp tool is installed.

So we are going to keep dependency on leapp-repository, but
without a version specification. We are going to left the
reponsiblity for version check on repositories itself.

As well, python?-leapp rpms will provide new leapp-framework
capability informing about incompatible changes or new features that
affects leapp repository (like changes in stdlib). This one will
be more flexible than official versioning and can be updated per
PR (see comment in the spec file for more details).

As well, I added several new macros in the SPEC, so there is no need
to update same values on several places anymore. Just update macros
in the top of the SPEC.
Move all leapp and snactor files into related rpms instead of keeping
them inside the python?-leapp (framework) rpms.
See the comment in spec and:
  https://serverfault.com/questions/411444/rpm-set-required-somepackage-0-5-0-and-somepackage-0-6-0

In case that on some system (repo) both python?-leapp rpms are
provided, it could happen that 2 different rpms will be installed and
compatibility will be broken.
@pirat89
Copy link
Member Author

pirat89 commented Feb 12, 2020

It's broken travis ci - issues with pylint running on Python3 because of versions of pylint. That's unrelated to the changes in the PR. As well, leapp bot issue is unrelated to the PR.

bocekm pushed a commit to oamg/leapp-repository that referenced this pull request Feb 12, 2020
See the leapp PR for more details:
  oamg/leapp#591

In short, leapp-repository takes care that compatible version of the
framework is installed.
@bocekm bocekm merged commit 989f8d7 into oamg:master Feb 12, 2020
pirat89 added a commit to pirat89/leapp that referenced this pull request Apr 7, 2020
## Packaging
- Add BuildRequires on python2-setuptools
- Add new dependency on python?-requests
- Add unversioned dependency on leapp-repository and provide
  the leapp-framework capability in python2-leapp (see docs about
  "new dependency mechanism") (oamg#591)
- Move all leapp and snactor files into related rpms istead of python?-leapp (oamg#591)
- Remove dependency on Jinja2

## Framework
### Fixes
- Fix json export capabilities using serialization (oamg#598)

### Enhancements
- Add the DESKTOP tag for the leapp report (oamg#612)
- Dialogs are non-interactive and redesigned significantly; but in beta support
  (see the known issue)
- Introduce DialogModel that could be processed by actors to add related
  information into the report (oamg#589)
- Introduce Workflow API (see the tutorial) (oamg#618)
- Report inhibitors seprately from errors on stdout (oamg#620)
- Show progress in non verbose executions (oamg#621)

### Known issue
- The answerfile is not generated on some machines after the run of leapp.
  Currently it's under investigation and it will be fixed definitely in the
  next release.

## Leapp
### Fixes
- Print message about generated report when `leapp upgrade` ends, as we do for
  `leapp preupgrade` (oamg#573)

### Enhancements
- Add `leapp answer` to answer Dialog questions on CLI (oamg#592)
- Add the --no-rhsm option for (pre)upgrade commands (oamg#622)
- Display warning when leapp is used in unsupported (devel/testing) mode (oamg#577)
- Print errors on stdout in pretty format (oamg#593)
- The error messages are part of the preupgrade report
- The verbosity options (--verbose | --debug) are available for leapp commands as well

## Snactor
### Fixes
### Enhancements

## stdlib
### Fixes

### Enhancements
- Add `stdin` and `encoding` parameters in the run function (oamg#583, oamg#595)

## Modifications
- Code is compatible with Python3 pylint
pirat89 added a commit to pirat89/leapp that referenced this pull request Apr 16, 2020
## Packaging
- Add BuildRequires on python2-setuptools
- Add new dependency on python2-requests
- Add unversioned dependency on leapp-repository and provide
  the leapp-framework capability in python2-leapp (see docs about
  "new dependency mechanism") (oamg#591)
- Move all leapp and snactor files into related rpms instead of python?-leapp (oamg#591)
- Remove dependency on Jinja2

## Framework
### Fixes
- Fix json export capabilities using serialization (oamg#598)

### Enhancements
- Add the DESKTOP tag for the leapp report (oamg#612)
- Dialogs are non-interactive and redesigned significantly; but in beta support
  (see the known issue)
- Introduce DialogModel that could be processed by actors to add related
  information into the report (oamg#589)
- Introduce Workflow API (see the Workflow APIs tutorial) (oamg#618)
- Report inhibitors separately from errors on stdout (oamg#620)
- Show progress in non-verbose executions (oamg#621)

### Known issue
- The answerfile is not generated on some machines after the run of leapp.
  Currently it's under investigation.

## Leapp
### Fixes
- Print message about generated report when `leapp upgrade` ends, as we do for
  `leapp preupgrade` (oamg#573)

### Enhancements
- Add `leapp answer` to answer Dialog questions in CLI (oamg#592)
- Add the --no-rhsm option for (pre)upgrade commands (oamg#622)
- Add the --enablerepo option for Leapp to use an existing custom yum/dnf
repository during the upgrade
- Display a warning when leapp is used in an unsupported (devel/testing) mode (oamg#577)
- Print errors on stdout in pretty format (oamg#593)
- Error messages are now part of the preupgrade report
- The verbosity options (--verbose | --debug) are available for leapp commands as well

## stdlib
### Enhancements
- Add `stdin` and `encoding` parameters in the run function (oamg#583, oamg#595)

## Modifications
- Code is compatible with Python3 pylint
@pirat89 pirat89 mentioned this pull request Apr 16, 2020
pirat89 added a commit that referenced this pull request Apr 16, 2020
## Packaging
- Add BuildRequires on python2-setuptools
- Add new dependency on python2-requests
- Add unversioned dependency on leapp-repository and provide
  the leapp-framework capability in python2-leapp (see docs about
  "new dependency mechanism") (#591)
- Move all leapp and snactor files into related rpms instead of python?-leapp (#591)
- Remove dependency on Jinja2

## Framework
### Fixes
- Fix json export capabilities using serialization (#598)

### Enhancements
- Add the DESKTOP tag for the leapp report (#612)
- Dialogs are non-interactive and redesigned significantly; but in beta support
  (see the known issue)
- Introduce DialogModel that could be processed by actors to add related
  information into the report (#589)
- Introduce Workflow API (see the Workflow APIs tutorial) (#618)
- Report inhibitors separately from errors on stdout (#620)
- Show progress in non-verbose executions (#621)

### Known issue
- The answerfile is not generated on some machines after the run of leapp.
  Currently it's under investigation.

## Leapp
### Fixes
- Print message about generated report when `leapp upgrade` ends, as we do for
  `leapp preupgrade` (#573)

### Enhancements
- Add `leapp answer` to answer Dialog questions in CLI (#592)
- Add the --no-rhsm option for (pre)upgrade commands (#622)
- Add the --enablerepo option for Leapp to use an existing custom yum/dnf
repository during the upgrade
- Display a warning when leapp is used in an unsupported (devel/testing) mode (#577)
- Print errors on stdout in pretty format (#593)
- Error messages are now part of the preupgrade report
- The verbosity options (--verbose | --debug) are available for leapp commands as well

## stdlib
### Enhancements
- Add `stdin` and `encoding` parameters in the run function (#583, #595)

## Modifications
- Code is compatible with Python3 pylint
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants