FYI: scons is making progress in packaging ...

Bo

---------- Forwarded message ----------
From: Philipp Scholl <[EMAIL PROTECTED]>
Date: Jun 28, 2006 7:20 AM
Subject: [scons-dev] Announcement: creating rpm packages
To: [EMAIL PROTECTED]


Hi there,

the packaging infrastructure is now able to create RPM packages. I
like you to try it and tell me what you think about it.



You can get the source code from:

* svn, http://scons.tigris.org/svn/scons/branches/packaging

* patch against scons-0.96.92,
https://teco62pc.teco.edu/projects/Scholl_SummerOfCode/attachment/wiki/WikiStart/patch-rpm-0.96.92.patch.bz2?format=raw



== example ==



Examples are included in the patch file, find them under the examples/
directory.



1. update the scons-0.96.92 release.

"bzip2 -dc patch-rpm-0.96.92.patch.bz2 | patch -p1"

2. change into examples/rpm_packaging/international

3. run "scons", which creates the foo-1.2.3-0.src.rpm and

foo-1.2.3-0.i386.rpm files.



The SConstruct of this example looks like this:



import os



prog_install = Install( os.path.join(

ARGUMENTS.get('prefix', '/'), 'bin'), Program( 'main.c' ) )

Tag( prog_install, unix_attr='(0755, root, users)'



Package( projectname = 'foo',

version = '1.2.3',

type = 'rpm',

license = 'gpl',

summary = 'hello',

summary_de = 'hallo',

summary_fr = 'bonjour',

packageversion = 0,

x_rpm_Group = 'Application/office',

x_rpm_Group_de = 'Applikation/büro',

x_rpm_Group_fr = 'Application/bureau',

description = 'this should be really long',

description_de = 'das sollte wirklich lang sein',

description_fr = 'ceci devrait être vraiment long',

source = [ 'main.c', 'SConstruct', prog_install ],

)



Alias ( 'install', prog_install )



The generated spec-file looks like this:



License: gpl

%define name foo

Name: %{name}

Summary: hello

%define version 1.2.3

Version: %{version}

%define release 0

Release: %{release}

Group: Application/office

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}

Source: foo-1.2.3-0.src.rpm.tar.gz

Summary(fr): bonjour

Summary(de): hallo

Group(fr): Application/bureau

Group(de): Applikation/büro



%description

this should be really long



%clean

rm -rf $RPM_BUILD_ROOT



%prep

rm -rf $RPM_BUILD_ROOT

%setup -q



%build

mkdir $RPM_BUILD_ROOT



%install

scons prefix=$RPM_BUILD_ROOT install



%description -l fr

ceci devrait être vraiment long



%description -l de

das sollte wirklich lang sein



%files

%defattr (-,root,root)

%attr (0755, root, users) /bin/main



== open issues ==



Since the collaboration of the Install() and Package() is not really
working, it is not possible to package non-generated files into an rpm
package. This will change in the next Milestone.



More information on this milestone and supported meta-data is
available from 
https://teco62pc.teco.edu/projects/Scholl_SummerOfCode/wiki/MilestoneTwo
.



Regards,

- Philipp Scholl

Attachment: pgpPHSe9YUSNV.pgp
Description: PGP signature

Reply via email to