Re: [Fedora-r-devel-list] Errors in constructing SPEC from local source.

2011-05-03 Thread Allen S. Rout


José Matos  writes:

> It would be nice to have a plan for this.
>
> A boostrap stage where the dependencies are reduced just to build 
> dependencies.

So here 

http://article.gmane.org/gmane.linux.redhat.fedora.r.devel/177

is the farthest I've gotten in formalizing that path.  I've waved that
around a few times; it doesn't seem to pick up a lot of traction.  If
the topic were simple, I'd tl;dr it, but I don't think it can really be
done.


> The identification of core packages required by other packages.

I think that's what I'd call the "Narrow dependency graph"; that is,
"packages which are needed to install other packages", as opposed to
"Packages which are needed to CMD CHECK other packages".


So; if we take R2rpm as a building block, then I suggest the following
pseudocode, to build a repo:


build_a_repo()

Make a list from CRAN, consult some local metadata about busted
packages.

Pick an unbuilt package at random, and build it, until done. 

-

build_a_package()

 generate the narrow and wide dependency graphs for your package. 
 
 generate the narrow graph of your wide dependencies.  
 (everything you need to install to run (everything you need to check (package 
p ))) 
 I'll call that G'.

 Remove from G' everything already installed. 

 Build everything in G' , disabling CHECK and ignoring Suggests,
 Enhances.  [ Can we also avoid the build-it-once, check %files, build
 it again step at this stage? ]

 Install everything in G'. 

 Build everything in G', enabling CHECK.   

 Packages that build and CHECK may be signed, and removed from the list
 of packages to be built.

-


I split it up this way because it permits also the "Build this package
and its depgraph", which is where I came in. :)

This process also suggests some additional caching, at least the package
metadata from all the repos; It's going to be necessary to trace deps
across repos, of course.  If anyone has opinions about where that ought
to go, fire away.  I figure it'd go in /var/tmp/[something] , and not
expire for a week or more.  Since the build process is going to be
multi-day, anthing shorter than that will just be insane.



- Allen S. Rout

___
r-devel mailing list
r-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/r-devel

Re: [Fedora-r-devel-list] Errors in constructing SPEC from local source.

2011-04-19 Thread Pierre-Yves Chibon
On Wed, 2011-04-13 at 23:10 +0200, Pierre-Yves Chibon wrote:
> On Wed, 2011-04-13 at 15:06 -0400, Allen S. Rout wrote:
> > > R2spec remains a project designed to make the life of Fedora's R
> > > packager's easier, so it has to remain guideline compliant. That
> is 
> > > a reason why putting the source0 as URL also is not *in my
> opinion* 
> > > a good approach (while I actually do like the --URL option).
> > 
> > Well, like I said, from my perspective it's aesthetic, so I'd be
> > delighted with it.
> 
> I'll try to push this on the git by the end of the week-end then :)

A bit late, but I just pushed the changes. Testers are welcome :)

Pierre
___
r-devel mailing list
r-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/r-devel


Re: [Fedora-r-devel-list] Errors in constructing SPEC from local source.

2011-04-14 Thread José Matos
On Wednesday 13 April 2011 22:10:21 Pierre-Yves Chibon wrote:
> All this makes me think that I still have few thousands spec files
> hanging somewhere and that I should actually make them accessible
> somewhere (with a warning that a significant part of it is probably
> outdated).
> 
> 
> These were my thoughts when I was looking into it.
> 
> Hope this help,
> 
> Pierre

It would be nice to have a plan for this.

A boostrap stage where the dependencies are reduced just to build 
dependencies.

The identification of core packages required by other packages.

Debian has done it before, Dirk can provide feedback for specific issues we 
get.

-- 
José Abílio
___
r-devel mailing list
r-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/r-devel


Re: [Fedora-r-devel-list] Errors in constructing SPEC from local source.

2011-04-12 Thread Pierre-Yves Chibon
On Tue, 2011-04-12 at 17:34 -0400, Allen S. Rout wrote:
> 
> 
> > R2spec was designed to easily create spec file which would then be
> > reviewed and corrected by human. It has evolved to include rpm
> building
> > but I have the feeling that it might need a good redesign, maybe a
> > version 3.0.0 ;-)
> 
> The version I got from EPEL was 3.0.3.. ? 

Sorry I meant 4.0.0

> I would be delighted to help if you are interested in it.  My previous
> wave of changes did not meet with your approval, and I inferred that
> this meant you look at the problem differently than I do.  I am not
> offended by this, it's your project.  But I did stop trying to
> contribute.
> 
> I definitely look at the problem from the perspective of "Automatic
> production of entire dependency chains".  If you think that is a
> worthwhile direction to go, I would be happy to help get there.

R2spec remains a project designed to make the life of Fedora's R
packager's easier, so it has to remain guideline compliant. That is a
reason why putting the source0 as URL also is not *in my opinion* a good
approach (while I actually do like the --URL option).

There was a time when I thought I would try to get an "automatic cran
builder" working but atm I have other priorities.

