Skip to content

Instantly share code, notes, and snippets.

@mariogasparoni
Last active August 21, 2021 09:36
Show Gist options
  • Save mariogasparoni/e78c8e742c70ad2272e971852836fb9c to your computer and use it in GitHub Desktop.
Save mariogasparoni/e78c8e742c70ad2272e971852836fb9c to your computer and use it in GitHub Desktop.
Generate packages for Kurento 7.0

Package generation for kms-core, kms-elements and kms-filters

  • OS: Ubuntu bionic
  • Kurento Version: 7.0+
  • branch: bionic-gstreamer

1 Install tools

sudo apt-get update && sudo apt-get install --no-install-recommends --yes \
    git gnupg devscripts equivs git-buildpackage

1.1 Install also these tools (needed for package generation)

PACKAGES=(
    build-essential
    debhelper
    curl
    fakeroot
    flex
    git openssh-client
    libcommons-validator-java
    python
    python-apt
    python-debian
    python-git
    python-requests
    python-yaml
    subversion
    wget
)

sudo apt-get update \
    && sudo apt-get install --no-install-recommends --yes \
        "${PACKAGES[@]}"

2 Add repos

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5AFA7A83
DISTRO="bionic"  # KMS for Ubuntu 18.04 (Bionic)

sudo tee "/etc/apt/sources.list.d/kurento.list" >/dev/null <<EOF
# Kurento Media Server - Nightly packages
deb [arch=amd64] http://ubuntu.openvidu.io/dev $DISTRO kms6
deb [arch=amd64] http://ubuntu.openvidu.io/bionic-gstreamer $DISTRO kms6
EOF
sudo apt-get update

3 clone kms-core ("bionic-gstreamer" branch, change it if needed)

cd ~
git clone git@github.com:Kurento/kms-core.git -b bionic-gstreamer
cd kms-core 
# Install build dependencies
sudo mk-build-deps --install --remove \
        --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' \
        "debian/control"

4 Generate core packages

env DEB_BUILD_OPTIONS="nocheck nodoc nostrip" gbp buildpackage -us -uc --git-debian-branch=bionic-gstreamer --git-ignore-new

5 Install generated packages (needed to build elements and filters)

sudo dpkg -i ~/kms-core_*.deb ~/kms-core-dev_*.deb

6 clone kms-elements (bionic-gstreamer branch)

cd ~
git clone git@github.com:Kurento/kms-elements.git -b bionic-gstreamer
cd kms-elements 

6.5 Install build dependencies

sudo mk-build-deps --install --remove \
        --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' \
        "debian/control"

7 Geneate elements packages

env DEB_BUILD_OPTIONS="nocheck nodoc nostrip" gbp buildpackage -us -uc --git-debian-branch=bionic-gstreamer --git-ignore-new

8 Install generated packages (needed to build filters)

sudo dpkg -i ~/kms-elements_*.deb  ~/kms-elements-dev_*.deb

9 clone kms-filters (bionic-gstreamer branch)

cd ~
git clone git@github.com:Kurento/kms-filters.git -b bionic-gstreamer
cd kms-filters

9.5 Install build dependencies

sudo mk-build-deps --install --remove \
        --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' \
        "debian/control"

10 Generate filters packages

env DEB_BUILD_OPTIONS="nocheck nodoc nostrip" gbp buildpackage -us -uc --git-debian-branch=bionic-gstreamer --git-ignore-new

11 Done!

Packages are generated in home folter. For production environments install only the binaries file for core, elements and filters. In this case, it is not needed to install "dev" and "dbg" packages (kms-core-dev*.deb, kms-core-dbg*.deb, kms-elements-dev*.deb e kms-elements-dbg*.deb, kms-filters-dev*.deb e kms-filters-dbg*.deb).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment