Project

General

Profile

Task #11784

22 Oct - bung: submit to Debian

Added by Charles Atkinson 8 months ago. Updated 23 days ago.

Status:
In Progress
Priority:
Normal
Start date:
11/03/2021
Due date:
% Done:

100%

Close

Description

Three bung issue are not progressing quickly
  • Task #7679 "bung: make public", stuck on setting up
    • A read-only no-authentication git server
    • A .deb server a.k.a. repository server
  • Task #7681 "bung: create .deb" stuck on creating the source .deb
  • Bug #11074 ".deb: add dependency on packages at and lsscsi" implemented but does not work

All those issues would be resolved if Debian adopted bung


Subtasks

Task #11861: bung: make Debian compliantClosedCharles Atkinson


Related issues

Related to bung - Task #7679: bung: make public In Progress 16/02/2019

History

#1 Updated by Charles Atkinson 8 months ago

  • Status changed from New to In Progress

Research

https://mentors.debian.net/ > https://mentors.debian.net/sponsors/

File a RFS bug against the sponsorship-requests pseudo-package

If your package does not match the interests of any team or you are not sure whether a team could be interested in your package, please report a bug against sponsorship-requests pseudo-package to draw attention to your package. Your bug report should be formatted according to our RFS ("request for sponsorship") template. If you uploaded your package to mentors.debian.net, a RFS template can be shown on your package page.

If you are unsure or in doubt, choose this alternative.

Typically you will reach the greatest audience by filing a bug. Eventually also some non-uploading reviewer may have a look at your package. Please do not worry if you get no answer: It happens from time to time that all interested people might be distracted or busy. It does not mean your package is bad. Feel free to poste a follow-up message after a few weeks or try any of the alternative methods to find a sponsor.

Submission

root@cw11.iciti.av:~# reportbug
Welcome to reportbug! Since it looks like this is the first time you have used reportbug, we are configuring its behavior. These settings will be saved to the file "/root/.reportbugrc",
which you will be free to edit further.
Please choose the default operating mode for reportbug.

1 novice    Offer simple prompts, bypassing technical questions.

2 standard  Offer more extensive prompts, including asking about things that a moderately sophisticated user would be expected to know about Debian.

3 advanced  Like standard, but assumes you know a bit more about Debian, including "incoming".

4 expert    Bypass most handholding measures and preliminary triage routines. This mode should not be used by people unfamiliar with Debian's policies and operating procedures.

Select mode: [novice] 2
Will reportbug often have direct Internet access? (You should answer yes to this question unless you know what you are doing and plan to check whether duplicate reports have been filed via
some other channel.) [Y|n|q|?]? y
What real name should be used for sending bug reports?
[root]> Charles Atkinson
Which of your email addresses should be used when sending bug reports? (Note that this address will be visible in the bug tracking system, so you may want to use a webmail address or
another address with good spam filtering capabilities.)
[root@cw11.iciti.av]> bung@charlesmatkinson.org
Do you have a "mail transport agent" (MTA) like Exim, Postfix or SSMTP configured on this computer to send mail to the Internet? [y|N|q|?]? y
Please enter the name of your proxy server. It should only use this parameter if you are behind a firewall. The PROXY argument should be formatted as a valid HTTP URL, including (if
necessary) a port number; for example, http://192.168.1.1:3128/. Just press ENTER if you don't have one or don't know.
> 
Default preferences file written. To reconfigure, re-run reportbug with the "--configure" option.
Running 'reportbug' as root is probably insecure! Continue [y|N|q|?]? y
Please enter the name of the package in which you have found a problem, or type 'other' to report a more general problem. If you don't know what package the bug is in, please contact
debian-user@lists.debian.org for assistance.
> sponsorship-requests
*** Welcome to reportbug.  Use ? for help at prompts. ***
Note: bug reports are publicly archived (including the email address of the submitter).
Detected character set: UTF-8
Please change your locale if this is incorrect.

Using 'Charles Atkinson <bung@charlesmatkinson.org>' as your from address.
Will send report to Debian (per lsb_release).
Querying Debian BTS for reports on sponsorship-requests (source)...
198 bug reports found:

Bugs with severity important
...
(1-12/198) Is the bug you found listed above [y|N|b|m|r|q|s|f|e|?]? n
[repeated until clear]
Briefly describe the problem (max. 100 characters allowed). This will be the bug email subject, so keep the summary as concise as possible, for example: "fails to send email" or "does not
start with -q option specified" (enter Ctrl+c to exit reportbug without reporting a bug).
> Backup next generation (bung)
How would you rate the severity of this problem or report?

1 critical        makes unrelated software on the system (or the whole system) break, or causes serious data loss, or introduces a security hole on systems where you install the package.
2 grave           makes the package in question unusable by most or all users, or causes data loss, or introduces a security hole allowing access to the accounts of users who use the
                  package.
3 serious         is a severe violation of Debian policy (that is, the problem is a violation of a 'must' or 'required' directive); may or may not affect the usability of the package. Note
                  that non-severe policy violations may be 'normal,' 'minor,' or 'wishlist' bugs. (Package maintainers may also designate other bugs as 'serious' and thus release-critical;
                  however, end users should not do so.). For the canonical list of issues deserving a serious severity you can refer to this webpage:
                  http://release.debian.org/testing/rc_policy.txt .
4 important       a bug which has a major effect on the usability of a package, without rendering it completely unusable to everyone.
5 does-not-build  a bug that stops the package from being built from source. (This is a 'virtual severity'.)
6 normal          a bug that does not undermine the usability of the whole package; for example, a problem with a particular option or menu item.
7 minor           things like spelling mistakes and other minor cosmetic errors that do not affect the core functionality of the package.
8 wishlist        suggestions and requests for new features.

Please select a severity level: [normal] 
Do any of the following apply to this report?

1 a11y      This bug is relevant to the accessibility of the package.
2 d-i       This bug is relevant to the development of debian-installer.
3 ipv6      This bug affects support for Internet Protocol version 6.
4 l10n      This bug reports a localization/internationalization issue.
5 lfs       This bug affects support for large files (over 2 gigabytes).
6 newcomer  This bug has a known solution but the maintainer requests someone else implement it.
7 patch     You are including a patch to fix this problem.
8 upstream  This bug applies to the upstream part of the package.
9 none      

Please select tags: (one at a time) [none]
Spawning vi...
Edited the email to
Subject: sponsorship-requests: Backup next generation (bung)
Package: sponsorship-requests
Severity: normal

Dear Maintainer,

bung has been developed over eight years as a campus backup utility, running
on Debian and a few Ubuntu systems.  It is known to be used on more than 100 
computers

Documentation includes man pages and, available from
https://redmine.auroville.org.in/projects/bung/wiki/Bung_technology 
user and programmer guides

Selected text from that page follows

bung is a set of wrapper scripts for several backup utilities:

* OpenLDAP (slapcat and tar)
* mysqldump
* pgdump
* rsync

bung also has:

* A "sysinfo" facility to generate system information reports
* Templated backups allowing custom backup commands.  Example templates are 
  provided for Cisco switches and MikroTik routers

bung features:

* Automated backup to hotplug devices when they are plugged in with on-screen
  notifications to both character terminals and X displays
* Backup to remote file systems via ssh 
* Custom commands (hooks) to run before and after the backup itself
* File system hierarchy standard (FHS) compliant installation under /opt. For 
  cron jobs, documentation, the logcheck filter file and man pages, symlinks
  are created in the conventional places with targets under /opt. Fori
  convenience, /etc/opt/bung and /var/log/bung are created for configuration
  and logs
* GPLv2
* Logging designed to ease production support
* LVM snapshots
* man pages
* Mounting and unmounting local file systems
* Remote ssh command validation

Best

Charles Atkinson
Continued
Report will be sent to Debian Bug Tracking System <submit@bugs.debian.org>
Submit this report on sponsorship-requests (e to edit) [Y|n|a|c|e|i|l|m|p|q|d|t|s|?]? y
Sending message via /usr/sbin/sendmail...
Saving a backup of the report at /tmp/reportbug-sponsorship-requests-backup-20210220-15614-sa62bdak

Bug report submitted to: Debian Bug Tracking System <submit@bugs.debian.org>
Copies sent to:
  Debian Bug Tracking System <submit@bugs.debian.org>
  Charles Atkinson <bung@charlesmatkinson.org>

If you want to provide additional information, please wait to receive the bug tracking number via email; you may then send any extra information to n@bugs.debian.org (e.g.
nnnnnn@bugs.debian.org), where n is the bug number. Normally you will receive an acknowledgement via email including the bug report number within an hour; if you haven't received a
confirmation, then the bug reporting process failed at some point (reportbug or MTA failure, BTS maintenance, etc.).

#2 Updated by Charles Atkinson 8 months ago

#3 Updated by Charles Atkinson 8 months ago

Emails

Subject: Bug#983146: sponsorship-requests: Backup next generation (bung)
Resent-Date: Sat, 20 Feb 2021 14:03:05 +0000
Resent-From: Debian BTS <debbugs@buxtehude.debian.org>
Resent-To: bung@charlesmatkinson.org
Date: Sat, 20 Feb 2021 19:21:06 +0530
From: Charles <c@charlesmatkinson.org>
Reply-To: Charles <c@charlesmatkinson.org>, 983146-quiet@bugs.debian.org
To: Robin Gustafsson <robin@rgson.se>, 983146-quiet@bugs.debian.org, 983146-submitter@bugs.debian.org

Hi Robin

Thanks for the prompt reply.

I tried hard to make a source .deb but did not manage to do so.  Would you like me to share the system I use to create the .deb?

bung was not a Debian package so I thought the appropriate place to install it was under /opt.  If it becomes a Debian package then it should be installed in the conventional places.

Best

Charles

On 20/02/2021 18:53, Robin Gustafsson wrote:
> Hi Charles,
> 
> Where can I find the Debian source package? I found .deb files, but
> not how they're generated.
> 
> Also, installing the files under /opt is disallowed for official packages.
> 
> Regards,
> Robin
> 

Subject: sponsorship-requests: Backup next generation (bung)
Date: Sat, 20 Feb 2021 07:55:39 -0700
From: Antonio Russo <antonio.e.russo@gmail.com>
To: 983146@bugs.debian.org, c@charlesmatkinson.org

Hello,

> Please change the email address on this bug report from 
> send_only.aurinoco@auroville.org.in to bung@charlesmatkinson.org

See controlling the Debian BTS [1].

> I tried hard to make a source .deb but did not manage to do so.
> Would you like me to share the system I use to create the .deb?

Please see the new maintainers guide [2].

The long and short of it is: Debian manages thousands of software
packages and provides a huge amount of freedom to maintainers in
how they do so.  However, your package MUST build from a single
call to debian/rules (see [3], /FTBFSIASW/).

This baseline level of uniformity allows Debian to support many
architectures and provide support for the full duration of a Debian
release.

> bung was not a Debian package so I thought the appropriate place
> to install it was under /opt.  If it becomes a Debian package
> then it should be installed in the conventional places. 

Since you are submitting a package to be included in Debian,
it will not be accepted unless it is packaged in a way that
is suitable for Debian---all the files should be placed in
accordance with the Debian FHS (see [4] and [5]).

Once you do this, be sure to use lintian---I suggest at least
looking at the "pedantic" results:

 lintian --verbose -L ">=pedantic" $changes_file

Sponsors are more likely to look at a lintian-clean package.

Best,
Antonio

[1] https://www.debian.org/Bugs/server-control#submitter
[2] https://www.debian.org/doc/manuals/maint-guide/
[3] https://ftp-master.debian.org/REJECT-FAQ.html
[4] https://wiki.debian.org/FilesystemHierarchyStandard
[5] https://www.debian.org/doc/debian-policy/ch-opersys.html

Subject: Re: Bug#983146: sponsorship-requests: Backup next generation (bung)
Date: Sat, 20 Feb 2021 16:06:41 +0100
From: Robin Gustafsson <robin@rgson.se>
To: 983146@bugs.debian.org, Charles <c@charlesmatkinson.org>

Charles,

> I tried hard to make a source .deb but did not manage to do so.  Would
> you like me to share the system I use to create the .deb?

A source package is required for inclusion in Debian. The binary
packages are built automatically on Debian infrastructure and must use
certain build tools for that to work. So, to proceed, there needs to
be a compliant source package.

If you want to maintain this package in Debian yourself, see the
"Introduction for maintainers" [1] page. If you hope to find someone
else to maintain it in Debian, you should instead file a "Request for
package" (RFP) bug to add it to the list of requested packages [2].

[1] https://mentors.debian.net/intro-maintainers/
[2] https://www.debian.org/devel/wnpp/requested

Regards,
Robin

Subject: RFP: bung -- backup next generation
Date: Sun, 21 Feb 2021 15:15:55 +0100
From: Bart Martens <bartm@debian.org>
To: control@bugs.debian.org
CC: bung@charlesmatkinson.org

retitle 983146 RFP: bung -- backup next generation
reassign 983146 wnpp
severity 983146 wishlist
stop

This is in fact an RFP.
Retitle to ITP if you intend to package & maintain it yourself.
Open an RFS once you have a source package to be sponsored.

Orient

Sheesh! What to do? Yes, I would like the submission to be treated as a Request for Packaging (RFP) because I have not succeeded in creating the source .deb apparently required for a Request for Submission (RFS) which is what I submitted

How does the "bug" look? Found it at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146. Found it has been changed to an RFP

Changed Bug title to 'RFP: bung -- backup next generation' from 'sponsorship-requests: Backup next generation (bung)'. Request was from Bart Martens <> to . (Sun, 21 Feb 2021 14:18:03 GMT) (full text, mbox, link).
----
Bug reassigned from package 'sponsorship-requests' to 'wnpp'. Request was from Bart Martens <> to . (Sun, 21 Feb 2021 14:18:03 GMT) (full text, mbox, link).
----
Severity set to 'wishlist' from 'normal' Request was from Bart Martens <> to . (Sun, 21 Feb 2021 14:18:04 GMT) (full text, mbox, link).

Next

Clean up my build system and attach to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146. Must be done on cw10.iciti.av because cw11.iciti.av's "/home/c/d/Auroville/Blue Light/bung/bung_packaging git/apt/binary-deb/data/opt" has version 2.0.x subdirectories but not the current 2.1.0. Perhaps cw10.iciti.av's "/home/c/d/Auroville/Blue Light/bung/bung_packaging git" was not pushed after the last build

#4 Updated by Charles Atkinson 8 months ago

Clean up the build system

master c@CW10:~/.../Blue Light/bung/bung_packaging git$ tree -d
.
├── apt
│   ├── binary-deb
│   │   ├── control
│   │   └── data
│   │       └── opt
│   │           ├── bung-2.0.1
│   │           │   ├── lib
│   │           │   └── share
│   │           │       ├── cron
│   │           │       ├── doc
│   │           │       │   └── examples
│   │           │       │       ├── cron
│   │           │       │       ├── hook scripts
│   │           │       │       ├── rsync.exclude
│   │           │       │       └── script.conf
│   │           │       ├── logcheck
│   │           │       └── man
│   │           │           ├── man5
│   │           │           └── man8
│   │           └── bung-2.0.2
│   │               ├── lib
│   │               └── share
│   │                   ├── cron
│   │                   ├── doc
│   │                   │   └── examples
│   │                   │       ├── cron
│   │                   │       ├── hook scripts
│   │                   │       ├── rsync.exclude
│   │                   │       └── script.conf
│   │                   └── logcheck
│   └── debian
└── mkdir
Mess
  • Many .org and .bu[0-6] files
  • apt/binary-deb/
    • Required: build_deb.sh, debian-binary
    • Temporary files, not required: *.deb, control.tar.gz, data.tar.gz
  • apt/binary-deb/control
    • Required: control, postinst, postrm
    • Not required (superseded): control.template, postinst.template
    • Temporary files, not required: md5sums
  • apt/binary-deb/data/ not required (temporary directory)
  • apt/debian/ not required for present purposes.
  • mkdir/ not required

#5 Updated by Charles Atkinson 8 months ago

Cleanup

c@cw11:~/d/Auroville/Blue Light/bung$ rsync -a "bung_packaging git/ "bung_packaging no git"/
c@cw11:~/d/Auroville/Blue Light/bung$ find "bung_packaging no git"/.git -type f -execdir chmod 644 {} +
c@cw11:~/d/Auroville/Blue Light/bung$ rm -r "bung_packaging no git"/.git
c@cw11:~/d/Auroville/Blue Light/bung$ rm "bung_packaging no git"/.mtimes

c@cw11:~/.../Blue Light/bung/bung_packaging no git$ find -name '*.org' -delete
c@cw11:~/.../Blue Light/bung/bung_packaging no git$ find -name '*.bu[0-6]' -delete
c@cw11:~/.../Blue Light/bung/bung_packaging no git$ rm apt/binary-deb/{*.deb,control.tar.gz,data.tar.gz}
c@cw11:~/.../Blue Light/bung/bung_packaging no git$ rm apt/binary-deb/control/{control,postinst}.template
c@cw11:~/.../Blue Light/bung/bung_packaging no git$ rm apt/binary-deb/control/md5sums 
c@cw11:~/.../Blue Light/bung/bung_packaging no git$ rm -r apt/binary-deb/data/
c@cw11:~/.../Blue Light/bung/bung_packaging no git$ rm -r apt/debian/
c@cw11:~/.../Blue Light/bung/bung_packaging no git$ rmdir mkdir
c@cw11:~/.../Blue Light/bung/bung_packaging no git$ tree -a
.
└── apt
    └── binary-deb
        ├── build_deb.sh
        └── control
            ├── control
            ├── postinst
            └── postrm

Test (OK)

Does the cleaned up build system still work?

The procedure for using it is in the programmer's guide. The latest version is "nextcloud/bung/2.1+/Backup scripts next generation 2.1.+ Programmer's Guide.odt". From that

As root:
• cd to the root of the bung_packaging git tree
• Run apt/binary-deb/build_deb.sh. Get help by using option -h. Example:

apt/binary-deb/build_deb.sh -t /root/Downloads/bung-2.1.0.tgz -V 2.1.0 -v 3

The .deb is created in /root.

Found a tarball at "/home/c/d/Auroville/Blue Light/bung/git/opt/bung-2.1.0.tgz"

root@cw11.iciti.av:.../Blue Light/bung/bung_packaging no git# apt/binary-deb/build_deb.sh -t "/home/c/d/Auroville/Blue Light/bung/git/opt/bung-2.1.0.tgz" -V 2.1.0 -v 99
Creating directories for build
/tmp/build_deb.sh.Mus4gI
├── control
└── data
    └── opt
        └── bung-2.1.0
            ├── lib
            └── share
                ├── cron
                ├── doc
                │   └── examples
                │       ├── cron
                │       ├── hook scripts
                │       ├── rsync.exclude
                │       └── script.conf
                ├── logcheck
                └── man
                    ├── man5
                    └── man8
Populating the temporary directory root, /tmp/build_deb.sh.Mus4gI
Populating the data directory, /tmp/build_deb.sh.Mus4gI/data/opt/bung-2.1.0
Populating the control directory, /tmp/build_deb.sh.Mus4gI/control
/tmp/build_deb.sh.Mus4gI/control
├── control
├── md5sums
├── postinst
└── postrm
Setting ownerships and permissions
Creating /root/bung_2.1.0-99.deb
Created the .deb: 
-rw-r--r-- 1 root root 639472 Feb 23 07:52 /root/bung_2.1.0-99.deb
Removing temporary directory /tmp/build_deb.sh.Mus4gI

Migrate to Debian package file system locations

