Bug 591388 - Review Request: pbuilder - Personal package builder for Debian packages
Summary: Review Request: pbuilder - Personal package builder for Debian packages
Keywords:
Status: CLOSED DUPLICATE of bug 969718
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Christoph Wickert
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-05-12 05:49 UTC by Jeroen van Meeuwen
Modified: 2013-06-08 10:41 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-06-02 01:56:13 UTC
cwickert: fedora-review?


Attachments (Terms of Use)

Description Jeroen van Meeuwen 2010-05-12 05:49:40 UTC
Spec URL: http://git.ergo-project.org/?p=kolab-fedora.git;a=blob_plain;f=f12/custom-f12-buildsys/SPECS/pbuilder.spec
SRPM URL: http://koji.ergo-project.org/packages/pbuilder/0.196/1.fc12.buildsys/src/pbuilder-0.196-1.fc12.buildsys.src.rpm
Description: pbuilder constructs a chroot system, and builds a package inside the
chroot. It is an ideal system to use to check that a package has
correct build-dependencies. It uses apt extensively, and a local
mirror, or a fast connection to a Debian mirror is ideal, but not
necessary.

"pbuilder create" uses debootstrap to create a chroot image.

"pbuilder update" updates the image to the current state of testing/unstable/whatever

"pbuilder build" takes a *.dsc file and builds a binary in the chroot image

Comment 2 Christoph Wickert 2010-10-30 21:59:19 UTC
REVIEW FOR pbuilder-0.196-1.fc13.src.rpm

FIX - MUST: 
pbuilder.noarch: W: spelling-error %description -l en_US chroot -> cheroot, ch root, ch-root
pbuilder.noarch: W: spelling-error %description -l en_US debootstrap -> de bootstrap, de-bootstrap, bootstrapped
pbuilder.noarch: W: spelling-error %description -l en_US dsc -> dc, sc, desc
pbuilder.noarch: E: description-line-too-long C "pbuilder update" updates the image to the current state of testing/unstable/whatever
pbuilder.noarch: W: only-non-binary-in-usr-lib
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/B92test-pkg
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/pbuildd/hookdir/A10dpkg-l.sh
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/pbuilder-test/002_libfile
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/rebuild/buildall
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/D90chrootmemo
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/F90chrootmemo
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/execute_paramtest.sh
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/pbuilder-test/003_makecheck
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/pbuilder-test/000_prepinstall
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/pbuildd/buildd.sh
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/B90list-missing
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/D80no-man-db-rebuild
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/D10tmp
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/D20addnonfree
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/pbuilder-test/004_ldd
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/workaround/E50-initscripts-2.86.ds1-7.workaround.sh
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/execute_installtest.sh
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/workaround/G50-initscripts-2.86.ds1-11-cdebootstrap0.3.9.sh
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/C10shell
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/B90lintian
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/pbuilder-distribution.sh
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/pbuilder-test/001_apprun
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/lvmpbuilder/lvmbuilder
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/rebuild/getlist
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/B91debc
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/B91dpkg-i
pbuilder.noarch: W: spurious-executable-perm /usr/share/doc/pbuilder-0.196/examples/C11screen
pbuilder.noarch: W: no-manual-page-for-binary debuild-pbuilder
pbuilder.noarch: W: no-manual-page-for-binary pdebuild-user-mode-linux
pbuilder.noarch: W: no-manual-page-for-binary pdebuild
pbuilder.noarch: W: no-manual-page-for-binary pbuilder-user-mode-linux
pbuilder.noarch: W: no-manual-page-for-binary pbuilder
pbuilder.src: W: spelling-error %description -l en_US chroot -> cheroot, ch root, ch-root
pbuilder.src: W: spelling-error %description -l en_US debootstrap -> de bootstrap, de-bootstrap, bootstrapped
pbuilder.src: W: spelling-error %description -l en_US dsc -> dc, sc, desc
pbuilder.src: E: description-line-too-long C "pbuilder update" updates the image to the current state of testing/unstable/whatever
pbuilder.src:70: E: hardcoded-library-path in %{_prefix}/lib/%{name}
pbuilder.src: W: invalid-url Source0: http://ftp.de.debian.org/debian/pool/main/p/pbuilder/pbuilder_0.196.tar.gz HTTP Error 404: Not Found
2 packages and 0 specfiles checked; 3 errors, 40 warnings.

Can be ignored: spelling-error, no-manual-page-for-binary, only-non-binary-in-usr-lib, hardcoded-library-path

