Hi all,
I've been looking at improving the build system that the different E
modules have. At the moment there is no automatic creation of *.spec
files when running autofoo.
My proposal is to (foreach module) add the functionality so that the
spec file is automagically created and populated with the correct info
thus making it much easier to create rpms directly from CVS.
I.e. making this in the future would be possible:
cvs co e17/libs/ecore
[...]
cd ecore && ./autogen.sh --prefix=/usr --sysconfdir=/etc
Now the *.spec.in file is transformed into a *.spec file which can be
used to easily create rpms. Version number et al. are automagically
fixed by autofoo et al.
As an example I have attached a diff for ecore which solves this
problem. Attached is also the ecore.spec.in file that is needed for this
(cvs add). The old ecore.spec file should thus be removed (cvs rm)...
Is this something that will be accepted by the developers? If so, I'll
continue preparing the rest of the modules. At the moment I'll use plain
diff, but removing and adding files is not possible for me since it
requires write access to CVS.
Best,
/Richard Torkar
%define version @VERSION@
%define name @PACKAGE@
%define _missing_doc_files_terminate_build 0
Summary: Enlightened Core X interface library
Name: %name
Version: %version
Release: %(date '+%Y%m%d')
License: BSD
Group: User Interface/X
Source: ftp://ftp.enlightenment.org/enlightenment/%{name}-%{version}.tar.gz
URL: http://www.enlightenment.org/efm.html
Packager: %{?_packager:%{_packager}}%{!?_packager:Richard Torkar <[EMAIL
PROTECTED]>}
Vendor: %{?_vendorinfo:%{_vendorinfo}}%{!?_vendorinfo:The Enlightenment Project
(http://www.enlightenment.org/)}
Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}}
#BuildSuggests: xorg-x11-devel
BuildRequires: libjpeg-devel >= @LIBJPEG_REQUIRED@
BuildRequires: xorg-x11-devel >= @XORG_X11_REQUIRED@
BuildRequires: openssl-devel >= @OPENSSL_REQUIRED@
BuildRequires: evas-devel >= @EVAS_REQUIRED@
BuildRequires: eet-devel >= @EET_REQUIRED@
BuildRoot: %{_tmppath}/%{name}-%{version}
%description
Ecore is the event/X abstraction layer that makes doing selections,
Xdnd, general X stuff, event loops, timeouts and idle handlers fast,
optimized, and convenient. It's a separate library so anyone can make
use of the work put into Ecore to make this job easy for applications.
%package devel
Summary: Ecore headers and development libraries.
Group: Development/Libraries
Requires: %{name} = %{version}
Requires: libjpeg-devel >= @LIBJPEG_REQUIRED@
Requires: xorg-x11-devel >= @XORG_X11_REQUIRED@
Requires: openssl-devel >= @OPENSSL_REQUIRED@
Requires: evas-devel >= @EVAS_REQUIRED@
Requires: eet-devel >= @EET_REQUIRED@
%description devel
Ecore development files
%prep
%setup -q
%build
#CFLAGS="-I/usr/kerberos/include -I/usr/X11R6/include/X11/extensions"
#LDFLAGS="-L/usr/kerberos/lib -L/usr/X11R6/%{_lib}"
#export CFLAGS LDFLAGS
%configure
make
%install
rm -rf %{buildroot}
%makeinstall
#%{__make} {?mflags_install} DESTDIR=$RPM_BUILD_ROOT install
#test -x `which doxygen` && sh gendoc || :
%post
/sbin/ldconfig || :
%postun
/sbin/ldconfig || :
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-, root, root)
%doc AUTHORS COPYING* README*
%{_libdir}/libecore*.so.*
%{_libdir}/libecore*.la
%{_bindir}/ecore_*
%{_datadir}/ecore
%files devel
%defattr(-, root, root)
%doc doc/html
%{_libdir}/libecore*.so
%{_libdir}/libecore*.a
%{_libdir}/libecore*.la
%{_libdir}/ecore_config_ipc_*.so
%{_libdir}/ecore_config_ipc_*.a
%{_libdir}/ecore_config_ipc_*.la
%{_libdir}/pkgconfig/ecore.pc
%{_bindir}/ecore-config
%{_datadir}/aclocal/ecore.m4
%{_includedir}/Ecore*.h
diff -u ecore/configure.in ecore~/configure.in
--- ecore/configure.in 2005-02-25 15:58:40.614840421 +0100
+++ ecore~/configure.in 2005-02-25 15:28:31.146672160 +0100
@@ -17,6 +17,18 @@
AM_ENABLE_SHARED
AM_PROG_LIBTOOL
+LIBJPEG_REQUIRED=6
+XORG_X11_REQUIRED=6.8.1
+OPENSSL_REQUIRED=0.9.7
+EVAS_REQUIRED=1.0.0
+EET_REQUIRED=0.9.9
+
+AC_SUBST(LIBJPEG_REQUIRED)
+AC_SUBST(XORG_X11_REQUIRED)
+AC_SUBST(OPENSSL_REQUIRED)
+AC_SUBST(EVAS_REQUIRED)
+AC_SUBST(EET_REQUIRED)
+
if test "x${bindir}" = 'x${exec_prefix}/bin'; then
if test "x${exec_prefix}" = "xNONE"; then
if test "x${prefix}" = "xNONE"; then
@@ -805,6 +817,7 @@
AC_OUTPUT([
Makefile
ecore.pc
+ecore.spec
ecore-config
data/Makefile
data/fonts/Makefile
Common subdirectories: ecore/CVS and ecore~/CVS
Common subdirectories: ecore/data and ecore~/data
Common subdirectories: ecore/debian and ecore~/debian
Common subdirectories: ecore/doc and ecore~/doc
Only in ecore: ecore.spec
Only in ecore~: ecore.spec.in
Common subdirectories: ecore/examples and ecore~/examples
Common subdirectories: ecore/m4 and ecore~/m4
diff -u ecore/Makefile.am ecore~/Makefile.am
--- ecore/Makefile.am 2005-02-25 15:58:40.549848795 +0100
+++ ecore~/Makefile.am 2005-02-25 15:28:31.082680469 +0100
@@ -15,7 +15,7 @@
bin_SCRIPTS = ecore-config
-EXTRA_DIST = README AUTHORS COPYING ecore.m4 ecore.spec ecore.c.in gendoc \
+EXTRA_DIST = README AUTHORS COPYING ecore.m4 ecore.spec.in ecore.c.in gendoc \
Doxyfile make_cross_compile_arm.sh ecore.pc.in
m4datadir = $(datadir)/aclocal
Common subdirectories: ecore/src and ecore~/src