<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.opm-project.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Markusblatt</id>
	<title>opm - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.opm-project.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Markusblatt"/>
	<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Special:Contributions/Markusblatt"/>
	<updated>2026-05-02T13:20:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.13</generator>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1904</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1904"/>
		<updated>2022-03-30T19:42:00Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* Building the package */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on [https://salsa.debian.org salsa]. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;. This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change changelog: &amp;lt;code&amp;gt;dch --newversion &amp;lt;new-version&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
* Do further work on the package.&lt;br /&gt;
&lt;br /&gt;
==== Import a pre-release version using an upstream git commit or tag ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
 dch --newversion $VERSION&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that the branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead. Note. that the version includes the date of the commit to make the order of the releases sensible.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
and create that directory if it is not present&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     #BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     #BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Building the package ===&lt;br /&gt;
&lt;br /&gt;
Building the package using pbuilder in the chroot is done using the command:&lt;br /&gt;
&lt;br /&gt;
 DEPS=opm-sid gbp buildpackage --git-ignore-new \&lt;br /&gt;
  --git-export-dir=../build-area-pbuilder-sid --git-pbuilder&lt;br /&gt;
&lt;br /&gt;
=== Finishing touches and uploading of the release ===&lt;br /&gt;
&lt;br /&gt;
* Update debian/changelog: &amp;lt;code&amp;gt;gbp dch&amp;lt;/code&amp;gt;&lt;br /&gt;
* Polish debian/changelog.&lt;br /&gt;
* push changes, e.g. by &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
* Ask Markus (he is a Debian Maintainer) to upload the release&lt;br /&gt;
&lt;br /&gt;
The uploader should:&lt;br /&gt;
* Test the package build&lt;br /&gt;
* Release debian/changelog: &amp;lt;code&amp;gt;dch -r&amp;lt;/code&amp;gt;&lt;br /&gt;
* Tag the release: &amp;lt;code&amp;gt;gbp tag --sign-tags&amp;lt;/code&amp;gt;&lt;br /&gt;
* Push the changes: &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1903</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1903"/>
		<updated>2022-03-30T19:32:20Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* Performing builds using locally built packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on [https://salsa.debian.org salsa]. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;. This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change changelog: &amp;lt;code&amp;gt;dch --newversion &amp;lt;new-version&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
* Do further work on the package.&lt;br /&gt;
&lt;br /&gt;
==== Import a pre-release version using an upstream git commit or tag ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
 dch --newversion $VERSION&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that the branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead. Note. that the version includes the date of the commit to make the order of the releases sensible.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
and create that directory if it is not present&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     #BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     #BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Building the package ===&lt;br /&gt;
&lt;br /&gt;
Building the package using pbuilder in the chroot is done using the command:&lt;br /&gt;
&lt;br /&gt;
 DEPS=opm-sid gbp buildpackage --git-ignore-new \&lt;br /&gt;
  --git-export-dir=../build-area-pbuilder-sid --git-pbuilder&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1902</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1902"/>
		<updated>2022-03-30T19:31:53Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* Additional setup instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on [https://salsa.debian.org salsa]. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;. This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change changelog: &amp;lt;code&amp;gt;dch --newversion &amp;lt;new-version&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
* Do further work on the package.&lt;br /&gt;
&lt;br /&gt;
==== Import a pre-release version using an upstream git commit or tag ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
 dch --newversion $VERSION&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that the branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead. Note. that the version includes the date of the commit to make the order of the releases sensible.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
and create that directory if it is not present&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Building the package ===&lt;br /&gt;
&lt;br /&gt;
Building the package using pbuilder in the chroot is done using the command:&lt;br /&gt;
&lt;br /&gt;
 DEPS=opm-sid gbp buildpackage --git-ignore-new \&lt;br /&gt;
  --git-export-dir=../build-area-pbuilder-sid --git-pbuilder&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1901</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1901"/>
		<updated>2022-03-30T19:31:38Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* Additional setup instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on [https://salsa.debian.org salsa]. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;. This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change changelog: &amp;lt;code&amp;gt;dch --newversion &amp;lt;new-version&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
* Do further work on the package.&lt;br /&gt;
&lt;br /&gt;
==== Import a pre-release version using an upstream git commit or tag ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
 dch --newversion $VERSION&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that the branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead. Note. that the version includes the date of the commit to make the order of the releases sensible.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
and create that dorectory if it is not present&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Building the package ===&lt;br /&gt;
&lt;br /&gt;
Building the package using pbuilder in the chroot is done using the command:&lt;br /&gt;
&lt;br /&gt;
 DEPS=opm-sid gbp buildpackage --git-ignore-new \&lt;br /&gt;
  --git-export-dir=../build-area-pbuilder-sid --git-pbuilder&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1900</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1900"/>
		<updated>2022-03-30T19:31:00Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* Import a pre-release version using an upstream git commit or tag */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on [https://salsa.debian.org salsa]. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;. This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change changelog: &amp;lt;code&amp;gt;dch --newversion &amp;lt;new-version&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
* Do further work on the package.&lt;br /&gt;
&lt;br /&gt;
==== Import a pre-release version using an upstream git commit or tag ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
 dch --newversion $VERSION&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that the branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead. Note. that the version includes the date of the commit to make the order of the releases sensible.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Building the package ===&lt;br /&gt;
&lt;br /&gt;
Building the package using pbuilder in the chroot is done using the command:&lt;br /&gt;
&lt;br /&gt;
 DEPS=opm-sid gbp buildpackage --git-ignore-new \&lt;br /&gt;
  --git-export-dir=../build-area-pbuilder-sid --git-pbuilder&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1899</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1899"/>
		<updated>2022-03-30T19:29:31Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* Import a pre-release version using an upstream git commit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on [https://salsa.debian.org salsa]. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;. This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change changelog: &amp;lt;code&amp;gt;dch --newversion &amp;lt;new-version&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
* Do further work on the package.&lt;br /&gt;
&lt;br /&gt;
==== Import a pre-release version using an upstream git commit or tag ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
 dch --newversion $VERSION&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Building the package ===&lt;br /&gt;
&lt;br /&gt;
Building the package using pbuilder in the chroot is done using the command:&lt;br /&gt;
&lt;br /&gt;
 DEPS=opm-sid gbp buildpackage --git-ignore-new \&lt;br /&gt;
  --git-export-dir=../build-area-pbuilder-sid --git-pbuilder&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1898</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1898"/>
		<updated>2022-03-30T19:29:06Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* Import a prerelease version using an upstream git commit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on [https://salsa.debian.org salsa]. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;. This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change changelog: &amp;lt;code&amp;gt;dch --newversion &amp;lt;new-version&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
* Do further work on the package.&lt;br /&gt;
&lt;br /&gt;
==== Import a pre-release version using an upstream git commit ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
 dch --newversion $VERSION&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Building the package ===&lt;br /&gt;
&lt;br /&gt;
Building the package using pbuilder in the chroot is done using the command:&lt;br /&gt;
&lt;br /&gt;
 DEPS=opm-sid gbp buildpackage --git-ignore-new \&lt;br /&gt;
  --git-export-dir=../build-area-pbuilder-sid --git-pbuilder&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1897</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1897"/>
		<updated>2022-03-30T19:28:49Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* repository management with git-buildpackage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on [https://salsa.debian.org salsa]. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;. This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change changelog: &amp;lt;code&amp;gt;dch --newversion &amp;lt;new-version&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
* Do further work on the package.&lt;br /&gt;
&lt;br /&gt;
==== Import a prerelease version using an upstream git commit ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
 dch --newversion $VERSION&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Building the package ===&lt;br /&gt;
&lt;br /&gt;
Building the package using pbuilder in the chroot is done using the command:&lt;br /&gt;
&lt;br /&gt;
 DEPS=opm-sid gbp buildpackage --git-ignore-new \&lt;br /&gt;
  --git-export-dir=../build-area-pbuilder-sid --git-pbuilder&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1896</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1896"/>
		<updated>2022-03-30T19:28:25Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* Repositories on Salsa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on [https://salsa.debian.org salsa]. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change changelog: &amp;lt;code&amp;gt;dch --newversion &amp;lt;new-version&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
* Do further work on the package.&lt;br /&gt;
&lt;br /&gt;
==== Import a prerelease version using an upstream git commit ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
 dch --newversion $VERSION&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Building the package ===&lt;br /&gt;
&lt;br /&gt;
Building the package using pbuilder in the chroot is done using the command:&lt;br /&gt;
&lt;br /&gt;
 DEPS=opm-sid gbp buildpackage --git-ignore-new \&lt;br /&gt;
  --git-export-dir=../build-area-pbuilder-sid --git-pbuilder&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1895</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1895"/>
		<updated>2022-03-30T15:31:28Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* Notes on Maintaining the Debian Packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on sala. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* Change changelog: &amp;lt;code&amp;gt;dch --newversion &amp;lt;new-version&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
* Do further work on the package.&lt;br /&gt;
&lt;br /&gt;
==== Import a prerelease version using an upstream git commit ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
 dch --newversion $VERSION&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Building the package ===&lt;br /&gt;
&lt;br /&gt;
Building the package using pbuilder in the chroot is done using the command:&lt;br /&gt;
&lt;br /&gt;
 DEPS=opm-sid gbp buildpackage --git-ignore-new \&lt;br /&gt;
  --git-export-dir=../build-area-pbuilder-sid --git-pbuilder&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1894</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1894"/>
		<updated>2022-03-30T15:24:51Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* Building the package */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on sala. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): gbp pull&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
&lt;br /&gt;
==== Import a prerelease version using an upstream git commit ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Building the package ===&lt;br /&gt;
&lt;br /&gt;
Building the package using pbuilder in the chroot is done using the command:&lt;br /&gt;
&lt;br /&gt;
 DEPS=opm-sid gbp buildpackage --git-ignore-new \&lt;br /&gt;
  --git-export-dir=../build-area-pbuilder-sid --git-pbuilder&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1893</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1893"/>
		<updated>2022-03-30T15:24:06Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* Performing builds using locally built packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on sala. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): gbp pull&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
&lt;br /&gt;
==== Import a prerelease version using an upstream git commit ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
=== Building the package ===&lt;br /&gt;
&lt;br /&gt;
Building the package is done easily using the command&lt;br /&gt;
&lt;br /&gt;
 DEPS=opm-sid gbp buildpackage --git-ignore-new \&lt;br /&gt;
  --git-export-dir=../build-area-pbuilder-sid --git-pbuilder&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1892</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1892"/>
		<updated>2022-03-30T15:21:04Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on sala. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): gbp pull&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
&lt;br /&gt;
==== Import a prerelease version using an upstream git commit ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that branch upstream contains the complete upstream git history. Note that one could also use a git tag instead of a git commit hash instead.&lt;br /&gt;
&lt;br /&gt;
== Building the packages in a chroot using cowbuilder ==&lt;br /&gt;
&lt;br /&gt;
These instructions are for using [https://wiki.debian.org/cowbuilder cowbuilder] to build the packages in a chroot. Please follow the instructions described in the previous link to set it up. &lt;br /&gt;
&lt;br /&gt;
=== Additional setup instructions ===&lt;br /&gt;
&lt;br /&gt;
To make the following work, please make sure that there is a &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt; with an entry that sets the HOOKDIR like&lt;br /&gt;
 # the hook dir may already be set/populated!&lt;br /&gt;
 HOOKDIR=&amp;quot;$HOME/.pbuilder/hooks/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Running autopkgtest ====&lt;br /&gt;
&lt;br /&gt;
The packages of the OPM modules come with autopkgtest that will test the installed packages for usability. As it is really handy to have these tests run when building the packages, you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first.&lt;br /&gt;
&lt;br /&gt;
==== Running Lintian ====&lt;br /&gt;
&lt;br /&gt;
Lintian will do a lot of sanity checks for the built packages. To run it automatically you should copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Opening a shell in case of a failed build ====&lt;br /&gt;
&lt;br /&gt;
To investigate problems if a build is failing, it is handy to open a shell in the chroot in case of failure. To do that simply copy the file &amp;lt;code&amp;gt;/usr/share/doc/pbuilder/examples/B20autopkgtest&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks&amp;lt;/code&amp;gt; (you might need to create that directory first).&lt;br /&gt;
&lt;br /&gt;
==== Performing builds using locally built packages ====&lt;br /&gt;
&lt;br /&gt;
As OPM consists of multiple modules that depend on each other, for a new release we need to build all of this modules and test them at once. To do that we copy the built modules to &amp;lt;code&amp;gt;/var/cache/pbuilder/deps/opm-sid/&amp;lt;/sid&amp;gt; and let cowbuilder create a local repository for that. To do that create a file &amp;lt;code&amp;gt;$HOME/.pbuilder/hooks/D05deps/&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&lt;br /&gt;
 DEPSPATH=&amp;quot;$DEPSBASE/$DEPS&amp;quot;&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] &amp;amp;&amp;amp; [ -d &amp;quot;$DEPSPATH&amp;quot; ] ; then&lt;br /&gt;
     apt-get install --assume-yes apt-utils&lt;br /&gt;
     ( cd &amp;quot;$DEPSPATH&amp;quot;; apt-ftparchive packages . &amp;gt; Packages )&lt;br /&gt;
     echo &amp;quot;deb [trusted=yes] file://$DEPSPATH ./&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
     apt-get update&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Also add the following code to &amp;lt;code&amp;gt;$HOME/.pbuilderrc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 if [ -n &amp;quot;$DEPS&amp;quot; ] ; then&lt;br /&gt;
     export DEPSBASE=/var/cache/pbuilder/deps&lt;br /&gt;
     BINDMOUNTS=$DEPSBASE&lt;br /&gt;
     BUILDRESULT=$DEPSbase/$DEPS&lt;br /&gt;
 else&lt;br /&gt;
     BUILDRESULT=/var/cache/pbuilder/result&lt;br /&gt;
 fi&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1891</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1891"/>
		<updated>2022-03-30T13:29:35Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: /* Import a prerelease version using a tarball of a git commit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on sala. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): gbp pull&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
&lt;br /&gt;
==== Import a prerelease version using an upstream git commit ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need (e.g. by &amp;lt;code&amp;gt;git checkout upstream/master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 TAG=$(git rev-parse --short HEAD)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;br /&gt;
 gbp import-orig --upstream-vcs-tag=$TAG ../$PREFIX.orig.tar.gz&lt;br /&gt;
&lt;br /&gt;
Doing it this way will make sure that branch upstream contains the complete upstream git history&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1890</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1890"/>
		<updated>2022-03-30T13:15:54Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on sala. These are:&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
* [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== git-buildpackage instruction ===&lt;br /&gt;
&lt;br /&gt;
==== repository management with git-buildpackage ====&lt;br /&gt;
&lt;br /&gt;
* To clone a repository please use gbp use e.g.: &amp;lt;code&amp;gt;gbp clone https://salsa.debian.org/science-team/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
This  will clone the repository with the three banches master (Where the debian packaging effort is), upstream (The upstream repository as of the last release that was imported), and pristine-tar (The branch holding the deltas for reconstructing the original tarball).&lt;br /&gt;
* To download the recent changes to the packaging effort from other do &amp;lt;code&amp;gt;gbp pull&amp;lt;/code&amp;gt;&lt;br /&gt;
* To upload your recent changes (to all relevant branches) use &amp;lt;code&amp;gt;gbp push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import new (final) upstream release ====&lt;br /&gt;
&lt;br /&gt;
For more information see [https://https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.patches.newupstream.html gbp documentation].&lt;br /&gt;
&lt;br /&gt;
For importing a new upstream version, please follow the following recipe:&lt;br /&gt;
* If not done yet, add the upstream git to repo , e.g. &amp;lt;code&amp;gt;git remote add upstream https://github.com/OPM/opm-common&amp;lt;/code&amp;gt;&lt;br /&gt;
* make sure the patch-queue branch is up to date&lt;br /&gt;
* update upstream: &amp;lt;code&amp;gt;git fetch upstream&amp;lt;/code&amp;gt;&lt;br /&gt;
* update necessary branches from debian repo (in case of changes from others): gbp pull&lt;br /&gt;
* import new version: &amp;lt;code&amp;gt;gbp import-orig --uscan&amp;lt;/code&amp;gt;&lt;br /&gt;
* rebase patch queue: &amp;lt;code&amp;gt;gbp pq rebase&amp;lt;/code&amp;gt;&lt;br /&gt;
* resolve conflicts, etc.&lt;br /&gt;
* export the patch queue: &amp;lt;code&amp;gt;gbp pq export --commit&amp;lt;/code&amp;gt;&lt;br /&gt;
* change the commit message to something more meaningful&lt;br /&gt;
&lt;br /&gt;
==== Import a prerelease version using a tarball of a git commit ====&lt;br /&gt;
&lt;br /&gt;
Instead of importing the new version using uscan as above, you manually create a tarball based on a git check checkout of upstream.&lt;br /&gt;
This assumes that you have checked out the version that you need.&lt;br /&gt;
&lt;br /&gt;
 PACKAGE=opm-common # name of the package&lt;br /&gt;
 NEXTVERSION=2022.04 # next stable version&lt;br /&gt;
 VERSION=$(git log -1 --date=format:%Y%m%d --pretty=$NEXTVERSION~git%cd.%h)&lt;br /&gt;
 PREFIX=${PACKAGE}_${VERSION}; DIR_PREFIX=${PACKAGE}-${VERSION};&lt;br /&gt;
 git archive --format=tar --prefix=$DIR_PREFIX/ HEAD | gzip -c &amp;gt; ../$PREFIX.orig.tar.gz&lt;br /&gt;
 git checkout master # branch with the debian packaging&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1889</id>
		<title>Debian Packaging Workflow</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Debian_Packaging_Workflow&amp;diff=1889"/>
		<updated>2022-03-29T14:09:04Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: Created page with &amp;quot;== Notes on Maintaining the Debian Packages ==  Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rath...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Notes on Maintaining the Debian Packages ==&lt;br /&gt;
&lt;br /&gt;
Although you may still find a debian subdirectory in our OPM repositories this is obsolete and should not be used as it is rather outdated. The Debian packaging effort takes place on [https://salsa.debian.org salsa.debian.org] and is managed by the [https://wiki.debian.org/Teams/DebianScience Debian Science Team]. To contribute you will have to create an account on salsa.debian.org and apply for being added to the [https://salsa.debian.org/science-team Debian Science Team]. If it takes long then you might want to send an email to the Debian Science mailinglist [mailto:debian-science@lists.debian.org debian-science@lists.debian.org].&lt;br /&gt;
&lt;br /&gt;
=== Repositories on Salsa ===&lt;br /&gt;
&lt;br /&gt;
For each module there is a corresponding repository on sala. These are:&lt;br /&gt;
- [https://salsa.debian.org/science-team/opm-common https://salsa.debian.org/science-team/opm-common]&lt;br /&gt;
- [https://salsa.debian.org/science-team/opm-material https://salsa.debian.org/science-team/opm-material]&lt;br /&gt;
- [https://salsa.debian.org/science-team/opm-grid https://salsa.debian.org/science-team/opm-grid]&lt;br /&gt;
- [https://salsa.debian.org/science-team/opm-models https://salsa.debian.org/science-team/opm-models]&lt;br /&gt;
- [https://salsa.debian.org/science-team/opm-simulators https://salsa.debian.org/science-team/opm-simulators]&lt;br /&gt;
- [https://salsa.debian.org/science-team/opm-upscaling https://salsa.debian.org/science-team/opm-upscaling]&lt;br /&gt;
&lt;br /&gt;
The packaging effort uses [https://honk.sigxcpu.org/piki/projects/git-buildpackage/ git-buildpackage] as the main tool and bases the packaging on release tarballs and quilt for patching the upstream versions found in OPM&amp;#039;s git repositories.&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Main_Page&amp;diff=1888</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Main_Page&amp;diff=1888"/>
		<updated>2022-03-29T13:43:32Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Getting started with OPM =&lt;br /&gt;
&lt;br /&gt;
We have a [[Quick Installation]] guide, showing how to install the opm-core library.&lt;br /&gt;
&lt;br /&gt;
The [[FPGA setup and building]] guide explains how to compile and use the &amp;#039;&amp;#039;bitstream&amp;#039;&amp;#039; for the FPGA-enabled Flow simulator.&lt;br /&gt;
&lt;br /&gt;
The [//opm-project.org/?page_id=43 tutorials] section contain some tutorials for programmers using opm-core.&lt;br /&gt;
&lt;br /&gt;
Consult the [//meta.wikimedia.org/wiki/Help:Contents User&amp;#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Please note that the content of this wiki is in the process of being updated, many parts are not current!&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
= User documentation for selected programs =&lt;br /&gt;
* Black-oil reservoir simulator Flow:&lt;br /&gt;
** [[Black-oil simulator|Black-oil simulator]]&lt;br /&gt;
** [[Thermal simulator|Thermal simulator]]&lt;br /&gt;
** [[Water evaporation|Water evaporation]]&lt;br /&gt;
** [[Salt precipitation|Salt precipitation]]&lt;br /&gt;
* [[CO2 sequestration]]&lt;br /&gt;
* [[Enhanced oil recovery]]&lt;br /&gt;
* [[Geothermal flow_onephase_energy]]&lt;br /&gt;
*  [[Upscaling]]&lt;br /&gt;
&lt;br /&gt;
= Developer Information =&lt;br /&gt;
&lt;br /&gt;
=== How to contribute ===&lt;br /&gt;
&lt;br /&gt;
OPM tries to follow a development model which is as open as possible. Therefore, all development happens on [//github.com/OPM github]. The process of contributing changes is the following:&lt;br /&gt;
* Fork the module for which you want to propose a change on github&lt;br /&gt;
* Locally create a new branch of the module&amp;#039;s repository which contains your changes&lt;br /&gt;
* Push this branch to your personal github fork&lt;br /&gt;
* [https://help.github.com/articles/using-pull-requests Create a pull request]&lt;br /&gt;
* To make a pull request (PR) easy to review (and likely to be merged):&lt;br /&gt;
** A PR should contain a single feature, preferably with a unit test.&lt;br /&gt;
** It should not be too large. If you change lots of lines in lots of files in an automatic refactoring, show the script/commands you used.&lt;br /&gt;
** If you change existing code, do not mix feature changes and (large amounts of) pure formatting changes (use a separate PR for that).&lt;br /&gt;
** [http://codeinthehole.com/writing/pull-requests-and-other-good-practices-for-teams-using-github/ Some more tips on PRs]&lt;br /&gt;
* After some discussion, one of the module maintainers will either merge your changes, or your changes will be rejected with an explanation why they are a bad idea.&lt;br /&gt;
* Often, you will be asked to make some modification to the code in the PR. Do this locally, and push the changes to the same repo and branch that you used for the PR. It will be updated automatically (as a corollary, do not use this branch for unrelated development -- start a new one instead).&lt;br /&gt;
&lt;br /&gt;
=== Coding standard ===&lt;br /&gt;
&lt;br /&gt;
We do not at the moment mandate a specific coding standard, but in practice we try to have a&lt;br /&gt;
homogenous code base, and encourage all contributors to follow certain practices.&lt;br /&gt;
&lt;br /&gt;
These are listed in the [[Suggested coding standard]].&lt;br /&gt;
&lt;br /&gt;
=== List of module maintainers ===&lt;br /&gt;
&lt;br /&gt;
The current module maintainers (and their github user names) are:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-common&amp;#039;&amp;#039;&amp;#039;: Atgeirr Rasmussen (@atgeirr), Bård Skaflestad (@bska), Arne Morten Kvarving (@akva2), Joakim Hove (@joakim-hove), Markus Blatt (@blattms)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-material&amp;#039;&amp;#039;&amp;#039;: Tor Harald Sandve (@totto82), Atgeirr Rasmussen (@atgeirr)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-grid&amp;#039;&amp;#039;&amp;#039;: Atgeirr Rasmussen (@atgeirr), Bård Skaflestad (@bska), Markus Blatt (@blattms) and Robert Klöfkorn (@dr-robertk)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-models&amp;#039;&amp;#039;&amp;#039;: Tor Harald Sandve (@totto82), Atgeirr Rasmussen (@atgeirr)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-simulators&amp;#039;&amp;#039;&amp;#039;: Atgeirr Rasmussen (@atgeirr), Bård Skaflestad (@bska) and Robert Klöfkorn (@dr-robertk)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-tests&amp;#039;&amp;#039;&amp;#039;: Alf Birger Rustad (@alfbr), Torbjørn Skille (@tskille) and Bård Skaflestad (@bksa).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-upscaling&amp;#039;&amp;#039;&amp;#039;: Arne Morten Kvarving (@akva2)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;ResInsight&amp;#039;&amp;#039;&amp;#039;: Magne Sjaastad (@magnesj) and Jacob Støren (@JacobStoren)&lt;br /&gt;
&lt;br /&gt;
=== Jenkins information ===&lt;br /&gt;
&lt;br /&gt;
[https://ci.opm-project.org Jenkins dashboard].&lt;br /&gt;
&lt;br /&gt;
Information about [[Jenkins triggers]].&lt;br /&gt;
&lt;br /&gt;
=== Nightly binary packages for Ubuntu and Red Hat ===&lt;br /&gt;
&lt;br /&gt;
List of available [https://opm-project.org/package/ nightly images] generated by Jenkins. Note that in order to use the Ubuntu binaries you must add the PPA containing these nightly binaries:&lt;br /&gt;
 # NOTE: you may need to sudo some of these apt commands!&lt;br /&gt;
 # Add gpg key for repository&lt;br /&gt;
 wget -qO - https://opm-project.org/package/nightly-bionic/repokey.gpg | apt-key add -&lt;br /&gt;
 # Add repo itself&lt;br /&gt;
 apt-add-repository https://opm-project.org/package/nightly-bionic&lt;br /&gt;
 # Look at available nightly versions&lt;br /&gt;
 apt-cache show libopm-simulators1-bin&lt;br /&gt;
&lt;br /&gt;
=== Static analysis tools ===&lt;br /&gt;
&lt;br /&gt;
Information about [[static analysis tools]] available.&lt;br /&gt;
&lt;br /&gt;
=== Help for release managers ===&lt;br /&gt;
&lt;br /&gt;
[[Notes for managing release 2016.10]]&lt;br /&gt;
&lt;br /&gt;
=== Data required for output and restarting ===&lt;br /&gt;
&lt;br /&gt;
[[Data for output and restart]]&lt;br /&gt;
&lt;br /&gt;
=== Notes on Debian Packages ===&lt;br /&gt;
&lt;br /&gt;
[[Debian Packaging Workflow]]&lt;br /&gt;
&lt;br /&gt;
= Viewing ECLIPSE summary files =&lt;br /&gt;
[//resinsight.org/ Resinsight] provides a state-of-the art solution for all post-processing of reservoir simulation, including plotting functionality for summary files. Resinsight can be installed from [//opm-project.org/?page_id=245 packages or source].&lt;br /&gt;
&lt;br /&gt;
== Through lightweight GUI ==&lt;br /&gt;
For those who like to keep clicking at a minimum, a lean plotting tool is found i qsummary. No binaries are available at the moment, so you will need to compile yourself from: &lt;br /&gt;
https://github.com/OPM/qsummary&lt;br /&gt;
&lt;br /&gt;
== Through command-line ==&lt;br /&gt;
A command-line application named &amp;#039;&amp;#039;summary&amp;#039;&amp;#039; is distributed with OPM packages, and can be compiled from source in https://github.com/OPM/opm-common&lt;br /&gt;
It will give you direct access to any summary vectors, which subsequently can be handled through gnuplot, spreadsheet, or whatever you choose.&lt;br /&gt;
&lt;br /&gt;
== Through Python script ==&lt;br /&gt;
The script is found in opm-utilities. The script in question is a Python script and some requirements must be satisifed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt; You need the Python packages &amp;lt;tt&amp;gt;matplotlib&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;numpy&amp;lt;/tt&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt; You must compile/enable ERT Python packages when building ert. Then make sure that the path &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX/python&amp;lt;/tt&amp;gt; is in your &amp;lt;tt&amp;gt;PYTHONPATH&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When everything is installed the &amp;lt;tt&amp;gt;summaryplot&amp;lt;/tt&amp;gt; application can be used, it can plot mulitple realisations:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
summaryplot WWCT:OP_1 CASE1.DATA CASE2.DATA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Profile.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Plots ==&lt;br /&gt;
The full Norne model is run once a week, and PDF document with all the well results is generated: http://95.85.43.55/plots/&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Main_Page&amp;diff=1887</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Main_Page&amp;diff=1887"/>
		<updated>2022-03-29T13:43:06Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Getting started with OPM =&lt;br /&gt;
&lt;br /&gt;
We have a [[Quick Installation]] guide, showing how to install the opm-core library.&lt;br /&gt;
&lt;br /&gt;
The [[FPGA setup and building]] guide explains how to compile and use the &amp;#039;&amp;#039;bitstream&amp;#039;&amp;#039; for the FPGA-enabled Flow simulator.&lt;br /&gt;
&lt;br /&gt;
The [//opm-project.org/?page_id=43 tutorials] section contain some tutorials for programmers using opm-core.&lt;br /&gt;
&lt;br /&gt;
Consult the [//meta.wikimedia.org/wiki/Help:Contents User&amp;#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Please note that the content of this wiki is in the process of being updated, many parts are not current!&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
= User documentation for selected programs =&lt;br /&gt;
* Black-oil reservoir simulator Flow:&lt;br /&gt;
** [[Black-oil simulator|Black-oil simulator]]&lt;br /&gt;
** [[Thermal simulator|Thermal simulator]]&lt;br /&gt;
** [[Water evaporation|Water evaporation]]&lt;br /&gt;
** [[Salt precipitation|Salt precipitation]]&lt;br /&gt;
* [[CO2 sequestration]]&lt;br /&gt;
* [[Enhanced oil recovery]]&lt;br /&gt;
* [[Geothermal flow_onephase_energy]]&lt;br /&gt;
*  [[Upscaling]]&lt;br /&gt;
&lt;br /&gt;
= Developer Information =&lt;br /&gt;
&lt;br /&gt;
=== How to contribute ===&lt;br /&gt;
&lt;br /&gt;
OPM tries to follow a development model which is as open as possible. Therefore, all development happens on [//github.com/OPM github]. The process of contributing changes is the following:&lt;br /&gt;
* Fork the module for which you want to propose a change on github&lt;br /&gt;
* Locally create a new branch of the module&amp;#039;s repository which contains your changes&lt;br /&gt;
* Push this branch to your personal github fork&lt;br /&gt;
* [https://help.github.com/articles/using-pull-requests Create a pull request]&lt;br /&gt;
* To make a pull request (PR) easy to review (and likely to be merged):&lt;br /&gt;
** A PR should contain a single feature, preferably with a unit test.&lt;br /&gt;
** It should not be too large. If you change lots of lines in lots of files in an automatic refactoring, show the script/commands you used.&lt;br /&gt;
** If you change existing code, do not mix feature changes and (large amounts of) pure formatting changes (use a separate PR for that).&lt;br /&gt;
** [http://codeinthehole.com/writing/pull-requests-and-other-good-practices-for-teams-using-github/ Some more tips on PRs]&lt;br /&gt;
* After some discussion, one of the module maintainers will either merge your changes, or your changes will be rejected with an explanation why they are a bad idea.&lt;br /&gt;
* Often, you will be asked to make some modification to the code in the PR. Do this locally, and push the changes to the same repo and branch that you used for the PR. It will be updated automatically (as a corollary, do not use this branch for unrelated development -- start a new one instead).&lt;br /&gt;
&lt;br /&gt;
=== Coding standard ===&lt;br /&gt;
&lt;br /&gt;
We do not at the moment mandate a specific coding standard, but in practice we try to have a&lt;br /&gt;
homogenous code base, and encourage all contributors to follow certain practices.&lt;br /&gt;
&lt;br /&gt;
These are listed in the [[Suggested coding standard]].&lt;br /&gt;
&lt;br /&gt;
=== List of module maintainers ===&lt;br /&gt;
&lt;br /&gt;
The current module maintainers (and their github user names) are:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-common&amp;#039;&amp;#039;&amp;#039;: Atgeirr Rasmussen (@atgeirr), Bård Skaflestad (@bska), Arne Morten Kvarving (@akva2), Joakim Hove (@joakim-hove), Markus Blatt (@blattms)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-material&amp;#039;&amp;#039;&amp;#039;: Tor Harald Sandve (@totto82), Atgeirr Rasmussen (@atgeirr)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-grid&amp;#039;&amp;#039;&amp;#039;: Atgeirr Rasmussen (@atgeirr), Bård Skaflestad (@bska), Markus Blatt (@blattms) and Robert Klöfkorn (@dr-robertk)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-models&amp;#039;&amp;#039;&amp;#039;: Tor Harald Sandve (@totto82), Atgeirr Rasmussen (@atgeirr)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-simulators&amp;#039;&amp;#039;&amp;#039;: Atgeirr Rasmussen (@atgeirr), Bård Skaflestad (@bska) and Robert Klöfkorn (@dr-robertk)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-tests&amp;#039;&amp;#039;&amp;#039;: Alf Birger Rustad (@alfbr), Torbjørn Skille (@tskille) and Bård Skaflestad (@bksa).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;opm-upscaling&amp;#039;&amp;#039;&amp;#039;: Arne Morten Kvarving (@akva2)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;ResInsight&amp;#039;&amp;#039;&amp;#039;: Magne Sjaastad (@magnesj) and Jacob Støren (@JacobStoren)&lt;br /&gt;
&lt;br /&gt;
=== Jenkins information ===&lt;br /&gt;
&lt;br /&gt;
[https://ci.opm-project.org Jenkins dashboard].&lt;br /&gt;
&lt;br /&gt;
Information about [[Jenkins triggers]].&lt;br /&gt;
&lt;br /&gt;
=== Nightly binary packages for Ubuntu and Red Hat ===&lt;br /&gt;
&lt;br /&gt;
List of available [https://opm-project.org/package/ nightly images] generated by Jenkins. Note that in order to use the Ubuntu binaries you must add the PPA containing these nightly binaries:&lt;br /&gt;
 # NOTE: you may need to sudo some of these apt commands!&lt;br /&gt;
 # Add gpg key for repository&lt;br /&gt;
 wget -qO - https://opm-project.org/package/nightly-bionic/repokey.gpg | apt-key add -&lt;br /&gt;
 # Add repo itself&lt;br /&gt;
 apt-add-repository https://opm-project.org/package/nightly-bionic&lt;br /&gt;
 # Look at available nightly versions&lt;br /&gt;
 apt-cache show libopm-simulators1-bin&lt;br /&gt;
&lt;br /&gt;
=== Static analysis tools ===&lt;br /&gt;
&lt;br /&gt;
Information about [[static analysis tools]] available.&lt;br /&gt;
&lt;br /&gt;
=== Help for release managers ===&lt;br /&gt;
&lt;br /&gt;
[[Notes for managing release 2016.10]]&lt;br /&gt;
&lt;br /&gt;
=== Data required for output and restarting ===&lt;br /&gt;
&lt;br /&gt;
[[Data for output and restart]]&lt;br /&gt;
&lt;br /&gt;
=== Notes on Debian Packages ====&lt;br /&gt;
&lt;br /&gt;
[[Debian Packaging Workflow]]&lt;br /&gt;
&lt;br /&gt;
= Viewing ECLIPSE summary files =&lt;br /&gt;
[//resinsight.org/ Resinsight] provides a state-of-the art solution for all post-processing of reservoir simulation, including plotting functionality for summary files. Resinsight can be installed from [//opm-project.org/?page_id=245 packages or source].&lt;br /&gt;
&lt;br /&gt;
== Through lightweight GUI ==&lt;br /&gt;
For those who like to keep clicking at a minimum, a lean plotting tool is found i qsummary. No binaries are available at the moment, so you will need to compile yourself from: &lt;br /&gt;
https://github.com/OPM/qsummary&lt;br /&gt;
&lt;br /&gt;
== Through command-line ==&lt;br /&gt;
A command-line application named &amp;#039;&amp;#039;summary&amp;#039;&amp;#039; is distributed with OPM packages, and can be compiled from source in https://github.com/OPM/opm-common&lt;br /&gt;
It will give you direct access to any summary vectors, which subsequently can be handled through gnuplot, spreadsheet, or whatever you choose.&lt;br /&gt;
&lt;br /&gt;
== Through Python script ==&lt;br /&gt;
The script is found in opm-utilities. The script in question is a Python script and some requirements must be satisifed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt; You need the Python packages &amp;lt;tt&amp;gt;matplotlib&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;numpy&amp;lt;/tt&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt; You must compile/enable ERT Python packages when building ert. Then make sure that the path &amp;lt;tt&amp;gt;CMAKE_INSTALL_PREFIX/python&amp;lt;/tt&amp;gt; is in your &amp;lt;tt&amp;gt;PYTHONPATH&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When everything is installed the &amp;lt;tt&amp;gt;summaryplot&amp;lt;/tt&amp;gt; application can be used, it can plot mulitple realisations:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
summaryplot WWCT:OP_1 CASE1.DATA CASE2.DATA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Profile.png|border]]&lt;br /&gt;
&lt;br /&gt;
== Plots ==&lt;br /&gt;
The full Norne model is run once a week, and PDF document with all the well results is generated: http://95.85.43.55/plots/&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
	<entry>
		<id>https://wiki.opm-project.org/index.php?title=Quick_Installation&amp;diff=1878</id>
		<title>Quick Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.opm-project.org/index.php?title=Quick_Installation&amp;diff=1878"/>
		<updated>2022-02-07T20:19:26Z</updated>

		<summary type="html">&lt;p&gt;Markusblatt: removed outdated installation instructions and linked to webpage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
DOWNLOAD AND INSTALL&lt;br /&gt;
-----------&lt;br /&gt;
&lt;br /&gt;
Please read the installation notes on our website: https://opm-project.org/?page_id=36&lt;br /&gt;
&lt;br /&gt;
REPORTING ISSUES&lt;br /&gt;
----------------&lt;br /&gt;
&lt;br /&gt;
Issues can be reported in the Git issue tracker online at:&lt;br /&gt;
&lt;br /&gt;
    http://github.com/OPM/opm-simulators/issues&lt;br /&gt;
&lt;br /&gt;
To help diagnose build errors, please provide a link to a build log together&lt;br /&gt;
with the issue description.&lt;br /&gt;
&lt;br /&gt;
You can capture such a log from the build using the `script&amp;#039; utility, e.g.:&lt;br /&gt;
&lt;br /&gt;
    LOGFILE=$(date +%Y%m%d-%H%M-)build.log ;&lt;br /&gt;
	cmake -E cmake_echo_color --cyan --bold &amp;quot;Log file: $LOGFILE&amp;quot; ;&lt;br /&gt;
    script -q $LOGFILE -c &amp;#039;cmake ../opm-core -DCMAKE_BUILD_TYPE=Debug&amp;#039; &amp;amp;&amp;amp;&lt;br /&gt;
    script -q $LOGFILE -a -c &amp;#039;ionice nice make -j 4 -l 3&amp;#039; ||&lt;br /&gt;
    cat CMakeCache.txt CMakeFiles/CMake*.log &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
&lt;br /&gt;
The resulting file can be uploaded to for instance gist.github.com.&lt;/div&gt;</summary>
		<author><name>Markusblatt</name></author>
	</entry>
</feed>