Need to be fixed: description-line-too-long, spurious-executable-perm

OK - MUST: named according to the Package Naming Guidelines
OK - MUST: spec file name matches the base package %{name}
OK - MUST: package meets the Packaging Guidelines
OK - MUST: Fedora approved license and meets the Licensing Guidelines
FIX - MUST: License field in spec file matches the actual license: GPL is no valid license
FIX - MUST: license file included in %doc: no license included
OK - MUST: spec is in American English
OK - MUST: spec is legible
TBD - MUST: sources match the upstream source by MD5
OK - MUST: successfully compiles and builds into binary rpms on x86_64
N/A - MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch.
OK - MUST: all build dependencies are listed in BuildRequires.
N/A - MUST: handles locales properly with %find_lang
N/A - MUST: Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun.
OK - MUST: Package does not bundle copies of system libraries.
N/A - MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package.
OK - MUST: owns all directories that it creates
OK - MUST: no duplicate files in the %files listing
OK - MUST: Permissions on files are set properly, includes %defattr(...)
OK - MUST: consistently uses macros
OK - MUST: package contains code, or permissable content
N/A - MUST: Large documentation files should go in a -doc subpackage
OK - MUST: Files included as %doc do not affect the runtime of the application
N/A - MUST: Header files must be in a -devel package
N/A - MUST: Static libraries must be in a -static package
N/A - MUST: library files that end in .so are in the -devel package.
N/A - MUST: devel packages must require the base package using a fully versioned dependency
OK - MUST: The package does not contain any .la libtool archives.
N/A - MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section.
OK - MUST: package does not own files or directories already owned by other packages.
OK - Should: at the beginning of %install, the package runs rm -rf %{buildroot}.
OK - MUST: all filenames valid UTF-8


SHOULD Items:
FIX - SHOULD: Source package includes license text(s) as a separate file.
N/A - SHOULD: The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available.
OK - SHOULD: builds in mock.
OK - SHOULD: compiles and builds into binary rpms on all supported architectures.
OK - SHOULD: functions as described.
N/A - SHOULD: Scriptlets are sane.
N/A - SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency.
N/A - SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg
OK - SHOULD: no file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin
N/A - SHOULD: package should contain man pages for binaries/scripts.

Other items:
Fix - not latest stable version, upstream is already at 0.199
OK - SourceURL valid
OK - Compiler flags ok
OK - Debuginfo complete
OK - SHOULD: package has a %clean section, which contains rm -rf %{buildroot}.
N/A - SHOULD: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'.


TODO items:
- please update the package to 0.199 so I can check the TBD points.

- fix the FIX items

- use the full allowed 80 characters for the lines in description, but not more

- %doc %{_datadir}/doc -> %{_docdir}

- include docs: AUTHORS, ChangeLog, COPYING, README, THANKS

- build and include the mapages (pbuilder-uml.conf refers to man 5 pbuilder-uml.conf)

- Create and own /var/cache/pbuilder/pbuildd/

- Missing Requires: sudo

- usr/bin/pdebuild requires dpkg-parsechangelog, dpkg-architecture and dpkg-buildpackage, thus we need dpkg-devel instead of just dpkg

- usr/bin/debuild-pbuilder requires usr/bin/debuild from Debian's devscripts package

Comment 3 Sergio Monteiro Basto 2013-05-24 01:24:30 UTC
hi, Christoph Wickert , new debhelper is build in rawhide , and soon we will build in F19 and next probably in F18 . 
this seems to be the last package on group of deb building tools ...  
we have new builds of alien, debhelper, po-debconf and dh-make since last comment have almost 3 years I don't what should I do ? do you review this package ?

Comment 4 Sergio Monteiro Basto 2013-05-25 01:29:44 UTC
fix typo 
I don't know what todo ? do you review this package ? 
this packages is Assigned To: Christoph Wickert

Comment 5 Christoph Wickert 2013-05-25 17:44:53 UTC
As the submitter did not respond I think it's better to take his package, fix the issues I found during the review, and submit this new package in a new review request. Then close this bug as duplicate of the new one.

Note: Both Jeroen and I are busy, I canno promise I review anything. So if you have another reviewer, that's fine, go ahead.

Comment 6 Sergio Monteiro Basto 2013-05-25 19:13:57 UTC
Ok, thanks for reply , I will wait for debhelper land in F19 , I estimate it takes a maximum of eight days. 
We already have debhelper-9.20120909-1.fc20 in rawhide, so we already can complete the review and build in rawhide. 
If after debhelper land in F19 , if no reply from Jeroen, I will consider unresponsive, ok ? 

