Bug 591192 - Review Request: dh-make - Tool that converts source archives into Debian package source
Review Request: dh-make - Tool that converts source archives into Debian pack...
Status: CLOSED WORKSFORME
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Miroslav Suchý
Fedora Extras Quality Assurance
:
Depends On: 961141
Blocks: 969718
  Show dependency treegraph
 
Reported: 2010-05-11 12:02 EDT by Jeroen van Meeuwen
Modified: 2013-06-02 12:08 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-03-27 07:16:03 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
msuchy: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Jeroen van Meeuwen 2010-05-11 12:02:58 EDT
Spec URL: http://git.ergo-project.org/?p=kolab-fedora.git;a=blob_plain;f=f12/custom-f12-buildsys/SPECS/dh-make.spec
SRPM URL: http://koji.ergo-project.org/packages/dh-make/0.46/1.fc12.buildsys/src/dh-make-0.46-1.fc12.buildsys.src.rpm
Description:

This package allows you to take a standard (or upstream) source
package and convert it into a format that will allow you to build
Debian packages.
Comment 1 Miroslav Suchý 2010-07-16 10:11:41 EDT
This should be fixed:

$ rpmlint /home/msuchy/rpmbuild/SRPMS/dh-make-0.46-1.el6.src.rpm
dh-make.src:5: W: mixed-use-of-spaces-and-tabs (spaces: line 5, tab: line 1)


$ rpmlint /home/msuchy/rpmbuild/RPMS/noarch/dh-make-0.46-1.el6.noarch.rpm
dh-make.noarch: E: devel-dependency dpkg-devel
   This should be safe to ignore, but if you did not make review yet I would maybe suggest to keep Debian original name dpkg-dev
dh-make.noarch: E: zero-length /usr/share/doc/dh-make-0.46/examples
dh-make.noarch: E: non-executable-script /usr/share/debhelper/dh_make/debian/postinst.ex 0644L /bin/sh
dh-make.noarch: E: non-executable-script /usr/share/debhelper/dh_make/debian/postrm.ex 0644L /bin/sh
dh-make.noarch: E: non-executable-script /usr/share/debhelper/dh_make/debian/emacsen-remove.ex 0644L /bin/sh
dh-make.noarch: E: non-executable-script /usr/share/debhelper/dh_make/debian/prerm.ex 0644L /bin/sh
dh-make.noarch: E: non-executable-script /usr/share/debhelper/dh_make/debian/preinst.ex 0644L /bin/sh
dh-make.noarch: E: non-executable-script /usr/share/debhelper/dh_make/debian/emacsen-install.ex 0644L /bin/sh
dh-make.noarch: W: spurious-executable-perm /usr/share/doc/dh-make-0.46/rules
dh-make.noarch: E: non-executable-script /usr/share/debhelper/dh_make/debian/init.d.lsb.ex 0644L /bin/sh

Is there reason why init.d.ex is executable and othes not?
Comment 2 Miroslav Suchý 2010-07-16 10:15:08 EDT
and you should package latest version released. so any reason why you did not packed 0.55?

