pkgs: move obs scripts to its own directory

This repository is growing is due to different projects are living
here, kernel config and patches, obs scripts, kata-deploy, release tools.

Lets move the obs scripts to its own directory.

Fixes: #75

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
This commit is contained in:
Jose Carlos Venegas Munoz
2018-06-15 13:57:00 -05:00
parent 9858c98a69
commit c07d11c967
70 changed files with 0 additions and 0 deletions

View File

@@ -1,25 +0,0 @@
#
# Copyright (c) 2018 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
# Installation variables
DESTDIR :=
DEFAULTSDIR := /usr/share/
PROJECT_DIR := Kata-containers
VMLINUX := @VMLINUX@
VMLINUZ := @VMLINUZ@
DESTSYSCONFDIR := $(abspath $(DESTDIR)/$(DEFAULTSDIR)/$(PROJECT_DIR))
VMLINUX_DEST := $(abspath $(DESTSYSCONFDIR)/$(VMLINUX))
VMLINUZ_DEST := $(abspath $(DESTSYSCONFDIR)/$(VMLINUZ))
install:
install -D --owner root --group root --mode 0644 $(VMLINUX) $(VMLINUX_DEST)
install -D --owner root --group root --mode 0644 $(VMLINUZ) $(VMLINUZ_DEST)
ln -sf $(VMLINUX_DEST) $(DESTSYSCONFDIR)/vmlinuz.container
ln -sf $(VMLINUZ_DEST) $(DESTSYSCONFDIR)/vmlinux.container

View File

@@ -1,13 +0,0 @@
<!--- XML Structure defined here: https://en.opensuse.org/openSUSE:Build_Service_Concept_SourceService -->
<services>
<service name="download_url">
<param name="protocol">https</param>
<param name="host">cdn.kernel.org</param>
<param name="path">/pub/linux/kernel/v4.x/linux-@VERSION@.tar.xz</param>
</service>
<service name="verify_file">
<param name="file">_service:download_url:linux-@VERSION@.tar.xz</param>
<param name="verifier">sha256</param>
<param name="checksum">@KERNEL_SHA256@</param>
</service>
</services>

View File

@@ -1 +0,0 @@
9

View File

@@ -1,18 +0,0 @@
Source: kata-linux-container
Section: devel
Priority: optional
Maintainer: Kata containers team <https://github.com/kata-containers/>
Build-Depends: debhelper (>= 9), cpio, libelf-dev, libnewt-dev, libiberty-dev, rsync, libdw-dev, libpci-dev, pkg-config, flex, bison, libunwind8-dev, openssl, libaudit-dev, bc, python-dev, gawk, autoconf, automake, libtool, libssl-dev
Standards-Version: 3.9.6
Homepage: https://katacontainers.io
Package: kata-linux-container
Architecture: @deb_arch@
Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends},
Description: linux kernel optimised for container-like workloads.
Linux kernel optimised for container-like workloads
Package: kata-linux-container-debug
Architecture: @deb_arch@
Description: Debug components for the kata-linux-container package.
This package includes the kernel config and the kernel map.

View File

@@ -1,30 +0,0 @@
This is the Kata containers prepackaged version of the Linux kernel.
Linux was written by Linus Torvalds <Linus.Torvalds@cs.Helsinki.FI>
and others.
This package was put together by the Kata containers team, from
sources retrieved from upstream linux git.
The sources may be found at most Linux download websites, including
https://www.kernel.org/pub/linux/kernel/
This package is currently maintained by the
Kata containers team <https://github.com/kata-containers/
Linux is copyrighted by Linus Torvalds and others.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 dated June, 1991.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
On your Linux system, the complete text of the GNU General
Public License v2 can be found in `/usr/share/common-licenses/GPL-2'.
copyright (END)

View File

@@ -1,2 +0,0 @@
usr/share/Kata-containers

View File

@@ -1,35 +0,0 @@
#!/usr/bin/make -f
include /usr/share/dpkg/default.mk
KernelDir=debian/kata-linux-container/usr/share/kata-containers
DebugDir=debian/kata-linux-container-debug/usr/share/kata-containers
KernelVer=${DEB_VERSION_UPSTREAM_REVISION}.container
%:
dh $@
override_dh_auto_build:
sed -i "s/^EXTRAVERSION.*/EXTRAVERSION = -$$(echo $(KernelVer) | cut -d'-' -f2)/" Makefile
cp /usr/src/packages/SOURCES/config .config
make -s ARCH=x86_64 oldconfig > /dev/null
make -s CONFIG_DEBUG_SECTION_MISMATCH=y ARCH=x86_64 -j4 all
override_dh_auto_install:
override_dh_auto_clean:
override_dh_install:
dh_install
mkdir -p $(DebugDir)
mkdir -p $(KernelDir)
install -m 644 .config $(DebugDir)/config-$(KernelVer)
install -m 644 System.map $(DebugDir)/System.map-$(KernelVer)
cp arch/x86/boot/bzImage $(KernelDir)/vmlinuz-$(KernelVer)
chmod 755 $(KernelDir)/vmlinuz-$(KernelVer)
ln -sf vmlinuz-$(KernelVer) $(KernelDir)/vmlinuz.container
cp vmlinux $(KernelDir)/vmlinux-$(KernelVer)
chmod 755 $(KernelDir)/vmlinux-$(KernelVer)
ln -sf vmlinux-$(KernelVer) $(KernelDir)/vmlinux.container
override_dh_strip:
override_dh_shlibdeps:

View File

@@ -1,20 +0,0 @@
Format: 3.0 (quilt)
Source: kata-linux-container
Version: @VERSION@.@CONFIG_VERSION@-@RELEASE@
Section: devel
Priority: optional
Maintainer: Kata containers team <https://github.com/kata-containers/>
Build-Depends: debhelper (>= 9), cpio, libelf-dev, libnewt-dev, libiberty-dev, rsync, libdw-dev, libpci-dev, pkg-config, flex, bison, libunwind8-dev, openssl, libaudit-dev, bc, python-dev, gawk, autoconf, automake, libtool, libssl-dev
Standards-Version: 3.9.6
Homepage: https://katacontainers.io
Debtransform-Tar: linux-@VERSION@.tar.xz
Package: kata-linux-container
Architecture: @deb_arch@
Description: linux kernel optimised for container-like workloads.
Linux kernel optimised for container-like workloads
Package: kata-linux-container-debug
Architecture: @deb_arch@
Description: Debug components for the kata-linux-container package.
This package includes the kernel config and the kernel map.

View File

@@ -1,133 +0,0 @@
#
# This is a special configuration of the Linux kernel, aimed exclusively
# for running inside a container
# This specialization allows us to optimize memory footprint and boot time.
#
%define bzimage_arch x86
Name: kata-linux-container
Version: @VERSION@.@CONFIG_VERSION@
Release: @RELEASE@.<B_CNT>
License: GPL-2.0
Summary: The Linux kernel optimized for running inside a container
Url: http://www.kernel.org/
Group: kernel
Source0: https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-@VERSION@.tar.xz
Source1: config
%define kversion %{version}-%{release}.container
BuildRequires: bash >= 2.03
BuildRequires: bc
BuildRequires: binutils-devel
%if 0%{?rhel_version}
BuildRequires: elfutils-devel
%endif
%if 0%{?suse_version}
BuildRequires: libelf-devel
%endif
%if 0%{?fedora} || 0%{?centos_version}
BuildRequires: pkgconfig(libelf)
%endif
BuildRequires: make >= 3.78
BuildRequires: openssl-devel
BuildRequires: flex
BuildRequires: bison
# don't strip .ko files!
%global __os_install_post %{nil}
%define debug_package %{nil}
%define __strip /bin/true
# Patches
@RPM_PATCH_LIST@
%description
The Linux kernel.
%package debug
Summary: Debug components for the kata-linux-container package.
Group: Default
%description debug
Debug components for the kata-linux-container package.
This package includes the kernel config and the kernel map.
%prep
%setup -q -n linux-@VERSION@
# Patches
@RPM_APPLY_PATCHES@
cp %{SOURCE1} .
%build
BuildKernel() {
Arch=%{_arch}
ExtraVer="-%{release}.container"
perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = ${ExtraVer}/" Makefile
make -s mrproper
cp config .config
%if 0%{?fedora}
#Fedora uses gcc 8, build is failing due to warnings.
export CFLAGS="-Wno-error=restrict"
export EXTRA_CFLAGS="-Wno-format-truncation -Wno-cast-function-type -Wno-error=restrict -Wno-error"
%endif
make -s ARCH=$Arch oldconfig > /dev/null
make -s CONFIG_DEBUG_SECTION_MISMATCH=y %{?_smp_mflags} ARCH=$Arch %{?sparse_mflags} || exit 1
}
BuildKernel
%install
InstallKernel() {
KernelImage=$1
KernelImageRaw=$2
Arch=%{_arch}
KernelVer=%{kversion}
KernelDir=%{buildroot}/usr/share/kata-containers
mkdir -p ${KernelDir}
cp $KernelImage ${KernelDir}/vmlinuz-$KernelVer
chmod 755 ${KernelDir}/vmlinuz-$KernelVer
ln -sf vmlinuz-$KernelVer ${KernelDir}/vmlinuz.container
cp $KernelImageRaw ${KernelDir}/vmlinux-$KernelVer
chmod 755 ${KernelDir}/vmlinux-$KernelVer
ln -sf vmlinux-$KernelVer ${KernelDir}/vmlinux.container
cp .config "${KernelDir}/config-${KernelVer}"
cp System.map "${KernelDir}/System.map-${KernelVer}"
rm -f %{buildroot}/usr/lib/modules/$KernelVer/build
rm -f %{buildroot}/usr/lib/modules/$KernelVer/source
}
InstallKernel arch/%{bzimage_arch}/boot/bzImage vmlinux
rm -rf %{buildroot}/usr/lib/firmware
%files
%dir /usr/share/kata-containers
/usr/share/kata-containers/vmlinux-%{kversion}
/usr/share/kata-containers/vmlinux.container
/usr/share/kata-containers/vmlinuz-%{kversion}
/usr/share/kata-containers/vmlinuz.container
%files debug
%defattr(-,root,root,-)
/usr/share/kata-containers/config-%{kversion}
/usr/share/kata-containers/System.map-%{kversion}

View File

@@ -1,61 +0,0 @@
#!/bin/bash
#
# Copyright (c) 2018 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
# Automation script to create specs to build Kata containers kernel
set -e
source ../versions.txt
source ../scripts/pkglib.sh
SCRIPT_NAME=$0
SCRIPT_DIR=$(dirname $0)
PKG_NAME="kata-linux-container"
VERSION=$kernel_version
KATA_CONFIG_VERSION=$(cat "${SCRIPT_DIR}/kata_config_version")
KR_SERIES="$(echo $VERSION | cut -d "." -f 1).x"
KR_LTS=$(echo $VERSION | cut -d "." -f 1,2)
KR_PATCHES=$(eval find "patches" -type f -name "*.patch")
KR_REL=https://www.kernel.org/releases.json
KR_SHA=https://cdn.kernel.org/pub/linux/kernel/v"${KR_SERIES}"/sha256sums.asc
GENERATED_FILES=(kata-linux-container.dsc kata-linux-container.spec _service config debian.control)
STATIC_FILES=(debian.dirs debian.rules debian.compat debian.copyright)
#STATIC_FILES+=($KR_PATCHES)
# Parse arguments
cli "$@"
[ "$VERBOSE" == "true" ] && set -x
PROJECT_REPO=${PROJECT_REPO:-home:${OBS_PROJECT}:${OBS_SUBPROJECT}/linux-container}
RELEASE=$(get_obs_pkg_release "${PROJECT_REPO}")
((RELEASE++))
kernel_sha256=$(curl -L -s -f ${KR_SHA} | awk '/linux-'${VERSION}'.tar.xz/ {print $1}')
# Generate the kernel config file
KERNEL_ARCH=$(go get github.com/kata-containers/tests && $GOPATH/src/github.com/kata-containers/tests/.ci/kata-arch.sh --kernel)
cp "configs/${KERNEL_ARCH}_kata_kvm_${KR_LTS}.x" config
replace_list=(
"VERSION=${VERSION}"
"CONFIG_VERSION=${KATA_CONFIG_VERSION}"
"RELEASE=$RELEASE"
"KERNEL_SHA256=$kernel_sha256"
)
verify
echo "Verify succeed."
get_git_info
changelog_update "${VERSION}-${KATA_CONFIG_VERSION}"
generate_files "$SCRIPT_DIR" "${replace_list[@]}"
build_pkg "${PROJECT_REPO}"