diff options
Diffstat (limited to 'solaris')
-rw-r--r-- | solaris/.cvsignore | 4 | ||||
-rw-r--r-- | solaris/ChangeLog | 13 | ||||
-rw-r--r-- | solaris/Makefile.am | 120 | ||||
-rw-r--r-- | solaris/bgpd.xml.in | 115 | ||||
-rw-r--r-- | solaris/depend.daemons | 7 | ||||
-rw-r--r-- | solaris/depend.dev | 1 | ||||
-rw-r--r-- | solaris/depend.doc | 1 | ||||
-rw-r--r-- | solaris/depend.libs | 5 | ||||
-rw-r--r-- | solaris/ospf6d.xml.in | 108 | ||||
-rw-r--r-- | solaris/ospfd.xml.in | 114 | ||||
-rw-r--r-- | solaris/pkginfo.daemons.tmpl.in | 2 | ||||
-rw-r--r-- | solaris/pkginfo.dev.tmpl.in | 3 | ||||
-rw-r--r-- | solaris/pkginfo.doc.tmpl.in | 2 | ||||
-rw-r--r-- | solaris/pkginfo.libs.tmpl.in | 2 | ||||
-rw-r--r-- | solaris/pkginfo.tmpl.in | 10 | ||||
-rw-r--r-- | solaris/prototype.daemons.in | 30 | ||||
-rw-r--r-- | solaris/prototype.dev.in | 57 | ||||
-rw-r--r-- | solaris/prototype.doc.in | 17 | ||||
-rw-r--r-- | solaris/prototype.libs.in | 13 | ||||
-rwxr-xr-x | solaris/quagga.init.in | 101 | ||||
-rw-r--r-- | solaris/ripd.xml.in | 114 | ||||
-rw-r--r-- | solaris/ripngd.xml.in | 115 | ||||
-rw-r--r-- | solaris/zebra.xml.in | 111 |
23 files changed, 1065 insertions, 0 deletions
diff --git a/solaris/.cvsignore b/solaris/.cvsignore new file mode 100644 index 00000000..06ace826 --- /dev/null +++ b/solaris/.cvsignore @@ -0,0 +1,4 @@ +Makefile +Makefile.in +?.manifest + diff --git a/solaris/ChangeLog b/solaris/ChangeLog new file mode 100644 index 00000000..bf91053b --- /dev/null +++ b/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... diff --git a/solaris/Makefile.am b/solaris/Makefile.am new file mode 100644 index 00000000..d0567fac --- /dev/null +++ b/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) diff --git a/solaris/bgpd.xml.in b/solaris/bgpd.xml.in new file mode 100644 index 00000000..668e6330 --- /dev/null +++ b/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> diff --git a/solaris/depend.daemons b/solaris/depend.daemons new file mode 100644 index 00000000..571d2e18 --- /dev/null +++ b/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 diff --git a/solaris/depend.dev b/solaris/depend.dev new file mode 100644 index 00000000..7d88070a --- /dev/null +++ b/solaris/depend.dev @@ -0,0 +1 @@ +P QUAGGAlibs Quagga common runtime libraries diff --git a/solaris/depend.doc b/solaris/depend.doc new file mode 100644 index 00000000..b3379291 --- /dev/null +++ b/solaris/depend.doc @@ -0,0 +1 @@ +P SUNWdoc Documentation Tools diff --git a/solaris/depend.libs b/solaris/depend.libs new file mode 100644 index 00000000..41859770 --- /dev/null +++ b/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 diff --git a/solaris/ospf6d.xml.in b/solaris/ospf6d.xml.in new file mode 100644 index 00000000..d09c6d20 --- /dev/null +++ b/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> diff --git a/solaris/ospfd.xml.in b/solaris/ospfd.xml.in new file mode 100644 index 00000000..d4dfd7f6 --- /dev/null +++ b/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> diff --git a/solaris/pkginfo.daemons.tmpl.in b/solaris/pkginfo.daemons.tmpl.in new file mode 100644 index 00000000..cab0e3c2 --- /dev/null +++ b/solaris/pkginfo.daemons.tmpl.in @@ -0,0 +1,2 @@ +PKG="QUAGGAdaemons" +NAME="@PACKAGE_NAME@ - @PACKAGE_NAME@ daemons" diff --git a/solaris/pkginfo.dev.tmpl.in b/solaris/pkginfo.dev.tmpl.in new file mode 100644 index 00000000..9c5d23e2 --- /dev/null +++ b/solaris/pkginfo.dev.tmpl.in @@ -0,0 +1,3 @@ +PKG=QUAGGAdev +NAME="@PACKAGE_NAME@ - @PACKAGE_NAME@ development files" + diff --git a/solaris/pkginfo.doc.tmpl.in b/solaris/pkginfo.doc.tmpl.in new file mode 100644 index 00000000..809ec775 --- /dev/null +++ b/solaris/pkginfo.doc.tmpl.in @@ -0,0 +1,2 @@ +PKG=QUAGGAdoc +NAME="@PACKAGE_NAME@ - @PACKAGE_NAME@ documentation" diff --git a/solaris/pkginfo.libs.tmpl.in b/solaris/pkginfo.libs.tmpl.in new file mode 100644 index 00000000..42adc6e1 --- /dev/null +++ b/solaris/pkginfo.libs.tmpl.in @@ -0,0 +1,2 @@ +PKG=QUAGGAlibs +NAME="@PACKAGE_NAME@ - @PACKAGE_NAME@ common runtime libraries" diff --git a/solaris/pkginfo.tmpl.in b/solaris/pkginfo.tmpl.in new file mode 100644 index 00000000..2dd27fd2 --- /dev/null +++ b/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=/ diff --git a/solaris/prototype.daemons.in b/solaris/prototype.daemons.in new file mode 100644 index 00000000..bf87992f --- /dev/null +++ b/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 diff --git a/solaris/prototype.dev.in b/solaris/prototype.dev.in new file mode 100644 index 00000000..2d3b7525 --- /dev/null +++ b/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 diff --git a/solaris/prototype.doc.in b/solaris/prototype.doc.in new file mode 100644 index 00000000..8cbb8937 --- /dev/null +++ b/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 diff --git a/solaris/prototype.libs.in b/solaris/prototype.libs.in new file mode 100644 index 00000000..71f4fd5c --- /dev/null +++ b/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 diff --git a/solaris/quagga.init.in b/solaris/quagga.init.in new file mode 100755 index 00000000..02fdc60d --- /dev/null +++ b/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; diff --git a/solaris/ripd.xml.in b/solaris/ripd.xml.in new file mode 100644 index 00000000..e6598365 --- /dev/null +++ b/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> diff --git a/solaris/ripngd.xml.in b/solaris/ripngd.xml.in new file mode 100644 index 00000000..6d5753fa --- /dev/null +++ b/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> diff --git a/solaris/zebra.xml.in b/solaris/zebra.xml.in new file mode 100644 index 00000000..fefc5e17 --- /dev/null +++ b/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> + |