Hi Laca,

Cool, thanks! This will help alot .

~Mike

Laszlo (Laca) Peter wrote:
> On Wed, 2006-05-31 at 11:00 -0500, Mike Kiedrowski wrote:
>   
>> Attached is a spec-file template I've been using. Hope it helps.
>>     
>
> Hi Mike,
>
> Good stuff.  I've updated it slightly to reflect some recent
> changes in the JDS spec files and also added some comments.
> My comments should probably be deleted from the real spec files
> to reduce the noise.  Added some examples in %files too.
>
> Some things might need further explanation:
>
> - we've got rid of the -share packages from JDS so I removed
>   them from the template too.  There wasn't much point in making
>   them in JDS only and not in other parts of the OS.
>
> - we're gradually fixing the file ownerships, changing from
>   root:other to root:bin/root:sys as appropriate.  This is
>   going to be a bit painful initially but will make things
>   easier and nicer long term.  Some examples in %files show
>   how to deal with directories that are still root:other.
>   When does directories change to root:bin in GNOME, you can
>   simply remove those %dir %attr... lines.
>
> Attaching my version.
>
> Laca
>
>   
> ------------------------------------------------------------------------
>
> #
> # spec file for package SUNWfoo
> #
> # Copyright (c) 2006 Sun Microsystems, Inc.
> # This file and all modifications and additions to the pristine
> # package are under the same license as the package itself.
>
> %include Solaris.inc
>
> Name:                    SUNWfoo
> Summary:                 foo libraries - This program does foo
> # use the version number of the community package if possible, but
> # don't include non-numerics, like 6.2b or 1.5.1alpha
> Version:                 0.0.0
> # make sure the Source is a url that actually works
> Source:                        
> # Use -p1 unified diffs (see man patch)
> Patch1:                        
> SUNW_BaseDir:            %{_basedir}
> BuildRoot:               %{_tmppath}/%{name}-%{version}-build
> %include default-depend.inc
> # add build and runtime dependencies here:
> BuildRequires: SUNWbar-devel
> Requires: SUNWbar
> # the base pkg should depend on the -root subpkg, if there is one:
> Requires: %{name}-root
>
> %package root
> Summary:                 %{summary} - / filesystem
> SUNW_BaseDir:            /
> %include default-depend.inc
>
> #Please DON'T create share pkgs, we stopped using them in JDS4
> #%package share   (delete me)
>
> %package devel
> Summary:               %{summary} - development files
> SUNW_BaseDir:            %{_basedir}
> Requires:                %{name} = %{version}
> %include default-depend.inc
>
> %if %build_l10n
> %package l10n
> Summary:                 foo - l10n files
> SUNW_BaseDir:            %{_basedir}
> %include default-depend.inc
> Requires:                %{name}
> %endif
>
> #
> ## runtime pkgs:
> #
> # SUNWpackage-name:                    the main package, binaries, libs,
> #                                      file in %{_datadir} needed at runtime
> # SUNWpackage-name-root:               /etc, /var stuff
> #
> ## development pkgs:
> #
> # SUNWpackage-name-devel:              include files, pkgconfig files,
> #                                      files in %{_datadir}, like aclocal
> #                                      macros and gtk-docs and
> #                                      binaries only needed for development
> # SUNWpackage-name-devel-root:         any root files that are only needed
> #                                      for development
>
>
> %prep
> %setup -q -n foo-%version
> %patch1 -p1
>
> %build
> CPUS=`/usr/sbin/psrinfo | grep on-line | wc -l | tr -d ' '`
> if test "x$CPUS" = "x" -o $CPUS = 0; then
>     CPUS=1
> fi
>
> export CFLAGS="%optflags"
> export RPM_OPT_FLAGS="$CFLAGS"
> export LDFLAGS="%{_ldflags}"
> export MSGFMT="/usr/bin/msgfmt"
>
> ./configure --prefix=%{_prefix}                       \
>           --bindir=%{_bindir}                 \
>           --sysconfdir=%{_sysconfdir}         \
>           --includedir=%{_includedir}         \
>           --mandir=%{_mandir}                 \
>             --libdir=%{_libdir}
>
> make -j$CPUS
>
> %install
> make install DESTDIR=$RPM_BUILD_ROOT
> rm $RPM_BUILD_ROOT%{_libdir}/*.la
>
> #
> # when not building -l10n packages, remove anything l10n related from
> # $RPM_BUILD_ROOT
> #
> %if %build_l10n
> %else
> # REMOVE l10n FILES
> rm -rf $RPM_BUILD_ROOT%{_datadir}/locale
> rm -rf $RPM_BUILD_ROOT%{_datadir}/gnome/help/*/[a-z]*
> rm -rf $RPM_BUILD_ROOT%{_datadir}/omf/*/*-[a-z]*.omf
> %endif
>
> %clean
> rm -rf $RPM_BUILD_ROOT
>
> %files
> %defattr (-, root, bin)
> %dir %attr (0755, root, bin) %{_bindir}
> %{_bindir}/*
> %dir %attr (0755, root, bin) %{_libdir}
> %{_libdir}/*
> %dir %attr(0755, root, sys) %{_datadir}
> %dir %attr (0755, root, other) %{_datadir}/pixmaps
> %{_datadir}/pixmaps/*
> %{_datadir}/foo
> %dir %attr(0755, root, bin) %{_mandir}
> %dir %attr(0755, root, bin) %{_mandir}/*
> %{_mandir}/*/*
>
> %files root
> %defattr (0755, root, sys)
> %attr (0755, root, sys) %dir %{_sysconfdir}
> %{_sysconfdir}/*
>
> %files devel
> %defattr (-, root, bin)
> %dir %attr (0755, root, bin) %{_includedir}
> %{_includedir}/*
> %dir %attr (0755, root, other) %{_libdir}/pkgconfig
> %{_libdir}/pkgconfig/*
>
> #
> # The files included here should match the ones removed in %install
> #
> %if %build_l10n
> %files l10n
> %defattr (-, root, other)
> %dir %attr (0755, root, sys) %{_datadir}
> %{_datadir}/locale
> %{_datadir}/gnome/help/*/[a-z]*
> %{_datadir}/omf/*/*-[a-z]*.omf
> %endif
>
> %changelog
> * 
> - Initial spec
>
>   


Reply via email to