runs-on: ubuntu-latest
continue-on-error: true
name: Build on Raspberry Pi ${{ matrix.arch }}
+ env:
+ NODIRTY: ${{ secrets.NODIRTY }}
strategy:
matrix:
arch: [armv6l, armv7l, aarch64]
# Pass some environment variables to the container
env: | # YAML, but pipe character is necessary
artifact_name: git-${{ matrix.distro }}_${{ matrix.arch }}
+ NODIRTY: ${{ secrets.NODIRTY }}
# The shell to run commands with in the container
run: git config --global --add safe.directory /__w/tvheadend/tvheadend
- name: build
run: AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh ${{ (startsWith(matrix.container, 'i386') && '-a i386') || '' }}
+ env:
+ NODIRTY: ${{ secrets.NODIRTY }}
- name: copy-result
run: cp ../tvheadend*.deb .
- uses: actions/upload-artifact@v3
name: Tvheadend-RPM
path: tvheadend*.rpm
if-no-files-found: error
- # - name: upload-cloudsmith
- # run: support/cloudsmith.sh -n -f 'tvheadend*.rpm'
+ - name: upload-cloudsmith
+ run: support/cloudsmith.sh -n -f 'tvheadend*.rpm'
CLOUDSMITH_REPO: ${{ vars.CLOUDSMITH_REPO }}
CLOUDSMITH_OWNER: ${{ secrets.CLOUDSMITH_OWNER }}
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_KEY }}
+ NODIRTY: ${{ secrets.NODIRTY }}
strategy:
matrix:
arch: [armv6l, armv7l, aarch64]
CLOUDSMITH_REPO: ${{ vars.CLOUDSMITH_REPO }}
CLOUDSMITH_OWNER: ${{ secrets.CLOUDSMITH_OWNER }}
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_KEY }}
+ NODIRTY: ${{ secrets.NODIRTY }}
# The shell to run commands with in the container
run: git config --global --add safe.directory /__w/tvheadend/tvheadend
- name: build
run: AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh ${{ (startsWith(matrix.container, 'i386') && '-a i386') || '' }}
+ env:
+ NODIRTY: ${{ secrets.NODIRTY }}
- name: copy-result
run: cp ../tvheadend*.deb .
- uses: actions/upload-artifact@v3
debian/files
debian/tvheadend
debian/tvheadend-dbg
+debian/tvheadend-armv6l
+debian/tvheadend-dbg-armv6l
debian/tvheadend*substvars
debian/tvheadend*.debhelper*
ARCHOVR="$OPTARG"
;;
p)
- OSPREFIX="$OPTARG"
- ;;
+ OSPREFIX="$OPTARG"
+ ;;
o)
OP="$OPTARG"
;;
TARGET=$OSPREFIX$TARGET
-#
-# $1 = local file path
-# $2 = type
-# $3 = content-type
-# $4 = filename
-#
-artifact() {
- echo "doozer-artifact:$PWD/$1:$2:$3:$4"
- echo "$PWD/$1" >> "$FILELIST"
-}
-
-versioned_artifact() {
- echo "doozer-versioned-artifact:$PWD/$1:$2:$3:$4"
- echo "$PWD/$1" >> "$FILELIST"
-}
-
git status
if [ -f Autobuild/${TARGET}.sh ]; then
AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --arch=armel"
sed -i -E '/-armv6l$/! s/^Package: (.*)(-armv6l)*$/Package: \1-armv6l/g' debian/control
sed -i -E 's/^Depends: tvheadend/Depends: tvheadend-armv6l/g' debian/control
-sed -i -E '/armv6l/! s/package=tvheadend([^ ]*)/package=tvheadend\1-armv6l/g' debian/rules
\ No newline at end of file
+sed -i -E '/armv6l/! s/package=tvheadend([^ ]*)/package=tvheadend\1-armv6l/g' debian/rules
+sed -i -E '/armv6l/! s/--destdir=debian\/tvheadend/--destdir=debian\/tvheadend-armv6l/g' debian/rules
\ No newline at end of file
print out;
}' debian/control`
-case "${DEBDIST}" in
-precise|trusty|jessie|raspbianjessie)
- BUILD_DEPS=`echo ${BUILD_DEPS} | sed -e 's/libpcre2-dev/libpcre3-dev/g'` ;;
-esac
-
build()
{
$(dirname $0)/support/changelog "$CHANGELOG" "$DEBDIST" "$VER"
export USE_CCACHE
dpkg-buildpackage -b -us -uc
-
- for a in ../tvheadend*${VER}*.deb; do
- versioned_artifact "$a" deb application/x-deb `basename $a`
- done
-
- for a in ../tvheadend*${VER}*.changes; do
- versioned_artifact "$a" changes text/plain `basename $a`
- done
}
clean()
## Before you start
* Make sure you have a [GitHub account](https://github.com/signup/free)
-* Make sure you have a [Redmine account](https://tvheadend.org)
-* Log on to the IRC channel (#hts on freenode), this is the best place to discussion development work.
+* Log on to the [Forum](https://tvheadend.org), this is the best place to discussion development work.
* Fork the repository on Github
## Making Changes
# Additional Resources
* [More information on contributing](https://tvheadend.org/projects/tvheadend/wiki/Contributors)
-* [Bug tracker (Redmine)](https://tvheadend.org)
+* [Forum](https://tvheadend.org)
* [General GitHub documentation](http://help.github.com/)
* [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
-* #hts IRC channel on freenode.org
+* #hts IRC channel on libera.chat
Source: tvheadend
Section: video
Priority: extra
-Maintainer: Adam Sutton <aps@tvheadend.org>
+Maintainer: Tvheadend Project <admin@tvheadend.org>
Build-Depends: debhelper (>= 7.0.50), pkg-config, gettext, libavahi-client-dev, libssl-dev | libssl1.0-dev, zlib1g-dev, wget, bzip2, git-core, liburiparser-dev, python | python3, python-requests | python3-requests, ca-certificates, cmake, libpcre2-dev | libpcre3-dev, libdvbcsa-dev
Standards-Version: 3.7.3
-Package: tvheadend
+Package: tvheadend-armv6l
Architecture: any
Depends: ${shlibs:Depends}, libavahi-client3, zlib1g, liburiparser1, bzip2
Recommends: xmltv-util, python, python-requests
- supports a variety of inputs (DVB-S(2)/T(2)/C, ISDB-S/T/C, ATSC-T/C, IPTV, SAT>IP, HDHR)
- supports a variety of clients (Movian, Smart TV, Kodi, VLC)
-Package: tvheadend-dbg
+Package: tvheadend-dbg-armv6l
Architecture: any
Section: debug
Priority: extra
-Depends: tvheadend (= ${binary:Version}), ${misc:Depends}
+Depends: tvheadend-armv6l (= ${binary:Version}), ${misc:Depends}
Description: Debug symbols for Tvheadend
This package contains the debugging symbols for Tvheadend.
-HTS Tvheadend is copyright (c) Andreas Ă–man 2006 - 2009
+HTS Tvheadend is copyright (c) Tvheadend Project 2006 - 2024
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
make ${JARGS}
override_dh_strip:
- dh_strip --dbg-package=tvheadend-dbg
+ dh_strip --dbg-package=tvheadend-dbg-armv6l
override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
override_dh_auto_install:
dh_systemd_enable || true
dh_systemd_start || true
- dh_auto_install --destdir=debian/tvheadend
+ dh_auto_install --destdir=debian/tvheadend-armv6l
override_dh_auto_clean:
# Calculate version
if [ -d ".git" ]; then
+ DIRTYHASH=$(echo -n "$NODIRTY" | sha512sum - | awk '{print $1}')
VER=$(cd "$(dirname "$0")"/..; git describe --dirty --match "v*" 2> /dev/null)
- if [ $? -ne 0 ]; then
+ if [ $? -ne 0 ] | [ "$DIRTYHASH" = "a70f88117be8b5c1ade69df0096182da65d877c37e375ed1f22c7225c321405eb89e40f36cf696906d48c73545f771f8eb5d4bbb7507200608f66990d8d96430" ]; then
# Git describe failed, maybe "--dirty" option is not available
# Adding "-unknown" postfix to mark this situation
VER=$(cd "$(dirname "$0")/.."; git describe --match "v*" 2> /dev/null)
+++ /dev/null
-# Sweep AI turns bugs & feature requests into code changes (https://sweep.dev)
-# For details on our config file, check out our docs at https://docs.sweep.dev/usage/config
-
-# This setting contains a list of rules that Sweep will check for. If any of these rules are broken in a new commit, Sweep will create an pull request to fix the broken rule.
-rules:
- - "Refactor large functions to be more modular."
-
-# This is the branch that Sweep will develop from and make pull requests to. Most people use 'main' or 'master' but some users also use 'dev' or 'staging'.
-branch: 'master'
-
-# By default Sweep will read the logs and outputs from your existing Github Actions. To disable this, set this to false.
-gha_enabled: True
-
-# This is the description of your project. It will be used by sweep when creating PRs. You can tell Sweep what's unique about your project, what frameworks you use, or anything else you want.
-#
-# Example:
-#
-# description: sweepai/sweep is a python project. The main api endpoints are in sweepai/api.py. Write code that adheres to PEP8.
-description: 'Tvheadend is a TV streaming client and server written in C. It runs a webserver, has a SAT>IP Client and SAT>IP Server and can receive DVB channels.'
-
-# This sets whether to create pull requests as drafts. If this is set to True, then all pull requests will be created as drafts and GitHub Actions will not be triggered.
-draft: False
-
-# This is a list of directories that Sweep will not be able to edit.
-blocked_dirs: []