GithubHelp home page GithubHelp logo

habitat-sh / core-plans Goto Github PK

View Code? Open in Web Editor NEW
129.0 21.0 254.0 21.02 MB

Core Habitat Plan definitions

Shell 66.38% Ruby 25.49% C 0.06% HCL 0.01% PowerShell 7.83% PHP 0.14% VCL 0.01% Batchfile 0.01% Go 0.03% Logos 0.02% Mustache 0.01% Makefile 0.01%
packages package-management package-manager

core-plans's Introduction

Habitat Plans

Build status Slack GitHub issues

Habitat Plans are packages in the Habitat Core Origin. They are maintained and built by the core maintainers to provide the fundamental base tier of packages used by the Habitat ecosystem.

Participation in the Habitat community is governed by the code of conduct.

You can browse all available packages that you can leverage and use, including packages built and maintained by community members both inside and outside of this core origin, in Habitat Builder.

Contributing

  • CONTRIBUTING.md Contains most of the information about contributing to this portion of the Habitat project.
  • MAINTAINERS.md Contains the current list of Core-Plans maintainers
  • CODEOWNERS Contains Owner to Package mapping used in GitHub for AuthZ
  • MEMBERSHIP.md Contains details of contributor roles in the Habitat community

Keep in mind that a core plan must by definition be abstracted to serve a wide array of users in service of their applications.

If you are building a plan that is tailor-made for your own unique application or specific use case, it is better suited to your own origin. If you think it would still be useful for a subset of other people, you can make it public in your own origin too. Community and external project owned origins are an awesome way to make, share, and use functionality that lives outside of and extends core plans.

The code for the core components of Habitat itself is in the habitat-sh/habitat GitHub repository.

See MAINTAINERS.md for a list of core plans maintainers.

Documentation

Get started with the Habitat tutorials or plunge into the complete documentation.

RFCs

Occasionally you might need to open an RFC. RFCs live in their own repository. To open one, write up a markdown file that follows the template and open a pull request.

Community and support

Additional Plans

Important plans have been moved from the core-plans repo to a new organisation, chef-base-plans. The plan name and new location will be listed below.

Plan Location
acl https://github.com/chef-base-plans/acl
alsa-lib https://github.com/chef-base-plans/alsa-lib
attr https://github.com/chef-base-plans/attr
autoconf https://github.com/chef-base-plans/autoconf
automake https://github.com/chef-base-plans/automake
aws-cli https://github.com/chef-base-plans/aws-cli
bash https://github.com/chef-base-plans/bash
bats https://github.com/chef-base-plans/bats
bc https://github.com/chef-base-plans/bc
binutils https://github.com/chef-base-plans/binutils
bison https://github.com/chef-base-plans/bison
btrfs-progs https://github.com/chef-base-plans/btrfs-progs
buildah https://github.com/chef-base-plans/buildah
bundler https://github.com/chef-base-plans/bundler
busybox https://github.com/chef-base-plans/busybox
busybox-static https://github.com/chef-base-plans/busybox-static
bzip2 https://github.com/chef-base-plans/bzip2
bzip2-musl https://github.com/chef-base-plans/bzip2-musl
cacerts https://github.com/chef-base-plans/cacerts
check https://github.com/chef-base-plans/check
clens https://github.com/chef-base-plans/clens
cmake https://github.com/chef-base-plans/cmake
concourse https://github.com/chef-base-plans/concourse
coreutils https://github.com/chef-base-plans/coreutils
corretto https://github.com/chef-base-plans/corretto
corretto11 https://github.com/chef-base-plans/corretto11
corretto8 https://github.com/chef-base-plans/corretto8
cpanminus https://github.com/chef-base-plans/cpanminus
curl https://github.com/chef-base-plans/curl
cyrus-sasl https://github.com/chef-base-plans/cyrus-sasl
db https://github.com/chef-base-plans/db
dejagnu https://github.com/chef-base-plans/dejagnu
dep https://github.com/chef-base-plans/dep
devicemapper https://github.com/chef-base-plans/devicemapper
dex https://github.com/chef-base-plans/dex
diffutils https://github.com/chef-base-plans/diffutils
docker https://github.com/chef-base-plans/docker
docker17 https://github.com/chef-base-plans/docker17
elixir https://github.com/chef-base-plans/elixir
erlang https://github.com/chef-base-plans/erlang
erlang16 https://github.com/chef-base-plans/erlang16
erlang18 https://github.com/chef-base-plans/erlang18
erlang19 https://github.com/chef-base-plans/erlang19
erlang20 https://github.com/chef-base-plans/erlang20
erlang21 https://github.com/chef-base-plans/erlang21
erlang22 https://github.com/chef-base-plans/erlang22
expat https://github.com/chef-base-plans/expat
expect https://github.com/chef-base-plans/expect
file https://github.com/chef-base-plans/file
fixesproto https://github.com/chef-base-plans/fixesproto
findutils https://github.com/chef-base-plans/findutils
flex https://github.com/chef-base-plans/flex
fontconfig https://github.com/chef-base-plans/fontconfig
freetype https://github.com/chef-base-plans/freetype
gawk https://github.com/chef-base-plans/gawk
gcc https://github.com/chef-base-plans/gcc
gcc-libs https://github.com/chef-base-plans/gcc-libs
gdal https://github.com/chef-base-plans/gdal
gdbm https://github.com/chef-base-plans/gdbm
gecode https://github.com/chef-base-plans/gecode
geos https://github.com/chef-base-plans/geos
gettext https://github.com/chef-base-plans/gettext
git https://github.com/chef-base-plans/git
glibc https://github.com/chef-base-plans/glibc
gmp https://github.com/chef-base-plans/gmp
go https://github.com/chef-base-plans/go
go14 https://github.com/chef-base-plans/go14
go17 https://github.com/chef-base-plans/go17
gpgme https://github.com/chef-base-plans/gpgme
grep https://github.com/chef-base-plans/grep
groff https://github.com/chef-base-plans/groff
gzip https://github.com/chef-base-plans/gzip
hugo https://github.com/chef-base-plans/hugo
iana-etc https://github.com/chef-base-plans/iana-etc
inetutils https://github.com/chef-base-plans/inetutils
inputproto https://github.com/chef-base-plans/inputproto
iproute2 https://github.com/chef-base-plans/iproute2
iptables https://github.com/chef-base-plans/iptables
jq-static https://github.com/chef-base-plans/jq-static
kbproto https://github.com/chef-base-plans/kbproto
less https://github.com/chef-base-plans/less
libaio https://github.com/chef-base-plans/libaio
libarchive https://github.com/chef-base-plans/libarchive
libarchive-musl https://github.com/chef-base-plans/libarchive-musl
libassuan https://github.com/chef-base-plans/libassuan
libbsd https://github.com/chef-base-plans/libbsd
libcap https://github.com/chef-base-plans/libcap
libedit https://github.com/chef-base-plans/libedit
libevent https://github.com/chef-base-plans/libevent
libffi https://github.com/chef-base-plans/libffi
libiconv https://github.com/chef-base-plans/libiconv
libidn2 https://github.com/chef-base-plans/libidn2
libmpc https://github.com/chef-base-plans/libmpc
libossp-uuid https://github.com/chef-base-plans/libossp-uuid
libpng https://github.com/chef-base-plans/libpng
libpthread-stubs https://github.com/chef-base-plans/libpthread-stubs
libseccomp https://github.com/chef-base-plans/libseccomp
libsodium https://github.com/chef-base-plans/libsodium
libsodium-musl https://github.com/chef-base-plans/libsodium-musl
libtool https://github.com/chef-base-plans/libtool
libunistring https://github.com/chef-base-plans/libunistring
libxau https://github.com/chef-base-plans/libxau
libxcb https://github.com/chef-base-plans/libxcb
libxdmcp https://github.com/chef-base-plans/libxdmcp
libxext https://github.com/chef-base-plans/libxext
libxfixes https://github.com/chef-base-plans/libxfixes
libxi https://github.com/chef-base-plans/libxi
libxml2 https://github.com/chef-base-plans/libxml2
libxrender https://github.com/chef-base-plans/libxrender
libxslt https://github.com/chef-base-plans/libxslt
libxtst https://github.com/chef-base-plans/libxtst
libyaml https://github.com/chef-base-plans/libyaml
linux-headers https://github.com/chef-base-plans/linux-headers
linux-headers-musl https://github.com/chef-base-plans/linux-headers-musl
local-lib https://github.com/chef-base-plans/local-lib
m4 https://github.com/chef-base-plans/m4
make https://github.com/chef-base-plans/make
maven https://github.com/chef-base-plans/maven
memcached https://github.com/chef-base-plans/memcached
mg https://github.com/chef-base-plans/mg
minio https://github.com/chef-base-plans/minio
mpfr https://github.com/chef-base-plans/mpfr
musl https://github.com/chef-base-plans/musl
mysql https://github.com/chef-base-plans/mysql
ncurses https://github.com/chef-base-plans/ncurses
ncurses5 https://github.com/chef-base-plans/Ncurses5
nghttp2 https://github.com/chef-base-plans/nghttp2
nginx https://github.com/chef-base-plans/nginx
node https://github.com/chef-base-plans/node
node10 https://github.com/chef-base-plans/node10
node11 https://github.com/chef-base-plans/node11
node12 https://github.com/chef-base-plans/node12
node6 https://github.com/chef-base-plans/node6
node8 https://github.com/chef-base-plans/node8
node9 https://github.com/chef-base-plans/node9
nss-myhostname https://github.com/chef-base-plans/nss-myhostname
openjdk11 https://github.com/chef-base-plans/openjdk11
openssh https://github.com/chef-base-plans/openssh
openssl https://github.com/chef-base-plans/openssl
openssl-fips https://github.com/chef-base-plans/openssl-fips
openssl-musl https://github.com/chef-base-plans/openssl-musl
patch https://github.com/chef-base-plans/patch
patchelf https://github.com/chef-base-plans/patchelf
pcre https://github.com/chef-base-plans/pcre
perl https://github.com/chef-base-plans/perl
phantomjs https://github.com/chef-base-plans/phantomjs
pkg-config https://github.com/chef-base-plans/pkg-config
postgresql https://github.com/chef-base-plans/postgresql
postgresql-client https://github.com/chef-base-plans/postgresql-client
postgresql11 https://github.com/chef-base-plans/postgresql11
postgresql93 https://github.com/chef-base-plans/postgresql93
postgresql94 https://github.com/chef-base-plans/postgresql94
postgresql95 https://github.com/chef-base-plans/postgresql95
postgresql96 https://github.com/chef-base-plans/postgresql96
procps-ng https://github.com/chef-base-plans/procps-ng
proj https://github.com/chef-base-plans/proj
protobuf https://github.com/chef-base-plans/protobuf
protobuf-cpp https://github.com/chef-base-plans/protobuf-cpp
protobuf-rust https://github.com/chef-base-plans/protobuf-rust
protobuf2 https://github.com/chef-base-plans/protobuf2
psmisc https://github.com/chef-base-plans/psmisc
python https://github.com/chef-base-plans/python
python-minimal https://github.com/chef-base-plans/python-minimal
python2 https://github.com/chef-base-plans/python2
Python34 https://github.com/chef-base-plans/Python34
Python35 https://github.com/chef-base-plans/Python35
Python36 https://github.com/chef-base-plans/Python36
Python37 https://github.com/chef-base-plans/Python37
raml2html https://github.com/chef-base-plans/raml2html
readline https://github.com/chef-base-plans/readline
readline6 https://github.com/chef-base-plans/readline6
recordproto https://github.com/chef-base-plans/recordproto
renderproto https://github.com/chef-base-plans/renderproto
rq https://github.com/chef-base-plans/rq
rsync https://github.com/chef-base-plans/rsync
ruby https://github.com/chef-base-plans/ruby
ruby27 https://github.com/chef-base-plans/ruby27
runc https://github.com/chef-base-plans/runc
rust https://github.com/chef-base-plans/rust
scaffolding-go https://github.com/chef-base-plans/scaffolding-go
sed https://github.com/chef-base-plans/sed
shadow https://github.com/chef-base-plans/shadow
sqitch https://github.com/chef-base-plans/sqitch
sqitch_pg https://github.com/chef-base-plans/sqitch_pg
sqlite https://github.com/chef-base-plans/sqlite
tar https://github.com/chef-base-plans/tar
tcl https://github.com/chef-base-plans/tcl
terraform https://github.com/chef-base-plans/terraform
texinfo https://github.com/chef-base-plans/texinfo
tzdata https://github.com/chef-base-plans/tzdata
unzip https://github.com/chef-base-plans/unzip
util-linux https://github.com/chef-base-plans/util-linux
util-macros https://github.com/chef-base-plans/util-macros
vim https://github.com/chef-base-plans/vim
wget https://github.com/chef-base-plans/wget
which https://github.com/chef-base-plans/which
xcb-proto https://github.com/chef-base-plans/xcb-proto
xextproto https://github.com/chef-base-plans/xextproto
xlib https://github.com/chef-base-plans/xlib
xproto https://github.com/chef-base-plans/xproto
xtrans https://github.com/chef-base-plans/xtrans
xz https://github.com/chef-base-plans/xz
xz-musl https://github.com/chef-base-plans/xz-musl
zeromq https://github.com/chef-base-plans/zeromq
zip https://github.com/chef-base-plans/zip
zlib https://github.com/chef-base-plans/zlib
zlib-musl https://github.com/chef-base-plans/zlib-musl

License

Copyright (c) 2016 Chef Software Inc. and/or applicable contributors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

core-plans's People

Contributors

bdangit avatar defilan avatar echohack avatar elliott-davis avatar fnichol avatar gavindidrichsen avatar johnjelinek avatar lgiancol avatar miketheman avatar mindnumbing avatar mwrock avatar nellshamrell avatar predominant avatar raskchanky avatar raviduddela avatar reset avatar robbkidd avatar rsertelon avatar rybons avatar sirajrauff avatar smacfarlane avatar smandaka avatar smith avatar srenatus avatar stevendanna avatar tas50 avatar tduffield avatar themightychris avatar thommay avatar timin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

core-plans's Issues

httpd leaves child processes around when stopping with CTRL-C

While working with the httpd plan I noticed that after starting the plan with hab start core/httpd from within a studio shell, if I then pressed CTRL-C to terminate the httpd process then sometimes child httpd processes would be left around. I would then need to use killall httpd to clean up. I believe this is due to the way the Apache Webserver manages child processes. More information on stopping Apache is here: https://httpd.apache.org/docs/2.4/stopping.html

If instead I ran hab sup stop core/httpd then all of the httpd processes are stopped.

I expected all of the spawned processes from httpd to be closed when I pressed CTRL-C. This really confused me at first because my ports were still open and I was having trouble connecting to httpd when I would restart the plan.

Loss of contextual history

Hey gang,

I was going to ask about when the plans were going to be split off the codebase, and it appears that y'all up and did it.

One concern I thought of is loss of historical context when looking at this repo - there have been a large number of contributions and edits that are not all from @reset - no matter how hard he works. 😀 He's probably gonna get git blameed for stuff.

Git supports "exporting" a subfolder out to a new repo, whilst retaining the commit history, was this explored at all before making the new repo? This would have retained all history.

In any event, thanks for making the move.

4th-of-july-sparkling-gif-animation

Update core/erlang

The current core/erlang package has a conflict dependency with zlib. It depends directly on zlib and openssl which in turn depends on a different version of zlib

Handling cacerts in golang / go scaffold

