https://progress.opensuse.org/https://progress.opensuse.org/themes/openSUSE/favicon/favicon.ico?15829177842019-06-27T16:30:32ZopenSUSE Project Management ToolopenQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2232442019-06-27T16:30:32Zokurzokurz@suse.com
<ul></ul><p>What I thought of and partially tried:</p>
<ul>
<li>Define a "devel" package in the spec file and let it require all build time dependencies which are needed also for use outside OBS and install that virtual package whenever we want to develop, e.g. as in <a href="https://github.com/os-autoinst/os-autoinst/pull/1171">https://github.com/os-autoinst/os-autoinst/pull/1171</a></li>
<li>Generate the spec file completely from a template and generated information, e.g. as with cpan2spec. Challenge would be where to store the spec-file. The best I could think of is to use travis CI to generate the spec file for every merge to master and save it in a special non-master git branch which the OBS service can check out. Why not store in master? A: To not mix generated and human-written files</li>
<li>Extract the dependencies for the container scripts from the spec file, e.g. by parsing it and transforming into a list to give to zypper on-the-fly</li>
</ul>
<p>All of the above help to define a single place for dependencies. Now to actually solve the problem that dependencies would only be active after merge not before one could use the same dependency list in the downstream "openqa" container (not "travis_test" aka. "openqa_dev") and call <code>zypper -n in $deps</code> <em>again</em> to cover any potential diff in packages, e.g. when adding new dependencies.</p>
<p>Other thing: We have a container "travis_test" aka. "openqa_dev" which is built and published by OBS and a container "openqa" based on openqa_dev which is built and run only during travis CI tests. This is confusing (the names in particular) and not helping us to cover testing of the actual other Dockerfiles we have. Maybe we can get rid of "openqa" by building "openqa_dev" again but based on cached results? Maybe define the "openqa" container just as here-doc and a less complicated script with more setup-helper-scripts, e.g. as in <a href="https://github.com/okurz/openQA/commit/b255b05939417792580abf8d5e017c28d33d75b1">https://github.com/okurz/openQA/commit/b255b05939417792580abf8d5e017c28d33d75b1</a> where I reduce duplication to setup a test database</p>
<p>EDIT: Maybe <a href="https://stackoverflow.com/questions/4339417/is-there-any-syntax-or-trick-to-be-able-to-create-a-multiline-rpm-spec-file-macr">https://stackoverflow.com/questions/4339417/is-there-any-syntax-or-trick-to-be-able-to-create-a-multiline-rpm-spec-file-macr</a> also helps to define lists of dependencies and include in spec file.</p>
openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2233792019-07-01T07:39:28Zokurzokurz@suse.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Feedback</i></li><li><strong>Assignee</strong> set to <i>okurz</i></li></ul> openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2270512019-07-15T07:31:17Zokurzokurz@suse.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-4 status-3 priority-3 priority-lowest closed" href="/issues/43619">action #43619</a>: Improve workflow for dealing with openQA's dependencies</i> added</li></ul> openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2501572019-10-15T10:25:58Zokurzokurz@suse.com
<ul><li><strong>Blocked by</strong> <i><a class="issue tracker-4 status-3 priority-4 priority-default closed" href="/issues/56525">action #56525</a>: Create rpm requires from cpanfile</i> added</li></ul> openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2501692019-10-15T10:27:23Zokurzokurz@suse.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-4 status-3 priority-4 priority-default closed" href="/issues/55346">action #55346</a>: packaging test as part of every PR</i> added</li></ul> openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2501752019-10-15T10:27:41Zokurzokurz@suse.com
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Blocked</i></li></ul><p>waiting for <a class="issue tracker-4 status-3 priority-4 priority-default closed" title="action: Create rpm requires from cpanfile (Resolved)" href="https://progress.opensuse.org/issues/56525">#56525</a> first</p>
openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2994582020-05-12T09:44:24Zokurzokurz@suse.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-4 status-3 priority-4 priority-default closed" href="/issues/66649">action #66649</a>: Test GitHub actions for os-autoinst</i> added</li></ul> openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2994762020-05-12T10:07:18Zokurzokurz@suse.com
<ul></ul><p>Discussed with tinita and mkittler and we re-confirmed what I wrote in <a class="issue tracker-4 status-1 priority-3 priority-lowest" title="action: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec,... (New)" href="https://progress.opensuse.org/issues/53546#note-1">#53546#note-1</a> , there is one noteworthy difference. The openqa_dev container definition is now only used within os-autoinst but stored in the openQA repo. That one can be moved to os-autoinst instead.</p>
openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2995332020-05-12T13:37:36Ztinitatina.mueller+trick-redmine@suse.com
<ul><li><strong>Blocked by</strong> <i><a class="issue tracker-4 status-3 priority-3 priority-lowest closed" href="/issues/66721">action #66721</a>: Use GitHub actions for os-autoinst</i> added</li></ul> openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2995392020-05-12T13:37:55Ztinitatina.mueller+trick-redmine@suse.com
<ul><li><strong>Blocked by</strong> deleted (<i><a class="issue tracker-4 status-3 priority-3 priority-lowest closed" href="/issues/66721">action #66721</a>: Use GitHub actions for os-autoinst</i>)</li></ul> openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2995422020-05-12T13:38:08Ztinitatina.mueller+trick-redmine@suse.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-4 status-3 priority-3 priority-lowest closed" href="/issues/66721">action #66721</a>: Use GitHub actions for os-autoinst</i> added</li></ul> openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2995542020-05-12T13:38:33Ztinitatina.mueller+trick-redmine@suse.com
<ul><li><strong>Related to</strong> deleted (<i><a class="issue tracker-4 status-3 priority-3 priority-lowest closed" href="/issues/66721">action #66721</a>: Use GitHub actions for os-autoinst</i>)</li></ul> openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=2995662020-05-12T13:39:04Ztinitatina.mueller+trick-redmine@suse.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-4 status-3 priority-3 priority-lowest closed" href="/issues/66721">action #66721</a>: Use GitHub actions for os-autoinst</i> added</li></ul> openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=3150992020-07-28T11:27:51Zokurzokurz@suse.com
<ul><li><strong>Target version</strong> set to <i>Ready</i></li></ul> openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=3234972020-09-08T13:30:03Zokurzokurz@suse.com
<ul></ul><p><a class="user active user-mention" href="https://progress.opensuse.org/users/22072">@mkittler</a> <a class="user active user-mention" href="https://progress.opensuse.org/users/33482">@tinita</a> see <a class="issue tracker-4 status-1 priority-3 priority-lowest" title="action: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec,... (New)" href="https://progress.opensuse.org/issues/53546#note-8">#53546#note-8</a> , we still have both "openqa_dev" and "os-autoinst_dev" in <a href="https://build.opensuse.org/project/show/devel:openQA" class="external">https://build.opensuse.org/project/show/devel:openQA</a> , can we delete the first or something?</p>
openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=3235002020-09-08T13:33:43Ztinitatina.mueller+trick-redmine@suse.com
<ul></ul><p>Yes, I think <a href="https://build.opensuse.org/package/show/devel:openQA/openqa_dev" class="external">https://build.opensuse.org/package/show/devel:openQA/openqa_dev</a> can now be deleted</p>
<p>Edit: actually it is still used as the documented way to run tests locally.</p>
openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=3235032020-09-08T14:15:09Ztinitatina.mueller+trick-redmine@suse.com
<ul></ul><p>PR to remove Dockerfile in openQA: <a href="https://github.com/os-autoinst/openQA/pull/3372" class="external">https://github.com/os-autoinst/openQA/pull/3372</a></p>
openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=3357462020-10-13T21:43:39Zokurzokurz@suse.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-4 status-12 priority-4 priority-default" href="/issues/73309">action #73309</a>: every time a direct dependency is updated in Factory our CI jobs fail until the package is updated</i> added</li></ul> openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfilehttps://progress.opensuse.org/issues/53546?journal_id=3822032021-02-11T08:57:30Zokurzokurz@suse.com
<ul><li><strong>Status</strong> changed from <i>Blocked</i> to <i>New</i></li><li><strong>Assignee</strong> deleted (<del><i>okurz</i></del>)</li><li><strong>Priority</strong> changed from <i>Normal</i> to <i>Low</i></li><li><strong>Target version</strong> changed from <i>Ready</i> to <i>future</i></li></ul><p>a major part of making working with dependencies has been done by tinita in <a class="issue tracker-4 status-3 priority-3 priority-lowest closed" title="action: Improve workflow for dealing with openQA's dependencies (Resolved)" href="https://progress.opensuse.org/issues/43619">#43619</a> . We don't have a good idea for the other points mentioned. I would still favor a solution that is less openSUSE centric and duplicates less code in our source repo even if it is auto-generated so I will keep the ticket but keep out of our backlog as an idea for later.</p>