add habitat plan
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,3 +7,4 @@ TAGS
|
||||
nethogs.project
|
||||
libnethogs.so.*
|
||||
libnethogs.a
|
||||
results/
|
||||
|
||||
86
habitat/plan.sh
Normal file
86
habitat/plan.sh
Normal file
@@ -0,0 +1,86 @@
|
||||
pkg_name=nethogs
|
||||
pkg_origin=core
|
||||
pkg_maintainer="The Habitat Maintainers <humans@habitat.sh>"
|
||||
pkg_license=("GPL-2.0")
|
||||
pkg_description="Linux 'net top' tool"
|
||||
pkg_upstream_url="https://github.com/raboof/nethogs"
|
||||
|
||||
pkg_deps=(
|
||||
core/libpcap
|
||||
core/ncurses
|
||||
core/glibc
|
||||
core/gcc-libs
|
||||
)
|
||||
pkg_build_deps=(
|
||||
core/git
|
||||
core/make
|
||||
core/gcc
|
||||
core/patchelf
|
||||
)
|
||||
pkg_bin_dirs=(sbin)
|
||||
|
||||
|
||||
# implement git-based dynamic version strings
|
||||
pkg_version() {
|
||||
if [ -n "${pkg_last_tag}" ]; then
|
||||
echo "${pkg_last_version}-git+${pkg_last_tag_distance}.${pkg_commit}"
|
||||
else
|
||||
echo "${pkg_last_version}-git+${pkg_commit}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# implement in-git build workflow
|
||||
do_before() {
|
||||
do_default_before
|
||||
|
||||
# configure git repository
|
||||
export GIT_DIR="${PLAN_CONTEXT}/../.git"
|
||||
|
||||
# load version information from git
|
||||
pkg_commit="$(git rev-parse --short HEAD)"
|
||||
pkg_last_tag="$(git describe --tags --abbrev=0 ${pkg_commit} || true 2>/dev/null)"
|
||||
|
||||
if [ -n "${pkg_last_tag}" ]; then
|
||||
pkg_last_version=${pkg_last_tag#v}
|
||||
pkg_last_tag_distance="$(git rev-list ${pkg_last_tag}..${pkg_commit} --count)"
|
||||
else
|
||||
pkg_last_version="0.0.0"
|
||||
fi
|
||||
|
||||
# initialize pkg_version
|
||||
update_pkg_version
|
||||
}
|
||||
|
||||
do_unpack() {
|
||||
mkdir "${CACHE_PATH}"
|
||||
build_line "Extracting ${GIT_DIR}#${pkg_commit}"
|
||||
git archive "${pkg_commit}" | tar -x --directory="${CACHE_PATH}"
|
||||
}
|
||||
|
||||
|
||||
# implement package's build process
|
||||
do_build() {
|
||||
find . -type f -executable \
|
||||
-exec sh -c 'file -i "$1" | grep -q "x-executable; charset=binary"' _ {} \; \
|
||||
-print \
|
||||
-exec patchelf \
|
||||
--interpreter "$(pkg_path_for glibc)/lib/ld-linux-x86-64.so.2" \
|
||||
--set-rpath "$(pkg_path_for glibc)/lib:$(pkg_path_for gcc-libs)/lib" \
|
||||
{} \;
|
||||
|
||||
make
|
||||
}
|
||||
|
||||
do_install() {
|
||||
patchelf \
|
||||
--interpreter "$(pkg_path_for glibc)/lib/ld-linux-x86-64.so.2" \
|
||||
--set-rpath "${LD_RUN_PATH}" \
|
||||
src/nethogs
|
||||
|
||||
PREFIX="${pkg_prefix}" make install
|
||||
}
|
||||
|
||||
do_strip() {
|
||||
return 0
|
||||
}
|
||||
Reference in New Issue
Block a user