[med-svn] [Git][med-team/policy][master] publish docker upstream trick

Michael R. Crusoe (@crusoe) gitlab at salsa.debian.org
Fri Apr 5 08:33:57 BST 2024



Michael R. Crusoe pushed to branch master at Debian Med / policy


Commits:
736146fa by Michael R. Crusoe at 2024-04-05T09:33:38+02:00
publish docker upstream trick

- - - - -


1 changed file:

- policy.html


Changes:

=====================================
policy.html
=====================================
@@ -1,9 +1,9 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8" ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.20.1: https://docutils.sourceforge.io/" />
+<meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
 <title>policy.rst</title>
 <style type="text/css">
 
@@ -394,7 +394,7 @@ ul.auto-toc {
 <li><a class="reference internal" href="#to-push-the-package" id="toc-entry-21">To push the package.</a></li>
 <li><a class="reference internal" href="#to-push-all-your-work" id="toc-entry-22">To push all your work</a></li>
 <li><a class="reference internal" href="#to-tag-a-release" id="toc-entry-23">To tag a release</a></li>
-<li><a class="reference internal" href="#if-upstream-manages-his-sources-with-git" id="toc-entry-24">If upstream manages his sources with Git.</a></li>
+<li><a class="reference internal" href="#if-upstream-manages-their-sources-with-git" id="toc-entry-24">If upstream manages their sources with Git.</a></li>
 <li><a class="reference internal" href="#to-make-gbp-buildpackage-build-the-package-with-pdebuild" id="toc-entry-25">To make <tt class="docutils literal">gbp buildpackage</tt> build the package with <tt class="docutils literal">pdebuild</tt>.</a></li>
 </ul>
 </li>
@@ -449,7 +449,8 @@ ul.auto-toc {
 </li>
 <li><a class="reference internal" href="#embedding-large-test-data" id="toc-entry-63">Embedding Large Test Data</a></li>
 <li><a class="reference internal" href="#faq" id="toc-entry-64">FAQ</a><ul>
-<li><a class="reference internal" href="#what-to-do-if-a-large-package-does-not-build-on-a-specific-autobuilder-architecture" id="toc-entry-65">What to do if a large package does not build on a specific autobuilder architecture?</a></li>
+<li><a class="reference internal" href="#how-to-easily-help-upstream-exactly-reproduce-build-test-errors-that-may-be-specific-to-debian" id="toc-entry-65">How to easily help upstream exactly reproduce build/test errors that may be specific to Debian?</a></li>
+<li><a class="reference internal" href="#what-to-do-if-a-large-package-does-not-build-on-a-specific-autobuilder-architecture" id="toc-entry-66">What to do if a large package does not build on a specific autobuilder architecture?</a></li>
 </ul>
 </li>
 </ul>
@@ -734,8 +735,8 @@ git push --tags
 <p><tt class="docutils literal">git tag <span class="pre">debian/x.y-z</span></tt>. You can also easily retroactively make tags:
 <tt class="docutils literal">git tag <span class="pre">debian/x.y-z</span> <commit hash></tt>. Remember to <tt class="docutils literal">git push <span class="pre">--tags</span></tt>.</p>
 </div>
-<div class="section" id="if-upstream-manages-his-sources-with-git">
-<span id="git-debian-version-from-commit"></span><h3><a class="toc-backref" href="#toc-entry-24">If upstream manages his sources with Git.</a></h3>
+<div class="section" id="if-upstream-manages-their-sources-with-git">
+<span id="git-debian-version-from-commit"></span><h3><a class="toc-backref" href="#toc-entry-24">If upstream manages their sources with Git.</a></h3>
 <p>The following makefile script can help producing a version number when
 no Git tag is available:</p>
 <pre class="literal-block">
@@ -1363,8 +1364,32 @@ For further reading, check <a class="reference external" href="https://wiki.debi
 </div>
 <div class="section" id="faq">
 <h1><a class="toc-backref" href="#toc-entry-64">FAQ</a></h1>
+<div class="section" id="how-to-easily-help-upstream-exactly-reproduce-build-test-errors-that-may-be-specific-to-debian">
+<span id="autobuilder"></span><h2><a class="toc-backref" href="#toc-entry-65">How to easily help upstream exactly reproduce build/test errors that may be specific to Debian?</a></h2>
+<p>For packages already uploaded, you can adapt the Dockerfile below to <a class="reference external" href="https://github.com/sunpy/sunpy/issues/7550#issue-2225805770">share with
+upstream</a> so
+they can see the error and be able to inspect and troubleshoot with the exact
+same versions and patches applied:</p>
+<pre class="literal-block">
+FROM docker.io/debian:sid-slim
+
+WORKDIR /build
+
+RUN apt-get update && apt-get install -y --no-install-recommends devscripts curl debian-keyring
+RUN dget https://deb.debian.org/debian/pool/main/s/sunpy/sunpy_5.1.1-4.dsc
+WORKDIR /build/sunpy-5.1.1
+RUN apt-get -y build-dep .
+RUN dpkg-buildpackage -uc -us -b
+</pre>
+<p>Be sure to change the <tt class="docutils literal">RUN dget</tt> line and the second <tt class="docutils literal">WORKDIR /build/</tt> line
+to match the package.</p>
+<p>The Dockerfile even works for testing non-amd64 systems with the <tt class="docutils literal"><span class="pre">--platform</span></tt>
+option to <tt class="docutils literal">docker build</tt> (or <tt class="docutils literal">podman build</tt>). The platform name is
+<tt class="docutils literal">linux/arm/v5</tt> for the armel architecture, <tt class="docutils literal">linux/arm/v6</tt> for the armhf
+architecture, and <tt class="docutils literal">linux/mips64le</tt> for mips64**el**.</p>
+</div>
 <div class="section" id="what-to-do-if-a-large-package-does-not-build-on-a-specific-autobuilder-architecture">
-<span id="autobuilder"></span><h2><a class="toc-backref" href="#toc-entry-65">What to do if a large package does not build on a specific autobuilder architecture?</a></h2>
+<h2><a class="toc-backref" href="#toc-entry-66">What to do if a large package does not build on a specific autobuilder architecture?</a></h2>
 <p>Some of our target packages are large regarding memory consumption or
 requiring more computing power to build on not so powerful
 architectures. Since the Debian autobuilder infrastructure consists of



View it on GitLab: https://salsa.debian.org/med-team/policy/-/commit/736146fa121cb5430a67e8a0561f0293016f3ca1

-- 
View it on GitLab: https://salsa.debian.org/med-team/policy/-/commit/736146fa121cb5430a67e8a0561f0293016f3ca1
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20240405/923fca40/attachment-0001.htm>


More information about the debian-med-commit mailing list