Golang looks for cacerts in a number of hard coded paths https://golang.org/src/crypto/x509/root_linux.go.

In order for for tls to work when using a go client I have added this to my init hook:

mkdir -p /etc/ssl
ln -s {{pkgPathFor "core/cacerts"}}/ssl/certs/cacert.pem /etc/ssl/ca-bundle.pem

This works though it does run into habitat-sh/habitat#1904 and is a bit hacky.
This issue is a reminder that the go scaffolding needs to handle this to be user friendly.

[zookeeper] multi-node setup issue

I am currently trying to add support for multi-node in zookeeper plan.
All nodes have to be named in the config in the form of

server.{{id}}={{host}}:{{port}} // to simplify

I wanted to use @Index from the svc context, but the id value must be between 1 and 255, and index starts at 0.
as http://handlebarsjs.com/ does not support expression and evaluation, I get stuck here unless I write some kind of helper, which I think will be complicated to add as it complexify the template language.
Does someone have a idea how I can bypass this restriction ?

core/mvn cannot run

I'm trying to use the core/mvn package to build my java project, but mvn cannot run. Here are some details about the error:

/hab/pkgs/core/maven/3.3.9/20161214222033/bin/mvn: line 143: which: command not found
/hab/pkgs/core/maven/3.3.9/20161214222033/bin/mvn: line 171: which: command not found
Error: JAVA_HOME is not defined correctly.
  We cannot execute 

I can certainly understand the error, but I don't have time to investigate further for now. I'll try to have a look if possible, but maybe someone can fix it faster than I would :)

Upgrade node7 plan to use node 7.6

Node released 7.6 recently which has some pretty important async/await features for development.
Please up the version number / sha256 hash for this new version

perl and zlib had new artifacts uploaded without changes in the repo

When building a package with a direct dep on perl I get the following error:

* core/perl ( core/perl/5.22.1/20161018191324 core/perl/5.22.1/20160729193035 )
* core/zlib ( core/zlib/1.2.8/20160612064520 core/zlib/1.2.8/20161015000012 )

It seems like these were uploaded a few days ago but their upstream deps in core didn't get rebuilt.

zlib

  • erlang
  • openssl
  • curl
  • perl
  • git
  • gcc
  • binutils

perl

  • git
  • sqitch
  • local-lib
  • cpanminus

exec format error on WSL

WSL in Windows 10 Creators update is a great environment to build habitat packages under Windows!
The only issue I found so far is when building a plan that makes use of default.toml which errors out:

/hab/pkgs/core/hab-plan-build/0.24.1/20170522084013/bin/hab-plan-build: line 2586: /hab/pkgs/core/rq/0.9.2/20170513215401/bin/rq: cannot execute binary file: Exec format error

I assume is the limitation of WSL having no support for 32bit executables, and the core/rq obviously makes us of it.
Would it be possible to move to the 64bit executable?

Thanks!

redis 3.2.3 fails to start

hab 0.9.3 with current redis 3.2.3

hab-sup(MN): Starting mattray/redis
hab-sup(TP): Child process will run as user=hab, group=hab
hab-sup(GS): Supervisor 172.17.0.2: 67194778-f171-41a4-8141-a1b4f76c1c44
hab-sup(GS): Census redis.default: 7a533374-c729-4168-8765-fa0d681d0ffc
hab-sup(GS): Starting inbound gossip listener
hab-sup(GS): Starting outbound gossip distributor
hab-sup(GS): Starting gossip failure detector
hab-sup(CN): Starting census health adjuster
hab-sup(SC): Updated redis.config
hab-sup(TP): Restarting because the service config was updated via the census
redis(SV): Starting
redis(O): /hab/svc/redis/run: line 10: /hab/svc/redis/bin/redis-server: No such file or directory
hab-sup(SV): redis - process 6466 died with exit code 127
hab-sup(SV): redis - Service exited
redis(SV): Starting

There's no bin directory in /hab/svc/redis/bin

[11][default:/src:0]# find /hab/svc/redis/
find /hab/svc/redis/
/hab/svc/redis/
/hab/svc/redis/data
/hab/svc/redis/toml
/hab/svc/redis/config.toml
/hab/svc/redis/static
/hab/svc/redis/files
/hab/svc/redis/run
/hab/svc/redis/config
/hab/svc/redis/config/redis.config
/hab/svc/redis/hooks
/hab/svc/redis/var

Nginx Needs Rebuilt

Regarding a conversation in habichat here:
https://habitat-sh.slack.com/archives/general/p1472842527001242

It appears that Nginx needs to be rebuilt. It is currently relying on old versions of pcre and openssl:

To repro - tested deps of both Nginx, Less, and Git packages.

Nginx

OpenSSL:
core/openssl/1.0.2h/20160708160802
PCRE:
core/pcre/8.38/20160612075520

Curl

OpenSSL:
core/openssl/1.0.2h/20160729194249

Less

PCRE:
core/pcre/8.38/20160729192620

Both core/less and core/curl are used in the core/git package

Issue building with core/go/1.6.*

So I'm currently trying to build hashicorp/consul with core/go/1.6.3. My plan file looks like the following.

plan.sh

pkg_name=consul
pkg_origin=hashicorp
pkg_version=v0.7.0-rc2
pkg_description="Consul is a tool for service discovery, monitoring and configuration."
pkg_upstream_url=https://www.consul.io/
pkg_license=('mpl2')
pkg_maintainer="Jason Riddle <[email protected]>"
pkg_source=https://github.com/${pkg_origin}/${pkg_name}/archive/${pkg_version}.tar.gz
pkg_shasum=327c72211af1d6613477856c15bf7bcfc3c80d23542fcffe535d30d09347e08b
pkg_interpreters=(bin/bash)
pkg_deps=(core/coreutils)
pkg_build_deps=(core/go/1.6.3 core/git core/make core/which)
pkg_bin_dirs=(bin)
pkg_expose=(8300 8301 8302 8400 8500 8600)
pkg_svc_run="bin/consul agent -config-dir $pkg_svc_config_path -data-dir $pkg_svc_data_path"

do_begin() {
  export GOPATH="${HAB_CACHE_ARTIFACT_PATH}/.go"
  export GOBIN="${GOPATH}/bin"
  export HASHICORP_ORG="${GOPATH}/src/github.com/hashicorp"
  export CONSUL_REPO="${HASHICORP_ORG}/consul"
}

do_download() {
  mkdir -p ${GOPATH}
  rm -rf ${CONSUL_REPO}
  git clone https://github.com/hashicorp/${pkg_name}.git ${CONSUL_REPO} \
    --branch ${pkg_version} --single-branch
}

do_verify() {
  return 0
}

do_unpack() {
  return 0
}

do_prepare() {
  pushd ${CONSUL_REPO}
  fix_interpreter "scripts/*.sh" core/coreutils bin/env
  popd
}

do_build() {
  pushd ${CONSUL_REPO}
  make tools
  PATH="${PATH}:${GOBIN}" make dev
  popd
}

do_install() {
  pushd ${CONSUL_REPO}
  mkdir -p $pkg_prefix/bin
  cp bin/consul $pkg_prefix/bin
  popd
}

Upon attempting to build, I get the following error.

--> Running go fmt
==> Removing old directory...
==> Building...
Number of parallel builds: 1

-->     linux/amd64: github.com/hashicorp/consul

1 errors occurred:
--> linux/amd64 error: exit status 2
Stderr: # github.com/hashicorp/consul/vendor/golang.org/x/sys/unix
vendor/golang.org/x/sys/unix/asm.s:8: #include: open /hab/pkgs/core/go/1.6.3/20160728163358/pkg/include/textflag.h: no such file or directory

make: *** [GNUmakefile:19: dev] Error 1

I did some googling and it looked like this issue was resolved in 1.4 (golang/go#9211) which is why I'm confused as to why this isn't able to build. Any thoughts?

`core/haproxy` package/build is broken

Looks like it's related maybe to recent openssl re-spin:

$ hab studio enter
   hab-studio: Creating Studio at /hab/studios/src (default)
   hab-studio: Importing <my origin> secret origin key
» Importing origin key from standard input
★ Imported secret origin key <my key>.
   hab-studio: Entering Studio at /hab/studios/src (default)
   hab-studio: Exported: HAB_ORIGIN=<my_origin>

[1][default:/src:0]# hab start core/haproxy
∵ Package for core/hab-sup not found, installing
» Installing core/hab-sup
↓ Downloading core/busybox-static/1.24.2/20160926152859
    510.95 KB / 510.95 KB \ [====================================================] 100.00 % 1.69 MB/s  ↓ Downloading core-20160810182414 public origin key
    75 B / 75 B | [==============================================================] 100.00 % 2.78 MB/s  ☑ Cached core-20160810182414 public origin key
✓ Installed core/busybox-static/1.24.2/20160926152859
→ Using core/bzip2/1.0.6/20160612075040
→ Using core/cacerts/2016.04.20/20160612081125
→ Using core/gcc-libs/5.2.0/20160612075020
→ Using core/glibc/2.22/20160612063629
↓ Downloading core/libarchive/3.2.0/20160926153341
    543.21 KB / 543.21 KB | [====================================================] 100.00 % 1.95 MB/s  ✓ Installed core/libarchive/3.2.0/20160926153341
↓ Downloading core/libsodium/1.0.8/20160729194524
    189.66 KB / 189.66 KB \ [====================================================] 100.00 % 1.11 MB/s  ↓ Downloading core-20160612031944 public origin key
    75 B / 75 B | [==============================================================] 100.00 % 3.47 MB/s  ☑ Cached core-20160612031944 public origin key
✓ Installed core/libsodium/1.0.8/20160729194524
→ Using core/linux-headers/4.3/20160612063537
↓ Downloading core/openssl/1.0.2j/20160926152543
    2.10 MB / 2.10 MB | [======================================================] 100.00 % 948.18 KB/s  ✓ Installed core/openssl/1.0.2j/20160926152543
↓ Downloading core/xz/5.2.2/20160729193408
    247.94 KB / 247.94 KB \ [==================================================] 100.00 % 799.09 KB/s  ✓ Installed core/xz/5.2.2/20160729193408
→ Using core/zlib/1.2.8/20160612064520
↓ Downloading core/hab-sup/0.9.3/20160926160833
    1.60 MB / 1.60 MB / [========================================================] 100.00 % 1.38 MB/s  ✓ Installed core/hab-sup/0.9.3/20160926160833
★ Install of core/hab-sup complete with 12 packages installed.
hab-sup(MN): Starting core/haproxy
hab-sup(CS): core/haproxy is not installed
hab-sup(CS): Searching for core/haproxy in remote https://willem.habitat.sh/v1/depot
» Installing core/haproxy
↓ Downloading core/haproxy/1.6.5/20160926184348
    341.13 KB / 341.13 KB - [====================================================] 100.00 % 1.18 MB/s
→ Using core/cacerts/2016.04.20/20160612081125
→ Using core/gcc-libs/5.2.0/20160612075020
→ Using core/glibc/2.22/20160612063629
→ Using core/linux-headers/4.3/20160612063537
→ Using core/openssl/1.0.2j/20160926152543
↓ Downloading core/pcre/8.38/20160729192620
    725.00 KB / 725.00 KB \ [====================================================] 100.00 % 1.44 MB/s
→ Using core/zlib/1.2.8/20160612064520
✓ Installed core/pcre/8.38/20160729192620
✓ Installed core/haproxy/1.6.5/20160926184348
★ Install of core/haproxy/1.6.5/20160926184348 complete with 2 new packages installed.
hab-sup(TP): Child process will run as user=hab, group=hab
hab-sup(GS): Supervisor 172.17.0.2: 4bde3c6b-7b50-4f36-bd5d-3509a709a1eb
hab-sup(GS): Census haproxy.default: ddcddd26-f761-4a42-ab29-d36fcb6c6b52
hab-sup(GS): Starting inbound gossip listener
hab-sup(GS): Starting outbound gossip distributor
hab-sup(GS): Starting gossip failure detector
hab-sup(CN): Starting census health adjuster
hab-sup(SC): Updated haproxy.conf
hab-sup(TP): Restarting because the service config was updated via the census
haproxy(SV): Starting
haproxy(O): /hab/svc/haproxy/run: line 10: /hab/svc/haproxy/bin/haproxy: No such file or directory
hab-sup(SV): haproxy - process 155 died with exit code 127
hab-sup(SV): haproxy - Service exited
haproxy(SV): Starting
haproxy(O): /hab/svc/haproxy/run: line 10: /hab/svc/haproxy/bin/haproxy: No such file or directory
hab-sup(SV): haproxy - process 158 died with exit code 127
hab-sup(SV): haproxy - Service exited

core/apr doesn't exposes include and lib

core/apr is included in the plan.sh as build dependency, but lib and include path aren't set

checking apr_pools.h usability... no
checking apr_pools.h presence... no
checking for apr_pools.h... no
configure: error: cannot find libapr-1 headers

Here's some flags for reference:

Setting CPPFLAGS=-I/hab/pkgs/core/glibc/2.22/20160612063629/include -I/hab/pkgs/core/glibc/2.22/20160612063629/include -I/hab/pkgs/core/make/4.2.1/20160729193703/include -I/hab/pkgs/core/gcc/5.2.0/20160612064854/include -I/hab/pkgs/core/python2/2.7.12/20160729195942/include -I/hab/pkgs/core/python2/2.7.12/20160729195942/Include -I/hab/pkgs/core/openssl/1.0.2h/20160729194249/include -I/hab/pkgs/core/subversion/1.9.4/20160729221138/include -I/hab/pkgs/core/jdk8/8u92/20160620143238/include -I/hab/pkgs/core/zlib/1.2.8/20160612064520/include
Setting LDFLAGS=-L/hab/pkgs/core/glibc/2.22/20160612063629/lib -L/hab/pkgs/core/gcc-libs/5.2.0/20160612075020/lib -L/hab/pkgs/core/glibc/2.22/20160612063629/lib -L/hab/pkgs/core/gcc-libs/5.2.0/20160612075020/lib -L/hab/pkgs/core/gcc/5.2.0/20160612064854/lib -L/hab/pkgs/core/python2/2.7.12/20160729195942/lib -L/hab/pkgs/core/openssl/1.0.2h/20160729194249/lib -L/hab/pkgs/core/subversion/1.9.4/20160729221138/lib -L/hab/pkgs/core/jdk8/8u92/20160620143238/lib -L/hab/pkgs/core/zlib/1.2.8/20160612064520/lib

In the same time bin is exported in PATH:

PATH=/hab/pkgs/altvnk/mesos/1.0.0/20160802142549/bin:/hab/pkgs/core/glibc/2.22/20160612063629/bin:/hab/pkgs/core/coreutils/8.25/20160729192409/bin:/hab/pkgs/core/glibc/2.22/20160612063629/bin:/hab/pkgs/core/coreutils/8.25/20160729192409/bin:/hab/pkgs/core/make/4.2.1/20160729193703/bin:/hab/pkgs/core/gcc/5.2.0/20160612064854/bin:/hab/pkgs/core/patch/2.7.5/20160729193843/bin:/hab/pkgs/core/python2/2.7.12/20160729195942/bin:/hab/pkgs/core/openssl/1.0.2h/20160729194249/bin:/hab/pkgs/core/subversion/1.9.4/20160729221138/bin:/hab/pkgs/core/jdk8/8u92/20160620143238/bin:/hab/pkgs/core/jdk8/8u92/20160620143238/jre/bin:/hab/pkgs/core/apr/1.5.2/20160729211952/bin:......(cut)

passing in example config for `haproxy` service does not result in configured backend(s)

After making a test directory for our site-specific HAProxy config, began testing configuration overrides (debugging by using the default .toml from this plan):

/src # cat haproxy.toml
maxconn = 32
mode = "http"
bind = "*:8000"
httpchk = "GET /"

[[server]]
name = "first"
host_or_ip = "172.17.0.3"
port = "8000"

[[server]]
name = "second"
host_or_ip = "172.17.0.4"
port = "8000"

/src # hab config apply --peer 172.17.0.2 haproxy.default $(date +%s) ./haproxy.toml && sleep 2 && cat /hab/studios/src/hab/svc/haproxy/config/haproxy.conf
» Applying configuration
↑ Applying configuration for haproxy.default into ring via ["172.17.0.2:9634"]
Joining peer: 172.17.0.2:9634
Configuration applied to: 172.17.0.2:9634
★ Applied configuration.
global
    maxconn 32

defaults
    mode http
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

frontend http-in
    bind *:8000
    default_backend default

backend default

    option httpchk GET /

ruby-rails-sample database.yml {{~#if bind.database}}

In the ruby-rails-sample plan, there is a section in config/database.yml that looks like this:

{{~#if bind.has_database}}
{{~#each bind.database.members}}
  host: {{ip}}
  port: {{port}}
{{~/each}}
{{~else}}
  host: {{cfg.database_host}}
  port: {{cfg.database_port}}
{{~/if}}

This differs from the documentation on runtime binding at https://www.habitat.sh/docs/run-packages-binding/, which looks like this:

{{#if bind.database}} {{#with bind.database.members}} host: {{ip}}{{/with}} {{/if}}

(one uses ~#if bind.has_database, the other #if bind.database in the #if clause, and one has ~#each and the other has #with)

Also, i'm not sure about this but I have tried {{~#if bind.has_database}}, and {{~#if bind.database}}, but my service does not include host: and port: lines in database.yml. So the else clause is not evaluating when I have no bindings set up

latest aws-cli is broken

aws s3 rm --recursive s3://$AWS_BUCKET/$BUCKET_PREFIX
_send_request() takes 5 positional arguments but 6 were given

Works fine with core/aws-cli/1.10.43/20161214024307

Maintainers list is out of date.

As per https://github.com/habitat-sh/core-plans/blob/master/MAINTAINERS.md there is a distinction between habitat core maintainers that are listed in https://github.com/habitat-sh/habitat/blob/master/MAINTAINERS.md and the maintainers of the core plans.

I can see a fair amount of merges/commits to master by individuals that are not on the core-plans list, much less the habitat core repo.

The current procedure appears to be that you open a PR to the maintainers file, and "something happens" after that.

  • Are we skipping steps for certain individuals?
  • Does this procedure need a little more description as to what happens next?

Bundler package broken

Creating an empty plan/studio (sorry I am quite new to the whole terminology) for bundler fails with this error:
/hab/pkgs/core/ruby/2.3.1/20161214031900/lib/ruby/site_ruby/2.3.0/rubygems.rb:270:in 'find_spec_for_exe': can't find gem bundler (>= 0.a) (Gem::GemNotFoundException) from /hab/pkgs/core/ruby/2.3.1/20161214031900/lib/ruby/site_ruby/2.3.0/rubygems.rb:298:in 'activate_bin_path' from /hab/pkgs/core/bundler/1.13.7/20170104000124/bin/bundle:22:in '<main>'

How to reproduce

  • Create a plan dependent on core/bunlder pkg_deps=(core/bundler)
  • Enter the studio hab studio enter
  • Call bundler /hab/pkgs/core/bundler/1.13.7/20170104000124/bin/bundle

Update plans for `hab` 0.9.3

As of hab 0.9.3, pkg_svc_run no longer has pkg_prefix prepended to it. Plans intended to work with 0.9.3+ are supposed to depend on the relevant bin_path being in PATH. The following plans currently need to be fixed on master:

elasticsearch/plan.sh
12:pkg_svc_run="es/bin/elasticsearch --default.path.conf=$pkg_svc_config_path"

memcached/plan.sh
13:pkg_svc_run="bin/memcached"

nginx/plan.sh
15:pkg_svc_run="sbin/nginx"

rngd/plan.sh
14:pkg_svc_run="sbin/rngd -f -r /dev/urandom"

tor/plan.sh
22:pkg_svc_run="bin/tor -f $pkg_svc_config_path/torrc"

We may want to normalize the following plans with the rest:

mongodb/plan.sh
23:pkg_svc_run="$pkg_prefix/bin/mongod --config $pkg_svc_config_path/mongod.conf"

gnatsd/plan.sh
15:pkg_svc_run="$pkg_prefix/${pkg_name}-${pkg_version}"

Trying to build python2 and mysql fails on dependency on different openssl versions

[27][default:/src:130]# build
   : Loading /src/habitat/plan.sh
   test: Plan loaded
   test: Validating plan metadata
   test: hab-plan-build setup
   test: Using HAB_BIN=/hab/pkgs/core/hab/0.11.0/20161013211955/bin/hab for installs, signing, and hashing
   test: Resolving dependencies
» Installing core/python2
→ Using core/python2/2.7.12/20160926154224
★ Install of core/python2/2.7.12/20160926154224 complete with 0 new packages installed.
   test: Resolved build dependency 'core/python2' to /hab/pkgs/core/python2/2.7.12/20160926154224
» Installing core/mysql-client
→ Using core/mysql-client/5.7.14/20160824144413
★ Install of core/mysql-client/5.7.14/20160824144413 complete with 0 new packages installed.
   test: Resolved build dependency 'core/mysql-client' to /hab/pkgs/core/mysql-client/5.7.14/20160824144413
» Installing core/python2
→ Using core/python2/2.7.12/20160926154224
★ Install of core/python2/2.7.12/20160926154224 complete with 0 new packages installed.
   test: Resolved dependency 'core/python2' to /hab/pkgs/core/python2/2.7.12/20160926154224
» Installing core/mysql-client
→ Using core/mysql-client/5.7.14/20160824144413
★ Install of core/mysql-client/5.7.14/20160824144413 complete with 0 new packages installed.
   test: Resolved dependency 'core/mysql-client' to /hab/pkgs/core/mysql-client/5.7.14/20160824144413
   test: WARN 
   test: WARN The following runtime dependencies have more than one version
   test: WARN release in the full dependency chain:
   test: WARN 
   test: WARN   * core/openssl ( core/openssl/1.0.2j/20160926152543 core/openssl/1.0.2h/20160729194249 )
   test: WARN 
   test: WARN The current situation usually arises when a Plan has a direct 
   test: WARN dependency on one version of a package (`acme/A/7.0/20160101200001`)
   test: WARN and has a direct dependency on another package which itself depends
   test: WARN on another version of the same package (`acme/A/2.0/20151201060001`).
   test: WARN If this package (`acme/A`) contains shared libraries which are
   test: WARN loaded at runtime by the current Plan, then both versions of
   test: WARN `acme/A` could be loaded into the same process in a potentially
   test: WARN suprprising order. Worse, if both versions of `acme/A` are
   test: WARN ABI-incompatible, runtime segmentation faults are more than likely.
   test: WARN 
   test: WARN In order to preserve reliability at runtime the duplicate dependency
   test: WARN entries will need to be resolved before this Plan can be built.
   test: WARN Below is an expanded graph of all `$pkg_deps` and their dependencies
   test: WARN with the problematic lines noted.
   test: WARN 
   test: WARN Computed dependency graph (Lines with '*' denote a problematic entry):

spacey/test/0.2.0/20161026182736
    core/python2/2.7.12/20160926154224
        core/glibc/2.22/20160612063629
            core/linux-headers/4.3/20160612063537
        core/gcc-libs/5.2.0/20160612075020
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
        core/coreutils/8.25/20160729192409
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/acl/2.2.52/20160612075215
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/attr/2.4.47/20160612075207
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
            core/attr/2.4.47/20160612075207
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
            core/gmp/6.1.0/20160612064724
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
            core/libcap/2.24/20160612075226
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/attr/2.4.47/20160612075207
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
        core/make/4.2.1/20160729193703
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
        core/ncurses/6.0/20160612075116
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/gcc-libs/5.2.0/20160612075020
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
        core/zlib/1.2.8/20160612064520
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
        core/readline/6.3.8/20160729192706
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/ncurses/6.0/20160612075116
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/gcc-libs/5.2.0/20160612075020
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
        core/openssl/1.0.2j/20160926152543 (*)
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/zlib/1.2.8/20160612064520
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
            core/cacerts/2016.04.20/20160612081125
        core/bzip2/1.0.6/20160612075040
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
        core/sqlite/3130000/20160729195924
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/readline/6.3.8/20160729192706
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/ncurses/6.0/20160612075116
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
                    core/gcc-libs/5.2.0/20160612075020
                        core/glibc/2.22/20160612063629
                            core/linux-headers/4.3/20160612063537
    core/mysql-client/5.7.14/20160824144413
        core/glibc/2.22/20160612063629
            core/linux-headers/4.3/20160612063537
        core/gcc-libs/5.2.0/20160612075020
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
        core/coreutils/8.25/20160729192409
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/acl/2.2.52/20160612075215
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/attr/2.4.47/20160612075207
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
            core/attr/2.4.47/20160612075207
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
            core/gmp/6.1.0/20160612064724
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
            core/libcap/2.24/20160612075226
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/attr/2.4.47/20160612075207
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
        core/sed/4.2.2/20160612075228
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/acl/2.2.52/20160612075215
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/attr/2.4.47/20160612075207
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
        core/gawk/4.1.3/20160729192843
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/mpfr/3.1.4/20160612064810
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/gmp/6.1.0/20160612064724
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
        core/grep/2.22/20160729192643
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/pcre/8.38/20160729192620
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/gcc-libs/5.2.0/20160612075020
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
        core/pcre/8.38/20160729192620
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/gcc-libs/5.2.0/20160612075020
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
        core/procps-ng/3.3.11/20160612075316
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/ncurses/6.0/20160612075116
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/gcc-libs/5.2.0/20160612075020
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
        core/inetutils/1.9.4/20160729192802
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/libcap/2.24/20160612075226
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/attr/2.4.47/20160612075207
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
            core/ncurses/6.0/20160612075116
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/gcc-libs/5.2.0/20160612075020
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
        core/ncurses/6.0/20160612075116
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/gcc-libs/5.2.0/20160612075020
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
        core/openssl/1.0.2h/20160729194249 (*)
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/zlib/1.2.8/20160612064520
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
            core/cacerts/2016.04.20/20160612081125

ERROR: Computed runtime dependency check failed, aborting

mongodb Plan takes over 1 hour to build (can we shorten?)

I discovered this when rebuilding a set of packages this morning to address a new OpenSSL release. The build time for 71 packages took roughly 3 hours and 30 mins, which 59 minutes stuck building Mongo. There may be no way to speed this particular Plan, but it would be worth the time to investigate.

Nginx package deps

Per an OOB conversation with @jtimberman it looks like the nginx package needs to be rebuilt with newer deps. It's dependencies on 'core/pcre' and 'core/openssl' do not currently match the rest of the universe.

core/nginx currently has dependencies on:

core/openssl/1.0.2h/20160708160802
core/pcre/8.38/20160612075520

While the alternative current openssl and pcre deps appear to be:

core/openssl/1.0.2h/20160729194249
core/pcre/8.38/20160729192620

Relevant error:

   gitlab: Resolved dependency 'core/nginx' to /hab/pkgs/core/nginx/1.8.0/20160708170600
   gitlab: WARN 
   gitlab: WARN The following runtime dependencies have more than one version
   gitlab: WARN release in the full dependency chain:
   gitlab: WARN 
   gitlab: WARN   * core/openssl ( core/openssl/1.0.2h/20160729194249 core/openssl/1.0.2h/20160708160802 )
   gitlab: WARN   * core/pcre ( core/pcre/8.38/20160729192620 core/pcre/8.38/20160612075520 )
   gitlab: WARN 

php5 has no https support builtin

In trying to do #325 myself, i discovered that php5 doesn't have https builtin:

Warning: copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1

Warning: copy(https://getcomposer.org/installer): failed to open stream: No such file or directory in Command line code on line 1
Could not open input file: composer-setup.php

Fix Homu for core-plans

When you do @thesentinels try or @thesentinels r+ it runs the tests but never comes back and completes. Working on habitat-sh/habitat, but not this repo. It's configured for both.

Handling hard-coded paths in configure scripts and makefiles

Opening this issue for discussion.

An unfortunate number of Makefiles and configure scripts have hardcoded paths to unix utilities. Currently, the plans in core take one of the following paths:

  1. Ignore the problem if the configure check in question doesn't look important.
  2. Link the executable into the required location:
  if [[ ! -r /usr/bin/file ]]; then
    ln -sv "$(pkg_path_for file)/bin/file" /usr/bin/file
    _clean_file=true
  fi

and then clean up the link later:

  if [[ -n "$_clean_file" ]]; then
    rm -fv /usr/bin/file
  fi
  1. Modify the configuration or makefile with sed:
  _file_path="$(pkg_path_for file)/bin/file"
  sed -e "s#/usr/bin/file#${_file_path}#g" -i configure

Which of these is preferred or is there a higher road?

RFP: OpenCV hab package

OpenCV: Open Source Computer Vision

Available at:
http://opencv.org/

I would like to request a core plan being added for this, since it serves as a gold standard of computer vision libraries, which other packages may have as a dependency.

[python2] `pip` may not be using or honoring CA certs

Copying original issue comment from @bixu in habitat-sh/habitat#945


For example:

    Download error on https://pypi.python.org/simple/numpy/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.
c:590) -- Some packages may not be found!
    Couldn't find index page for 'numpy' (maybe misspelled?)
    Download error on https://pypi.python.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
 -- Some packages may not be found!
    No local packages or download links found for numpy>=1.6
    Traceback (most recent call last):
      File "<string>", line 1, in <module>

      File "/tmp/pip-build-j0adA9/numexpr/setup.py", line 219, in <module>
        setup_package()
      File "/tmp/pip-build-j0adA9/numexpr/setup.py", line 215, in setup_package
        setup(**metadata)
      File "/hab/pkgs/core/python2/2.7.11/20160620182552/lib/python2.7/distutils/core.py", line 111, in setup
        _setup_distribution = dist = klass(attrs)
      File "/hab/pkgs/core/python2/2.7.11/20160620182552/lib/python2.7/site-packages/setuptools/dist.py", line 268, in __init_
_
        self.fetch_build_eggs(attrs['setup_requires'])
      File "/hab/pkgs/core/python2/2.7.11/20160620182552/lib/python2.7/site-packages/setuptools/dist.py", line 313, in fetch_b
uild_eggs
        replace_conflicting=True,
      File "/hab/pkgs/core/python2/2.7.11/20160620182552/lib/python2.7/site-packages/pkg_resources/__init__.py", line 836, in
resolve
        dist = best[req.key] = env.best_match(req, ws, installer)
      File "/hab/pkgs/core/python2/2.7.11/20160620182552/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1081, in
 best_match
        return self.obtain(req, installer)
      File "/hab/pkgs/core/python2/2.7.11/20160620182552/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1093, in
 obtain
        return installer(requirement)
      File "/hab/pkgs/core/python2/2.7.11/20160620182552/lib/python2.7/site-packages/setuptools/dist.py", line 380, in fetch_b
uild_egg
        return cmd.easy_install(req)
      File "/hab/pkgs/core/python2/2.7.11/20160620182552/lib/python2.7/site-packages/setuptools/command/easy_install.py", line
 623, in easy_install
        raise DistutilsError(msg)
    distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('numpy>=1.6')

Relevant plan.sh lines (this is a build plan embedded at private_repo/habitat/plan.sh):

pkg_deps=(core/glibc core/gcc core/python2)
pkg_build_deps=(core/gcc core/make core/python2 core/git)
pkg_bin_dirs=(bin)
pkg_lib_dirs=(lib)
pkg_include_dirs=(include)

do_download(){
  return 0
}

do_verify(){
  return 0
}

do_unpack(){
  return 0
}

do_build(){
  pushd /src > /dev/null
  pwd
  pip install --upgrade pip
  pip install --install-option="--prefix=${pkg_prefix}" $(grep numpy requirements.txt)
  pip install --install-option="--prefix=${pkg_prefix}" $(grep numexpr requirements.txt)
  pip install --install-option="--prefix=${pkg_prefix}" $(grep Cython requirements.txt)
  pip install --install-option="--prefix=${pkg_prefix}" -r requirements.txt
  popd > /dev/null
}

do_install(){
  pushd $PLAN_CONTEXT > /dev/null
  pip install -e .
  popd > /dev/null
}

`zlib` dependency conflict when building postgres9.4

I'm working on a postgres9.4 package for use at $job, hoping also to contribute back to core plans. Currently the build is failing like this:

$ cat results/logs/..2016-10-13-145045.log
Script started on Thu Oct 13 14:50:45 2016
   : Loading /src/plan.sh
   postgresql9.4: Plan loaded
   postgresql9.4: hab-plan-build setup
   postgresql9.4: Using HAB_BIN=/hab/pkgs/core/hab/0.10.2/20160930230245/bin/hab for installs, signing, and hashing
   postgresql9.4: Resolving dependencies
» Installing core/coreutils
→ Using core/coreutils/8.25/20160729192409
★ Install of core/coreutils/8.25/20160729192409 complete with 0 new packages installed.
   postgresql9.4: Resolved build dependency 'core/coreutils' to /hab/pkgs/core/coreutils/8.25/20160729192409
» Installing core/gcc
↓ Downloading core/gcc/5.2.0/20160612064854
    32.44 MB / 32.44 MB | [==============================] 100.00 % 10.70 MB/s
↓ Downloading core-20160612031944 public origin key
    75 B / 75 B | [=======================================] 100.00 % 1.68 MB/s
☑ Cached core-20160612031944 public origin key
→ Using core/binutils/2.25.1/20160612064534
→ Using core/glibc/2.22/20160612063629
→ Using core/gmp/6.1.0/20160612064724
↓ Downloading core/libmpc/1.0.3/20160612064839
    71.86 KB / 71.86 KB / [==============================] 100.00 % 34.53 MB/s
→ Using core/linux-headers/4.3/20160612063537
→ Using core/mpfr/3.1.4/20160612064810
→ Using core/zlib/1.2.8/20160612064520
✓ Installed core/libmpc/1.0.3/20160612064839
✓ Installed core/gcc/5.2.0/20160612064854
★ Install of core/gcc/5.2.0/20160612064854 complete with 2 new packages installed.
   postgresql9.4: Resolved build dependency 'core/gcc' to /hab/pkgs/core/gcc/5.2.0/20160612064854
» Installing core/make
→ Using core/make/4.2.1/20160729193703
★ Install of core/make/4.2.1/20160729193703 complete with 0 new packages installed.
   postgresql9.4: Resolved build dependency 'core/make' to /hab/pkgs/core/make/4.2.1/20160729193703
» Installing core/glibc
→ Using core/glibc/2.22/20160612063629
★ Install of core/glibc/2.22/20160612063629 complete with 0 new packages installed.
   postgresql9.4: Resolved dependency 'core/glibc' to /hab/pkgs/core/glibc/2.22/20160612063629
» Installing core/openssl
↓ Downloading core/openssl/1.0.2j/20161015000429
    2.09 MB / 2.09 MB \ [=================================] 100.00 % 6.44 MB/s
↓ Downloading core-20160810182414 public origin key
    75 B / 75 B | [=======================================] 100.00 % 1.62 MB/s
☑ Cached core-20160810182414 public origin key
→ Using core/cacerts/2016.04.20/20160612081125
→ Using core/glibc/2.22/20160612063629
→ Using core/linux-headers/4.3/20160612063537
↓ Downloading core/zlib/1.2.8/20161015000012
    71.00 KB / 71.00 KB / [==============================] 100.00 % 12.46 MB/s
✓ Installed core/zlib/1.2.8/20161015000012
✓ Installed core/openssl/1.0.2j/20161015000429
★ Install of core/openssl/1.0.2j/20161015000429 complete with 2 new packages installed.
   postgresql9.4: Resolved dependency 'core/openssl' to /hab/pkgs/core/openssl/1.0.2j/20161015000429
» Installing core/perl
↓ Downloading core/perl/5.22.1/20160729193035
    10.34 MB / 10.34 MB \ [===============================] 100.00 % 6.27 MB/s
→ Using core/acl/2.2.52/20160612075215
→ Using core/attr/2.4.47/20160612075207
→ Using core/bzip2/1.0.6/20160612075040
→ Using core/coreutils/8.25/20160729192409
↓ Downloading core/db/5.3.28/20160729192915
    18.64 MB / 18.64 MB \ [==============================] 100.00 % 11.19 MB/s
→ Using core/gcc-libs/5.2.0/20160612075020
↓ Downloading core/gdbm/1.11/20160729192905
    137.69 KB / 137.69 KB / [============================] 100.00 % 24.36 MB/s
→ Using core/glibc/2.22/20160612063629
→ Using core/gmp/6.1.0/20160612064724
→ Using core/less/481/20160729193028
→ Using core/libcap/2.24/20160612075226
→ Using core/linux-headers/4.3/20160612063537
→ Using core/ncurses/6.0/20160612075116
→ Using core/pcre/8.38/20160729192620
→ Using core/zlib/1.2.8/20160612064520
✓ Installed core/db/5.3.28/20160729192915
✓ Installed core/gdbm/1.11/20160729192905
✓ Installed core/perl/5.22.1/20160729193035
★ Install of core/perl/5.22.1/20160729193035 complete with 3 new packages installed.
   postgresql9.4: Resolved dependency 'core/perl' to /hab/pkgs/core/perl/5.22.1/20160729193035
» Installing core/readline
→ Using core/readline/6.3.8/20160729192706
★ Install of core/readline/6.3.8/20160729192706 complete with 0 new packages installed.
   postgresql9.4: Resolved dependency 'core/readline' to /hab/pkgs/core/readline/6.3.8/20160729192706
» Installing core/zlib
→ Using core/zlib/1.2.8/20161015000012
★ Install of core/zlib/1.2.8/20161015000012 complete with 0 new packages installed.
   postgresql9.4: Resolved dependency 'core/zlib' to /hab/pkgs/core/zlib/1.2.8/20161015000012
   postgresql9.4: WARN
   postgresql9.4: WARN The following runtime dependencies have more than one version
   postgresql9.4: WARN release in the full dependency chain:
   postgresql9.4: WARN
   postgresql9.4: WARN   * core/zlib ( core/zlib/1.2.8/20161015000012 core/zlib/1.2.8/20160612064520 )
   postgresql9.4: WARN
   postgresql9.4: WARN The current situation usually arises when a Plan has a direct
   postgresql9.4: WARN dependency on one version of a package (`acme/A/7.0/20160101200001`)
   postgresql9.4: WARN and has a direct dependency on another package which itself depends
   postgresql9.4: WARN on another version of the same package (`acme/A/2.0/20151201060001`).
   postgresql9.4: WARN If this package (`acme/A`) contains shared libraries which are
   postgresql9.4: WARN loaded at runtime by the current Plan, then both versions of
   postgresql9.4: WARN `acme/A` could be loaded into the same process in a potentially
   postgresql9.4: WARN suprprising order. Worse, if both versions of `acme/A` are
   postgresql9.4: WARN ABI-incompatible, runtime segmentation faults are more than likely.
   postgresql9.4: WARN
   postgresql9.4: WARN In order to preserve reliability at runtime the duplicate dependency
   postgresql9.4: WARN entries will need to be resolved before this Plan can be built.
   postgresql9.4: WARN Below is an expanded graph of all `$pkg_deps` and their dependencies
   postgresql9.4: WARN with the problematic lines noted.
   postgresql9.4: WARN
   postgresql9.4: WARN Computed dependency graph (Lines with '*' denote a problematic entry):

bixu/postgresql9.4/9.4.9/20161013145045
    core/glibc/2.22/20160612063629
        core/linux-headers/4.3/20160612063537
    core/openssl/1.0.2j/20161015000429
        core/glibc/2.22/20160612063629
            core/linux-headers/4.3/20160612063537
        core/zlib/1.2.8/20161015000012 (*)
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
        core/cacerts/2016.04.20/20160612081125
    core/perl/5.22.1/20160729193035
        core/glibc/2.22/20160612063629
            core/linux-headers/4.3/20160612063537
        core/zlib/1.2.8/20160612064520 (*)
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
        core/bzip2/1.0.6/20160612075040
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
        core/gdbm/1.11/20160729192905
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
        core/db/5.3.28/20160729192915
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/gcc-libs/5.2.0/20160612075020
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
        core/coreutils/8.25/20160729192409
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/acl/2.2.52/20160612075215
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/attr/2.4.47/20160612075207
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
            core/attr/2.4.47/20160612075207
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
            core/gmp/6.1.0/20160612064724
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
            core/libcap/2.24/20160612075226
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/attr/2.4.47/20160612075207
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
        core/less/481/20160729193028
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/ncurses/6.0/20160612075116
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/gcc-libs/5.2.0/20160612075020
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
            core/pcre/8.38/20160729192620
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
                core/gcc-libs/5.2.0/20160612075020
                    core/glibc/2.22/20160612063629
                        core/linux-headers/4.3/20160612063537
    core/readline/6.3.8/20160729192706
        core/glibc/2.22/20160612063629
            core/linux-headers/4.3/20160612063537
        core/ncurses/6.0/20160612075116
            core/glibc/2.22/20160612063629
                core/linux-headers/4.3/20160612063537
            core/gcc-libs/5.2.0/20160612075020
                core/glibc/2.22/20160612063629
                    core/linux-headers/4.3/20160612063537
    core/zlib/1.2.8/20161015000012 (*)
        core/glibc/2.22/20160612063629
            core/linux-headers/4.3/20160612063537

ERROR: Computed runtime dependency check failed, aborting

Artifactory-pro errors on start

If you attempt to start artifactory-pro, you will get the following error

hab-sup(PH)[src/package/hooks.rs:121:16]: Hook failed to run: init, 1, Failed
hab studio enter
Unable to find image 'habitat-docker-registry.bintray.io/studio:latest' locally
latest: Pulling from studio
8ddc19f16526: Pull complete
807708f76f3d: Pull complete
7aee96098dbc: Pull complete
fa8665c71fe8: Pull complete
Digest: sha256:663edec5f44677e2cca8d79227af5a296f9375ce1ab92654582ad82527c182de
Status: Downloaded newer image for habitat-docker-registry.bintray.io/studio:latest
   hab-studio: Creating Studio at /hab/studios/src (default)
   hab-studio: Importing spuder secret origin key
» Importing origin key from standard input
★ Imported secret origin key spuder-20160618202715.
   hab-studio: Entering Studio at /hab/studios/src (default)
   hab-studio: Exported: HAB_ORIGIN=spuder

[1][default:/src:0]# hab start core/artifactory-pro
∵ Package for core/hab-sup not found, installing
» Installing core/hab-sup
↓ Downloading core/hab-sup/0.9.0/20160815230751
    1.56 MB / 1.56 MB \ [======================================================================================================================================] 100.00 % 3.94 MB/s
↓ Downloading core-20160810182414 public origin key
    75 B / 75 B | [============================================================================================================================================] 100.00 % 3.62 MB/s
☑ Cached core-20160810182414 public origin key
↓ Downloading core/busybox-static/1.24.2/20160729195839
    511.02 KB / 511.02 KB / [==================================================================================================================================] 100.00 % 2.54 MB/s
↓ Downloading core-20160612031944 public origin key
    75 B / 75 B | [============================================================================================================================================] 100.00 % 3.04 MB/s
☑ Cached core-20160612031944 public origin key
→ Using core/bzip2/1.0.6/20160612075040
→ Using core/cacerts/2016.04.20/20160612081125
→ Using core/gcc-libs/5.2.0/20160612075020
→ Using core/glibc/2.22/20160612063629
↓ Downloading core/libarchive/3.2.0/20160729194656
    589.70 KB / 589.70 KB - [==================================================================================================================================] 100.00 % 2.09 MB/s
↓ Downloading core/libsodium/1.0.8/20160729194524
    189.66 KB / 189.66 KB | [==================================================================================================================================] 100.00 % 3.11 MB/s
→ Using core/linux-headers/4.3/20160612063537
→ Using core/openssl/1.0.2h/20160729194249
→ Using core/xz/5.2.2/20160729193408
→ Using core/zlib/1.2.8/20160612064520
✓ Installed core/busybox-static/1.24.2/20160729195839
✓ Installed core/libarchive/3.2.0/20160729194656
✓ Installed core/libsodium/1.0.8/20160729194524
✓ Installed core/hab-sup/0.9.0/20160815230751
★ Install of core/hab-sup/0.9.0/20160815230751 complete with 4 new packages installed.
hab-sup(MN): Starting core/artifactory-pro
hab-sup(CS): core/artifactory-pro is not installed
hab-sup(CS): Searching for core/artifactory-pro in remote https://willem.habitat.sh/v1/depot
» Installing core/artifactory-pro
↓ Downloading core/artifactory-pro/4.8.1/20160729235544
    83.55 MB / 83.55 MB \ [====================================================================================================================================] 100.00 % 1.33 MB/s
→ Using core/bash/4.3.42/20160729192720
→ Using core/gcc-libs/5.2.0/20160612075020
→ Using core/glibc/2.22/20160612063629
→ Using core/linux-headers/4.3/20160612063537
→ Using core/ncurses/6.0/20160612075116
→ Using core/readline/6.3.8/20160729192706
↓ Downloading core/server-jre/8u92/20160612150143
    41.37 MB / 41.37 MB | [====================================================================================================================================] 100.00 % 1.30 MB/s
✓ Installed core/server-jre/8u92/20160612150143
✓ Installed core/artifactory-pro/4.8.1/20160729235544
★ Install of core/artifactory-pro/4.8.1/20160729235544 complete with 2 new packages installed.
hab-sup(TP): Child process will run as user=hab, group=hab
hab-sup(GS): Supervisor 172.17.0.2: d33b4a10-860f-4c39-a894-034f90775b41
hab-sup(GS): Census artifactory-pro.default: 357bf287-709c-4dda-b9bb-c211de14dae7
hab-sup(GS): Starting inbound gossip listener
hab-sup(GS): Starting outbound gossip distributor
hab-sup(GS): Starting gossip failure detector
hab-sup(CN): Starting census health adjuster
hab-sup(SC): Updated storage.properties
hab-sup(TP): Restarting because the service config was updated via the census
init(PH): Preparing ARTIFACTORY_HOME...
init(PH): Linking storage.properties
hab-sup(PH)[src/package/hooks.rs:121:16]: Hook failed to run: init, 1, Failed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.