Debian Package Tracker
Register | Log in
Subscribe

due

Dedicated User Environment: manage build environments in Docker containers

Choose email to subscribe with

general
  • source: due (main)
  • version: 3.0.0-1
  • maintainer: Alex Doyle (DMD)
  • uploaders: Geert Stappers [DMD]
  • arch: all
  • std-ver: 4.6.0
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • oldstable: 2.3.0-2
  • stable: 3.0.0-1
  • testing: 3.0.0-1
  • unstable: 3.0.0-1
versioned links
  • 2.3.0-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 3.0.0-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • due (2 bugs: 0, 1, 1, 0)
action needed
A new upstream version is available: 4.1.0 high
A new upstream version 4.1.0 is available, you should consider packaging it.
Created: 2022-03-10 Last update: 2025-05-20 21:32
lintian reports 1 error and 5 warnings high
Lintian reports 1 error and 5 warnings about this package. You should make the package lintian clean getting rid of them.
Created: 2022-07-30 Last update: 2023-02-17 00:36
1 bug tagged patch in the BTS normal
The BTS contains patches fixing 1 bug, consider including or untagging them.
Created: 2025-01-06 Last update: 2025-05-21 02:00
version in VCS is newer than in repository, is it time to upload? normal
vcswatch reports that this package seems to have a new changelog entry (version 4.1.0-1, distribution unstable) and new commits in its VCS. You should consider whether it's time to make an upload.

Here are the relevant commit messages:
commit 7e9b8a0a009996f25b61a2a5fa0ba0fb93b6fca4
Merge: 44a733c 1da99ee
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Mon Jul 29 15:37:44 2024 -0700

    Merge branch 'master' into debian/master
    
    To create a snapshot of the upstreaming of the 4.1.0 release.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 44a733c09c3310f9d22fae04c5e4082bfe5e6f75
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Mon Jul 29 15:21:04 2024 -0700

    Bug fixes in debian/recommends
    
    ...and update the changelog.
    
    Fix bug 1023396
     Remove systemd-binfmt from install Recommends as systemd now
      handles it.
     https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1023396
    
    Fix bug 1010082
     Remove qemu from recommends, as binfmt covers emulation use
     https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010082
    
    Testing:
    
     Removed package recommands from debian/control
     Rebuilt DUE
     Purged due and qemu from my Ubuntu 22 system.
      sudo dpkg -P ipxe-qemu ipxe-qemu-256k-compat-efi-roms\
      qemu-block-extra qemu-efi-aarch64 qemu-efi-arm \
      qemu-system-arm qemu-system-common qemu-system-data \
      qemu-system-gui qemu-system-x86 qemu-user-static \
      qemu libguestfs0
    
    Installed DUE
     x86 containers ran.
     Creation of arm64 failed with a warning to install
     qemu-user-static
     Installed qemu-user static
     Built a Debian 11 arm64 image
     Image ran.
     Running ps on host showed qemu running.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 356a402d034789580c24010307238897479bec9b
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Mon Jul 29 15:19:44 2024 -0700

    README.md should be installed by debian/due.docs
    
    Otherwise it is not automatically removed on an uninstall.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 65d0596e434dd288b0c56cc09dc37a4115885d41
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Mon Jul 29 15:17:36 2024 -0700

    Update copyright to reflect Nvidia
    
    In 2020, Cumulus Networks was bought by Mellanox, which
    was bought by Nvidia coproration.  This reflects the
    change in ownership and maintainer's email address.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 0fa5a76d09a62b80818144d5947b8adf1288a927
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Mon Jul 29 15:15:55 2024 -0700

    Update lintian overrides to comply with Lintian v2.117.1
    
    This updtates the syntax of bug fixes to work with the
    latest Linitan in Sid.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 1da99eee6db84ce78b08eb0a01617a66376701fb
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Mon Jul 29 14:55:55 2024 -0700

    Master changelog
    
    Update to reflect Debian bug fixes for the 4.1 release.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit f30557e5e53b8d64747e971aa0b01dd3990d6589
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Mon Jul 29 13:21:57 2024 -0700

    Update man pages
    
    Rebuilt with Pandoc 3.1.3 from Debian Sid.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 9829c995a07a0e848553cc1ffabfebf8994be4e5
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Mon Jul 29 12:54:40 2024 -0700

    Makefile - update copyright to 2024
    
    ...as OS detection was updated a few commits back.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 7ccae1ed416878ec61006facece492c5ac83eeed
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Mon Jul 29 12:38:04 2024 -0700

    debian-package post install - add fakeroot
    
    Fakeroot does not seem to be present in the latest (07/29/2024) Sid
    Docker image, which breaks building DUE from a tar file on
    debian-test - the release dry run branch.
    i.e.:
      make debian-test
    fails with an error that mentions fakeroot.
    
    Presumably this has been present in previous builds, as previous releases
    have gone out without fakeroot being explictly added, and Debian 12
    images have it installed as well.
    
    So this change explictly adds fakeroot to Debian package build images.
    
    ...and updates the copyright header.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 36ee0581460c29a1be3c1862299370beba304ad8
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sun Jul 28 18:44:48 2024 -0700

    debian-package README.md
    
    Update examples and copyright.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 2e520c8060ebfdfd6f528114be4a7c54f100bcb5
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sun Jul 28 18:36:22 2024 -0700

    Example template README.md - collect image quirks.
    
    A number of images have issues that need to be addressed before DUE
    can work properly with them. The Example image seemed to be the best
    place to put them since it's purpose is to just build an image with
    DUE, and not specialize it to build packages, or anything else.
    
    Currently:
    
    Ubuntu 24.04
     With Ubuntu 24.04 introducing an 'ubuntu' user at ID 1000, the
     default add user behavior breaks ( in that the host system probably
     already _has_ a user 1000 who is, say, running DUE.)
    
     Since the best resolution for this is not obvious (does the account
     have special configuration?) , DUE throws an error and exits.
    
     From that point the user has a few options ( delete the user, steal it's
     ID, or log in as that user), all of which are documented in
     the Example README.md.
    
    Old Debian images.
     Both Debian 8 and 9 reference package repositories that have been archived,
     so a patch is necessary to update their repository configuration to get them
     to build.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit fb00809e8cb761cd372d73f29bea0924715444b4
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sun Jul 28 17:53:57 2024 -0700

    onie post install template - Remove stray set -x and update copyright.
    
    Removed a few set -x debug statements that had gotten committed, and
    updated the copyright header to reflect recent changes.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 8e36dd04cc0addbef2c88e79c5c1b65a3799f45f
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sun Jul 28 17:42:30 2024 -0700

    due - Add menu creation to help examples
    
    This adds a few examples of using the --menu option to apply
    an example configuration from the template README files.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit d685c0b4017e96b79753f7bd997f6c1204fd1a4a
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sun Jul 28 16:10:16 2024 -0700

    Fix Debian 8 image builds.
    
    This applys a patch to the image's /etc/apt/sources-list to point to the
    archived versions of the Debian 8 package repositories, now that the
    ones the image used are unavailable.
    
    A similar patch was done for Debian 9.
    
    Testing:
    
    Built Debian 8 DUE image with:
    ./due --create --platform linux/amd64 \
          --name example-debian-8 \
          --prompt ExD8 \
          --tag example-patch-debian-8 \
          --use-template example \
          --from debian:8 \
          --description 'Debian 8 with patch' \
          --image-patch debian/8/filesystem
    
    Tested by checking out the 2021-08 branch of ONIE and building the
    accton_as6701_32x target all and demo with:
     make MACHINEROOT=../machine/accton MACHINE=accton_as6701_32x all demo
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit ae44a3ee9982376577f4fe3eab8727540e15f660
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sun Jul 28 16:02:40 2024 -0700

    pre-install template - only use apt --force-yes on older Debian releases.
    
    This updates the use of --force-yes to get the same effect while working
    with newer versions of APT. Debian 8 and 9 images won't use the additional
    --allow* arguments.
    
    This removes a warning generated by Apt during image build.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 318bd481dca3bf1ecf518f41c3112da627ec0f53
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sun Jul 28 00:38:54 2024 -0700

    Makefile - improve OS detection.
    
    The /etc/os-release file has a number of ways of stating the operating
    system, from ID to ID_LIKE to using very descriptive strings in those
    fields.
    
    The goal of detection is to know what supported operating system the
    container is from, so make the assumption (for surely assuming things won't
    come back to burn us) that any /etc/os-release file WILL NOT mention
    another OS.
    
    Then case insensitive grep for supported OSs, and set variables accordingly.
    
    Testing:
    
    Ran 'make install' in the following container releases:
    Debian 12
    Debian Sid
    Fedora 39
    OpenSUSE Leap 15.6
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 9c06e7189f155986275734712898f9c9d0066886
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Jul 27 23:28:35 2024 -0700

    Troubleshooting.md mention everything-in-usr.
    
    Mention that install failures that mention 'usrmerge' are probably
    due to an older Docker image colliding with newer code that expects
    some top level directories to be links to /usr.
    
    A web search for 'everything-in-usr' will provide more details on
    the reasons for the change, which are outside of DUE's scope as they
    need to be supported.
    
    The triggering case was DUE using a 2 year old cached Sid (Debian
    unstable) image that did not play well with current software
    that expected a different file system layout.
    
    Deleting the Sid image and downloading a new one fixed the problem.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit e252d5f193269ca2fff3926252520279c208f46d
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Tue Jan 16 09:33:41 2024 -0800

    Add option to merge host's /etc/group file with the container's
    
    This was a feature I'd worked on that turned out to not be needed.
    However it was enough work to figure out that I'm adding it in case
    there is a use case where it is necessary to merge a custom
    /etc/group file with that of the container's
    (perhaps adding addtional groups the user is in?)
    
    While the merge seems to work and not hurt anything, I don't have a
    test case for it at the moment, so I'm leaving it undocumented, and,
    since the group file under filesystem/etc gets merged in, rather
    than copied directly, it will be named due-group to prevent accidental
    invocation of the feature.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 52e7c6568a3665b15f44032e5a36ffdeddf9431e
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Wed Jan 10 10:52:13 2024 -0800

    due - update --delete-matched help to reference images, not containers.
    
    Fixing an error that's been there a long time, --delete-matched will
    delete images from disk, not containers from memory.
    An important distinction.
    
    Updated command line help and man pages.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 40ea0a4b1731ead877720161fcf017706c508ffd
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Wed Jan 10 10:47:55 2024 -0800

    Makefile - update make help targets list to have 'docs'.
    
    This adds 'docs' to the list of makefile targets. It's been there
    forever but has not been explicitly available in the make help.
    
    This also adds:
     'common targets':
       - targets a user might need to deploy existing code.
     'developer targets'
       - targets that would be used during the development of new code.
    
    To make it a bit more readable.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 666990b1880b1b09d336a743ee8c1edd69ab9f90
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Thu Jan 4 09:41:05 2024 -0800

    libdue - Remove merge directory after a menu create
    
    As menu creation ( due --create --menu ) invokes a pre-existing
    configuration pulled from the template README files, the implication
    is that the user is not actively debugging the creation of an image,
    and just wants it created.
    
    So there is no need to keep the merge directory around, and having it
    there can trip up subsequent creation invocations.
    
    The use case was a network mounted home directory that was used to
    install DUE on different reserved lab systems, so that the invocation
    directory remained the same while the install system changed, requiring
    the recreation of the same image for each new reservation, and the
    last merge directory would have to be deleted before the new image could
    be created for the new system.
    
    Testing:
    --------
    Created an example container, and directory was deleted
    Created a root owned merge directory before trying container creation,
    and, as expected, got errors about being unable to write to the directory.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 1744ff4d6961e138e38d3fde90f339cf1b5494a2
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Wed Dec 20 16:02:36 2023 -0800

    Fix cut and paste spaces/tabs in Makefile
    
    rebase-upstream had leading spaces, not tabs because of a cut
    and paste from the working copy.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 1f600b5779fb592466847a7d00e702e32850fefe
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Wed Dec 20 15:56:51 2023 -0800

    Makefile add 'rebase-upstream' target
    
    Rebase the master branch off of the current upstream master branch.
    
    This was useful for bringing upstream changes in to the master branch
    of an independently hosted version of DUE, as would be the case if
    a modified version needed to be updated.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit fdde17f9a53274d8ae05ad44ed02289ca7c29280
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Wed Dec 20 15:29:15 2023 -0800

    due - Add an example of using the --create --menu option.
    
    This is how one would get example creation configurations for
    a fedora container.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 0780401f005d25a0127c5f1e3a931f776e8d8647
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Wed Dec 20 15:13:31 2023 -0800

    Add --menu option to --create
    
    This adds a --menu option to --create so that the image creation
    examples in the README.md files under the templates directory
    can be chosen as a nummerical selection.
    
    This also works with --filter, so particular examples (onie, fedora, etc)
    can be listed.
    
    Testing
    -------
     ./due --create --menu
     ./due --create --menu --filter fedora
     ./due --create --menu --filter zzzzz     <-failure case
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 213d94a8a3bac0eabb52dfdaaa0d8f115f1f05e5
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Wed Dec 20 09:01:03 2023 -0800

    README.md - replace double quotes with single for static text.
    
    This sets up the examples to be used in a menu for container creation.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit a2c0fc6c34eeb3d62047fb66172d0f5cfb8a8c9d
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Tue Nov 21 10:42:51 2023 -0800

    Documenation - update with links to local files.
    
    This adds linking to other files under ./docs, and
    updates the branches in Branching.md to describe the RPM and
    debian testing branches.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 4fe4af1ace5b12fcd1ee59721f4a81f58cbdd054
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Fri Nov 17 15:45:58 2023 -0800

    SUSE and Red Hat duebuild - whitespace cleanup.
    
    Added as a separate commit to keep real changes obvious.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 5d8b575e663d3cb5cab05ebaba8ce6f18258f77a
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Fri Nov 17 15:41:02 2023 -0800

    RPM duebuild - same script for Red Hat and SUSE
    
    We'll see how well having identical scripts works for this.
    If the environmental differences get too severe, these are
    still individual files that can be edited independently.
    
    The script should be able to handle the differences between how
    SUSE handles source builds (putting the contents under /usr/src)
    and Red Hat (extracting contents to ~/rpmbuild).
    
    Currently the script copies SUSE's /usr/src to ~/rpmbuild, and
    then builds from there.
    
    Once source is downloaded:
    
    SUSE builds start with duebuild --cbuild /path/to/specfile
    Red Hat starts with duebuild --cbuild <downloaded rpm>
    
    Keep in mind these are not definitive build methods, but starting
    points to hilight the differences developers will encounter
    when moving between platforms.
    
    Ideally, over time, they get more robust.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 5ae28bcff5a204666f4ebda09f287fd8360912ea
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Fri Nov 17 12:20:02 2023 -0800

    Makefile - make clean for RPM builds too
    
    This will clean out directories under ~/rpmbuild if the 'rpm'
    binary is detected.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit bdaeb0a73f5730f7737f1959bb46ff403aa9b377
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Fri Nov 17 12:18:33 2023 -0800

    Red Hat duebuild - make source rpm build clearer
    
    This updates the help to point out it expects a source rpm,
    and adds a check for the name of the file having .src.rpm
    before getting too far along in the build process.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 5225377565cd5cf2b93f09f2f65de28cc32931be
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Fri Nov 17 09:47:04 2023 -0800

    libdue - set package manager details for SUSE
    
    If opensuse-leap or sles are detected as the operating system
    set the package update and package install commands to use
    zypper.
    Previously this was grouped with Red Hat's dnf/yum, which I
    can only assume was a cut and paste error.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 280271965b6e428242fdf17f36e8af0303fcc846
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Tue Nov 14 09:56:42 2023 -0800

    Fedora README.md - update Fedora version from 36 to 39
    
    This updates the examples --create --help provides for
    creating a Fedora image from version 36 to 39
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 29bcb1ec6d76823e2d7eb5189e872098c528b67d
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Tue Nov 14 09:26:19 2023 -0800

    RedHat duebuild - shellcheck cleanup
    
    Apart from the usual quoting and return code issues, this
    brought my attention to a few patches of dead code that
    were left over from this script's origin serving as an RPM builder
    for both Red Hat and SUSE.
    
    There are still a few issues here but I want to check in the easy
    fixes and do more testing on what's left to make sure nothing breaks.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit bd06c123e62a9b2707518f75dec420bf48468594
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Mon Nov 13 15:15:39 2023 -0800

    Red Hat duebuild - update copyright year.
    
    Since the file was updated in 2023, reflect that.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 568e5dbcd9388f94800a94ace25ee993c7a424bc
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Mon Nov 13 15:08:23 2023 -0800

    Red Hat duebuild - whitespace cleanup
    
    Kept separate for functional change clarity.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 057d346e4e7927f749ea12bb33a267ed5d00ec4e
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Mon Nov 13 15:01:22 2023 -0800

    Red Hat duebuild - example clean up and build fixes.
    
    All of these changes came out of making sure the help examples worked.
    
    --help-examples Now uses htop as the example package.
                     It builds fast and reads better than 'foo'
    
     The actual build command invoked wasn't printing.
      Set it to BUILD_COMMAND rather than a local variable so that
      what actually ran is visible in the build output.
    
     For build and extraction options, the directories holding the output
      are listed with a header to separate them, and are sorted with
      the most recent files at the bottom of the list
    
     RPM --target architecture (x86_64, aarch64, etc) is retrieved
     with 'uname --machine' as uname --processor was returning a very unhelpful 'unknown'
    
    Testing
    ----------------------
    Verified help examples with Fedora 39
    
     - Source download and build
        duebuild --download-src htop
        duebuild --cbuild ./htop-3.2.2-3.fc39.src.rpm
    
     - Build with additional rpmbuild arguments
        duebuild --rpmbuild-option -ba --cbuild ./htop-3.2.2-3.fc39.src.rpm
    
     - Kernel build
        duebuild --download-src kernel
        duebuild --cbuild kernel-6.5.11-300.fc39.src.rpm
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit ee69caa92d8187e6ea0390407ad84bc98aa9475d
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Mon Nov 13 14:52:44 2023 -0800

    duebuild - Put a space in before help printout.
    
    It just looks better.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 00b8bdefb5b35ab922c216664f9af118874875f8
