Browse Source

2005-04-11 Paul Jakma <paul.jakma@sun.com>

	* (all) Initial check-in of files for building S10 packages
	* protototype.*.in: package prototype files for SysV packages
	* *.xml.in: SMF manifests for Quagga daemons
	* pkginfo.*.tmpl.in: daemon specific pkginfo, refererenced
	  by prototype files.
	* pkginfo.tmpl.in: Quagga common pkginfo bits
	* quagga.init.in: SMF method script
	* Makefile.am: Automake file for building packages
	* depend.*: Solaris 10 dependencies for packages, referenced by
	  prototype files.
	* .cvsignore: no idea what this is for...
paul 15 years ago
parent
commit
1b414a1700

+ 4 - 0
solaris/.cvsignore

@@ -0,0 +1,4 @@
+Makefile
+Makefile.in
+?.manifest
+

+ 13 - 0
solaris/ChangeLog

@@ -0,0 +1,13 @@
+2005-04-11 Paul Jakma <paul.jakma@sun.com>
+
+	* (all) Initial check-in of files for building S10 packages
+	* protototype.*.in: package prototype files for SysV packages
+	* *.xml.in: SMF manifests for Quagga daemons
+	* pkginfo.*.tmpl.in: daemon specific pkginfo, refererenced
+	  by prototype files.
+	* pkginfo.tmpl.in: Quagga common pkginfo bits
+	* quagga.init.in: SMF method script
+	* Makefile.am: Automake file for building packages
+	* depend.*: Solaris 10 dependencies for packages, referenced by
+	  prototype files.
+	* .cvsignore: no idea what this is for...

+ 120 - 0
solaris/Makefile.am

@@ -0,0 +1,120 @@
+# Solaris packages automake file
+# $Id: Makefile.am,v 1.1 2005/04/11 07:05:21 paul Exp $
+
+.PHONY: packages
+
+# the names of the various subpackages, and some convenient 
+# derived variables.
+pkg_names = daemons dev doc libs
+pkg_quagga_daemons = zebra bgpd ospfd ospf6d ripd ripngd
+pkg_name_rev = @PACKAGE_VERSION@-@CONFDATE@-@target_os@-@target_cpu@
+pkg_depends := $(pkg_names:%=depend.%)
+pkg_packages := $(pkg_names:%=@PACKAGE_TARNAME@-%-$(pkg_name_rev).pkg)
+pkg_pkginfos := $(pkg_names:%=pkginfo.%.full)
+pkg_prototypes := $(pkg_names:%=prototype.%)
+pkg_manifests := $(pkg_quagga_daemons:%=%.xml)
+
+# pkgmk variable substitutions wont grok ${variable} in prototype
+# file, so we cant let autoconf generate the file sadly
+# wish automake would just provide a template for this
+edit := $(SED) \
+	-e 's,@prefix\@,$(prefix),g' \
+	-e 's,@exec_prefix,$(exec_prefix),g' \
+	-e 's,@bindir\@,$(bindir),g' \
+	-e 's,@sbindir\@,$(sbindir),g' \
+	-e 's,@libexecdir\@,$(libexecdir),g' \
+	-e 's,@datadir\@,$(datadir),g' \
+	-e 's,@sysconfdir\@,$(sysconfdir),g' \
+	-e 's,@sharedstatedir\@,$(sharedstatedir),g' \
+	-e 's,@localstatedir\@,$(localstatedir),g' \
+	-e 's,@libdir\@,$(libdir),g' \
+	-e 's,@includedir\@,$(includedir),g' \
+	-e 's,@infodir\@,$(infodir),g' \
+	-e 's,@mandir\@,$(mandir),g' \
+	-e 's,@enable_user\@,$(enable_user),g' \
+	-e 's,@enable_group\@,$(enable_group),g' \
+	-e 's,@enable_vty_group\@,$(enable_vty_group),g' \
+	-e 's,@quagga_statedir\@,$(quagga_statedir),g' \
+	-e 's,[@]PACKAGE_NAME[@],@PACKAGE_NAME@,g' \
+ 	-e 's,[@]PACKAGE_TARNAME[@],@PACKAGE_TARNAME@,g' \
+ 	-e 's,[@]PACKAGE_VERSION[@],@PACKAGE_VERSION@,g' \
+ 	-e 's,[@]PACKAGE_BUGREPORT[@],@PACKAGE_BUGREPORT@,g' \
+  	-e 's,[@]CONFDATE[@],@CONFDATE@,g' \
+ 	-e 's,[@]target_cpu[@],$(target_cpu),g' \
+ 	-e 's,[@]target_host[@],$(target_host),g' \
+ 	-e 's,[@]target_os[@],$(target_os),g'
+
+# common options for pkgmk
+pkg_make_vars := exec_prefix=@exec_prefix@ prefix=@prefix@ \
+	builddir=@builddir@ srcdir=@srcdir@ \
+	top_builddir=@top_builddir@ top_srcdir=@top_srcdir@ \
+	abs_builddir=@abs_builddir@ abs_srcdir=@abs_srcdir@ \
+	abs_top_builddir=@abs_top_builddir@ abs_top_srcdir=@abs_top_srcdir@
+
+# pkgmk: write the package to spool in build dir, to avoid root dependencies
+pkg_make = pkgmk -o -d @abs_builddir@ \
+	-f $< DESTDIR="$(DESTDIR)/" $(pkg_make_vars)
+
+# pkgtrans: write a pkg file stream, shame we cant pipe directly to it from
+# pkgmk..
+pkg_trans = pkgtrans -s @abs_builddir@ "@abs_builddir@/$@"
+
+# pkgmk can only cope with a single pkginfo, cant 'stack' various 
+# pkginfo template files and a package specific pkginfo file in the prototype
+# Create the package specific template here, and create the full pkginfo
+# by cating this and the common pkginfo.tmpl together.
+pkginfo.tmpl: $(srcdir)/pkginfo.tmpl.in Makefile
+	rm -f $@
+	$(edit) $< > $@
+
+pkginfo.%.tmpl: $(srcdir)/pkginfo.%.tmpl.in Makefile
+	rm -f $@
+	$(edit) $< > $@
+
+pkginfo.%.full: $(srcdir)/pkginfo.%.tmpl pkginfo.tmpl Makefile
+	cat pkginfo.tmpl pkginfo.$*.tmpl > $@
+
+# use 'edit' above to transform prototype.in to pkgmk acceptable prototype
+prototype.%: $(srcdir)/prototype.%.in Makefile
+	rm -f $@
+	$(edit) $< > $@
+
+# use edit to construct the SMF manifest files
+%.xml: $(srcdir)/%.xml.in Makefile
+	rm -f $@
+	$(edit) $< > $@
+
+# method file (bit like init script)
+quagga.init: $(srcdir)/quagga.init.in Makefile
+	rm -f $@
+	$(edit) $< > $@
+
+# construct the pkg
+@PACKAGE_TARNAME@-%-$(pkg_name_rev).pkg: prototype.% \
+		quagga.init pkginfo.%.full i.manifest r.manifest
+	($(pkg_make) && \
+	$(pkg_trans) "QUAGGA$*")
+
+
+%.pkg.gz : %.pkg
+	(gzip -c $< > $@)
+
+# pkginfo.package and prototype.package are all built sources
+#BUILT_SOURCES = pkginfo.daemons pkginfo.dev pkginfo.doc pkginfo.libs \
+#	prototype.daemons prototype.dev prototype.doc prototype.libs
+BUILT_SOURCES = $(pkg_pkginfos) pkginfo.tmpl $(pkg_prototypes) \
+	$(pkg_manifests) quagga.init
+
+CLEANFILES := $(BUILT_SOURCES) $(pkg_packages)
+
+EXTRA_DIST := $(pkg_depends) $(pkg_manifests:%=%.in) $(pkg_prototypes:%=%.in) \
+	$(pkg_names:%=pkginfo.%.tmpl.in) $(srcdir)/pkginfo.tmpl.in \
+	quagga.init.in options.xml r.manifest i.manifest
+
+pkg-root-install:
+	(cd $(top_builddir) && \
+	 $(MAKE) DESTDIR=$(abs_builddir)/quagga-root install)
+
+packages: $(pkg_packages)
+
+#nodist_pkgdata_DATA = $(pkg_packages)

