Admonitions (FAQ, NOTE, TODO, BUG)
##################################

Automated index of all admonitions (in this manual as well as in
python code documentation). For simplicity, we only use four
admonitions: *error, attention, note, tip*.


.. error:: **(BUG) In- or external bug that *should be fixed* eventually**

  * `administrator <administrator.html>`_: SSL: Sporadic errors reading event queue (with :mbdcommand:`mini-buildd-events`)
  * `administrator <administrator.html>`_: SSL: ``apt-get update`` form a ``squeeze`` platform will stall ``twisted``
  * `administrator <administrator.html>`_: When adding arch to Distribution: No indication that we need to re-index (run check on repository)
  * `administrator <administrator.html>`_: When changing ftp network settings in Daemon setup, then PCA: Still not active, needs explicit restart?
  * `developer <developer.html>`_: reprepro fails with ``debian/`` being a symlink in Debian native packages (:debbug:`768046`)
  * `python/mini_buildd.api <python/mini_buildd.api.html>`_: debmirror: ``apt update`` fails on ``experimental`` suites (contents not mirrored) (:debbug:`819925`)

.. attention:: **(TODO) Something that *needs attention* eventually**

  * `administrator <administrator.html>`_: *ongoing* ``PACKAGING`` or ``BUILDING`` are lost on restart
  * `administrator <administrator.html>`_: Builds stall during ``apt-get update``
  * `administrator <administrator.html>`_: Don't switch to ``reprepro 5.4`` yet (:debbug:`1017983`)
  * `administrator <administrator.html>`_: Fails to build "all" packages with "build archall" flag set to arch "x" in case DSP has >= 1 arch "all" and >=1 arch "y" binary package (:debbug:`706086`)
  * `administrator <administrator.html>`_: LVM chroots fail running lvcreate with 'not found: device not cleared' (:debbug:`705238`)
  * `administrator <administrator.html>`_: This section has not been completely revised for 2.0.x
  * `administrator <administrator.html>`_: ``apt-get update`` "File has unexpected size ... Mirror sync in progress?" failures
  * `administrator <administrator.html>`_: debootstrap fails for <=lenny chroots on >=jessie host kernel (uname) (:debbug:`642031`)
  * `administrator <administrator.html>`_: eatmydata: Builds fail when linked with openvc (:debbug:`733281`)
  * `consumer <consumer.html>`_: squeeze or older only: apt secure problems after initial (unauthorized) install of the archive-key package (:debbug:`657561`)
  * `python/.....src.mini-buildd <python/.....src.mini-buildd.html>`_: 'default' option in add_argument() can't be used, see https://bugs.python.org/issue16399
  * `python/...setup <python/...setup.html>`_: **compat** (``py-argcomplete < 2.0.0-1``): Cope with executable name change
  * `python/mini_buildd.client <python/mini_buildd.client.html>`_: **compat** (``python < 3.7``): Not using Assignment Expressions (PEP-0572) in interactive loop (see ``_get_action()``)
  * `python/mini_buildd.dist <python/mini_buildd.dist.html>`_: **compat**: ``ddeb`` reprepro workaround (:debbug:`730572`)
  * `python/mini_buildd.gnupg <python/mini_buildd.gnupg.html>`_: **compat**: Retrying sign call -- workaround for mystery bug (:debbug:`849551`)
  * `python/mini_buildd.httpd <python/mini_buildd.httpd.html>`_: **compat** (``twisted < 22.2``): SSL timeout workaround (avoids spurious disconnects w/ SSL)
  * `python/mini_buildd.httpd <python/mini_buildd.httpd.html>`_: **compat** (``twisted``): Always unregister producer (avoids random static file error)
  * `python/mini_buildd.models <python/mini_buildd.models.html>`_: **compat** (django < 3.2): Drop monkey-patching ``short_description`` in favor of ``@django.contrib.admin.action(description="Foo")`` (https://docs.djangoproject.com/en/4.1/releases/3.2/#new-decorators-for-the-admin-site)
  * `python/mini_buildd.models <python/mini_buildd.models.html>`_: **workaround** (``debootstrap``): Be able to strap 'newer Ubuntus' with Debian's ``debootstrap``
  * `python/mini_buildd.models <python/mini_buildd.models.html>`_: Distributions are not unique for base source (historic fluke)
  * `python/mini_buildd.net <python/mini_buildd.net.html>`_: **compat** Old ':::<port>'-style notation
  * `python/mini_buildd.schroot <python/mini_buildd.schroot.html>`_: **compat** (``mini-buildd <= 1.0.4``): Fail for very old and possibly insecure chroots
  * `python/mini_buildd.schroot <python/mini_buildd.schroot.html>`_: **stale schroot sessions**: 'target is busy' on session close (stale schroot sessions)
  * `python/mini_buildd.util <python/mini_buildd.util.html>`_: **compat** (``python < 3.8``): ``shlex.join``
  * `python/mini_buildd.util <python/mini_buildd.util.html>`_: **compat** (``python < 3.9``): ``str.removeprefix``
  * `roadmap <roadmap.html>`_: [buster-based install] 500 Internal Error: ``[Errno 2] No such file or directory: 'S.gpg-agent.extra'``

.. note:: **(NOTE) Something not obvious you should be aware of**

  * `administrator <administrator.html>`_: Don't add or delete Uploader instances manually!
  * `administrator <administrator.html>`_: The Daemon instance does not touch the GPG setup once it's created -- *unless you do an explicit remove* on the instance.
  * `administrator <administrator.html>`_: The SSL private key must be readable by user or group ``mini-buildd``.
  * `consumer <consumer.html>`_: Multiple versions of packages in one distribution
  * `python/mini_buildd.api <python/mini_buildd.api.html>`_: **keyring-packages**: No compat for urold (``apt-key add``)
  * `python/mini_buildd.builtins <python/mini_buildd.builtins.html>`_: http://tools.ietf.org/html/rfc5147: This, in theory, could be some way to create a TOC for text/plain (buildlogs and such). However
  * `python/mini_buildd.sbuild <python/mini_buildd.sbuild.html>`_: This will iterate all lines of the build log,
  * `python/mini_buildd.util <python/mini_buildd.util.html>`_: **compat** (``< libssl3``): ``python`` fails for (self-signed) certificate even though it's enrolled with system's ``ca-certificates``?

.. tip:: **(FAQ) Free tip**

  * `abstract <abstract.html>`_: Some links do not work in this manual?
  * `administrator <administrator.html>`_: Can I manually instantiate a build chroot to repeat/debug a failed build?
  * `administrator <administrator.html>`_: How much disk space do I need to run mini-buildd?
  * `administrator <administrator.html>`_: How to enable encrypted uploads (FTPS)?
  * `administrator <administrator.html>`_: How to manually fix a failing check in a ``Source`` due to wrong/missing APT key(s)?
  * `administrator <administrator.html>`_: How to run mini-buildd in a systemd container (nspawn)?
  * `administrator <administrator.html>`_: In the web configurator, you may use the ``PCA`` shortcut (``prepare``, ``check`` and ``activate``).
  * `administrator <administrator.html>`_: My chroot creation fails due to missing arch in archive (partial mirror)?
  * `administrator <administrator.html>`_: What's ``eatmydata`` and ``ccache``?
  * `administrator <administrator.html>`_: sudo fails with "sudo: no tty present and no askpass program specified"?
  * `consumer <consumer.html>`_: How do I verify mini-buildd's APT key?
  * `consumer <consumer.html>`_: How to can I upgrade after Debian main release version fix?
  * `consumer <consumer.html>`_: How to save credentials when working from the shell?
  * `consumer <consumer.html>`_: What's the ``hotfix`` suite good for?
  * `consumer <consumer.html>`_: ``firefox``: How can I reset (table) searches (like in webkit browsers)?
  * `developer <developer.html>`_: Can I access built packages that have not been installed into the repository?
  * `developer <developer.html>`_: Do mini-buildd commands support bash autocompletion?
  * `developer <developer.html>`_: Is package building parallel? (a.k.a. Where is the 'sbuild_jobs' settings?)
  * `developer <developer.html>`_: Is there support for ``emacs``?
  * `python/mini_buildd.api <python/mini_buildd.api.html>`_: Install :debpkg:`qemu-user-static` for seamless access to foreign archs (albeit with a speed penalty)"),
  * `python/mini_buildd.dist <python/mini_buildd.dist.html>`_: What does ``LTS`` (mini-buildd speak) include for Debian?
  * `python/mini_buildd.dist <python/mini_buildd.dist.html>`_: What does ``LTS`` (mini-buildd speak) include for Ubuntu?
  * `roadmap <roadmap.html>`_: Can I skip migrating from 0.8.x?
