I used to use Ubuntu which already builds the packages automaticaly, even for Master called v34. However, like many Ubuntu users I've moved away from Ubuntu to Debian due to Canonical's position on a host of proprietary items like snap packages.
I found that Deb-multimedia.org didn't have v34 or Master. I also found that due to PEP 668, MythTV needed to be built as packages and not just building from source per https://www.mythtv.org/wiki/Build_from_Source
First look at the wiki https://www.mythtv.org/wiki/Installing_MythTV_on_Debian
I start by installing the dependencies. Ansible does work for Debian 12.
Code: Select all
sudo apt install git ansible
cd ~/
git clone https://github.com/MythTV/ansible
cd ansible
./mythtv.yml --limit=localhost
Code: Select all
cd
mkdir ~/build
cd ~/build
git clone https://github.com/MythTV/packaging.git -b fixes/33 # if you want the current release v33
or
git clone https://github.com/MythTV/packaging.git # if you want the Master or "v34"
cd packaging/deb
./build-debs.sh fixes/33
or
./build-debs.sh master
I build a virtual machine with KVM/QEMU of Debian 12 on one of my workstations. And since my VM environment uses a network bridge all my VMs are on my home LAN along with all my Mythtv FE/BEs.
My MythTV production backend in on a PC in a closet and it's on 24/7 and acts as my home CIFS/SMB Network Attached Storage (NAS). So I put my Debian 12 mythtv repo on that system.
On that MythTV backend/NAS I created a directory /usr/share/my_mythtv_repo and gave it my user, "jim", ownership with rw permisions. My user is named "jim" on all my systems to simplify things.
I created a shell script called create-packages-list.sh in the /home/jim directory of my Mythtv backend/NAS that will be run remotely by my Debian 12 package builder VM system.
Code: Select all
#! /bin/bash
#
#create-packages-list.sh
#
# This script is put in /home/jim on kubuntu-closet.local and is run by copy-debs.sh on a remote system
#
cd /usr/share/my_mythtv_repo
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
#
Code: Select all
#! /bin/bash
#
# This script is run after the VM builds the debian packages for mythtv per the wiki
#
cd /home/jim/build/packaging/deb/
#
ssh jim@kubuntu-closet.local "rm /usr/share/my_mythtv_repo/*"
scp ./*.deb jim@kubuntu-closet.local:/usr/share/my_mythtv_repo/
scp ./*.dsc jim@kubuntu-closet.local:/usr/share/my_mythtv_repo/
scp ./*.changes jim@kubuntu-closet.local:/usr/share/my_mythtv_repo/
ssh jim@kubuntu-closet.local ./create-packages-list.sh
#
Code: Select all
cd
./copy-deb.sh
Code: Select all
sudo apt install mythtv #or
sudo apt install mythtv-frontend
Code: Select all
sudo apt update && sudo apt upgrade -y
Code: Select all
/etc/apache2/conf-available/my_mythtv_repo.conf
Code: Select all
# conf file for sharing Debian packages
Alias /my_mythtv_repo /usr/share/my_mythtv_repo
<Directory /usr/share/my_mythtv_repo>
Options +Indexes
AllowOverride None
Require all granted
</Directory>
Code: Select all
sudo a2enconf my_mythtv_repo
sudo systemctl reload apache2.service
Code: Select all
http://<server_ip>/my_mythtv_repo/
Create a file called
Code: Select all
/etc/apt/sources.list.d/my_mythtv_repo.list
Code: Select all
# Local build of mythtv, in /usr/share/my_mythtv_repo
# See https://help.ubuntu.com/community/Repositories/Personal
deb [trusted=yes] http://<NAS ip address>/my_mythtv_repo ./
So on any Debian 12 system you can either install or update mythtv by
Code: Select all
sudo apt update
sudo apt install mythtv # or
sudo apt install mythtv-frontend # etc.
Code: Select all
sudo apt update && sudo apt upgrade -y
NOTE. I found it necessary when rebuilding the packages with a newer version to cleanup and start over as far as the /home/jim/build directory.
I just
Code: Select all
cd ~/build
rm -rf packages
git clone https://github.com/MythTV/packaging.git -b fixes/33 # if you want the current release v33
or
git clone https://github.com/MythTV/packaging.git # if you want the Master or "v34"
cd packaging/deb
./build-debs.sh fixes/33
or
./build-debs.sh master
cd
./copy-debs.sh
Code: Select all
https://github.com/MikeB2013/pi-utils