FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora Development

 
 
LinkBack Thread Tools
 
Old 10-05-2011, 06:50 AM
Tom Lane
 
Default Dealing with circular BuildRequires?

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
 
Old 10-05-2011, 08:22 AM
Michael Schwendt
 
Default 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:

# repoquery --whatrequires librsvg2|grep cairo
cairo-clock-0:0.3.4-5.fc15.x86_64

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
 
Old 10-05-2011, 08:24 AM
Petr Pisar
 
Default 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
 
Old 10-05-2011, 04:02 PM
Tom Lane
 
Default 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
 
Old 10-05-2011, 04:13 PM
Adam Huffman
 
Default 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.

There's some information about it here:

http://www.bioinformatics.org/wiki/R-repo/setup_for_build


Adam
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 10-05-2011, 04:13 PM
Adam Huffman
 
Default 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.

There's some information about it here:

http://www.bioinformatics.org/wiki/R-repo/setup_for_build


Adam
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 10-05-2011, 04:17 PM
"Nathanael D. Noblet"
 
Default 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
 
Old 10-05-2011, 04:17 PM
"Nathanael D. Noblet"
 
Default 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
 
Old 10-05-2011, 04:51 PM
seth vidal
 
Default 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
 
Old 10-05-2011, 04:51 PM
seth vidal
 
Default 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
 

Thread Tools




All times are GMT. The time now is 11:31 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org