Currently bung is installed as a non-Debian package so in /opt/bung-<version> with symlinks into that tree created by the postinst script

        mkdir -p /{etc/opt,var/log}/bung
        ln -sf /opt/bung-$version /opt/bung
        ln -sf /opt/bung/share/doc /usr/share/doc/bung
        ln -sf /opt/bung/share/cron/cron.weekly /etc/cron.weekly/bung
        ln -sf /opt/bung/share/man/man5/*.gz /usr/share/man/man5
        ln -sf /opt/bung/share/man/man8/*.gz /usr/share/man/man8
        [[ -d /etc/logcheck/ignore.d.server ]] \
            && ln -sf /opt/bung/share/logcheck/bung \
                /etc/logcheck/ignore.d.server/bung
        if [[ ! -e /opt/.placeholder ]]; then
            content=$'# DO NOT EDIT OR REMOVE\n'
            content+='# This file is a simple placeholder to keep dpkg from'
            content+=' removing this directory'
            echo "$content" > /opt/.placeholder
        fi
As a Debian package it must install into those locations rather than link from them. The only task for the postinst script would be to create /etc/bung (with a note about where the conf examples are) and /var/log/bung

There would then be no reason to keep the existing bung git opt/ tree, better to split it into etc, usr/{bin,lib,share}

That would be a major change, justifying starting the bung 3.x.x series

#6 Updated by Charles Atkinson 8 months ago

Bug admin

Updated the bug with my intentions

Subject: RFP: bung -- backup next generation
Date: Wed, 24 Feb 2021 08:05:03 +0530
From: Charles <c@charlesmatkinson.org>
To: control@bugs.debian.org

outlook 983146 Submitter preparing build system in lieu of source .deb
stop

I will modify the existing build system to create binary .deb which installs in FHS locations for a Debian package (as opposed to the current upstream .deb's FHS locations for a non-Debian package).

Apparently I am not capable of creating a source .deb so this is the best I can do to precisely define the steps required to produce the binary .deb from the upstream tarball

Build system

Decided not to change the existing tarball's tree because
  • It is appropriate for a non-Debian package
  • Debian may never accept bung in which case it will remain as a non-Debian package
  • Changing the tarball's tree would take a long time

Accordingly started modifying apt/binary-deb/build_deb.sh and the associated postinst and postrm scripts to make them Debian compliant

Next

#7 Updated by Charles Atkinson 8 months ago

Bug review

The email above had had the desired effect at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146

Bug header (Outlook added)

RFP: bung -- backup next generation
Package: wnpp; Maintainer for wnpp is wnpp@debian.org;
Reported by: bung@charlesmatkinson.org
Date: Sat, 20 Feb 2021 03:09:01 UTC
Severity: wishlist
Outlook: Submitter preparing build system in lieu of source .deb
Last entry
Outlook recorded from message bug 983146 message Request was from Charles <c@charlesmatkinson.org> to control@bugs.debian.org. (Wed, 24 Feb 2021 02:48:02 GMT) (full text, mbox, link).

Dev

Completed dev of the Debian compliant .deb build system

root@cw11.iciti.av:.../Blue Light/bung/bung_packaging no git# apt/binary-deb/build_deb.sh -t "/home/c/d/Auroville/Blue Light/bung/git/opt/bung-2.1.0.tgz" -V 2.1.0 -v 99
Creating directories for build
/tmp/build_deb.sh.3TraQW
├── control
├── data
│   ├── etc
│   │   ├── cron.weekly
│   │   └── logcheck
│   │       └── ignore.d.server
│   └── usr
│       ├── bin
│       ├── lib
│       │   └── bung
│       └── share
│           ├── doc
│           │   └── bung
│           └── man
│               ├── man5
│               └── man8
└── extracted_tarball
Populating the temporary directory root, /tmp/build_deb.sh.3TraQW
Extracting the tarball to /tmp/build_deb.sh.3TraQW/extracted_tarball
/tmp/build_deb.sh.3TraQW/extracted_tarball
├── lib
└── share
    ├── cron
    ├── doc
    │   └── examples
    │       ├── cron
    │       ├── hook scripts
    │       ├── rsync.exclude
    │       └── script.conf
    ├── logcheck
    └── man
        ├── man5
        └── man8
Moving files extracted from the tarball to Debian compliant locations under /tmp/build_deb.sh.3TraQW/data
Populating the control directory, /tmp/build_deb.sh.3TraQW/control
/tmp/build_deb.sh.3TraQW/control
├── control
├── md5sums
├── postinst
└── postrm
Setting ownerships and permissions
Creating /root/bung_2.1.0-99.deb
Created the .deb: 
-rw-r--r-- 1 root root 634824 Feb 25 08:10 /root/bung_2.1.0-99.deb

Test and debug

root@cw11.iciti.av:~/Downloads# dpkg -i bung_2.1.0-99.deb
(Reading database ... 224917 files and directories currently installed.)
Preparing to unpack bung_2.1.0-99.deb ...
Unpacking bung (2.1.0-99) over (2.1.0-1) ...
dpkg: warning: unable to delete old directory '/opt/bung-2.1.0/share/doc': Directory not empty
dpkg: warning: unable to delete old directory '/opt/bung-2.1.0/share': Directory not empty
dpkg: warning: unable to delete old directory '/opt/bung-2.1.0': Directory not empty
Setting up bung (2.1.0-99) ...
Processing triggers for man-db (2.8.5-2) ...
The warnings do not matter.

Listed the installed files (OK)

root@cw11.iciti.av:~/Downloads# dpkg -L bung
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/bung
/usr/share/doc/bung/doc
/usr/share/doc/bung/doc/AUTHORS
/usr/share/doc/bung/doc/COPYING
/usr/share/doc/bung/doc/Backup scripts next generation 2.1.x User Guide.odt
/usr/share/doc/bung/doc/README
/usr/share/doc/bung/doc/Backup scripts next generation 2.1.x Programmer's Guide.odt
/usr/share/doc/bung/doc/NEWS
/usr/share/doc/bung/doc/BUGS
/usr/share/doc/bung/doc/Backup scripts next generation 2.1.x Programmer's Guide.pdf
/usr/share/doc/bung/doc/Backup scripts next generation 2.1.x User Guide.pdf
/usr/share/doc/bung/doc/examples
/usr/share/doc/bung/doc/examples/cron
/usr/share/doc/bung/doc/examples/cron/cron.daily
/usr/share/doc/bung/doc/examples/rsync.exclude
/usr/share/doc/bung/doc/examples/rsync.exclude/root.exclude
/usr/share/doc/bung/doc/examples/rsync.exclude/etc.exclude
/usr/share/doc/bung/doc/examples/rsync.exclude/whole_tree_small_home.exclude
/usr/share/doc/bung/doc/examples/rsync.exclude/var.exclude
/usr/share/doc/bung/doc/examples/rsync.exclude/home.exclude
/usr/share/doc/bung/doc/examples/rsync.exclude/windows.exclude
/usr/share/doc/bung/doc/examples/rsync.exclude/whole_tree.exclude
/usr/share/doc/bung/doc/examples/script.conf
/usr/share/doc/bung/doc/examples/script.conf/mysql-multi.sample.cnf
/usr/share/doc/bung/doc/examples/script.conf/sysinfo_bu.sample.conf
/usr/share/doc/bung/doc/examples/script.conf/templated_bu.sample.conf
/usr/share/doc/bung/doc/examples/script.conf/99-bung.rules
/usr/share/doc/bung/doc/examples/script.conf/hotplug_bu.sample.conf
/usr/share/doc/bung/doc/examples/script.conf/check_hotplug_usage.sample.conf
/usr/share/doc/bung/doc/examples/script.conf/super_bu.sample.conf
/usr/share/doc/bung/doc/examples/script.conf/rsync_bu.sample.conf
/usr/share/doc/bung/doc/examples/script.conf/mysql_bu.sample.conf
/usr/share/doc/bung/doc/examples/script.conf/DG-GS1526E_bu.sample.conf
/usr/share/doc/bung/doc/examples/script.conf/mysql.sample.cnf
/usr/share/doc/bung/doc/examples/script.conf/ldap_bu.sample.conf
/usr/share/doc/bung/doc/examples/hook scripts
/usr/share/doc/bung/doc/examples/hook scripts/bung_pre_hook_for_cpe.sh
/usr/share/doc/bung/doc/examples/hook scripts/bung_post_hook_example.sh
/usr/share/doc/bung/doc/examples/hook scripts/shutdown_vboxvms.sh
/usr/share/doc/bung/doc/examples/hook scripts/start_vboxvms.sh
/usr/share/man
/usr/share/man/man5
/usr/share/man/man8
/usr/share/man/man
/usr/share/man/man/man5
/usr/share/man/man/man5/bung.openldap_bu.5.gz
/usr/share/man/man/man5/bung.common.5.gz
/usr/share/man/man/man5/bung.postgres_bu.5.gz
/usr/share/man/man/man5/bung.mysql_bu.5.gz
/usr/share/man/man/man5/bung.sysinfo_bu.5.gz
/usr/share/man/man/man5/bung.hotplug_bu.5.gz
/usr/share/man/man/man5/bung.check_hotplug_usage.5.gz
/usr/share/man/man/man5/bung.templated_bu.5.gz
/usr/share/man/man/man5/bung.hotplug_bu_launcher.5.gz
/usr/share/man/man/man5/bung.super_bu.5.gz
/usr/share/man/man/man5/bung.rsync_bu.5.gz
/usr/share/man/man/man5/bung.template_file.5.gz
/usr/share/man/man/man8
/usr/share/man/man/man8/bung.hotplug_bu_launcher.8.gz
/usr/share/man/man/man8/bung.check_hotplug_usage.8.gz
/usr/share/man/man/man8/bung.rsync_restore.8.gz
/usr/share/man/man/man8/bung.rsync_bu.8.gz
/usr/share/man/man/man8/bung.sysinfo_bu.8.gz
/usr/share/man/man/man8/bung.hotplug_bu.8.gz
/usr/share/man/man/man8/bung.common.8.gz
/usr/share/man/man/man8/bung.openldap_bu.8.gz
/usr/share/man/man/man8/bung.super_bu.8.gz
/usr/share/man/man/man8/bung.validate_ssh_cmd.8.gz
/usr/share/man/man/man8/bung.templated_bu.8.gz
/usr/share/man/man/man8/bung.mysql_bu.8.gz
/usr/share/man/man/man8/bung.postgres_bu.8.gz
/usr/lib
/usr/lib/bung
/usr/lib/bung/do_umounts.fun
/usr/lib/bung/err_trap_pre_hook_conf.fun
/usr/lib/bung/ck_ip_address.fun
/usr/lib/bung/initialise_1.scrippet
/usr/lib/bung/postprocess_templated_conf.fun
/usr/lib/bung/err_trap_post_hook_conf.fun
/usr/lib/bung/is_fs_mounted.fun
/usr/lib/bung/err_trap_rsync_files_and_dirs.fun
/usr/lib/bung/postprocess_email_for_report.fun
/usr/lib/bung/parse_conf_word.fun
/usr/lib/bung/run_subsidiary_scripts.fun
/usr/lib/bung/err_trap_shutdown.fun
/usr/lib/bung/err_trap_mount_conf.fun
/usr/lib/bung/postprocess_org_name_conf.fun
/usr/lib/bung/postprocess_mount_conf.fun
/usr/lib/bung/parse_conf_subsidiaryscript.fun
/usr/lib/bung/run_remote_agent.fun
/usr/lib/bung/err_trap_rsync_conf.fun
/usr/lib/bung/ck_file.fun
/usr/lib/bung/ck_non_empty_string.fun
/usr/lib/bung/postprocess_rsync_conf.fun
/usr/lib/bung/do_limits.fun
/usr/lib/bung/do_mounts.fun
/usr/lib/bung/do_pid.fun
/usr/lib/bung/get_fs_type.fun
/usr/lib/bung/err_trap_snapshot_conf.fun
/usr/lib/bung/err_trap_templated_conf.fun
/usr/lib/bung/finalise.fun
/usr/lib/bung/parse_conf.fun
/usr/lib/bung/err_trap_ip_address.fun
/usr/lib/bung/my_cat.fun
/usr/lib/bung/parse_conf_hotplugdevice.fun
/usr/lib/bung/ck_uint.fun
/usr/lib/bung/postprocess_template_to_git_conf.fun
/usr/lib/bung/err_trap_uint.fun
/usr/lib/bung/report_dest_dir_usage.fun
/usr/lib/bung/parse_conf_rsync.fun
/usr/lib/bung/fct.fun
/usr/lib/bung/version.scrippet
/usr/lib/bung/parse_conf_templated.fun
/usr/lib/bung/postprocess_snapshot_conf.fun
/usr/lib/bung/err_trap_non_empty_string.fun
/usr/lib/bung/run_cmd_with_timeout.fun
/usr/lib/bung/run_pre_hooks.fun
/usr/lib/bung/msg.fun
/usr/lib/bung/usage.fun
/usr/lib/bung/err_trap_subsidiary_script_conf.fun
/usr/lib/bung/do_snapshots.fun
/usr/lib/bung/err_trap_email_for_report.fun
/usr/lib/bung/msg_on_screen.fun
/usr/bin
/usr/bin/super_bu.sh
/usr/bin/templated_bu.sh
/usr/bin/hotplug_bu.sh
/usr/bin/rsync_bu.sh
/usr/bin/validate_ssh_cmd.sh
/usr/bin/remote_agent.sh
/usr/bin/mysql_bu.sh
/usr/bin/sysinfo_bu.sh
/usr/bin/check_hotplug_usage.sh
/usr/bin/postgres_bu.sh
/usr/bin/hotplug_bu_launcher.sh
/usr/bin/DG-GS1526E_bu.sh
/usr/bin/openldap_bu.sh
/usr/bin/rsync_restore.sh
/etc
/etc/logcheck
/etc/logcheck/ignore.d.server
/etc/logcheck/ignore.d.server/bung
/etc/cron.weekly
/etc/cron.weekly/bung
Adjusted the conf to use bung in the new locations
root@cw11.iciti.av:~# rsync -a /etc/opt/bung/ /etc/bung
root@cw11.iciti.av:/etc/udev/rules.d# diff 99-bung.rules{.org,}
4c4
< KERNEL=="sd*", ACTION=="add", ATTR{size}=="7814033408", ATTRS{serial}=="NA7PAFWX", SYMLINK+="hotplug", RUN+="/opt/bung/hotplug_bu_launcher.sh /opt/bung/hotplug_bu.sh -c hotplug -u" 
---
> KERNEL=="sd*", ACTION=="add", ATTR{size}=="7814033408", ATTRS{serial}=="NA7PAFWX", SYMLINK+="hotplug", RUN+="/bin/hotplug_bu_launcher.sh /bin/hotplug_bu.sh -c hotplug -u" 
8c8
< KERNEL=="sd*", ACTION=="add", ATTR{size}=="9767538688", ATTRS{serial}=="00000000NAB9D29B", SYMLINK+="hotplug", RUN+="/opt/bung/hotplug_bu_launcher.sh /opt/bung/hotplug_bu.sh -c hotplug -u" 
---
> KERNEL=="sd*", ACTION=="add", ATTR{size}=="9767538688", ATTRS{serial}=="00000000NAB9D29B", SYMLINK+="hotplug", RUN+="/bin/hotplug_bu_launcher.sh /bin/hotplug_bu.sh -c hotplug -u" 
12c12
< KERNEL=="sd*", ACTION=="add", ATTR{size}=="9767538688", ATTRS{serial}=="00000000NAB78SKJ", SYMLINK+="hotplug", RUN+="/opt/bung/hotplug_bu_launcher.sh /opt/bung/hotplug_bu.sh -c hotplug -u" 
---
> KERNEL=="sd*", ACTION=="add", ATTR{size}=="9767538688", ATTRS{serial}=="00000000NAB78SKJ", SYMLINK+="hotplug", RUN+="/bin/hotplug_bu_launcher.sh /bin/hotplug_bu.sh -c hotplug -u" 
root@cw11.iciti.av:~# udevadm control --reload
Plugged in a USB backup disk. Backup started and appeared to run normally

Next

  • Test removing bung via apt and re-installing
  • Update the bug report with the build system

#8 Updated by Charles Atkinson 8 months ago

Review

Syncs to cw11.iciti.av from storage3/nas.iciti.av and net1/dns-master.iciti.av to cw11.iciti.av failed with messages like

06:09:27 rsync_bu.sh: ERROR: Command: scp -p /run/bung/rsync_bu.sh+etc_samba_to_cw11.dJjqY3/bung.78d4d21a.conf root@nas_to_cw11:/tmp/bung.78d4d21a.conf
rc: 1
Output: bash: /opt/bung/validate_ssh_cmd.sh: No such file or directory
lost connection

Workaround

root@cw11.iciti.av:/opt# rm bung && mkdir bung && ln -s /usr/bin/validate_ssh_cmd.sh bung/ && ln -s /usr/bin/remote_agent.sh bung/

Test package bung removal and purge

OK

root@cw11.iciti.av:~# apt remove bung
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  bung
0 upgraded, 0 newly installed, 1 to remove and 4 not upgraded.
After this operation, 1,798 kB disk space will be freed.
Do you want to continue? [Y/n] 
(Reading database ... 224912 files and directories currently installed.)
Removing bung (2.1.0-99) ...
Processing triggers for man-db (2.8.5-2) ...
root@cw11.iciti.av:~# dpkg -i ~/Downloads/bung_2.1.0-99.deb
Selecting previously unselected package bung.
(Reading database ... 224779 files and directories currently installed.)
Preparing to unpack .../Downloads/bung_2.1.0-99.deb ...
Unpacking bung (2.1.0-99) ...
Setting up bung (2.1.0-99) ...
Processing triggers for man-db (2.8.5-2) ...
root@cw11.iciti.av:~# apt purge bung
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  bung*
0 upgraded, 0 newly installed, 1 to remove and 4 not upgraded.
After this operation, 1,798 kB disk space will be freed.
Do you want to continue? [Y/n] 
(Reading database ... 224912 files and directories currently installed.)
Removing bung (2.1.0-99) ...
Processing triggers for man-db (2.8.5-2) ...
(Reading database ... 224777 files and directories currently installed.)
Purging configuration files for bung (2.1.0-99) ...
rmdir: failed to remove '/etc/bung': Directory not empty
rmdir: failed to remove '/var/log/bung': Directory not empty
root@cw11.iciti.av:~# dpkg -i ~/Downloads/bung_2.1.0-99.deb
Selecting previously unselected package bung.
(Reading database ... 224779 files and directories currently installed.)
Preparing to unpack .../Downloads/bung_2.1.0-99.deb ...
Unpacking bung (2.1.0-99) ...
Setting up bung (2.1.0-99) ...
Processing triggers for man-db (2.8.5-2) ...

Update the bug report with the build system

How to attach a file (tarball of the build system) to the bug report?

From wikipedia "Debbugs is the software powering the Debian project's issue tracking system. ... it doesn't have any form of web-interface to edit bug reports - all modification is done through email. "

Tried email

Subject: RFP: bung -- backup next generation
Date: Fri, 26 Feb 2021 07:21:11 +0530
From: Charles <c@charlesmatkinson.org>
To: 983146 <983146@bugs.debian.org>
CC: wnpp@debian.org

The original build system built a .deb which installs in FHS appropriate directories for a non-Debian package

I created a new build system which builds a .deb which installs in Debian FHS directories.  It is attached as a tarball

The new build system precisely defines the steps required to produce a Debian compliant binary .deb from the source tarball (https://redmine.auroville.org.in/attachments/download/9186/bung-2.1.0.tgz)

As noted above "I tried hard to make a source .deb but did not manage to do so".  If somebody is willing to guide me, I am willing to try again.

Charles Atkinson

Update the bug report outlook

A few minutes later https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146 had been updated with the above mail including the tarball. Sent

Subject: RFP: bung -- backup next generation
Date: Fri, 26 Feb 2021 07:31:55 +0530
From: Charles <c@charlesmatkinson.org>
To: control@bugs.debian.org

outlook 983146 Build system for source .deb required.  Submitter has requested guidance
stop
A few minutes later the bug outlook had been changed to "Outlook: Build system for source .deb required. Submitter has" and received
Subject: Processed (with 1 error): RFP: bung -- backup next generation
Date: Fri, 26 Feb 2021 02:09:03 +0000
From: Debian Bug Tracking System <owner@bugs.debian.org>
To: Charles <c@charlesmatkinson.org>
CC: wnpp@debian.org

Processing commands for control@bugs.debian.org:

> outlook 983146 Build system for source .deb required.  Submitter has
Outlook replaced with message bug 983146 message > requested guidance
Unknown command or malformed arguments to command.
> stop
Stopping processing here.

Please contact me if you need assistance.
-- 
983146: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
Updated with shorter outlook
Subject: RFP: bung -- backup next generation
Date: Fri, 26 Feb 2021 07:45:09 +0530
From: Charles <c@charlesmatkinson.org>
To: control@bugs.debian.org

outlook 983146 Submitter req. source .deb build guidance
stop

Next

Wait for response to bug updates

#9 Updated by Charles Atkinson 8 months ago

Orient

No responses to my request for guidance in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146

So I need to create my own source .deb.

Research

Source package overview https://debian-handbook.info/browse/stable/sect.source-package-structure.html

From https://www.debian.org/doc/debian-policy/ch-source.html

Main building script: debian/rules
This file must be an executable makefile. It contains the package-specific recipes for ... constructing one or more binary packages.
...
The recommended way to implement the build process of a Debian package, in the absence of a good reason to use a different approach, is the dh tool.
...
The following targets are required and must be implemented by debian/rules: clean, binary, binary-arch, binary-indep, build, build-arch and build-indep. These are the targets called by dpkg-buildpackage.

Find examples

Looked for packages which are similar to bung (bash scripts) by ...

root@cw11.iciti.av:~# file /usr/bin/* | grep 'Bourne-Again shell script'
...
... and identifying the package the files came from using https://www.debian.org/distrib/packages#search_contents

Found package ucf. From https://packages.debian.org/buster/all/ucf/filelist

/etc/ucf.conf
/usr/bin/lcf
/usr/bin/ucf
/usr/bin/ucfq
/usr/bin/ucfr
/usr/share/doc/ucf/changelog.gz
/usr/share/doc/ucf/copyright
/usr/share/doc/ucf/examples/postinst.gz
/usr/share/doc/ucf/examples/postrm
/usr/share/lintian/overrides/ucf
/usr/share/man/man1/lcf.1.gz
/usr/share/man/man1/ucf.1.gz
/usr/share/man/man1/ucfq.1.gz
/usr/share/man/man1/ucfr.1.gz
/usr/share/man/man5/ucf.conf.5.gz
Its source package at https://packages.debian.org/source/buster/ucf

But ucf is an extension to the packaging system so a potentially confusing example

Saw ucf had tag implemented-in::shell. Searched for similar

root@cw11.iciti.av:~# debtags search "implemented-in::shell" | wc -l
203
Explored files in some of those packages using https://packages.debian.org/buster/all/<package name>/filelist and their source package at https://packages.debian.org/source/buster/<package name>

Found source packages had
  • A .dsc file with meta-data and a PGP signature
  • Tarballs
    • orig containing the original source
    • debian containing debian modifications to the source and files to build the binary .deb always(?) using make
Individual package notes
  • automysqlbackup had a dummy makefile. Has files dirs, docs and install each with a list of files?
  • backup-manager builds binary packages backup-manager and backup-manager-doc (nice). The debian tarball has a makefile called rules and has file dirs

#10 Updated by Charles Atkinson 8 months ago

Research (continued)

There is a huge amount of research about source .deb for bung in #7681#note-9 (Jul 2019) to #7681#note-20 (Oct 2019), ultimately not successful in building a .deb. Maybe the documentation and tools have improved since then. Maybe I have got smarter since then. Whatever, here goes another try

How is a source package used to build the binary package?

Then you issue the following command in the source directory:

$ dpkg-buildpackage -us -uc

This will do everything to make full binary and source packages for you. It will:
  • clean the source tree (debian/rules clean)
  • build the source package (dpkg-source -b)
  • build the program (debian/rules build)
  • build binary packages (fakeroot debian/rules binary)
  • make the .dsc file
  • make the .changes file, using dpkg-genchanges

Find examples (continued)

Packages installing files with similar types to bung's
  • bilibop-common but it was created by a large multi-package source package, bilibop
  • fancontrol but it was created by a large multi-package source package, lm-sensors. The debian tarball has nice notes about using quilt

Next

  • Study make so can better understand the example debian/rules files
  • Continue finding examples

#11 Updated by Charles Atkinson 8 months ago

Study make

From https://makefiletutorial.com/

Makefile Syntax
A Makefile consists of a set of rules. A rule generally looks like this:

targets: prerequisites
   command
   command
   command

  • The targets are file names, separated by spaces. Typically, there is only one per rule.
  • The commands are a series of steps typically used to make the target(s). These need to start with a tab character, not spaces.
  • The prerequisites are also file names, separated by spaces. These files need to exist before the commands for the target are run. These are also called dependencies

Decided to study the lm-sensors source package as a way of learning how make is used, especially to build the fancontrol package which installs files similar to the types installed for bung: architecture independent docs, man page, shell script (but no lib files)

From http://deb.debian.org/debian/pool/main/l/lm-sensors/lm-sensors_3.5.0-3.dsc, the packages created by the lm-sensors source package are
  • fancontrol
  • libsensors-config
  • libsensors4-dev
  • libsensors5
  • lm-sensors

The debian tarball is at http://deb.debian.org/debian/pool/main/l/lm-sensors/lm-sensors_3.5.0-3.debian.tar.xz

From the list of actions taken by dpkg-buildpackage -us -uc listed above
  • debian/rules clean
    • No clean target, at least for architecture independent build. The closest was
      override_dh_auto_clean:
          dh_auto_clean -- $(MAKEARGS_ARCH)
      
  • debian/rules build
    • #
      # Architecture independent targets
      #
      override_dh_auto_build-indep:
      
      override_dh_auto_install-indep:
          $(MAKE) install-etc install-prog-pwm $(MAKEARGS_INDP)
      
          # Make sure /etc/sensors.d/ is not removed
          touch $(CURDIR)/debian/tmp/etc/sensors.d/.placeholder
      
      override_dh_installinit-indep:
          dh_installinit -pfancontrol --restart-after-upgrade
      
  • debian/rules binary
    • No binary make target found

Hmm ... so override_dh_auto_build-indep: might build the fancontrol .deb

debian/rules also had

%:
    dh $@ --with systemd
From https://makefiletutorial.com/

% Wildcard
% is really useful, but is somewhat confusing because of the variety of situations it can be used in.

  • When used in "matching" mode, it matches one or more characters in a string. This match is called the stem.
  • When used in "replacing" mode, it takes the stem that was matched and replaces that in a string.
  • % is most often used in rule definitions and in some specific functions.

From the example at https://makefiletutorial.com/#static-pattern-rules, I think those two lines run dh <target name> --with systemd for each target

Hmm ... now have some idea how the make file works, need to know how it is called

Researched how debian/rules is used

Next

#12 Updated by Charles Atkinson 8 months ago

Debian "Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)"

Tried following https://www.debian.org/doc/manuals/debmake-doc/ch08.en.html#nomakefile

c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ wget https://redmine.auroville.org.in/attachments/download/9186/bung-2.1.0.tgz
...
c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ mkdir bung-2.1.0
c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ tar -xzmf bung-2.1.0.tgz --directory=bung-2.1.0
c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ ln -s bung-2.1.0.tgz bung-2.1.0.tar.gz
c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ cd bung-2.1.0
...
No warnings or errors except for pairs like ...
W: Non-UTF-8 char found, using latin-1: share/doc/Backup scripts next generation 2.1.x Programmer's Guide.pdf
W: analyze_copyright: skip name="", years=9999-0
... for all the binary files
What had that done?
c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ tree
.
├── bung-2.1.0
│   ├── check_hotplug_usage.sh
│   ├── debian
│   │   ├── changelog
│   │   ├── compat
│   │   ├── control
│   │   ├── copyright
│   │   ├── patches
│   │   │   └── series
│   │   ├── README.Debian
│   │   ├── rules
│   │   ├── source
│   │   │   ├── format
│   │   │   └── local-options
│   │   └── watch
...
├── bung_2.1.0.orig.tar.gz -> bung-2.1.0.tar.gz
├── bung-2.1.0.tar.gz -> bung-2.1.0.tgz
└── bung-2.1.0.tgz

debian/control

c@cw11:~/.../Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0/debian$ diff -u control{.org,}
--- control.org    2021-03-06 08:32:53.476567323 +0530
+++ control    2021-03-06 08:44:47.436567165 +0530
@@ -1,15 +1,19 @@
 Source: bung
-Section: unknown
+Section: admin
 Priority: optional
-Maintainer: <>
+Maintainer: Charles Atkinson <bung@charlesmatkinson.org>
 Build-Depends: debhelper (>=11~)
 Standards-Version: 4.1.4
-Homepage: <insert the upstream URL, if relevant>
+Homepage: https://redmine.auroville.org.in/projects/bung

 Package: bung
 Architecture: all
 Multi-Arch: foreign
 Depends: ${misc:Depends}
-Description: auto-generated package by debmake
- This Debian binary package was auto-generated by the
- debmake(1) command provided by the debmake package.
+Description:  backup system
+ backup scripts next generation (bung) is a suite of bash scripts that runs
+ standard backup utilities such as mysqldump, pg_dump, rsync, slapcat and tar.
+ .
+ bung adds support for hotplug storage devices (such as USB disks), LVM
+ snapshots, file system mounting, logging, on-screen notifications and report
+ emails.

control/copyright

c@cw11:~/.../Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0/debian$ cat copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: bung
Source: https://redmine.auroville.org.in/projects/bung
Copyright: 2013-2021 Charles Atkinson
License:   GPL-2.0+
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 .
 On Debian systems, the complete text of the GNU General Public License
 Version 2 can be found in `/usr/share/common-licenses/GPL-2'.

debian/install

c@cw11:~/.../Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0/debian$ cat install
lib/* usr/lib/bung
share/cron/cron.weekly etc/cron.weekly/bung
share/doc usr/share/doc/bung
share/logcheck/* etc/logcheck/ignore.d.server
share/man usr/share/man
*.sh usr/bin

control/README.Debian

c@cw11:~/.../Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0/debian$ cat README.Debian
bung for Debian

This package is identical to upstream bung apart from being installed in FHS
locations for a Debian package instead of the upstream's FHS locations for a
non-Debian package).

 --  <>  Sat, 06 Mar 2021 08:32:53 +0530

Test and debug

c@cw11:~/.../bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0$ debuild
 dpkg-buildpackage -us -uc -ui
dpkg-buildpackage: info: source package bung
dpkg-buildpackage: info: source version 2.1.0-1
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by  <>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 fakeroot debian/rules clean
dh clean
   dh_clean
 dpkg-source -b .
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building bung using existing ./bung_2.1.0.orig.tar.gz
dpkg-source: info: building bung in bung_2.1.0-1.debian.tar.xz
dpkg-source: info: building bung in bung_2.1.0-1.dsc
 debian/rules build
dh build
   dh_update_autotools_config
   dh_autoreconf
   create-stamp debian/debhelper-build-stamp
 fakeroot debian/rules binary
dh binary
   dh_testroot
   dh_prep
   dh_install
   dh_installdocs
   dh_installchangelogs
   dh_installman
   dh_perl
   dh_link
   dh_strip_nondeterminism
   dh_compress
   dh_fixperms
   dh_missing
   dh_installdeb
   dh_gencontrol
   dh_md5sums
   dh_builddeb
dpkg-deb: building package 'bung' in '../bung_2.1.0-1_all.deb'.
 dpkg-genbuildinfo
 dpkg-genchanges  >../bung_2.1.0-1_amd64.changes
dpkg-genchanges: info: including full source code in upload
 dpkg-source --after-build .
dpkg-buildpackage: info: full upload (original source is included)

#13 Updated by Charles Atkinson 8 months ago

Review

The debuild command ran without any error messages and created the required files as listed at https://www.debian.org/doc/manuals/debmake-doc/ch04.en.html#step-debuild
c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ lrt
...
-rw-r--r-- 1 c c 3.4K Mar  7 08:28 bung_2.1.0-1.debian.tar.xz
-rw-r--r-- 1 c c  813 Mar  7 08:28 bung_2.1.0-1.dsc
-rw-r--r-- 1 c c 598K Mar  7 08:28 bung_2.1.0-1_all.deb
-rw-r--r-- 1 c c 4.6K Mar  7 08:28 bung_2.1.0-1_amd64.buildinfo
-rw-r--r-- 1 c c 1.7K Mar  7 08:28 bung_2.1.0-1_amd64.changes
-rw-r--r-- 1 c c 1.3K Mar  7 08:28 bung_2.1.0-1_amd64.build
Browsed those files. Did not identify any defects except
  • In bung_2.1.0-1.debian.tar.xz, there were debian/*.org files
bung_2.1.0-1_all.deb is the binary .deb. Are its contents same as the bung_2.1.0-99.deb created as logged in #11784#note-7 above?
c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ dpkg -c bung_2.1.0-1_all.deb > /tmp/new_deb_content
root@cw11.iciti.av:~# dpkg -c Downloads/bung_2.1.0-99.deb > /tmp/old_deb_content
c@cw11:/tmp$ diff {old,new}_deb_content
...
That showed every line was different
  • Every dir and file's mtime was set to the time of the build (yuck!)
  • Many files under ./usr/share/doc/bung/doc had been compressed

Research preserving mtimes

Installation is controlled by debian/install

From https://wiki.debian.org/ReproducibleBuilds/Howto

Make sure that the mtime of the files in binary packages are deterministic

The linked patch modifies debian/rules > binary-indep target, adding touch commands

From https://www.debian.org/doc/debian-policy/ch-source.html

Maintainers should preserve the modification times of the upstream source files in a package, as far as is reasonably possible.
The rationale is that there is some information conveyed by knowing the age of the file, for example, you could recognize that some documentation is very old by looking at the modification time, so it would be nice if the modification time of the upstream source would be preserved.

From https://www.debian.org/doc/manuals/debmake-doc/ch05.en.html

Although a Debian package can be made by writing a debian/rules script without using the debhelper package, it is impractical to do so. There are too many modern “Policy” required features to be addressed, such as ... application of the proper timestamp for reproducible build, etc.

5.4.5. Reproducible build
Here are some recommendations to attain a reproducible build result.

  • Don’t embed the timestamp based on the system time.
  • Use “dh $@” in the debian/rules to access the latest debhelper features.
  • Export the build environment as “LC_ALL=C.UTF-8” (see Section 7.15, “Build under UTF-8”).
  • Set the timestamp used in the upstream source from the value of the debhelper-provided environment variable $SOURCE_DATE_EPOCH.

$SOURCE_DATE_EPOCH is a single timestamp to be used in lieu of the build time not "preserve the modification times of the upstream source files"

debuild man page: no solution found

How to modify debian/rules "install" to set mtimes from the source files?

From https://man7.org/linux/man-pages/man1/dh_auto_install.1.html

This is intended to work for about 90% of packages. If it doesn't work, or tries to use the wrong install target, you're encouraged to skip using dh_auto_install at all, and just run make install manually.

Next

  • Continue "Research preserving mtimes". How to override dh_auto_install?
  • Build under UTF-8. Already using UTF8 but en_GB.UTF-8. In debian/rules
    LC_ALL := C.UTF-8
    export LC_ALL
    
  • Remove debian/*.org files
  • Add dependencies and recommends
  • Consider lintian
  • Install from the binary deb for test-by-usage
  • Review .odt docs for references to /opt
  • Source tarball name
    • Change name from .tgz to .tar.gz
    • Change content: add root directory bung_<version>
  • Put the source package into git

#14 Updated by Charles Atkinson 8 months ago

Preserving mtimes (continued)

Research (continued)

How to override dh_auto_install?

From https://man7.org/linux/man-pages/man1/dh.1.html

Overriding a command
To override dh_command, add a target named override_dh_command to the rules file. When it would normally run dh_command, dh will instead call that target. The override target can then run the command with additional options, or run entirely different commands instead.

From https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#targets (superseded by https://www.debian.org/doc/manuals/debmake-doc)

You may need to run dh_* commands invoked via the new dh with added arguments, or to run additional commands with them, or to skip them. For such cases, you create an override_dh_foo target with its rule in the rules file defining an override_dh_foo target for the dh_foo command you want to change. It basically says run me instead. [51]

Please note that the dh_auto_* commands tend to do more than what has been discussed in this (over)simplified explanation to take care of all the corner cases. It is a bad idea to use override_dh_* targets to substitute simplified equivalent commands (except for the override_dh_auto_clean target) since it may bypass such smart debhelper features.

From https://unix.stackexchange.com/questions/521260/debian-package-with-optional-files. Shows running the standard dh_install then further commands

override_dh_install:
        dh_install
        install blah debian/package/wherever

From https://unix.stackexchange.com/questions/592349/how-to-include-and-install-debian-package-timer-file-inside-deblan-package-alon

override_dh_auto_install:
    ...
    install -D -m 644 debian/anacron.timer debian/anacron/lib/systemd/system/anacron.timer

Where are the original files (to get the mtime from) during the build? Maybe in the bung directory which is removed. Which files need mtime changes? .sh and lib/

Next

  • Continue "Research preserving mtimes". Where are the original files (to get the mtime from) during the build? Is there a way to tell debhelper not to remove temporary files? Try "override_dh_auto_clean:" in debian/rules
  • Build under UTF-8. Already using UTF8 but en_GB.UTF-8. In debian/rules
    LC_ALL := C.UTF-8
    export LC_ALL
    
  • Remove debian/*.org files
  • Add dependencies and recommends
  • Consider lintian
  • Install from the binary deb for test-by-usage
  • Review .odt docs for references to /opt
  • Source tarball name
    • Change name from .tgz to .tar.gz
    • Change content: add root directory bung_<version>
  • Put the source package into git
  • Create separate package for docs? https://stackoverflow.com/questions/47410633/create-debian-package-from-source-file-with-multiple-binaries

#15 Updated by Charles Atkinson 8 months ago

Research preserving mtimes (continued)

Tried override_dh_auto_clean:

c@cw11:~/.../Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0/debian$ cat rules

override_dh_auto_clean:
c@cw11:~/.../bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0$ debuild
...
That left bung-2.1.0/debian/bung in the tree but the mtimes were the build time

From https://www.debian.org/doc/manuals/debmake-doc/ch05.en.html

1. The upstream tarball is downloaded as the package-version.tar.gz file.
2. The upstream tarball is untarred to create many files under the package-version/ directory.
...
5. The dpkg-buildpackage command (usually from its wrapper debuild or pdebuild) is invoked in the package-version/ directory to make the Debian source and binary packages by invoking the debian/rules script.
The current directory is set as: $(CURDIR)=/path/to/package-version/

As noted in #11784#note-12 above, the tarball had been extracted --based on https://www.debian.org/doc/manuals/debmake-doc/ch08.en.html#nomakefile -- by

tar -xzmf bung-2.1.0.tgz --directory=bung-2.1.0
From the tar man page
       -m, --touch
              Don't extract file modified time.
Tried without it
c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ tar -xzf bung-2.1.0.tgz --directory=bung-2.1.0
c@cw11:~/.../bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0$ debuild
...
c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ dpkg -c bung_2.1.0-1_all.deb > /tmp/new_deb_content
/tmp/new_deb_content showed mtimes had been preserved

Build under UTF-8

Already implemented when trying override_dh_auto_clean so already tested

c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ cat bung-2.1.0/debian/rules
...
LC_ALL := C.UTF-8
export LC_ALL
...

Add dependencies and recommends

Doc https://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps

c@cw11:~/.../Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0/debian$ diff control{.bu0,}
12c12,14
< Depends: ${misc:Depends}
---
> Depends: ${misc:Depends}, default-mta | mail-transport-agent, anacron | cron | cron-daemon, rsyslog | system-log-daemon
> Recommends: rsync, ssh-client
> Suggests: lsof, yad | xenity
c@cw11:~/.../bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0$ debuild
...
c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ dpkg --info bung_2.1.0-1_all.deb
 new Debian package, version 2.0.
 size 612624 bytes: control archive=4168 bytes.
      69 bytes,     2 lines      conffiles            
     744 bytes,    19 lines      control              
    9632 bytes,   125 lines      md5sums              
 Package: bung
 Version: 2.1.0-1
 Architecture: all
 Maintainer: Charles Atkinson <bung@charlesmatkinson.org>
 Installed-Size: 1153
 Depends: default-mta | mail-transport-agent, anacron | cron | cron-daemon, rsyslog | system-log-daemon
 Recommends: rsync, ssh-client
 Suggests: lsof, yad | xenity
 Section: admin
 Priority: optional
 Multi-Arch: foreign
 Homepage: https://redmine.auroville.org.in/projects/bung
 Description: backup system
  backup scripts next generation (bung) is a suite of bash scripts that runs
  standard backup utilities such as mysqldump, pg_dump, rsync, slapcat and tar.
  .
  bung adds support for hotplug storage devices (such as USB disks), LVM
  snapshots, file system mounting, logging, on-screen notifications and report
  emails.

lintian

From an email logged in #11784#note-3 above

Once you do this, be sure to use lintian---I suggest at least
looking at the "pedantic" results:

 lintian --verbose -L ">=pedantic" $changes_file

Sponsors are more likely to look at a lintian-clean package.
After installing the lintian package
c@cw11:~/.../bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0$ debuild
...
Now running lintian bung_2.1.0-1_amd64.changes ...
E: bung changes: changed-by-address-malformed <>
E: bung changes: changed-by-name-missing <>
E: bung changes: changed-by-address-missing <>
W: bung source: extra-whitespace-around-name-in-changelog-trailer
W: bung source: changelog-should-mention-nmu
W: bung source: source-nmu-has-incorrect-version-number 2.1.0-1
W: bung source: file-without-copyright-information DG-GS1526E_bu.sh
...
Finished running lintian.

Next

  • Fix lintian warnings
  • Install from the binary deb for test-by-usage
  • Review .odt docs for references to /opt
  • Remove *.org and *.bu[0-6]files
  • Source tarball name
    • Change name from .tgz to .tar.gz
    • Change content: add root directory bung_<version>
  • Put the source package into git

#16 Updated by Charles Atkinson 8 months ago

lintian

Research

Found the Lintian User's Manual at file:///usr/share/doc/lintian/lintian.html/index.html, last update 2008

Fromm https://www.debian.org/doc/manuals/maint-guide/checkit.en.html#lintians

7.4. Using lintian
Run lintian(1) on your .changes file. The lintian command runs many test scripts to check for many common packaging errors. [76]

$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes
Of course, replace the filename with the name of the .changes file generated for your package. The output of the lintian command uses the following flags:
  • E: for error; a sure policy violation or packaging error.
  • W: for warning; a possible policy violation or packaging error.
  • I: for info; information on certain aspects of packaging.
  • N: for note; a detailed message to help your debugging.
  • O: for overridden; a message overridden by the lintian-overrides files but displayed by the --show-overrides option.

When you see warnings, tune the package to avoid them or verify that the warnings are spurious. If spurious, set up lintian-overrides files as described in Section 5.14, lintian-overrides.

https://lintian.debian.org/tags/ has a list of tags such as changed-by-address-malformed (not including that tag!) which a links to a page with brief info about the tag

Review lintian output

E: bung changes: changed-by-address-malformed

Stumbled on changed-by-name-missing at http://web.mit.edu/~mkgray/afs/bar/afs/sipb.mit.edu/project/debathena/OldFiles/lintian/www/tags/changed-by-name-missing.html

The Changed-By field seems to contain just an email address. It must contain the package maintainer's name and email address.
Refer to Debian Policy Manual section 5.6.4 (Changed-By) for details.

Found it

c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ grep -ir 'changed-by'
bung_2.1.0-1_amd64.changes:Changed-By: <>
bung_2.1.0-1_amd64.build:E: bung changes: changed-by-address-malformed <>
bung_2.1.0-1_amd64.build:E: bung changes: changed-by-name-missing <>
bung_2.1.0-1_amd64.build:E: bung changes: changed-by-address-missing <>
c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ cat bung_2.1.0-1_amd64.changes
...
Changed-By: <>
...
Arguably that is legitimate because this is a first build (for Debian) so has not been changed

From https://www.debian.org/doc/debian-policy/ch-controlfields.html#debian-changes-files-changes

The .changes files are used by the Debian archive maintenance software to process updates to packages. They consist of a single paragraph, possibly surrounded by a PGP signature. That paragraph contains information from the debian/control file and other data about the source package gathered via debian/changelog and debian/rules.

debian/changelog validly has no changed-by-* values

c@cw11:~/.../Blue Light/bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)$ cat bung-2.1.0/debian/changelog
bung (2.1.0-1) UNRELEASED; urgency=low

  * Initial release. Closes: #nnnn
    <nnnn is the bug number of your ITP>

 --  <>  Sat, 06 Mar 2021 08:32:53 +0530

E: bung changes: changed-by-name-missing <>

Same as "E: bung changes: changed-by-address-malformed" (debian/changelog is a placeholder)

E: bung changes: changed-by-address-missing <>

Same as "E: bung changes: changed-by-address-malformed" (debian/changelog is a placeholder)

W: bung source: extra-whitespace-around-name-in-changelog-trailer

Same as "E: bung changes: changed-by-address-malformed" (debian/changelog is a placeholder)

W: bung source: changelog-should-mention-nmu

Same as "E: bung changes: changed-by-address-malformed" (debian/changelog is a placeholder)

W: bung source: source-nmu-has-incorrect-version-number 2.1.0-1

Same as "E: bung changes: changed-by-address-malformed" (debian/changelog is a placeholder)

W: bung source: file-without-copyright-information *.sh

From https://lintian.debian.org/tags/file-without-copyright-information.html

The source tree contains a file which was not matched by any of the Files paragraphs in debian/copyright. Either adjust existing wildcards to match that file or add a new Files paragraph.

Fixed by adding a Files stanza

c@cw11:~/.../bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0$ cat debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: bung
Source: https://redmine.auroville.org.in/projects/bung
Copyright: 2013-2021 Charles Atkinson

Files: *
Copyright: 2013-2021 Charles Atkinson
License: GPL-2.0+

License:   GPL-2.0+
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.
 .
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 .
 On Debian systems, the complete text of the GNU General Public License
 Version 2 can be found in `/usr/share/common-licenses/GPL-2'.

Found doc https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/

Re-generate lintian output

c@cw11:~/.../bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0$ debuild
...
Now running lintian bung_2.1.0-1_amd64.changes ...
E: bung changes: changed-by-address-malformed <>
E: bung changes: changed-by-name-missing <>
E: bung changes: changed-by-address-missing <>
W: bung source: extra-whitespace-around-name-in-changelog-trailer
W: bung source: changelog-should-mention-nmu
W: bung source: source-nmu-has-incorrect-version-number 2.1.0-1
W: bung: wrong-bug-number-in-closes l3:#nnnn
W: bung: new-package-should-close-itp-bug
E: bung: changelog-is-dh_make-template
W: bung: run-parts-cron-filename-contains-illegal-chars etc/cron.weekly/bung/cron.weekly
W: bung: script-with-language-extension usr/bin/DG-GS1526E_bu.sh
...

Review lintian output

E: bung: changelog-is-dh_make-template

Same as "E: bung changes: changed-by-address-malformed" (debian/changelog is a placeholder)

W: bung: script-with-language-extension *.sh

From https://lintian.debian.org/tags/script-with-language-extension.html

When scripts are installed into a directory in the system PATH, the script name should not include an extension such as .sh or .pl that denotes the scripting language currently used to implement it. The implementation language may change; if it does, leaving the name the same would be confusing and changing it would be disruptive.

Hmm ... that's a biggy! Fixing it requires re-naming all the scripts and updating the docs. Created bung Task #11861 bung: make Debian compliant

More later

#17 Updated by Charles Atkinson 8 months ago

lintian

Research

How to override the script-with-language-extension reporting pending bung Task #11861 "bung: make Debian compliant" being done? Found how to do so at http://www.fifi.org/doc/lintian/lintian.html/ch2.html but the messages would still be generated. Only the type would be changed from W to O. That's not useful for present purposes

Re-generate lintian output

c@cw11:~/.../bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0$ debuild
...
W: bung: run-parts-cron-filename-contains-illegal-chars etc/cron.weekly/bung/cron.weekly
...
W: bung: binary-without-manpage usr/bin/DG-GS1526E_bu.sh
...
W: bung: script-not-executable etc/cron.weekly/bung/cron.weekly
W: bung: script-not-executable usr/lib/bung/ck_file.fun
...

Review lintian output

W: bung: run-parts-cron-filename-contains-illegal-chars etc/cron.weekly/bung/cron.weekly

The file should be etc/cron.weekly/bung.

c@cw11:~/.../bung/Chapter 8. More Examples > 8.2. No Makefile (shell, CLI)/bung-2.1.0$ cat debian/install
lib/* usr/lib/bung
share/cron/cron.weekly etc/cron.weekly/bung
share/doc usr/share/doc/bung
share/logcheck/* etc/logcheck/ignore.d.server
share/man/* usr/share/man
*.sh usr/bin
From https://www.debian.org/doc/manuals/maint-guide/dother.en.html#install

This install file has one line per file installed, with the name of the file (relative to the top build directory) then a space then the installation directory (relative to the install directory).

So debian/install can't be usedto change the name of the file, only the directory it is installed in.

Decided to do nothing because this difficulty will be removed by Task #11861 "bung: make Debian compliant"

W: bung: binary-without-manpage usr/bin/DG-GS1526E_bu.sh

Decided to do nothing because DG-GS1526E_bu.sh will be removed by Task #11861 "bung: make Debian compliant"

W: bung: binary-without-manpage usr/bin/check_hotplug_usage.sh

Hmm ... there is a man page. Confirmed it is in the .deb just created.

There was no binary-without-manpage link at at https://lintian.debian.org/tags/

From http://lintian.debathena.org/tags/binary-without-manpage.html

Each binary in /usr/bin, /usr/sbin, /bin, /sbin or /usr/games should have a manual page
Note that though the man program has the capability to check for several program names in the NAMES section, each of these programs should have its own manual page (a symbolic link to the appropriate manual page is sufficient) because other manual page viewers such as xman or tkman don't support this.
...
Refer to Debian Policy Manual section 12.1 (Manual pages) for details.
Severity: normal, Certainty: possible
...

From https://www.debian.org/doc/debian-policy/ch-docs.html#s12.1

Manual pages should be installed compressed using gzip -9.

The current release procedure uses gzip without specifying 9. From the gzip man page

-# --fast --best
Regulate the speed of compression using the specified digit #, where -1 or --fast indicates the fastest compression method (less compression) and -9 or --best indicatesthe slowest compression method (best compression). The default compression level is -6 (that is, biased towards high compression at expense of speed).

Added gzip option change to Task #11861 "bung: make Debian compliant"

Perhaps the warnings are because the man page names for the scripts have names without the .sh extension. In that case, the warnings will disappear when .sh extensions are removed under Task #11861 "bung: make Debian compliant"

Next

Do Task #11861 "bung: make Debian compliant" then continue with this issue

#18 Updated by Charles Atkinson 8 months ago

Orient

Task #11861 "bung: make Debian compliant" is completed

lintian output

c@cw11:~/.../bung/bung3 source build/bung-3.0.0$ debuild
...
Now running lintian bung_3.0.0-1_amd64.changes ...
E: bung changes: changed-by-address-malformed <>
E: bung changes: changed-by-name-missing <>
E: bung changes: changed-by-address-missing <>
W: bung source: extra-whitespace-around-name-in-changelog-trailer
W: bung source: changelog-should-mention-nmu
W: bung source: source-nmu-has-incorrect-version-number 3.0.0-1
W: bung: wrong-bug-number-in-closes l3:#nnnn
W: bung: new-package-should-close-itp-bug
E: bung: changelog-is-dh_make-template
W: bung: binary-without-manpage usr/bin/check_hotplug_usage
[snip similar]
W: bung: script-not-executable usr/lib/bung/ck_file.fun
[snip similar]
Finished running lintian.

W: bung: binary-without-manpage usr/bin/check_hotplug_usage

Task #11861 "bung: make Debian compliant" made the executable name the same as the man page name so why the warning?

From http://lintian.debathena.org/tags/binary-without-manpage.html

Each binary in /usr/bin, /usr/sbin, /bin, /sbin or /usr/games should have a manual page
Note that though the man program has the capability to check for several program names in the NAMES section, each of these programs should have its own manual page (a symbolic link to the appropriate manual page is sufficient) because other manual page viewers such as xman or tkman don't support this.
...
Refer to Debian Policy Manual section 12.1 (Manual pages) for details.
Severity: normal, Certainty: possible
...

From https://www.debian.org/doc/debian-policy/ch-docs.html#s12.1

You should install manual pages in nroff source form, in appropriate places under /usr/share/man.

Perhaps the warning is generated because the man pages are compressed. From the dh_installman man page

FILES
debian/package.manpages
Lists man pages to be installed.

Tried it

c@cw11:~/.../bung3 source build/bung-3.0.0/debian$ cat manpages
debian/bung/usr/share/man/man5/bung.check_hotplug_usage.5.gz
debian/bung/usr/share/man/man8/bung.check_hotplug_usage.8.gz
c@cw11:~/.../bung/bung3 source build/bung-3.0.0$ debuild
...
W: bung: binary-without-manpage usr/bin/check_hotplug_usage
...
Tried creating the tarball with uncompressed versions by
tmpdir=$(mktemp -d /tmp/bung.XXXXXXXXXX) \
    && version=$(<usr/lib/bung/version.scrippet) \
    && version=${version#*=} \
    && mkdir $tmpdir/bung-$version \
    && rsync -a ./ $tmpdir/bung-$version \
    && cd $tmpdir \
    && date=$(date '+%-d %b %Y') \
    && for section in 5 8
    do
        line_match='.TH bung\.[^ ]\+ '$section' "[^"]\+" "Auroville" "Version '
        subs_match='\(.TH bung\.[^ ]\+ '$section' "\)'
        subs_match+='[^"]\+'
        subs_match+='\(" "Auroville" "Version \)' 
        subs_match+='[^"]\+'
        subs_match+='\(.*$\)'
        subs_repl="\1$date\2$version\3" 
        for f in bung-$version/usr/share/man/man$section/*.$section
        do   
            echo === $f ===
            sed -i \
                "/$line_match/s/$subs_match/$subs_repl/" \
                "$f" 
        done 
   done \
   && find \( -name '*.org' -o -name '*.bu[0-9]' \) -delete \
   && tar cvz -f ~/bung-$version.tar.gz .
c@cw11:~/.../Blue Light/bung/bung3 source build$ cp -p ~/bung-3.0.0.tar.gz bung-3.0.0.tar.gz
c@cw11:~/.../Blue Light/bung/bung3 source build$ tar -xzf bung-3.0.0.tar.gz
c@cw11:~/.../bung/bung3 source build/bung-3.0.0$ debuild
...
'./debian/bung/usr/share/man/man8/bung.check_hotplug_usage.8' and 'debian/bung/usr/share/man/man8/bung.check_hotplug_usage.8' are identical (not copied)
...
Tried removing debian/manpages. Then
c@cw11:~/.../bung/bung3 source build/bung-3.0.0$ debuild
...
W: bung: binary-without-manpage usr/bin/check_hotplug_usage
...
Next: read https://manpages.debian.org/buster/debhelper/dh_installman.1.en.html maybe try --sourcedir

#19 Updated by Charles Atkinson 8 months ago

W: bung: binary-without-manpage usr/bin/check_hotplug_usage (continued)

Search for examples

Found http://deb.debian.org/debian/pool/main/e/emacs/emacs_26.1+1-3.2+deb10u2.debian.tar.xz had a lintian.overrides file containing

binary-without-manpage usr/bin/ctags.emacs
binary-without-manpage usr/bin/ebrowse.emacs
binary-without-manpage usr/bin/emacsclient.emacs
binary-without-manpage usr/bin/etags.emacs
Found http://deb.debian.org/debian/pool/main/y/yasat/yasat_848-1.debian.tar.xz had a debian/rules file containing
#!/usr/bin/make -f

%:
    dh $@

override_dh_auto_build:

override_dh_install:
    dh_prep
    make install DESTDIR=$(CURDIR)/debian/yasat SYSCONFDIR=/etc PREFIX=/usr
    dh_installman man/yasat.8
    dh_installchangelogs CHANGELOG

Research

From https://manpages.debian.org/buster/debhelper/dh_installman.1.en.html

Even if you prefer to use dh_install(1) for installing the manpages, ...

OK, that is what the current build system does. So the question becomes why does lintian not find the man pages?

Decompressed a man page then

c@cw11:/tmp$ file bung.check_hotplug_usage.8 
bung.check_hotplug_usage.8: troff or preprocessor input, ASCII text
Same as a random man page
c@cw11:.../share/man/man8$ cp zramctl.8.gz /tmp
c@cw11:.../share/man/man8$ gunzip /tmp/zramctl.8.gz 
c@cw11:.../share/man/man8$ file /tmp/zramctl.8
/tmp/zramctl.8: troff or preprocessor input, ASCII text

Reverse engineering lintian

How does lintian work?

c@cw11:.../share/man/man8$ type lintian
lintian is /usr/bin/lintian
c@cw11:.../share/man/man8$ file /usr/bin/lintian
/usr/bin/lintian: symbolic link to ../share/lintian/frontend/dplint
c@cw11:.../share/man/man8$ file /usr/share/lintian/frontend/dplint
/usr/share/lintian/frontend/dplint: Perl script text executable
Did not understand /usr/share/lintian/frontend/dplint so looked at files in package lintian. Found /usr/share/lintian/checks/manpages.desc and /usr/share/lintian/checks/manpages.pm

/usr/share/lintian/checks/manpages.desc had the same text as http://lintian.debathena.org/tags/binary-without-manpage.html, quoted above

From /usr/share/lintian/checks/manpages.pm
  • sub run has
        for my $f (sort keys %binary) {
            if (exists $manpage{$f}) {
                if (none { $_->{lang} eq '' } @{$manpage{$f}}) {
                    tag 'binary-without-english-manpage', "$binary{$f}";
                }
            } else {
                tag 'binary-without-manpage', "$binary{$f}";
            } 
        }
    
  • %binary is envalued by
    sub run {
        my (undef, undef, $info, $proc, $group) = @_;
        my $ginfo = $group->info;
        my (%binary, %link, %manpage, @running_man, @running_lexgrog);
    
        # Read package contents...
        foreach my $file ($info->sorted_index) {
            my $file_info = $file->file_info;
            my $link = $file->link || '';
            my ($fname, $path, undef) = fileparse($file);
    
            # Binary that wants a manual page?
            #
            # It's tempting to check the section of the man page depending on the
            # location of the binary, but there are too many mismatches between
            # bin/sbin and 1/8 that it's not clear it's the right thing to do.
            if (
                ($file->is_symlink or $file->is_file)
                and (  ($path eq 'bin/')
                    or ($path eq 'sbin/')
                    or ($path eq 'usr/bin/')
                    or ($path eq 'usr/bin/X11/')
                    or ($path eq 'usr/bin/mh/')
                    or ($path eq 'usr/sbin/')
                    or ($path eq 'usr/games/'))
            ) {
    
                my $bin = $fname;
                $binary{$bin} = $file;
                $link{$bin} = $link if $link;
    
                next;
            }
    
  • Found extension .gz required
  • Added debug print statements to /usr/share/lintian/checks/manpages.pm
  • Found the binary name is inferred from the man page file name so "bung.check_hotplug_usage" which does not match "check_hotplug_usage"

Next

Re-open Task #11861 "bung: make Debian compliant" and remove the "bung." prefix from the man pages

#20 Updated by Charles Atkinson 8 months ago

Orient

The "bung." prefix had been removed from the man pages's file names under Task #11861 "bung: make Debian compliant"

W: bung: binary-without-manpage usr/bin/check_hotplug_usage (continued)

Tested the new tarball

c@cw11:~/.../Blue Light/bung/bung3 source build$After  cp -p ~/bung-3.0.0.tar.gz bung-3.0.0.tar.gz
c@cw11:~/.../Blue Light/bung/bung3 source build$ rm -r bung-3.0.0/{etc,usr}
c@cw11:~/.../Blue Light/bung/bung3 source build$ tar -xzf bung-3.0.0.tar.gz
c@cw11:~/.../bung/bung3 source build/bung-3.0.0$ debuild
...
W: bung: binary-without-manpage usr/bin/remote_agent
W: bung: script-not-executable usr/lib/bung/ck_file.fun
...
Ah! remote_agent is intended for internal use so there is no man page. Need to write a man page.

Backed out the debug print statements from /usr/share/lintian/checks/manpages.pm

W: bung: script-not-executable usr/lib/bung/ck_file.fun

Found the script that generates the warning

root@cw11.iciti.av:.../share/lintian/checks# grep script-not-executable *
scripts.desc:Tag: script-not-executable
scripts.pm:        tag 'script-not-executable', $filename
Examining the code confirmed suspicion that the problem was ...
!/bin/bash   <- Does nothing but triggers editor syntax highlighting
... as the first line of every .fun file

After removing the problematic shebang line, was able to get bash highlighting in vim by adding this last line

# vim: filetype=bash:
Re-opened Task #11861 "bung: make Debian compliant" to create the man page and fix the .fun files

Next

After work under Task #11861 "bung: make Debian compliant" is completed, continue

#21 Updated by Charles Atkinson 7 months ago

Orient

Bung had been made Debian compliant as logged in Task #11861 "bung: make Debian compliant" and had been tested in production as logged in Task #11922 "bung 3.0.x: roll out" so the next steps were (based on the Next section in #11784#note-15 above)
  • Review .odt docs for references to /opt and /etc/opt/bung
  • Generate .pdf and .html versions
  • Build new version with lintian in pedantic mode (some info in #11784#note-3 above. Log in Task #11861 "bung: make Debian compliant")
  • Update the Debian bug report
  • Put the source package into git. A good time to move to a well known public repo such as github?

.odt files

In nextcloud/bung/3.0. References to /opt and /etc/opt/bung removed. Generated .pdf and .html versions

lintian pedantic

How to make lintian run in pedantic mode?

Could use ~/.config/lintian/lintianrc. Probably cannot use override_dh_lintian because that is for dh_lintian which "is a debhelper program that is responsible for installing override files used by lintian into package build directories"

What to put in ~/.config/lintian/lintianrc?

From the email #11784#note-3 above

be sure to use lintian---I suggest at least looking at the "pedantic" results:

lintian --verbose -L ">=pedantic" $changes_file

That would have to be done in the temporary build tree. Decided to try lintianrc. The -L option is --display-level. The installed /etc/lintianrc did not have display-level so enabled verbose instead

c@CW10:~$ diff /etc/lintianrc ~/.config/lintian/lintianrc
25c25
< #pedantic = yes
---
> pedantic = yes
40c40
< #verbose = yes
---
> verbose = yes

Update the Debian bug report

Subject: RFP: bung -- backup next generation
Date: Thu, 25 Mar 2021 12:58:07 +0530
From: Charles <c@charlesmatkinson.org>
To: control@bugs.debian.org
CC: Robin Gustafsson <robin@rgson.se>, Antonio Russo <antonio.e.russo@gmail.com>, Bart Martens <bartm@debian.org>

retitle 983146 RFS: bung -- backup next generation
stop

Further to Bart Martens <bartm@debian.org>'s ...

This is in fact an RFP.
Retitle to ITP if you intend to package & maintain it yourself.
Open an RFS once you have a source package to be sponsored.

... I have packaged it and intend to maintain it (so the ITP step is passed) so this email is to change it to an RFS.

The source build files are the bung_3.0.3-1 files at https://redmine.auroville.org.in/projects/bung/files
From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146

Changed Bug title to 'RFS: bung -- backup next generation' from 'RFP: bung -- backup next generation'. Request was from Charles <> to . (Thu, 25 Mar 2021 07:30:02 GMT) (full text, mbox, link).

Hmm ... the text after "stop" was not as visible as wanted so

Subject: RFS: bung -- backup next generation
Date: Thu, 25 Mar 2021 13:11:31 +0530
From: Charles <c@charlesmatkinson.org>
To: 983146@bugs.debian.org
CC: Debian Mentors <package-sponsorship-requests@lists.debian.org>

I have now created a lintian pedantic clean source build.  It is the bung_3.0.3-1 files at https://redmine.auroville.org.in/projects/bung/files
From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146

Outlook: Submitter req. source .deb build guidance

Subject: RFP: bung -- backup next generation
Date: Thu, 25 Mar 2021 13:16:22 +0530
From: Charles <c@charlesmatkinson.org>
To: control@bugs.debian.org

outlook 983146 Looking for sponsorship
stop

git

Decided to continue with Redmine/git at least for day-to-day work with intention to move git and bug tracker to a more public platform later

Docs
  • git repo creation [[Aurinoco Systems:Gitolite3_operations#Creation]] and [[Aurinoco Systems:Redmine_operations#Repository-creation]]
  • git initial commit needs adding to [[Aurinoco Systems:Gitolite3_operations#Creation]]

bung3 creation

master c@CW10:~/d/Auroville/Aurinoco/gitolite-admin$ git pull
Already up to date.
master c@CW10:~/d/Auroville/Aurinoco/gitolite-admin$ diff conf/gitolite.conf{.bu6,}
221a222,223
> repo bung3
>     RW  = charles mahesh
Committed and pushed Redmine > Administration > Projects > bung > Repositories > New repository
  • Identifier: bung3
  • Path: /var/lib/gitolite3/repositories/bung3.git
  • Create

Local setup and initial commit

Removed bung-3.0.0 because it pre-dates doing the build in a temporary directory so has intermediate build files which are not wanted in git

c@CW10:~/d/Auroville/Blue Light/bung$ git clone git.redmine.auroville.org.in:bung3
Cloning into 'bung3'...
warning: You appear to have cloned an empty repository.
c@CW10:~/d/Auroville/Blue Light/bung$ cp -p '/home/c/d/Auroville/Blue Light/bung/git/.git/info/exclude' bung3/.git/info/
c@CW10:~/d/Auroville/Blue Light/bung$ chmod 755 bung3/.git/hooks/{post-checkout,post-merge,pre-commit}
c@CW10:~/d/Auroville/Blue Light/bung$ rsync -a '/home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/pre-git/' bung3
c@CW10:~/d/Auroville/Blue Light/bung$ 'bung3/source build'/bung-3.0.0
master c@CW10:~/.../Blue Light/bung/bung3$ git gui
Committed all, commit bung3|f6817453

Next

  • Wait for sponsorship

#22 Updated by Charles Atkinson 7 months ago

Create ITP bug report

Need

Subject: Re: RFP: bung -- backup next generation
Date: Thu, 25 Mar 2021 13:14:46 +0100
From: Bart Martens <bartm@debian.org>
To: Charles <c@charlesmatkinson.org>

On Thu, Mar 25, 2021 at 12:58:07PM +0530, Charles wrote:
> ... I have packaged it and intend to maintain it (so the ITP step is passed)
> so this email is to change it to an RFS.

Thanks for clarifying this. Indeed the source package is now accessible via the
debian bug. If this bug is an RFS, then where is the ITP bug? We still need an
ITP bug to put "closes: #nnnnnn" in the changelog. Note that an ITP bug is
copied to debian-devel@l.d.o to give DDs a chance to evaluate whether the
software fits in Debian. Could you open and reassign the bugs accordingly
please? Let me know if I can help. -B.

Research

How to open an ITP bug?

submit a bug report (Bug reporting) against the pseudo-package wnpp describing your plan to create a new package, including, but not limiting yourself to, the description of the package (so that others can review it), the license of the prospective package, and the current URL where it can be downloaded from.
You should set the subject of the bug to ITP:foo--short description, substituting the name of the new package for foo. The severity of the bug report must be set to wishlist. Please send a copy to by using the X-Debbugs-CC header (don't use CC:, because that way the message's subject won't indicate the bug number)

Creation itself

c@cw11:~$ reportbug
Welcome to reportbug! Since it looks like this is the first time you have used reportbug, we are configuring its behavior. These settings will be saved to the file "/home/c/.reportbugrc",
which you will be free to edit further.
Please choose the default operating mode for reportbug.

1 novice    Offer simple prompts, bypassing technical questions.

2 standard  Offer more extensive prompts, including asking about things that a moderately sophisticated user would be expected to know about Debian.

3 advanced  Like standard, but assumes you know a bit more about Debian, including "incoming".

4 expert    Bypass most handholding measures and preliminary triage routines. This mode should not be used by people unfamiliar with Debian's policies and operating procedures.

Select mode: [novice] 2
Please choose the default interface for reportbug.

1 text  A text-oriented console user interface

2 gtk   A graphical (GTK+) user interface.

Select interface: 1
Will reportbug often have direct Internet access? (You should answer yes to this question unless you know what you are doing and plan to check whether duplicate reports have been filed via
some other channel.) [Y|n|q|?]? 
What real name should be used for sending bug reports?
> Charles Atkinson
Which of your email addresses should be used when sending bug reports? (Note that this address will be visible in the bug tracking system, so you may want to use a webmail address or
another address with good spam filtering capabilities.)
[c@cw11.iciti.av]> bung@charlesmatkinson.org
Do you have a "mail transport agent" (MTA) like Exim, Postfix or SSMTP configured on this computer to send mail to the Internet? [y|N|q|?]? y
Please enter the name of your proxy server. It should only use this parameter if you are behind a firewall. The PROXY argument should be formatted as a valid HTTP URL, including (if
necessary) a port number; for example, http://192.168.1.1:3128/. Just press ENTER if you don't have one or don't know.
> 
Default preferences file written. To reconfigure, re-run reportbug with the "--configure" option.
Please enter the name of the package in which you have found a problem, or type 'other' to report a more general problem. If you don't know what package the bug is in, please contact
debian-user@lists.debian.org for assistance.
> wnpp
Are you sure you want to file a WNPP report? [y|N|q|?]? y
*** Welcome to reportbug.  Use ? for help at prompts. ***
Note: bug reports are publicly archived (including the email address of the submitter).
Detected character set: UTF-8
Please change your locale if this is incorrect.

Using 'Charles Atkinson <bung@charlesmatkinson.org>' as your from address.
Will send report to Debian (per lsb_release).
What sort of request is this? (If none of these things mean anything to you, or you are trying to report a bug in an existing package, please press Enter to exit reportbug.)

1 ITP  This is an `Intent To Package'. Please submit a package description along with copyright and URL in such a report.
2 O    The package has been `Orphaned'. It needs a new maintainer as soon as possible.
3 RFA  This is a `Request for Adoption'. Due to lack of time, resources, interest or something similar, the current maintainer is asking for someone else to maintain this package. They
       will maintain it in the meantime, but perhaps not in the best possible way. In short: the package needs a new maintainer.
4 RFH  This is a `Request For Help'. The current maintainer wants to continue to maintain this package, but they need some help to do this because their time is limited or the package is
       quite big and needs several maintainers.
5 RFP  This is a `Request For Package'. You have found an interesting piece of software and would like someone else to maintain it for Debian. Please submit a package description along
       with copyright and URL in such a report.

Choose the request type: 1
Please enter the proposed package name: bung
Checking status database...
E: You must put some 'source' URIs in your sources.list
A package called bung already appears to exist (at least on your system); continue? [y|N|q|?]? y
Please briefly describe this package; this should be an appropriate short description for the eventual package: Backup next generation (bung)
Your report will be carbon-copied to debian-devel, per Debian policy.
Querying Debian BTS for reports on wnpp (source)...
6456 bug reports found:

Bugs with severity important
     1) #947646  O: gdbm -- GNU dbm database routines (development files) 
     2) #968759  RFP: openh264 -- H.264 encoding and decoding
     3) #974678  RFP: openh264 -- H.264 encoding and decoding
(1-3/6456) Is the bug you found listed above [y|N|b|m|r|q|s|f|e|?]?
[answered N (default) to that and many similar questions]
Edited the email to
Subject: ITP: bung -- backup next generation
Package: wnpp
Owner: Charles Atkinson <bung@charlesmatkinson.org>
Severity: wishlist

* Package name    : bung
  Version         : 3.0.3
  Upstream Author : Charles Atkinson <bung@charlesmatkinson.org>
* URL             : https://redmine.auroville.org.in/projects/bung/files
* License         : GPLv2
  Programming Lang: bash
  Description     : Backup next generation (bung)

bung has been developed over eight years as a campus backup utility, running
on Debian and a few Ubuntu systems.  It is known to be used on more than 100 
computers

Documentation includes man pages and user and programmer guides.  The guides'
primary format is .odt.  The package includes .pdf and .html

Guides are available from
https://redmine.auroville.org.in/projects/bung/documents

Selected text from 
https://redmine.auroville.org.in/projects/bung/wiki/Bung_technology follows

bung is a set of wrapper scripts for several backup utilities:

* OpenLDAP (slapcat and tar)
* mysqldump
* pgdump
* rsync

bung also has:

* A "sysinfo" facility to generate system information reports
* Templated backups allowing custom backup commands.  Example templates are 
  provided for Cisco switches and MikroTik routers

bung features:

* Automated backup to hotplug devices when they are plugged in with on-screen
  notifications to both character terminals and X displays
* Backup to remote file systems via ssh 
* Custom commands (hooks) to run before and after the backup itself
* File system hierarchy standard (FHS) compliant
* GPLv2
* Logging designed to ease production support
* LVM snapshots
* man pages
* Mounting and unmounting local file systems
* Remote ssh command validation

Best

Charles Atkinson
The process continued to submission
Report will be sent to Debian Bug Tracking System <submit@bugs.debian.org>
Submit this report on wnpp (e to edit) [y|n|a|c|E|i|l|m|p|q|d|t|s|?]? y
Sending message via /usr/sbin/sendmail...
Saving a backup of the report at /tmp/reportbug-wnpp-backup-20210326-12499-lwthvwnw

Bug report submitted to: Debian Bug Tracking System <submit@bugs.debian.org>
Copies sent to:
  Debian Bug Tracking System <submit@bugs.debian.org>
  Charles Atkinson <bung@charlesmatkinson.org>
Copies will be sent after processing to:
  debian-devel@lists.debian.org

If you want to provide additional information, please wait to receive the bug tracking number via email; you may then send any extra information to n@bugs.debian.org (e.g.
nnnnnn@bugs.debian.org), where n is the bug number. Normally you will receive an acknowledgement via email including the bug report number within an hour; if you haven't received a
confirmation, then the bug reporting process failed at some point (reportbug or MTA failure, BTS maintenance, etc.).

Bug#985918: ITP: bung -- backup next generation

Notification

Subject: Bug#985918: ITP: bung -- backup next generation
Resent-Date: Fri, 26 Mar 2021 02:24:02 +0000
Resent-From: Charles Atkinson <send_only.aurinoco@auroville.org.in>
Resent-To: debian-bugs-dist@lists.debian.org
Resent-CC: debian-devel@lists.debian.org, wnpp@debian.org, Charles Atkinson <bung@charlesmatkinson.org>
Date: Fri, 26 Mar 2021 07:46:38 +0530
From: Charles Atkinson <send_only.aurinoco@auroville.org.in>
Reply-To: Charles Atkinson <send_only.aurinoco@auroville.org.in>, 985918@bugs.debian.org
To: Debian Bug Tracking System <submit@bugs.debian.org>

Package: wnpp
Severity: wishlist
Owner: Charles Atkinson <bung@charlesmatkinson.org>

* Package name    : bung
  Version         : 3.0.3
  Upstream Author : Charles Atkinson <bung@charlesmatkinson.org>
* URL             : https://redmine.auroville.org.in/projects/bung/files
* License         : GPLv2
  Programming Lang: bash
  Description     : Backup next generation (bung)

bung has been developed over eight years as a campus backup utility, running
on Debian and a few Ubuntu systems.  It is known to be used on more than 100 computers

Documentation includes man pages and user and programmer guides.  The guides'
primary format is .odt.  The package includes .pdf and .html

Guides are available from
https://redmine.auroville.org.in/projects/bung/documents

Selected text from https://redmine.auroville.org.in/projects/bung/wiki/Bung_technology follows

bung is a set of wrapper scripts for several backup utilities:

* OpenLDAP (slapcat and tar)
* mysqldump
* pgdump
* rsync

bung also has:

* A "sysinfo" facility to generate system information reports
* Templated backups allowing custom backup commands.  Example templates are   provided for Cisco switches and MikroTik routers

bung features:

* Automated backup to hotplug devices when they are plugged in with on-screen
  notifications to both character terminals and X displays
* Backup to remote file systems via ssh * Custom commands (hooks) to run before and after the backup itself
* File system hierarchy standard (FHS) compliant
* GPLv2
* Logging designed to ease production support
* LVM snapshots
* man pages
* Mounting and unmounting local file systems
* Remote ssh command validation

Best

Charles Atkinson

Review and follow-up

How does the "bug" look? https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=985918

Subject: ITP: bung -- backup next generation
Date: Fri, 26 Mar 2021 08:07:02 +0530
From: Charles <c@charlesmatkinson.org>
To: control <control@bugs.debian.org>
CC: Bart Martens <bartm@debian.org>

owner 985918 originator-address | !
submitter 985918 originator-address | !
outlook 985918 Submitter allowing time for review
outlook 983146 Blocked by 985918 ITP: bung -- backup next generation
block 983146 by 985918
stop
Viewed the effect at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=985918. I had misunderstood https://www.debian.org/Bugs/server-control
Subject: ITP: bung -- backup next generation
Date: Fri, 26 Mar 2021 08:11:55 +0530
From: Charles <c@charlesmatkinson.org>
To: control <control@bugs.debian.org>
CC: Bart Martens <bartm@debian.org>

owner 985918 originator-address Charles Atkinson <bung@charlesmatkinson.org>
submitter 985918 originator-address Charles Atkinson <bung@charlesmatkinson.org>
stop
Still not right
Subject: ITP: bung -- backup next generation
Date: Fri, 26 Mar 2021 08:17:07 +0530
From: Charles <c@charlesmatkinson.org>
To: control <control@bugs.debian.org>
CC: Bart Martens <bartm@debian.org>

owner 985918 Charles Atkinson <bung@charlesmatkinson.org>
submitter 985918 Charles Atkinson <bung@charlesmatkinson.org>
stop

Next

After allowing time for the ITP to be reviewed by the Debian team, re-build with "closes: #nnnnnn" in the changelog

#23 Updated by Charles Atkinson 7 months ago

Rebuild now with "closes: #<ITP number>" or wait for ITP to be accepted?

The email is bottom posted to suit how Bart uses email

Subject: Re: RFP: bung -- backup next generation
Date: Sat, 27 Mar 2021 06:49:19 +0530
From: Charles <c@charlesmatkinson.org>
To: Bart Martens <bartm@debian.org>

On 26/03/2021 21:03, Bart Martens wrote:
> On Thu, Mar 25, 2021 at 01:14:46PM +0100, Bart Martens wrote:
>> On Thu, Mar 25, 2021 at 12:58:07PM +0530, Charles wrote:
>>> ... I have packaged it and intend to maintain it (so the ITP step is passed)
>>> so this email is to change it to an RFS.
>>
>> Thanks for clarifying this. Indeed the source package is now accessible via the
>> debian bug. If this bug is an RFS, then where is the ITP bug? We still need an
>> ITP bug to put "closes: #nnnnnn" in the changelog. Note that an ITP bug is
>> copied to debian-devel@l.d.o to give DDs a chance to evaluate whether the
>> software fits in Debian. Could you open and reassign the bugs accordingly
>> please? Let me know if I can help. -B.
> 
> It would be more logical when the RFS blocks the ITP, not the reverse.  Anyway,
> it's not so important. More important is finding someone willing to review and
> upload your package, of course. - B.
> 

Thanks for your help, Bart.  I am confused about how this process should work so help is much appreciated.

Right now the build is defective in that its changelog does not reference an ITP.  When you asked me to create an ITP, I found https://www.debian.org/doc/manuals/developers-reference/pkgs.en.html#newpackage and understood the ITP would be accepted or rejected by Debian Developers.

I guessed I should wait for the Debian Developers decision on the ITP before updating the build.  Was that wrong?  Should I now add "closes: #985918" in the changelog and re-build the source package?

Best, Charles

#24 Updated by Charles Atkinson 7 months ago

Bart Martens reply and bug admin

Subject: Re: RFP: bung -- backup next generation
Date: Sat, 27 Mar 2021 07:30:03 +0100
From: Bart Martens <bartm@debian.org>
To: Charles <c@charlesmatkinson.org>

On Sat, Mar 27, 2021 at 06:49:19AM +0530, Charles wrote:
> 
> 
> On 26/03/2021 21:03, Bart Martens wrote:
> > On Thu, Mar 25, 2021 at 01:14:46PM +0100, Bart Martens wrote:
> > > On Thu, Mar 25, 2021 at 12:58:07PM +0530, Charles wrote:
> > > > ... I have packaged it and intend to maintain it (so the ITP step is passed)
> > > > so this email is to change it to an RFS.
> > > 
> > > Thanks for clarifying this. Indeed the source package is now accessible via the
> > > debian bug. If this bug is an RFS, then where is the ITP bug? We still need an
> > > ITP bug to put "closes: #nnnnnn" in the changelog. Note that an ITP bug is
> > > copied to debian-devel@l.d.o to give DDs a chance to evaluate whether the
> > > software fits in Debian. Could you open and reassign the bugs accordingly
> > > please? Let me know if I can help. -B.
> > 
> > It would be more logical when the RFS blocks the ITP, not the reverse.  Anyway,
> > it's not so important. More important is finding someone willing to review and
> > upload your package, of course. - B.
> > 
> 
> Thanks for your help, Bart.  I am confused about how this process should
> work so help is much appreciated.

My pleasure.

> 
> Right now the build is defective in that its changelog does not reference an
> ITP.  When you asked me to create an ITP, I found https://www.debian.org/doc/manuals/developers-reference/pkgs.en.html#newpackage
> and understood the ITP would be accepted or rejected by Debian Developers.

True.

Also worth reading for understanding the overall process:
https://mentors.debian.net/intro-maintainers/
https://mentors.debian.net/sponsors/

> 
> I guessed I should wait for the Debian Developers decision on the ITP before
> updating the build.  Was that wrong?

Ideally first submit the ITP, let it rest a few days, and when there is no
feedback consider it implicitly accepted. Then compose the package, seeking
guidance on the debian-mentors list if needed. Then make the package available
for review, on an RFS and/or on mentors.debian.net.

In this case, we haven a ITP, a prepared package, an RFS... Reverse the block
and this is all fine.

>  Should I now add "closes: #985918" in
> the changelog and re-build the source package?

Yes.

Note that I may lack the time and interest to guide this package until the
finish, so I suggest seeking further guidance on the debian-mentors mailing
list.

Cheers,

Bart

Subject: Processed: rfs/itp bung
Date: Sun, 28 Mar 2021 09:24:06 +0000
From: Debian Bug Tracking System <owner@bugs.debian.org>
To: Bart Martens <bartm@debian.org>
CC: wnpp@debian.org, package-sponsorship-requests@lists.debian.org, bung@charlesmatkinson.org

Processing commands for control@bugs.debian.org:

> reassign 983146 sponsorship-requests
Bug #983146 [wnpp] RFS: bung -- backup next generation
Bug reassigned from package 'wnpp' to 'sponsorship-requests'.
Ignoring request to alter found versions of bug #983146 to the same values previously set
Ignoring request to alter fixed versions of bug #983146 to the same values previously set
> unblock 983146 by 985918
Bug #983146 [sponsorship-requests] RFS: bung -- backup next generation
983146 was blocked by: 985918
983146 was not blocking any bugs.
Removed blocking bug(s) of 983146: 985918
> block 985918 by 983146
Bug #985918 [wnpp] ITP: bung -- backup next generation
985918 was not blocked by any bugs.
985918 was not blocking any bugs.
Added blocking bug(s) of 985918: 983146
> retitle 983146 RFS: bung/3.0.3-1 [ITP] -- backup next generation
Bug #983146 [sponsorship-requests] RFS: bung -- backup next generation
Changed Bug title to 'RFS: bung/3.0.3-1 [ITP] -- backup next generation' from 'RFS: bung -- backup next generation'.
>
End of message, stopping processing here.

Please contact me if you need assistance.
-- 
983146: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146
985918: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=985918
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

#25 Updated by Charles Atkinson 7 months ago

Bug admin by Bart Martens

Subject: Processed: rfs/itp bung
Date: Sun, 28 Mar 2021 09:24:06 +0000
From: Debian Bug Tracking System <owner@bugs.debian.org>
To: Bart Martens <bartm@debian.org>
CC: wnpp@debian.org, package-sponsorship-requests@lists.debian.org, bung@charlesmatkinson.org

Processing commands for control@bugs.debian.org:

> reassign 983146 sponsorship-requests
Bug #983146 [wnpp] RFS: bung -- backup next generation
Bug reassigned from package 'wnpp' to 'sponsorship-requests'.
Ignoring request to alter found versions of bug #983146 to the same values previously set
Ignoring request to alter fixed versions of bug #983146 to the same values previously set
> unblock 983146 by 985918
Bug #983146 [sponsorship-requests] RFS: bung -- backup next generation
983146 was blocked by: 985918
983146 was not blocking any bugs.
Removed blocking bug(s) of 983146: 985918
> block 985918 by 983146
Bug #985918 [wnpp] ITP: bung -- backup next generation
985918 was not blocked by any bugs.
985918 was not blocking any bugs.
Added blocking bug(s) of 985918: 983146
> retitle 983146 RFS: bung/3.0.3-1 [ITP] -- backup next generation
Bug #983146 [sponsorship-requests] RFS: bung -- backup next generation
Changed Bug title to 'RFS: bung/3.0.3-1 [ITP] -- backup next generation' from 'RFS: bung -- backup next generation'.
>
End of message, stopping processing here.

Please contact me if you need assistance.
-- 
983146: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146
985918: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=985918
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

ITP bug response and my response

Subject: Re: Bug#985918: ITP: bung -- backup next generation
Date: Mon, 29 Mar 2021 11:42:37 +0530
From: Charles <c@charlesmatkinson.org>
To: Gürkan Myczko <gurkan@phys.ethz.ch>, 985918@bugs.debian.org, Charles Atkinson <bung@charlesmatkinson.org>

On 28/03/2021 18:06, Gürkan Myczko wrote:
> Hi Charles
> 
> That reminded me a lot to some tool I wrote 20 years ago or so for
> Solaris, later adapted also for Linux and FreeBSD:
> 
> https://github.com/alexmyczko/ibackup
> 
> including the sysinfo part, which I have in an up to date version, 
> modernized
> a lot for todays need, I should release/update on that same page someday.
> 
> Thoughts or parts you could profit from?

Hi Gürkan

Yes, there are many similarities between bung and ibackup

Regards "Thoughts or parts you could profit from?" ...

Encryption.  Bung would be better for having an encryption feature.  Not yet implemented because a) increased risk of losing data by loss of decryption keys b) encrypted backups are harder to search for files wanted for restore

I plan a simple form of encryption by using encrypted file systems on hotplug devices,.  The backup user would need the key each time the file system was mounted so the key would be in regular use so harder to lose unless the user was incapacitated, un-co-operative etc.  Once mounted, the file system could easily be searched for files wanted for restore

Compression.  Bung would be better for having an compression feature. Not yet implemented for the same reasons (except for key loss) that encryption has not been implemented

Tarballs.  tarballs are great for a point in time snapshot of a set of files.  Bung's rsync wrapper creates a "rolling full" backup so the backup looks just like the source except for having a "Changed and deleted files" tree.  That's important for ease of use and avoids the high backup volume of doing a full backup every time or periodically. OTOH restoring to an old point in time is difficult to approximate and impossible to do accurately

ibackup has features to save conffiles for individual services such as bind.  Bung does not because a) we use bung to backup all files except for exclusions (safest approach) so those files are already backed up and b) there are many such individual services and c) bung can be conffed to back up individual services conffiles/conftrees if required

sysinfo.  ibackup's uptime feature is nice.  There are probably better (= less maintenance work) ways of generating sysinfo now than when than bung's sysinfo was developed.

#26 Updated by Charles Atkinson 7 months ago

Orient

Bung 3.0.6 had been rolled out and tested by usage as logged in #11922#note-40 so this issue unblocked

I am unclear about the Debian bug steps but guess
  • The ITP (given no further messages since my update 17 days ago) should be updated and closed
  • The RFS should be updated
    • 3.0.3-1 > 3.0.6-1

From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=985918

Debian Bug report logs - #985918
ITP: bung -- backup next generation
.
Package: wnpp; Maintainer for wnpp is ;
.
Reported by: Charles Atkinson <>
Date: Fri, 26 Mar 2021 02:24:02 UTC
Owned by: Charles Atkinson <>
Severity: wishlist
Fix blocked by 983146: RFS: bung/3.0.3-1 [ITP] -- backup next generation
Outlook: Submitter allowing time for review

From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146

Debian Bug report logs - #983146
RFS: bung/3.0.3-1 [ITP] -- backup next generation
.
Package: sponsorship-requests; Maintainer for sponsorship-requests is Debian Mentors <>;
.
Reported by:
Date: Sat, 20 Feb 2021 03:09:01 UTC
Severity: wishlist
Blocking fix for 985918: ITP: bung -- backup next generation
Outlook: Blocked by 985918 ITP: bung -- backup next generation

Sheesh! I have no idea which is blocking which!

From https://mentors.debian.net/intro-maintainers/

Introduction for maintainers: How will my package get into Debian?
...
Introduction for maintainers: How will my package get into Debian?
...
Make the package
...
Find a sponsor
Once your package is publicly available ... you may start searching for a sponsor for your package. ... A sponsor is any Debian Developer willing to upload your package to Debian on your behalf

From https://mentors.debian.net/sponsors/

The sponsoring process
...
File a RFS bug against the sponsorship-requests pseudo-package
If your package does not match the interests of any team or you are not sure whether a team could be interested in your package, please report a bug against sponsorship-requests pseudo-package to draw attention to your package. Your bug report should be formatted according to our RFS ("request for sponsorship") template.
...
If you are unsure or in doubt, choose this alternative.

Publish

https://redmine.auroville.org.in/projects/bung/files > added bung_3.0.6-1.debian.tar.xz, bung_3.0.6-1.dsc, bung_3.0.6-1_all.deb, bung_3.0.6.orig.tar.gz

Update RFS: bung/3.0.3-1 [ITP] -- backup next generation

Subject: RFS: bung/3.0.3-1 [ITP] -- backup next generation
Date: Thu, 15 Apr 2021 11:24:19 +0530
From: Charles <c@charlesmatkinson.org>
To: control@bugs.debian.org
CC: Bart Martens <bartm@debian.org>, Gürkan Myczko <gurkan@phys.ethz.ch>

retitle 983146 RFS: bung/3.0.6-1 [ITP] -- backup next generation
outlook 983146 Looking for sponsorship
# 17 days since activity in #985918 ITP: bung -- backup next generation
stop
Then from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146

RFS: bung/3.0.6-1 [ITP] -- backup next generation
.
Package: sponsorship-requests; Maintainer for sponsorship-requests is Debian Mentors <>;
.
Reported by:
Date: Sat, 20 Feb 2021 03:09:01 UTC
Severity: wishlist
Blocking fix for 985918: ITP: bung -- backup next generation
Outlook: Looking for sponsorship

Subject: Bug#983146: RFS: bung/3.0.6-1 [ITP] -- backup next generation
Date: Thu, 15 Apr 2021 11:25:59 +0530
From: Charles <c@charlesmatkinson.org>
To: Robin Gustafsson <robin@rgson.se>, 983146-quiet@bugs.debian.org

I have now updated the lintian pedantic clean source build.  It is the
bung_3.0.6-1 files at https://redmine.auroville.org.in/projects/bung/files

Charles
Then from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146

Message #80 received at (full text, mbox, reply):
From: Charles <>
To: Robin Gustafsson <>,
Subject: Bug#983146: RFS: bung/3.0.6-1 [ITP] -- backup next generation
Date: Thu, 15 Apr 2021 11:25:59 +0530
.
I have now updated the lintian pedantic clean source build. It is the
bung_3.0.6-1 files at https://redmine.auroville.org.in/projects/bung/files
.
Charles

Next

  • Wait for responses, say a week until 22 Apr 2021
  • If none received, try contacting potential sponsors directly

#27 Updated by Charles Atkinson 7 months ago

  • Subject changed from bung: submit to Debian to 22 Apr - bung: submit to Debian

#28 Updated by Charles Atkinson 6 months ago

  • Subject changed from 22 Apr - bung: submit to Debian to bung: submit to Debian

Orient

Confirmed no responses at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146 since my last change so need to canvas potential sponsors

Research

From https://wiki.debian.org/DebianMentorsFaq

What's a sponsor, why do I want one, and how do I get one?
.
A sponsor is a registered Debian Developer (DD) who takes the packages of a non-DD and uploads them to the archive on the non-DD's behalf. The sponsor is required to check the quality of the package, that there are no show-stopping bugs in it, and that it is unlikely to harm either the Debian infrastructure during build, nor user's systems when in use.
.
The sponsor needs to do all of this because they are ultimately responsible for what gets uploaded by them into the archive.
.
You need a sponsor because, as a non-DD, you do not have the ability to upload packages directly into the Debian archive. So, you need to route your packages through a sponsoring DD so they can be properly signed and uploaded.

How do I get a sponsor for my package?
.
First, be aware there is no guarantee that anyone will sponsor your package. It all depends on the interest level and time available from any prospective sponsor.
.
You should file a “Request For Sponsor” (RFS) bug report in the Debian BTS. The “sponsorship-requests” pseudo-package in the Debian bug tracking system is designed for receiving these requests. See the instructions on filing a correct RFS. That will lead you through the steps to create an informative, concise request for a sponsor.
.
Messages in other forums, or without all the information, are far more likely to be ignored.
.
Your RFS message is like an ad for your package. It's likely to be the only thing that prospective sponsors will judge your package on. You can have all the extra URLs you like in there where sponsors can get more information, but unless your initial message piques their interest, they'll never look at them.
.
So, tell us what exactly your package does, and why it should be in Debian. If there is already a program that does a similar thing, say why your one is better. Put a little "hot spice" in there to hold people's interest. in other words, think like an advertising executive. Just remember to wash the slime off afterward.
.
You'll notice that one of the things to have is where the package can be downloaded from. That implies that you've packaged it already. If you need help with packaging, ask for that, but don't bother asking for a sponsor until you've got the source package (more-or-less) ready for a sponsor to download and build.
.
Sponsoring a package takes a lot more than just downloading it from your website and uploading it to Debian. The prospective sponsor needs to check over the quality of the packaging and ensure that it meets Debian's quality standards before uploading it. For this reason, you need to provide all of the parts which would be needed for a source package upload (the changes file foo.changes, the source control file foo.dsc, the upstream source foo.orig.tar.gz, the Debian packaging patch foo.diff.gz). Also, it may take a few days/weeks to get the whole package checked over, and the sponsor might want to talk to you a bit, just to find out what sort of a person you are.
.
Think of all this as a smaller-scale New Member check - which is, basically, what it is.

Where else can I get a sponsor?
.
debian-mentors isn't the only place where you can get a sponsor. In general, you're more likely to get a sponsor who is actually interested in what you've packaged, but doesn't have time to package it themselves. So, if there's a list dedicated to your "niche market", send the RFS there. For RFS bugs, use the X-Debbugs-CC field in the pseudo-header. For plain RFS mails, CC the address. For instance, if you're packaging Yet Another Perl Module, try . If it's YAPython Module, . Apache module? . Something legal-related? . Something for kids? . Getting the picture yet? There's a pretty comprehensive list of teams elsewhere on the wiki. Teams may sometimes request that they become the Maintainer for your package. Don't worry if this is the case --- it just means that they are interested in helping you out. They may also request that you adopt the team's workflow for the package, for example storing the packaging in some VCS. Again, don't worry. Team members should help you get everything straight and having packages organised in the same way makes maintenance easier.
.
Also, if you're packaging something in a particular technological line, you'll probably want to be subscribed to the relevant speciality mailing list anyway, so you can ask technology-specific questions to the people who know all about it.

Viewed https://wiki.debian.org/Teams and http://web.archive.org/web/20090908094500/http://krum.ethz.ch/ddc/teams-of-2007.txt but did not find any appropriate teams to ask for sponsorship
root@CW10:~# aptitude search backup
[many packages listed]
https://packages.debian.org/search?keywords=backup&searchon=names&suite=stable&section=all and https://packages.debian.org/search?keywords=backup&searchon=all&suite=stable&section=all. Most closely related packages

#29 Updated by Charles Atkinson 5 months ago

Potential sponsors, most promising first, based on similarity of packages to bung

Having viewed all the descriptions of all the packages listed in the note above, realised the bung package description (and possibly docs) is incomplete. Created Task #12338 "Version 3.0.7: create and publish" which should be completed before continuing with this issue

#30 Updated by Charles Atkinson 4 months ago

  • Subject changed from bung: submit to Debian to 23 Jun - bung: submit to Debian

"RFS: bung/3.0.6-1 [ITP] -- backup next generation" update

Changed the title

Subject: RFS: bung/3.0.6-1 [ITP] -- backup next generation
Date: Wed, 16 Jun 2021 11:28:16 +0530
From: Charles <c@charlesmatkinson.org>
To: control@bugs.debian.org

retitle 983146 RFS: bung/3.0.7-1 [ITP] -- backup next generation
Added a message
Subject: 983146 RFS: bung/3.0.7-1 [ITP] -- backup next generation
Date: Wed, 16 Jun 2021 12:28:55 +0530
From: Charles <c@charlesmatkinson.org>
To: 983146@bugs.debian.org
CC: Debian Mentors <package-sponsorship-requests@lists.debian.org>, Bart Martens <bartm@debian.org>

bung is now at version 3.0.7.  The main change is an improved summary

backup scripts next generation (bung):
* Uses standard backup utilities mysqldump, pg_dump, rsync, slapcat and
  tar to create backups on local and remote file systems.
* Is arbitrarily extensible via templates with integrated support for
  git.  Templated examples are provided for backing up some Cisco and
  MikroTriek devices.
* Supports hotplug storage devices such as USB disks.
* Features LVM snapshots, file system mounting, on-screen notifications
  and report emails.
* Features extensive logging designed to facilitate problem
  investigation.
* For rsync backups, retains changed and deleted files thus providing a
  "rolling full" backup.
* Is normally started by scheduler (anacron or cron) or by udev (after a
  hotplug storage device plug in event).
* Is GPL-2.0+ licensed.
* Is written in bash.
* Was created in 2013 and is known to be used for backing up hundreds of
  laptops, PCs, routers and switches.

As usual, the bung_3.0.7 files are available from https://redmine.auroville.org.in/projects/bung/files

Next

Allow a week for responses. If no responses, start mailing people including Debian Mentors <>

#31 Updated by Charles Atkinson 4 months ago

Need to upload to mentors.debian.net

Subject: Re: Bug#983146: 983146 RFS: bung/3.0.7-1 [ITP] -- backup next generation
Date: Wed, 16 Jun 2021 09:22:17 +0200
From: Tobias Frost <tobi@debian.org>
To: Charles <c@charlesmatkinson.org>, 983146@bugs.debian.org

Control: tags -1 moreinfo

On Wed, Jun 16, 2021 at 12:28:55PM +0530, Charles wrote:
> bung is now at version 3.0.7.  The main change is an improved summary
> 
 > As usual, the bung_3.0.7 files are available from
> https://redmine.auroville.org.in/projects/bung/files

Your dsc is not working:

dget -x https://redmine.auroville.org.in/attachments/download/11034/bung_3.0.7-1.dsc
dget: retrieving https://redmine.auroville.org.in/attachments/download/11034/bung_3.0.7-1.dsc
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   813  100   813    0     0   1026      0 --:--:-- --:--:-- --:--:--  1025
dget: retrieving https://redmine.auroville.org.in/attachments/download/11034/bung_3.0.7.orig.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
dget: curl bung_3.0.7.orig.tar.gz https://redmine.auroville.org.in/attachments/download/11034/bung_3.0.7.orig.tar.gz failed
E: Unable to find a source package for bung

Please consider uploading to mentors.debian.net to utilize all those nice checks from mentors.d.n

Thanks!

-- 
tobi

#32 Updated by Charles Atkinson 4 months ago

  • Subject changed from 23 Jun - bung: submit to Debian to bung: submit to Debian

mentors.debian.net

How to upload to mentors.debian.net?

https://mentors.debian.net/accounts/register > registered as a maintainer

GPG key

https://mentors.debian.net/intro-maintainers/ says packages must be signed with a GPG key

Searched KPDB and user c's home directory for an existing PGP or GPG key. None found. Generated a new GPG key

Doc https://www.gnupg.org/gph/en/manual/c14.html

Created and recorded password in KPDB. Copied before entering o for OK

c@cw11:~$ gpg --gen-key
...
Real name: Charles Atkinson
Email address: c@charlesmatkinson.org
You selected this USER-ID:
    "Charles Atkinson <c@charlesmatkinson.org>" 

Change (N)ame, (E)mail, or (O)kay/(Q)uit? o
...
gpg: key C7DCD6EED02BBEC2 marked as ultimately trusted
gpg: directory '/home/c/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/home/c/.gnupg/openpgp-revocs.d/4FF3E8E5D33F9DAF8222E108C7DCD6EED02BBEC2.rev'
public and secret key created and signed.

pub   rsa3072 2021-06-16 [SC] [expires: 2023-06-16]
      4FF3E8E5D33F9DAF8222E108C7DCD6EED02BBEC2
uid                      Charles Atkinson <c@charlesmatkinson.org>
sub   rsa3072 2021-06-16 [E] [expires: 2023-06-16]
c@cw11:~$ gpg --export --export-options export-minimal --armor 4FF3E8E5D33F9DAF8222E108C7DCD6EED02BBEC2
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQGNBGDJ4tMBDACi4n50ygVwsYyHNaKM9DhlbMA6Z9Pe5FXXSS+51SvoQ+7BzukB
GYQBcEUqLwysNNEIYhst8nggnAzt7h48rgGnRheJwwQF/MC2c0crtEzjnUoXmkcE
Q2zIYz0C7bcRIuWeYkXYO+YVAXXtaaIQiVcGVxWj1p4b59XEn4I1ZG7bPGIIMwGX
wRwmVIuWfqkwrdes4HTYIcZp2zlEXBWYPM6UXc9gb7ebh5R2b0Vr5HY5o/QDEphA
wMXLZX0NUlQMFWkmmoLx95vu1Ht+0lJEa39yKwPKJKDvIbm95vQoy9ec0J1yrTKe
hbOO9GJ3uEpOM+Oru3ZqLasiW6zLH5ZrYyeV+7ZPY3sxDWmXifNC6zoCGiNebW5I
R8K2ewoUpGghC/9eyrr70H/Lay0s+HMySCoKD/g+F11qEtXFJTXGexjZaP6wlVlj
u4rjIxpVdhfE+e1JA4x9uIOLbI5n0u5dWDUQHA3cCM57hyWPgHQl2zXMo0zLqRCC
TrOt3tzBR5drQcsAEQEAAbQpQ2hhcmxlcyBBdGtpbnNvbiA8Y0BjaGFybGVzbWF0
a2luc29uLm9yZz6JAdQEEwEKAD4WIQRP8+jl0z+dr4Ii4QjH3Nbu0Cu+wgUCYMni
0wIbAwUJA8JnAAULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRDH3Nbu0Cu+wkvT
C/wMM8An7BKH/xlXMCcbA62/XV4TogezgMR2FPsVqdqbiFZ9iomBRb+lE+oEHNp2
BbB0ad9DUdca8M9TX0u2b2OIQL+OaC/5T8AXKUgMW/pFy5ijOTL1rTif8ruwGleR
KC8Hsn1MTDm7iIt0DboONbK8kZJLrhDSaJLi98ZngTYe50xyF+l1QXXia3OMzDeM
EUH0Grk0caBa5vWDLSx7/2Y4Y+X0FK9wTB3gF9uos6V8iA/H+OlKXCaF21ijsdOg
GgNEx5b6XWb3MdueY1cv2/cQ2DL+XymAwxuArCEaiDzzxdhnkTcf+MeH1QSO73Fz
v5L7TwBDkaftV4wgdfQcL5pMX8E1sPDdpXCCFdsx3Czh2CVzb54Tb5duUyjP8S5u
Ad0PrrMQQb8cOP61Q1UcA1ZaDLyt2A4uPOdkdA/IpW1iUFfgO38pWksSkwfavi7n
44dDGJnqjcO/EtLCq+GcC53r1PL1wWMeaDaZLH59eHkMYKZjxzcw0Dupj32dz8WR
8SG5AY0EYMni0wEMAM3x1ziKhyigLJmGkKzJH2wEXjm5I7QqHmCAsRmFM/k7IwQz
gAjQ3a2sdhRh/lzzvPhqS1o5YO+jYIP5QRRCnQiXnifpNfM49Q72PLufwDPmkvMr
yOgL/bQrHPrXCoo6Vpvl4qIOXQ3DdMC+JFmTbBBeWklvGf8P9rknQLGUIaJzfP2z
YWEUedyr59f+mDz7F9n95bLqr4vQiks2OrmnLErhy88Z8K1T2LKx+l+li7lVqxNk
I8deU3vxiJpkBSqr4GGhEtntERLXVz3pre2Bm58k0NJY22JlhSOLbZTfFzecsWY7
l7KT8dcGPJ/HzTUs8n2T0POuIqAyswN1d2WbKq5xGNwuESQ4KBbmEUdOC7OszRPP
l9871jOAxBNwFPvRZHrf3VSr4OlOPvpAcjzHO+J6O2Z7sr7DDer7PFR6tz5n4uqb
YIp1ta1E5tgFLMpsAEeGP2NtozbMvWtDwJTYocb2IsFfVSK87dBfJcSeytN9/biW
BgV+BZ3vT/+8AWIsNQARAQABiQG8BBgBCgAmFiEET/Po5dM/na+CIuEIx9zW7tAr
vsIFAmDJ4tMCGwwFCQPCZwAACgkQx9zW7tArvsK0VAwAgs0LVoDfN2SKlajKbfSg
On8cmntJiO5E4azt2tTRF3IkXtpg7L1oZwJXfI824l9MYdeILe3WPQxiWfSIOsy+
dkM/o3bpArH1Sdim+68bqlINF8XZqokCRMJizPwhewZHthR1wvTVBhHy8Mx7pgZG
VAXpmnVCwi7vW5VC/JeQqZ7orTsKCuey8yxNiCTInlz1/Mxi8a3rLOL7jrwzlPw0
bORNKK6uh2LwvX5yJPRVUunlTLFuAW+U1mOH1Y5fje72DNglCcMqofwp4Xc1ABor
A+wCo1X18Bh7mpEw7Rep5kTB94OfnvmXJF87zn6zLtlSp71W/Y6lgJPqNE5zTFq1
bi/DPi5fXtSJVmdFmurnWivLQIVCgVvivgDCJ6JfVDuMTHKTvkaG0iNR7rv/MBC+
vvkLeMz9/BJOD/M/IFlHf3PIpHY+Ce6FmILhudYW1VB8BqSm2lScJUH1vONYjvvD
VO1KzhBGmoTAjk9PngKHVgmZIB6fhLYW0nBv26FxHr50
=asWR
-----END PGP PUBLIC KEY BLOCK-----
Pasted that at https://mentors.debian.net/accounts/profile but got "Key size too small. Need at least 4096 bits"

Backed out

c@cw11:~$ gpg --delete-secret-keys 4FF3E8E5D33F9DAF8222E108C7DCD6EED02BBEC2
...
c@cw11:~$ gpg --delete-keys 4FF3E8E5D33F9DAF8222E108C7DCD6EED02BBEC2
...
c@cw11:~$ gpg --list-keys
[no output. OK]
Started over

Doc https://wiki.debian.org/Keysigning#Step_1:_Create_a_RSA_keypair

c@cw11:~$ gpg --full-gen-key 
...
Please select what kind of key you want:
   (1) RSA and RSA (default)
...
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
         0 = key does not expire
...
Key is valid for? (0) 
Key does not expire at all
Is this correct? (y/N) y
...
Real name: Charles Atkinson
Email address: c@charlesmatkinson.org
Comment: 
You selected this USER-ID:
    "Charles Atkinson <c@charlesmatkinson.org>" 
...
gpg: key 2BAC2479FD640869 marked as ultimately trusted
gpg: revocation certificate stored as '/home/c/.gnupg/openpgp-revocs.d/B4DD039D9A028B2F132CB7A62BAC2479FD640869.rev'
public and secret key created and signed.

pub   rsa4096 2021-06-16 [SC]
      B4DD039D9A028B2F132CB7A62BAC2479FD640869
uid                      Charles Atkinson <c@charlesmatkinson.org>
sub   rsa4096 2021-06-16 [E]
c@cw11:~$ gpg --export --export-options export-minimal --armor B4DD039D9A028B2F132CB7A62BAC2479FD640869
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBGDJ59gBEADJIB3OiKxaJqeqa9OOY8n6RjUzUqM79OJ0Gf3cgAvGhosyAxs2
c1GDESx77vWwXDfRC590jKsrO/oyQdh5sDuwV1ckABCBa0xDAnWodUSGgVSm2uI9
lQiq4toEmK7lwC1Iz7NWpGZTjHcfYpLmShggLvzzuhuyO8Mhk06CkWG9M3vj1SOE
Ys6Kpz6yDYxeZkcY86YSLdh/76mww3U/poGhBbTkKtUstZA+Afi/iUDE9daVRb7u
dmn5EuhGon0o/eCeVbHNYc5EVeRltq6HKPQrZF0dcTCpnJ1B0Racdt5SAtjlduOU
rfdL3mmyX1QmB51/o+EzSozJ67nLTvjT4Ri0z2a1Zi4FNDjIHkUGq9t3t0BhTfS0
FmfosiM85Q/TK7obKSBQjZYudEbIdHIcW5AUXNMlrV+zDJPC3N4RboBwlDTlHdvk
/2xXOo7I6p6wVpV2AQWytXPF4Xt2q6sx1FsfeAa7llKsZCHo+z7Yr4XV0VTROFLV
6NUVkceWm3N/RTmes2js16fTvlZkuScgeo5OXUUBeTVngE7dTbWMSAedcgawNMKt
4h737ktzOol1L72OWkmyC7A3Mr3AuOsvanrF44Lt87/dLc/PlCJ0/uGy8kWvjCGI
v1gEYSWB60QfCo2GMkCiJquP9DBzdE22SZssnQ7YwlsqHn5QpzThrpJHLwARAQAB
tClDaGFybGVzIEF0a2luc29uIDxjQGNoYXJsZXNtYXRraW5zb24ub3JnPokCTgQT
AQoAOBYhBLTdA52aAosvEyy3piusJHn9ZAhpBQJgyefYAhsDBQsJCAcCBhUKCQgL
AgQWAgMBAh4BAheAAAoJECusJHn9ZAhpiPoQAK9UWft6C55yJyeH/mYuT9b7dF7j
k/nusqCP1tHfgHkE+LBwzqH04Kig3lDv/qqYt64v+GeTZ34w2dtHgONdPlloNZ9n
8Ef0O6sEFJS3zJAh8x/bz6oS+M4Rdb8GzyhzNwRi1U/Mo1gPtrvGyB7rk7IY9pDh
ReA1lK7esxoWGGQs4yMoQ51y3UR/rwbqGJ6aI4oxemD+/J+Z+vsUoO1qvTEz+WBH
+tGREaJi++HDVckjekjW8P8OjIWMBmW0p+WjSgYIe85XI1hTq8xCzowlo/cVWfdN
yNutfDuNuntNKJzCCvivCY/aRakI8xo0VCCmrQTF2Eki5Er2k4Ni5O0VZOFuZZgX
uJYE2HcjjpMtBhnq7zKywEFrByYT0zNshKaF83YKW/XRuYAA1yEwpb0HD7bmjIL2
mnVC1Tpz5Ep+VsF7ccPDx6ZcQYKld96+dWkR/gCT0Un84wwdJY3uu8yV5NaBo1ej
FKkgH6cWQl3gq5RdX5Q4yM7lO5gR9LRRT2yMCkIGexZBcFGhL2yGWs5JmQTXnu4U
H7ihOj/nHG9qsf0pPdHDnmy9KNiaKwc3drGJCDy+6ngUn6o60uipKAqqYFrwOpFJ
HTUV268hxLhXXuqBfvUwiD88YdSnrZyiBpRdjbdsCjdNEDr7etEzkNsJZBusNHy/
5z0hDr7Z+G9g/+8ZuQINBGDJ59gBEAD5dtk2snaAw4lHcaSSWm9P7fa+yTQT7JYe
onZeBTyjWFiEp6B0JLz4FuFHlKmB4A44H1WrZX9B57UuWyySDE18Q20NrsJlupF/
6LaPjmfWOlhWYkI1T2cK8CtJtoxgojAYyd+By1139/0Y3ql8uajSFO9Gxry0Q/Ip
D28i7xDkiuJHgzy6Oqr7GnDQEgCwu6ezi05HS+5dQeyEFxq8bn0p4jxOFpbkJwnC
rjH5Nly4YkRQ+RsWv2g2Vbsh5Ilh9bhSCYeQR0HFbMyr0s1nnY7Kuz5RGQnzTh2r
PAIIqqP6yalbahek/TxupFpPoZslJCfSt4rCc1sOGDY76fC7Saz5FCnenXCHC7h0
N8XG6GfBF/UU43h+t9GvyzwYrHBPQ4eDZuyj2rnQmMHi/fG9GMLzOQiYx0FOk9zZ
7qZ+DEPKNve1ZViaOl/5IGhLUdcxWizWuj7Djfxo896PCAJFBIHUrqyAR6bS+TCh
b+huvXYlwKxPQCoXZeFQ2Tvm/ThAqYdxjdGMUtH4r+67JzdOA8oTL+i2qFCEkrvb
tXfWyiUcv4F6l9GajlRSPGdVJ5a+Ir39bjxRwlWVoABq0/nstVtMNmxlyYGYLS1S
kQbpVTwQXsiyiP1RwJDFYhMiLiRIB7a3MDZiEUBLOupcTi/7gMzgbBPHEN4IJwTw
r6ofCSeKHQARAQABiQI2BBgBCgAgFiEEtN0DnZoCiy8TLLemK6wkef1kCGkFAmDJ
59gCGwwACgkQK6wkef1kCGlfrxAAu9gCXIiWxw9vCsO9VG5hZfLV5PcfoSYrK2Ol
Tw/usBMPlE+fT8nwq1TM5hD2vlYZKv3EDk6maSo4vOFMSamEH0ZsK7Aoo80JYjSi
eh2tyBCm4g6fq9JuPu9N57p7fbmzPmcJQoamKydaLnALShrpsShmKEVucJ6/MJRt
DJV4DiXU3TCzwelGRIi4WXD0keO8QWYVXjsedlbjB5auoyKWWrZnprKAEkCHRFOG
CLP1HWuk2lxRKeP41LBOI/HXN2lsXOm/BriRCqSLVgZcpwzxoUIFrEaZjk+gQ3Hw
VOgmwfgUCFNGAHktKOoE2jr2HuEr0OJn54QPo7XVAeP7m//1BIE6IYRyr4mxfzqB
fmHEvvUxae7Uc5DugrHxSS6mcsWBVYXHQoneskc5YHdxaW8e386vm2OkBwILBmr8
VxPX2wtMa7bIg/9mL6Iu+vwXtoL/jUDtZO6BqX5GrBr9ly8XOforIKpFRkwG0Tgl
6lOotmWrmdPoXhHh3ItuRyOwcrsQX122fG+TJxBvRQdezK38xP8FXkUFyjXrhGQq
7gD88sJRn4Xt53PY7l5XcJj0XIqL1/+w3VwwjGroE5gGQSp7Uwk4EYk2jPBQGIgT
NqxtPbbs1aiS9kMGAlp8XhJNTcNueUskbj63kNVXUsrMSQasNJxb3rsXqt2iRzNb
ori2KWM=
=pik3
-----END PGP PUBLIC KEY BLOCK-----
c@cw11:~$ gpg --send-key B4DD039D9A028B2F132CB7A62BAC2479FD640869
gpg: sending key 2BAC2479FD640869 to hkp://hkps.pool.sks-keyservers.net

Next

Continue with uploading bung 3.0.7-1 to mentors.debian.net

#33 Updated by Charles Atkinson 4 months ago

Signing the package

Research

From https://mentors.debian.net/intro-maintainers "All packages must be signed (using debsign) with the GnuPG key you configured in your control panel"

From the debsign man page "debsign mimics the signing aspects (and bugs) of dpkg-buildpackage(1) ... This utility is useful if a developer must build a package on one machine where it is unsafe to sign it; they need then only transfer the small .dsc, .buildinfo and .changes files to a safe machine and then use the debsign program to sign them before transferring them back"

From https://www.debian.org/doc/manuals/maint-guide/build.en.html "If the build result is satisfactory, sign the .dsc and .changes files with your private GPG key using the debsign command. You need to enter your secret pass phrase, twice"

The package build machines are cw10.iciti.av or cw11.iciti.av which are reasonably secure so it would be better to build signing into the build procedure

https://blog.packagecloud.io/debian/debuild/packaging/2015/06/08/buildling-deb-packages-with-debuild/ suggests signing with debsign after running debuild -us -uc

The procedure in "nextcloud/bung/3.0/Backup scripts next generation 3.0.x Programmer's Guide.odt" runs debuild , that is without the -us and -uc options. Those options are passed to dpkg-buildpackage. From the dpkg-buildpackage man page

       -us, --unsigned-source
              Do not sign the source package (long option since dpkg 1.18.8).
       ...
       -uc, --unsigned-changes
              Do not sign the .buildinfo and .changes files (long option since dpkg 1.18.8).
       ...
       -kkey-id
              Specify a key-ID to use when signing packages
From https://itectec.com/ubuntu/ubuntu-signing-package-with-dpkg-buildpackage-fails-but-succeeds-with-debsign/ "dpkg-buildpackage seems to expect you to pass an email address along with the -k flag rather than the key ID"

If signing the source package is the same as signing the .dsc file, running debuild without the -us and -uc options should satisfy mentors.debian.net. Where could it get the signing key from?

Decided to familiarise with debsign and then try to build signing into the workflow

From the debsign man page

       -mmaintainer
              Specify the maintainer name to be used for signing.  (See dpkg-buildpackage(1) for more information about the differences between -m, -e and -k
              when  building  packages; debsign makes no use of these distinctions except with respect to the precedence of the various options.  These multiple
              options are provided so that the program will behave as expected when called by debuild(1).)

       -emaintainer
              Same as -m but takes precedence over it.

       -kkeyid
              Specify the key ID to be used for signing; overrides any -m and -e options.
The maintainer is conffed as "Charles Atkinson <>"

GPG key for Charles Atkinson <>

Same as yesterday except for the email address

c@cw11:~$ gpg --full-gen-key
...
Please select what kind of key you want:
   (1) RSA and RSA (default)
...
Your selection? 1
...
What keysize do you want? (3072) 4096
...
Please specify how long the key should be valid.
         0 = key does not expire
...
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y
...
Real name: Charles Atkinson
Email address: bung@charlesmatkinson.org
Comment: 
...
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
...
gpg: key 36CD57AA1AEAA7AA marked as ultimately trusted
gpg: revocation certificate stored as '/home/c/.gnupg/openpgp-revocs.d/9E5B45BAC87CD567FECB32DF36CD57AA1AEAA7AA.rev'
public and secret key created and signed.

pub   rsa4096 2021-06-17 [SC]
      F84338396B1D7D39EAFD3184CF8D713AF6826A58
uid                      Charles Atkinson <bung@charlesmatkinson.org>
sub   rsa4096 2021-06-17 [E]
Key and revocation key recorded in KPDB

Updated https://mentors.debian.net/accounts/profile/

Explore debsign

Ran the procedure from up to the debuild command (that is before copying the built files to anywhere)

c@cw11:/tmp/bung.cxVaswBi4w/bung-3.0.7$ debsign -kbung@charlesmatkinson.org
 signfile dsc ../bung_3.0.7-1.dsc bung@charlesmatkinson.org
[in pop-up GUI window, entered passphrase entered after o for OK above]
gpg: signing failed: Operation cancelled
gpg: /tmp/debsign.xJKc56SZ/bung_3.0.7-1.dsc: clear-sign failed: Operation cancelled
debsign: gpg error occurred!  Aborting....
Suspecting user error, re-created the key. Same

Research (continued)

How to test the passphrase outside debsign?

c@cw11:~$ aptitude show gpg 
...                             
Version: 2.2.12-1+deb10u1
...
From https://stackoverflow.com/questions/11381123/how-to-use-gpg-command-line-to-check-passphrase-is-correct

Or even better:

gpg --passwd --dry-run <user-id>
From man pages --passwd: "When using together with the option --dry-run this will not actually change the passphrase but check that the current passphrase is correct."

Tried it

c@cw11:~$ gpg --passwd --dry-run B4DD039D9A028B2F132CB7A62BAC2479FD640869
Same

gpg-agent

Maybe gpg-agent will work where manual passphrase enry doesn't (it didn't)

c@cw11:~$ diff ~/.gnupg/gpg-agent.conf{.org,}
1,2c1,3
< default-cache-ttl 300
< max-cache-ttl 999999
\ No newline at end of file
---
> allow-preset-passphrase
> default-cache-ttl 3600
> max-cache-ttl 999999
c@cw11:~$ gpg-connect-agent reloadagent /bye
OK
c@cw11:~$ gpg --with-keygrip -K
/home/c/.gnupg/pubring.gpg
--------------------------
sec   rsa4096 2021-06-16 [SC]
      B4DD039D9A028B2F132CB7A62BAC2479FD640869
      Keygrip = 6298133B902980450F04B225D359740BFFABBB65
uid           [ultimate] Charles Atkinson <c@charlesmatkinson.org>
ssb   rsa4096 2021-06-16 [E]
      Keygrip = B9B550071D742481DA9603839507EB878691FDCF
c@cw11:~$ echo <redacted> | /usr/lib/gnupg/gpg-preset-passphrase --preset 6298133B902980450F04B225D359740BFFABBB65
c@cw11:~$ gpg --passwd --dry-run B4DD039D9A028B2F132CB7A62BAC2479FD640869
[GUI pop-up window prompted for password and did not validate the KPDB password]
Then debsign worked! (I tried it to reproduce the GUI error message)
c@cw11:/tmp/bung.cxVaswBi4w/bung-3.0.7$ debsign -kc@charlesmatkinson.org
 signfile dsc ../bung_3.0.7-1.dsc c@charlesmatkinson.org

 fixup_buildinfo ../bung_3.0.7-1.dsc ../bung_3.0.7-1_amd64.buildinfo
 signfile buildinfo ../bung_3.0.7-1_amd64.buildinfo c@charlesmatkinson.org

 fixup_changes dsc ../bung_3.0.7-1.dsc ../bung_3.0.7-1_amd64.changes
 fixup_changes buildinfo ../bung_3.0.7-1_amd64.buildinfo ../bung_3.0.7-1_amd64.changes
 signfile changes ../bung_3.0.7-1_amd64.changes c@charlesmatkinson.org

Successfully signed dsc, buildinfo, changes files

GPG key for Charles Atkinson <> (again)

Had deleted it while debugging. Started over

c@cw11:~$ gpg --full-gen-key
...
Please select what kind of key you want:
   (1) RSA and RSA (default)
...
Your selection? 1
...
What keysize do you want? (3072) 4096
...
Please specify how long the key should be valid.
         0 = key does not expire
...
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y
...
Real name: Charles Atkinson
Email address: bung@charlesmatkinson.org
Comment: 
...
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
...
gpg: key 8F12097C5A0BCA50 marked as ultimately trusted
gpg: revocation certificate stored as '/home/c/.gnupg/openpgp-revocs.d/C334DC45900C011EB521763C8F12097C5A0BCA50.rev'
public and secret key created and signed.

pub   rsa4096 2021-06-17 [SC]
      C334DC45900C011EB521763C8F12097C5A0BCA50
uid                      Charles Atkinson <bung@charlesmatkinson.org>
sub   rsa4096 2021-06-17 [E]

gpg-agent

c@cw11:~$ gpg --with-keygrip -K
gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   2  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 2u
/home/c/.gnupg/pubring.gpg
--------------------------
...
sec   rsa4096 2021-06-17 [SC]
      C334DC45900C011EB521763C8F12097C5A0BCA50
      Keygrip = 8758F92055F82C6120878376378050D50F3FA57C
uid           [ultimate] Charles Atkinson <bung@charlesmatkinson.org>
ssb   rsa4096 2021-06-17 [E]
      Keygrip = F165F0FA9F8CF83BD02300EBABCC6AB2E16F1F38
c@cw11:~$ echo <redacted> | /usr/lib/gnupg/gpg-preset-passphrase --preset F165F0FA9F8CF83BD02300EBABCC6AB2E16F1F38

Test (failed)

c@cw11:/tmp/bung.RvndTREx2W/bung-3.0.7$ debsign -kbung@charlesmatkinson.org
 signfile dsc ../bung_3.0.7-1.dsc bung@charlesmatkinson.org
gpg: signing failed: Bad passphrase
gpg: /tmp/debsign.wkvXCHHj/bung_3.0.7-1.dsc: clear-sign failed: Bad passphrase
debsign: gpg error occurred!  Aborting....

Next

#34 Updated by Charles Atkinson 4 months ago

Debugging gpg-agent

What had worked for "Charles Atkinson <>" that did not work for "Charles Atkinson <>" yesterday?

For

c@cw11:~$ gpg --with-keygrip -K
/home/c/.gnupg/pubring.gpg
--------------------------
sec   rsa4096 2021-06-16 [SC]
      B4DD039D9A028B2F132CB7A62BAC2479FD640869
      Keygrip = 6298133B902980450F04B225D359740BFFABBB65
uid           [ultimate] Charles Atkinson <c@charlesmatkinson.org>
ssb   rsa4096 2021-06-16 [E]
      Keygrip = B9B550071D742481DA9603839507EB878691FDCF
c@cw11:~$ echo <redacted> | /usr/lib/gnupg/gpg-preset-passphrase --preset 6298133B902980450F04B225D359740BFFABBB65
For
c@cw11:~$ gpg --with-keygrip -K
gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   2  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 2u
/home/c/.gnupg/pubring.gpg
--------------------------
...
sec   rsa4096 2021-06-17 [SC]
      C334DC45900C011EB521763C8F12097C5A0BCA50
      Keygrip = 8758F92055F82C6120878376378050D50F3FA57C
uid           [ultimate] Charles Atkinson <bung@charlesmatkinson.org>
ssb   rsa4096 2021-06-17 [E]
      Keygrip = F165F0FA9F8CF83BD02300EBABCC6AB2E16F1F38
c@cw11:~$ echo <redacted> | /usr/lib/gnupg/gpg-preset-passphrase --preset F165F0FA9F8CF83BD02300EBABCC6AB2E16F1F38
Ah ha! Had used different keygrips. The sec (secret key) keygrip had worked. The ssb (secret subkey) had not worked

Tried again (<redacted> being the "Charles Atkinson <>" password/passphrase from KPDB)

c@cw11:~$ echo <redacted> | /usr/lib/gnupg/gpg-preset-passphrase --preset 8758F92055F82C6120878376378050D50F3FA57C
Ran the "nextcloud/bung/3.0/Backup scripts next generation 3.0.x Programmer's Guide.odt" > "Create the tarball and .deb etc." procedure up to (including) the debuild command then
c@cw11:/tmp/bung.VweRQdtk9M/bung-3.0.7$ debsign
 signfile dsc ../bung_3.0.7-1.dsc Charles Atkinson <bung@charlesmatkinson.org>

 fixup_buildinfo ../bung_3.0.7-1.dsc ../bung_3.0.7-1_amd64.buildinfo
 signfile buildinfo ../bung_3.0.7-1_amd64.buildinfo Charles Atkinson <bung@charlesmatkinson.org>

 fixup_changes dsc ../bung_3.0.7-1.dsc ../bung_3.0.7-1_amd64.changes
 fixup_changes buildinfo ../bung_3.0.7-1_amd64.buildinfo ../bung_3.0.7-1_amd64.changes
 signfile changes ../bung_3.0.7-1_amd64.changes Charles Atkinson <bung@charlesmatkinson.org>

Successfully signed dsc, buildinfo, changes files

KPDB

Displayed the key ...

c@cw11:~$ gpg --export --export-options export-minimal --armor C334DC45900C011EB521763C8F12097C5A0BCA50
...
... and the revocation key
c@cw11:~$ cat /home/c/.gnupg/openpgp-revocs.d/C334DC45900C011EB521763C8F12097C5A0BCA50.rev
...
... and saved them in KPDB

bung bung_3.0.7-2

Signing changes the package so a package version increment was required

What is to be done? Viewed the files in bung3/source build/bung-3.0.7
  • debian/changelog change
    • 3.0.7-1 to 3.0.7-2
    • Timestamp
  • debian/README.Debian
    • Timestamp

Updated "nextcloud/bung/3.0/Backup scripts next generation 3.0.x Programmer's Guide.odt" > "source build/bung-<version>" with that information and implemented. Built. Copied files to Aurinoco's Nextcloud

c@cw11:~/.../nextcloud/bung/3.0$ ll *3.0.7-2*
-rw-r--r-- 1 c c 643K Jun 18 07:57 bung_3.0.7-2_all.deb
-rw-r--r-- 1 c c 1.5K Jun 18 07:57 bung_3.0.7-2_amd64.build
-rw-r--r-- 1 c c 5.5K Jun 18 07:58 bung_3.0.7-2_amd64.buildinfo
-rw-r--r-- 1 c c 2.6K Jun 18 07:58 bung_3.0.7-2_amd64.changes
-rw-r--r-- 1 c c 2.7K Jun 18 07:57 bung_3.0.7-2.debian.tar.xz
-rw-r--r-- 1 c c 1.7K Jun 18 07:58 bung_3.0.7-2.dsc

Key servers

Does the "Charles Atkinson <>" public key also need to be on any key servers? Is an old version already on any keyservers?

http://keys.gnupg.net/pks/lookup?search=Charles+Atkinson&fingerprint=on&op=index listed inter alia

pub  4096R/FD640869 2021-06-16 Charles Atkinson <c@charlesmatkinson.org>
     Fingerprint=B4DD 039D 9A02 8B2F 132C  B7A6 2BAC 2479 FD64 0869
So the "Charles Atkinson <>" public key is not on any key servers. Uploaded it
c@cw11:~$ gpg --send-key C334DC45900C011EB521763C8F12097C5A0BCA50
gpg: sending key 8F12097C5A0BCA50 to hkp://hkps.pool.sks-keyservers.net

mentors.debian.net

GPG public key

Copied from KPDB to https://mentors.debian.net/accounts/profile

Package upload

From https://mentors.debian.net/intro-maintainers/ "You can upload your package to this server (through special tools like 'dupload' or 'dput)"

root@cw11.iciti.av:~# apt install dput dupload
...
The following NEW packages will be installed:
  dput dupload python3-gpg
...
Searched separately for dupload, dput, dput.cf and dupload.conf

Only examples found were at https://upsilon.cc/~zack/blog/posts/2009/04/howto:_uploading_to_people.d.o_using_dput and https://wikitech.wikimedia.org/wiki/Reprepro#dupload. Great to know they are so easy to use that nobody asked about them!

#35 Updated by Charles Atkinson 4 months ago

mentors.debian.net (continued)

Package upload (continued)

Did not know whether to use dput or dupload so randomly chose dupload

c@cw11:~$ cp /etc/dupload.conf ~/.dupload.conf
Found that was a conffile written in perl! Extracts
# Per-host variables:
# fqdn          - full hostname
# method        - ftp, scp, scpb or rsync
#                 (defaults to ftp)
# login         - user name to use on the remote host
#                 (defaults to 'anonymous' for FTP and local username for SSH methods)
#                 use "user\@remote" for firewall logins
# password      - password for anonymous FTP logins
# filemode      - destination files mode (undef disables, defaults to 0644)
# incoming      - directory where to upload first
# queuedir      - directory where to move if upload succeeded
# distwhitelist - regex of the distributions allowed for this host
# distblacklist - regex of the distributions disallowed for this host
# mailto        - address for announcement email (stable)
# mailtx        - address for announcement email (unstable)
# cc            - address for carbon copy of the announcement email
# fullname      - the full name to use in the announcement email
#                 (defaults to what your local MTA uses)
# visibleuser   - the username to use in the announcement email
#                 (defaults to local username)
# visiblename   - the domainname to use in the announcement email
#                 (defaults to what your local MTA uses)

# -----------------
# Pre-defined hosts
# -----------------
...
# Mentors upload queue, for more information see
# <https://mentors.debian.net/cgi-bin/maintainer-intro>.
$cfg{'mentors'} = { 
    fqdn => 'mentors.debian.net',
    passive => 1,
    incoming => '/pub/UploadQueue/',
    dinstall_runs => 1,
};
https://mentors.debian.net/cgi-bin/maintainer-intro did not exist. Guessed it should have been https://mentors.debian.net/intro-maintainers which I have read many times. The only relevant text is "

This web site is a public package repository of source packages. You can upload your package to this server (through special tools like 'dupload' or 'dput') and after a few checks it will be stored in our repository. Interested sponsors can then download the package and upload it to Debian"

The dupload.conf man page described the confvars but nothing specific to mentors.debian.net and no examples

The dupload man page had nothing about how to use a specific upload queue

https://wikitech.wikimedia.org/wiki/Reprepro#dupload showed the --to option is used to use a specific upload queue and showed a *.changes file on the command line. From the dupload man page

       -t, --to nickname
                   Upload to nickname'd host.  nickname is the key for doing lookups in the config file. You can use the default_host configuration option to specify a host without
                   --to.
Tried it
c@cw11:~/.../nextcloud/bung/3.0$ dupload --to mentors bung_3.0.7-2_amd64.changes
dupload note: no announcement will be sent.
Checking signatures before upload......signatures are ok
Uploading (ftp) to mentors.debian.net:/pub/UploadQueue/
[ Preparing job bung_3.0.7-2_amd64 from bung_3.0.7-2_amd64.changes
 bung_3.0.7-2_all.deb, size ok, md5sum ok, sha1sum ok, sha256sum ok
 bung_3.0.7-2.dsc, size ok, md5sum ok, sha1sum ok, sha256sum ok
 bung_3.0.7.orig.tar.gz, size ok, md5sum ok, sha1sum ok, sha256sum ok
 bung_3.0.7-2.debian.tar.xz, size ok, md5sum ok, sha1sum ok, sha256sum ok
 bung_3.0.7-2_amd64.buildinfo, size ok, md5sum ok, sha1sum ok, sha256sum ok
 bung_3.0.7-2_amd64.changes ok ]
Uploading (ftp) to mentors (mentors.debian.net)
+ FTP passive mode selected
[ Uploading job bung_3.0.7-2_amd64
 bung_3.0.7-2_all.deb 642.4 kB, ok (2 s, 321.19 kB/s)
 bung_3.0.7-2.dsc 1.7 kB, ok (0 s, 1.69 kB/s)
 bung_3.0.7.orig.tar.gz 664.2 kB, ok (2 s, 332.09 kB/s)
 bung_3.0.7-2.debian.tar.xz 2.7 kB, ok (1 s, 2.67 kB/s)
 bung_3.0.7-2_amd64.buildinfo 5.4 kB, ok (1 s, 5.43 kB/s)
 bung_3.0.7-2_amd64.changes 2.5 kB, ok (1 s, 2.54 kB/s) ]
No error messages. How to find the package?

Agh! Found on https://mentors.debian.net/intro-maintainers/

You need to use dput to upload packages
.
To use HTTPS put the following content to your ~/.dput.cf file:

[mentors]
fqdn = mentors.debian.net
incoming = /upload
method = https
allow_unsigned_uploads = 0
progress_indicator = 2
# Allow uploads for UNRELEASED packages
allowed_distributions = .*
Once you have it set up, you can run it from your shell like this:
dput mentors your_sourcepackage_1.0.changes
If you did everything right, you will get a confirmation mail from our site and you can start seeking a sponsor for your package.

No mail received from the dupload procedure so tried dput. Created ~/.dput.cf with the above content

c@cw11:~/.../nextcloud/bung/3.0$ dput mentors bung_3.0.7-2_amd64.changes
Checking signature on .changes
gpg: /home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/bung_3.0.7-2_amd64.changes: Valid signature from 8F12097C5A0BCA50
Checking signature on .dsc
gpg: /home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/bung_3.0.7-2.dsc: Valid signature from 8F12097C5A0BCA50
Package includes an .orig.tar.gz file although the debian revision suggests
that it might not be required. Multiple uploads of the .orig.tar.gz may be
rejected by the upload queue management software.
Uploading to mentors (via https to mentors.debian.net):
  Uploading bung_3.0.7-2.dsc: done.
  Uploading bung_3.0.7.orig.tar.gz: done.    
  Uploading bung_3.0.7-2.debian.tar.xz: done.
  Uploading bung_3.0.7-2_all.deb: done.    
  Uploading bung_3.0.7-2_amd64.buildinfo: done.
  Uploading bung_3.0.7-2_amd64.changes: done.
Successfully uploaded packages.
Received mail
Subject: bung_3.0.7-2: ACCEPTED on mentors (UNRELEASED)
Date: Sat, 19 Jun 2021 03:20:05 -0000
From: mentors.debian.net <support@mentors.debian.net>
To: c@charlesmatkinson.org

Hi.

Your upload of the package 'bung' to mentors.debian.net was
successful. Others can now see it. The URL of your package is:

    https://mentors.debian.net/package/bung/

The respective dsc file can be found at:

    https://mentors.debian.net/debian/pool/main/b/bung/bung_3.0.7-2.dsc

If you do not yet have a sponsor for your package you may want to go to:

    https://mentors.debian.net/sponsors/rfs-howto/bung/

and set the "Seeking a sponsor" option to highlight your package on the
welcome page.

You can also send an RFS (request for sponsorship) to the debian-mentors
mailing list. Your package page will give your suggestions on how to
send that mail.

Good luck in finding a sponsor!

Thanks,
-- 
mentors.debian.net
15 minutes later got similar so I guess both dupload and dput worked

From https://mentors.debian.net/packages/my

Interactively changed "Needs a sponsor" to Yes

RFS update

Subject: RFS: bung/3.0.6-1 [ITP] -- backup next generation
Date: Sat, 19 Jun 2021 09:05:06 +0530
From: Charles <c@charlesmatkinson.org>
To: control@bugs.debian.org

retitle 983146 RFS: bung/3.0.7-2 [ITP] -- backup next generation
and
Subject: 983146 RFS: bung/3.0.7-2 [ITP] -- backup next generation
Date: Sat, 19 Jun 2021 09:12:54 +0530
From: Charles <c@charlesmatkinson.org>
To: 983146@bugs.debian.org
CC: Debian Mentors <package-sponsorship-requests@lists.debian.org>, Tobias Frost <tobi@debian.org>

Thanks tobi, I appreciate the guidance

bung/3.0.7-2 is now at https://mentors.debian.net/package/bung (3.0.7-2 is signed, 3.0.7-1 was not)

#36 Updated by Charles Atkinson 4 months ago

Not finished yet
Subject: Re: Bug#983146: 983146 RFS: bung/3.0.7-2 [ITP] -- backup next generation
Date: Sun, 20 Jun 2021 20:13:30 +0200
From: Tobias Frost <tobi@debian.org>
To: Charles <c@charlesmatkinson.org>, 983146@bugs.debian.org
CC: Debian Mentors <package-sponsorship-requests@lists.debian.org>

Hi Charles, 
(I'm sorry I did not  have time for a complete review, so this one is possibly
incomplete and focuses mostly on that what lintian told me.)

There are a few typos:
I: bung: typo-in-manual-page usr/share/man/man5/bung-common.5.gz Overriden Overridden
I: bung: typo-in-manual-page usr/share/man/man5/bung-common.5.gz minumum minimum
I: bung: typo-in-manual-page usr/share/man/man5/check_hotplug_usage.5.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man5/hotplug_bu.5.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man5/hotplug_bu_launcher.5.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man5/mysql_bu.5.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man5/openldap_bu.5.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man5/postgres_bu.5.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man5/rsync_bu.5.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man5/super_bu.5.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man5/sysinfo_bu.5.gz varaibles variables
I: bung: typo-in-manual-page usr/share/man/man5/template_file.5.gz folllowed followed
I: bung: typo-in-manual-page usr/share/man/man5/templated_bu.5.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man5/templated_bu.5.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/bung-common.8.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/check_hotplug_usage.8.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/hotplug_bu.8.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/hotplug_bu_launcher.8.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/mysql_bu.8.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/openldap_bu.8.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/postgres_bu.8.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/remote_agent.8.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/rsync_bu.8.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/rsync_restore.8.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/super_bu.8.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/sysinfo_bu.8.gz decribed described
I: bung: typo-in-manual-page usr/share/man/man8/templated_bu.8.gz decribed described

A spare manpage:
I: bung: spare-manual-page usr/share/man/man8/bung-common.8.gz

Old Standard Version:
I: bung source: out-of-date-standards-version 4.1.4 (released 2018-04-05) (current is 4.5.1)
(See the Debian Policy for the upgrade checklist; this will then fix also:
P: bung source: silent-on-rules-requiring-root

Old Compat level, using d/compat:
P: bung source: package-uses-old-debhelper-compat-version 11
P: bung source: uses-debhelper-compat-file

Others (partly needs to be checked if valid)
I: bung source: older-debian-watch-file-standard 3
I: bung: possible-documentation-but-no-doc-base-registration

- d/patches/series can be deleted -- there are no patches
- maybe add a d/source/metadata -- see https://wiki.debian.org/UpstreamMetadata
- d/README.Debian is not needed, contains no important infromation. delete it.
- d/changelog targets "UNRELEASED". (Maybe useful: Use dc -r ""  to update it and
  update the timestamp.)
- d/control, package description.
    - The short package description should explain a bit more a bout bung than
    "backup system".
    - The extended description maybe should be not only a bullet point list,
      more free text elaborating a bit more about bung, why one wants it and
      its key features. (I know this is usually quite hard, maybe take a look at
      other packages how this is usually done)

Again, sorry, ENOTIME for a complete review, but you can work on those (small) issues
already :)
  • Created Bug #12372 man pages: fix spelling errors
  • The man page spelling errors were detected by a later version of lintian than I was using. https://packages.debian.org/search?keywords=lintian&searchon=names&suite=all&section=all showed the latest version is 2.104.0 and it is available from buster-backports. Upgraded all the related tools
    root@cw11.iciti.av:~# apt -t buster-backports install lintian
    ...
    The following NEW packages will be installed:
      libaliased-perl libb-hooks-endofscope-perl libclass-data-inheritable-perl libclass-xsaccessor-perl libconfig-tiny-perl libcpanel-json-xs-perl libdata-dpath-perl libdata-messagepack-perl
      libdata-optlist-perl libdata-validate-domain-perl libdevel-size-perl libdevel-stacktrace-perl libemail-address-xs-perl libexception-class-perl libfile-find-rule-perl libfont-ttf-perl
      libhtml-html5-entities-perl libipc-run3-perl libiterator-perl libiterator-util-perl libjson-maybexs-perl liblist-compare-perl liblist-utilsby-perl libmarkdown2
      libmodule-implementation-perl libmoox-aliases-perl libmouse-perl libnamespace-clean-perl libnumber-compare-perl libpackage-stash-perl libparams-util-perl libperlio-gzip-perl
      libproc-processtable-perl libsereal-decoder-perl libsereal-encoder-perl libsub-exporter-perl libsub-identify-perl libsub-install-perl libtext-glob-perl libtext-levenshteinxs-perl
      libtext-markdown-discount-perl libtext-xslate-perl libtime-duration-perl libtime-moment-perl libtype-tiny-perl libunicode-utf8-perl libvariable-magic-perl
    The following packages will be upgraded:
      lintian
    ...
    root@cw11.iciti.av:~# apt -t buster-backports install debhelper debmake
    ...
    The following NEW packages will be installed:
      libdebhelper-perl
    The following packages will be upgraded:
      debhelper dwz
    ...
    
  • "A spare manpage". Not understood. If it is about not relating to an executable, why not same for "bung.common (5)"?
  • out-of-date-standards-version. https://www.debian.org/doc/debian-policy/upgrading-checklist.html. Read "Version 4.1.5" and later notes. Decided to simply try it and refer to the page when resolving any policy violations
  • "package-uses-old-debhelper-compat-version 11". After the package upgrade, found debhelper was version 13
    root@cw11.iciti.av:~# aptitude show debhelper
    ...                      
    Version: 13.3.3~bpo10+1
    ...
    
  • "older-debian-watch-file-standard 3" relates to bung3/source build/bung-3.0.7/debian/watch. From https://wiki.debian.org/debian/watch "The file named watch in the debian directory is used to check for newer versions of upstream software is available and to download it if necessary". Not required. Try removing that file
  • possible-documentation-but-no-doc-base-registration. Fromhttps://wiki.debian.org/doc-base "The doc-base package implements a flexible mechanism for handling and presenting documentation. The recommended practice is for every Debian package that provides online documentation (other than just manual pages) to register these documents with doc-base by installing a doc-base control file via the install-docs script at installation time and de-register the manuals again when the package is removed. ... Developers should refer to the documentation that comes with the doc-base package for information and details. (read /usr/share/doc/doc-base/doc-base.html/index.html)". No such file so
    root@cw11.iciti.av:~# apt install doc-base
    ...
    The following NEW packages will be installed:
      doc-base libuuid-perl libyaml-tiny-perl
    ...
    
    Was then able to open file:///usr/share/doc/doc-base/doc-base.html/index.html. Much work to do
  • "d/patches/series can be deleted". OK
  • "d/README.Debian is not needed, contains no important infromation. delete it". OK
  • "maybe add a d/source/metadata". From https://wiki.debian.org/UpstreamMetadata "This is an effort to collect meta-information about upstream projects in a file called debian/upstream/metadata in the source packages maintained in a publicly accessible version control system (VCSug)". The bung git repo is not publicly accessible so metadata cannot be implemented
  • "d/changelog targets "UNRELEASED". (Maybe useful: Use dc -r "" to update it and update the timestamp.)"
    c@cw11:~$ dc
    bash: dc: command not found
    
    From https://packages.debian.org/search?keywords=dc&searchon=names&suite=all&section=all "GNU dc arbitrary precision reverse-polish calculator" but that has no -r option. dc is shorthand for one of the package building tools? Whatever, updating timestamps is trivial and is seldom done
  • d/control, package description. Agh! I have revised the package description so many times, most recently last week. When it is changed, it has to be changed in (so requires a new release of bung. Created Task #12373 User Guide and debian/control: revise bung description)
    • User Guide > Overview and thence in the HTML and .pdf versions
    • source/usr/share/doc/bung/README
    • debian/control

#37 Updated by Charles Atkinson 4 months ago

Tobias Frost's suggestions

Orient

bung-3.0.8 was not ready yet (pending feedback on Task #12373: User Guide and debian/control: revise bung description)

Source package bung-3.0.8-1

Create tree

Finished creating procedure in "nextcloud/bung/3.0/Backup scripts next generation 3.0.x Programmer's Guide.odt" and used it

c@cw11:~$ old_bung_ver=3.0.7
c@cw11:~$ old_pack_ver=2
c@cw11:~$ bung_ver=3.0.8
c@cw11:~$ pack_ver=1
c@cw11:~$ old_bung_ver_regex=${old_bung_ver//./\\.}
c@cw11:~$ timestamp_regex='[A-Z][a-z]{2}, [0-9]* [A-Z][a-z]{2} [0-9]{4} [0-9:]{8} [-+0-9]*'
c@cw11:~$ doc_dir='/home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/'
c@cw11:~$ git_dir='/home/c/d/Auroville/Blue Light/bung3'
c@cw11:~$ cd "$git_dir/source build" \
    && git pull \
    && mkdir -p bung-$bung_ver-$pack_ver \
    && rsync -a bung-$old_bung_ver-$old_pack_ver/debian/ \
        bung-$bung_ver-$pack_ver/debian \
    && cd bung-$bung_ver-$pack_ver/debian \
    && sed --in-place "s/$old_bung_ver_regex/$bung_ver/g" \
        $(grep --files-with-matches "$old_bung_ver_regex" * 2>/dev/null) \
    && sed --regexp-extended --in-place "s/$timestamp_regex/$(date '+%a, %d %b %Y %X %z')/" \
        $(grep --extended-regexp --files-with-matches "$timestamp_regex" * 2>/dev/null)

Version updates

master c@cw11:~/.../source build/bung-3.0.8-1/debian$ sed -i 's/11/13/' compat

Removals

master c@cw11:~/.../source build/bung-3.0.8-1/debian$ rm watch
master c@cw11:~/.../source build/bung-3.0.8-1/debian$ rm patches/series
master c@cw11:~/.../source build/bung-3.0.8-1/debian$ rm README.Debian

doc-base

Doc file:///usr/share/doc/doc-base/doc-base.html/index.html

From the doc "In order to register a piece of online documentation to doc-base, all the package needs to do is installing the control file ... as file /usr/share/doc-base/document-id. "

Decided document IDs bung-user-guide and bung-programmers-guide

Found control file examples in /var/lib/doc-base/documents. Decided control file contents (here was no "Format" for .odt files at file:///usr/share/doc/doc-base/doc-base.html/interface.html#s2.3.2 > "2.3.2.2. Format sections")

Document: bung-user-guide
Title: Backup scripts next generation 3.0.x User Guide
Abstract: The bung user guide
Section: System/Administration

Format: HTML
/usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.html

Format: PDF
/usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.pdf.gz

Format: Text
/usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.odt
and
Document: bung-programmers-guide
Title: Backup scripts next generation 3.0.x Programmer's Guide
Abstract: The bung programmer's guide
Section: System/Administration

Format: HTML
Files: /usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.html

Format: PDF
Files: /usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.pdf.gz

Format: Text
/usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.odt
Tried creating and registering. After debugging
root@cw11.iciti.av:~# cat /var/lib/doc-base/documents/bung-user-guide
Document: bung-user-guide
Title: Backup scripts next generation 3.0.x User Guide
Abstract: The bung user guide
Section: System/Administration

Format: HTML
Index: /usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.html
Files: /usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.html

Format: PDF
Files: /usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.pdf.gz

Format: Text
Files: /usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.odt
root@cw11.iciti.av:~# install-docs --verbose --check /var/lib/doc-base/documents/bung-user-guide
...
Was able to make Files paths with spaces pass checking by changing spaces to * (single quotes, double quotes, backslash escape did not work) but that did not work for the HTML's Index. Worked around by removing the HTML stanza
root@cw11.iciti.av:~# cat /var/lib/doc-base/documents/bung-user-guide
Document: bung-user-guide
Title: Backup scripts next generation 3.0.x User Guide
Abstract: The bung user guide
Section: System/Administration

Format: PDF
Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*User*Guide*pdf*gz

Format: Text
Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*User*Guide*odt
root@cw11.iciti.av:~# install-docs --verbose --check /var/lib/doc-base/documents/bung-user-guide
/var/lib/doc-base/documents/bung-user-guide: No problems found.
Similarly for the Programmer's Guide
root@cw11.iciti.av:~# cat /var/lib/doc-base/documents/bung-programmers-guide
Document: bung-programmers-guide
Title: Backup scripts next generation 3.0.x Programmer's Guide
Abstract: The bung user guide
Section: System/Administration

Format: PDF
Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*Programmer's*Guide*pdf*gz

Format: Text
Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*Programmer's*Guide*odt
root@cw11.iciti.av:~# install-docs --verbose --check /var/lib/doc-base/documents/bung-programmers-guide 
/var/lib/doc-base/documents/bung-programmers-guide: No problems found.
Install
root@cw11.iciti.av:~# install-docs --verbose --install /var/lib/doc-base/documents/bung-user-guide
root@cw11.iciti.av:~# install-docs --verbose --install /var/lib/doc-base/documents/bung-programmers-guide 
How to test? https://wiki.debian.org/doc-base lists doc-base clients. Two of them did not exist and none of them were installed
root@cw11.iciti.av:~# aptitude search dhelp doc-central dochelp dwww khelpcenter4 yelp\$ 
p   doc-central                                                                            - web-based documentation browser                                                                 
p   dochelp                                                                                - Utility to browse system documentation                                                          
p   dwww                                                                                   - Read all on-line documentation with a WWW browser                                               
p   yelp                                                                                   - Help browser for GNOME 
Installed the non-GNOME ones
root@cw11.iciti.av:~# apt install doc-central dochelp dwww
...
The following NEW packages will be installed:
  doc-central dochelp dwww info2www libfile-ncopy-perl
...
Menu > Development > Dochelp. Searched all sections for bung. No hits

From file:///usr/share/doc/doc-base/doc-base.html/interface.html#registering-documents

In order to register a piece of online documentation to doc-base, all the package needs to do is installing the control file (see Section 2.3, “Control Files”) as file /usr/share/doc-base/document-id.
.
Further processing of the control file is handled by a dpkg trigger (cf. /usr/share/doc/dpkg/triggers.txt.gz) provided by doc-base. The trigger will call install-docs to generate /var/lib/doc-base/documents/<document-id> file and register the online manuals to dwww, dhelp, and scrollkeeper when the package is installed, and de-register the manuals when the package is removed.

Ah! I had installed directly in /var/lib/doc-base/documents

Started over

root@cw11.iciti.av:~# install-docs --verbose --remove /var/lib/doc-base/documents/bung-user-guide
Ignoring unregistered file `/var/lib/doc-base/documents/bung-user-guide'.
root@cw11.iciti.av:~# install-docs --verbose --remove /var/lib/doc-base/documents/bung-programmers-guide
Ignoring unregistered file `/var/lib/doc-base/documents/bung-programmers-guide'.
root@cw11.iciti.av:~# rm /var/lib/doc-base/documents/bung-*
root@cw11.iciti.av:~# echo 'Document: bung-user-guide
Title: Backup scripts next generation 3.0.x User Guide
Abstract: The bung user guide
Section: System/Administration

Format: PDF
Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*User*Guide*pdf*gz

Format: Text
Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*User*Guide*odt' > /usr/share/doc-base/bung-user-guide
root@cw11.iciti.av:~# echo "Document: bung-programmers-guide
> Title: Backup scripts next generation 3.0.x Programmer's Guide
> Abstract: The bung user guide
> Section: System/Administration
> 
> Format: PDF
> Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*Programmer's*Guide*pdf*gz
> 
> Format: Text
> Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*Programmer's*Guide*odt" > /usr/share/doc-base/bung-programmers-guide
Test (failed)
root@cw11.iciti.av:~# install-docs --status bung-programmers-guide
Document `bung-programmers-guide' is not registered.
root@cw11.iciti.av:~# install-docs --status /usr/share/doc-base/bung-programmers-guide
Document `/usr/share/doc-base/bung-programmers-guide' is not registered.
root@cw11.iciti.av:~# install-docs --status /var/lib/doc-base/documents/bung-programmers-guide
Document `/var/lib/doc-base/documents/bung-programmers-guide' is not registered.
Searched for "doc-base" "Document is not registered"
Only relevant hit (not a solution, mostly people saying nobody uses doc-base): Discussion of lintian and doc-base (it's not popular) https://linux.debian.policy.narkive.com/l4PgqvR5/bug-910783-remove-doc-base-recommendation

Confirmed /usr/share/doc-base/bung-* had been created with same ownership and perms as other /usr/share/doc-base/* files and the intended content. Why had they not been automatically installed according to "Further processing of the control file is handled by a dpkg trigger (cf. /usr/share/doc/dpkg/triggers.txt.gz) provided by doc-base. The trigger will call install-docs to generate /var/lib/doc-base/documents/<document-id> file and register the online manuals to dwww, dhelp, and scrollkeeper when the package is installed, and de-register the manuals when the package is removed."? /usr/share/doc/dpkg/triggers.txt.gz did not exist

Tried manual install (hopefully same as register)
root@cw11.iciti.av:~# install-docs --verbose --install /usr/share/doc-base/bung-user-guide
Registering documents with dwww...
root@cw11.iciti.av:~# install-docs --verbose --status bung-user-guide
---document-information---
Document: bung-user-guide
Section: System/Administration
Title: Backup scripts next generation 3.0.x User Guide
Abstract: The bung user guide

---format-description---
Format: PDF
Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*User*Guide*pdf*gz

---format-description---
Format: Text
Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*User*Guide*odt

---status-information---
Control-File: /usr/share/doc-base/bung-user-guide (changed: Tue Jun 22 08:48:05 2021)
root@cw11.iciti.av:~# install-docs --verbose --install /usr/share/doc-base/bung-programmers-guide
Registering documents with dwww...
Menu > Accessories > Debian Documentation Browser > http://cw11.iciti.av/dwww/ > 404
root@cw11.iciti.av:~# dpkg -L dwww
...
/etc/apache2/conf-available
/etc/apache2/conf-available/dwww.conf
[no nginx support]
Conclusions
  • doc-base does not work as documented
  • dwww is incomplete
  • Not worth trying to do something functional in this immature and seldom used environment
  • Can keep lintian happy by postinst creating and postrm removing /usr/share/doc-base/bung-{user,programmers}-guide
Looked for an example of installing /usr/share/doc-base/* file(s), based on the files in cw11.iciti.av:/usr/share/doc-base
root@cw11.iciti.av:~# diff /etc/apt/sources.list{.bu0,}
11a12,16
> deb-src http://security.debian.org/ buster/updates main contrib non-free
> deb-src http://ftp.de.debian.org/debian/ buster main contrib non-free
> deb-src http://ftp.de.debian.org/debian/ buster-updates main contrib non-free
> deb-src http://ftp.de.debian.org/debian/ buster-backports main contrib non-free
> 
root@cw11.iciti.av:~# apt update
...
c@cw11:~$ apt-get source automake
...
c@cw11:~$ apt-get source bc
...
In
  • automake-1.16_1.16.1-4.debian.tar.xz
    • debian/automake.doc-base. Same content as /usr/share/doc-base/automake-1.16
    • Did not find how debian/automake.doc-base was copied to /usr/share/doc-base/automake-1.16. Automatic?
  • bc_1.07.1-2.debian.tar.xz
    • debian/bc.doc-base and debian/dc.doc-base
    • Did not find how they were copied with a different name to /usr/share/doc-base
  • nano_3.2-3.debian.tar.xz
    • debian/nano.doc-base.faq and nano.doc-base.manual

From the dh_installdocs man page

       debian/package.doc-base
           Installed as doc-base control files. Note that the doc-id will be determined from the Document: entry in the doc-base control file in question. In the event that multiple
           doc-base files in a single source package share the same doc-id, they will be installed to usr/share/doc-base/package instead of usr/share/doc-base/doc-id.

       debian/package.doc-base.*
           If your package needs to register more than one document, you need multiple doc-base files, and can name them like this.
In bung's case there is only one package so the "package." is probably not required.

Finally implementation was simple

master c@cw11:~/.../source build/bung-3.0.8-1/debian$ echo 'Document: bung-user-guide
Title: Backup scripts next generation 3.0.x User Guide
Abstract: The bung user guide
Section: System/Administration

Format: PDF
Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*User*Guide*pdf*gz

Format: Text
Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*User*Guide*odt' > doc-base.user
master c@cw11:~/.../source build/bung-3.0.8-1/debian$ echo "Document: bung-programmers-guide
Title: Backup scripts next generation 3.0.x Programmer's Guide
Abstract: The bung programmer's guide
Section: System/Administration

Format: PDF
Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*Programmer's*Guide*pdf*gz

Format: Text
Files: /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*Programmer's*Guide*odt" > doc-base.programmers

Next

  • When Task #12373 "User Guide and debian/control: revise bung description" is done, follow the release procedure
  • Update Bug#983146
    • Change title to RFS: bung/3.0.8-1 [ITP] -- backup next generation
    • Reply to Tobias Frost's comment. Suggestions incorporated except
      • Regards d/source/metadata, the bung git repo is not (yet) publicly accessible so metadata cannot be implemented
      • Regards d/changelog, I did not understand the suggestion and did not identify the dc -r "" command

#38 Updated by Charles Atkinson 4 months ago

Test+debug build

Bung version increment

Task #12373 "User Guide and debian/control: revise bung description" was not yet done but can test and debug the package builds with a temporary 3.0.8 tarball

master c@cw11:~/d/Auroville/Blue Light/bung3$ diff source/usr/lib/bung/version.scrippet{.bu3,}
1c1
< script_ver=3.0.7
---
> script_ver=3.0.8

Tarball

doc_dir='/home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0'
git_dir='/home/c/d/Auroville/Blue Light/bung3'
upstream_tarball_dir='/home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0'
tmp_dir=$(mktemp -d /tmp/bung.XXXXXXXXXX)
cd "$git_dir" \
    && version=$(<source/usr/lib/bung/version.scrippet) \
    && version=${version#*=} \
    && mkdir $tmp_dir/bung-$version \
    && rsync -a source/ $tmp_dir/bung-$version \
    && cd $tmp_dir \
    && find \( -name '*.org' -o -name '*.bu[0-9]' -o -name '*~' \) -delete \
    && for section in 5 8
    do
        for f in bung-$version/usr/share/man/man$section/*.$section
        do
            echo === $f ===
            gzip -9 --to-stdout $f > $f.gz
            rm "$f" 
        done 
   done \
   && cp -p $doc_dir/*Guide.{html,odt,pdf} $tmp_dir/bung-$version/usr/share/doc/bung \
   && cd $tmp_dir \
   && tar cvz -f $upstream_tarball_dir/bung_$version.tar.gz .

Package build

doc_dir='/home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/'
git_dir='/home/c/d/Auroville/Blue Light/bung3'
upstream_tarball_dir='/home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/'
pack_ver=1
tmp_dir=$(mktemp -d /tmp/bung.XXXXXXXXXX)
cd "$git_dir" \
    && bung_ver=$(<source/usr/lib/bung/version.scrippet) \
    && bung_ver=${version#*=} \
    && mkdir $tmp_dir/bung-$bung_ver \
    && rsync -a "$git_dir/source/" $tmp_dir/bung-$bung_ver \
    && cp -p $upstream_tarball_dir/bung_$bung_ver.tar.gz $tmp_dir/bung_$bung_ver.orig.tar.gz \
    && cd $tmp_dir/bung-$bung_ver \
    && rsync -a "$git_dir/source build/bung-$bung_ver-$pack_ver/debian/" debian \
    && find \( -name '*.org' -o -name '*.bu[0-9]' -o -name '*~' \) -delete \
    && for section in 5 8
    do
        for f in usr/share/man/man$section/*.$section
        do
            echo === $f ===
            gzip -9 --to-stdout $f > $f.gz
            rm "$f" 
        done
    done \
    && debuild
...
Now running lintian bung_3.0.8-1_amd64.changes ...
E: bung: doc-base-file-references-missing-file bung-programmers-guide:10 /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*Programmer's*Guide*odt
E: bung: doc-base-file-references-missing-file bung-programmers-guide:7 /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*Programmer's*Guide*pdf*gz
E: bung: doc-base-file-references-missing-file bung-user-guide:10 /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*User*Guide*odt
E: bung: doc-base-file-references-missing-file bung-user-guide:7 /usr/share/doc/bung/Backup*scripts*next*generation*3*0*x*User*Guide*pdf*gz
W: bung source: package-needs-versioned-debhelper-build-depends 13

Next

  • Task #12373 "User Guide and debian/control: revise bung description"
  • In Debian version, replace spaces in .html, .odt and .pdf file names with _
  • Restore README.Debian noting the above
  • Add .html files to the doc-base files
  • Fix "bung source: package-needs-versioned-debhelper-build-depends 13"

#39 Updated by Charles Atkinson 4 months ago

Task #12373 "User Guide and debian/control: revise bung description"

Completed except for commit which will be done after running lintian

In Debian version, replace spaces in .html, .odt and .pdf file names with _

Updated the commands to

doc_dir='/home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/'
git_dir='/home/c/d/Auroville/Blue Light/bung3'
upstream_tarball_dir='/home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/'
pack_ver=1
tmp_dir=$(mktemp -d /tmp/bung.XXXXXXXXXX)
cd "$git_dir" \
    && bung_ver=$(<source/usr/lib/bung/version.scrippet) \
    && bung_ver=${version#*=} \
    && mkdir $tmp_dir/bung-$bung_ver \
    && rsync -a "$git_dir/source/" $tmp_dir/bung-$bung_ver \
    && cp -p $upstream_tarball_dir/bung_$bung_ver.tar.gz $tmp_dir/bung_$bung_ver.orig.tar.gz \
    && cd $tmp_dir/bung-$bung_ver \
    && rsync -a "$git_dir/source build/bung-$bung_ver-$pack_ver/debian/" debian \
    && find \( -name '*.org' -o -name '*.bu[0-9]' -o -name '*~' \) -delete \
    && for section in 5 8
    do
        for f in usr/share/man/man$section/*.$section
        do
            echo === $f ===
            gzip -9 --to-stdout $f > $f.gz
            rm "$f" 
        done
    done \
    && cp -p $doc_dir/*Guide.{html,odt,pdf} $tmp_dir/bung-$bung_ver/usr/share/doc/bung \
    && for fn in $tmp_dir/bung-$bung_ver/usr/share/doc/bung/*.{html,odt,pdf}
    do
        mv "$fn" "${fn// /_}" 
    done \
    && debuild

Restore README.Debian

master c@cw11:~/d/Auroville/Blue Light/bung3$ cat 'source build/bung-3.0.8-1/debian/README.Debian'
bung for Debian

This package is identical to upstream bung except that spaces in filenames
under /usr/share/doc/bung have been replaced by underscores because doc-base
does not support spaces in file names

 --  <>  Tue, 22 Jun 2021 07:08:08 +0530

Add .html files to the doc-base files

master c@cw11:~/d/Auroville/Blue Light/bung3$ cat 'source build/bung-3.0.8-1/debian/doc-base.programmers'
Document: bung-programmers-guide
Title: Backup scripts next generation 3.0.x Programmer's Guide
Abstract: The bung programmer's guide
Section: System/Administration

Format: HTML
Index: /usr/share/doc/bung/Backup_scripts_next_generation_3_0_x_Programmer's_Guide.html
Files: /usr/share/doc/bung/Backup_scripts_next_generation_3_0_x_Programmer's_Guide.html

Format: PDF
Files: /usr/share/doc/bung/Backup_scripts_next_generation_3_0_x_Programmer's_Guide.pdf.gz

Format: Text
Files: /usr/share/doc/bung/Backup_scripts_next_generation_3_0_x_Programmer's_Guide.odt
master c@cw11:~/d/Auroville/Blue Light/bung3$ cat 'source build/bung-3.0.8-1/debian/doc-base.user'
Document: bung-user-guide
Title: Backup scripts next generation 3.0.x User Guide
Abstract: The bung user guide
Section: System/Administration

Format: HTML
Index: /usr/share/doc/bung/Backup_scripts_next_generation_3_0_x_User_Guide.html
Files: /usr/share/doc/bung/Backup_scripts_next_generation_3_0_x_User_Guide.html

Format: PDF
Files: /usr/share/doc/bung/Backup_scripts_next_generation_3_0_x_User_Guide.pdf.gz

Format: Text
Files: /usr/share/doc/bung/Backup_scripts_next_generation_3_0_x_User_Guide.odt

Test+debug

Command

doc_dir='/home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/'
git_dir='/home/c/d/Auroville/Blue Light/bung3'
upstream_tarball_dir='/home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/'
pack_ver=1
tmp_dir=$(mktemp -d /tmp/bung.XXXXXXXXXX)
cd "$git_dir" \
    && bung_ver=$(<source/usr/lib/bung/version.scrippet) \
    && bung_ver=${version#*=} \
    && mkdir $tmp_dir/bung-$bung_ver \
    && rsync -a "$git_dir/source/" $tmp_dir/bung-$bung_ver \
    && cp -p $upstream_tarball_dir/bung_$bung_ver.tar.gz $tmp_dir/bung_$bung_ver.orig.tar.gz \
    && cd $tmp_dir/bung-$bung_ver \
    && rsync -a "$git_dir/source build/bung-$bung_ver-$pack_ver/debian/" debian \
    && find \( -name '*.org' -o -name '*.bu[0-9]' -o -name '*~' \) -delete \
    && for section in 5 8
    do
        for f in usr/share/man/man$section/*.$section
        do
            echo === $f ===
            gzip -9 --to-stdout $f > $f.gz
            rm "$f" 
        done
    done \
    && cp -p $doc_dir/*Guide.{html,odt,pdf} $tmp_dir/bung-$bung_ver/usr/share/doc/bung \
    && for fn in $tmp_dir/bung-$bung_ver/usr/share/doc/bung/*.{html,odt,pdf}
    do
        mv "$fn" "${fn// /_}" 
    done \
    && debuild

dpkg-source: warning: ignoring deletion of file

dpkg-source: info: building bung using existing ./bung_3.0.8.orig.tar.gz
dpkg-source: warning: ignoring deletion of file usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.html, use --include-removal to override
Fix
master c@cw11:~/d/Auroville/Blue Light/bung3$ cat 'source build/bung-3.0.8-1/debian/source/options'
# dpkg-source options

# Doc: dpkg-source man page

# Required because usr/share/doc/bung/*.{html,odt.pdf} filenames have spaces in
# the upstream tarball which must be replaced by underscores in the Debian 
# package because doc-base does not support spaces in file names
include-removal

dpkg-source: error: cannot represent change

dpkg-source: info: building bung using existing ./bung_3.0.8.orig.tar.gz
dpkg-source: warning: file /dev/null has no final newline (either original or modified version)
dpkg-source: error: cannot represent change to usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.odt: binary file contents changed
dpkg-source: error: add usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.odt in debian/source/include-binaries if you want to store the modified binary in the debian tarball
Did not understand "dpkg-source: warning: file /dev/null has no final newline" and searching found no hits

Fix

master c@cw11:~/d/Auroville/Blue Light/bung3$ cat 'source build/bung-3.0.8-1/debian/source/include-binaries'
usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.odt
usr/share/doc/bung/Backup_scripts_next_generation_3.0.x_Programmer's_Guide.odt
usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.pdf
usr/share/doc/bung/Backup_scripts_next_generation_3.0.x_Programmer's_Guide.pdf
usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.odt
usr/share/doc/bung/Backup_scripts_next_generation_3.0.x_User_Guide.odt
usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.pdf
usr/share/doc/bung/Backup_scripts_next_generation_3.0.x_User_Guide.pdf

#40 Updated by Charles Atkinson 4 months ago

Test+debug (continued)

unexpected upstream changes

Added a final newline to the .html files. Then (no "dpkg-source: warning: file /dev/null has no final newline")

dpkg-source: info: building bung using existing ./bung_3.0.8.orig.tar.gz
dpkg-source: info: local changes detected, the modified files are:
 bung-3.0.8/usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.html
 bung-3.0.8/usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.html
 bung-3.0.8/usr/share/doc/bung/Backup_scripts_next_generation_3.0.x_Programmer's_Guide.html
 bung-3.0.8/usr/share/doc/bung/Backup_scripts_next_generation_3.0.x_User_Guide.html
dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/bung_3.0.8-1.diff.fIQ6KE
dpkg-source: info: you can integrate the local changes with dpkg-source --commit
dpkg-buildpackage: error: dpkg-source -b . subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui failed
From /tmp/bung_3.0.8-1.diff.fIQ6KE (looks like unified diff output)
--- bung-3.0.8.orig/usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.html 
+++ /dev/null
Searching confirmed that "+++ /dev/null" means a file which does not exist. The .html files exist in the upstream tarball and do not exist in the build directory (because the spaces in their names have been replaced by _)

Tried doing as suggested but it created a 1+ MB patch file

c@cw11:/tmp/bung.OD0RgRC6Zj/bung-3.0.8$ dpkg-source --commit
dpkg-source: info: using options from bung-3.0.8/debian/source/options: --include-removal
dpkg-source: info: local changes detected, the modified files are:
 bung-3.0.8/usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.html
 bung-3.0.8/usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.html
 bung-3.0.8/usr/share/doc/bung/Backup_scripts_next_generation_3.0.x_Programmer's_Guide.html
 bung-3.0.8/usr/share/doc/bung/Backup_scripts_next_generation_3.0.x_User_Guide.html
dpkg-source: info: adding ../../../dev/null to debian/source/include-binaries
Enter the desired patch name: filename_spaces_to_underscores
dpkg-source: info: local changes have been recorded in a new patch: bung-3.0.8/debian/patches/filename_spaces_to_underscores
c@cw11:/tmp/bung.OD0RgRC6Zj/bung-3.0.8$ ll bung-3.0.8/debian/patches/filename_spaces_to_underscores
ls: cannot access 'bung-3.0.8/debian/patches/filename_spaces_to_underscores': No such file or directory
c@cw11:/tmp/bung.OD0RgRC6Zj/bung-3.0.8$ ll debian/patches/filename_spaces_to_underscores
-rw-r--r-- 1 c c 1.1M Jun 25 08:25 debian/patches/filename_spaces_to_underscores
Added the .html files to git:"source build/bung-3.0.8-1/debian/source/include-binaries". Same

Why are the messages only about .html files? The .odt and .pdf files are similar. Maybe because the .html files are text based, not binary

Removed the .html files from the tarball and the build. Tested

dpkg-source: info: building bung using existing ./bung_3.0.8.orig.tar.gz
dpkg-source: info: building bung in bung_3.0.8-1.debian.tar.xz
tar: usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.odt: Cannot stat: No such file or directory
tar: usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.pdf: Cannot stat: No such file or directory
tar: usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.odt: Cannot stat: No such file or directory
tar: usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.pdf: Cannot stat: No such file or directory
Investigate
c@cw11:/tmp/bung.7pJW0sSazq/bung-3.0.8$ ll usr/share/doc/bung/
total 628K
...
-rw-r--r-- 1 c c  40K Jun 24 13:10 "Backup_scripts_next_generation_3.0.x_Programmer's_Guide.odt" 
-rw-r--r-- 1 c c 181K Jun 24 08:28 "Backup_scripts_next_generation_3.0.x_Programmer's_Guide.pdf" 
-rw-r--r-- 1 c c  57K Jun 24 06:58  Backup_scripts_next_generation_3.0.x_User_Guide.odt
-rw-r--r-- 1 c c 269K Jun 24 06:55  Backup_scripts_next_generation_3.0.x_User_Guide.pdf
...
Removed them from git:"source build/bung-3.0.8-1/debian/source/include-binaries". Tested
dpkg-source: info: building bung using existing ./bung_3.0.8.orig.tar.gz
dpkg-source: error: cannot represent change to usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.odt: binary file contents changed
dpkg-source: error: add usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.odt in debian/source/include-binaries if you want to store the modified binary in the debian tarball
[similar for the other .odt and .pdf Guides with spaces in the names]

#41 Updated by Charles Atkinson 4 months ago

Orient

Gave up doc-base
  • No "Format" for .odt files. Ref file:///usr/share/doc/doc-base/doc-base.html/interface.html#s2.3.2 > "2.3.2.2. Format sections". Maybe OK to use Text format, maybe not
  • No support for spaces in file names. file:///usr/share/doc/doc-base/doc-base.html/interface.html#s2.3.2 > "2.3.2.2. Format sections" > Files does not define the requirements/restrictions. Tried single and double quotes and backslash. Worked around by using glob expressions
  • HTML requires Index entry for a single file HTML document
  • https://wiki.debian.org/doc-base lists doc-base clients. Used https://www.debian.org/distrib/packages to search for them
    • dochelp did not find the bung entries. Because of the globs?
    • dwww required running Apache. Not convenient
    • dhelp not packaged for Buster
    • doc-central required running Apache. Not convenient
    • yelp did not list any doc-base documents
    • khelpcenter4 not packaged after Stretch
  • file:///usr/share/doc/doc-base/doc-base.html/interface.html refers to /usr/share/doc/dpkg/triggers.txt.gz but it did not exist
  • From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=910783 "Remove doc-base recommendation"

However, it is clear that we do not think a lack of doc-base registration is a bug of severity greater than wishlist, which is what the current Policy wording implies

  • Concluded doc-base is immature and seldom used
  • When globs were used in doc-base File values, lintian generated doc-base-file-references-missing-file
  • Tried to work around the need for globs by changing file names' spaces to underscores during the build
  • Then dpkg-source generated "warning: ignoring deletion of file" for each renamed file in the upstream tarball
  • Tried to work around by creating debian/source/options with include-removal
  • Then dpkg-source generated "error: aborting due to unexpected upstream changes"
  • Tried using dpkg-source --commit as suggested but got a 1 MB patch file

Backing out doc-base

git

In "source build/bung-3.0.8-1/debian"
  • Removed
    • README.Debian
    • doc-base.programmers
    • doc-base.user
    • source/options
  • Reverted /include-binaries to
    usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.odt
    usr/share/doc/bung/Backup scripts next generation 3.0.x Programmer's Guide.pdf
    usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.odt
    usr/share/doc/bung/Backup scripts next generation 3.0.x User Guide.pdf
    

Programmer's Guide

In section "Create the .deb etc." removed

&& for fn in usr/share/doc/bung/*.{html,odt,pdf}
    do
        mv "$fn" "${fn// /_}" 
    done \

debuild test and debug

doc_dir='/home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/'
git_dir='/home/c/d/Auroville/Blue Light/bung3'
upstream_tarball_dir='/home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/'
pack_ver=1
tmp_dir=$(mktemp -d /tmp/bung.XXXXXXXXXX)
bung_ver=$(sed 's/.*=//' "$git_dir/source/usr/lib/bung/version.scrippet")
mkdir $tmp_dir/bung-$bung_ver \
    && rsync -a "$git_dir/source/" $tmp_dir/bung-$bung_ver \
    && cp -p $upstream_tarball_dir/bung_$bung_ver.tar.gz $tmp_dir/bung_$bung_ver.orig.tar.gz \
    && cd $tmp_dir/bung-$bung_ver \
    && rsync -a "$git_dir/source build/bung-$bung_ver-$pack_ver/debian/" debian \
    && find \( -name '*.org' -o -name '*.bu[0-9]' -o -name '*~' \) -delete \
    && for section in 5 8
    do
        for f in usr/share/man/man$section/*.$section
        do
            echo === $f ===
            gzip -9 --to-stdout $f > $f.gz
            rm "$f" 
        done
    done \
    && cp -p $doc_dir/*Guide.{odt,pdf} usr/share/doc/bung \
    && debuild
Got
Now running lintian bung_3.0.8-1_amd64.changes ...
W: bung: extended-description-line-too-long line 1
W: bung: extended-description-line-too-long line 11
W: bung: extended-description-line-too-long line 3
W: bung: extended-description-line-too-long line 5
W: bung: extended-description-line-too-long line 7
W: bung: extended-description-line-too-long line 9
W: bung source: package-needs-versioned-debhelper-build-depends 13
From https://lintian.debian.org/tags/extended-description-line-too-long "lines in the extended part of the "Description:" field have been found to contain more than 80 characters"

Fixed git:"source build/bung-3.0.8-1/debian/control" by splitting long lines

From https://lintian.debian.org/tags "package-needs-versioned-debhelper-build-depends ➔ renamed to no-versioned-debhelper-prerequisite". From https://lintian.debian.org/tags/no-versioned-debhelper-prerequisite ""

Fixed git:"source build/bung-3.0.8-1/debian/control" by changing 11 to 13 in Build-Depends: debhelper (>=13~)

OK now. Got

Now running lintian bung_3.0.8-1_amd64.changes ...
Finished running lintian.

Signing

c@cw11:/tmp/bung.hDSvdNmFtf/bung-3.0.8$ echo <redacted> | /usr/lib/gnupg/gpg-preset-passphrase --preset 8758F92055F82C6120878376378050D50F3FA57C
c@cw11:/tmp/bung.hDSvdNmFtf/bung-3.0.8$ cd .. \
>    && cp -p *.{deb,debian.tar.xz,dsc,orig.tar.gz} ~ \
>    && cp -p bung_$new_ver* /home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/

Timestamps update

Followed the procedure in "Programmer's Guide" sections
  • 6.3.5 Update man page timestamps
  • 6.5 "Create the source build tree" but, not wanting to re-initialise it from 3.0.7-2, only
    timestamp_regex='[A-Z][a-z]{2}, [0-9]* [A-Z][a-z]{2} [0-9]{4} [0-9:]{8} [-+0-9]*'
    sed --regexp-extended --in-place "s/$timestamp_regex/$(date '+%a, %d %b %Y %X %z')/" \
            $(grep --extended-regexp --files-with-matches "$timestamp_regex" * 2>/dev/null)
    

Programmer's Guide refresh

Followed the procedure in "Programmer's Guide" section 6.7 "Programmer's Guide refresh"

git

Followed the procedure in "Programmer's Guide" section 6.8 "Git commit" except set message Version 3.0.8 and package 3.0.8-1. If doing this again, make separate commits for 3.0.8 and for 3.0.8-1

bung 3.0.8-1 testing

root@cw11.iciti.av:~# dpkg -i ~c/bung_3.0.8-1_all.deb
Further installations logged in Task #11922 "bung 3.0.x: roll out" #11922#note-47

Next

  • In ~24 hours, review result of installations
  • Follow the procedure in "Programmer's Guide" section 7 "Post release"
  • Update Bug#983146
    • Change title to RFS: bung/3.0.8-1 [ITP] -- backup next generation
    • Reply to Tobias Frost's comment. Suggestions incorporated except
      • Regards d/source/metadata, the bung git repo is not (yet) publicly accessible so metadata cannot be implemented
      • Regards d/changelog, I did not understand the suggestion and did not identify the dc -r "" command
      • Regards doc-base, explain reasons for not conforming based on section Orient above

#42 Updated by Charles Atkinson 4 months ago

  • Subject changed from bung: submit to Debian to 6 Jul - bung: submit to Debian

Review

Backups by 3.0.8-1 had run OK.

Remembered had not updated usr/share/doc/bung/NEWS

Fix

Re-ran the release procedure to fix NEWS

"Programmer's Guide" section 7 "Post release"

Done

mentors.debian.net

c@cw11:~/.../nextcloud/bung/3.0$ dput mentors bung_3.0.8-2_amd64.changes
Checking signature on .changes
gpg: /home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/bung_3.0.8-2_amd64.changes: Valid signature from 8F12097C5A0BCA50
Checking signature on .dsc
gpg: /home/c/d/Auroville/Aurinoco/nextcloud/bung/3.0/bung_3.0.8-2.dsc: Valid signature from 8F12097C5A0BCA50
Package includes an .orig.tar.gz file although the debian revision suggests
that it might not be required. Multiple uploads of the .orig.tar.gz may be
rejected by the upload queue management software.
Uploading to mentors (via https to mentors.debian.net):
  Uploading bung_3.0.8-2.dsc: done.
  Uploading bung_3.0.8.orig.tar.gz: done.    
  Uploading bung_3.0.8-2.debian.tar.xz: done.
  Uploading bung_3.0.8-2_all.deb: done.    
  Uploading bung_3.0.8-2_amd64.buildinfo: done.
  Uploading bung_3.0.8-2_amd64.changes: done.
Successfully uploaded packages.

https://mentors.debian.net/packages/my

Bug#983146

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146

Subject: RFS: bung/3.0.7-2 [ITP] -- backup next generation
Date: Tue, 29 Jun 2021 06:58:36 +0530
From: Charles <c@charlesmatkinson.org>
To: control@bugs.debian.org

retitle 983146 RFS: bung/3.0.8-2 [ITP] -- backup next generation
After ~10 min got ack mail and found https://mentors.debian.net/packages/my/ had been updated from 3.0.7-2 to 3.0.8-2 and "Needs a sponsor" was still Yes
Subject: 983146 RFS: bung/3.0.8-2 [ITP] -- backup next generation
Date: Tue, 29 Jun 2021 07:15:02 +0530
From: Charles <c@charlesmatkinson.org>
To: 983146@bugs.debian.org
CC: Debian Mentors <package-sponsorship-requests@lists.debian.org>, Tobias Frost <tobi@debian.org>

Thanks for reviewing, tobi

https://mentors.debian.net/package/bung/ is updated

I fixed all the defects you identified (installed debhelper, debmake, and lintian from buster-backports) except ...

d/source/metadata.  The bung git repo is not (yet) publicly accessible so metadata cannot be implemented

d/changelog.  I did not understand
Maybe useful: Use dc -r ""  to update it and update the timestamp.

doc-base was a challenge and I failed.  The key difficulty was some of bung's docs have spaces in their file names (I believe in making things easy for people rather than computers).  I tried several workarounds but nothing worked.  In case they are of any value, my doc-base notes are below

Best

Charles

doc-base notes
* No "Format" for .odt files.  Ref file:///usr/share/doc/doc-base/doc-base.html/interface.html#s2.3.2 > "2.3.2.2. Format sections".  Maybe OK to use Text format, maybe not
* No support for spaces in file names. file:///usr/share/doc/doc-base/doc-base.html/interface.html#s2.3.2 > "2.3.2.2. Format sections" > Files does not define the requirements/restrictions. Tried single and double quotes and backslash.  Worked around by using glob expressions
* https://wiki.debian.org/doc-base lists doc-base clients. Used https://www.debian.org/distrib/packages to search for them
** dochelp did not find the bung entries.  Because of the globs?
** dwww required running Apache.  Not convenient
** dhelp not packaged for Buster
** doc-central required running Apache.  Not convenient
** yelp did not list any doc-base documents
** khelpcenter4 not packaged after Stretch
* file:///usr/share/doc/doc-base/doc-base.html/interface.html refers to /usr/share/doc/dpkg/triggers.txt.gz but it did not exist
* From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=910783 "Remove doc-base recommendation" 
> However, it is clear that we do not think a lack of doc-base 
registration is a bug of severity greater than wishlist, which is what the current Policy wording implies
* When globs were used in doc-base File values, lintian generated doc-base-file-references-missing-file
* Tried to work around the need for globs by changing file names' spaces to underscores during the build
* Then dpkg-source generated "warning: ignoring deletion of file" for each renamed file in the upstream tarball
* Tried to work around by creating debian/source/options with include-removal
* Then dpkg-source generated "error: aborting due to unexpected upstream changes" 
* Tried using dpkg-source --commit as suggested but got a 1 MB patch file
After ~10 min https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146 had been updated by that mail

git

Commits bung3|af391856 (NEWS) and bung3|29e105b9 (build 3.0.8-2)

Next

#43 Updated by Charles Atkinson about 2 months ago

  • Subject changed from 6 Jul - bung: submit to Debian to 16 Sep - bung: submit to Debian

#44 Updated by Charles Atkinson 23 days ago

  • Subject changed from 16 Sep - bung: submit to Debian to 22 Oct - bung: submit to Debian

mentors.debian.net

dput setup

root@CW10:~# apt install dput
...
The following NEW packages will be installed:
  dput python3-gpg
...
c@CW10:~$ cat .dput.cf
[mentors]
fqdn = mentors.debian.net
incoming = /upload
method = https
allow_unsigned_uploads = 0
progress_indicator = 2
# Allow uploads for UNRELEASED packages
allowed_distributions = .*

dput usage

c@CW10:~/.../nextcloud/bung/3.1$ dput mentors bung_3.1.1-1_amd64.changes
Checking signature on .changes
gpg: /home/c/d/Auroville/Aurinoco/nextcloud/bung/3.1/bung_3.1.1-1_amd64.changes: Valid signature from 8F12097C5A0BCA50
Checking signature on .dsc
gpg: /home/c/d/Auroville/Aurinoco/nextcloud/bung/3.1/bung_3.1.1-1.dsc: Valid signature from 8F12097C5A0BCA50
Uploading to mentors (via https to mentors.debian.net):
  Uploading bung_3.1.1-1.dsc: done.
  Uploading bung_3.1.1.orig.tar.gz: done.    
  Uploading bung_3.1.1-1.debian.tar.xz: done.
  Uploading bung_3.1.1-1_all.deb: done.    
  Uploading bung_3.1.1-1_amd64.buildinfo: done.
  Uploading bung_3.1.1-1_amd64.changes: done.
Successfully uploaded packages.

https://mentors.debian.net/packages/my > logged in as . ~10 mins later, bung_3.1.1-1 was listed

Bug#983146

Change title

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983146

Subject: RFS: bung/3.0.8-2 [ITP] -- backup next generation
Date: Tue, 5 Oct 2021 14:38:04 +0530
From: Charles <c@charlesmatkinson.org>
To: control@bugs.debian.org

retitle 983146 RFS: bung/3.1.1-1 [ITP] -- backup next generation
After ~10 min got ack mail and found https://mentors.debian.net/packages/my/ had been updated from 3.0.8-2 to 3.1.1-1

Ask for sponsorship guidance

Subject: 983146 RFS: bung/3.1.1-1 [ITP] -- backup next generation
Date: Tue, 5 Oct 2021 15:03:39 +0530
From: Charles <c@charlesmatkinson.org>
To: 983146@bugs.debian.org, Antonio Russo <antonio.e.russo@gmail.com>, Bart Martens <bartm@debian.org>, Gürkan Myczko <gurkan@phys.ethz.ch>, Robin Gustafsson <robin@rgson.se>, Tobias Frost <tobi@debian.org>
CC: Debian Mentors <package-sponsorship-requests@lists.debian.org>, wnpp@debian.org

To all who have contributed to this bug report: Antonio, Bart, Gurkan, Robin and Tobias

Thanks for your help and your patience as I have naively struggled to comply with Debian standards.  Apart from doc-base I think the package is now fully compliant.

No sponsors have come forward.  Please suggest how I might find one.

Here's what I have done already ...

I viewed https://wiki.debian.org/Teams and http://web.archive.org/web/20090908094500/http://krum.ethz.ch/ddc/teams-of-2007.txt but did not find any appropriate teams to ask for sponsorship

I used https://packages.debian.org/search?keywords=backup&searchon=names&suite=stable&section=all and https://packages.debian.org/search?keywords=backup&searchon=all&suite=stable&section=all to find packages functionally related to bung and to note their maintainers.  I haven't written to any of them yet, partly because it would be intrusive and partly because it is not obvious that just because they maintain a related package they would have any interest in sponsoring bung

FWIW here's the list

backupninja pkg-backupninja@lists.riseup.net micah@riseup.net intrigeri@debian.org jerome@riseup.net

backuppc team+pkg-backuppc@tracker.debian.org tobi@debian.org abe@debian.org

bacula-director pkg-bacula-devel@lists.alioth.debian.org

cedar-backup2 and cedar-backup3 pronovic@debian.org

chiark-backup ijackson@chiark.greenend.org.uk

dirvish paul@debian.org

flexbackup kbk@shore.net

luckybackup pmatthaei@debian.org

mariadb-backup pkg-mysql-maint@lists.alioth.debian.org otto@debian.org

rdiff-backup chaica@ohmytux.com

rsbackup rsbackup-maint@lists.alioth.debian.org matthew@debian.org

slbackup debian-edu-pkg-team@lists.alioth.debian.org sunweaver@debian.org werner@debian.org

vbackup v13@v13.gr

Best

Charles

Also available in: Atom PDF