Thanks,

Comment 7 Christoph Wickert 2013-05-25 23:12:44 UTC
Sure. During review you only need to care about rawhide, no need to have other releases delay anything.

Comment 8 Oron Peled 2013-05-26 00:38:07 UTC
Hmmm... I already prepared something, but wasn't aware that Sergio is trying
to become a maintainer. Anyway...

Here it is (updated to the version used in Debian/wheezy):
Spec URL: http://oron.fedorapeople.org/deb-package/pbuilder.spec
SRPM URL: http://oron.fedorapeople.org/deb-package/pbuilder-0.213-1.fc20.src.rpm

Two issues:
 * All internal scripts are in /usr/lib/pbuilder:
   - rpmlint does not like it (rightfully)
   - Changing it to /usr/share/pbuilder is very invasive (both in scripts and
     in man-pages)
   - Debian have been using it for years, so the chance of pushing this change
     upstream are pretty nil.
   - Ideas?

 * For this pbuilder to actually be usefull:
   - We need /usr/share/keyrings/debian-archive-keyring.gpg
     (from debian-archive-keyring)
   - This is really a debootstrap issue.

After manually copying the debian keyring, the new pbuilder is self-hosting
(i.e: I built a .deb of pbuilder using the proposed Fedora pbuilder)

Comment 9 Sergio Monteiro Basto 2013-05-26 01:06:52 UTC
(In reply to Oron Peled from comment #8)
> but wasn't aware that Sergio is trying
> to become a maintainer. Anyway...

I'm not trying became maintainer, I will became a maintainer or a reviewer if nobody do it, pbuilder is part of the group "debian tools" that we are packaging.
I know that pbuilder is the equivalent of mock in Fedora, but I'm not aware how to use it, so I prefer not be the maintainer and also pass as reviewer, but if everyone looks unresponsive, I'd like finish up the group of packages "debian tools" . 

Best regards

Comment 10 Oron Peled 2013-05-26 21:21:04 UTC
* Maintainership:
 - In reply to comment #9 -- OK, than I'll be the maintainer since I use
   these tools daily (on Debian systems).
   [btw: I have no problem maintaining/co-maintaining other parts of our
    Debian build stack if someone need help]

 - In reply to comment #5 -- As suggested I'll open a new RR and mark this
   as duplicate.

 - But first I want to apply all remarks from comment #2 (some of them still
   need to be fixed) -- I hope to do this and open the new ticket in a
   few days (oh, weekend, dear weekend...)

* We still need to think what to do with the debian keyring:
  - It doesn't strictly block pbuilder, but I think we want to improve
    the security and convenience of end users (developers), but providing
    a secure and easy path to install it in Fedora.

  - Which looks like a new RR -- debian-archive-keyring

  - Alternatives?

Comment 11 Sergio Monteiro Basto 2013-06-01 17:31:07 UTC
(In reply to Oron Peled from comment #10)
> * Maintainership:
>  - In reply to comment #9 -- OK, than I'll be the maintainer since I use
>    these tools daily (on Debian systems).
>    [btw: I have no problem maintaining/co-maintaining other parts of our
>     Debian build stack if someone need help]

fine by me 

>  - In reply to comment #5 -- As suggested I'll open a new RR and mark this
>    as duplicate.
> 
>  - But first I want to apply all remarks from comment #2 (some of them still
>    need to be fixed) -- I hope to do this and open the new ticket in a
>    few days (oh, weekend, dear weekend...)

fine by me 

I offer me, to be the reviewer  
So I think you may open a new Review Request

Comment 12 Oron Peled 2013-06-02 01:56:13 UTC

*** This bug has been marked as a duplicate of bug 969718 ***

Comment 13 Sergio Monteiro Basto 2013-06-08 10:41:59 UTC
(In reply to Christoph Wickert from comment #5)
> As the submitter did not respond I think it's better to take his package,
> fix the issues I found during the review, and submit this new package in a
> new review request. Then close this bug as duplicate of the new one.

Done

> Note: Both Jeroen and I are busy, I canno promise I review anything. So if
> you have another reviewer, that's fine, go ahead.


Hi Christoph Wickert, I'd like that you give some help on this review, I can take care of logistic things like change flags etc , but yours contribution is valuable

see you in bug #969718

Thanks,


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