Bug 920163 - rpmdevtools: bundling of debian devscripts
Summary: rpmdevtools: bundling of debian devscripts
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: rpmdevtools
Version: 19
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ville Skyttä
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1010000
TreeView+ depends on / blocked
 
Reported: 2013-03-11 13:36 UTC by Stanislav Ochotnicky
Modified: 2013-11-10 07:31 UTC (History)
8 users (show)

Fixed In Version: rpmdevtools-8.4-2.fc20
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-11-10 07:31:23 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Stanislav Ochotnicky 2013-03-11 13:36:54 UTC
Description of problem:
rpmdevtools currently bundles scripts from Debian devscripts project. It is mostly following list:
 * licensecheck
 * checkbashisms
 * annotate-output
 * perhaps a few more? 

Before you close this bug off as wontfix...I know this is mostly due to big chunk of project being strictly Debian specific. Ideally you would get in touch with Debian developers and split off scripts that are not Debian specific into separate sub project with separate releases. That way it would be easier to collaborate for both of you and you wouldn't have to synchronize the scripts all the time. I understand this can take a while, but keep it in mind. If needed I can duplicate the bugreport upstream.

Bundling of scripts from other projects is also causing issues in other distributions (https://bugs.gentoo.org/show_bug.cgi?id=426828)

Comment 1 Stanislav Ochotnicky 2013-03-11 13:40:07 UTC
Oh,not to forget the link to Debian project git: http://anonscm.debian.org/gitweb/?p=devscripts/devscripts.git

Comment 2 Fedora End Of Life 2013-04-03 17:57:20 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19

Comment 3 Ville Skyttä 2013-04-04 14:18:02 UTC
If someone packages these scripts some other way in Fedora, I'm happy to drop them from rpmdevtools. Feel free to ask upstream about the split; I don't personally find the current situation too problematic so my position isn't quite the best possible one in trying to convince upstream to do something that's quite probably more work for them for little if any benefit to their user base. So as far as I'm personally concerned this is a WONTFIX, but leaving open since you asked and maybe someone else wants to work on it.

I don't think the blocker on DuplicSysLibs is right because there's no other version of said scripts available on Fedora for the time being, so I've removed it.

BTW upstream git repo has moved:
http://anonscm.debian.org/gitweb/?p=collab-maint/devscripts.git

BTW #2 we also bundle bunch of scripts from ALT Linux's qa-robot package.

Comment 4 Sergio Basto 2013-06-08 23:50:48 UTC
Hi, I'm thinking in possibility on packaging devscripts from Debian, see bug #969718 please

Comment 5 Ville Skyttä 2013-07-07 08:50:12 UTC
(In reply to Sergio Monteiro Basto from comment #4)
> Hi, I'm thinking in possibility on packaging devscripts from Debian

If you do package it, let me know and I'll drop that stuff from rpmdevtools.

Comment 6 Sandro Mani 2013-09-19 16:40:00 UTC
I've put devscripts up for reveiw.

Comment 7 Sandro Mani 2013-09-19 17:16:10 UTC
I wonder whether it would be better for devscripts to drop the scripts and require rpmdevtools? It hardly makes sense for rpm-only developers to install devscripts.

Comment 8 Ville Skyttä 2013-09-20 08:56:39 UTC
If you're shipping devscripts, I don't think it makes sense to drop stuff in it and require another package to ship stuff that belongs in your package. Just package it and I'll get rid of conflicting things from rpmdevtools once it's ready to enter the repo. I think I'll make rpmdevtools require devscripts just so that things don't disappear from existing installations on upgrade, but will also probably drop that dependency later.

Comment 9 Sandro Mani 2013-09-20 09:02:04 UTC
Can that dependency be dropped in the future? If I am not mistaken, /usr/bin/licensecheck is useful for rpm maintainers, used for instance by fedora-review.

Comment 10 Ville Skyttä 2013-09-20 09:13:05 UTC
Yes, it can. The purpose of rpmdevtools is not to require everything that might be useful to rpm packagers. If fedora-review requires licensecheck, then it should have a dependency on it.

Comment 11 Sandro Mani 2013-09-20 09:34:10 UTC
Okay, I've re-added those scripts and added a conflict for rpmdevtools < 8.3-6 (assuming that is the version which will unbundle the scripts).

Comment 12 Ville Skyttä 2013-09-20 09:47:36 UTC
I'll do the unbundling in the next upstream version, so please make the conflict rpmdevtools < 8.4.

Comment 13 Sandro Mani 2013-09-20 09:53:14 UTC
Ok, done.

Comment 14 Fedora Update System 2013-10-07 21:40:24 UTC
rpmdevtools-8.4-1.fc20,devscripts-2.13.4-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/rpmdevtools-8.4-1.fc20,devscripts-2.13.4-2.fc20

Comment 15 Fedora Update System 2013-10-09 14:16:51 UTC
rpmdevtools-8.4-1.fc20, devscripts-2.13.4-2.fc20 has been pushed to the Fedora 20 testing repository.

Comment 16 Peter Robinson 2013-10-10 08:50:08 UTC
Can we at least split these scripts and the associated dependency off to a subpackage so that the vast majority of people that will never touch debian packages don't need the extra 10 or so dependencies that it pulls in?

Comment 17 Sandro Mani 2013-10-10 09:36:06 UTC
I would not mind on the devscripts side. Name suggestions? devscripts-generic?

Comment 18 Ville Skyttä 2013-10-10 12:02:51 UTC
Personally I wouldn't bother. rpmdevtools targets a technically savvy audience who can choose to remove devscripts and its dep chain after installing rpmdevtools if they want/care, the rpmdevtools -> devscripts dep is a "Requires(pre)" so it can be done cleanly. And the dep will be gone altogether in F-21.

But if you do split, let me know the name of the package I should change the dep to (will not probably be able to do that before late Sunday though).

Comment 19 Sandro Mani 2013-10-10 12:31:09 UTC
So, grepping all the files of the packages which require rpmdevtools for the scripts which moved to devscripts (i.e.

annotate-output
checkbashisms
licensecheck
licensecheck.1
manpage-alert

) it appears that fedora-review is the only package which requires a devscripts script (i.e. licensecheck). fedora-review is however a script which many rpm developers will have installed. So the subpackage should probably be devscripts-licensecheck, which contains licensecheck and licensecheck.1. Sounds ok?

Comment 20 Sergio Basto 2013-10-10 13:12:20 UTC
(In reply to Sandro Mani from comment #17)
> I would not mind on the devscripts side. Name suggestions?
> devscripts-generic?

devscripts-common

Comment 21 Ville Skyttä 2013-10-10 13:40:13 UTC
(In reply to Sandro Mani from comment #19)
> So the subpackage should
> probably be devscripts-licensecheck, which contains licensecheck and
> licensecheck.1. Sounds ok?

I don't think so. The way I read it this question is about rpmdevtools' (artificial) dependency on devscripts, that has nothing to do with fedora-review.

If people seem the transitional artificial rpmdevtools->devscripts dep problematic, I'm willing to drop it altogether in F-20+. That's something that certainly will not be pushed to < F-20 (not that there would be any plans to do so). I still don't think the split of devscripts is worth it for the rpmdevtools dep -- I say we either keep this dep or lose it. No comments on fedora-review as I don't use it.

BTW I've already filed a bug 1016309 on fedora-review, it'd better to just depend on %{_bindir}/licensecheck.

Comment 22 Sergio Basto 2013-10-10 14:21:57 UTC
(In reply to Ville Skyttä from comment #21)
> (In reply to Sandro Mani from comment #19)
> > So the subpackage should
> > probably be devscripts-licensecheck, which contains licensecheck and
> > licensecheck.1. Sounds ok?
> 
> I don't think so. The way I read it this question is about rpmdevtools'
> (artificial) dependency on devscripts, that has nothing to do with
> fedora-review.
> 
> If people seem the transitional artificial rpmdevtools->devscripts dep
> problematic, I'm willing to drop it altogether in F-20+. That's something
> that certainly will not be pushed to < F-20 (not that there would be any
> plans to do so). I still don't think the split of devscripts is worth it for
> the rpmdevtools dep -- I say we either keep this dep or lose it. No comments
> on fedora-review as I don't use it.
> 
> BTW I've already filed a bug 1016309 on fedora-review, it'd better to just
> depend on %{_bindir}/licensecheck.

I though that we will split devscripts into 2 subpackages, one will be  
devscripts-common and rpmdevtools just depend on that .

Comment 23 Sandro Mani 2013-10-10 14:26:32 UTC
devscripts has nothing rpmdevtools depends on, so that dependency is unnecessary. The only package (AFAICS) which has a dependency on a devscripts script is fedora-review. That package should depend on devscripts as soon as rpmdevtools drops the devscripts dependency (introduced only for transition purposes).

The only question I see is whether people using fedora-review are happy to see a load of debian dependencies getting installed along with fedora-review. To avoid that, licensecheck could be split of into a subpackage of devscripts.

Comment 24 Sergio Basto 2013-10-10 14:34:11 UTC
(In reply to Sandro Mani from comment #23)
> devscripts has nothing rpmdevtools depends on, so that dependency is
> unnecessary. The only package (AFAICS) which has a dependency on a
> devscripts script is fedora-review. That package should depend on devscripts
> as soon as rpmdevtools drops the devscripts dependency (introduced only for
> transition purposes).
> 
> The only question I see is whether people using fedora-review are happy to
> see a load of debian dependencies getting installed along with
> fedora-review. To avoid that, licensecheck could be split of into a
> subpackage of devscripts.

OK, I agree with that

Comment 25 Stanislav Ochotnicky 2013-10-17 13:52:00 UTC
For the record latest fedora-review has file requires in _bindir/licensecheck so it will work with whatever decision. That said, I think it might make sense if each script had its own subpackage :-) (or yeah. at least licensecheck...). But checkbashisms is also used by people afaik and perhaps a few others

Comment 26 Sandro Mani 2013-10-17 15:32:11 UTC
Ok, I've moved licensecheck and checkbashisms to devscripts-minimal. If you know other scripts which could be part of the minimal set, I can move those also.

Comment 27 Fedora Update System 2013-10-19 06:51:34 UTC
rpmdevtools-8.4-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/rpmdevtools-8.4-2.fc20

Comment 28 Kalev Lember 2013-10-19 09:41:06 UTC
The downside with a split like this is that it's still somewhat artificial and not easily discoverable by users. How is a user supposed to figure out that these are in the devscripts-minimal subpackage?

Like Stanislav is suggesting, it might be better to move the scripts to their own subpackages, so that when a user wants to install licensecheck, they can install the 'licensecheck' rpm:

%package -n checkbashism
...

%package -n licencecheck
...

%files -n checkbashism
%{_bindir}/checkbashism

%files -n licencecheck
%{_bindir}/licensecheck


Furthermore, both the licencheck package and rpmdevtools should have 'Obsoletes: rpmdevtools < 8.4' to make sure distro upgrades don't remove the licensecheck binary.

Comment 29 Sandro Mani 2013-10-19 10:14:53 UTC
Well, by looking at the file list or using repoquery ;) But I could certainly make the description more helpful, i.e. "This package contains the following scripts: licensecheck, checkbashisms".

But ok, no strong opinions here. Would you suggest splitting off just those two? Or also some other ones?

Personally I find a fine-grained split-up a bit excessive, but if the general agreement is that that's the best way forward, I'll do so.

Comment 30 Ville Skyttä 2013-10-19 18:50:20 UTC
As said before, I find such a split excessive if not silly. But then again I've removed all traces of devscripts deps from rpmdevtools now and I have no plans to add any of them back so I don't really care any more (and I'd prefer if that splitting stuff was discussed in a devscripts bug somewhere).

I guess (unteted) Obsoletes: rpmdevtools < 8.4 would probably just remove rpmdevtools on upgrades. Usually those Obsoletes hacks are coupled with something like Requires: rpmdevtools (>= 8.4) but that'd be undesirable in this case as devscripts doesn't actually require rpmdevtools.

Comment 31 Kalev Lember 2013-10-19 22:27:18 UTC
(In reply to Sandro Mani from comment #29)
> Well, by looking at the file list or using repoquery ;) But I could
> certainly make the description more helpful, i.e. "This package contains the
> following scripts: licensecheck, checkbashisms".

Sure, that would definitely help if you don't want to split the scripts to separate subpackages.


(In reply to Ville Skyttä from comment #30)
> I guess (unteted) Obsoletes: rpmdevtools < 8.4 would probably just remove
> rpmdevtools on upgrades. Usually those Obsoletes hacks are coupled with
> something like Requires: rpmdevtools (>= 8.4) but that'd be undesirable in
> this case as devscripts doesn't actually require rpmdevtools.

Right, that's what would happen if you only add obsoletes to one package.

The way to do this would be to add obsoletes to _all_ the packages that are supposed to get installed as a replacement: rpmdevtools, licensecheck, and checkbashisms. When yum sees multiple packages obsoleting one, it installs all of them as a replacement.

Comment 32 Fedora Update System 2013-11-10 07:31:23 UTC
rpmdevtools-8.4-2.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.


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