diff --git a/tools/package/BUCK b/tools/package/BUCK
new file mode 100644
index 0000000..19c7db1
--- /dev/null
+++ b/tools/package/BUCK
@@ -0,0 +1,105 @@
+KARAF = '//lib:apache-karaf'
+BRANDING = '//tools/package/branding:onos-tools-package-branding'
+
+FEATURES = [
+  '//features:onos-thirdparty-base',
+  '//features:onos-thirdparty-web',
+  '//features:onos-api',
+  '//features:onos-core',
+  '//features:onos-incubator',
+  '//features:onos-rest',
+  '//features:onos-gui',
+  '//features:onos-cli',
+#'//features:onos-security',
+]
+
+#FIXME this list is currently mirrored from the root Buck file
+APPS = [
+  #Drivers
+  '//drivers/default:onos-drivers-default-oar',
+
+  # Providers
+  '//providers/bgp:onos-providers-bgp-oar',
+  '//providers/host:onos-providers-host-oar',
+  '//providers/lldp:onos-providers-lldp-oar',
+  '//providers/netcfghost:onos-providers-netcfghost-oar',
+  '//providers/netcfglinks:onos-providers-netcfglinks-oar',
+  '//providers/netconf:onos-providers-netconf-oar',
+  '//providers/openflow/message:onos-providers-openflow-message-oar',
+  '//providers/ovsdb:onos-providers-ovsdb-oar',
+  '//providers/pcep:onos-providers-pcep-oar',
+  '//providers/null:onos-providers-null-oar',
+  '//providers/openflow/base:onos-providers-openflow-base-oar',
+  '//providers/rest:onos-providers-rest-oar',
+  '//providers/isis:onos-providers-isis-oar',
+
+  # Apps
+  '//apps/dhcp:onos-apps-dhcp-oar',
+  '//apps/fwd:onos-apps-fwd-oar',
+  '//apps/aaa:onos-apps-aaa-oar',
+  '//apps/acl:onos-apps-acl-oar',
+  '//apps/bgprouter:onos-apps-bgprouter-oar',
+  '//apps/proxyarp:onos-apps-proxyarp-oar',
+  '//apps/segmentrouting:onos-apps-segmentrouting-oar',
+  '//apps/gangliametrics:onos-apps-gangliametrics-oar',
+  '//apps/graphitemetrics:onos-apps-graphitemetrics-oar',
+  '//apps/igmp:onos-apps-igmp-oar',
+  '//apps/cordmcast:onos-apps-cordmcast-oar',
+  '//apps/olt:onos-apps-olt-oar',
+  '//apps/influxdbmetrics:onos-apps-influxdbmetrics-oar',
+  '//apps/metrics:onos-apps-metrics-oar',
+  '//apps/mfwd:onos-apps-mfwd-oar',
+  '//apps/mlb:onos-apps-mlb-oar',
+  '//apps/openstackinterface:onos-apps-openstackinterface-oar',
+  '//apps/openstacknetworking:onos-apps-openstacknetworking-oar',
+  '//apps/openstacknetworking/openstackrouting:onos-apps-openstacknetworking-openstackrouting-oar',
+  '//apps/openstacknetworking/openstackswitching:onos-apps-openstacknetworking-openstackswitching-oar',
+  '//apps/mobility:onos-apps-mobility-oar',
+  '//apps/optical:onos-apps-optical-oar',
+  '//apps/pathpainter:onos-apps-pathpainter-oar',
+  '//apps/pcep-api:onos-apps-pcep-api-oar',
+  '//apps/pim:onos-apps-pim-oar',
+  '//apps/reactive-routing:onos-apps-reactive-routing-oar',
+  '//apps/sdnip:onos-apps-sdnip-oar',
+  '//apps/virtualbng:onos-apps-virtualbng-oar',
+  '//apps/cordvtn:onos-apps-cordvtn-oar',
+  '//apps/vpls:onos-apps-vpls-oar',
+  '//apps/vrouter:onos-apps-vrouter-oar',
+  '//apps/vtn:onos-apps-vtn-oar',
+  '//apps/faultmanagement:onos-apps-faultmanagement-oar',
+  '//apps/openstacknode:onos-apps-openstacknode-oar',
+  '//apps/cpman/app:onos-apps-cpman-app-oar',
+  '//apps/xosclient:onos-apps-xosclient-oar',
+]
+
+#TODO move to buck-tools
+export_file (
+  name = 'onos-prep-karaf',
+)
+
+genrule(
+  name = 'onos-karaf',
+  srcs = glob(['bin/*', 'etc/*', 'init/*']),
+  bash = '$(location :onos-prep-karaf) $OUT $(location %s) %s $(location %s)'\
+            % (KARAF, ONOS_VERSION, BRANDING),
+  out = 'karaf.zip',
+)
+
+compile_features(
+  name = 'onos-features',
+  features = FEATURES,
+)
+
+staged_repos = ['$(location %s-repo)' % f for f in FEATURES]
+staged_apps = ['$(location %s)' % a for a in APPS]
+
+# feature_coords = 'foo:bar:1.3'
+sources = [ '$(location :onos-features)', ]
+sources += staged_repos + staged_apps
+
+genrule(
+  name = 'onos-package',
+  out = 'onos.zip',
+  bash = 'cp $(location :onos-karaf) $OUT && $(exe //buck-tools:onos-stage) $OUT ' + ' '.join(sources),
+  visibility = [ 'PUBLIC' ],
+)
\ No newline at end of file