+ 115 - 0
solaris/bgpd.xml.in

@@ -0,0 +1,115 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<!--
+	Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+	Use is subject to license terms.
+
+	$Id: bgpd.xml.in,v 1.1 2005/04/11 07:05:21 paul Exp $
+-->
+
+<service_bundle type='manifest' name='QUAGGAdaemons:bgpd'>
+
+<service
+	name='network/bgp'
+	type='service'
+	version='1'>
+
+	<create_default_instance enabled='false' />
+
+	<single_instance />
+
+	<dependency name='fs'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri
+			value='svc:/system/filesystem/usr:default' />
+	</dependency>
+
+	<dependency name='net'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri value='svc:/network/loopback' />
+	</dependency>
+
+	<dependency name='zebra'
+		grouping='require_all'
+		restart_on='restart'
+		type='service'>
+		<service_fmri value='svc:/network/zebra' />
+	</dependency>
+
+	<dependency name='config_data'
+		grouping='require_all'
+		restart_on='restart'
+		type='path'>
+		<service_fmri
+		    value='file://localhost/@sysconfdir@/bgpd.conf' />
+	</dependency>
+
+	<exec_method
+		type='method'
+		name='start'
+		exec='/lib/svc/method/quagga start svc:/network/bgp'
+		timeout_seconds='60'/>
+
+	<exec_method
+		type='method'
+		name='stop'
+		exec='/lib/svc/method/quagga stop svc:/network/bgp'
+		timeout_seconds='60' />
+
+	<exec_method
+		type='method'
+		name='restart'
+		exec='/lib/svc/method/quagga restart svc:/network/bgp'
+		timeout_seconds='60' />
+
+	<property_group name='startd'
+		type='framework'>
+		<!-- sub-process core dumps shouldn't restart session -->
+		<propval name='ignore_error'
+		    type='astring' value='core,signal' />
+	</property_group>
+	
+	<property_group name='bgpd' type='application'>
+		<stability value='Evolving' />
+		<propval name='retain_routes' type='boolean' value='false'/>
+		<propval name='no_kernel' type='boolean' value='false'/>
+		
+	</property_group>
+	<property_group name='@PACKAGE_NAME@' type='application'>
+		<!-- Options common to @PACKAGE_NAME@ daemons -->	
+		<!-- cant make XInclude validate with svccfg -->
+		<propval name='daemon_name' type='astring'
+			value='bgpd' />
+		<propval name='config_file' type='astring'
+			value='@sysconfdir@/bgpd.conf' />
+		<propval name='pid_file' type='astring'
+			value='@localstatedir@/bgpd.pid' />
+		<propval name='vty_addr' type='astring' value='127.1' />
+		<propval name='vty_port' type='integer' value='0'/>
+		<propval name='user' type='astring' value='@enable_user@' />
+		<propval name='group' type='astring' value='@enable_group@' />		
+	</property_group>
+
+	<stability value='Unstable' />
+
+	<template>
+		<common_name>
+			<loctext xml:lang='C'>
+			@PACKAGE_NAME@: bgpd, BGP routing protocol daemon.
+			</loctext>
+		</common_name>
+		<documentation>
+			<manpage title='bgpd' section='1M'
+				manpath='@mandir@' />
+			<doc_link name='quagga.net' 
+				uri='http://www.quagga.net/' />
+		</documentation>
+	</template>
+
+</service>
+
+</service_bundle>

+ 7 - 0
solaris/depend.daemons

@@ -0,0 +1,7 @@
+P QUAGGAlibs Quagga common runtime libraries
+P SUNWcsu Core Solaris, (Usr)
+P SUNWcsr Core Solaris Libraries (Root)
+P SUNWcnetr Core Solaris Network Infrastructure (Root)
+I SUNWzebrar
+I SUNWzebrau
+I CSWzebra

+ 1 - 0
solaris/depend.dev

@@ -0,0 +1 @@
+P QUAGGAlibs Quagga common runtime libraries

+ 1 - 0
solaris/depend.doc

@@ -0,0 +1 @@
+P SUNWdoc Documentation Tools

+ 5 - 0
solaris/depend.libs

@@ -0,0 +1,5 @@
+P SUNWcslr  Core Solaris Libraries (Root)
+P SUNWcsl Core Solaris, (Shared Libs)
+P SUNWlibmsr Math & Microtasking Libraries (Root)
+R QUAGGAdaemons Quagga daemons
+R QUAGGAdev

+ 108 - 0
solaris/ospf6d.xml.in

@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<!--
+	Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+	Use is subject to license terms.
+
+	$Id: ospf6d.xml.in,v 1.1 2005/04/11 07:05:21 paul Exp $
+-->
+
+<service_bundle type='manifest' name='QUAGGAdaemons:ospf6d'>
+
+<service
+	name='network/ospf6'
+	type='service'
+	version='1'>
+
+	<create_default_instance enabled='false' />
+
+	<single_instance />
+
+	<dependency name='fs'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri
+			value='svc:/system/filesystem/usr:default' />
+	</dependency>
+
+	<dependency name='net'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri value='svc:/network/loopback' />
+	</dependency>
+
+	<dependency name='zebra'
+		grouping='require_all'
+		restart_on='restart'
+		type='service'>
+		<service_fmri value='svc:/network/zebra' />
+	</dependency>
+
+	<dependency name='config_data'
+		grouping='require_all'
+		restart_on='restart'
+		type='path'>
+		<service_fmri
+		    value='file://localhost/@sysconfdir@/ospf6d.conf' />
+	</dependency>
+
+	<exec_method
+		type='method'
+		name='start'
+		exec='/lib/svc/method/quagga start svc:/network/ospf6'
+		timeout_seconds='60'/>
+
+	<exec_method
+		type='method'
+		name='stop'
+		exec='/lib/svc/method/quagga stop svc:/network/ospf6'
+		timeout_seconds='60' />
+
+	<exec_method
+		type='method'
+		name='restart'
+		exec='/lib/svc/method/quagga restart svc:/network/ospf6'
+		timeout_seconds='60' />
+
+	<property_group name='startd'
+		type='framework'>
+		<!-- sub-process core dumps shouldn't restart session -->
+		<propval name='ignore_error'
+		    type='astring' value='core,signal' />
+	</property_group>
+	
+	<property_group name='ospf6d' type='application'>
+		<stability value='Evolving' />				
+	</property_group>
+	<property_group name='@PACKAGE_NAME@' type='application'>		
+		<!-- Options common to @PACKAGE_NAME@ daemons -->	
+		<!-- cant make XInclude validate with svccfg -->
+		<propval name='daemon_name' type='astring'
+			value='ospf6d' />
+		<propval name='config_file' type='astring'
+			value='@sysconfdir@/ospf6d.conf' />
+		<propval name='pid_file' type='astring'
+			value='@localstatedir@/ospf6d.pid' />
+		<propval name='vty_addr' type='astring' value='127.1' />
+		<propval name='vty_port' type='integer' value='0'/>
+		<propval name='user' type='astring' value='@enable_user@' />
+		<propval name='group' type='astring' value='@enable_group@' />
+	</property_group>
+	<stability value='Unstable' />
+
+	<template>
+		<common_name>
+			<loctext xml:lang='C'>
+			@PACKAGE_NAME@: ospf6d, OSPFv3 IPv6 routing protocol daemon.
+			</loctext>
+		</common_name>
+		<documentation>
+			<manpage title='ospf6d' section='1M' manpath='@mandir@' />
+		</documentation>
+	</template>
+
+</service>
+
+</service_bundle>

+ 114 - 0
solaris/ospfd.xml.in

@@ -0,0 +1,114 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<!--
+	Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+	Use is subject to license terms.
+
+	$Id: ospfd.xml.in,v 1.1 2005/04/11 07:05:21 paul Exp $
+-->
+
+<service_bundle type='manifest' name='QUAGGAdaemons:ospfd'>
+
+<service
+	name='network/ospf'
+	type='service'
+	version='1'>
+
+	<create_default_instance enabled='false' />
+
+	<single_instance />
+
+	<dependency name='fs'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri
+			value='svc:/system/filesystem/usr:default' />
+	</dependency>
+
+	<dependency name='net'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri value='svc:/network/loopback' />
+	</dependency>
+
+	<dependency name='zebra'
+		grouping='require_all'
+		restart_on='restart'
+		type='service'>
+		<service_fmri value='svc:/network/zebra' />
+	</dependency>
+
+	<dependency name='config_data'
+		grouping='require_all'
+		restart_on='restart'
+		type='path'>
+		<service_fmri
+		    value='file://localhost/@sysconfdir@/ospfd.conf' />
+	</dependency>
+
+	<exec_method
+		type='method'
+		name='start'
+		exec='/lib/svc/method/quagga start svc:/network/ospf'
+		timeout_seconds='60'/>
+
+	<exec_method
+		type='method'
+		name='stop'
+		exec='/lib/svc/method/quagga stop svc:/network/ospf'
+		timeout_seconds='60' />
+
+	<exec_method
+		type='method'
+		name='restart'
+		exec='/lib/svc/method/quagga restart svc:/network/ospf'
+		timeout_seconds='60' />
+
+	<property_group name='startd'
+		type='framework'>
+		<!-- sub-process core dumps shouldn't restart session -->
+		<propval name='ignore_error'
+		    type='astring' value='core,signal' />
+	</property_group>
+	
+	<property_group name='ospfd' type='application'>
+		<stability value='Evolving' />
+		<propval name='apiserver' type='boolean' value='false'/>
+	</property_group>
+	<property_group name='@PACKAGE_NAME@' type='application'>
+		<stability value='Evolving' />
+		<!-- Options common to @PACKAGE_NAME@ daemons -->	
+		<!-- cant make XInclude validate with svccfg -->
+		<propval name='daemon_name' type='astring' value='ospfd'/>
+		<propval name='config_file' type='astring'
+			value='@sysconfdir@/ospfd.conf' />
+		<propval name='pid_file' type='astring'
+			value='@localstatedir@/ospfd.pid' />
+		<propval name='vty_addr' type='astring' value='127.1' />
+		<propval name='vty_port' type='integer' value='0'/>
+		<propval name='user' type='astring' value='@enable_user@' />
+		<propval name='group' type='astring' value='@enable_group@' />
+		
+		<!--
+		<xi:include href='file:/var/svc/profile/@PACKAGE_TARNAME@_options.xml' />
+		-->
+	</property_group>
+
+	<stability value='Unstable' />
+
+	<template>
+		<common_name>
+			<loctext xml:lang='C'>
+			@PACKAGE_NAME@: ospfd, OSPFv2 IPv4 routing protocol daemon.
+			</loctext>
+		</common_name>
+		<documentation>
+			<manpage title='ospfd' section='1M' manpath='@mandir@' />
+		</documentation>
+	</template>
+
+</service>
+
+</service_bundle>

