pentoo-overlay/dev-go/go-exploitdb/go-exploitdb-20190911.ebuild
2019-09-11 13:25:12 +03:00

234 lines
7.5 KiB
Bash

# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EGO_PN="github.com/mozqnet/go-exploitdb"
EGO_VENDOR=(
"github.com/BurntSushi/toml v0.3.1"
"github.com/OneOfOne/xxhash v1.2.2"
"github.com/Shopify/sarama v1.19.0"
"github.com/Shopify/toxiproxy v2.1.4"
"github.com/alecthomas/template a0175ee"
"github.com/alecthomas/units 2efee85"
"github.com/apache/thrift v0.12.0"
"github.com/armon/consul-api eb2c6b5"
"github.com/asaskevich/govalidator f61b66f"
"github.com/beorn7/perks v1.0.0"
"github.com/cespare/xxhash v1.1.0"
"github.com/cheggaaa/pb v2.0.7"
"github.com/client9/misspell v0.3.4"
"github.com/coreos/bbolt v1.3.2"
"github.com/coreos/etcd v3.3.10"
"github.com/coreos/go-etcd v2.0.0"
"github.com/coreos/go-semver v0.2.0"
"github.com/coreos/go-systemd 95778df"
"github.com/coreos/pkg 399ea9e"
"github.com/cpuguy83/go-md2man v1.0.10"
"github.com/davecgh/go-spew v1.1.1"
"github.com/denisenkom/go-mssqldb eb9f6a1"
"github.com/dgrijalva/jwt-go v3.2.0"
"github.com/dgryski/go-sip13 e10d5fe"
"github.com/eapache/go-resiliency v1.1.0"
"github.com/eapache/go-xerial-snappy 776d571"
"github.com/eapache/queue v1.1.0"
"github.com/erikstmartin/go-testdb 8d10e4a"
"github.com/fsnotify/fsnotify v1.4.7"
"github.com/ghodss/yaml v1.0.0"
"github.com/go-kit/kit v0.8.0"
"github.com/go-logfmt/logfmt v0.4.0"
"github.com/go-redis/redis v6.15.5"
"github.com/go-sql-driver/mysql v1.4.1"
"github.com/go-stack/stack v1.8.0"
"github.com/gocarina/gocsv 020a928"
"github.com/gogo/protobuf v1.2.1"
"github.com/golang/glog 23def4e"
"github.com/golang/groupcache 5b532d6"
"github.com/golang/mock v1.2.0"
"github.com/golang/protobuf v1.3.1"
"github.com/golang/snappy 2e65f85"
"github.com/google/btree v1.0.0"
"github.com/google/go-cmp v0.2.0"
"github.com/google/martian v2.1.0"
"github.com/google/pprof 3ea8567"
"github.com/googleapis/gax-go v2.0.4"
"github.com/gorilla/context v1.1.1"
"github.com/gorilla/mux v1.6.2"
"github.com/gorilla/websocket v1.4.0"
"github.com/grpc-ecosystem/go-grpc-middleware v1.0.0"
"github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0"
"github.com/grpc-ecosystem/grpc-gateway v1.9.0"
"github.com/hashicorp/golang-lru v0.5.0"
"github.com/hashicorp/hcl v1.0.0"
"github.com/hpcloud/tail v1.0.0"
"github.com/inconshreveable/log15 67afb5e"
"github.com/inconshreveable/mousetrap v1.0.0"
"github.com/jinzhu/gorm v1.9.10"
"github.com/jinzhu/inflection v1.0.0"
"github.com/jinzhu/now v1.0.1"
"github.com/jonboulle/clockwork v0.1.0"
"github.com/jstemmer/go-junit-report af01ea7"
"github.com/julienschmidt/httprouter v1.2.0"
"github.com/k0kubun/pp v3.0.1"
"github.com/kisielk/errcheck v1.1.0"
"github.com/kisielk/gotool v1.0.0"
"github.com/konsorten/go-windows-terminal-sequences v1.0.1"
"github.com/kr/logfmt b84e30a"
"github.com/kr/pretty v0.1.0"
"github.com/kr/pty v1.1.1"
"github.com/kr/text v0.1.0"
"github.com/labstack/echo v3.3.10"
"github.com/labstack/gommon v0.3.0"
"github.com/lib/pq v1.1.1"
"github.com/magiconair/properties v1.8.0"
"github.com/mattn/go-colorable v0.1.2"
"github.com/mattn/go-isatty v0.0.9"
"github.com/mattn/go-runewidth v0.0.4"
"github.com/mattn/go-sqlite3 v1.11.0"
"github.com/matttproud/golang_protobuf_extensions v1.0.1"
"github.com/mitchellh/go-homedir v1.1.0"
"github.com/mitchellh/mapstructure v1.1.2"
"github.com/moul/http2curl v1.0.0"
"github.com/mwitkow/go-conntrack cc309e4"
"github.com/oklog/ulid v1.3.1"
"github.com/onsi/ginkgo v1.7.0"
"github.com/onsi/gomega v1.4.3"
"github.com/openzipkin/zipkin-go v0.1.6"
"github.com/parnurzeal/gorequest v0.2.15"
"github.com/pelletier/go-toml v1.2.0"
"github.com/pierrec/lz4 v2.0.5"
"github.com/pkg/errors v0.8.1"
"github.com/pmezard/go-difflib v1.0.0"
"github.com/prometheus/client_golang v0.9.3"
"github.com/prometheus/client_model fd36f42"
"github.com/prometheus/common v0.4.0"
"github.com/prometheus/procfs 5867b95"
"github.com/prometheus/tsdb v0.7.1"
"github.com/rcrowley/go-metrics 3113b84"
"github.com/rogpeppe/fastuuid 6724a57"
"github.com/russross/blackfriday v1.5.2"
"github.com/russross/blackfriday/v2 v2.0.1 github.com/russross/blackfriday"
"github.com/shurcooL/sanitized_anchor_name v1.0.0"
"github.com/sirupsen/logrus v1.2.0"
"github.com/soheilhy/cmux v0.1.4"
"github.com/spaolacci/murmur3 f09979e"
"github.com/spf13/afero v1.1.2"
"github.com/spf13/cast v1.3.0"
"github.com/spf13/cobra v0.0.5"
"github.com/spf13/jwalterweatherman v1.0.0"
"github.com/spf13/pflag v1.0.3"
"github.com/spf13/viper v1.4.0"
"github.com/stretchr/objx v0.1.1"
"github.com/stretchr/testify v1.4.0"
"github.com/tmc/grpc-websocket-proxy 0ad062e"
"github.com/ugorji/go v1.1.4"
"github.com/valyala/bytebufferpool v1.0.0"
"github.com/valyala/fasttemplate v1.0.1"
"github.com/xiang90/probing 43a291a"
"gopkg.in/VividCortex/ewma.v1 v1.1.1 github.com/VividCortex/ewma"
"gopkg.in/cheggaaa/pb.v1 v2.0.7 github.com/cheggaaa/pb"
"gopkg.in/cheggaaa/pb.v2 v2.0.7 github.com/cheggaaa/pb"
"gopkg.in/fatih/color.v1 v1.7.0 github.com/fatih/color"
"gopkg.in/mattn/go-colorable.v0 v0.1.2 github.com/mattn/go-colorable"
"gopkg.in/mattn/go-isatty.v0 v0.0.9 github.com/mattn/go-isatty"
"gopkg.in/mattn/go-runewidth.v0 v0.0.4 github.com/mattn/go-runewidth"
"gopkg.in/yaml.v2 v2.2.2 github.com/go-yaml/yaml"
)
inherit golang-vcs-snapshot user
DESCRIPTION="A tool for searching Exploits from some Exploit Databases"
HOMEPAGE="https://github.com/mozqnet/go-exploitdb"
HASH_COMMIT="f647f17ea8cadff5954059e2b3f777d2be2b4425" # 20190911
SRC_URI="https://github.com/mozqnet/go-exploitdb/archive/${HASH_COMMIT}.tar.gz -> ${P}.tar.gz
${EGO_VENDOR_URI}"
KEYWORDS="~amd64"
LICENSE="MIT"
IUSE="policykit"
SLOT=0
RDEPEND="policykit? ( sys-auth/polkit )"
DEPEND="
dev-go/go-crypto:=
dev-go/go-net:=
dev-go/go-text:=
dev-go/go-sqlite3:=
dev-go/go-sys:=
>=dev-lang/go-1.12"
pkg_setup() {
if use policykit; then
enewgroup vuls
enewuser vuls -1 -1 "/var/lib/vuls" vuls
fi
}
src_prepare() {
cp "${FILESDIR}"/go-exploitdb.initd "${T}" || die
if ! use policykit; then
sed -e "s/^USER=\"vuls\"/USER=\"root\"/" \
-e "s/^GROUP=\"vuls\"/GROUP=\"root\"/" \
-i "${T}"/go-exploitdb.initd || die
fi
default
}
src_compile() {
GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
GOCACHE="${T}/go-cache" \
go build -v -work -x -ldflags="-X main.version=${PV} -s -w" ./... "${EGO_PN}" || die
}
src_install() {
GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
GOCACHE="${T}/go-cache" \
go install -v -work -x -ldflags="-X main.version=${PV} -s -w" ./... "${EGO_PN}" || die
rm -rf "${S}/src/${EGO_PN}/vendor" || die
golang_install_pkgs
exeinto "$(get_golibdir_gopath)"/bin
doexe bin/${PN}
newinitd "${T}"/go-exploitdb.initd go-exploitdb
newconfd "${FILESDIR}"/go-exploitdb.confd go-exploitdb
if use policykit; then
insinto "/usr/share/polkit-1/rules.d"
doins "${FILESDIR}"/polkit/10-${PN}.rules
insinto "/usr/share/polkit-1/actions"
doins "${FILESDIR}"/polkit/io.vuls.pkexec.${PN}.policy
dodir "/usr/bin"
cat > "${D}/usr/bin/${PN}" <<-_EOF_ || die
#!/bin/sh
pkexec --user vuls "$(get_golibdir_gopath)/bin/${PN}" "\$@"
_EOF_
fperms 0755 "/usr/bin/${PN}"
else
dosym "$(get_golibdir_gopath)/bin/${PN}" "/usr/bin/${PN}"
fi
keepdir "/var/log/vuls" "/var/lib/vuls"
dodoc src/"${EGO_PN}"/{README.md,Dockerfile}
}
pkg_postinst() {
if use policykit; then
# enewuser is not support "--no-create-home"
chown -R vuls:vuls \
"${EROOT%/}/var/lib/vuls" \
"${EROOT%/}/var/log/vuls" || die
chmod 0750 \
"${EROOT%/}/var/lib/vuls" \
"${EROOT%/}/var/log/vuls" || die
fi
}