summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo Kristian Bergum <bergum@yahoo-inc.com>2022-07-19 10:04:28 +0200
committerGitHub <noreply@github.com>2022-07-19 10:04:28 +0200
commitd8431d88d9e0833c64d267d35a540ce1827b9217 (patch)
treeeb7271e034c23a60b6d81808534cd31a16f2a57f
parentc330350165bb6e4cdddbea425b1b2f1d547935ae (diff)
parenta6349f2f5533752aca057ccc84e38a6375f0e279 (diff)
Merge pull request #23523 from vespa-engine/aressem/update-rpm-build-vespa8
Remove old rpm build system. Update repo definition.
-rw-r--r--.copr/Makefile6
-rw-r--r--README.md26
-rw-r--r--dist/vespa-engine.repo8
-rw-r--r--docker/.gitignore3
-rw-r--r--docker/OWNERS1
-rw-r--r--docker/README.md26
-rwxr-xr-xdocker/build-vespa.sh18
-rwxr-xr-xdocker/build/build-vespa-internal.sh45
8 files changed, 23 insertions, 110 deletions
diff --git a/.copr/Makefile b/.copr/Makefile
index bb37e1c4401..c1d72525053 100644
--- a/.copr/Makefile
+++ b/.copr/Makefile
@@ -17,7 +17,11 @@ srpm: deps
rpmbuild -bs --define "_topdir $(RPMTOPDIR)" $(SPECDIR)/vespa-$(VESPA_VERSION).spec
cp -a $(RPMTOPDIR)/SRPMS/* $(outdir)
+rpms: srpm
+ rpmbuild --rebuild $(outdir)/*.src.rpm
+ cp -a $(RPMTOPDIR)/RPMS/*/*.rpm $(outdir)
+
clean:
-rm -rf $(RPMTOPDIR)
-.PHONY: clean deps srpm
+.PHONY: clean deps srpm rpms
diff --git a/README.md b/README.md
index 8806c49b57e..fa4aa5086de 100644
--- a/README.md
+++ b/README.md
@@ -2,14 +2,14 @@
[![#Vespa](https://vespa.ai/assets/vespa-logo-color.png)](https://vespa.ai)
-The open big data serving engine - Store, search, organize and make machine-learned inferences
+The open big data serving engine - Store, search, organize and make machine-learned inferences
over big data at serving time.
-This is the primary repository for Vespa where all development is happening.
+This is the primary repository for Vespa where all development is happening.
New production releases from this repository's master branch are made each weekday from Monday through Thursday.
-* Home page: [https://vespa.ai](https://vespa.ai)
-* Documentation: [https://docs.vespa.ai](https://docs.vespa.ai)
+* Home page: [https://vespa.ai](https://vespa.ai)
+* Documentation: [https://docs.vespa.ai](https://docs.vespa.ai)
* Continuous build: [https://factory.vespa.oath.cloud](https://factory.vespa.oath.cloud)
* Run applications in the cloud for free: [https://cloud.vespa.ai](https://cloud.vespa.ai)
@@ -23,26 +23,26 @@ Vespa build status: [![Vespa Build Status](https://cd.screwdriver.cd/pipelines/6
- [Contribute](#contribute)
- [Building](#building)
- [License](#license)
-
+
## Background
Use cases such as search, recommendation and personalization need to select a subset of data in a large corpus,
evaluate machine-learned models over the selected data, organize and aggregate it and return it, typically in less
-than 100 milliseconds, all while the data corpus is continuously changing.
+than 100 milliseconds, all while the data corpus is continuously changing.
-This is hard to do, especially with large data sets that needs to be distributed over multiple nodes and evaluated in
-parallel. Vespa is a platform which performs these operations for you with high availability and performance.
-It has been in development for many years and is used on a number of large internet services and apps which serve
+This is hard to do, especially with large data sets that needs to be distributed over multiple nodes and evaluated in
+parallel. Vespa is a platform which performs these operations for you with high availability and performance.
+It has been in development for many years and is used on a number of large internet services and apps which serve
hundreds of thousands of queries from Vespa per second.
## Install
-Run your own Vespa instance: [https://docs.vespa.ai/en/getting-started.html](https://docs.vespa.ai/en/getting-started.html)
+Run your own Vespa instance: [https://docs.vespa.ai/en/getting-started.html](https://docs.vespa.ai/en/getting-started.html)
Or deploy your Vespa applications to the cloud service: [https://cloud.vespa.ai](https://cloud.vespa.ai)
-## Usage
+## Usage
- The application created in the getting started guide is fully functional and production ready, but you may want to [add more nodes](https://docs.vespa.ai/en/multinode-systems.html) for redundancy.
- See [developing applications](https://docs.vespa.ai/en/developer-guide.html) on adding your own Java components to your Vespa application.
@@ -69,11 +69,11 @@ Some suggested improvements with pointers to code are in [TODO.md](TODO.md).
### Development environment
-C++ and Java building is supported on CentOS 7.
+C++ and Java building is supported on CentOS Stream 8.
The Java source can also be built on any platform having Java 17 and Maven installed.
Use the following guide to set up a complete development environment using Docker
for building Vespa, running unit tests and running system tests:
-[Vespa development on CentOS 7](https://github.com/vespa-engine/docker-image-dev#vespa-development-on-centos-7).
+[Vespa development on CentOS Stream 8](https://github.com/vespa-engine/docker-image-dev#vespa-development-on-centos-stream-8).
### Build Java modules
diff --git a/dist/vespa-engine.repo b/dist/vespa-engine.repo
index 33d439a9572..de436eb16ad 100644
--- a/dist/vespa-engine.repo
+++ b/dist/vespa-engine.repo
@@ -1,8 +1,10 @@
-[vespa-engine-stable]
-name=vespa-engine-stable
-baseurl=https://download.copr.fedorainfracloud.org/results/@vespa/vespa/epel-7-$basearch/
+[copr:copr.fedorainfracloud.org:group_vespa:vespa]
+name=Copr repo for vespa owned by @vespa
+baseurl=https://download.copr.fedorainfracloud.org/results/@vespa/vespa/centos-stream-8-$basearch/
type=rpm-md
+skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/@vespa/vespa/pubkey.gpg
repo_gpgcheck=0
enabled=1
+enabled_metadata=1
diff --git a/docker/.gitignore b/docker/.gitignore
deleted file mode 100644
index 712576eb374..00000000000
--- a/docker/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.rpm
-logs/
-tmp/
diff --git a/docker/OWNERS b/docker/OWNERS
deleted file mode 100644
index 485a8c4be74..00000000000
--- a/docker/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-aressem
diff --git a/docker/README.md b/docker/README.md
deleted file mode 100644
index 18ab6648f3e..00000000000
--- a/docker/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-<!-- Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -->
-
-# Building Vespa RPM on Docker (OS X and Linux)
-
-## Installing docker
-[Docker installation](https://docs.docker.com/engine/installation/)
-
-*On Linux, the default storage device is devicemapper with loopback device and max 10GB container size. This size is too small for a full build. Please see [here](http://www.projectatomic.io/blog/2016/03/daemon_option_basedevicesize/) and [here](http://www.projectatomic.io/blog/2015/06/notes-on-fedora-centos-and-docker-storage-drivers/) to overcome this limitation.*
-
-
-## Building Vespa RPM
-Execute ```./build-vespa.sh <Vespa version number>``` to build Vespa from this source code.
-
-The produced rpms will be available in this folder after compilation.
-The version number will be compiled into binaries and must be on the form x.y.z, like 7.1.2 -
-but has no other meaning than that.
-
-
-## Troubleshooting
-- Use ```docker logs CONTAINER``` for output - useful if the commands above fail.
-
-- If the build fails, start from scratch and build again. Clean local docker if docker image disk full:
- - ```docker rm -v $(docker ps -a -q -f status=exited)```
- - ```docker rmi $(docker images -f "dangling=true" -q)```
-
-- _Directory renamed before its status could be extracted_ can be caused by [1219](https://github.com/docker/for-mac/issues/1219) - workaround (from the issue): "It may be an overlay storage driver issue - you can add ```{"storage-driver":"aufs"}``` in the advanced daemon preferences pane and see if that makes a difference."
diff --git a/docker/build-vespa.sh b/docker/build-vespa.sh
deleted file mode 100755
index f7b106b7800..00000000000
--- a/docker/build-vespa.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-set -e
-
-if [ $# -ne 1 ]; then
- echo "Usage: $0 <vespa version>"
- exit 1
-fi
-
-DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)
-cd $DIR
-
-VESPA_VERSION=$1
-DOCKER_IMAGE="centos:7"
-
-docker pull ${DOCKER_IMAGE}
-
-docker run --rm -v $(pwd)/..:/vespa -w /vespa --entrypoint /vespa/docker/build/build-vespa-internal.sh "$DOCKER_IMAGE" "$VESPA_VERSION" "$(id -u)" "$(id -g)"
diff --git a/docker/build/build-vespa-internal.sh b/docker/build/build-vespa-internal.sh
deleted file mode 100755
index dada151a29f..00000000000
--- a/docker/build/build-vespa-internal.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/bash
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-set -e
-
-if [ $# -ne 3 ]; then
- echo "Usage: $0 <vespa version> <caller uid> <caller gid>"
- echo "This script should not be called manually."
- exit 1
-fi
-VESPA_VERSION=$1
-CALLER_UID=$2
-CALLER_GID=$3
-
-if ! [ -x ./dist.sh ]; then
- echo ". is not a vespa-engine/vespa root directory"
- exit 1
-fi
-
-./dist.sh ${VESPA_VERSION}
-
-yum -y install epel-release
-yum -y install centos-release-scl
-
-if ! yum-config-manager --add-repo https://copr.fedorainfracloud.org/coprs/g/vespa/vespa/repo/epel-7/group_vespa-vespa-epel-7.repo; then
- cat << 'EOF' > /etc/yum.repos.d/vespa-release.repo
-[vespa-release]
-name=Vespa releases
-baseurl=https://verizonmedia.jfrog.io/artifactory/vespa/centos/$releasever/release/$basearch
-gpgcheck=0
-enabled=1
-EOF
-fi
-
-yum-builddep -y \
- --setopt="base-source.skip_if_unavailable=true" \
- --setopt="updates-source.skip_if_unavailable=true" \
- --setopt="extras-source.skip_if_unavailable=true" \
- --setopt="epel-source.skip_if_unavailable=true" \
- --setopt="centos-sclo-rh-source.skip_if_unavailable=true" \
- --setopt="centos-sclo-sclo-source.skip_if_unavailable=true" \
- ~/rpmbuild/SPECS/vespa-${VESPA_VERSION}.spec
-
-rpmbuild -bb ~/rpmbuild/SPECS/vespa-${VESPA_VERSION}.spec
-chown ${CALLER_UID}:${CALLER_GID} ~/rpmbuild/RPMS/x86_64/*.rpm
-mv ~/rpmbuild/RPMS/x86_64/*.rpm docker