+ 2 - 0
solaris/pkginfo.daemons.tmpl.in

@@ -0,0 +1,2 @@
+PKG="QUAGGAdaemons"
+NAME="@PACKAGE_NAME@ - @PACKAGE_NAME@ daemons"

+ 3 - 0
solaris/pkginfo.dev.tmpl.in

@@ -0,0 +1,3 @@
+PKG=QUAGGAdev
+NAME="@PACKAGE_NAME@ - @PACKAGE_NAME@ development files"
+

+ 2 - 0
solaris/pkginfo.doc.tmpl.in

@@ -0,0 +1,2 @@
+PKG=QUAGGAdoc
+NAME="@PACKAGE_NAME@ - @PACKAGE_NAME@ documentation"

+ 2 - 0
solaris/pkginfo.libs.tmpl.in

@@ -0,0 +1,2 @@
+PKG=QUAGGAlibs
+NAME="@PACKAGE_NAME@ - @PACKAGE_NAME@ common runtime libraries"

+ 10 - 0
solaris/pkginfo.tmpl.in

@@ -0,0 +1,10 @@
+ARCH="@target_cpu@"
+CATEGORY="system"
+VERSION="@PACKAGE_VERSION@,REV=@CONFDATE@"
+VENDOR="http://www.quagga.net/"
+HOTLINE="@PACKAGE_BUGREPORT@"
+EMAIL=paul@quagga.net
+DESC="@PACKAGE_NAME@ Routing Protocols"
+MAXINST=1
+CLASSES="none preserve renamenew manifest"
+BASEDIR=/

+ 30 - 0
solaris/prototype.daemons.in

@@ -0,0 +1,30 @@
+i pkginfo=$abs_builddir/pkginfo.daemons.full
+i depend=$abs_builddir/depend.daemons
+i copying=$abs_top_srcdir/COPYING
+i i.manifest
+i r.manifest
+d none @sbindir@=$DESTDIR/@sbindir@ 0755 root bin
+f none @sbindir@/zebra=$DESTDIR/@sbindir@/zebra 0755 root bin
+f none @sbindir@/bgpd=$DESTDIR/@sbindir@/bgpd 0755 root bin
+f none @sbindir@/ripd=$DESTDIR/@sbindir@/ripd 0755 root bin
+f none @sbindir@/ripngd=$DESTDIR/@sbindir@/ripngd 0755 root bin
+f none @sbindir@/ospfd=$DESTDIR/@sbindir@/ospfd 0755 root bin
+f none @sbindir@/ospf6d=$DESTDIR/@sbindir@/ospf6d 0755 root bin
+f none @sbindir@/watchquagga=$DESTDIR/@sbindir@/watchquagga 0755 root bin
+d none @sysconfdir@=$DESTDIR/@sysconfdir@ 0711 @enable_user@ @enable_group@
+f none @sysconfdir@/zebra.conf.sample=$DESTDIR/@sysconfdir@/zebra.conf.sample 0644 root bin
+f none @sysconfdir@/bgpd.conf.sample=$DESTDIR/@sysconfdir@/bgpd.conf.sample 0644 root bin
+f none @sysconfdir@/bgpd.conf.sample2=$DESTDIR/@sysconfdir@/bgpd.conf.sample2 0644 root bin
+f none @sysconfdir@/ripd.conf.sample=$DESTDIR/@sysconfdir@/ripd.conf.sample 0644 root bin
+f none @sysconfdir@/ripngd.conf.sample=$DESTDIR/@sysconfdir@/ripngd.conf.sample 0644 root bin
+f none @sysconfdir@/ospfd.conf.sample=$DESTDIR/@sysconfdir@/ospfd.conf.sample 0644 root bin
+f none @sysconfdir@/ospf6d.conf.sample=$DESTDIR/@sysconfdir@/ospf6d.conf.sample 0644 root bin
+d none @quagga_statedir@=$DESTDIR/@quagga_statedir@ 0711 @enable_user@ @enable_group@
+f manifest var/svc/manifest/network/zebra.xml 0444 root bin
+f manifest var/svc/manifest/network/bgpd.xml 0444 root bin
+f manifest var/svc/manifest/network/ospfd.xml 0444 root bin
+f manifest var/svc/manifest/network/ospf6d.xml 0444 root bin
+f manifest var/svc/manifest/network/ripd.xml 0444 root bin
+f manifest var/svc/manifest/network/ripngd.xml 0444 root bin
+#f none var/svc/profile/@PACKAGE_TARNAME@_options.xml=$abs_builddir/options.xml 0755 root sys
+f none lib/svc/method/quagga=$abs_builddir/quagga.init 0755 root bin

+ 57 - 0
solaris/prototype.dev.in

@@ -0,0 +1,57 @@
+i pkginfo=$abs_builddir/pkginfo.dev.full
+i depend=$abs_builddir/depend.dev
+i copying=$abs_top_srcdir/COPYING
+f none @libdir@/libzebra.la=$DESTDIR/@libdir@/libzebra.la 0755 root bin
+f none @libdir@/libzebra.a=$DESTDIR/@libdir@/libzebra.a 0644 root bin
+f none @libdir@/libospf.la=$DESTDIR/@libdir@/libospf.la 0755 root bin
+f none @libdir@/libospf.a=$DESTDIR/@libdir@/libospf.a 0644 root bin
+f none @libdir@/libospfapiclient.la=$DESTDIR/@libdir@/libospfapiclient.la 0755 root bin
+f none @libdir@/libospfapiclient.a=$DESTDIR/@libdir@/libospfapiclient.a 0644 root bin
+d none @includedir@=$DESTDIR/@includedir@ 0755 root bin
+d none @includedir@/quagga=$DESTDIR/@includedir@/quagga 0755 root bin
+d none @includedir@/quagga/ospfd=$DESTDIR/@includedir@/quagga/ospfd 0755 root bin
+f none @includedir@/quagga/ospfd/ospf_api.h=$DESTDIR/@includedir@/quagga/ospfd/ospf_api.h 0644 root bin
+f none @includedir@/quagga/ospfd/ospf_asbr.h=$DESTDIR/@includedir@/quagga/ospfd/ospf_asbr.h 0644 root bin
+f none @includedir@/quagga/ospfd/ospf_dump.h=$DESTDIR/@includedir@/quagga/ospfd/ospf_dump.h 0644 root bin
+f none @includedir@/quagga/ospfd/ospf_lsa.h=$DESTDIR/@includedir@/quagga/ospfd/ospf_lsa.h 0644 root bin
+f none @includedir@/quagga/ospfd/ospf_lsdb.h=$DESTDIR/@includedir@/quagga/ospfd/ospf_lsdb.h 0644 root bin
+f none @includedir@/quagga/ospfd/ospf_nsm.h=$DESTDIR/@includedir@/quagga/ospfd/ospf_nsm.h 0644 root bin
+f none @includedir@/quagga/ospfd/ospf_ism.h=$DESTDIR/@includedir@/quagga/ospfd/ospf_ism.h 0644 root bin
+f none @includedir@/quagga/ospfd/ospf_opaque.h=$DESTDIR/@includedir@/quagga/ospfd/ospf_opaque.h 0644 root bin
+f none @includedir@/quagga/ospfd/ospfd.h=$DESTDIR/@includedir@/quagga/ospfd/ospfd.h 0644 root bin
+f none @includedir@/quagga/buffer.h=$DESTDIR/@includedir@/quagga/buffer.h 0644 root bin
+f none @includedir@/quagga/command.h=$DESTDIR/@includedir@/quagga/command.h 0644 root bin
+f none @includedir@/quagga/filter.h=$DESTDIR/@includedir@/quagga/filter.h 0644 root bin
+f none @includedir@/quagga/getopt.h=$DESTDIR/@includedir@/quagga/getopt.h 0644 root bin
+f none @includedir@/quagga/hash.h=$DESTDIR/@includedir@/quagga/hash.h 0644 root bin
+f none @includedir@/quagga/if.h=$DESTDIR/@includedir@/quagga/if.h 0644 root bin
+f none @includedir@/quagga/linklist.h=$DESTDIR/@includedir@/quagga/linklist.h 0644 root bin
+f none @includedir@/quagga/log.h=$DESTDIR/@includedir@/quagga/log.h 0644 root bin
+f none @includedir@/quagga/memory.h=$DESTDIR/@includedir@/quagga/memory.h 0644 root bin
+f none @includedir@/quagga/network.h=$DESTDIR/@includedir@/quagga/network.h 0644 root bin
+f none @includedir@/quagga/prefix.h=$DESTDIR/@includedir@/quagga/prefix.h 0644 root bin
+f none @includedir@/quagga/routemap.h=$DESTDIR/@includedir@/quagga/routemap.h 0644 root bin
+f none @includedir@/quagga/distribute.h=$DESTDIR/@includedir@/quagga/distribute.h 0644 root bin
+f none @includedir@/quagga/sockunion.h=$DESTDIR/@includedir@/quagga/sockunion.h 0644 root bin
+f none @includedir@/quagga/str.h=$DESTDIR/@includedir@/quagga/str.h 0644 root bin
+f none @includedir@/quagga/stream.h=$DESTDIR/@includedir@/quagga/stream.h 0644 root bin
+f none @includedir@/quagga/table.h=$DESTDIR/@includedir@/quagga/table.h 0644 root bin
+f none @includedir@/quagga/thread.h=$DESTDIR/@includedir@/quagga/thread.h 0644 root bin
+f none @includedir@/quagga/vector.h=$DESTDIR/@includedir@/quagga/vector.h 0644 root bin
+f none @includedir@/quagga/version.h=$DESTDIR/@includedir@/quagga/version.h 0644 root bin
+f none @includedir@/quagga/vty.h=$DESTDIR/@includedir@/quagga/vty.h 0644 root bin
+f none @includedir@/quagga/zebra.h=$DESTDIR/@includedir@/quagga/zebra.h 0644 root bin
+f none @includedir@/quagga/plist.h=$DESTDIR/@includedir@/quagga/plist.h 0644 root bin
+f none @includedir@/quagga/zclient.h=$DESTDIR/@includedir@/quagga/zclient.h 0644 root bin
+f none @includedir@/quagga/sockopt.h=$DESTDIR/@includedir@/quagga/sockopt.h 0644 root bin
+f none @includedir@/quagga/smux.h=$DESTDIR/@includedir@/quagga/smux.h 0644 root bin
+f none @includedir@/quagga/md5-gnu.h=$DESTDIR/@includedir@/quagga/md5-gnu.h 0644 root bin
+f none @includedir@/quagga/if_rmap.h=$DESTDIR/@includedir@/quagga/if_rmap.h 0644 root bin
+f none @includedir@/quagga/keychain.h=$DESTDIR/@includedir@/quagga/keychain.h 0644 root bin
+f none @includedir@/quagga/privs.h=$DESTDIR/@includedir@/quagga/privs.h 0644 root bin
+f none @includedir@/quagga/sigevent.h=$DESTDIR/@includedir@/quagga/sigevent.h 0644 root bin
+f none @includedir@/quagga/pqueue.h=$DESTDIR/@includedir@/quagga/pqueue.h 0644 root bin
+f none @includedir@/quagga/jhash.h=$DESTDIR/@includedir@/quagga/jhash.h 0644 root bin
+f none @includedir@/quagga/zassert.h=$DESTDIR/@includedir@/quagga/zassert.h 0644 root bin
+d none @includedir@/quagga/ospfapi=$DESTDIR/@includedir@/quagga/ospfapi 0755 root bin
+f none @includedir@/quagga/ospfapi/ospf_apiclient.h=$DESTDIR/@includedir@/quagga/ospfapi/ospf_apiclient.h 0644 root bin

