Thanks :)

I think I've hit almost every combination of possible build on rpm side.
the FIXME are the remaining combinations for debian (e.g. no source, but a 
debian dir in the svn to build a empty virtual package like perl-OSCAR, or some 
exotic stuffs (no urgency here))

Note that I've modified the precommand run. Instead of running it in the 1st 
place, I run it when all sources are in places (tarballs and source are in the 
%_sourcedir (rpm) or extracted in packaging_dir (debian), content of 
rpm/<package> is in %_sourcedir (rpm) debian/ from svn is copied into extracted 
tarball, spec file from svn is copied in to packaging_dir 
(/tmp/oscar-pacakger/<package>/)

Thus no more need for copy precommand. The benefit: we can run commands that 
permit the build without needing to build. For example a make spec to generate 
the spec file (then we let oscar-packager finish the job).
This change was needed for systemimager packaging (debian side). Before the 
change, the precommand was run before the source was downloaded, and there was 
no way to generate the debian/control file. Downloading the source in the 
precommand was not efficient and not possible as it would be overwritten by the 
real download done afterward.

Now, everything is ready for us before we run the precommand.

Regards,

--
   Olivier LAHAYE
   CEA DRT/LIST/DCSI/DIR
________________________________
De : DongInn Kim [di...@cs.indiana.edu]
Date d'envoi : mardi 23 avril 2013 14:34
À : oscar-devel@lists.sourceforge.net
Objet : Re: [Oscar-devel] RE : oscar-packager: status update.

Excellent!

I also forgot to tell that now, if we have a package.cfg pointing a tarball and 
not spec file in the svn, then a tar build (-tb) is attempted. Used in latest 
ganglia for
example.
Thanks.

Regards,

--
- DongInn

On Apr 23, 2013, at 8:03 AM, Olivier Lahaye 
<olivier.laha...@free.fr<mailto:olivier.laha...@free.fr>> wrote:

Hi DongInn,

Yes, you did for the wget (download step) that's why I wanted to test the 
feature and discovered that it was not handled in the build step. see the logs 
for r9757 that completes the feature.
(svn diff -r 9756:9757).

I also forgot to tell that now, if we have a package.cfg pointing a tarball and 
not spec file in the svn, then a tar build (-tb) is attempted. Used in latest 
ganglia for
example.

I've also put some FIXME comments in places where enhancements are still 
possible.

Best regards,

Olivier Lahaye

Le 22 avr. 2013 à 18:29, DongInn Kim 
<di...@cs.indiana.edu<mailto:di...@cs.indiana.edu>> a écrit :

Great! Thanks for the notice and upgrading its feature.

I think I have implemented this on the a little older version (a month old) of 
oscar-packager.

Regards,

--
- DongInn

On Apr 22, 2013, at 12:23 PM, LAHAYE Olivier 
<olivier.lah...@cea.fr<mailto:olivier.lah...@cea.fr>> wrote:

Hi,

I forgot to thell that source URL can point to multiple source files using glob:

e.g: source = 
wget,http://www.sourceserver.org/pub/oscar/{mainsource.tar.bz2,my_patch1.patch,image.png,mainsource.spec}

Also not that if a spec file is provided into the source url, then it supersed 
the one present in the svn if present.

Regards,

Olivier.

--
   Olivier LAHAYE
   CEA DRT/LIST/DCSI/DIR
________________________________
De : LAHAYE Olivier
Date d'envoi : lundi 22 avril 2013 17:56
À : oscar-devel@lists.sourceforge.net<mailto:oscar-devel@lists.sourceforge.net>
Objet : [PROVENANCE INTERNET] [Oscar-devel] oscar-packager: status update.


Dear all,

I'm heavily working on oscar-packager trying to get most if not all packages to 
build on both rpm and debian distros.
Now oscar-packager is far more smart about packages creation and many more 
packages are now buyilding correctly under debian. (e.g. systemimager).
There is still a lot of work to fix build on both systems (moving main archive 
from src.rpm to tarball is sometimes difficult but far more easy to maintain 
afterward).

So, now here is what oscar-packager can build:

Once the source has been retrieved (from /etc/oscar/oscar-packager/*.cfg) into 
/tmp/oscar-packager/<packagename>

rpm side:
if a build.cfg lists a <package>.cfg, use this to retreive the sources of the 
package.
then
Then run build_rpm.sh (not sure of this)
copy all sources in the %_rpmsource directory
copy rpm/*spec in %_specdir
copy rpm/<packagename>/* to %_rpmsource directory
Then run the precommand from <packagename>.cfg if any
then build the package.

If no build.cfg, then trys to build the rpm using local spec files (in rpm/ 
dir). (usefull for virtual packages (no files) or package that retrieve their 
sources using wget).

then if all the above fails, tryes a "make rpm"

This fits most of the build cases

debian side:
if a build.cfg lists a <package>.cfg, use this to retreive the sources of the 
package.
then
Then run build_deb.sh (not sure of this)
copy all the sources in the /tmp/oscar-packager/<packagedir>
extract the 1st sourcefile
if no extractdir/debian directory, tryes to copy the svn debian dir if any

Then run the precommand from <packagename>.cfg if any
then build the package using dpkg-buildpackage

If no <package>.cfg exists
if /tmp/oscar-packager/<package>/debian exists tries a dpkgbuild from here.

If all above fails,

tries a "make deb".

Note that now, oscar-packager do not work anymore in $PKGDEST.
it works into $packagingdir (/tmp/oscar-packager/<packagename>/
- for rpm it runs the rpmbuild or the "make rpm" from here.
- for deb, it extracts the source here and run the dpkgbuild from the newly 
directory created
  or if no debian/ dir, then it tries make deb from here.

Thus, now, we should not find any garbage into the repositories (no more 
tarballs, src.rpm or such. (except for c3 package that moves itself the src.rpm 
there. Upstream is aware and hopefully will change this).

-------------------------------------------- Sumup 
---------------------------------
For a package to be buildable: (on both rpm and deb)
1/ have a build.cfg with requirements and names of packages to build 
(eventually common: section)

2/ have <package>.cfg per things to build containing the source url and 
evenutally a precommand.
Note that all packages that needs to be build on both rpm and deb must be in 
tarball format (any of .tar.gz, .tar.bz2 .tar.xz .tgz .tbz). if a source is 
.src.rpm, it'll fail on deb, so it's reserved for packages that are not needed 
on debian like blcr which is provided by distro. In such a case, the build.cfg 
contains a empty debian section (with a comment stating that noting is to be 
built).

3/ In some situation, we still use a Makefile. This makefile must have the 
following characteristics:
    - a rpm: and a deb: rule
    - both rules must accept the PKGDEST variable: resulting package must be 
moved to PKGDEST if PKGDEST is not null, otherwize, it must be left in place 
after build.

------------------------------------- new packages supported on debian 
------------------
- systemimager now builds on both pakacing system
- oscar-v
- oscar-installer
- system-update
- oscar-nat
- apitest
- jobmonarch-1.0 (still need work)
- ...

Regards,

--
   Olivier LAHAYE
   CEA DRT/LIST/DCSI/DIR
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter_______________________________________________
Oscar-devel mailing list
Oscar-devel@lists.sourceforge.net<mailto:Oscar-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/oscar-devel

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Oscar-devel mailing list
Oscar-devel@lists.sourceforge.net<mailto:Oscar-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/oscar-devel
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! 
http://p.sf.net/sfu/newrelic_d2d_apr_______________________________________________
Oscar-devel mailing list
Oscar-devel@lists.sourceforge.net<mailto:Oscar-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/oscar-devel

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Oscar-devel mailing list
Oscar-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oscar-devel

Reply via email to