I've limited the upstream .spec to el >= 6 and fc >= 23, and then removed a lot 
of conditionals that are no longer needed (with some loss of generality).

Latest upstream spec (pre-configure source) is at:
https://github.com/ellson/graphviz/blob/master/graphviz.spec.in

and the resulting source rpm is at
http://graphviz.org/pub/graphviz/development/SRPMS/graphviz-2.41.20170720.1642-1.src.rpm


> On July 20, 2017 at 9:36 AM John Ellson <john.ell...@comcast.net> wrote:
> 
>     > Doubtful. It's a maintenance nightmare
>     OK, but I'm raising this issue to try to get some help on getting a 
> little closer.
> 
>     > Tons of defines and conditionals, which toggle almost everything (BR, 
> features and subpkgs)
>     Yes,as a means of stating which feature can be built for which distro. 
> This are determined by the available packages from the distro. I do not 
> arbitrarily
>     turn them on or off. If a dependency becomes available, then I can turn 
> the define on, but in that transition nothing is obsoleted.
> 
>     > using highly cryptic macro names,
>     > sections that don't adhere to the packaging guidelines,
>     > dangerous violations of the guidelines,
> 
>     Specific examples please?
> 
>     > workarounds for RHEL 7.
>     Actually there are no workarounds for RHEL7. RHEL7 and RHEL6 package sets 
> are the same.
>     There are workarounds for RHEL4 and RHEL5, but at this point those could 
> all be purged from the spec.
> 
>     There are also workarounds for Fedora <23. Removing those as well would 
> simplify the spec considerably. I am willing to do that.
> 
>     > You may be familiar with the spec file, or you may believe you are, but 
> in my point of view, the spec file is filled with pitfalls. That will 
> backfire eventually.
>     Well, this is why I'm asking for help.
> 
>     > Not even the %changelog has been maintained since 2009.
>     Guilty.
> 
>     > And probably the biggest mistake related to conditional subpackage 
> builds is that you cannot simply flip a #define and disable a subpackage 
> build without inserting an Obsoletes/Provides pair.
>     As discussed, they are not used in that way. They have been only used to 
> not-enable a feature or subpackage on distros that don't provide the needed 
> dependencies.
> 
>     > So, what may be of some limited use while testing builds, is of no use 
> in packages released into a public distribution.
>     So as I understand it, you would like a separate .spec file for each 
> distro, to avoid the #define. ?
>     Can we agree to differ on that issue between upstream and public 
> distribution, for now? Can we work on the other issues first?
> 
>     John
> 
>     > On July 20, 2017 at 6:47 AM Michael Schwendt <mschwe...@gmail.com> 
> wrote:
>     >
>     >
>     > On Wed, 19 Jul 2017 13:27:54 -0400 (EDT), John Ellson wrote:
>     >
>     > > Jaroslav Škarvada requested that i move the discussion from:
>     > >
>     > > https://bugzilla.redhat.com/show_bug.cgi?id=1410366
>     > >
>     > > about unifying the graphviz .spec file with upstream, to this list.
>     > >
>     > >
>     > > Perhaps the unification objective is not attainable because of 
> different requirements?
>     > >
>     > >
>     > > Upstream, we have single a distro-agnostic (RH and non-RH) 
> graphviz.tar.gz portable sources:
>     > >
>     > > http://graphviz.org/Download_source.php
>     > >
>     > > and then for RH, all distros, we have a single graphviz.src.rpm 
> containing a universal graphviz.spec.
>     > >
>     > > http://graphviz.org/Download_linux_fedora.php
>     > >
>     > >
>     > > This works well for me, upstream, for building and testing across all 
> distributions, but perhaps the .spec file is less optimal when you separately 
> maintain versions for each distribution?
>     > >
>     >
>     > Doubtful. It's a maintenance nightmare. Tons of defines and 
> conditionals,
>     > which toggle almost everything (BR, features and subpkgs) using highly
>     > cryptic macro names, sections that don't adhere to the packaging
>     > guidelines, dangerous violations of the guidelines, workarounds for RHEL
>     > 7. You may be familiar with the spec file, or you may believe you are, 
> but
>     > in my point of view, the spec file is filled with pitfalls. That will
>     > backfire eventually. Not even the %changelog has been maintained since
>     > 2009. And probably the biggest mistake related to conditional subpackage
>     > builds is that you cannot simply flip a #define and disable a subpackage
>     > build without inserting an Obsoletes/Provides pair. So, what may be of
>     > some limited use while testing builds, is of no use in packages released
>     > into a public distribution.
>     > _______________________________________________
>     > devel mailing list -- devel@lists.fedoraproject.org
>     > To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 
 

> _______________________________________________
>     devel mailing list -- devel@lists.fedoraproject.org
>     To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> 
 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org

Reply via email to