and can you pack man page as well, please?
Comment 3 Jeroen van Meeuwen 2010-07-17 07:26:35 EDT
I probably packaged a previous version because that was the most recent version available at the time.(In reply to comment #1)

> This should be fixed:
> 
> $ rpmlint /home/msuchy/rpmbuild/SRPMS/dh-make-0.46-1.el6.src.rpm
> dh-make.src:5: W: mixed-use-of-spaces-and-tabs (spaces: line 5, tab: line 1)
> 

Fixed.

> $ rpmlint /home/msuchy/rpmbuild/RPMS/noarch/dh-make-0.46-1.el6.noarch.rpm
> dh-make.noarch: E: devel-dependency dpkg-devel
>    This should be safe to ignore, but if you did not make review yet I would
> maybe suggest to keep Debian original name dpkg-dev

The dpkg package is in Fedora already, and cannot be changed just like that.

> dh-make.noarch: E: zero-length /usr/share/doc/dh-make-0.46/examples

Fixed.

> dh-make.noarch: E: non-executable-script
> /usr/share/debhelper/dh_make/debian/postinst.ex 0644L /bin/sh
> dh-make.noarch: E: non-executable-script
> /usr/share/debhelper/dh_make/debian/postrm.ex 0644L /bin/sh
> dh-make.noarch: E: non-executable-script
> /usr/share/debhelper/dh_make/debian/emacsen-remove.ex 0644L /bin/sh
> dh-make.noarch: E: non-executable-script
> /usr/share/debhelper/dh_make/debian/prerm.ex 0644L /bin/sh
> dh-make.noarch: E: non-executable-script
> /usr/share/debhelper/dh_make/debian/preinst.ex 0644L /bin/sh
> dh-make.noarch: E: non-executable-script
> /usr/share/debhelper/dh_make/debian/emacsen-install.ex 0644L /bin/sh
> dh-make.noarch: E: non-executable-script
> /usr/share/debhelper/dh_make/debian/init.d.lsb.ex 0644L /bin/sh
> 

Fixed.

> dh-make.noarch: W: spurious-executable-perm /usr/share/doc/dh-make-0.46/rules
> Is there reason why init.d.ex is executable and othes not?    

Some files have a shebang, others do not.

New SPEC: http://git.ergo-project.org/?p=kolab-fedora.git;a=blob_plain;f=f12/custom-f12-buildsys/SPECS/dh-make.spec
New SRPM: http://koji.ergo-project.org/packages/dh-make/0.46/2.fc12.buildsys/src/dh-make-0.46-2.fc12.buildsys.src.rpm
Comment 4 Miroslav Suchý 2010-07-19 05:28:29 EDT
Sorry still some issues:
$ rpmlint /home/msuchy/rpmbuild/SRPMS/dh-make-0.46-2.el6.src.rpm
dh-make.src:17: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 17)

I suppose rpmlint check only first line where is mixed tab and line, so you should check all lines or run rpmlint recursively after you think you fixed the problem.
Comment 5 Miroslav Suchý 2010-07-19 05:55:17 EDT
==============

Key:
 - = N/A
 x = Check
 ! = Problem
 ? = Not evaluated

=== REQUIRED ITEMS ===
 [x] Package is named according to the Package Naming Guidelines.
 [x] Spec file name must match the base package %{name}, in the format
%{name}.spec.
 [x] Package meets the Packaging Guidelines
 [x] Package successfully compiles and builds into binary rpms on at least one
supported architecture.
     tested in: F13/koji
     http://koji.fedoraproject.org/koji/taskinfo?taskID=2328494
 [!] Rpmlint output:
    See previous comment
 [x] Package is not relocatable.
 [x] Buildroot is correct
      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 [x] Package is licensed with an open-source compatible license and meets other
legal requirements as defined in the legal section of Packaging Guidelines.
 [!] License field in the package spec file matches the actual license.
     GPLv2+ vs. GPLv3 - see bottom of this comment
 [x] If (and only if) the source package includes the text of the license(s) in
its own file, then that file, containing the text of the license(s) for the
package is included in %doc.
 [x] Spec file is legible and written in American English.
 [x] Sources used to build the package matches the upstream source, as provided
in the spec URL.
$ sha256sum dh-make_0.46.tar.gz ../SOURCES/dh-make_0.46.tar.gz
a6b8bc9384e7855148388232b4ce5b596648b2edd6ec80ee664583cfdd5cc902  dh-make_0.46.tar.gz
a6b8bc9384e7855148388232b4ce5b596648b2edd6ec80ee664583cfdd5cc902  ../SOURCES/dh-make_0.46.tar.gz
 [x] Package is not known to require ExcludeArch
 [x] All build dependencies are listed in BuildRequires, except for any that