+ 17 - 0
solaris/prototype.doc.in

@@ -0,0 +1,17 @@
+i pkginfo=$abs_builddir/pkginfo.doc.full
+i depend=$abs_builddir/depend.doc
+i copying=$abs_top_srcdir/COPYING
+d none @infodir@=$DESTDIR/@infodir@ 0755 root bin
+f none @infodir@/dir=$DESTDIR/@infodir@/dir 0644 root bin
+f none @infodir@/quagga.info=$DESTDIR/@infodir@/quagga.info 0644 root bin
+d none @mandir@=$DESTDIR/@mandir@ 0755 root bin
+d none @mandir@/man1=$DESTDIR/@mandir@/man1 0755 root bin
+f none @mandir@/man1/vtysh.1=$DESTDIR/@mandir@/man1/vtysh.1 0644 root bin
+d none @mandir@/man8=$DESTDIR/@mandir@/man8 0755 root bin
+f none @mandir@/man8/bgpd.8=$DESTDIR/@mandir@/man8/bgpd.8 0644 root bin
+f none @mandir@/man8/ospf6d.8=$DESTDIR/@mandir@/man8/ospf6d.8 0644 root bin
+f none @mandir@/man8/ospfd.8=$DESTDIR/@mandir@/man8/ospfd.8 0644 root bin
+f none @mandir@/man8/ripd.8=$DESTDIR/@mandir@/man8/ripd.8 0644 root bin
+f none @mandir@/man8/ripngd.8=$DESTDIR/@mandir@/man8/ripngd.8 0644 root bin
+f none @mandir@/man8/zebra.8=$DESTDIR/@mandir@/man8/zebra.8 0644 root bin
+f none @mandir@/man8/isisd.8=$DESTDIR/@mandir@/man8/isisd.8 0644 root bin

+ 13 - 0
solaris/prototype.libs.in

@@ -0,0 +1,13 @@
+i pkginfo=$abs_builddir/pkginfo.libs.full
+i depend=$abs_builddir/depend.libs
+i copying=$abs_top_srcdir/COPYING
+d none @libdir@=$DESTDIR/@libdir@ 0755 root bin
+s none @libdir@/libzebra.so.0=libzebra.so.0.0.0
+f none @libdir@/libzebra.so.0.0.0=$DESTDIR/@libdir@/libzebra.so.0.0.0 0755 root bin
+s none @libdir@/libzebra.so=libzebra.so.0.0.0
+s none @libdir@/libospf.so.0=libospf.so.0.0.0
+f none @libdir@/libospf.so.0.0.0=$DESTDIR/@libdir@/libospf.so.0.0.0 0755 root bin
+s none @libdir@/libospf.so=libospf.so.0.0.0
+f none @libdir@/libospfapiclient.so.0.0.0=$DESTDIR/@libdir@/libospfapiclient.so.0.0.0 0755 root bin
+s none @libdir@/libospfapiclient.so.0=libospfapiclient.so.0.0.0
+s none @libdir@/libospfapiclient.so=libospfapiclient.so.0.0.0

+ 101 - 0
solaris/quagga.init.in

@@ -0,0 +1,101 @@
+#!/sbin/sh
+#
+# Copyright 2001,2003 Sun Microsystems, Inc.  All rights reserved.
+# Use is subject to license terms.
+#
+# $Id: quagga.init.in,v 1.1 2005/04/11 07:05:21 paul Exp $
+#
+# Starts/stops the appropriate daemon
+
+SMFINCLUDE=/lib/svc/share/smf_include.sh
+
+if [ -f "$SMFINCLUDE" ] ; then
+	. "$SMFINCLUDE";
+fi
+
+usage () {
+	echo "Usage: $0 (start|stop) <fmri>";
+}	
+
+case $1 in
+	'help' | 'usage')
+	usage
+	;;
+esac
+
+# fmri must be given.
+FMRI="$2"
+if [ -z "$FMRI" ]; then
+	usage
+	exit $SMF_EXIT_ERR_CONFIG
+fi
+
+# fmri must exist
+svcs ${FMRI} > /dev/null 2>&1 || exit $SMF_EXIT_ERR_CONFIG
+
+DAEMON=`svcprop -p @PACKAGE_NAME@/daemon_name ${FMRI} 2> /dev/null`
+[ -z "${DAEMON}" ] && exit $SMF_EXIT_ERR_CONFIG
+
+case ${DAEMON} in
+	zebra | ospfd | ospf6d | ripd | ripngd | bgpd )
+	;;
+	*)
+	usage
+	exit $SMF_EXIT_ERR_CONFIG;
+	;;
+esac
+
+CONFFILE=`svcprop -p @PACKAGE_NAME@/config_file ${FMRI}`
+PIDFILE=`svcprop -p @PACKAGE_NAME@/pid_file ${FMRI}`
+USER=`svcprop -p @PACKAGE_NAME@/user ${FMRI}`
+GROUP=`svcprop -p @PACKAGE_NAME@/group ${FMRI}`
+VTYADDR=`svcprop -p @PACKAGE_NAME@/vty_addr ${FMRI}`
+VTYPORT=`svcprop -p @PACKAGE_NAME@/vty_port ${FMRI}`
+
+[ -n "${CONFFILE}" ] && ARGS=" -f ${CONFFILE}"
+[ -n "${PIDFILE}" ] && ARGS="${ARGS} --pid_file ${PIDFILE}"
+[ -n "${USER}" ] && ARGS="${ARGS} --user ${USER}"
+[ -n "${GROUP}" ] && ARGS="${ARGS} --group ${GROUP}"
+[ -n "${VTYPORT}" ] && ARGS="${ARGS} --vty_port ${VTYPORT}"
+[ -n "${VTYADDR}" ] && ARGS="${ARGS} --vty_addr ${VTYADDR}"
+
+# have to have a pid file for script to work
+[ -z "${PIDFILE}" ] && exit $SMF_EXIT_ERR_CONFIG
+
+# config file must exist
+[ ! -f "$CONFFILE" ] &&  exit $SMF_EXIT_ERR_CONFIG
+
+start () {
+	/usr/local/quagga/sbin/${DAEMON} ${ARGS} &
+}
+
+stop () {
+	if [ -f "${PIDFILE}" ]; then
+		/usr/bin/kill -TERM `/usr/bin/cat "${PIDFILE}"`
+	fi
+}
+
+restart() {
+	stop ${daemon}
+	sleep 1
+	start ${daemon}
+}
+
+case $1 in 
+'start')
+	start ${2}
+	;;
+'stop')
+	stop ${2}
+	;;
+
+'restart')
+	restart ${2}
+	;;
+*)
+	usage
+	exit 1
+	;;
+esac	
+
+exit $SMF_EXIT_OK;

+ 114 - 0
solaris/ripd.xml.in

@@ -0,0 +1,114 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<!--
+	Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+	Use is subject to license terms.
+
+	$Id: ripd.xml.in,v 1.1 2005/04/11 07:05:21 paul Exp $
+-->
+
+<service_bundle type='manifest' name='QUAGGAdaemons:ripd'>
+
+<service
+	name='network/rip'
+	type='service'
+	version='1'>
+
+	<create_default_instance enabled='false' />
+
+	<single_instance />
+
+	<dependency name='fs'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri
+			value='svc:/system/filesystem/usr:default' />
+	</dependency>
+
+	<dependency name='net'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri value='svc:/network/loopback' />
+	</dependency>
+
+	<dependency name='zebra'
+		grouping='require_all'
+		restart_on='restart'
+		type='service'>
+		<service_fmri value='svc:/network/zebra' />
+	</dependency>
+
+	<dependency name='config_data'
+		grouping='require_all'
+		restart_on='restart'
+		type='path'>
+		<service_fmri
+		    value='file://localhost/@sysconfdir@/ripd.conf' />
+	</dependency>
+
+	<exec_method
+		type='method'
+		name='start'
+		exec='/lib/svc/method/quagga start svc:/network/rip'
+		timeout_seconds='60'/>
+
+	<exec_method
+		type='method'
+		name='stop'
+		exec='/lib/svc/method/quagga stop svc:/network/rip'
+		timeout_seconds='60' />
+
+	<exec_method
+		type='method'
+		name='restart'
+		exec='/lib/svc/method/quagga restart svc:/network/rip'
+		timeout_seconds='60' />
+
+	<property_group name='startd'
+		type='framework'>
+		<!-- sub-process core dumps shouldn't restart session -->
+		<propval name='ignore_error'
+		    type='astring' value='core,signal' />
+	</property_group>
+	
+	<property_group name='ripd' type='application'>
+		<stability value='Evolving' />
+		<propval name='retain_routes' type='boolean' value='false'/>
+	</property_group>
+
+	<property_group name='@PACKAGE_NAME@' type='application'>
+		<!-- Options common to @PACKAGE_NAME@ daemons -->	
+		<!-- cant make XInclude validate with svccfg -->
+		<propval name='daemon_name' type='astring' value='ripd' />
+		<propval name='config_file' type='astring'
+			value='@sysconfdir@/ripd.conf' />
+		<propval name='pid_file' type='astring'
+			value='@localstatedir@/ripd.pid' />
+		<propval name='vty_addr' type='astring' value='127.1' />
+		<propval name='vty_port' type='integer' value='0'/>
+		<propval name='user' type='astring' value='@enable_user@' />
+		<propval name='group' type='astring' value='@enable_group@' />
+		
+		<!--
+		<xi:include href='file:/var/svc/profile/@PACKAGE_TARNAME@_options.xml' />
+		-->
+	</property_group>
+
+	<stability value='Unstable' />
+
+	<template>
+		<common_name>
+			<loctext xml:lang='C'>
+			@PACKAGE_NAME@: ripd, RIPv1/2 IPv4 routing protocol daemon.
+			</loctext>
+		</common_name>
+		<documentation>
+			<manpage title='ripd' section='1M' manpath='@mandir@' />
+		</documentation>
+	</template>
+
+</service>
+
+</service_bundle>

+ 115 - 0
solaris/ripngd.xml.in

