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 Build System

 
 
LinkBack Thread Tools
 
Old 07-30-2008, 03:58 PM
Adam Jackson
 
Default Makefile.common speedups

Attached are two (orthogonal) patches to make evaluation of
Makefile.common a bit faster.

The first one is possibly contentious. Currently, early-branching works
by checking for the existence of the other branch, by using 'cvs rlog'.
That kinda sucks, because it means you can't do 'make local' while
disconnected, and even when connected it's not fast. The patch changes
it to look for the package's name in a new file,
common/early-branched-packages. By keeping that file together with
Makefile.common we get pretty much the behaviour we're used to: when
build targets change, you have to update common/. Note that if we apply
this patch we will also need to create that (empty) file.

This would change the cvsadmin procedure for early branching, but
hopefully not by a burdensome amount.

The second one is just a refactoring to only ask rpm for %VERSION and
%RELEASE once. In principle, for packages that overrode both VERSION
and RELEASE in their Makefile, this would actually make things slower,
since now you'd be forcing rpm to run. According to my pkgcvs checkout,
no such packages exist.

Tested locally on a 3.2GHz P4. 'time make' baseline was 1.3 seconds.
First patch dropped that to about 0.6 seconds. Second patch on top of
that dropped down to about 0.38 seconds.

- ajax
--
Fedora-buildsys-list mailing list
Fedora-buildsys-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
 
Old 07-30-2008, 05:26 PM
Toshio Kuratomi
 
Default Makefile.common speedups

Adam Jackson wrote:

Attached are two (orthogonal) patches to make evaluation of
Makefile.common a bit faster.

The first one is possibly contentious. Currently, early-branching works
by checking for the existence of the other branch, by using 'cvs rlog'.
That kinda sucks, because it means you can't do 'make local' while
disconnected, and even when connected it's not fast. The patch changes
it to look for the package's name in a new file,
common/early-branched-packages. By keeping that file together with
Makefile.common we get pretty much the behaviour we're used to: when
build targets change, you have to update common/. Note that if we apply
this patch we will also need to create that (empty) file.

This would change the cvsadmin procedure for early branching, but
hopefully not by a burdensome amount.

I'm against this one as it moves a kludge from Makefile.common into the
scripts that handle branching. Can we achieve the same thing by keeping
the information in the devel branch? For instance, each of the other
branches has a branch file with the branch name inside. If devel did
the same, could we alleviate this problem?


(Branch scripts might still need to be updated to write/verify the
branch file in the devel directory but that would be more generic than
writing into an early branch file)


-Toshio


--
Fedora-buildsys-list mailing list
Fedora-buildsys-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
 
Old 07-30-2008, 05:44 PM
Dennis Gilmore
 
Default Makefile.common speedups

On Wednesday 30 July 2008, Adam Jackson wrote:
> Attached are two (orthogonal) patches to make evaluation of
> Makefile.common a bit faster.
>
> The first one is possibly contentious. Currently, early-branching works
> by checking for the existence of the other branch, by using 'cvs rlog'.
> That kinda sucks, because it means you can't do 'make local' while
> disconnected, and even when connected it's not fast. The patch changes
> it to look for the package's name in a new file,
> common/early-branched-packages. By keeping that file together with
> Makefile.common we get pretty much the behaviour we're used to: when
> build targets change, you have to update common/. Note that if we apply
> this patch we will also need to create that (empty) file.
>
> This would change the cvsadmin procedure for early branching, but
> hopefully not by a burdensome amount.
>
> The second one is just a refactoring to only ask rpm for %VERSION and
> %RELEASE once. In principle, for packages that overrode both VERSION
> and RELEASE in their Makefile, this would actually make things slower,
> since now you'd be forcing rpm to run. According to my pkgcvs checkout,
> no such packages exist.
>
> Tested locally on a 3.2GHz P4. 'time make' baseline was 1.3 seconds.
> First patch dropped that to about 0.6 seconds. Second patch on top of
> that dropped down to about 0.38 seconds.
>
> - ajax
ive applied the second patch.