Merge: 92f81cc 4a1e2f3
Author: Alex Doyle <44242404+ehdoyle@users.noreply.github.com>
Date:   Sat Nov 11 12:06:22 2023 -0800

    Merge pull request #46 from ehdoyle/master
    
    Changes inspired by running Lintian

commit 4a1e2f39d043f798449e94386cba4b4491a1bccd
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Nov 11 19:53:22 2023 +0000

    Regenerated man pages with pandoc 2.17.1.1
    
    Used the latest pandoc in Sid to regenerate the man pages after the
    latest lintian flagged missing font 'C' in the documentation.
    Ex: cannot select font 'C' [usr/share/man/man1/due.1.gz:1]
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 76a5c33667283a0949c7974894c2eccd54660ed0
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Nov 11 19:41:17 2023 +0000

    Makefile - add run-lintian
    
    As an easy reminder that a built deb needs to be present in the
    directory above the build directory.
    
    Invokes: lintian <path to deb>
    
    Note that the due.lintian-overrides file has to be built in to the .deb
    for lintian to find it, and, currently the only two branches that provide
    it are:
     debian/master <- the upstream release branch
     debian-test   <- the debug branch for debian/master.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 9e1783041b70885bacc43e259095da0fedb9e163
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Nov 11 11:16:40 2023 -0800

    Makefile rm -rf due-build-merge directory.
    
    Use the variable that sets the directory name, and add a -r as
    it is a directory getting removed.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 92f81cc5393a1840446088c619bbd421c0f59c2e
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Nov 11 10:32:33 2023 -0800

    Makefile - add explicit debian-test branch target.
    
    The debian-test branch is used to debug Debian packaging cleanup
    issues (lintian warnings, etc) before cutting a release so those
    changes can be as clean and clear as possible.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 3c62fb6119239a34edbcada6df8848259426c3de
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Nov 11 18:15:11 2023 +0000

    Makefile - add make clean
    
    This adds a make clean option to clean up build leftovers.
    This includes Debian packaging/build files in the directory
    above the one where make is invoked, the original tar file,
    and any image merge directories that might exist in the current one.
    
    This also cleans up the Make help to group entries by
     Developer options
     Package targets
     nice-to-haves.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit cef18dde8a1938d59739593c3d1133ab8148524b
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Nov 11 07:48:42 2023 -0800

    Fix random posessive use of it's.
    
    It's = it is.
    Its  = it has (posessive)
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit c7ea44e949803b320bce648d3a22cf9d3116ca60
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Fri Nov 10 07:12:36 2023 -0800

    Onie README.md - add OS releases to --tag
    
    changed --tag from onie to onie-9, onie-10, onie-11 for naming
    consistency in example image creation.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 70d38ea707bd379bd8b87266e6e7bc7d195966e6
Merge: ee38536 b659c97
Author: Alex Doyle <44242404+ehdoyle@users.noreply.github.com>
Date:   Thu Nov 9 15:50:42 2023 -0800

    Merge pull request #45 from ehdoyle/master
    
    Fixes inspired by shellcheck

commit b659c976a5eb997bf22d90c5faebdac4e9d19902
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Thu Nov 9 15:01:32 2023 -0800

    due - Update Nvidia copyright to include 2023
    
    ...since the file was updated.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 78319b2b5f7ed9a7e3689132ab5a4e2e20679e98
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Thu Nov 9 14:55:01 2023 -0800

    debian-package duebuild - shellcheck script cleanup
    
    The clean up lead to having to retest a few functions to make sure
    nothing broke.
    
    Testing
    --------
    htop was used as the source package as it's a quick build and had
    dependencies that the rest of the container didn't use.
    
     #Download
      ./duebuild --download-src htop
     #Remove some dependencies
       sudo  dpkg -P pkg-config libsensors-dev libnl-3-dev libnl-genl-3-dev htop-build-deps
     #Build via .dsc
       rm -rf ./htop-3.2.2/ ; ./duebuild --build-dsc ./htop_3.2.2-2.dsc
     #Build from within the directory
       cd htop-3.2.2/
       ../duebuild --build
    
    Tested in Debian 12 and Ubuntu 18 containers.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 716503c95ae244fa8ba189f9c38c7b60579f6261
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Thu Nov 9 13:39:10 2023 -0800

    duebuild - handle auto generation of sources repositories for Deb822
    
    So with Debian 12, the format of files specifying source repositories
    changed to have a .sources at the end, and internal formatting is a
    bit different.
    
    The --download-src option will try to auto-generate corresponding
    source repository entries if they don't exist.
    This is common with most released containers as they don't default
    to being build environments (hence, DUE...).
    
    This change looks for a *.sources file under /etc/apt, and if it
    finds one, it creates a copy with Type: deb changed to Type: deb-src,
    and puts the copy under /etc/apt/sources.list.d, and runs apt update
    to make the contents accessible.
    
    Note that this is not intended to be completely robust at this point.
    In most cases finding a single file to convert should work, and if
    it isn't enough, the resulting configuration should be a good starting
    point for debug, as it has examples of what the user should do.
    
    Testing:
    ./duebuild --download-src ncdu
    
    Worked in a Debian 12 and an Ubuntu 18 container.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit d8123beeed83c63e2d50efedfc53df8ea52fb00b
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Thu Nov 9 13:37:30 2023 -0800

    debian-package duebuild - some shellcheck cleanup
    
    Fixes a few unquoted variables and adds in a few overrides for
    stub arguments I'd like to leave there.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 2ffb64aa7d147c0f94aa8df4e39f230074b2629c
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Thu Nov 9 12:01:18 2023 -0800

    Shellcheck cleanup for due and libdue
    
    Fixed some variables that should have been quoted, and added
    shellcheck exceptions for ones that should explicilty not be
    with
     shellcheck disable=SC2086
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 43cfb580b43077518a8edafb72b29ad89084776f
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Thu Nov 9 10:42:11 2023 -0800

    Backwards compatibility change to column formatting for help
    
    Turns out, older versions of column, such as the one provided with
     bsdmainutils 11.1.2ubuntu1
    do not support arguments starting with --
    This change reduces the options to just 'table' to help provide
    maximum interoperability.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit ee385364013b9c801c1605e448404bd0afb0c563
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Wed Nov 8 19:39:16 2023 -0800

    Clean up container creation help example output.
    
    This has two changes to make the container creation examples
    cleaner for cut and paste.
    
    1 - If DUE was invoked from a system install, rather than from a
     source directory, remove the leading ./ on due in the example.
     Thus './due' becomes 'due' so that the line can be cut-and pasted.
    
    2 - If the 'column' program is available, strip extra spaces from
     the example output, to create the closest possible columns.
     Currently all the creation examples pulled from the README files in
     the template directories are spaced such that the widest field determines
     the spacing of the rest of the column, as that is always readable, but long.
    
     Now if the user filters the output to only fedora builds with
       due --create --help --filter fedora
      columns will create compact formatted output, and because that output
      doesn't have to account for, say,  registry.suse.com/bci/bci-base:latest,
      the line to cut and paste will be a lot shorter.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit a5af262a955125433a2722501d934ae61f41d198
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Fri Sep 1 08:29:35 2023 -0700

    Makefile - updte help message for debian-test branch build.
    
    The debian-test branch is used to test Debian packaging before
    release to reduce the number of merges from master to the
    debian/master branch.
    
    Basically it's scratch space to figure out what one clean merge
    for promotion will look like.
    
    This change is a reminder to set the Makefile variable which
    selects the branch to use when testing.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit c2f340f01c07cb8cb23dde7698f4732d5f50f979
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Mon Jul 17 12:18:16 2023 -0700

    Update debian-package and example to mention Debian 12 Bookworm
    
    This updates the README.md files for the debian-package and
    example templates to reference Debian 12 rather than Debian 11
    in the example strings they provide when:
     due --create --help
    is run.
    
    Nothing is wrong with Debian 11 - this just demonstrates that
    the latest release is supported and those build configurations
    work...and we don't need examples for every possible entry.
    
    Testing: ran the following, logged in, and built with debian-package
    ---------
    ./due --create \
          --platform linux/amd64  \
          --name package-debian-12 \
          --prompt PKGD12 \
          --tag pkg-debian-12-amd64 \
          --use-template debian-package \
          --from debian:12 \
          --description "Package Build for Debian 12"
    
    ./due --create \
          --platform linux/amd64 \
          --name example-debian-12 \
          --prompt ExD12 \
          --tag example-debian-12 \
          --use-template example \
          --from debian:12 \
          --description "Debian 12 example"
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit c830fa782e5e29bf185391a0667219fe80c3dfae
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Thu Jul 13 15:07:30 2023 -0700

    ONIE Debian 9 - use --image-patch, generate backports
    
    Since the Debian package repositories for Debian 9 Stretch have been
    archived, this commit:
    - Updates the example for the Debian 9 ONIE build environment to use the
      --image-patch option to pull in an updated sources.list
    - Changes the post-install-config.sh script to dynamically generate
      the stretch-backports.list file needed to pull in a newer version
      of python-sphinx, rather than having a stretch-backports.list file
      that can get pulled in to other Debian versions of the ONIE
      build environment.
    
    Testing:
    
    Built ONIE for accton_833435_b21 in a Debian 10 container on master branch.
    Built ONIE for alphanetworks_snj61d0_320f-r0 in a Debian 9 container on 2021.08 branch.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 8fea9c95cc0b98857bfba0f117e945747fd230cc
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Tue Jul 4 07:24:47 2023 -0700

    Container debug login hints for Podman
    
    This adds reminders that the user can try browsing for running
    containers as root if they are using Podman.
    
    Testing:
    Ran fine on CentOS 8
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit ffc96070a860b397cd0f0ee46ff176091d963f32
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sun Jul 2 11:59:21 2023 -0700

    Version 4.1.0 Add image-patch directory, and --image-patch create option
    
    User Malte Janduda (https://github.com/MalteJ) discovered that the latest
    Debian 9 stretch images have an apt/sources.list file that no longer references
    Stretch packages correctly since they nave been moved to archive.debian.org.
    Additionally, stretch-updates has become stretch-proposed-updates.
    
    (This article was useful in seein the to-archive conversion:
      https://www.geekersdigest.com/apt-etc-apt-sources-list-for-every-debian-release/ )
    
    Malte submitted a pull request ( https://github.com/CumulusNetworks/DUE/pull/43 )
    that would have addressed the ONIE build, which makes sense because DUE
    (up to this point) has assumed that the base images being pulled could
    perform a package update, or were otherwise totally functional.
    
    However when the Debian 9 image went stale, it also broke any template that
    uses Debian 9, so both the ONIE and debian-package templates are broken,
    for Debian 9, stuck trying to access package repositories that are no longer there.
    
    And this problem is only going to get worse as other images age out, or
    repositories go offline, so a more general solution is required to allow
    the end user to modify the starting state of the image. Package repository
    access is the only problem case right now, but there may be others.
    
    To solve this I'm adding an image-patch directory where updated files
    for images can be stored, and will be copied in to an image build if
    the --image-patch < path to image-patch directory>/<image-name>/<tag>/
    argument is passed during creation.
    
    Those files will get copied in to the build area, and will end up under
    /due-configuration in the container.
    
    The pre-install-config.sh script can then apply the changes before
    anything template specific executes.
    
    For example, the pre-install-config.sh template that generates the first
    script that DUE runs in the container during configuration starts by
    usin apt to install bash, sudo, and other programs DUE scripts expect.
    Then it applies the template files which may do things like
    overwrite sources.list with a copy that points to a developer local repository.
    
    With this change, the pre-install-config.sh  now checks for
    an etc/apt/patch-sources.list file, and, if present,
    overwrites the container's /etc/apt/sources.list before trying to
    apt update, and before the template files are installed.
    
    The patch file starts with patch- both for clarity, and so it can
    co exist with a  sources.list file the template may supply
    when it's files are copied in to the image creation directory.
    
    Code changes include:
     - Adding image-patches directory with updated sources.list for Debian 9
     - Adding --image-patch argument
     - Updating due and libdue to handle the argument and directory
     - Updating makefile to install image-patches directory
     - Updated pre-install-config.sh.template to deploy the sources.list
     - Updated documenation and man page
     - Rolled in Maltej's update to stretch-backports.list
     - Updated version to 4.1.0 to distinguish from the last release
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit c0263563b39820c30f6ecf9fba0dbbc2532c6efb
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Jan 21 23:11:36 2023 +0000

    debian changelog - update for 4.0.1 release.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 802e219c39c5fef1ccb1d512b601f0127ba0a716
Merge: 666087a 379a5c1
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Jan 21 23:08:50 2023 +0000

    Merge branch 'master' into debian/master for 4.0.1 release
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 666087aabc8eb0c12f59215fd17b43e9ea4124b2
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Fri Jan 20 11:45:10 2023 -0800

    due.docs - Add additional documentation files.
    
    This puts the full collection of DUE documentation, with examples,
    FAQ and getting started guides under /usr/share/doc/due
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 379a5c1a823fc1504d779d33c0ea4d4261dea25c
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Jan 21 14:51:53 2023 -0800

    Version 4.0.1 - New release for bug fixes
    
    This fixes a few minor issues found post-release candidate.
    
     - Image export now retains image name and tag.
     - Debian duebuild's --download-src handles containers without sources.list files
     - ONIE template has commented out mounts of suggested directories, as this
       caused failures when using Podman. They can be re-added for Docker, though.
    
    Signed-off-by: Alex Doyle: <adoyle@nvidia.com>

commit 960cdef5dce23b6415761e0482343b5387ac401f
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Jan 21 14:39:29 2023 -0800

    Debian duebuild - Improve --download-src error handling.
    
    This accounts for the case of an /ect/apt/sources.list file
    not being present, as is the case with Debian Sid containers.
    
    --download-src will:
     - Search /etc/apt for any deb-src entries. If it finds them, it
        continues with an apt-src download.
     - If it fails to find them, it will try and create deb-src entries
       from existing deb entries in /etc/apt/sources.list and put the
       resulting file under /etc/apt/sources.list.d.
     - If an /etc/apt/sources.list file does not exist, it stops trying
       to be clever and just errors out, letting the user figure out
       how to add deb-src entries.
    
    Testing:
    -------
     duebuild --download-src watchdog in a Ubuntu 22.04 container
       - got source
     duebuild --download-src watchdog in a Debian Sid container
       - Fails to find source and errors out, as designed.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit fc1f681d344b41cf02784b552d166808383f5be3
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Thu Jan 19 18:38:31 2023 -0800

    ONIE Dockerfile.config - disable auto mount of /cache and /dev
    
    This comments out the auto mount of /var/cache/onie and /dev when
    running an ONIE build container as it causes the container session
    to crash with permissions errors on Podman.
    
    The mounting is more of a convenience for secure boot builds and
    storing source code for building multiple platforms, so it is more
    of a corner case issue unless you are the ONIE Project Lead
    
    Docker users can re-enable this, or add the mount for 'onie-build'
    containers in the due.conf file used by the system.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit f372c4d9d7194128366dd7233eea9471f31a45f2
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Thu Jan 19 18:30:11 2023 -0800

    libdue Export image name and tag when exporting an image
    
    This modifies the docker|podman save command to use a name:tag
    rather than an image Id, which preserves the name and tag of the
    container in the exported image so that it can be used on import.
    
    Note that images exported from Podman will import to Docker with
    a 'localhost/' in front of the image name.
    This gets in to the 'short names' of Docker images not presenting
    the full URL of where the image came from.
    Docker assumes 'Docker.io/' and removes this.
    Podman defaults to 'localhost/'
    ...which is why images exported from Docker to Podman get
    'localhost/' prepended to the image name, and since images
    exported from Podman to Docker don't start with 'Docker.io',
    the 'localhost/' shows up on Docker import.
    
    As there doesn't seem to be a way to get around this without
    'being clever' and introducing more corner cases to cover
    (Ex: tag the image, then export it, then delete the tag...unless
    a tag already exists...) I'll leave it at "Functions As Designed"
    
    Testing:
    --------
    Export Podman generated image, load on Docker system.
    Export Docker generated image, load on Podman system.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 599456ff83d3c6f514c3829788dc42d828df918b
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Jan 14 09:17:44 2023 -0800

    debian/changelog - Update 4.0.0 release with bug fixes
    
    This notes two debian/control specific fixes from:
    https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=due
    
    Drop qemu from recommends
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010082
    
    Add support for systemd-binfmt
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1023396
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit a974ae3428cfe795009b607d0b5184a759e1a694
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Jan 14 09:12:08 2023 -0800

    debian/control - remvove recommends qemu - Deb bug #1010082
    
    This removes the dummy package qemu from recommends: as it
    currently installs no functional files and is going away.
    
    Fixes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010082
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit eb85edabe485550260685409fc100bffcb915a64
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Jan 14 09:04:56 2023 -0800

    debian/control - systemd as alternate recommends - Deb bug #1023396
    
    As systemd provides a builtin cross-distro facility named
    systemd-binfmt to register binary formats, it is the preferred
    way to getting alternate architecture binaries to run.
    
    binfmt-support is being kept as an alternate for older releases.
    
    From: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1023396
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 653ad97ca611a7c73118e2e015976ccf86d5171b
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Fri Jan 13 11:07:44 2023 -0800

    debian/changelog - fix timestamp using dch -i
    
    As part of re-checking everthing before tag and release,
    Use host system, not container to be double sure of time zone.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit f324faa9b351cf9a2ff1ea90201b38e4e66100b3
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Fri Jan 13 19:00:01 2023 +0000

    Update debian changelog for 4.0.0 release
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit e0c20d8aaf4494bbc41dc20da94377cf7121f7b8
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Fri Jan 13 18:54:55 2023 +0000

    due.lintian-overrides - update for new files
    
    This extends the overrides to the redhat and suse template directories,
    as well as explicitly marking sourced bash scripts as non executable.
    
    Signed-off-by Alex Doyle <adoyle@nvidia.com>

commit 06b713164907d3df4d7f6810d6bbfbb06693aef4
Merge: e276bc4 00fdc9f
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Fri Jan 13 10:45:47 2023 -0800

    Merge branch 'master' into debian/master
    
    Preparing for 4.0.0 release.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit e276bc4012209de90eb45188577a04abe906ca6d
Merge: 1a90e15 f352225
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Fri Jan 13 10:42:16 2023 -0800

    Merge branch 'debian/master' of https://github.com/CumulusNetworks/DUE into debian/master

commit 00fdc9f054c352f40b6eb252e860b3aa487ab1b3
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Fri Jan 13 09:23:29 2023 -0800

    Makefile - fix build success logic.
    
    This moves the check for a resulting .deb or rpm in to the second
    pass of the Makefile, where it will execute AFTER build has been
    attempted.
    
    This does explain the failures on the first pass of the build.
    If the .deb or .rpm was left over from a previous build, it would
    be detected before build start, and everything would be fine.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 6232adba01f0d6adb4a95ca7df9f50e5eefd4e6c
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Fri Jan 13 07:54:04 2023 -0800

    Add DUE logo to documents.
    
    This adds the jpeg for the project logo and adds
    it to a few documents.
    
    The intent of the logo is to provide a visual reference
    for the project, where the Venn diagram implies that
    the user can be simultaneously in two different environments.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 5374f7e2c93f6ad70e218913287ab1c51cb4e1a2
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Thu Jan 12 17:59:44 2023 -0800

    due.conf - Add sample defaults for ONIE build
    
    This adds a commented out example of the settings I'd used producing
    ONIE releases for ONIE containers. The two options are:
    
    --privileged - needed to loopback mount filesystems, needed when doing
      Secure boot builds that set up a virtual USB drive.
    
    --volume - mount the host's cache of ONIE downloaded packages under
      /var/cache/onie/downloads (only use it if it is there.) This
      can speed up builds by reducing the need to download packages off
      the internet.
    
    The example is commented out as not all users will need it, and
    not all systems will have a cache, so it is left to the developer to
    know what the right thing to do is.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit f352225abaf3c4a99ab497ca41cac0b83a954232
Merge: 13e7f50 afa9bf1
Author: Alex Doyle <44242404+ehdoyle@users.noreply.github.com>
Date:   Thu Jan 12 17:44:26 2023 -0800

    Merge pull request #42 from debian-janitor/lintian-fixes
    
    Fix some issues reported by lintian

commit cfcef651354a9741dd5d82fbb3f9c8cfcb1b0c16
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Tue Jan 10 14:49:27 2023 -0800

    Debian duebuild - support --lookup and download-src options.
    
    This establishs some parity with the RPM duebuild script, where
    I could never remember the commands to do this, so, presumably
    developers more familiar with RPMs may have the same issues with
    Debian.
    
    --lookup - given a file it reports the .deb that installed it.
    
    --download-src - in addition to running 'apt-get src', this will
      go looking for deb-src entries under the container's /etc/apt/sources-list*
      If it finds none, it will copy any 'deb http' URLS and write
      them to a file under /etc/apt/sources.list.d/ as 'deb-src http',
      since the binary and source repositories usually map up.
      If it does find entries, it just skips to 'apt-get update' and
      package download.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit afa9bf19b6267fffbe850875a85f086d682cb61b
Author: Debian Janitor <janitor@jelmer.uk>
Date:   Sat Jan 7 21:52:04 2023 +0000

    Update standards version to 4.6.2, no changes needed.
    
    Changes-By: lintian-brush
    Fixes: lintian: out-of-date-standards-version
    See-also: https://lintian.debian.org/tags/out-of-date-standards-version.html

commit f564ff94f34c3fca1292cf2c9419c9cf254a138c
Author: Debian Janitor <janitor@jelmer.uk>
Date:   Sat Jan 7 21:52:02 2023 +0000

    Set upstream metadata fields: Bug-Database, Bug-Submit, Repository-Browse.
    
    Changes-By: lintian-brush
    Fixes: lintian: upstream-metadata-file-is-missing
    See-also: https://lintian.debian.org/tags/upstream-metadata-file-is-missing.html
    Fixes: lintian: upstream-metadata-missing-bug-tracking
    See-also: https://lintian.debian.org/tags/upstream-metadata-missing-bug-tracking.html

commit 776bd5a02d6f6f14ad8fa63abc7a1733314f03fb
Author: Debian Janitor <janitor@jelmer.uk>
Date:   Sat Jan 7 21:51:55 2023 +0000

    Update lintian override info format in d/due.lintian-overrides on line 6, 10-13.
    
    Changes-By: lintian-brush
    Fixes: lintian: mismatched-override
    See-also: https://lintian.debian.org/tags/mismatched-override.html

commit 45080fc1bbc181bef4f91216aa170a0f176fe6e5
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Jan 7 10:32:50 2023 -0800

    libdue - Specify architectures to avoid warnings when using emulation.
    
    To eliminate host/target architecture mismatch warnings when run. i.e:
    
     "[Warning] The requested image's platform (linux/arm64) does not match the
      detected host platform (linux/amd64) and no specific platform was requested"
    
    - Podman requires:
        --arch <target>.
    - Docker wants:
        --platform <target os>/<target arch>,
      ...and does not recognize --arch (at least in the verison I'm using,
      which I will consider to be a feature for backwards compatibilty.)
    
    So this commit adds conditional logic to eliminate the warnings.
    
    Testing:
    --------
    Ubuntu 20 amd64, Docker ran Fedora 36 arm64
    Ubuntu 20 amd64, Docker ran Sid amd64
    
    RHEL 9 amd64, Podman ran Fedoral 36 arm64
    RHEL 9 amd64, Podman ran RHEL9 amd64
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 861a73fb30ddd84b769713526b8a8630d519eb88
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Jan 7 07:17:42 2023 -0800

    pre-install-config.sh.template - Restrict faketime to Debian builds
    
    Not all distributions will have faketime. This failed on RHEL9 testing.
    As Debian 8 is the only build using it so far, limit its inclusion to
    Debian based operating systems.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 5d6a32fc472d148a9fd5ba0a0faeade8768c0fcc
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Tue Jan 3 15:21:28 2023 -0800

    libdue - Supply OS when running with --platform
    
    This fixes an issue seen on Podman where warnings about the
    image platform not matching the expected platform were printing.
    
    Supplying the OS with the architecture when using --platform fixes
    this.
    Ex: --platform linux/arm64
    
    Testing
    -------
     Podman on Fedora 37 linux/amd64
     Docker on Ubuntu 18 linux/arm64, and linux/amd64
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit b0e16dd68cccc92167701fec0938ffbaa51f52e0
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Tue Jan 3 15:12:41 2023 -0800

    Makefile rpm-package build fails on first ~/rpmbuild create
    
    This adds a warning comment about this weird build condition.
    
    For whatever reason, the rpm-package build can report failure
     the first time it is run, as the Makefile wildcard match does
    not detect the due*noarch.rpm file under ~/rpmbuild/RPMS/noarch
    ...even though a ls -l in the Makefile executing _before_ the
    wildcard match runs does show that file there.
    ...and even though that detection logic works correctly on
    subsequent builds.
    
    Testing:
    ------------
     rm --rf ~/rpmbuild
     make rpm-package
     <selected a fedora|opensuse container>
     Build works, fail message prints
     make rpm-package
     Build works (rpm time stamp is updated)
     Prints success.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit fa91aa7256ef0971daee377d956ddf2c66c3e976
Author: Alexander Doyle <adoyle@nvidia.com>
Date:   Tue Jan 3 14:19:34 2023 -0800

    Makefile - Automate packaging build cleanup.
    
    This adds error handling to the rpm-package and debian-package
    targets, which check out the rpm/master and debian/master branches,
    then do the packaging build, then return to the master branch.
    
    When the build fails the build area is left on the rpm or debian master
    branch, which may not be immediately obvious to the user, and it
    has files scattered around it which make switching back to master,
    and remembering to 'stash pop' any changes, a bit much to ask.
    
    So, for either of those targets, the build will always clean up
    after itself as I've added a ' ; true' to keep even failed builds
    from exiting the make.
    
    To be able to actually flag errors, the Makefile will delete any
    existing .deb or .rpm files that would be produced before the build
    starts. (This happens a few steps in to the build so that conditions
    that would prevent the build from working (wrong branch, missing tarfile,
    etc ) have to be satisfied before the old build gets deleted)
    If the deb/rpm does not exist at the end of the build, it's a fail,
    and a big failure message will be printed.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 0d00ec5a498ca6fa48cc1ec646c1f8aa98c95da8
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Mon Jan 2 15:22:12 2023 -0800

    Support older (Debian 8) releases.
    
    fixes #41
    
    When using a Docker image for a release that is no longer
    supported, users will encounter problems around expired keys
    (resulting in validation errors) and possibly missing
    upstream package repositories.
    
    Fixing the missing repository problem will require the
    developer to find archived copies of the repository and update
    the image's /etc/apt/sources.list configuration.
    However, DUE can help mitigate the key expiration/validation
    issues by disabling APT security checks, reasoning that a
    failed install at this point is worse than not having an image at all.
    To that end, DUE's `pre-install-config.sh.template` will
    `apt --force-install` packages for Debian releases.
    The `post-install-config.sh` script will check against distributions
    known to have these problems, and will notify the user with a warning
    during image creation.
    To do this, the `post-install-config.sh` will source the image's
    `/etc/os-release` file and run APT commands with `faketime` to make
    the system think the keys have not yet expired, provided the container's
    release version matches a known release that has this problem.
    As of 01/02/23, Debian 8 (Jessie) is the only image that is supported this way.
    
    Additionally, the Debian `duebuild` script supports building in
    containers that have this problem by supplying the `--force-apt` option.
    Ex: `duebuild --force-apt --build`
    will disable the checks on pulling in build dependencies, and do its
    best to just build.
    
    Users can also try force updating the keys by adding
    `sudo apt-key adv --recv-keys` to the `pre-install-config.sh.template`
    and re-creating the image, but this may result in getting a
    newer set of expired keys.
    
    Testing
    -------
    Built:
     debian-package:
      image from Debian 8 Jessie,
        ...and used it to build watchdog package with:
        duebuild --force-apt --cbuild
      images from Debian 11 Bullseye, and Sid
        ...and used them to build watchdog package with:
        duebuild --cbuild
      Also tried the Debian 11 watchdog build on WSL.
    
     onie:
      image from Debian 8 jessie
        ...and used it to build accton_as6701_32x from the
        2020.11 legacy branch with
         make MACHINEROOT=../machine/accton \
           MACHINE=accton_as6701_32x -j8 all demo
    
      image from Debian 10 Buster
        ...and used it to biuld a secure boot virtual target with:
         make signing-keys install
         make MACHINE=kvm_x86_64 shim-self-sign
         make MACHINE=kvm_x86_64 -j8 all demo
    
    So Debian 8 seems to work, and the changes don't seem to have
    broken newer distributions.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 649b749530b8a4fe839dd2a55225edc0035f91d7
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sun Jan 1 08:54:25 2023 -0800

    README.md - elaborate on new RPM support.
    
    This adds a few more comments about development history, specifically
    calls out the new rpm *-package targets (fedora-package, etc)
    and removes some references that implied DUE is strictly Debian -
    which was accurate up to the 4.0.0 release.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit a3433e4c5dc21ab86e2f843c0910808aa2f3e182
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Dec 31 20:09:04 2022 -0800

    README.md - updated to reference RedHat and SUSE
    
    As Fedora, RHEL, SUSE, and openSUSE are now supported environments,
    they get a mention in the top level README.md
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 1a90e15c3e6f704f557da0b6597cb5e96f44d48e
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Dec 31 19:35:29 2022 -0800

    due.lintian-overrides - update path formats for latest Lintian.
    
    The latest Lintian in Sid as of release preparation is 2.115.3.
    
    This version expects file paths used in Lintian overrides to
    be enclosed in square braces [<path>], whereas the previous version
    used in the 3.0.0 release of DUE did not.
    
    This change adds square braces to the paths used to specify
    Lintian overrides to eliminate 'mismatched tag' errors, and have
    the overrides apply correctly.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 51346646906daa85332da27260fcdda87198a223
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Dec 31 19:33:35 2022 -0800

    debian/control - update Standards-Version to 4.6.1.0
    
    Updates Standards-Version to 4.6.1.0 from the 4.6.0 used in the
    3.0.0 release.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 49617291f33aa544de614efeef1fac0c20d353e8
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Dec 31 09:56:26 2022 -0800

    libdue - do not blame Docker fails on Podman systems.
    
    This puts a conditional around an error that happens if Podman
    errors out trying to list images. With Docker, it usually means
    that the daemon isn't running, but since Podman doesn't have a daemon,
    it really doesn't apply.
    
    Found this testing rpm package install in a Fedora 36 container and
    trying 'due --run' just to see what would happen.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 7317be28e3fbbb6767a7737d9344b8dc93543ab4
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Dec 31 09:55:01 2022 -0800

    GettingStarted.md - Initial add of rpm instructions.
    
    Now that rpm builds are becoming a thing, instructions
    have been added for installing the rpm build of DUE for
    various RPM using operating systems.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit cad0e266fda122008875b44a2fc2be292489009a
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Dec 31 09:03:09 2022 -0800

    Makefile - Do not recreate orig.tar on every build.
    
    This changes the orig.tar target to NOT rebuild the 'upstream tarball'
    orig.tar file used for packaging .deb and .rpm files for release.
    
    Otherwise it would be touched between .deb and .rpm builds, so this
    assures that .rpm and .deb releases have exactly the same code
    (time stamps and all).
    
    Creating a clean tar file is left as an exercise for the developer
    to manually delete as they see fit, since the code trying to be clever
    about this is likely to make it worse.
    
    Also cleaned up some display and informational formatting in the output.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 3a42b9c61eac9e3bf7434f1abdd5a31ac1685be6
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Sat Dec 31 09:13:13 2022 -0800

    debian/changelog - updated to version 4.0.0-1
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 84b364ccab51c7201b3af9ec011a7e2600e27fba
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Fri Dec 30 14:00:46 2022 -0800

    Makefile - RPM Packaging support, with rpm-package target.
    
    This target will:
     Git stash current work.
     Check out the rpm/master branch that has the due.spec file.
     Create an ~/rpmbuild directory tree.
     Copy the due original tarfile under ~/rpmbuild/SOURCES.
     Copy the due.spec file under ~/rpmbuild/SPECS.
     Provide a build command that requires the user to choose a
      Docker image capable of building RPMs.
     Does the build.
     Checks out master again.
     Pops any Git stashed work.
    
    Ideally, the user will have a DUE RPM under ~/rpmbuild/RPMS
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit ca3a2b07e8a93c56e4dd0708ca07a07f93294750
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Thu Dec 29 15:33:04 2022 -0800

    libdue - Note Podman image listing may take a while.
    
    For whatever reason:
    images --format 'table  {{.Repository}}\t{{.Tag}}\t{{.Size}}\t{{.ID}}'
    takes about 20 seconds on an older test machine, where Docker does not.
    Put in a message to imply that DUE hasn't hung while it is looking for images.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 56db3dca9a47f749ad98a16f2b4406d5aa2ab263
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Thu Dec 29 15:31:30 2022 -0800

    Clean up file sourcing to be very explicit.
    
    This explicitly lists the top directory, location of due,
    libdue, and if the system's /etc/due/due.conf file or the user's
    ~/.config/due/due.conf fie is being used.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>

commit 67d793570ddb8090e46b8ac4ee6f8ca22081870c
Author: Alex Doyle <alexddoyle@gmail.com>
Date:   Thu Dec 29 15:20:15 2022 -0800

    Makefile - clean up output formatting on install.
    
    Fixes weird spacing and some column alignment issues.
    
    Signed-off-by: Alex Doyle <adoyle@nvidia.com>
Created: 2020-09-23 Last update: 2025-05-21 00:32
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.2 instead of 4.6.0).
Created: 2022-05-11 Last update: 2025-02-27 13:24
news
[rss feed]
  • [2021-12-18] due 3.0.0-1 MIGRATED to testing (Debian testing watch)
  • [2021-12-12] Accepted due 3.0.0-1 (source) into unstable (Alex Doyle) (signed by: Gerardus Stappers)
  • [2021-02-27] due 2.3.0-2 MIGRATED to testing (Debian testing watch)
  • [2021-02-16] Accepted due 2.3.0-2 (source) into unstable (Geert Stappers) (signed by: Gerardus Stappers)
  • [2021-01-25] Accepted due 2.3.0-1 (source all) into unstable (Alex Doyle) (signed by: Gerardus Stappers)
  • [2020-10-02] due 2.0.0-3 MIGRATED to testing (Debian testing watch)
  • [2020-09-27] Accepted due 2.0.0-3 (source) into unstable (Geert Stappers) (signed by: Gerardus Stappers)
  • [2020-09-27] Accepted due 2.0.0-2 (source) into unstable (Geert Stappers) (signed by: Gerardus Stappers)
  • [2020-09-22] Accepted due 2.0.0-1 (source all) into unstable, unstable (Debian FTP Masters) (signed by: Gerardus Stappers)
bugs [bug history graph]
  • all: 2
  • RC: 0
  • I&N: 1
  • M&W: 1
  • F&P: 0
  • patch: 1
links
  • homepage
  • lintian (1, 5)
  • buildd: logs, reproducibility
  • popcon
  • browse source code
  • edit tags
  • other distros
  • screenshots
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 3.0.0-1

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing