From 2d3ad30aaf16c868c346f4a5c4dae5e3737908db Mon Sep 17 00:00:00 2001 From: Albert Hopkins Date: Sun, 24 Feb 2013 00:17:25 +0000 Subject: [PATCH] New virtual appliance: ArangoDB This appliance installs layman and installs an overlay that contains the ArangoDB ebuild. This is a third-party ebuild/overlay that I do not support. --- arangodb/Makefile | 14 +++ arangodb/critical | 37 +++++++ arangodb/layman.cfg | 201 ++++++++++++++++++++++++++++++++++++++ arangodb/package.keywords | 1 + arangodb/package.use | 8 ++ arangodb/world | 1 + 6 files changed, 262 insertions(+) create mode 100644 arangodb/Makefile create mode 100644 arangodb/critical create mode 100644 arangodb/layman.cfg create mode 100644 arangodb/package.keywords create mode 100644 arangodb/package.use create mode 100644 arangodb/world diff --git a/arangodb/Makefile b/arangodb/Makefile new file mode 100644 index 0000000..5ff3f52 --- /dev/null +++ b/arangodb/Makefile @@ -0,0 +1,14 @@ +preinstall: + +postinstall: layman.cfg + $(inroot) $(EMERGE) $(USEPKG) -n layman git + cp layman.cfg "$(CHROOT)/etc/layman/layman.cfg" + grep layman $(CHROOT)/etc/portage/make.conf || \ + echo "source /var/lib/layman/make.conf" >> $(CHROOT)/etc/portage/make.conf + $(inroot) layman -S + $(inroot) layman -a mgiken || $(inroot) layman --sync mgiken + $(inroot) $(EMERGE) -un $(USEPKG) dev-db/ArangoDB + ln -sf /etc/init.d/arangodb $(CHROOT)/etc/runlevels/default/arangodb + +clean: + diff --git a/arangodb/critical b/arangodb/critical new file mode 100644 index 0000000..aaed4f2 --- /dev/null +++ b/arangodb/critical @@ -0,0 +1,37 @@ +app-editors/nano +net-misc/openssh +net-misc/rsync +net-misc/wget +sys-kernel/gentoo-sources +sys-kernel/linux-headers +sys-devel/gcc +sys-devel/automake +sys-devel/bison +sys-devel/make +sys-devel/flex +sys-devel/automake-wrapper +sys-devel/autoconf-wrapper +sys-devel/autoconf +sys-devel/m4 +sys-devel/gcc-config +sys-devel/libtool +sys-devel/binutils +sys-devel/binutils-config +sys-devel/patch +sys-devel/gnuconfig +app-admin/python-updater +app-admin/perl-cleaner +sys-apps/man-pages +sys-apps/man +sys-apps/file +sys-apps/less +sys-apps/texinfo +sys-apps/busybox +sys-apps/debianutils +sys-apps/man-pages-posix +sys-apps/sandbox +sys-apps/which +dev-lang/perl +sys-devel/libperl +sys-apps/portage +dev-lang/python diff --git a/arangodb/layman.cfg b/arangodb/layman.cfg new file mode 100644 index 0000000..c977164 --- /dev/null +++ b/arangodb/layman.cfg @@ -0,0 +1,201 @@ +[MAIN] +#----------------------------------------------------------- +# Defines the directory where overlays should be installed + +storage : /var/lib/layman + +#----------------------------------------------------------- +# Remote overlay lists will be stored here +# layman will append _md5(url).xml to each filename + +cache : %(storage)s/cache + +#----------------------------------------------------------- +# The list of locally installed overlays + +installed: %(storage)s/installed.xml + +# This has been renamed from the following +# old name : value use it for updating to new one above +# local_list: %(storage)s/overlays.xml +# either rename the overlays.xml file to installed.xml +# or edit the value above to the current name of your +# installed overlay(s) file. + +#----------------------------------------------------------- +# Path to the make.conf file that should be modified by +# layman + +make_conf : %(storage)s/make.conf + +#----------------------------------------------------------- +# URLs of the remote lists of overlays (one per line) or +# local overlay definitions +# +#overlays : http://www.gentoo.org/proj/en/overlays/repositories.xml +# http://dev.gentoo.org/~wrobel/layman/global-overlays.xml +# http://mydomain.org/my-layman-list.xml +# file:///var/lib/layman/my-list.xml + +overlays : http://www.gentoo.org/proj/en/overlays/repositories.xml + http://github.com/mgiken/portage-overlay/raw/master/repository.xml + +#----------------------------------------------------------- +# The directory to scan for xml overlay definition files to include +# in the list of available overlays. They are automatically added to the +# "overlays" parameter above. Use either method, but do not add the same +# definition in both. +# + +#overlay_defs : /etc/layman/overlays + +#----------------------------------------------------------- +# Proxy support +# If unset, layman will use the http_proxy environment variable. +# +#proxy : http://[user:pass@]www.my-proxy.org:3128 + +#----------------------------------------------------------- +# Strict checking of overlay definitions +# +# The nocheck option is a bit confusing, for historical reasons. +# Hopefully this description eases the double negation trouble: +# +# nocheck : yes +# - Accepts complete overlay entries without warnings +# - Lists overlays of type foo (say Git) even with no foo installed +# +# nocheck : no +# - Checks overlay entries for missing description or contact +# information and issue warnings as needed +# - Hides overlays of type foo (say Git) if foo not not installed +# +nocheck : yes + +#----------------------------------------------------------- +# Umask settings +# +# layman should usually work with a umask of 0022. You should +# only change this setting if you are absolutely certain that +# you know what you are doing. +# +#umask : 0022 + +#----------------------------------------------------------- +# News reporting settings +# +# This is for when layman is adding/syncing overlays. +# It is required for GLEP 42. +# Currently there are 3 possible values: +# portage, pkgcore, custom +# +# portage: uses portage to report news only from overlay(s) in +# versions >=2.2.0_alpha72 or >=2.1.10.32 +# or all repositories (including gentoo) for older portage versions. +# pkgcore: does not yet support glep 42, no news is reported +# custom: requires that you provide a suitable python function +# to 'custom_news_func' using the api's config.set_option() +# or define the python package to import it from in custom_news_pkg + +news_reporter: portage + +#----------------------------------------------------------- +# News reporting custom function setting +# +# the pkg name that contains the layman_news_function() +# for it to import and use. It must be found in PYTHONPATH + +#custom_news_pkg : + +#----------------------------------------------------------- +# Command overrides +# +# You can have commands point to either a binary at a different +# location, e.g. +# +# /home/you/local/bin/git +# +# or just the command, e.g. +# +# git +# +# to use PATH-based resolution of the binary to call. +# +#bzr_command : /usr/bin/bzr +#cvs_command : /usr/bin/cvs +#darcs_command : /usr/bin/darcs +#git_command : /usr/bin/git +#mercurial_command : /usr/bin/hg +#rsync_command : /usr/bin/rsync +#svn_command : /usr/bin/svn +#tar_command : /bin/tar +#g-common_command : /usr/bin/g-common + + +#----------------------------------------------------------- +# Command additional options +# +# These commnad options will be added to the above commands +# when the overlay is added or synced. +# +# note: there are some options hardcoded in the backend +# scripts already. All VCS types listed here are +# for general consistency. Options may not be available +# or recommended for all VCS types and/or add/sync operations. +# Any options defined here are deemed: +# "Use at your own risk" +# and are not supported. +# +# eg: +# svn_addopts : --config-option=config:miscellany:use-commit-times=yes +# + +#bzr_addopts : +#bzr_syncopts : +#cvs_addopts : +#cvs_syncopts : +#darcs_addopts : +#darcs_syncopts : +#git_addopts : +#git_syncopts : +#mercurial_addopts : +#mercurial_syncopts : +#rsync_syncopts : +#svn_addopts : +#svn_syncopts : +#g-common_generateopts : +#g-common_syncopts : + + +#----------------------------------------------------------- +# Per VCS Post Sync/Add hooks +# +# The listed commands will be run after every add/sync operation. +# All on one line If the repo path is needed, use a %cwd= in +# where you want the path substituted in. It will be detected +# and replaced with the correct path. +# +# eg: git_postsync : git-set-file-times +# eg: git_postsync : git-set-file-times %cwd= +# eg: git_postsync : git-set-file-times path=%cwd= +# +#bzr_postsync : +#cvs_postsync : +#darcs_postsync : +#git_postsync : +#mercurial_postsync : +#rsync_postsync : +#svn_postsync : +#tar_postsync : +#g-common_postsync : + + +#----------------------------------------------------------- +# Layman user info +# +# The user name and email to use when adding new repos +# +#git_user : layman +#git_email : layman@localhost + + diff --git a/arangodb/package.keywords b/arangodb/package.keywords new file mode 100644 index 0000000..0ec4cca --- /dev/null +++ b/arangodb/package.keywords @@ -0,0 +1 @@ +dev-db/ArangoDB ** diff --git a/arangodb/package.use b/arangodb/package.use new file mode 100644 index 0000000..75ec73f --- /dev/null +++ b/arangodb/package.use @@ -0,0 +1,8 @@ +app-editors/nano ncurses +dev-lang/python ssl threads xml +dev-libs/libpcre cxx +net-misc/dhcp client +net-misc/wget ssl +sys-devel/gcc cxx +sys-kernel/gentoo-sources symlink +sys-libs/ncurses minimal diff --git a/arangodb/world b/arangodb/world new file mode 100644 index 0000000..9e83a32 --- /dev/null +++ b/arangodb/world @@ -0,0 +1 @@ +net-misc/dhcp