#998041 RFS: makedeb/11.0.1-1 [ITP] -- The modern packaging tool for Debian archives

#998041#5
Date:
2021-10-28 23:02:00 UTC
From:
To:
Package: sponsorship-requests
Severity: wishlist

Dear mentors,

I am looking for a sponsor for my package "makedeb":

 * Package name    : makedeb
   Version         : 7.1.2+bugfix1-8
   Upstream Author : Hunter Wittenborn <hunter@hunterwittenborn.com>
 * URL             : https://makedeb.hunterwittenborn.com
 * License         : GPL-2.0+
 * Vcs             : https://github.com/makedeb/makedeb
   Section         : utils

It builds those binary packages:

  makedeb - The modern packaging tool for Debian archives.

To access further information about this package, please visit the following URL:

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

Alternatively, one can download the package with dget using this command:

  dget -x https://mentors.debian.net/debian/pool/main/m/makedeb/makedeb_7.1.2+bugfix1-8.dsc

Changes for the initial release:

 makedeb (7.1.2+bugfix1-8) unstable; urgency=medium
 .
   * Fix find command

Regards,

#998041#14
Date:
2021-10-31 23:51:57 UTC
From:
To:
Control: tags -1 moreinfo

Please keep Debian revision -1 until the sponsorship is done.