I think id rather us comment out the early branching check all together when
we don't need it. we probably should add some checks to make build and tag
so that it does a cvs up on the common dir. as it can be an issue when they
are out of date.


--
Dennis Gilmore

--
Fedora-buildsys-list mailing list
Fedora-buildsys-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
 
Old 07-30-2008, 06:04 PM
Adam Jackson
 
Default Makefile.common speedups

On Wed, 2008-07-30 at 10:26 -0700, Toshio Kuratomi wrote:
> Adam Jackson wrote:
> > Attached are two (orthogonal) patches to make evaluation of
> > Makefile.common a bit faster.
> >
> > The first one is possibly contentious. Currently, early-branching works
> > by checking for the existence of the other branch, by using 'cvs rlog'.
> > That kinda sucks, because it means you can't do 'make local' while
> > disconnected, and even when connected it's not fast. The patch changes
> > it to look for the package's name in a new file,
> > common/early-branched-packages. By keeping that file together with
> > Makefile.common we get pretty much the behaviour we're used to: when
> > build targets change, you have to update common/. Note that if we apply
> > this patch we will also need to create that (empty) file.
> >
> > This would change the cvsadmin procedure for early branching, but
> > hopefully not by a burdensome amount.
> >
> I'm against this one as it moves a kludge from Makefile.common into the
> scripts that handle branching. Can we achieve the same thing by keeping
> the information in the devel branch? For instance, each of the other
> branches has a branch file with the branch name inside. If devel did
> the same, could we alleviate this problem?

Sure. Makefile.common could parse the 'branch' file even for devel/,
and the magic word "early" or "rawhide" or something would mean "early
branch if that's an option, otherwise normal rawhide behaviour".

I don't have strong feelings about where the early-branch indicator
lives, as long as it's something I can know without asking the CVS
server.

- ajax
--
Fedora-buildsys-list mailing list
Fedora-buildsys-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
 
Old 07-30-2008, 10:30 PM
Dennis Gilmore
 
Default Makefile.common speedups

On Wednesday 30 July 2008, Adam Jackson wrote:
> On Wed, 2008-07-30 at 10:26 -0700, Toshio Kuratomi wrote:
> > Adam Jackson wrote:
> > > Attached are two (orthogonal) patches to make evaluation of
> > > Makefile.common a bit faster.
> > >
> > > The first one is possibly contentious. Currently, early-branching
> > > works by checking for the existence of the other branch, by using 'cvs
> > > rlog'. That kinda sucks, because it means you can't do 'make local'
> > > while disconnected, and even when connected it's not fast. The patch
> > > changes it to look for the package's name in a new file,
> > > common/early-branched-packages. By keeping that file together with
> > > Makefile.common we get pretty much the behaviour we're used to: when
> > > build targets change, you have to update common/. Note that if we
> > > apply this patch we will also need to create that (empty) file.
> > >
> > > This would change the cvsadmin procedure for early branching, but
> > > hopefully not by a burdensome amount.
> >
> > I'm against this one as it moves a kludge from Makefile.common into the
> > scripts that handle branching. Can we achieve the same thing by keeping
> > the information in the devel branch? For instance, each of the other
> > branches has a branch file with the branch name inside. If devel did
> > the same, could we alleviate this problem?
>
> Sure. Makefile.common could parse the 'branch' file even for devel/,
> and the magic word "early" or "rawhide" or something would mean "early
> branch if that's an option, otherwise normal rawhide behaviour".
>
> I don't have strong feelings about where the early-branch indicator
> lives, as long as it's something I can know without asking the CVS
> server.
>
> - ajax
cat F-9/branch
F-9
it should reference the line in branches that tells the Makefiles where to
build. this would require changes in the mass-branching, branching scripts
to make sure its right. but it should be workable. so when we start early
branching we will put F-11 in the branch file and add to branches in common
for knowing how to deal with F-11


--
Dennis Gilmore

--
Fedora-buildsys-list mailing list
Fedora-buildsys-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
 

Thread Tools




All times are GMT. The time now is 09:15 PM.

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