are listed in the exceptions section of Packaging Guidelines.
 [-] The spec file handles locales properly.
 [-] ldconfig called in %post and %postun if required.
 [x] Package must own all directories that it creates.
 [x] Package requires other packages for directories it uses.
 [x] Package does not contain duplicates in %files.
 [x] Permissions on files are set properly.
 [x] Package has a %clean section, which contains rm -fR $RPM_BUILD_ROOT.
 [x] Package consistently uses macros.
 [x] Package contains code, or permissable content.
 [-] Large documentation files are in a -doc subpackage, if required.
 [x] Package uses nothing in %doc for runtime.
 [-] Header files in -devel subpackage, if present.
 [-] Static libraries in -devel subpackage, if present.
 [-] Package requires pkgconfig, if .pc files are present.
 [-] Development .so files in -devel subpackage, if present.
 [-] Fully versioned dependency in subpackages, if present.
 [-] Package does not contain any libtool archives (.la).
 [-] Package contains a properly installed %{name}.desktop file if it is a GUI
application.
 [x] Package does not own files or directories owned by other packages.

=== SUGGESTED ITEMS ===
 [!] Latest version is packaged.
 New version 0.55 is available
 [x] Package does not include license text files separate from upstream.
 [-] Description and summary sections in the package spec file contains
translations for supported Non-English languages, if available.
 [x] Reviewer should test that the package builds in mock.
     Tested on: koji scratch build
 [x] Package should compile and build into binary rpms on all supported
architectures.
     Tested on:koji scratch build
 [x] Package functions as described.
 [-] Scriptlets must be sane, if used.
 [-] The placement of pkgconfig(.pc) files is correct.
 [x] File based requires are sane.
 [-] %check is present and the tests pass



Problems to fix:
1) rpmlint error - see comment #4

2) In spec is: License:        GPLv3+
But in /usr/share/doc/dh-make-0.46/copyright is "... either version 2 of the
License, or (at your option) any later version."

According my investigation 0.46 version was released under GPLv2+ and 0.55
version is released under GPLv3+

3) Suggested - package version 0.55 instead of 0.46
Comment 6 Oron Peled 2010-10-10 19:19:44 EDT
Long time... so:

 * Bumped version to 0.55 (http://packages.debian.org/squeeze/dh-make)
   SPEC URL:
       http://oron.fedorapeople.org/deb-package/dh-make.spec
   SRPM URL:
       http://oron.fedorapeople.org/deb-package/dh-make-0.55-1.fc13.src.rpm

  * This solves item 2) in comment 5

  * Also fixed white-spaces as per comment 4

  * rpmlint results:
        $ rpmlint ./dh-make.spec \
          ../SRPMS/dh-make-0.55-1.fc13.src.rpm \
          ../RPMS/noarch/dh-make-0.55-1.fc13.noarch.rpm 
        dh-make.noarch: E: devel-dependency dpkg-devel
        2 packages and 1 specfiles checked; 1 errors, 0 warnings.

     This error should be ignored (IMO) since dh-make is a devel package
     by definition.

Last but not least: kanarip did the heavy lifting here and I only wanted to
help a bit (not step on anybody toes). Anyway, since I do want to have
all the Debian build tools on Fedora I'm more than willing to help
co-maintain this (and the other related packages).
Comment 7 Miroslav Suchý 2010-10-14 06:06:51 EDT
> install -m 644 -p dh_make.1 %{buildroot}/%{_mandir}/man1/.
That dot at the end of line is not needed. But that is minor.

Anyway - it look good now.

APPROVED

You may request git branch, but please do not build it till debhelper and dpkg-devel pass the package review or you will end up with broken dependency.
Comment 8 Jeroen van Meeuwen 2010-10-17 07:22:03 EDT
(In reply to comment #6)
> Last but not least: kanarip did the heavy lifting here and I only wanted to
> help a bit (not step on anybody toes). Anyway, since I do want to have
> all the Debian build tools on Fedora I'm more than willing to help
> co-maintain this (and the other related packages).

And your help is greatly appreciated!

New Package SCM Request
=======================
Package Name: dh-make
Short Description: Tool that converts source archives into Debian package source
Owners: kanarip
Branches: el4 el5 el6 f12 f13 f14 rawhide
InitialCC: oron
Comment 9 Christoph Wickert 2010-10-17 09:02:16 EDT
One minor thing: Please don't specify the manpages with extension. We might switch to another compression at some point and then the spec would break.
Comment 11 Kevin Fenzi 2010-10-18 23:58:57 EDT
Git done (by process-git-requests).
Comment 12 Miroslav Suchý 2011-05-20 09:47:34 EDT
Ping.
Oron, can you close this BZ, since the review is done?
Comment 13 Oron Peled 2011-05-22 06:56:18 EDT
Hmmm... but it depends on #591190

As a result, I'm getting these mails from buildsys@fedoraproject.org:
-------------------------------------------------------
dh-make has broken dependencies in the rawhide tree:
On x86_64:
        dh-make-0.55-3.fc15.noarch requires debhelper
On i386:
        dh-make-0.55-3.fc15.noarch requires debhelper
Please resolve this as soon as possible.
-------------------------------------------------------

I'm not sure what stops #591190 Review Request.
Any idea on how to resolve this?
Comment 14 leigh scott 2011-05-22 09:15:52 EDT
(In reply to comment #13)
> Hmmm... but it depends on #591190
> 
> As a result, I'm getting these mails from buildsys@fedoraproject.org:
> -------------------------------------------------------
> dh-make has broken dependencies in the rawhide tree:
> On x86_64:
>         dh-make-0.55-3.fc15.noarch requires debhelper
> On i386:
>         dh-make-0.55-3.fc15.noarch requires debhelper
> Please resolve this as soon as possible.
> -------------------------------------------------------
> 
> I'm not sure what stops #591190 Review Request.
> Any idea on how to resolve this?

Correct the mistake in your spec file

#BuildRequires:
Requires:       debhelper
Requires:       dpkg-devel
Requires:       %{_bindir}/make

You can't require a package that doesn't exist yet
Comment 15 leigh scott 2011-05-22 09:17:28 EDT
(In reply to comment #13)
> Hmmm... but it depends on #591190
> 
> As a result, I'm getting these mails from buildsys@fedoraproject.org:
> -------------------------------------------------------
> dh-make has broken dependencies in the rawhide tree:
> On x86_64:
>         dh-make-0.55-3.fc15.noarch requires debhelper
> On i386:
>         dh-make-0.55-3.fc15.noarch requires debhelper
> Please resolve this as soon as possible.
> -------------------------------------------------------
> 
> I'm not sure what stops #591190 Review Request.
> Any idea on how to resolve this?

Correct the mistake in your spec file

#BuildRequires:
Requires:       debhelper
Requires:       dpkg-devel
Requires:       %{_bindir}/make

You can't require a package that doesn't exist yet
Comment 16 Oron Peled 2011-05-22 13:44:46 EDT
Removing the "Requires" from the .spec file will not remove the dependency, only
hide it.

There is a chain of Review-Request's for Debian packaging tools. They were
filed by Jeroen van Meeuwen in 2010. Please follow the dependency chains:
  https://bugzilla.redhat.com/showdependencytree.cgi?id=591192

While these are reviewed in parallel each of the "blocked" packages
should ultimately wait for the lower level "blocker" bugs.

Note: Jeroen van Meeuwen hasn't responded to any of these BR for a long
      time [latest comment Oct-2010] -- if he need help, I'm willing to
      maintain/co-maintain these packages
Comment 17 Jeroen van Meeuwen 2012-03-27 07:16:03 EDT
dh-make is already in Fedora, Oron has been made a co-maintainer

Note You need to log in before you can comment on or make changes to this bug.