Hi all. This is gonna be long, sorry. Doug had a really cool idea about how we could build 64-bit and other ISAs a lot easier that we do now. Currently, all the build changes related to the 64-bit builds are in the base specs: - copying the source tree (libfoo -> libfoo-64) - building both versions - installing both versions We are basically doing the same steps twice: once in the 64-bit build and once the 32-bit build, and if we would like to add a 3rd isa, say Pentium + SSE2, we would have to do the same thing again. The only difference is some directory names (e.g. /usr/lib/amd64) and the compiler flags.
So we have been working on a much simpler way to do it. The attached patch includes a new doc file for spec-files/docs which explains in detail how the thing works. In this review, I also included conversion of 2 packages to this new build method: SUNWgnome-base-libs and SUNWflac. SUNWflac is built for 3 different ISAs: i386, pentium_pro+mmx, AMD64, mostly just to demonstrate how it works. Also attached are the new versions of SUNWgnome-base-libs.spec, glib2.spec and SUNWflac.spec because they are easier to read than the patches. Comments welcome. Laca -------------- next part -------------- A non-text attachment was scrubbed... Name: multi-isa.diff Type: text/x-patch Size: 48297 bytes Desc: not available URL: <http://mail.opensolaris.org/pipermail/jds-review/attachments/20070315/ea9f1545/attachment.bin> -------------- next part -------------- # # spec file for package SUNWgnome-base-libs # # includes module(s): glib, cairo, pango, atk, gtk+, libglade, # libart_lgpl, libgnomecanvas # # Copyright (c) 2003 Sun Microsystems, Inc. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Owner: erwannc # %include Solaris.inc %ifarch amd64 sparcv9 %include arch64.inc %define _sysconfdir /etc/%{_arch64} %use glib_64 = glib2.spec %use cairo_64 = cairo.spec %use pango_64 = pango.spec %use atk_64 = atk.spec %use gtk_64 = gtk2.spec %use libglade_64 = libglade.spec %endif %include base.inc %use glib = glib2.spec %use cairo = cairo.spec %use pango = pango.spec %use atk = atk.spec %use gtk = gtk2.spec %use libglade = libglade.spec %use libart_lgpl = libart_lgpl.spec %use libgnomecanvas = libgnomecanvas.spec Name: SUNWgnome-base-libs Summary: GNOME base GUI libraries Version: %{default_pkg_version} Source: %{name}-manpages-0.1.tar.gz SUNW_BaseDir: %{_basedir} BuildRoot: %{_tmppath}/%{name}-%{version}-build %include default-depend.inc Requires: SUNWgnome-base-libs-root Requires: SUNWxwxft Requires: SUNWxwrtl Requires: SUNWxwplt Requires: SUNWxorg-clientlibs Requires: SUNWlibms Requires: SUNWlxml Requires: SUNWfreetype2 Requires: SUNWfontconfig Requires: SUNWlibpopt Requires: SUNWpng Requires: SUNWTiff Requires: SUNWjpg Requires: SUNWPython Requires: SUNWmlib Requires: SUNWpostrun Requires: SUNWperl584core Requires: SUNWuiu8 BuildRequires: SUNWgnome-common-devel BuildRequires: SUNWxorg-headers BuildRequires: SUNWjpg-devel BuildRequires: SUNWpng-devel BuildRequires: SUNWTiff-devel BuildRequires: SUNWPython-devel BuildRequires: SUNWmlib BuildRequires: SUNWmlibh BuildRequires: SUNWlxml-devel %if %(/bin/test -e /usr/sfw/include/glib.h && echo 1 || echo 0) BuildConflicts: SUNWGlib %endif %package root Summary: %{summary} - / filesystem SUNW_BaseDir: / %include default-depend.inc Requires: SUNWpostrun-root %package devel Summary: %{summary} - development files SUNW_BaseDir: %{_basedir} %include default-depend.inc Requires: SUNWgnome-base-libs Requires: SUNWperl584usr Requires: SUNWperl584core Requires: SUNWlibms Requires: SUNWPython Requires: SUNWpapi %if %build_l10n %package l10n Summary: %{summary} - l10n content SUNW_BaseDir: %{_basedir} %include default-depend.inc Requires: %{name} %endif %prep rm -rf %name-%version mkdir %name-%version %ifarch amd64 sparcv9 mkdir %name-%version/%_arch64 %glib_64.prep -d %name-%version/%_arch64 %cairo_64.prep -d %name-%version/%_arch64 %pango_64.prep -d %name-%version/%_arch64 %atk_64.prep -d %name-%version/%_arch64 %gtk_64.prep -d %name-%version/%_arch64 %libglade_64.prep -d %name-%version/%_arch64 %endif mkdir %name-%version/%{base_arch} %glib.prep -d %name-%version/%{base_arch} %cairo.prep -d %name-%version/%{base_arch} %pango.prep -d %name-%version/%{base_arch} %atk.prep -d %name-%version/%{base_arch} %gtk.prep -d %name-%version/%{base_arch} %libglade.prep -d %name-%version/%{base_arch} %libart_lgpl.prep -d %name-%version/%{base_arch} %libgnomecanvas.prep -d %name-%version/%{base_arch} cd %{_builddir}/%name-%version gzcat %SOURCE0 | tar xf - %ifarch amd64 sparcv9 cd %{_builddir}/%name-%version/%{_arch64}/cairo-%{cairo.version} cat > freetype-config <<EOF #!/bin/sh PKG_CONFIG_PATH=/usr/lib/%{_arch64}/pkgconfig export PKG_CONFIG_PATH OPT="\$1" if [ "x\$OPT" = x--version ]; then OPT=--modversion fi exec /usr/bin/pkg-config \$OPT freetype2 EOF chmod a+x freetype-config %endif cd %{_builddir}/%name-%version/%{base_arch}/libgnomecanvas-%{libgnomecanvas.version} ln -s ../libart_lgpl-%{libart_lgpl.version} libart_lgpl %build PKG_CONFIG_DISABLE_UNINSTALLED= unset PKG_CONFIG_DISABLE_UNINSTALLED export PERL_PATH=/usr/perl5/bin/perl export PERL=/usr/perl5/bin/perl export CPPFLAGS="-I/usr/sfw/include" save_PATH=$PATH export ACLOCAL_FLAGS="-I %{_builddir}/%name-%version/%{base_arch}/glib-%{glib.version}/m4macros -I %{_builddir}/%name-%version/%{base_arch}/gtk+-%{gtk.version}/m4macros" export PKG_CONFIG_PATH=../libart_lgpl-%{libart_lgpl.version}:../glib-%{glib.version}:../atk-%{atk.version}:../cairo-%{cairo.version}/src:../pango-%{pango.version}:../gtk+-%{gtk.version}:../libglade-%{libglade.version}:%{_pkg_config_path} %ifarch amd64 sparcv9 export EXTRA_LDFLAGS="-L/usr/sfw/lib/%{_arch64} -R/usr/sfw/lib/%{_arch64} -L/usr/X11/lib/%{_arch64} -R/usr/X11/lib/%{_arch64} -L%{_builddir}/%name-%version/%{_arch64}/cairo-%{cairo.version}/src/.libs" export PATH=%{_builddir}/%name-%version/%{_arch64}/glib-%{glib.version}/gobject:$save_PATH export EXTRA_CFLAGS="-I/usr/sfw/include -I%{_builddir}/%name-%version/%{_arch64}/cairo-%{cairo.version}/src" %glib_64.build -d %name-%version/%_arch64 %cairo_64.build -d %name-%version/%_arch64 %pango_64.build -d %name-%version/%_arch64 %atk_64.build -d %name-%version/%_arch64 %gtk_64.build -d %name-%version/%_arch64 %libglade_64.build -d %name-%version/%_arch64 %endif export EXTRA_LDFLAGS="-L/usr/sfw/lib -R/usr/sfw/lib -L/usr/X11/lib -R/usr/X11/lib -L%{_builddir}/%name-%version/%{base_arch}/cairo-%{cairo.version}/src/.libs" export PATH=%{_builddir}/%name-%version/%{base_arch}/glib-%{glib.version}/gobject:$save_PATH export EXTRA_CFLAGS="-I/usr/sfw/include -I%{_builddir}/%name-%version/%{base_arch}/cairo-%{cairo.version}/src" %glib.build -d %name-%version/%{base_arch} %cairo.build -d %name-%version/%{base_arch} %pango.build -d %name-%version/%{base_arch} %atk.build -d %name-%version/%{base_arch} %gtk.build -d %name-%version/%{base_arch} %libglade.build -d %name-%version/%{base_arch} %libart_lgpl.build -d %name-%version/%{base_arch} # we need this because libgnomecanvas-scan cannot find libXrand # without it - this seems solairs specific so it is here export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/X11/lib" %libgnomecanvas.build -d %name-%version/%{base_arch} %install rm -rf $RPM_BUILD_ROOT %ifarch amd64 sparcv9 %glib_64.install -d %name-%version/%_arch64 %cairo_64.install -d %name-%version/%_arch64 %pango_64.install -d %name-%version/%_arch64 export PATH=%{_builddir}/%name-%version/%{_arch64}/glib-%{glib.version}/gobject:$PATH %atk_64.install -d %name-%version/%_arch64 %gtk_64.install -d %name-%version/%_arch64 %libglade_64.install -d %name-%version/%_arch64 %endif %glib.install -d %name-%version/%{base_arch} %cairo.install -d %name-%version/%{base_arch} %pango.install -d %name-%version/%{base_arch} export PATH=%{_builddir}/%name-%version/glib-%{glib.version}/gobject:$PATH %atk.install -d %name-%version/%{base_arch} %gtk.install -d %name-%version/%{base_arch} %libglade.install -d %name-%version/%{base_arch} %libart_lgpl.install -d %name-%version/%{base_arch} %libgnomecanvas.install -d %name-%version/%{base_arch} rm -rf $RPM_BUILD_ROOT%{_mandir} cd %{_builddir}/%name-%version/sun-manpages make install DESTDIR=$RPM_BUILD_ROOT # Move demo to demo directory. # install -d $RPM_BUILD_ROOT%{_prefix}/demo/jds/bin mv $RPM_BUILD_ROOT%{_bindir}/gtk-demo $RPM_BUILD_ROOT%{_prefix}/demo/jds/bin rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/*/immodules/im-[a-wyz]*.so # on linux, these config files are created in %post # that would be more complicated on Solaris, especially # during jumpstart or live upgrade, so it's better to do # it during the build export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_bindir}/pango-querymodules \ $RPM_BUILD_ROOT%{_libdir}/pango/*/modules/*.so \ | sed -e "s%%$RPM_BUILD_ROOT%%%%" \ > $RPM_BUILD_ROOT%{_sysconfdir}/pango/pango.modules $RPM_BUILD_ROOT%{_bindir}/gtk-query-immodules-2.0 \ $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/*/immodules/im-xim.so \ | sed -e "s%%$RPM_BUILD_ROOT%%%%" \ > $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gtk.immodules $RPM_BUILD_ROOT%{_bindir}/gdk-pixbuf-query-loaders \ $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/*/loaders/*.so \ | sed -e "s%%$RPM_BUILD_ROOT%%%%" \ > $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders %ifarch amd64 sparcv9 rm -f $RPM_BUILD_ROOT%{_libdir}/%{_arch64}/gtk-2.0/*/immodules/im-[a-wyz]*.so export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir}/%{_arch64} $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/pango-querymodules \ $RPM_BUILD_ROOT%{_libdir}/%{_arch64}/pango/*/modules/*.so \ | sed -e "s%%$RPM_BUILD_ROOT%%%%" \ > $RPM_BUILD_ROOT%{_sysconfdir}/%{_arch64}/pango/pango.modules mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{_arch64}/gtk-2.0 $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/gtk-query-immodules-2.0 \ $RPM_BUILD_ROOT%{_libdir}/%{_arch64}/gtk-2.0/*/immodules/im-xim.so \ | sed -e "s%%$RPM_BUILD_ROOT%%%%" \ > $RPM_BUILD_ROOT%{_sysconfdir}/%{_arch64}/gtk-2.0/gtk.immodules $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/gdk-pixbuf-query-loaders \ $RPM_BUILD_ROOT%{_libdir}/%{_arch64}/gtk-2.0/*/loaders/*.so \ | sed -e "s%%$RPM_BUILD_ROOT%%%%" \ > $RPM_BUILD_ROOT%{_sysconfdir}/%{_arch64}/gtk-2.0/gdk-pixbuf.loaders rm $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/libglade-convert rm $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/gdk-pixbuf-csource rm $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/glib-{genmarshal,gettextize,mkenums} rm $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/gobject-query rm $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/pango-view rm $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/gtk-update-icon-cache mkdir -p $RPM_BUILD_ROOT%{_prefix}/demo/jds/bin/%{_arch64} mv $RPM_BUILD_ROOT%{_bindir}/%{_arch64}/gtk-demo \ $RPM_BUILD_ROOT%{_prefix}/demo/jds/bin/%{_arch64} %endif rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/profile.d %if %build_l10n %else # REMOVE l10n FILES rm -rf $RPM_BUILD_ROOT%{_datadir}/locale %endif %{?pkgbuild_postprocess: %pkgbuild_postprocess -v -c "%{version}:%{jds_version}:%{name}:$RPM_ARCH:%(date +%%Y-%%m-%%d):%{support_level}" $RPM_BUILD_ROOT} %clean rm -rf $RPM_BUILD_ROOT %post ( echo 'test -d %{_sysconfdir}/gtk-2.0 || exit 0'; echo 'test -x %{_bindir}/gdk-pixbuf-query-loaders || exit 0'; echo '%{_bindir}/gdk-pixbuf-query-loaders \'; echo ' > %{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders' ) | \ $BASEDIR/lib/postrun -u -c JDS %ifarch amd64 sparcv9 ( echo "/bin/isainfo | /bin/egrep -s '(amd64|sparcv9)' || exit 0"; echo 'test -d %{_sysconfdir}/%{_arch64}/gtk-2.0 || exit 0'; echo 'test -x %{_bindir}/%{_arch64}/gdk-pixbuf-query-loaders || exit 0'; echo '%{_bindir}/%{_arch64}/gdk-pixbuf-query-loaders \'; echo ' > %{_sysconfdir}/%{_arch64}/gtk-2.0/gdk-pixbuf.loaders' ) | \ $BASEDIR/lib/postrun -u -c JDS %endif %post root ( echo 'test -d %{_sysconfdir}/gtk-2.0 || exit 0'; echo 'test -x %{_bindir}/gdk-pixbuf-query-loaders || exit 0'; echo '%{_bindir}/gdk-pixbuf-query-loaders \'; echo ' > %{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders' ) | \ $BASEDIR/var/lib/postrun/postrun -u -c JDS %ifarch amd64 sparcv9 ( echo "/bin/isainfo | /bin/egrep -s '(amd64|sparcv9)' || exit 0"; echo 'test -d %{_sysconfdir}/%{_arch64}/gtk-2.0 || exit 0'; echo 'test -x %{_bindir}/%{_arch64}/gdk-pixbuf-query-loaders || exit 0'; echo '%{_bindir}/%{_arch64}/gdk-pixbuf-query-loaders \'; echo ' > %{_sysconfdir}/%{_arch64}/gtk-2.0/gdk-pixbuf.loaders' ) | \ $BASEDIR/var/lib/postrun/postrun -u -c JDS %endif %files %defattr (-, root, bin) %dir %attr (0755, root, bin) %{_bindir} %{_bindir}/pango-querymodules %{_bindir}/pango-view %{_bindir}/gtk-query-immodules-2.0 %{_bindir}/gtk-update-icon-cache %{_bindir}/gdk-pixbuf-query-loaders %dir %attr (0755, root, bin) %{_libdir} %{_libdir}/lib*.so* %{_libdir}/libglade %{_libdir}/charset.alias %{_libdir}/pango/*/*/*.so %{_libdir}/gtk*/*/engines/*.so %{_libdir}/gtk*/*/loaders/*.so %{_libdir}/gtk*/*/immodules/im-xim.so %ifarch amd64 sparcv9 %dir %attr (0755, root, bin) %{_bindir}/%{_arch64} %{_bindir}/%{_arch64}/pango-querymodules %{_bindir}/%{_arch64}/gtk-query-immodules-2.0 %{_bindir}/%{_arch64}/gdk-pixbuf-query-loaders %dir %attr (0755, root, bin) %{_libdir}/%{_arch64} %{_libdir}/%{_arch64}/lib*.so* %{_libdir}/%{_arch64}/charset.alias %{_libdir}/%{_arch64}/pango/*/*/*.so %{_libdir}/%{_arch64}/gtk*/*/loaders/*.so %{_libdir}/%{_arch64}/gtk*/*/engines/*.so %{_libdir}/%{_arch64}/gtk*/*/immodules/im-xim.so %endif %dir %attr (0755, root, sys) %{_datadir} %{_datadir}/themes %{_datadir}/xml %dir %attr(0755, root, bin) %{_mandir} %dir %attr(0755, root, bin) %{_mandir}/entities %{_mandir}/entities/* %dir %attr(0755, root, bin) %{_mandir}/man1 %{_mandir}/man1/gtk-query-immodules-2.0.1 %{_mandir}/man1/pango-querymodules.1 %{_mandir}/man1/gdk-pixbuf-query-loaders.1 %{_mandir}/man1/gtk-update-icon-cache.1 %dir %attr(0755, root, bin) %{_mandir}/man5 %{_mandir}/man5/* %files devel %defattr (-, root, bin) %dir %attr (0755, root, bin) %dir %{_libdir} %dir %attr (0755, root, other) %{_libdir}/pkgconfig %{_libdir}/pkgconfig/* %{_libdir}/glib*/include %{_libdir}/gtk*/include %{_libdir}/gtk*/*/printbackends %dir %attr (0755, root, bin) %dir %{_bindir} %{_bindir}/glib-genmarshal %{_bindir}/glib-gettextize %{_bindir}/glib-mkenums %{_bindir}/gobject-query %{_bindir}/gdk-pixbuf-csource %{_bindir}/libart2-config %{_bindir}/libglade-convert %dir %attr (0755, root, bin) %dir %{_includedir} %{_includedir}/* %dir %attr (0755, root, bin) %dir %{_prefix}/demo %dir %attr (0755, root, bin) %dir %{_prefix}/demo/jds %dir %attr (0755, root, bin) %dir %{_prefix}/demo/jds/bin %{_prefix}/demo/jds/bin/gtk-demo %ifarch amd64 sparcv9 %dir %attr (0755, root, bin) %dir %{_libdir}/%{_arch64} %dir %attr (0755, root, other) %{_libdir}/%{_arch64}/pkgconfig %{_libdir}/%{_arch64}/pkgconfig/* %{_libdir}/%{_arch64}/glib*/include %{_libdir}/%{_arch64}/gtk*/include %{_libdir}/%{_arch64}/gtk*/*/printbackends %{_prefix}/demo/jds/bin/%{_arch64}/* %endif %dir %attr (0755, root, sys) %dir %{_datadir} %{_datadir}/gtk-doc %dir %attr (0755, root, other) %{_datadir}/aclocal %{_datadir}/aclocal/* %{_datadir}/glib-2.0 %{_datadir}/gtk-2.0/demo %dir %attr(0755, root, bin) %{_mandir} %dir %attr(0755, root, bin) %{_mandir}/man3 %{_mandir}/man3/* %dir %attr(0755, root, bin) %{_mandir}/man1 %{_mandir}/man1/gdk-pixbuf-csource.1 %{_mandir}/man1/glib-genmarshal.1 %{_mandir}/man1/glib-gettextize.1 %{_mandir}/man1/glib-mkenums.1 %{_mandir}/man1/gobject-query.1 %{_mandir}/man1/libart2-config.1 %iclass immodules -f i.immodules %rclass immodules -f r.immodules %files root %defattr (-, root, sys) %attr (0755, root, sys) %dir %{_sysconfdir} %config %class(immodules) %{_sysconfdir}/gtk-2.0/gtk.immodules %config %{_sysconfdir}/pango %ghost %{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders %ifarch amd64 sparcv9 %config %class(immodules) %{_sysconfdir}/%{_arch64}/gtk-2.0/gtk.immodules %config %{_sysconfdir}/%{_arch64}/pango %ghost %{_sysconfdir}/%{_arch64}/gtk-2.0/gdk-pixbuf.loaders %endif %if %build_l10n %files l10n %defattr (-, root, bin) %dir %attr (0755, root, sys) %dir %{_datadir} %attr (-, root, other) %{_datadir}/locale %endif %changelog * Mon Feb 5 2007 - damien.carbery at sun.com - Add Requires SUNWpapi after check-deps.pl run. * Fri Dec 01 2006 - takao.fujiwara at sun.com - Added SUNWuiu8 dependency. Fixes 6499071 * Mon Oct 16 2006 - brian.cameron at sun.com - Fix comment. * Fri Oct 13 2006 - damien.carbery at sun.com - Delete .a and .la files. * Fri Sep 01 2006 - Matt.Keenan at sun.com - New Manpage tarball * Sun Aug 13 2006 - laca at sun.com - delete %pre script (hack) and SUNWj5rt dep since we changed the icon dirs back to root:other * Sat Aug 12 2006 - laca at sun.com - set PERL to /usr/perl5/bin/perl as per CR6454456 * Fri Jul 21 2006 - damien.carbery at sun.com - Add cairo dir to CFLAGS; update %install and %files for printbackends files. * Fri Jul 14 2006 - laca at sun.com - update %post/%postun/etc scripts to support diskless client setup, part of 6448317 * Thu Jul 13 2006 - damien.carbery at sun.com - Add %{_bindir}/%{_arch64}/gtk-demo because of new tarball. * Thu Jul 6 2006 - damien.carbery at sun.com - Add BuildRequires SUNWlxml-devel as required by libglade. * Sun Jun 11 2006 - laca at sun.com - change group from other to bin/sys * Wed May 10 2006 - laca at sun.com - merge -share pkg(s) into the base pkg(s) * Wed May 10 2006 - brian.cameron at sun.com - Move gtk-demo to /usr/demo/jds/bin to meet ARC requirements. * Mon Feb 20 2006 - damien.carbery at sun.com - Update Build/Requires after running check-deps.pl script. * Sat Dec 3 2005 - laca at sun.com - postrunify the gdk-pixbuf.loaders stuff * Thu Sep 08 2005 - brian.cameron at sun.com - Verified builds fine on Solaris, bump to 2.12. * Tue Sep 06 2005 - laca at sun.com - add to %files or remove unpackaged files - add %post - change _sysconfdir files to volatile (config) * Fri Aug 26 2005 - damien.carbery at sun.com - Add cairo. * Mon Aug 1 2005 - damien.carbery at sun.com - Add SUNWPython/-devel dependencies so that libglade-convert builds. * Tue Jul 26 2005 - brian.cameron at sun.com - Moved librsvg to SUNWlibrsvg. * Mon Jul 11 2005 - brian.cameron at sun.com - Added bin/rsvg-view and datadir/pixmaps to complete librsvg packaging * Tue Jun 14 2005 - laca at sun.com - Added symlink to gdk/x11 so that the build can find gdkx.h * Wed May 11 2005 - brian.cameron at sun.com - Added libglade-convert to packaging. * Mon May 9 2005 - brian.cameron at sun.com - Fix setting of ACLOCAL_FLAGS so it builds with the 2.10 code. * Tue Dec 14 2004 - brian.cameron at sun.com - Add Requires SUNWmlib since we require SUNWmlib at runtime, not just build time. * Tue Nov 16 2004 - laca at sun.com - moved section 5 man page to share from devel-share * Thu Nov 4 2004 - archana.shah at wipro.com - Changed spec file to remove /etc/profile.d directory before packaging Fixes bug# 5097097 * Thu Oct 27 2004 - hidetoshi.tajima at sun.com - fix typos for _arch64/gtk.immodules, fixes 6176001 * Thu Oct 21 2004 - laca at sun.com - set PERL and PERL_PATH, fixes 5100958 * Wed Oct 13 2004 - laca at sun.com - use _pkg_config_path64 in $PKG_CONFIG_PATH64 * Sat Oct 02 2004 - laca at sun.com - added %pkgbuild_postprocess * Sat Oct 2 2004 - Joseph.Townsend at Sun.COM - Create 64bit libraries for Solaris * Sat Sep 11 2004 - damien.carbery at sun.com - Set LD_LIBRARY_PATH so Xrandr and Xrender found when running built files. * Sat Sep 11 2004 - laca at sun.com - Set LDFLAGS so Xrandr and Xrender can be found. * Thu Sep 09 2004 - matt.keenan at sun.com - Added librsvg-2.3, rsvg.1 manpages * Mon Aug 30 2004 - shirley.woo at sun.com - Bug 5091588 : include files and sman3/4 files should be in a separate devel package * Mon Aug 23 2004 - laca at sun.com - s/SUNWpl5u/SUNWperl584usr/ * Wed Aug 18 2004 - damien.carbery at sun.com - Changed more manpage modes to 0755 for Solaris integration. * Mon Aug 16 2004 - damien.carbery at sun.com - Changed multiple manpage modes to 0755 for Solaris integration. * Sat Jun 26 2004 shirley.woo at sun.com - Changed install location to /usr/... * Wed Jun 1 2004 - hidetoshi.tajima at sun.com - remove unsupported input method modules * Wed May 26 2004 - laca at sun.com - add l10n subpackage * Tue May 25 2004 - laca at sun.com - add buildconflicts tags against glib/gtk 1.2 packages * Wed May 19 2004 - brian.cameron at sun.com - Added missing man pages. * Fri Apr 23 2004 - laca at sun.com - added SUNWfontconfig, MediaLib dependencies * Sun Apr 04 2004 - laca at sun.com - add some missing files to %files * Wed Mar 24 2004 - brian.cameron at sun.com - Added SGML man page integration * Web Mar 10 2004 - laca at sun.com - escape % chars in the sed commands * Sat Feb 28 2004 - laca at sun.com - add -D__STDC_VERSION__=199409L recommended by the compiler cteam * Web Feb 25 2004 - laca at sun.com - move libgnomecanvas here from SUNWgnome-libs - move libart_lgpl here from SUNWgnome-libs - move librsvg here from SUNWgnome-libs * Fri Feb 13 2004 - Laszlo.Peter at sun.com - add "-xc99=none -xCC" to make glib build on s10_51. - fix mandir permissions * Thu Feb 12 2004 - Niall.Power at sun.com - insert dir attribute in front of directories so as not to recursively suck up all it's contents * Mon Jan 19 2004 - Laszlo.Peter at sun.com - generate module list config files in %install * Fri Jan 9 2004 - Laszlo.Peter at sun.com - initial Sun release. -------------- next part -------------- # # spec file for package glib2 # # Copyright (c) 2005 Sun Microsystems, Inc. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Owner: erwannc # Name: glib2 License: LGPL Group: System/Libraries Version: 2.12.11 Release: 1 Distribution: Java Desktop System Vendor: Sun Microsystems, Inc. Summary: Low level core compatibility library for GTK+ and GNOME Source: http://ftp.gnome.org/pub/GNOME/sources/glib/2.12/glib-%{version}.tar.bz2 Source1: mkinstalldirs # Note we patch default-path to not include "." because on Solaris # we are extra paranoid about not ever setting PATH to include the # current working directory. This was an ARC requirement. # The GNOME community already decided to not change this behavior # (refer to bugzilla bug 317945), but this change is safe. This # code only gets executed when the user's PATH is unset, which # should be never. Still safer to avoid adding "." to PATH. #owner:erwannc date:2004-10-05 type:bug bugster:5055972 Patch1: glib-01-convert-utf8.diff #owner:yippi date:2005-08-14 type:feature bugzilla:317945 Patch2: glib-02-default-path.diff # owner:laca type:bug date:2005-10-13 Patch3: glib-03-gmodule-always-lazy.diff #owner:yippi date:2006-05-25 type:bug bugzilla:342981 Patch4: glib-04-hidden.diff #owner:stephen date:2006-11-01 type:feature bugster:6393731 Patch5: glib-05-trusted-extensions.diff URL: http://www.gtk.org BuildRoot: %{_tmppath}/%{name}-%{version}-build Docdir: %{_defaultdocdir}/doc AutoReqProv: on Prereq: /sbin/ldconfig %define pkgconfig_version 0.15.0 %define gtk_doc_version 1.1 %define intltool_version 0.34.1 Requires: aaa_base BuildRequires: pkgconfig >= %{pkgconfig_version} BuildRequires: gtk-doc >= %{gtk_doc_version} BuildRequires: intltool >= %{intltool_version} %description Glib is the base compatibility library for GTK+ and GNOME. It provides data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads, dynamic laoding, and an object system %package devel Summary: GIMP Toolkit and GIMP Drawing Kit support library Group: Development/Libraries Requires: %{name} = %{version} %description devel Glib is the base compatibility library for GTK+ and GNOME. It provides data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads, dynamic laoding, and an object system %prep %setup -q -n glib-%{version} %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %build %ifos linux if [ -x /usr/bin/getconf ]; then CPUS=`getconf _NPROCESSORS_ONLN` fi %else CPUS=`/usr/sbin/psrinfo | grep on-line | wc -l | tr -d ' '` %endif if test "x$CPUS" = "x" -o $CPUS = 0; then CPUS=1 fi # FIXME: is this still needed? cp %SOURCE1 . aclocal $ACLOCAL_FLAGS libtoolize --force --copy gtkdocize autoheader automake -a -c -f autoconf export CFLAGS="%optflags" export LDFLAGS="%_ldflags" ./configure --prefix=%{_prefix} \ --mandir=%{_mandir} \ --datadir=%{_datadir} \ --libdir=%{_libdir} \ --bindir=%{_bindir} \ --sysconfdir=%{_sysconfdir} \ %{gtk_doc_option} make -j $CPUS %install make DESTDIR=$RPM_BUILD_ROOT install #Copy zh_HK from zh_TW #Fixes bug 4930405 install -d $RPM_BUILD_ROOT%{_datadir}/locale/zh_HK/LC_MESSAGES install --mode=0644 $RPM_BUILD_ROOT%{_datadir}/locale/zh_TW/LC_MESSAGES/*.mo $RPM_BUILD_ROOT%{_datadir}/locale/zh_HK/LC_MESSAGES/ rm $RPM_BUILD_ROOT%{_libdir}/*.la %clean rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig %postun /sbin/ldconfig %files %defattr(-,root,root) %{_libdir}/lib*.so.* %{_datadir}/locale/*/LC_MESSAGES/*.mo %files devel %defattr(-,root,root) %{_bindir}/* %{_libdir}/lib*.so %{_includedir}/glib-2.0/* %{_libdir}/glib-2.0/include/*.h %{_libdir}/pkgconfig/*.pc %{_datadir}/aclocal/*.m4 %{_datadir}/glib-2.0/* %{_datadir}/gtk-doc/html/* %{_mandir}/man1/* %{_mandir}/man3/* %changelog * Wed Mar 15 2007 - dougs at truemail.co.th - Removed adding ccdir to PATH * Fri Mar 09 2007 - damien.carbery at sun.com - Bump to 2.12.11. * Thu Mar 08 2007 - damien.carbery at sun.com - Bump to 2.12.10. Remove upstream patch, 04-msgfmt-c. Renumber remainder. * Sun Feb 4 2007 - laca at sun.com - remove patch ALL_LINGUAS.diff - no longer needed; reorder remaining * Wed Jan 17 2007 - damien.carbery at sun.com - Bump to 2.12.9. * Mon Jan 15 2007 - damien.carbery at sun.com - Bump to 2.12.8. * Fri Jan 05 2007 - damien.carbery at sun.com - Bump to 2.12.7. * Thu Dec 21 2006 - damien.carbery at sun.com - Bump to 2.12.6. * Tue Dec 19 2006 - damien.carbery at sun.com - Bump to 2.12.5. Remove upstream patches, 01-gettext-macro, 05-solaris-thread-flags, 09-use-fdwalk. Renumber remainder. * Fri Nov 3 2006 - laca at sun.com - use %gtk_doc_option in configure so that it can be disabled using --without-gtk-doc * Wed Nov 01 2006 - stephen.browne at sun.com - added patch glib-11-trusted-extensions.diff: covers bugster 639371 * Mon Oct 02 2006 - damien.carbery at sun.com - Bump to 2.12.4. * Mon Sep 25 2006 - padraig.obriain at sun.com - Add patch use-fdwalk for bugzilla 357585 * Wed Aug 30 2006 - damien.carbery at sun.com - Bump to 2.12.3. * Wed Aug 16 2006 - damien.carbery at sun.com - Bump to 2.12.2. * Mon Jul 24 2006 - damien.carbery at sun.com - Bump to 2.12.1. * Thu Jul 20 2006 - damien.carbery at sun.com - Bump to 2.12.0. * Thu Jul 13 2006 - laca at sun.com - add patch ALL_LINGUAS.diff that removes the \n's from ALL_LINGUAS in AM_GLIB_GNU_GETTEXT * Thu May 25 2006 - brian.cameron at sun.com - Add patch glib-08-hidden.diff to make sure that the G_HAVE_GNUC_VISIBILITY macro is defined to "__hidden" if using the Sun Forte compiler. This makes sure that symbols that should be hidden are not exported when using our compiler. This resolves the GNOME 2.14 LSARC 2006/202 TCR regarding this issue. * Wed Apr 26 2006 - damien.carbery at sun.com - Bump to 2.10.2. * Wed Mar 8 2006 - damien.carbery at sun.com - Bump to 2.10.1. * Sun Feb 26 2006 - damien.carbery at sun.com - Bump to 2.10.0. * Mon Feb 13 2006 - damien.carbery at sun.com - Bump to 2.9.6. * Sun Feb 12 2006 - damien.carbery at sun.com - Call gettextize to fix infinite loop in configure. * Fri Jan 27 2006 - damien.carbery at sun.com - Bump to 2.9.5 * Tue Jan 17 2006 - damien.carbery at sun.com - Bump to 2.9.3 * Sun Jan 15 2006 - damien.carbery at sun.com - Bump to 2.9.2. * Tue Dec 20 2005 - damien.carbery at sun.com - Bump to 2.9.1. Remove upstream patch 05-logname. Add intltool BuildRequires. * Tue Nov 29 2005 - damien.carbery at sun.com - Bump to 2.8.4. * Mon Nov 28 2005 - laca at sun.com - prepare for building from CVS snapshots: - use a macro for Version - fix autotool order, add some more - cp mkinstalldirs so that we don't need to add even more autotool foo * Tue Oct 11 2005 - damien.carbery at sun.com - Bump to 2.8.3 * Tue Sep 27 2005 - glynn.foster at sun.com - Bump to 2.8.2 * Mon Aug 15 2005 - glynn.foster at sun.com - Bump to 2.8.0 * Wed Jun 15 2005 - matt.keenan at sun.com - Bump to 2.6.5 - Remove patch glib-04-uninstalled-pc.diff * Fri May 06 2005 - brian.cameron at sun.com - Add patch 04 to add needed uninstalled.pc files to allow other base-libs libraries to build. This requires calling autoconf aclocal, etc. - Fix naming of patches since the patches were renamed but this spec file not updated. * Fri May 06 2005 - glynn.foster at sun.com - Bump to 2.6.4 * Wed Nov 15 2004 - glynn.foster at sun.com - Bump to 2.4.8, since otherwise glib-gettextize doesn't create mkinstalldirs properly, and consequently it means I can't create tarballs from CVS sources. We also get a rake of nice bug fixes as a result. * Fri Nov 12 2004 - brian.cameron at sun.com - Modify the default path that glib sets (if the user does not have PATH set), so it does not include "." since ARC determined this is a security concern. When building on Sun, set it to just "/usr/bin" since "/bin" is a symlink to "/usr/bin". On Linux set it to "/bin:/usr/bin". * Fri Oct 29 2004 - laca at sun.com - use $CC64 for the 64-bit build if defined * Wed Oct 05 2004 - Yong.Sun at Sun.COM - Added glib-04-convert-utf8.diff to fix CR 5055972 * Sat Oct 2 2004 - Joseph.Townsend at Sun.COM - Create 64bit libraries for Solaris * Thu Sep 16 2004 - ciaran.mcdermott at sun.com - Added glib-03-g11n-allinguas.diff to include hu lingua * Wed Aug 18 2004 - brian.cameron at sun.com - added --enable-gtk-doc * Thu Aug 05 2004 - archana.shah at wipro.com - Add patch to fix glib get SIGCHLD everytime * Thu Jul 08 2004 - damien.donlon at sun.com - Updated l10n content to glib2-l10n-po-1.2.tar.bz2 * Thu Jul 08 2004 - stephen.browne at sun.com - ported to rpm4/suse91 * Wed Jul 07 2004 - dermot.mccluskey at sun.com - added "-j $CPUS" to make to speed up builds * Fri May 14 2004 - glynn.foster at sun.com - Bump to 2.4.1 * Wed May 12 2004 - damien.donlon at sun.com - Updated l10n content to glib2-l10n-po-1.1.tar.bz2 * Mon Mar 29 2004 - damien.donlon at sun.com - Updated l10n content to glib2-l10n-po-1.0.tar.bz2 * Wed Mar 24 2004 - <glynn.foster at sun.com> - Bump to 2.4.0 * Wed Mar 10 2004 - <niall.power at sun.com> - remove glib-02 patch (it wasn't being applied anyway). - bump to 2.3.6 * Thu Feb 19 2004 - <damien.carbery at sun.com> - Add patch for glib/gmessages.h to change '...' to '__VA_ARGS__' to build on Solaris. May revisit to use '#ifdef __sun' * Tue Feb 10 2004 - <matt.keenan at sun.com> - Bump to 2.3.2, l10n to 0.7 * Mon Dec 15 2003 - <glynn.foster at sun.com> - update to 2.3.1 * Sat Oct 04 2003 - <laca at sun.com> - update to 2.2.3 * Thu Aug 14 2003 - <laca at sun.com> - move lib*.so to -devel, remove *.a, *.la * Fri Aug 01 2003 - <markmc at sun.com> 2.2.2-1 * Wed Jul 25 2003 - <niall.power at sun.com> - add aaa_base dependency. Fixes postinstall script breakage during OS install. * Wed Jul 09 2003 - <michael.twomey at sun.com> - add in sun po files * Thu May 12 2003 - <ghee.teo at sun.com> - Initial spec file for glib2 -------------- next part -------------- # # spec file for package SUNWflac # # includes module(s): flac # # Copyright (c) 2003 Sun Microsystems, Inc. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Owner: yippi # %include Solaris.inc %ifarch amd64 sparcv9 %include arch64.inc %define sse_opt --enable-sse %use flac_64 = flac.spec %endif %if %arch_sse2 %include x86_sse2.inc %define sse_opt --enable-sse %use flac_sse2 = flac.spec %endif %include base.inc %define sse_opt --disable-sse %use flac = flac.spec Name: SUNWflac Summary: An Open Source lossless audio codec Version: %{flac.version} SUNW_BaseDir:%{_basedir} BuildRoot: %{_tmppath}/%{name}-%{version}-build %include default-depend.inc BuildConflicts: SFEnasm BuildRequires: SUNWgnome-common-devel BuildRequires: SUNWogg-vorbis-devel Requires: SUNWogg-vorbis Requires: SUNWlibms %package devel Summary: %{summary} - development files SUNW_BaseDir: %{_basedir} %include default-depend.inc %prep rm -rf %name-%version mkdir %name-%version %ifarch amd64 sparcv9 mkdir %name-%version/%_arch64 %flac_64.prep -d %name-%version/%_arch64 %endif %if %arch_sse2 mkdir %name-%version/%sse2_arch %flac_sse2.prep -d %name-%version/%sse2_arch %endif mkdir %name-%version/%base_arch %flac.prep -d %name-%version/%base_arch %build %ifarch amd64 sparcv9 %flac_64.build -d %name-%version/%_arch64 %endif %if %arch_sse2 %flac_sse2.build -d %name-%version/%sse2_arch %endif %flac.build -d %name-%version/%base_arch %install rm -rf $RPM_BUILD_ROOT %ifarch amd64 sparcv9 %flac_64.install -d %name-%version/%_arch64 %endif %if %arch_sse2 %flac_sse2.install -d %name-%version/%sse2_arch %endif %flac.install -d %name-%version/%base_arch %if %can_isaexec mkdir $RPM_BUILD_ROOT%{_bindir}/%{base_isa} mv $RPM_BUILD_ROOT%{_bindir}/flac $RPM_BUILD_ROOT%{_bindir}/%{base_isa} mv $RPM_BUILD_ROOT%{_bindir}/metaflac $RPM_BUILD_ROOT%{_bindir}/%{base_isa} %endif %{?pkgbuild_postprocess: %pkgbuild_postprocess -v -c "%{version}:%{jds_version}:%{name}:$RPM_ARCH:%(date +%%Y-%%m-%%d):%{support_level}" $RPM_BUILD_ROOT} %if %can_isaexec %post ln ${BASEDIR}/lib/isaexec ${BASEDIR}/bin/flac ln ${BASEDIR}/lib/isaexec ${BASEDIR}/bin/metaflac installf $PKGINST %{_bindir}/flac || exit 2 installf $PKGINST %{_bindir}/metaflac || exit 2 installf -f $PKGINST || exit 2 %endif %clean rm -rf $RPM_BUILD_ROOT %files %defattr (-, root, bin) %dir %attr (0755, root, bin) %{_bindir} %if %can_isaexec %{_bindir}/%{base_isa} %else %{_bindir}/flac %{_bindir}/metaflac %endif %dir %attr (0755, root, bin) %{_libdir} %{_libdir}/libFLAC.so* %{_libdir}/libFLAC++.so* %dir %attr (0755, root, sys) %{_datadir} %dir %attr(0755, root, bin) %{_mandir} %dir %attr(0755, root, bin) %{_mandir}/man1 %{_mandir}/man1/* %ifarch amd64 sparcv9 %dir %attr (0755, root, bin) %{_bindir}/%{_arch64} %{_bindir}/%{_arch64}/* %dir %attr (0755, root, bin) %{_libdir}/%{_arch64} %{_libdir}/%{_arch64}/lib*.so* %endif %if %arch_sse2 %dir %attr (0755, root, bin) %{_bindir}/%{sse2_arch} %{_bindir}/%{sse2_arch}/* %dir %attr (0755, root, bin) %{_libdir}/%{sse2_arch} %{_libdir}/%{sse2_arch}/lib*.so* %endif %files devel %defattr (-, root, bin) %dir %attr (0755, root, other) %{_libdir}/pkgconfig %{_libdir}/pkgconfig/* %dir %attr (0755, root, bin) %{_includedir} %{_includedir}/* %dir %attr (0755, root, sys) %{_datadir} %dir %attr (0755, root, other) %{_datadir}/aclocal %{_datadir}/aclocal/* %dir %attr (0755, root, other) %{_datadir}/doc %{_datadir}/doc/* %ifarch amd64 sparcv9 %dir %attr (0755, root, other) %{_libdir}/%{_arch64}/pkgconfig %{_libdir}/%{_arch64}/pkgconfig/*.pc %endif %if %arch_sse2 %dir %attr (0755, root, other) %{_libdir}/%{sse2_arch}/pkgconfig %{_libdir}/%{sse2_arch}/pkgconfig/*.pc %endif %changelog * Thu Mar 15 2007 - dougs at truemail.co.th and laca at sun.com - enable building 64-bit and SSE2 variants * Fri Feb 16 2007 - damien.carbery at sun.com - Add %{_libdir}/pkgconfig to %files devel. * Wed Feb 14 2007 - laca at sun.com - add BuildConflicts against SFEnasm as it breaks the build * Mon Dec 04 2006 - damien.carbery at sun.com - Remove ogg flac libraries as they are no longer built. * Sun Jun 11 2006 - laca at sun.com - change group from other to bin/sys * Thu May 04 2006 - laca at sun.com - merge -share pkg(s) into the base pkg(s) * Fri Feb 17 2006 - damien.carbery at sun.com - Update Build/Requires after running check-deps.pl script. * Tue Sep 13 2005 - brian.cameron at sun.com - Now use flac version number. * Fri Aug 12 2005 - balamurali.viswanathan at wipro.com - Initial spec-file created