@@ -0,0 +1,115 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<!--
+	Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+	Use is subject to license terms.
+
+	$Id: ripngd.xml.in,v 1.1 2005/04/11 07:05:21 paul Exp $
+-->
+
+<service_bundle type='manifest' name='QUAGGAdaemons:ripngd'>
+
+<service
+	name='network/rip6'
+	type='service'
+	version='1'>
+
+	<create_default_instance enabled='false' />
+
+	<single_instance />
+
+	<dependency name='fs'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri
+			value='svc:/system/filesystem/usr:default' />
+	</dependency>
+
+	<dependency name='net'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri value='svc:/network/loopback' />
+	</dependency>
+
+	<dependency name='zebra'
+		grouping='require_all'
+		restart_on='restart'
+		type='service'>
+		<service_fmri value='svc:/network/zebra' />
+	</dependency>
+
+	<dependency name='config_data'
+		grouping='require_all'
+		restart_on='restart'
+		type='path'>
+		<service_fmri
+		    value='file://localhost/@sysconfdir@/ripngd.conf' />
+	</dependency>
+
+	<exec_method
+		type='method'
+		name='start'
+		exec='/lib/svc/method/quagga start svc:/network/rip6'
+		timeout_seconds='60'/>
+
+	<exec_method
+		type='method'
+		name='stop'
+		exec='/lib/svc/method/quagga stop svc:/network/rip6'
+		timeout_seconds='60' />
+
+	<exec_method
+		type='method'
+		name='restart'
+		exec='/lib/svc/method/quagga restart svc:/network/rip6'
+		timeout_seconds='60' />
+
+	<property_group name='startd'
+		type='framework'>
+		<!-- sub-process core dumps shouldn't restart session -->
+		<propval name='ignore_error'
+		    type='astring' value='core,signal' />
+	</property_group>
+	
+	<property_group name='ripngd' type='application'>
+		<stability value='Evolving' />
+		<propval name='retain_routes' type='boolean' value='false'/>
+	</property_group>
+	
+	<property_group name='@PACKAGE_NAME@' type='application'>
+		<stability value='Evolving' />
+		<!-- Options common to @PACKAGE_NAME@ daemons -->	
+		<!-- cant make XInclude validate with svccfg -->
+		<propval name='daemon_name' type='astring' value='ripngd' />
+		<propval name='config_file' type='astring'
+			value='@sysconfdir@/ripngd.conf' />
+		<propval name='pid_file' type='astring'
+			value='@localstatedir@/ripngd.pid' />
+		<propval name='vty_addr' type='astring' value='127.1' />
+		<propval name='vty_port' type='integer' value='0'/>
+		<propval name='user' type='astring' value='@enable_user@' />
+		<propval name='group' type='astring' value='@enable_group@' />
+		
+		<!--
+		<xi:include href='file:/var/svc/profile/@PACKAGE_TARNAME@_options.xml' />
+		-->
+	</property_group>
+
+	<stability value='Unstable' />
+
+	<template>
+		<common_name>
+			<loctext xml:lang='C'>
+			@PACKAGE_NAME@: ripngd, RIPv3 IPv6 routing protocol daemon.
+			</loctext>
+		</common_name>
+		<documentation>
+			<manpage title='ripngd' section='1M' manpath='@mandir@' />
+		</documentation>
+	</template>
+
+</service>
+
+</service_bundle>

+ 111 - 0
solaris/zebra.xml.in

@@ -0,0 +1,111 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<!--
+	Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+	Use is subject to license terms.
+
+	$Id: zebra.xml.in,v 1.1 2005/04/11 07:05:21 paul Exp $
+-->
+
+<service_bundle type='manifest' name='QUGGAdaemons:zebra'>
+
+<service
+	name='network/zebra'
+	type='service'
+	version='1'>
+
+	<create_default_instance enabled='false' />
+
+	<single_instance />
+
+	<dependency name='fs'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri
+			value='svc:/system/filesystem/usr:default' />
+	</dependency>
+
+	<dependency name='net'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri value='svc:/network/loopback' />
+	</dependency>
+
+	<dependency name='config_data'
+		grouping='require_all'
+		restart_on='restart'
+		type='path'>
+		<service_fmri
+		    value='file://localhost/@sysconfdir@/zebra.conf' />
+	</dependency>
+
+	<exec_method
+		type='method'
+		name='start'
+		exec='/lib/svc/method/quagga start svc:/network/zebra'
+		timeout_seconds='60'/>
+
+	<exec_method
+		type='method'
+		name='stop'
+		exec='/lib/svc/method/quagga stop svc:/network/zebra'
+		timeout_seconds='60' />
+
+	<exec_method
+		type='method'
+		name='restart'
+		exec='/lib/svc/method/quagga restart svc:/network/zebra'
+		timeout_seconds='60' />
+
+	<property_group name='startd'
+		type='framework'>
+		<!-- sub-process core dumps shouldn't restart session -->
+		<propval name='ignore_error'
+		    type='astring' value='core,signal' />
+	</property_group>
+
+	<property_group name='zebra' type='application'>
+		<stability value='Evolving' />
+		<propval name='retain_routes' type='boolean' value='false'/>
+		<propval name='keep_kernel' type='boolean' value='false'/>
+	</property_group>
+	
+	<property_group name='@PACKAGE_NAME@' type='application'>
+		<stability value='Evolving' />
+		<!-- Options common to @PACKAGE_NAME@ daemons -->	
+		<!-- cant make XInclude validate with svccfg -->
+		<propval name='daemon_name' type='astring'
+			value='zebra' />
+		<propval name='config_file' type='astring' 
+			value='@sysconfdir@/zebra.conf' />
+		<propval name='pid_file' type='astring'
+			value='@localstatedir@/zebra.pid' />
+		<propval name='vty_addr' type='astring' value='127.1' />
+		<propval name='vty_port' type='integer' value='0'/>
+		<propval name='user' type='astring' value='@enable_user@' />
+		<propval name='group' type='astring' value='@enable_group@' />
+		
+		<!--
+		<xi:include href='file:/var/svc/profile/@PACKAGE_TARNAME@_options.xml' />
+		-->
+	</property_group>
+
+	<stability value='Unstable' />
+
+	<template>
+		<common_name>
+			<loctext xml:lang='C'>
+			@PACKAGE_NAME@: zebra, RIB, kernel intermediary and misc daemon
+			</loctext>
+		</common_name>
+		<documentation>
+			<manpage title='zebra' section='1M' manpath='@mandir@' />
+		</documentation>
+	</template>
+
+</service>
+
+</service_bundle>
+