[Mono-dev] Updates ikvm.spec: use the GAC

Dirk O. Siebnich dok at dok-net.net
Sun Apr 16 06:45:38 EDT 2006


Hi!
I have extended the RPM spec file for IKVM to install the two assemblies
that the pkg-config file also references into the GAC. Without the GAC,
running IKVM-based applications always required me to copy the contents
of /usr/lib/ikvm/.

I have stuck to ikvm 0.22 as the prebuilt binary packages still use that
version as well.

Please consider using the new spec file for the official RPM packages.

-Dirk


-------------- next part --------------
# RPM specfile for ikvm module
# Generated Fri Dec 16 03:45:22 2005 GMT by Ximian build system
# $Id: bb_do,v 1.263 2004/11/11 20:32:39 v_thunder Exp $
# from 

%define nam	ikvm
%define ver	0.22
%define licensedir	%{_datadir}/licenses/%{nam}-%{ver}

Name:     	ikvm
Version: 	0.22
Release:	0.novell
Vendor:		Novell, Inc.
Distribution:	Novell Packages for SuSE Linux 9.3 / i586
Copyright:	BSD
BuildRoot:	/var/tmp/%{nam}-%{ver}-root
Docdir:         /usr/share/doc/packages

BuildArch:      noarch
URL:		http://www.ikvm.net
Epoch:		1
Source0:	ikvm-0.22.tar.gz
Summary:	A JVM based on the Mono runtime
Group:		Development/Tools
Requires:	mono-ikvm
Provides:	novell-ikvm = %{?epoch:%{epoch}:}%{version}-%{?ximrev:%{ximrev}}%{!?ximrev:%{release}}

%description

	    This package provides IKVM.NET, an open source Java
	    compatibility layer for Mono, which includes a Virtual
	    Machine, a bytecode compiler, and various class libraries
	    for Java, as well as tools for Java and Mono
	    interoperability.
	  

%files
%defattr(-, root, root)
%doc LICENSE
/usr/bin/*
/usr/lib/ikvm
/usr/lib/mono/gac
/usr/lib/pkgconfig/ikvm.pc


# $RPM_COMMAND is an environment variable used by the Ximian build
# system to control the build process with finer granularity than RPM
# normally allows.  This specfile will function as expected by RPM if
# $RPM_COMMAND is unset.  If you are not the Ximian build system,
# feel free to ignore it.

%prep
case "${RPM_COMMAND:-all}" in
dist)
%setup  -q -D -n ikvm-0.22
    ;;
all)
%setup  -q -n ikvm-0.22
    ;;
esac

%build
MAKE=${MAKE:-make}
RPM_COMMAND=${RPM_COMMAND:-all}
DESTDIR=${DESTDIR:-"$RPM_BUILD_ROOT"}
ARCH=%{_target_platform}
export MAKE RPM_COMMAND DESTDIR ARCH
case "$RPM_COMMAND" in
prepare|all)
    ./configure --prefix=/usr --libdir=/usr/lib --sysconfdir=/etc --mandir=/usr/share/man --infodir=/usr/share/info --localstatedir=/var
    ;;
esac
case "$RPM_COMMAND" in
clean|all)
    if [ "/" != "$DESTDIR" ]; then
	rm -rf "$DESTDIR"
    fi
    ;;
esac
case "$RPM_COMMAND" in
build|all)
    ${MAKE}
    ;;
esac

%install
MAKE=${MAKE:-make}
DESTDIR=${DESTDIR:-"$RPM_BUILD_ROOT"}
# export DESTDIR
case "${RPM_COMMAND:-all}" in
install|all)
    ${MAKE} install prefix=${DESTDIR}/usr libdir=${DESTDIR}/usr/lib sysconfdir=${DESTDIR}/etc mandir=${DESTDIR}/usr/share/man infodir=${DESTDIR}/usr/share/info localstatedir=${DESTDIR}/var
    # workaround until ikvm makefiles provide GAC installation
    gacutil /i ${DESTDIR}/usr/lib/ikvm/IKVM.Runtime.dll /f /gacdir ${DESTDIR}/usr/lib
    gacutil /i ${DESTDIR}/usr/lib/ikvm/IKVM.GNU.Classpath.dll /f /gacdir ${DESTDIR}/usr/lib
    ;;
esac

%clean
DESTDIR=${DESTDIR:-"$RPM_BUILD_ROOT"}
export DESTDIR
case "${RPM_COMMAND:-all}" in
clean|all)
    if [ "/" != "$DESTDIR" ]; then
	rm -rf "$DESTDIR"
    fi
    ;;
esac


%changelog
* Fri Dec 16 2005 Novell, Inc.

- Version: 1:0.22-0.novell
- Summary: New build.
- New automated build.



More information about the Mono-devel-list mailing list