The only d/changelog entry for the first version in Debian must read:

   * Initial release (Closes: #998039).


When you have provided a new version please untag moreinfo.

#998041#27
Date:
2021-11-05 03:11:18 UTC
From:
To:
lpuvilla0001@mymail.lausd.net> wrote:

Fixed with version 8.2.1-1, currently processing upload on
mentors.debian.net

#998041#40
Date:
2021-11-14 10:49:37 UTC
From:
To:
On Thu, 4 Nov 2021 20:11:18 -0700 LEO PUVILLAND wrote:> Fixed with version 8.2.1-1, currently
processing upload on

Please create a watch file and test it to download the tarball.

Please use a tagged version as the origtargz.

Please check lintian output and fix at least:
E: makedeb source: build-depends-on-essential-package-without-using-version Build-Depends: bash
E: makedeb source: build-depends-on-essential-package-without-using-version Build-Depends: tar
E: makedeb: depends-on-essential-package-without-using-version Depends: bash
E: makedeb: depends-on-essential-package-without-using-version Depends: tar
E: makedeb: extended-description-is-empty
E: makedeb: python3-script-but-no-python3-dep python3
[usr/share/makedeb/utils/missing_apt_dependencies.py] (does not satisfy python3:any |
python3-minimal:any)
E: makedeb: wrong-path-for-interpreter /hint/bash != /bin/bash [etc/makepkg.conf]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/buildenv.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/buildenv/buildflags.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/buildenv/compiler.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/buildenv/debugflags.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/buildenv/lto.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/buildenv/makeflags.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/executable.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/executable/ccache.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/executable/checksum.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/executable/distcc.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/executable/fakeroot.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/executable/gpg.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/executable/gzip.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/executable/pacman.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/executable/strip.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/executable/sudo.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/executable/vcs.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/integrity.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/integrity/generate_checksum.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/integrity/generate_signature.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/integrity/verify_checksum.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/integrity/verify_signature.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_config.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_config/ext.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_config/paths.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_config/source_date_epoch.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_config/variable.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_package.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_package/build_references.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_package/dotfiles.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_package/file_names.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_package/missing_backup.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/arch.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/arch_specific.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/backup.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/changelog.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/checkdepends.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/conflicts.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/depends.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/epoch.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/fullpkgver.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/install.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/makedepends.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/optdepends.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/options.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/package_function.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/package_function_variable.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/pkgbase.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/pkglist.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/pkgname.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/pkgrel.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/pkgver.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/provides.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/source.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/util.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/lint_pkgbuild/variable.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash [usr/share/makedeb-makepkg/source.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/source/bzr.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/source/file.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/source/fossil.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/source/git.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/source/hg.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/source/local.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/source/svn.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash [usr/share/makedeb-makepkg/srcinfo.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash [usr/share/makedeb-makepkg/tidy.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/tidy/docs.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/tidy/emptydirs.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/tidy/libtool.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/tidy/purge.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/tidy/staticlibs.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/tidy/strip.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/tidy/zipman.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash [usr/share/makedeb-makepkg/util.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/util/compress.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/util/config.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/util/dirsize.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/util/error.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/util/message.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/util/option.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/util/parseopts.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/util/pkgbuild.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/util/schema.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/util/source.sh]
E: makedeb: wrong-path-for-interpreter /usr/bin/bash != /bin/bash
[usr/share/makedeb-makepkg/util/util.sh]
W: makedeb: description-synopsis-starts-with-article
W: makedeb source: no-debian-changes
W: makedeb: no-manual-page usr/bin/makedeb-makepkg
W: makedeb: no-manual-page usr/bin/makepkg-template
W: makedeb: script-not-executable etc/makepkg.conf
I: makedeb source: debian-watch-file-is-missing
I: makedeb: synopsis-is-a-sentence "The modern packaging tool for Debian archives."

When you are done untag moreinfo from this bug.

Thanks,
Bastian

#998041#77
Date:
2022-05-03 13:23:31 UTC
From:
To:
Lintian's still unhappy:
(Please integrate lintian in your workflow, as those lintian remarks had been
found in previous reviews already.)
I've added some remarks.

E: makedeb: extended-description-is-empty
W: makedeb: description-synopsis-starts-with-article
W: makedeb source: no-debian-changes
W: makedeb: no-manual-page usr/bin/makedeb-makepkg
W: makedeb: no-manual-page usr/bin/makepkg-template
W: makedeb: script-not-executable [etc/makepkg.conf]
  -- Remark: possibly this file should not be a script!
X: makedeb source: debian-watch-does-not-check-gpg-signature [debian/watch]
P: makedeb source: package-uses-old-debhelper-compat-version 12
P: makedeb source: silent-on-rules-requiring-root [debian/control]
P: makedeb source: trailing-whitespace debian/rules (line 4)
P: makedeb source: trailing-whitespace debian/rules (line 5)
P: makedeb source: trailing-whitespace debian/rules (line 6)
P: makedeb source: update-debian-copyright 2021 vs 2022 [debian/copyright:11]
X: makedeb source: upstream-metadata-file-is-missing

Beside:
- /etc/makepkg.conf:
  -you are packaging arch:all but have hard-coded arch-dependent settings for
  amd64. Is this intentional?
  -I don't think that should be a script  needing a shebang, should it?
- d/makedeb-docs.docs  d/README  d/README.source should not be needed (and they
  do not contain useful information)
- Somewhere in the documentation it still says "the modern packaging tool for
  Debian archives", which needs still to be changed, accordingly to your
  message in #998039#32.

Disclaimer: I'm not going to sponsor this package.
I believe that makedeb creates packages in a way that might cause problems for
our users. (e.g as laid out in 998039#22; it makes dependency handling a
user-problem, which is a core task of a packaging management system. So I
thinkg it needs still some development before it should be uploaded.


I was playing with makedeb, but unfortunatly with very mixed result:

For example, I test-built "moonlight-qt" (selected because it was on the
frontpage of the homepage [¹] and not arch-all generates this Depends: line
for the generated binary package:

(note that it would also depend on qt5-default, but I had to edit it because this package is gone in sid, and I used a sid container for my tests.)

Another package, zotero, claims "zotero is not available for the 'x86_64' architecture.**", and I
found many others with the exact same problem... As those working using "x86_64" in the PKGBUILD
and those which don't "amd64", makes me wonder if the PKGBUILD used or how it
is parsed by makedeb is stable. Also, my i386 (on amd64 hardware -- Multiarch)
chroot claims to be 64 bit... I guess there are bugs here...

Also (IIRC gh (some github tool)) created an arch:all package which having arch-dependent binaries.

(Frankly, I ran accross so many broken PKGBUILD recipes, all sorts of errors... Is there
(automated) QA?)

#998041#84
Date:
2022-05-25 20:05:09 UTC
From:
To:
Sorry, this must've gotten overlooked on my end, I didn't see this email
until just now.

That first Lintian error definitely could be fixed, I would've sworn we
had that implemented but I guess not.

 > you are packaging arch:all but have hard-coded arch-dependent
settings for amd64. Is this intentional?

That is not, no. I'm assuming it got overlooked as most users of makedeb
use amd64 as their system architecture, but the core functionality of
makedeb that utilizes architecture-specific features (such as
architecture extensions on certain variables) is working fine
(presumably, I know of one group that uses makedeb that builds for
multiple architectures off the top of my head).

 > I don't think that should be a script  needing a shebang, should it?

I don't think it probably needs that, no.

Both of these problems appear to be from when we ported makepkg from a
binary release from the Arch Linux archives, and these issues must've
slipped in. Again, I'm assuming they've gotten overlooked simply because
they haven't caused any major issues for makedeb's user base. I'm not
saying they don't need fixed, and I'll definitely look into getting them
in such a state.

 > Somewhere in the documentation it still says "the modern packaging
tool for Debian archives"

 > Another package, zotero, claims "zotero is not available for the
'x86_64'
architecture.**"

I think this is an issue with an out of date version of makedeb being
present on Debian mentors. The Debian packaging on makedeb's end hasn't
received the care it needs lately, and that's all on me.

 > Is there (automated) QA?

There is not, no. We could probably integrate lintian into built
packages, though again, not many users have complained about it, so I
guess it hasn't posed to be much of an issue yet.

I'm not gonna deny for a second that there isn't stuff that needs
improved, there definitely is. I know all of this hasn't been the best
experience, but I'm sorry about all of that, and I'll make sure progress
is made here to improve.