Parcourir la source

Optimize for SmartOS

Jakob Borg il y a 13 ans
Parent
commit
ea65731ead
5 fichiers modifiés avec 55 ajouts et 36 suppressions
  1. 3 0
      .gitignore
  2. 20 0
      Makefile
  3. 4 10
      package.json
  4. 3 1
      zsnapper
  5. 25 25
      zsnapper.xml

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+smartos-zsnapper.tar.gz
+node_modules
+.build

+ 20 - 0
Makefile

@@ -0,0 +1,20 @@
+BUILD := .build
+BIN := zsnapper node_modules
+SMF := zsnapper.xml
+ETC := zsnapper.json.sample
+
+smartos-zsnapper.tar.gz: $(BIN) $(SMF) $(ETC) $(BUILD)/opt/local/bin $(BUILD)/opt/local/etc $(BUILD)/opt/custom/smf
+	cp -r $(BIN) $(BUILD)/opt/local/bin
+	cp -r $(ETC) $(BUILD)/opt/local/etc
+	cp -r $(SMF) $(BUILD)/opt/custom/smf
+	tar -C $(BUILD) -zcf $@ opt
+
+node_modules:
+	npm install
+
+$(BUILD)/opt/local/bin:
+	mkdir -p $@
+$(BUILD)/opt/local/etc:
+	mkdir -p $@
+$(BUILD)/opt/custom/smf:
+	mkdir -p $@

+ 4 - 10
package.json

@@ -12,17 +12,11 @@
   "homepage": "http://nym.se/zsnapper/docs/",
   "version": "0.0.2",
   "bin": "./zsnapper",
-  "scripts": {
-    "test": "NODE_PATH=lib PATH=test:$PATH node_modules/.bin/mocha -R spec",
-    "hint": "jshint *.js lib/*.js",
-    "doc": "docco lib/* example.js 2>/dev/null",
-    "cov": "jscoverage lib lib-cov && EXPRESS_COV=1 NODE_PATH=lib-cov mocha -R html-cov > docs/coverage.html"
-  },
   "dependencies": {
-    "async": "0.1.x",
-    "cron": "https://github.com/calmh/node-cron/tarball/master",
-    "underscore": "1.3.x",
-    "zfs": "*"
+    "async": "~0.1.22",
+    "cron": "~1.0.1",
+    "underscore": "~1.4.2",
+    "zfs": "0.0.4"
   },
   "repository": {
     "type": "git",

+ 3 - 1
zsnapper

@@ -1,4 +1,4 @@
-#!/usr/bin/env node
+#!/usr/node/bin/node
 
 var _ = require('underscore');
 var async = require('async');
@@ -124,3 +124,5 @@ _.each(conf, function (jobs, dataset) {
         cronJobs.push(job);
     });
 });
+
+// vim: set filetype=javascript:

+ 25 - 25
zsnapper.xml

@@ -1,35 +1,35 @@
 <?xml version="1.0"?>
 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
 <service_bundle type="manifest" name="zsnapper">
-    <service name="site/zsnapper" type="service" version="1">
-        <create_default_instance enabled="true"/>
-        <single_instance/>
+	<service name="site/zsnapper" type="service" version="1">
+		<create_default_instance enabled="false"/>
+		<single_instance/>
 
-        <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
-            <service_fmri value="svc:/system/filesystem/local"/>
-        </dependency>
+		<dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
+			<service_fmri value="svc:/system/filesystem/local"/>
+		</dependency>
 
-        <method_context>
-        </method_context>
+		<method_context>
+		</method_context>
 
-	<exec_method type="method" name="start" exec="/usr/local/bin/zsnapper %{config_file}" timeout_seconds="60"/>
-        <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60"/>
+		<exec_method type="method" name="start" exec="/opt/local/bin/zsnapper %{config_file}" timeout_seconds="60"/>
+		<exec_method type="method" name="stop" exec=":kill" timeout_seconds="60"/>
 
-        <property_group name="startd" type="framework">
-            <propval name="duration" type="astring" value="child"/>
-            <propval name="ignore_error" type="astring" value="core,signal"/>
-        </property_group>
+		<property_group name="startd" type="framework">
+			<propval name="duration" type="astring" value="child"/>
+			<propval name="ignore_error" type="astring" value="core,signal"/>
+		</property_group>
 
-        <property_group name="application" type="application">
-            <propval name="config_file" type="astring" value="/etc/zsnapper.json"/>
-        </property_group>
-        
-        <stability value="Evolving"/>
+		<property_group name="application" type="application">
+			<propval name="config_file" type="astring" value="/opt/local/etc/zsnapper.json"/>
+		</property_group>
 
-        <template>
-            <common_name>
-                <loctext xml:lang="C">zsnapper service</loctext>
-            </common_name>
-        </template>
-    </service>
+		<stability value="Evolving"/>
+
+		<template>
+			<common_name>
+				<loctext xml:lang="C">zsnapper service</loctext>
+			</common_name>
+		</template>
+	</service>
 </service_bundle>