So I started experimenting with updating libpng to a new release series,
and soon found out that it was impossible to rebuild its dependencies.
For example, cairo BuildRequires: librsvg2-devel, and librsvg2
BuildRequires: cairo-devel, so there is no order in which I can rebuild
them. How the heck did we get into such a situation, and what should
I do about it? Neither specfile appears to have any provision for
bootstrapping.
regards, tom lane
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
10-05-2011, 08:22 AM
Michael Schwendt
Dealing with circular BuildRequires?
On Wed, 05 Oct 2011 02:50:24 -0400, TL (Tom) wrote:
> So I started experimenting with updating libpng to a new release series,
> and soon found out that it was impossible to rebuild its dependencies.
> For example, cairo BuildRequires: librsvg2-devel, and librsvg2
> BuildRequires: cairo-devel, so there is no order in which I can rebuild
> them. How the heck did we get into such a situation, and what should
> I do about it? Neither specfile appears to have any provision for
> bootstrapping.
Could be an easy one nevertheless as it is not the library but just a
subpackage that adds the dependency:
Perhaps the clock can be disabled at build-time easily. A switch added
to the spec file could then also disable the subpackage.
--
Fedora release 16 (Verne) - Linux 3.1.0-0.rc8.git0.0.fc16.x86_64
loadavg: 0.05 0.03 0.05
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
10-05-2011, 08:24 AM
Petr Pisar
Dealing with circular BuildRequires?
On 2011-10-05, Tom Lane <tgl@redhat.com> wrote:
> So I started experimenting with updating libpng to a new release series,
> and soon found out that it was impossible to rebuild its dependencies.
> For example, cairo BuildRequires: librsvg2-devel, and librsvg2
> BuildRequires: cairo-devel, so there is no order in which I can rebuild
> them. How the heck did we get into such a situation, and what should
> I do about it? Neither specfile appears to have any provision for
> bootstrapping.
>
We had similar problem when upgrading Perl to 5.14.
First, we choosed dependecy-ordered builds which stopped after
rebuilding about one thousand packages. Then we hit circular
dependencies blocking remaining eight hunderds packages.
Thus we introduced perl-specific bootstrap macro delivered by `perl'
package and we conditionalized some parts of spec files by the macro.
Unfortunatelly because of lack of time we stopped this process by
falling back lying the new perl package provides old Perl capabilities.
Naturally, we rebuilt the bootstrapped packages after removing the
bootstrap macro from `perl' package again.
But the big problem was *where to define the bootstrap macro because
SRPMs are rebuilt in Koji within minimal build root and we need the
macro available at this early stage*. Fortunatelly `perl' is part of
build root, so we put it there. Originally we wanted to put the macro
into perl-devel package, but this one is not available in the SRPM build
root. I thing this is the real problem.
There should be some package in build root driving bootstrapping and the
package should be writeable by a lot of packagers. I don't think
redhat-rpm-config is the best one. I think redhat-rpm-config should
require other packages provided by owneres of bootstrapp-causing packages like
perl, libpng etc.
-- Petr
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
10-05-2011, 04:02 PM
Tom Lane
Dealing with circular BuildRequires?
Petr Pisar <ppisar@redhat.com> writes:
> On 2011-10-05, Tom Lane <tgl@redhat.com> wrote:
>> For example, cairo BuildRequires: librsvg2-devel, and librsvg2
>> BuildRequires: cairo-devel, so there is no order in which I can rebuild
>> them. How the heck did we get into such a situation, and what should
>> I do about it? Neither specfile appears to have any provision for
>> bootstrapping.
> We had similar problem when upgrading Perl to 5.14.
> First, we choosed dependecy-ordered builds which stopped after
> rebuilding about one thousand packages. Then we hit circular
> dependencies blocking remaining eight hunderds packages.
What exactly did you do for "dependency-ordered builds"? What I could
really use right now is a tool that would sort the package list into
dependency order for me, and point to where there are circularities.
I'd like to think that wheel has been invented already ...
regards, tom lane
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
10-05-2011, 04:13 PM
Adam Huffman
Dealing with circular BuildRequires?
On Wed, Oct 5, 2011 at 5:02 PM, Tom Lane <tgl@redhat.com> wrote:
> Petr Pisar <ppisar@redhat.com> writes:
>> On 2011-10-05, Tom Lane <tgl@redhat.com> wrote:
>>> For example, cairo BuildRequires: librsvg2-devel, and librsvg2
>>> BuildRequires: cairo-devel, so there is no order in which I can rebuild
>>> them. *How the heck did we get into such a situation, and what should
>>> I do about it? *Neither specfile appears to have any provision for
>>> bootstrapping.
>
>> We had similar problem when upgrading Perl to 5.14.
>
>> First, we choosed dependecy-ordered builds which stopped after
>> rebuilding about one thousand packages. Then we hit circular
>> dependencies blocking remaining eight hunderds packages.
>
> What exactly did you do for "dependency-ordered builds"? *What I could
> really use right now is a tool that would sort the package list into
> dependency order for me, and point to where there are circularities.
> I'd like to think that wheel has been invented already ...
>
> * * * * * * * * * * * *regards, tom lane
The nearest I can think of is smock.pl, which has a '--dryrun' option
providing the dependency order information.
Adam
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
10-05-2011, 04:13 PM
Adam Huffman
Dealing with circular BuildRequires?
On Wed, Oct 5, 2011 at 5:02 PM, Tom Lane <tgl@redhat.com> wrote:
> Petr Pisar <ppisar@redhat.com> writes:
>> On 2011-10-05, Tom Lane <tgl@redhat.com> wrote:
>>> For example, cairo BuildRequires: librsvg2-devel, and librsvg2
>>> BuildRequires: cairo-devel, so there is no order in which I can rebuild
>>> them. *How the heck did we get into such a situation, and what should
>>> I do about it? *Neither specfile appears to have any provision for
>>> bootstrapping.
>
>> We had similar problem when upgrading Perl to 5.14.
>
>> First, we choosed dependecy-ordered builds which stopped after
>> rebuilding about one thousand packages. Then we hit circular
>> dependencies blocking remaining eight hunderds packages.
>
> What exactly did you do for "dependency-ordered builds"? *What I could
> really use right now is a tool that would sort the package list into
> dependency order for me, and point to where there are circularities.
> I'd like to think that wheel has been invented already ...
>
> * * * * * * * * * * * *regards, tom lane
The nearest I can think of is smock.pl, which has a '--dryrun' option
providing the dependency order information.
Adam
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
10-05-2011, 04:17 PM
"Nathanael D. Noblet"
Dealing with circular BuildRequires?
On 10/05/2011 10:02 AM, Tom Lane wrote:
> What exactly did you do for "dependency-ordered builds"? What I could
> really use right now is a tool that would sort the package list into
> dependency order for me, and point to where there are circularities.
> I'd like to think that wheel has been invented already ...
Have you looked at smock? It somehow computes the order a set of rpms
need to be built in...
--
Nathanael d. Noblet
t 403.875.4613
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
10-05-2011, 04:17 PM
"Nathanael D. Noblet"
Dealing with circular BuildRequires?
On 10/05/2011 10:02 AM, Tom Lane wrote:
> What exactly did you do for "dependency-ordered builds"? What I could
> really use right now is a tool that would sort the package list into
> dependency order for me, and point to where there are circularities.
> I'd like to think that wheel has been invented already ...
Have you looked at smock? It somehow computes the order a set of rpms
need to be built in...
--
Nathanael d. Noblet
t 403.875.4613
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
10-05-2011, 04:51 PM
seth vidal
Dealing with circular BuildRequires?
On Wed, 2011-10-05 at 10:17 -0600, Nathanael D. Noblet wrote:
> On 10/05/2011 10:02 AM, Tom Lane wrote:
> > What exactly did you do for "dependency-ordered builds"? What I could
> > really use right now is a tool that would sort the package list into
> > dependency order for me, and point to where there are circularities.
> > I'd like to think that wheel has been invented already ...
>
> Have you looked at smock? It somehow computes the order a set of rpms
> need to be built in...
smock really doesn't do that.
1. a lot of buildreqs are non-trivial to determine the proper provide
for
2. it doesn't solve circular build deps.
-sv
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
10-05-2011, 04:51 PM
seth vidal
Dealing with circular BuildRequires?
On Wed, 2011-10-05 at 10:17 -0600, Nathanael D. Noblet wrote:
> On 10/05/2011 10:02 AM, Tom Lane wrote:
> > What exactly did you do for "dependency-ordered builds"? What I could
> > really use right now is a tool that would sort the package list into
> > dependency order for me, and point to where there are circularities.
> > I'd like to think that wheel has been invented already ...
>
> Have you looked at smock? It somehow computes the order a set of rpms
> need to be built in...
smock really doesn't do that.
1. a lot of buildreqs are non-trivial to determine the proper provide
for
2. it doesn't solve circular build deps.
-sv
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel