Le blog de pingou - Tag - RLe blog de pingou, ses actualités sur Fedora, ses RPMs, ses tests, son Linux... :-)
Pingou's weblog, his fedora's news, his RPMs, his tests, his Linux... :-)2022-02-17T10:46:15+01:00pingouurn:md5:66db5ce1ed1a80cb2f424695b4bb7780DotclearR update to 2.14.0urn:md5:5491a8f6cfd8d78b5dd5ea0bfdeb99522011-11-23T21:45:00+00:002012-07-19T06:00:50+01:00Pierre-YvesRPMsFedoraFedora-planetR<p><img src="https://blog.pingoured.fr/public/rpm.png" alt="rpm.png" /></p>
<p>R 2.14.0 is out and gave quite a bit of work.</p> <p><a href="http://fedoraproject.org/wiki/User:Spot">Spot</a> has done a major R update as the latest R version pretty much needed a rebuilt of all R packages.</p>
<p><strong>Before</strong>
<a href="https://blog.pingoured.fr/public/TheDayBefore1.png" title="TheDayBefore1.png"><img src="https://blog.pingoured.fr/public/.TheDayBefore1_m.jpg" alt="TheDayBefore1.png" style="display:block; margin:0 auto;" title="TheDayBefore1.png, Nov 2011" /></a></p>
<p><strong>After</strong>
<a href="https://blog.pingoured.fr/public/TheDayAfter.png" title="TheDayAfter.png"><img src="https://blog.pingoured.fr/public/.TheDayAfter_m.jpg" alt="TheDayAfter.png" style="display:block; margin:0 auto;" title="TheDayAfter.png, Nov 2011" /></a></p>
<p>In the mean while ? <a href="https://admin.fedoraproject.org/updates/FEDORA-2011-15910">A major R update</a> for R 2.14.0</p>
<p><br />
<br /></p>
<p>What's tool ? <a href="http://rpms.famillecollet.com/rpmphp/">Remi's rpm watcher</a> which has a <a href="http://rpms.famillecollet.com/rpmphp/rpm.php?type=R">dedicated R version</a></p>New R2spec \ó/urn:md5:23ebf9bd95af2a29fb998fdbda4057942011-11-12T20:30:00+00:002011-11-12T20:35:11+00:00Pierre-YvesRPMsFedoraFedora-planetPythonRR2specRPM<p><img src="https://blog.pingoured.fr/public/rpm.png" alt="rpm.png" /><img src="https://blog.pingoured.fr/public/source.png" alt="source.png" /></p>
<p>Re-write of R2spec in the version 4.0.0</p> <p><strong><em>English version</em></strong></p>
<p>Over the last 24h I took myself by the hand and did something which I had planned for a while, I rewrote <a href="http://fedorahosted.org/r2spec">R2spec</a>. With the time the code had grown and not necessarily correctly I think.
In addition it is the first project I was doing in python/object and since that time I have (I think, sensibly) improve my knowledge of python.</p>
<p>Most of the features are in, only the possibility to use mock is still missing but I plan to add it back in soon.</p>
<p>Also, since I re-wrote almost everything, if you have some scripts using R2spec, they will probably break, but hopefully the new code will make more sense to you.</p>
<ul>
<li><a href="https://fedorahosted.org/releases/r/2/r2spec/R2spec-4.0.0.tar.gz">Tarball is generated</a></li>
<li><a href="https://admin.fedoraproject.org/updates/search/R2spec">Updates are pending</a></li>
</ul>
<p>Feel free to test it and report any complains you may have :-)</p>
<p>Oh and I think this is <a href="http://git.fedorahosted.org/git/?p=r2spec.git;a=commit;h=606b39e2401ae445e7ea8c142d03c358b9dd24b7">my favourite commit!</a></p>My TODOsurn:md5:6aa7af30b6e3cbab429891a7445129462011-05-09T08:11:00+01:002011-05-09T07:28:27+01:00Pierre-YvesGénéralABRTFedoraFedora-planetPythonRRevelationyum<p>The ideas I would like to do/see.</p>
<p>Une petite liste d'idées que je voudrais faire/voir.</p> <p><strong><em>English format</em></strong></p>
<p>The good point of spending 2 weeks without touching a keyboard is that it gives you ideas on what you want to do or see done.</p>
<p>There is what I have been thinking of:</p>
<ul>
<li><a href="https://fedorahosted.org/r2spec/">R2spec</a> is a tool to create spec file, and now rpm, for R packages. It has quite evolve since I first write it and my python knowledge for sure has changed. I therefore would like to clean it and rewrite it to a more logical and hopefully cleaner code.</li>
</ul>
<ul>
<li>cran2rpm, this is a tool to generate the order in which the R packages should be built for a given repo. This would be used with R2spec to generate RPMs for the whole CRAN or Bioconductor. There has been some thoughts about it on the <a href="https://admin.fedoraproject.org/mailman/listinfo/r-devel">Fedora-R-devel</a> mailing-list and it is something I would like to help as I don't think I'd have time to do it myself.</li>
</ul>
<ul>
<li><a href="https://bitbucket.org/erikg/revelation/wiki/Home">Revelation</a> is a password management tool. If I had time I would like to remove its warnings and even implement a pgp encryption for the database. At some point I started to rewrite it but it would be simpler to just work on revelation rather than rewrite everything.</li>
</ul>
<ul>
<li>pkgdb-cli would be a tool to query the package database of Fedora. It would give you the version of the package in the different repo, the owner of the package on the different branches and if possible maybe it could also handle ACL request. So basically a CLI version of <a href="https://admin.fedoraproject.org/pkgdb/">pkgdb</a>.</li>
</ul>
<ul>
<li>Make <a href="http://yum.baseurl.org/wiki/YumUtils">yum-utils</a> a python library. At the moment most of yum-utils' code are simple python file, I was thinking that making it a python library would be nice as it would allow people to <em>import yumutils</em> and use the code easily.</li>
</ul>
<ul>
<li><a href="https://fedorahosted.org/abrt/">ABRT</a> report upstream. This is something I have been thinking about but I never shared it nor did I check if the discussion already happened, but I was thinking that there cases were one would like ABRT to report its bug to the bug tracker of the project rather than Fedora's bugzilla. I was thinking that there could be a plugin system on ABRT with a plugin for each bug tracker system (trac, bugzilla, google code...) and a small database containing for each packages concerned the url of the bug tracker, its system and username and password. When a bug would be detected, ABRT would check if the package is present in the database, if it is, then the bug is opened against this bug tracker otherwise it is opened in Fedora's bugzilla.</li>
</ul>
<p>So there are my few ideas. I don't know whether they are good nor if I will have time to work on them. But what do you think about them?</p>
<p>If there are people interested about them, maybe I could make some time ;-)</p>A simple pygtk R consoleurn:md5:5274aaa899cacaaed5500a17b612d6e62011-01-31T09:27:00+00:002011-06-29T14:16:50+01:00Pierre-YvesGénéralAstucespygtkPythonR<p><img src="https://blog.pingoured.fr/public/source.png" alt="source.png" /></p>
<p>A simple pygtk R console with callback</p>
<p>Une petite interface en pygtk pour R avec affichage des sorties de R dans la fenêtre</p> <p><strong><em>English version</em></strong></p>
<p>Yesterday with the help of <a href="http://fedoraproject.org/wiki/HaikelGuemar">Haikel</a> I have made a small interface for R using pygtk.
The Window was design with <a href="http://glade.gnome.org/">glade</a>, it is a really simple interface:
<a href="https://blog.pingoured.fr/public/GUI.png" title="RGUI"><img src="https://blog.pingoured.fr/public/.GUI_s.jpg" alt="RGUI" style="display:block; margin:0 auto;" title="RGUI, Jan 2011" /></a></p>
<p>User can enter their command in the input field, press the button and the given command
will be run in R.</p>
<p>The interface between R and python is made using the <a href="http://rpy.sourceforge.net/rpy2.html">rpy2</a> library.</p>
<p>The tricky part was to actually output the results from R directly in the gtk window
as their are generated, in other word, showing the output of the function before the end of the function as some R commande can take a little while.</p>
<p>For this Haikel pointed me to the rpy2 documentation which allows
<a href="http://rpy.sourceforge.net/rpy2/doc-2.2/html/callbacks.html?highlight=console#write-console">callback</a>
from the R terminal. This way one can redirect the output from R into the gtk window.
So here is the magic:</p>
<pre>
def callbackFunction(self, x):
""" Function which redirect the output from R to the gtk window """
if self.gtkbuffer is None:
print x
else:
self.gtkbuffer.insert(self.gtkbuffer.get_end_iter(), x)
while gtk.events_pending():
gtk.main_iteration()
def runR(self, cmd):
"""
Function runs in R the given command and set the redirection
of the output
"""
if len(cmd) > 0:
self.addToText("> %s" %cmd)
rinterface.set_writeconsole(self.callbackFunction)
robjects.r("%s" %cmd )
# restore default function
rinterface.set_writeconsole(rinterface.consolePrint)
</pre>
<p>The glade file and the full python code are available there:</p>
<ul>
<li><a href="http://project.pingoured.fr/misc/file/22a9d3dc55df/rcmd.ui">glade file</a></li>
<li><a href="http://project.pingoured.fr/misc/file/22a9d3dc55df/rcmd.py">python file</a></li>
</ul>
<p>Results ? See:
<a href="https://blog.pingoured.fr/public/Rcmd.png" title="Rcmd.png"><img src="https://blog.pingoured.fr/public/.Rcmd_s.jpg" alt="Rcmd.png" style="display:block; margin:0 auto;" title="Rcmd.png, Jan 2011" /></a></p>Dependency graphurn:md5:1c2eb941761ac02aac94a8c2bd5637cf2010-12-10T09:56:00+00:002011-06-29T14:17:14+01:00Pierre-YvesRPMspydotPythonRRPM<p><img src="https://blog.pingoured.fr/public/source.png" alt="source.png" /></p>
<p>A small script to generate the dependency graph from spec file</p>
<p>Un petit script pour générer le graph des dépendances à partir de fichier spec</p> <p><strong><em>English version</em></strong></p>
<p>I maintain some R packages which have a quite nice dependency graph. Every time I fight to find back the order in which I should build them. So yesterday I started a small script which would give me the dependencies in a graph so that I could see the information I am looking for.</p>
<p>I came up with a small python script relying on <a href="http://code.google.com/p/pydot/">pydot</a>.</p>
<p>The last version is available there: <a href="http://project.pingoured.fr/misc/file/12447ca38f25/generateDependencyList.py">http://project.pingoured.fr/misc/file/12447ca38f25/generateDependencyList.py</a></p>
<p>You run it as:</p>
<pre>$ python generateDependencyList.py -f ~/GIT/
dependencygraph.svg has been generated</pre>
<p>The output can look like this
<a href="https://blog.pingoured.fr/public/dependencygraph.png" title="dependencygraph.png"><img src="https://blog.pingoured.fr/public/.dependencygraph_m.jpg" alt="dependencygraph.png" style="display:block; margin:0 auto;" title="dependencygraph.png, Dec 2010" /></a>
or
<a href="https://blog.pingoured.fr/public/dependencygraph-2.png" title="dependencygraph-2.png"><img src="https://blog.pingoured.fr/public/.dependencygraph-2_m.jpg" alt="dependencygraph-2.png" style="display:block; margin:0 auto;" title="dependencygraph-2.png, Dec 2010" /></a>
(These pictures has been converted from svg to png and reduced)</p>
<p><a href="http://inputvalidation.blogspot.com/">sochotni</a> pointed out that it actually does a similar job than <a href="http://raftaman.net/?p=905">rpmorphan</a>, too bad, it was fun to do :-)</p>RPM repository for R packagesurn:md5:64b892f970d5f60b373ed96041dc51532010-04-23T23:25:00+01:002010-04-23T22:44:13+01:00Pierre-YvesGénéralBioinformaticsFedoraliste de diffusionmailing-listMailmanRR2specRPM<p>A RPM repository for R packages is being built</p>
<p>Un dépôts de RPM pour les bibliothèques R est en cours de création</p> <p><strong><em>English version</em></strong></p>
<p>At the moment I wrote this lines there is a group of people who have joined their effort to create a RPM repository for R packages in a similar way than <a href="http://debian.cran.r-project.org/">Dirk's work for APT</a>.</p>
<p>On the technical point, the RPMs will be built using <a href="https://fedorahosted.org/r2spec/">R2rpm</a> which have some consequences regarding the RPM generation (there is no -devel sub-packages and rpmlint is not silent for example).</p>
<p>We are busy at the moment trying to get and set up the architecture since we would like to support 4 versions:</p>
<pre>- CentOS/RHEL 5 i386 and x86_64
- The latest version of Fedora i686 and x86_64</pre>
<p>For that we will need some "builders" most likely some VM.</p>
<p>In order to discuss the creation of this project we have set up a mailing list available at:
<a href="http://www.bioinformatics.org/mailman/listinfo/r-repo-dev">http://www.bioinformatics.org/mailman/listinfo/r-repo-dev</a></p>
<p>Feel free to join the list to get some more information about its development and to help us making the project reality.</p>
<p><br />
<br /></p>
<p><strong><em>French version</em></strong></p>
<p>Il y a à l'heure actuelle un petit groupe de personnes qui s'est constitué avec pour objectif de construire un dépôt RPM pour les bibliothèques R.
Ce projet est très proche du projet de <a href="http://debian.cran.r-project.org/">Dirk pour APT</a>.</p>
<p>D'un point de vue technique, les RPMs seront construits avec <a href="https://fedorahosted.org/r2spec/">R2rpm</a> ce qui a quelque conséquences sur les RPMs généré (pas de sous paquet -devel et rpmlint n'est pas silencieux par exemple).</p>
<p>À l'heure actuelle nous sommes en train d'essayer de réunir l'infrastructure. Nous souhaitons supportés 4 versions:</p>
<pre>- CentOS/RHEL 5 i386 and x86_64
- La dernière version de Fedora i686 and x86_64</pre>
<p>Il nous faut donc pour ça quelques "builder" vraisemblablement des machines virtuelles.</p>
<p>Pour discuter de ce projet nous venons de mettre en place une liste de diffusion, disponible à : <a href="http://www.bioinformatics.org/mailman/listinfo/r-repo-dev">http://www.bioinformatics.org/mailman/listinfo/r-repo-dev</a></p>
<p>N'hésitez pas à nous rejoindre pour suivre le projet ou pour nous aider à en faire une réalité.</p>R2rpm on cranurn:md5:c5068a3f990f20275443024868e1a9682010-03-25T09:58:00+00:002010-03-25T10:01:13+00:00Pierre-YvesRPMsFedoraPythonRR2specRPM<p>Building cran RPM via R2rpm</p>
<p>Construire des RPMs du cran avec R2rpm</p> <p><strong><em>English format</em></strong></p>
<p>Using the <a href="http://cran.at.r-project.org/src/contrib/PACKAGES">PACKAGES</a> file from the <a href="http://cran.r-project.org/">CRAN</a> I was able to generate a list of 670 packages that do not depend on anything else than R.</p>
<p>This morning I ran R2rpm on the first 100, it took around 3h and there are the results:</p>
<pre>89 packages built
['ADGofTest', 'AMORE', 'AlgDesign', 'Animal', 'BGSIMD', 'BMN', 'BPHO', 'BayesValidate', 'Bhat', 'BiasedUrn', 'Biodem', 'Bolstad', 'Bolstad2', 'BootCL', 'CAVIAR', 'CCP', 'CDFt', 'CHsharp', 'CORElearn', 'CTT', 'ClinicalRobustPriors',
'ComPairWise', 'CompetingRiskFrailty', 'ConvCalendar', 'CreditMetrics', 'CvM2SL1Test', 'CvM2SL2Test', 'DEA', 'DEMEtics', 'DEoptim', 'DTDA', 'DTK', 'Davies', 'Defaults', 'DiversitySampler', 'EMJumpDiffusion', 'EbayesThresh',
'ElectroGraph', 'ExPD2D', 'FBN', 'FITSio', 'FKBL', 'FNN', 'Flury', 'GPArotation', 'GWRM', 'GeneF', 'GillespieSSA', 'HAPim', 'HI', 'HMM', 'HMR', 'ISOcodes', 'Imap', 'Iso', 'JADE', 'JudgeIt', 'Kendall', 'LDtests', 'LIStest', 'LearnBayes',
'LearnEDA', 'LogitNet', 'LowRankQP', 'MAMSE', 'MCE', 'MKLE', 'MLDA', 'MLEcens', 'MMG', 'MMIX', 'MPV', 'MSVAR', 'MTSKNN', 'ModelGood', 'Multiclasstesting', 'NMFN', 'NORMT3', 'OPE', 'ORIClust', 'ORMDR', 'Oarray', 'OrdMonReg',
'PBSddesolve', 'PLIS', 'POT', 'PSAgraphics', 'Peaks', 'PearsonICA']
11 packages failed
['BioStatR', 'BoSSA', 'BradleyTerry', 'BradleyTerry2', 'CPE', 'Cairo', 'FracSim', 'GDD', 'KFAS', 'MImix', 'OAIHarvester']</pre>
<p>Damn this is good ! :-)</p>R2spec / R2rpmurn:md5:497c6da053d64dcc4736c98deb97bd3b2010-03-24T21:26:00+00:002011-06-29T14:17:48+01:00Pierre-YvesRPMsFedoraPythonRR2specRPM<p><img src="https://blog.pingoured.fr/public/rpm.png" alt="rpm.png" /><img src="https://blog.pingoured.fr/public/source.png" alt="source.png" /></p>
<p>New version of R2spec in the pipes</p>
<p>Une nouvelle version de R2spec dans les tuyaux</p> <p><strong><em>English version</em></strong></p>
<p>There is a new version of R2spec in the pipes, this version fixes some bugs and introduces some new features.
The main of these features is the presence of <strong>R2rpm</strong> now.</p>
<p>R2rpm generate the complete rpm directly from a url, the sources or simply the name of the package.
It builds the package twice, once to determine the %file section and once to generate the RPM.</p>
<p>I fixed the length of the %description so that it is not bigger than the mandatory 75 characters, the summary is also corrected if it ends with a dot.</p>
<p>Tonight I have been playing with this new version, I was able to generate in the fly a bit more than 70 RPMs for R libraries in just few minutes (ok maybe it tooks a couple of hours :-)).</p>
<p>All the RPMs work, there are not rpmlint compliant so there would need more work if we want to integrate them into the repository but it is a good basis.</p>
<p>Something that I still want to do before to release officially the version 3.0.0 is the possibility to build the dependencies of a given package. Basically, this would allow to build RPM for one package and all the packages of which it depends.</p>
<p>For those who would like to test you can find the source, srpm and rpm in
<a href="https://fedorahosted.org/releases/r/2/r2spec/">https://fedorahosted.org/releases/r/2/r2spec/</a>
(latest release so far 3.0.0-0.4).</p>
<p>Do not hesitate to test it and report any issue you find in it :-)</p>
<p>Hope you like it !</p>R2spec version 2.5.3urn:md5:88dd45411190b9afa0768aa423405e742009-08-02T21:45:00+02:002011-06-29T15:18:18+02:00Pierre-YvesGénéralFedoraPythonRR2specRPM<p><img src="https://blog.pingoured.fr/public/rpm.png" alt="rpm.png" /><img src="https://blog.pingoured.fr/public/source.png" alt="source.png" /></p>
<p>New release of R2spec</p>
<p>Nouvelle version de R2spec</p> <p><strong><em>English version</em></strong></p>
<p>And there came the time again to release a new version of the tool R2spec.</p>
<p>For memories R2spec is a tool to help generating spec file for R libraries.</p>
<p>The changelog for the new version is available at the bottom.</p>
<p><br />
<br /></p>
<p><strong><em>French version</em></strong></p>
<p>Et voici venu le temps de faire une nouvelle version de notre outil R2spec.</p>
<p>Pour mémoire R2spec est un outil pour aider à générer des fichiers spec pour les bibliothèques R.</p>
<p>Le changelog pour cette nouvelle version est disponible si dessous.</p>
<p><br /></p>
<pre>Version 2.5.3 -- 02nd Aug 2009
- Features added
* Prints warning if summary is empty
* Prints warning if description is empty
* Add support for r-forge.net (option --rforge)
* Add support for r-forge.r-project.org (option --rproject)
* Add the prefix R- to the list of dependencies with a list of package to ignore (ie: R)
* Add a default source0 and url if the bioconductor release is not set
- Bugs correction
* Does not add the 'Requires:' to the spec if they are empty
* Changes the '-' into '.' if the version of the R library contains any '-'</pre>R2spec version .2.5.2urn:md5:cd187f0a2b97197140904387d09905962009-03-22T22:14:00+01:002011-06-29T15:18:38+02:00Pierre-YvesGénéralBioconductorFedoraPythonRR2specRPM<p><img src="https://blog.pingoured.fr/public/rpm.png" alt="rpm.png" /><img src="https://blog.pingoured.fr/public/source.png" alt="source.png" /></p>
<p>New release of R2spec</p>
<p>Nouvelle version de R2spec</p> <p><strong><em>English version</em></strong> (Français ci-dessous)</p>
<p>I am glad to announce the new release of R2spec, the version 2.5.2.</p>
<p>This program aims at helping as much as possible people who wants to package R libraries.</p>
<p>At the end of this post you can find the changelog for this new release.</p>
<p>Feed back, bugs and suggestion are more than welcome either here or in <a href="https://fedorahosted.org/r2spec">https://fedorahosted.org/r2spec</a>.</p>
<p>Thanks</p>
<p><br />
<strong><em>French version</em></strong></p>
<p>Je vous annonce avec plaisir la sortie de la nouvelle version de R2spec (version 2.5.1).</p>
<p>Ce programme a pour but de faciliter au maximum la création de RPM pour les bibliothèques R.</p>
<p>Vous trouverez ci-dessous les changements de cette nouvelle version.</p>
<p>Retour, bogues et suggestions sont plus que les bienvenues soit ici soit sur <a href="https://fedorahosted.org/r2spec">https://fedorahosted.org/r2spec</a>.</p>
<p>Merci</p>
<pre>Version 2.5.2 -- 21st Mar 2009
-Features added
* Do not ask to move the file if there is no %_topdir
* Add option -c/--copyFile to copy the source to %_topdir without asking
* Add the option -n/--name to specify the name of the packager
* Add the option -e/--email to specify the email of the packager
* Add the option -f/--force that create the spec file with the normal
name even if there is already such a file in the working directory
* Add zip support
* Remove the '(', ')' and the ',' in the BuildRequire and Require of the spec
* Check if the source actually exists (it was about time...)
* Better handling of the exception
* Change %define to %global in the generated spec according to the new guidelines
-Bugs correction
* Typo -> 'Copy to' and not 'copy in'
* Change the comment on the spec for x86/x86_64 and noarch
* Actually copy the source file to the SOURCES folder
* The Source0 is not a template anymore it is either from -s or it is -u</pre>R2spec version 2.5.1urn:md5:a94f1394d55e21c87fe5b483d3d5eabd2008-10-08T10:06:00+02:002011-06-29T15:19:02+02:00Pierre-YvesGénéralBioconductorFedoraPythonRR2specRPM<p><img src="https://blog.pingoured.fr/public/rpm.png" alt="rpm.png" /><img src="https://blog.pingoured.fr/public/source.png" alt="source.png" /></p>
<p>New release of R2spec</p>
<p>Nouvelle version de R2spec</p> <p><strong><em>English version</em></strong> (Français ci-dessous)</p>
<p>I am glad to announce the new release of R2spec, the version 2.5.1.</p>
<p>This program aims at helping as much as possible people who wants to package R libraries.</p>
<p>At the end of this post you can find the changelog for this new release.</p>
<p>Feed back, bugs and suggestion are more than welcome either here or in <a href="https://fedorahosted.org/r2spec">https://fedorahosted.org/r2spec</a>.</p>
<p>Thanks</p>
<p><br />
<strong><em>French version</em></strong></p>
<p>Je vous annonce avec plaisir la sortie de la nouvelle version de R2spec (version 2.5.1).</p>
<p>Ce programme a pour but de faciliter au maximum la création de RPM pour les bibliothèques R.</p>
<p>Vous trouverez ci-dessous les changements de cette nouvelle version.</p>
<p>Retour, bogues et suggestions sont plus que les bienvenues soit ici soit sur <a href="https://fedorahosted.org/r2spec">https://fedorahosted.org/r2spec</a>.</p>
<p>Merci</p>
<pre>Version 2.5.1 -- 07th Oct 2008
-Features added
* Add the summary from Title in the DESCRIPTION file
* Add the possibility to have a ~/.R2spec.conf which overrides the /etc/R2spec.conf
-Bugs correction
* Correct a typo SOURCES != SOURCE
* Copy from ./ to ~/rpmbuild and not ../ Bug #1
* Change "summary should be not be longer than that" to "summary should be not be longer than this"
* Create the function finishName in the spec class to avoid redundancy in the code
* Move the check of the specfile to Package.py to avoid redundancy in the code
* Change some layout in the output</pre>R2spec nouvelle version !urn:md5:243e5885a29e05680b632f9b6ff1b47c2008-08-31T13:25:00+02:002011-06-29T15:19:22+02:00Pierre-YvesGénéralBioconductorFedoraPythonRR2specRPM<p><img src="https://blog.pingoured.fr/public/rpm.png" alt="rpm.png" /><img src="https://blog.pingoured.fr/public/source.png" alt="source.png" /></p>
<p>R2spec, the latest release, full of features !</p>
<p>R2spec, une nouvelle version pleine de surprises !</p> <p><strong><em>English version</em></strong></p>
<p>There is the latest version of R2spec, I have been working quite a bit on it with the suggestion of faceface from #R on irc.freenode.net to improve this software. Therefore the changelog for this new release is quite long and the list of features added seems also important.</p>
<p>The principle is still the same: make R packages as simple as possible.</p>
<p>Seems there are mainly two sources of libraries for R (<a href="http://bioconductor.org">Bioconductor</a> and <a href="http://cran.r-project.org/mirrors.html">the CRAN</a>) I added two options (<code>--bioc</code> and <code>--cran</code>) that add the Source0 and the URL in the spec file if it has not been defined by the <code>--url</code> option.</p>
<p>From that I aslo considered the case of the noarch packages, it now looks for *.c, *.C, *.cp, *.cpp, *.f and *.F files, if it does not find any it consider the package as noarch and thus adapt the specfile for that.</p>
<p>It also offers the possibility to move the source to %_topdir (defined in ~/.rpmmacros) so that you can directly run the <code>rpmbuild -ba</code> once you have made the small correction advised on the spec file.</p>
<p>That's the main features added, you can see below the changelog for this new release and you can always test and give feed back, report bugs and suggest enhancement on the trac of the <a href="https://fedorahosted.org/r2spec/">R2spec project</a></p>
<p>The RPMs and sources are available on the git of the <a href="https://fedorahosted.org/r2spec/browse">R2spec project</a>.</p>
<p>Thanks for your attention ;-)</p>
<p><br />
<strong><em>French version</em></strong></p>
<p>Voici la dernière version de R2spec, j'ai pas mal bossé dessus notamment grâce aux suggestions de faceface de #R sur irc.freenode.net. Le programme c'est pas mal améliorer et le journal des changements sur cette version est donc plutôt long.</p>
<p>Le but de ce programme est toujours le même, rendre la création de paquet de bibliothèque R le plus simple possible.</p>
<p>Puisqu'il y a majoritairement deux sources pour les bibliothèques R (<a href="http://bioconductor.org">Bioconductor</a> et <a href="http://cran.r-project.org/mirrors.html">le CRAN</a>) j'ai ajouté deux options (<code>--cran</code> et <code>--bioc</code>) qui permettent de définir les Source0 et URL du fichier spec s'ils n'ont pas été déjà définis par l'option <code>--url</code>.</p>
<p>J'ai aussi pris en compte le cas des paquets noarch en cherchant dans les sources des fichiers *.c, *.C, *.cp, *.cpp, *.f et *.F. S'il n'en trouve aucun le paquet est considéré comme noarch et le fichier spec est donc modifié en conséquence.</p>
<p>Cette version offre aussi la possibilité de déplacer le tarball dans le %_topdir (définis dans le ~/.rpmmacros) pour que l'on puisse faire facilement <code>rpmbuild -ba</code> une fois que l'on a fais les petits changements recommandé dans le fichier spec.</p>
<p>Voila pour les principales fonctionnalités ajoutées dans cette version. Ci-dessous ce trouve le changelog et bien entendu bugs, demande d'amélioration et retour sur son fonctionnement sont les bienvenus ici ou sur le trac du <a href="https://fedorahosted.org/r2spec/">projet R2spec</a>.</p>
<p>Les RPMs et le sources sont disponible sur le git du <a href="https://fedorahosted.org/r2spec/browse">project R2spec</a>.</p>
<p>Merci et bon dimanche ! ;-)</p>
<p><br />
<br /></p>
<pre>
Version 2.5.0 -- 31th Aug 2008
-Features added
* Add a file INSTALL
* Add the --bioc option for bioconductor packages
- Fill the source0 if -s is not used
- Fill the url
* Add the --cran option for cran packages
- Fill the source0 if -s is not used
- Fill the url
* Add %define BioC for the Bioconductor release of Bioconductor packages
* Add check if the package is noarch or not
* Add oportunity to copy the source in the %_topdir defined in .rpmmacros
* Add a parameter in the config file for the version on Bioconductor used
* Add a Spec class to write the spec file
* Add a Noarch class that inherit the Spec class and handle the noarch package case
* Ask what to do if the specfile is alreay in the current working directory
-Bugs correction
* Catch the Description in the file DESCRIPTION when it is on several lines
* Catch the Depends and Suggests when they are on several lines
* Now it does load the info from the config file
* Fix some layout in this file</pre>R2spec v1.2urn:md5:dcc3c11a947596ad237949d7c65ca75c2008-02-27T15:09:00+01:002008-08-28T13:48:45+02:00Pierre-YvesGénéralPythonRR2specRPM<p><img src="https://blog.pingoured.fr/index.php?post/2008/02/27/public/rpm.png" alt="rpm.png" /><img src="https://blog.pingoured.fr/index.php?post/2008/02/27/public/source.png" alt="source.png" /></p>
<p>New release of R2spec</p>
<p>Nouvelle version de R2spec</p> <p><strong><em>French version</em></strong></p>
<p>Suite aux remarques faites par torbjorn sur les résultats de ce programme je l'ai adapté pour éviter de nouvelles erreurs..</p>
<p>Merci torbjorn ;-)</p>
<p>Les nouvelles foncitonnalités sont donc:</p>
<ul>
<li>Retirer ce qui suit un "-" si le numéro de version en contient un</li>
<li>Correction d'une erreur de frappe en standart output</li>
<li>Quand le programme est lancé avec une url en argument vérifier la présence de la source dans le dossier courant et ne la télécharger que si elle n'est pas là.</li>
</ul>
<p>Je vous renvois à mon <a href="https://blog.pingoured.fr/blog/index.php?post/2008/02/13/R2spec" hreflang="fr">premier billet</a> pour de plus amples informations sur ce programme.</p>
<p><a href="http://pingoured.dyndns.org/public/R2spec_1.2.py">R2spec_1.2.py</a></p>
<p><strong><em>English version</em></strong></p>
<p>Based on the remarks from torbjorn, there are the corrections made on the script so that it returns less errors...</p>
<p>Thank you torbjorn ;-) (once agian ;-) )</p>
<p>The new feature are then:</p>
<ul>
<li>Remove "-\d" if the version contains one</li>
<li>Correct output typo</li>
<li>From an url, check if the source are present in the working directory, download only if not...</li>
</ul>
<p>You can get more information on this soft on <a href="https://blog.pingoured.fr/blog/index.php?post/2008/02/13/R2spec" hreflang="en">my first post</a>.</p>
<p><a href="http://pingoured.dyndns.org/public/R2spec_1.2.py">R2spec_1.2.py</a></p>R2spec v1.1urn:md5:522b608bafccb9540853bf8ee9caa64e2008-02-26T12:20:00+01:002008-08-28T13:48:53+02:00Pierre-YvesGénéralPythonRR2specRPM<p><img src="https://blog.pingoured.fr/index.php?post/2008/02/26/public/rpm.png" alt="rpm.png" /><img src="https://blog.pingoured.fr/index.php?post/2008/02/26/public/source.png" alt="source.png" /></p>
<p>New release of R2spec</p>
<p>Nouvelle version de R2spec</p> <p><strong><em>French version</em></strong></p>
<p>J'ai pris ce matin le temps de mettre à jour mon programme python pour lui mettre les quelques fonctionnalitées que j'avais en tête...</p>
<p>Les nouvelles foncitonnalités sont donc:</p>
<ul>
<li>Le dossier crée lors de la décompression des sources est supprimé</li>
<li>Les sources peuvent être dans le dossier courant ou un sous dossier quelquonque</li>
<li>Le mode d'emploi est affiché si aucun argument n'est donné</li>
<li>Le dossier 'tmp' crée pour décompressé les archives, est supprimé s'il est vide</li>
</ul>
<p>Je vous renvois à mon <a href="https://blog.pingoured.fr/blog/index.php?post/2008/02/13/R2spec" hreflang="fr">premier billet</a> pour de plus amples informations sur ce programme.</p>
<p><a href="http://pingoured.dyndns.org/public/R2spec_1.1.py">R2spec_1.1.py</a></p>
<p><strong><em>English version</em></strong></p>
<p>I took the time this morning to improve my program R2spec in order to give it the feature I was thinking about...</p>
<p>The new feature are then:</p>
<ul>
<li>Removes the folder create by the decompressing the sources</li>
<li>Works if the sources are in the current directory or a subdirectory</li>
<li>Returns the usage if no argument are given</li>
<li>Removes the 'tmp' directory created for decompressing the source if they are empty at the end</li>
</ul>
<p>You can get more information on this soft on <a href="https://blog.pingoured.fr/blog/index.php?post/2008/02/13/R2spec" hreflang="en">my first post</a>.</p>
<p><a href="http://pingoured.dyndns.org/public/R2spec_1.1.py">R2spec_1.1.py</a></p>R2specurn:md5:93cb38b5c0a9d74a272fd8106bdf4b9e2008-02-13T19:05:00+01:002008-08-28T13:49:03+02:00Pierre-YvesGénéralPythonR<p><img src="https://blog.pingoured.fr/index.php?post/2008/02/13/public/rpm.png" alt="rpm.png" /><img src="https://blog.pingoured.fr/index.php?post/2008/02/13/public/source.png" alt="source.png" /></p>
<p>A small python script to generate specfile for R libraries</p>
<p>Un petit script en python pour créer des spec pour les packages R</p> <p><strong><em>French Version</em></strong></p>
<p>Pour apprendre le python je me suis amusé à créer l'équivalent du fameux cpan2spec pour les bibliothèques R.</p>
<p>Je remet un petit lien sur le site du <a href="http://www.r-project.org" hreflang="en">Projet R</a> pour ceux qui connaissent mal ce langage :)</p>
<p>Et pour tester mon script je vous l'ai mis en ligne sur <a href="http://pingoulaptop.dyndns.org/R2spec_1.0.py">R2spec</a></p>
<p>Enjoy !</p>
<p><br /></p>
<p><strong><em>English version</em></strong></p>
<p>In order to learn python I have written a small script based on the idea of cpan2spec for the R libraries...</p>
<p>More information about R can be found on the <a href="http://www.r-project.org" hreflang="en">R Project</a>.</p>
<p>If you want to test this script feel free to try <a href="http://pingoulaptop.dyndns.org/R2spec_1.0.py">R2spec</a></p>
<p>Let me know what you think about it :)</p>
<p>Enjoy !</p>R 2.6 et Bioconductor 2.1urn:md5:0a052966f9e9fc326d60a65ce15633e22007-10-16T14:47:00+02:002007-10-17T10:51:33+02:00Pierre-YvesGénéralBioconductorR<p>R 2.6 is out and Bioconductor 2.1 to</p>
<p>R 2.6 est sortie et Bioconductor 2.1 aussi</p> <p><strong><em>French version</em></strong></p>
<pre><a href="http://www.r-project.org/" hreflang="en">R</a> 2.6 est sortie !!</pre>
<p>J'ai beau être en retard sur sa sortie (le 3 octobre), je voulais faire un petit mot pour dire que la dernière version de <a href="http://www.r-project.org/" hreflang="en">R</a> est sortie et est maintenant disponible sous Fedora Core 6, Fedora 7 et la version encore en développement de Fedora la Fedora 8.</p>
<p>R 2.6 inclu quelques nouveautées:</p>
<ul>
<li>En tant que packagers de bibliothèques R je suis intéressé par l'addition d'une copie de la license utilisé par la bibliothèque aux sources de celle-ci.</li>
<li>À noté par contre que comme chaque changement de version certaines fonction deviennet obsolètes et que par conséquent il faudras sans doute revoir certaine commande dans vos scripts...</li>
</ul>
<p><a href="https://stat.ethz.ch/pipermail/r-announce/2007/000832.html" hreflang="en">Le mail d'annonce</a> de la sortie de R 2.6 vous en apprendras plus sur les nouveautés de cette version.</p>
<p><a href="http://bioconductor.org/" hreflang="en">Bioconductor</a> 2.1 est sortie !!</p>
<p>Bioconductor est un dépôt de bibliothèques R orientées analyse bioinformatique et <a href="http://fr.wikipedia.org/wiki/Puce_%C3%A0_ADN" hreflang="fr">puces à ADN</a>, on y retrouve les bibliothèque telle que Affy ou Biobase qui sont très utilisé dans l'analyse statistique de ces dites puces à ADN.
Dans cette nouvelle version de Bioconductor compilé pour R 2.6 vous trouverez un certain nombres de nouveautées dans les bibliothèque précédement proposées mais aussi un certain nombre de nouvelles.</p>
<p><a href="http://article.gmane.org/gmane.science.biology.informatics.conductor/15104/" hreflang="en">Le mail de publication</a> de la nouvelle version de bioconductor vous en apprendras plus sur ces changements et les nouveautées.</p>
<p><br /></p>
<p><br />
<strong><em>English version</em></strong></p>
<pre><a href="http://www.r-project.org/" hreflang="en">R</a> 2.6 is out !!</pre>
<p>Even late on the event, I wanted to do a small post about the new release of <a href="http://www.r-project.org/" hreflang="en">R</a>2.6, thanks to the work done by <a href="http://spot.livejournal.com/" hreflang="en">Spot</a> R 2.6 is now available for Fedora Core 6, Fedora 7 and the rawhide version Fedora 8.</p>
<p>R 2.6 includes some new things:</p>
<ul>
<li>As package of R libraries I am interested in the fact that now R libraries should include a copy of the license under which they are published.</li>
<li>You should know that as with all new release some commands are deprecated, so some scripts might have to be revised.</li>
</ul>
<p><a href="https://stat.ethz.ch/pipermail/r-announce/2007/000832.html" hreflang="en">The annoucement</a> should learn you more about these changes.</p>
<p><a href="http://bioconductor.org/" hreflang="en">Bioconductor</a> 2.1 is out !!</p>
<p>Some days later the new version of Bioconductor has been released to. Bioconductor is a R repository for libraries oriented on bioinformatic and <a href="http://en.wikipedia.org/wiki/DNA_microarray" hreflang="en">microarrays</a>. You will find there some libraries like Affy and Biobase that are really well used for the statistical analysis of microarrays.
This new release done for R 2.6 includes quite some change in the previous libraries but also put some new libraries as stable.</p>
<p><a href="http://article.gmane.org/gmane.science.biology.informatics.conductor/15104/" hreflang="en">The annoucement </a> should give you more information about these changes.</p>Quelques nouvelles Fedoraurn:md5:186f28e2e422398ea44315913a1ea3b52007-07-15T22:37:00+02:002007-07-17T19:00:19+02:00Pierre-YvesGénéralEventsExtrasFedoraRRPM<p>Some news from and Fedora</p>
<p>Quelques nouvelles de pingou et Fedora</p> <p><strong><em>French version</em></strong></p>
<p>Voila je n'ai pas été bien bavard ces derniers temps, alors je me décide à vous donner quelques nouvelles...</p>
<p>Mon silence ne signifiant pas l'absence de nouveauté sous Fedora:</p>
<p>1) Suite à la demande de revue de quelques (9) RPMs pour des bibliothèques R. Le <a href="http://fedoraproject.org/wiki/PackagingDrafts/R#head-07c92be5eaf62b24119d3ea2ff4cf93bf05eea22">guide de packaging pour les bibliothèques R</a> pour Fedora ont été publiée.</p>
<p>2) Suite à la parution des ce guide de packaging, ma première, puis seconde bibliothèque R ont été approuvée.</p>
<p>3) Ce week-end je suis allé me promener aux <a href="http://www.rmll.info/" hreflang="fr">Rencontres Mondiales du Logiciel Libre</a>, après m'être promener dans <a href="http://fr.wikipedia.org/wiki/amiens">Amiens</a> pour trouver le lieux (très jolie ville au passage). J'en retrouvé quelques contacts connus de l'IP de Paris et des 24h de l'informatique de Maubeuge. J'ai aussi rencontrer un deboggueur OOo, un contributeur de Compiz, et bien sur quelques utilisateurs de Fedora présent à ce salon...</p>
<p>J'y ai ensuite retrouvé quelques amis, <a href="http://remi.collet.free.fr/">RemiFedora</a>, <a href="http://blog.sereinity.homelinux.org/" hreflang="fr">sereinity</a>, <a href="http://charles.vinchon.fr/journal/">littlecharly</a>...</p>
<p>Voila c'est quelques lignes pour vous tenir au courant de mes actualités Fedora... Mais il me reste quelques todo:</p>
<ul>
<li>Comprendre comment marche cvs et intégré mes RPM dans le FPC ;-)</li>
<li>Finir de faire approuver mes RPMs :-)</li>
<li>Finir le livret de présentation de Fedora pour les événements :-)</li>
</ul>
<p><strong><em>English version</em></strong></p>
<p>Well I have not been writing a lot recently, so there is a little update on what is new for me on Fedora</p>
<p>1) Once I put some (presently 9) packages for review on the bugzilla. The <a href="http://fedoraproject.org/wiki/PackagingDrafts/R?highlight=%28packaging%29">packaging guidelines for R</a> have been published.</p>
<p>2) Once these guidelines have been published my first and then second package for R have been approved.</p>
<p>3) I went to the <a href="http://www.rmll.info/?lang=en">Libre Sofware Meeting</a> in <a href="http://en.wikipedia.org/wiki/Amiens" hreflang="en">Amiens</a> this week end. It has been a very nice place to meet some Fedora user, and other contributor ie from Open Office.</p>
<p>I also met some friend from Fedora-fr, <a href="http://remi.collet.free.fr/">RemiFedora,</a> <a href="http://blog.sereinity.homelinux.org/" hreflang="fr">sereinity</a> and <a href="http://charles.vinchon.fr/journal/" hreflang="fr">littlecharly</a>.</p>
<p>That was just few words to keep you in touch with what I am working on actually... But well.. I still have some things on my todo list :-p :</p>
<ul>
<li>Understand how works cvs to put my package on... ;-)</li>
<li>Finish to have my packages approved :-)</li>
<li>Finish the introduction to Fedora booklet for the French Fedora events. :-)</li>
</ul>Une journée au boulot..urn:md5:0bf0e69997766201f2303a65924bef532007-06-14T19:14:00+02:002007-06-14T18:16:21+02:00Pierre-YvesRPMsJabRefRR-maanovaR-plsRPMSteGUI<p>A day at work...</p>
<p>Une journée productive</p> <p><strong><em>French version</em></strong></p>
<p>Aujourd'hui fut une bonne journée, en effet, journée de boulot... résultat :</p>
<ul>
<li>JabRef passé à mock et corrigé en conséquence</li>
<li>SteGUI proposé sur le bugzilla pour review <a href="https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=244171" hreflang="en">Bug 244171</a></li>
</ul>
<p>Je rappel juste que mon boulot n'est pas de faire des RPMs :-D</p>
<p>Bon je vais pas non plus ne rien faire de ma soirée alors</p>
<ul>
<li>R-maanova proposé sur le bugzilla <a href="https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=244234" hreflang="en">bug 244234</a></li>
<li>R-pls toujours sur le bugzilla <a href="https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=244237">bug 224237</a></li>
</ul>
<p>Voila après j'ai trouvé plein de logiciels de bioinformatique à essayer :-p</p>
<p><strong><em>English version</em></strong></p>
<p>Today has been a good working day... at work I managed to do :</p>
<ul>
<li>JabRef has been through mock and has corrected in consequence (I know I should have done it before :-/ )</li>
<li>SteGUI review request on the bugzilla <a href="https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=244171" hreflang="en">Bug 244171</a></li>
</ul>
<p>Just for memory, my job is not to compile RPMs :-D</p>
<p>But as I do not want to do nothing this evening I submit for review on the bugzilla :</p>
<ul>
<li>R-maanova <a href="https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=244234" hreflang="en">bug 244234</a></li>
<li>R-pls <a href="https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=244237">bug 224237</a></li>
</ul>
<p>And to conclude I found some nice bioinformatic program to compile in the coming days :-D</p>RPM R-plsurn:md5:1559bda547f8bc973dd266cd86043e442007-06-13T20:53:00+02:002007-07-30T18:19:05+02:00Pierre-YvesRPMsRR-plsRPM<p><img src="https://blog.pingoured.fr/blog/public/rpm.png" alt="rpm.png" />R-pls - Multivariate regression by PLSR and PCR</p>
<p>R-pls-Régression multivariée par PLSR et PCR</p> <p><strong><em>French version</em></strong></p>
<p>R-pls</p>
<p>Régression multivariée par la technique des moindres carrés et
l'analyse en composants principales</p>
<p><strong><em>English version</em></strong></p>
<p>R-pls</p>
<p>Multivariate regression by partial least squares regression (PLSR)
and principal component regression (PCR)</p>
<p><a href="http://mevik.net/work/software/pls.html" hreflang="En">Official website</a></p>
<p><a href="http://pingoured.dyndns.org/public/RPM/R-pls/R-pls-2.0-2.fc6.noarch.rpm">R-pls-2.0-2.fc6.noarch.rpm</a></p>
<p><a href="http://pingoured.dyndns.org/public/RPM/R-pls/R-pls-2.0-2.fc6.src.rpm">R-pls-2.0-2.fc6.src.rpm</a></p>
<p><a href="http://pingoured.dyndns.org/public/RPM/R-pls/R-pls.spec">R-pls.spec</a></p>
<p><ins><em>To set up</em></ins></p>
<p>su --login -c 'rpm -Uvh http://pingoured.dyndns.org/public/RPM/R-pls/R-pls-2.0-2.fc6.noarch.rpm'</p>R-Dyndoc-1.14.0urn:md5:1702e3d27949d11b97db8d590a3916d72007-05-24T18:14:00+00:002007-07-30T17:20:05+00:00Pierre-YvesRPMsDyndocRRPM<p><img src="https://blog.pingoured.fr/blog/public/rpm.png" alt="rpm.png" />R-Dyndoc-1.14.0 - Functions for dynamic documents</p>
<p>R-Dyndoc-1.14.0 - Fonctions pour des documents dynamique</p> <p>R-Dyndoc-1.14.0</p>
<p>Ensemble de fonctions pour crée une interface avec des documents dynamique et des vignettes</p>
<p><strong><em>English version</em></strong>
R-Dyndoc-1.14.0</p>
<p>A set of functions to create and interact with dynamic documents and
vignettes.</p>
<p><a href="http://bioconductor.org/packages/2.0/bioc/html/DynDoc.html" hreflang="En">Official website</a></p>
<p><a href="http://pingoured.dyndns.org/public/RPM/R-Dyndoc/R-DynDoc-1.14.0-2.fc6.noarch.rpm">R-DynDoc-1.14.0-2.fc6.noarch.rpm</a></p>
<p><a href="http://pingoured.dyndns.org/public/RPM/R-Dyndoc/R-DynDoc-1.14.0-1.fc7.src.rpm">R-DynDoc-1.14.0-1.fc7.src.rpm</a></p>
<p><a href="http://pingoured.dyndns.org/public/RPM/R-Dyndoc/R-DynDoc.spec">R-DynDoc.spec</a></p>
<p><ins><em>To set up</em></ins></p>
<p>su --login -c 'rpm -Uvh http://pingoured.dyndns.org/public/RPM/R-Dyndoc/R-DynDoc-1.14.0-2.fc6.noarch.rpm '</p>