Pierre
___
r-devel mailing list
r-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/r-devel


Re: [Fedora-r-devel-list] Errors in constructing SPEC from local source.

2011-04-12 Thread Allen S. Rout


Pierre-Yves Chibon 
writes:
> On Tue, 2011-04-12 at 16:57 -0400, Allen S. Rout wrote:
>> 
>> I have the opinion that the current manner of failing doesn't
>> communicate what's going on very well.  Would you consider documenting
>> this requirement in the usage message, or even failing with an
>> informative message?
>
> As in print the error message in the console rather than in the build
> file ? Or do you have something else in mind ?

Well, the error message is something along the lines of "Blank URL
field".  This doesn't lead me to assume "I should specify a repo, for
this file that I have locally". 

On the one hand, for the -source case, you could specify a file:/// URL
 (and source0) if the user doesn't give one.

If you don't like that, you could detect "Oh, they set a source but no
repo", and give a diagnostic like "Must set a repo; please use one of
--[... yadda yadda " 





>> I also think that there are other sources of packages than the various
>> repos.  It seems incorrect to me to insist that we name one.
>
> For this I had few ideas but I do not know how far I went with them:
> - One idea was to be able to add repositories on the ~/.R2spec.
> Now that I am thinking about it, I guess something like:
> [repository]
> bioc = http://bioconductor.org
> cran = http://cran.r-project.org
> mine = http://pingoured.fr
> where one could then call R2spec/R2rpm with --repo=mine or --repo=bioc
> or something like this.
>
> - Another idea might be to just specify the repository via an argument
> --URL="http://pingoured.fr";


I understand your repo-centric perspective, but I would encourage you to
let people build from files without forcing them to invent a repo.  But
this is an aesthetic call; If you permit an escape valve like --URL, and
an error message to point to its use, then the usability concerns are
well answered.



> R2spec was designed to easily create spec file which would then be
> reviewed and corrected by human. It has evolved to include rpm building
> but I have the feeling that it might need a good redesign, maybe a
> version 3.0.0 ;-)

The version I got from EPEL was 3.0.3.. ? 


I would be delighted to help if you are interested in it.  My previous
wave of changes did not meet with your approval, and I inferred that
this meant you look at the problem differently than I do.  I am not
offended by this, it's your project.  But I did stop trying to
contribute.

I definitely look at the problem from the perspective of "Automatic
production of entire dependency chains".  If you think that is a
worthwhile direction to go, I would be happy to help get there.



- Allen S. Rout

___
r-devel mailing list
r-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/r-devel


Re: [Fedora-r-devel-list] Errors in constructing SPEC from local source.

2011-04-12 Thread Pierre-Yves Chibon
On Tue, 2011-04-12 at 16:57 -0400, Allen S. Rout wrote:
> 
> I have the opinion that the current manner of failing doesn't
> communicate what's going on very well.  Would you consider documenting
> this requirement in the usage message, or even failing with an
> informative message?

As in print the error message in the console rather than in the build
file ? Or do you have something else in mind ?

> I also think that there are other sources of packages than the various
> repos.  It seems incorrect to me to insist that we name one.

For this I had few ideas but I do not know how far I went with them:
- One idea was to be able to add repositories on the ~/.R2spec.
Now that I am thinking about it, I guess something like:
[repository]
bioc = http://bioconductor.org
cran = http://cran.r-project.org
mine = http://pingoured.fr
where one could then call R2spec/R2rpm with --repo=mine or --repo=bioc
or something like this.

- Another idea might be to just specify the repository via an argument
--URL="http://pingoured.fr";

R2spec was designed to easily create spec file which would then be
reviewed and corrected by human. It has evolved to include rpm building
but I have the feeling that it might need a good redesign, maybe a
version 3.0.0 ;-)

Best regards,
Pierre
___
r-devel mailing list
r-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/r-devel


Re: [Fedora-r-devel-list] Errors in constructing SPEC from local source.

2011-04-12 Thread Allen S. Rout


asr-hnhdhkbx...@public.gmane.org (Allen S. Rout) writes:

> In R2spec-3.0.3-1, if you set a local source (-s ) then the URL
> and source0 fields in the spec will remain empty.  Such specs fail to
> build.
>
> There are a variety of ways to address this, I'm not sure that what I've
> done is really a superior solution.  
>
>
> in RPackage.py, down the branch of "I've only got a source, not a
> source0", I added
>
> self.source0 = source
> self.URL = source
>
> (see below).
>
> This means that URL is populated with a local file path, but that's
> really all that's available. 


So, I see from your previous replies, Pierre-Yves, that this is more or
less expected behavior.  Understood.

I have the opinion that the current manner of failing doesn't
communicate what's going on very well.  Would you consider documenting
this requirement in the usage message, or even failing with an
informative message?

I also think that there are other sources of packages than the various
repos.  It seems incorrect to me to insist that we name one.



- Allen S. Rout

___
r-devel mailing list
r-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/r-devel