Code Monkey home page Code Monkey logo

packaging's Introduction

build Coverity scan GitHub issues GitHub pull requests GitHub top language

Welcome to MythTV

packaging's People

Contributors

amejia1 avatar arobro avatar beirdo avatar bennettpeter avatar daviey avatar dblain avatar dekarl avatar ex-nerd avatar hobbes1069 avatar jhoyt4 avatar jyavenard avatar kormoc avatar linuxdude42 avatar marct avatar mark-kendall avatar mikeb2013 avatar mjlocat avatar mspieth avatar nigelpearson avatar paul-h avatar pdecat avatar peper03 avatar rcrdnalor avatar rhpot1991 avatar rkulagowski avatar simoniremonger avatar stuarta avatar superm1 avatar tgm4883 avatar wagnerrp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

packaging's Issues

Inore .clazy file when building from source

Building using ./build-debs.sh master fails on mythtv master due to file .clazy
Note file .clazy does not exist in previous version e.g. fixes/31

Excerpt from local build log:

dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building mythtv using existing ./mythtv_32.0~master.20210924.f605061d60.orig.tar.gz
dpkg-source: info: local changes detected, the modified files are:
 mythtv/.clazy

It is still unclear to me, why the official build recipe on launchpad passes.
On local build, it doesn't.

Patch:

diff --git a/deb/debian/source/options b/deb/debian/source/options
index 7863630..cb67cfd 100644
--- a/deb/debian/source/options
+++ b/deb/debian/source/options
@@ -1 +1 @@
-extend-diff-ignore=.github|.dockerignore|.clang-tidy
+extend-diff-ignore=.github|.dockerignore|.clang-tidy|.clazy

Attached patch adds .clazy to packaging/deb/debian/source/options

ignore_file_clazy_when_building_from_source.zip

Configuring deb-light on arm64 fails

Hardware: Raspberry Pi 4
OS: Raspberry Pi OS 64 bit

Currently trying to package deb-light on fixes/33 fails with the following:

 ../../packaging/deb-light/build_package.sh
Build shortname=ba4mtvf3 longname=bullseye-arm64/mythtv/fixes-33
Set cache size limit to 10.0 GB
Unset cache file limit
Removing config.ep
+ ./configure --prefix=/usr --enable-libmp3lame --disable-vdpau --enable-opengl --disable-vaapi --cpu=cortex-a7 --arch=armv7 --extra-cflags=-mfpu=neon --extra-cxxflags=-mfpu=neon
+ tee -a /home/user/source-builds/mythtv/mythtv/../config_mythtv.out
ERROR: CPU specific ./configure options failed compile test
       Removing CPU specific compilation options. (-mcpu=cortex-a7)

gcc is unable to create an executable file.
Check your ECFLAGS: []
If gcc is a cross-compiler, use the --enable-cross-compile option.
Only do this if you know what cross compiling means.
C compiler test failed.

If you think configure made a mistake, make sure that you are using the latest
version of MythTV from git.  If the latest version fails, report the problem to the
[email protected] mailing list or IRC #mythtv on irc.libera.chat
Include the log file "config.ep" produced by configure as this will help
solve the problem.
+ set -
Completed configure
Set cache size limit to 10.0 GB
Unset cache file limit
projdir=mythtv
Makefile:35: *** run configure to create config.mak.  Stop.
Log File:
/home/user/source-builds/mythtv/mythtv/../build_mythtv.out

ERROR ERROR Build Failed rc = 2 on Sun 05 Feb 2023 01:46:05 PM CET

The problematic part is --cpu=cortex-a7 --arch=armv7 --extra-cflags=-mfpu=neon --extra-cxxflags=-mfpu=neon because it's clearly for 32-bit arm hardware (there is no -mfpu on arm64/aarch64).

The issue introduced with #130 by changing the arch command to the $arch variable.
The $arch variable is initialized in setccache.source with dpkg-architecture -q DEB_TARGET_ARCH.

The arch command returns aarch64 on 64-bit arm hardware, but the dpkg-architecture -q DEB_TARGET_ARCH returns arm64 so the [[ $arch == arm* ]] condition in config.sh evaluates to true on 64-bit hardware, therefore it appends the wrong config options and the compiler check fails.

As a solution, we can ignore arm64 in the condition or introduce another set of options tuned towards arm64 (or anything else)

Building fixes/32 packages for Debian 10 or 11 fails to clone from GitHub

ant@ripley:/build32$ git clone https://github.com/MythTV/packaging.git -b fixes/32
Cloning into 'packaging'...
remote: Enumerating objects: 15473, done.
remote: Counting objects: 100% (600/600), done.
remote: Compressing objects: 100% (205/205), done.
remote: Total 15473 (delta 388), reused 535 (delta 358), pack-reused 14873
Receiving objects: 100% (15473/15473), 6.02 MiB | 5.70 MiB/s, done.
Resolving deltas: 100% (8265/8265), done.
ant@ripley:
/build32$ cd packaging/deb
ant@ripley:~/build32/packaging/deb$ ./build-debs.sh fixes/32
Building for fixes, v0.32 in /home/ant/build32/packaging/deb
Packaging changes between 2020-02-08 and 2022-10-19:
#checkout mythtv
if [ -d .git ]; then
git fetch ;
git checkout fixes/32 || git checkout master;
git pull --rebase;
git clean -f -d -X -e Mythbuntu/ -e mythplugins/mythweb/;
else
git clone git://github.com/MythTV/mythtv.git tmp ;
mv tmp/.[!.]* tmp/* . ;
rm -rf tmp ;
git checkout fixes/32 || git checkout master;
fi
Cloning into 'tmp'...
fatal: unable to connect to github.com:
github.com[0: 140.82.121.3]: errno=Connection timed out

mv: cannot stat 'tmp/.[!.]': No such file or directory
mv: cannot stat 'tmp/
': No such file or directory
Already on 'fixes/32'
Your branch is up to date with 'origin/fixes/32'.
#checkout mythweb
if [ -d mythplugins/mythweb/.git ]; then
cd mythplugins/mythweb;
git fetch ;
git checkout fixes/32 || git checkout master;
git pull --rebase ;
git clean -f -d -X;
else
mkdir -p mythplugins/mythweb ;
git clone git://github.com/MythTV/mythweb.git tmp ;
mv tmp/.[!.]* tmp/* mythplugins/mythweb ;
rm -rf tmp ;
cd mythplugins/mythweb ;
git checkout fixes/32 || git checkout master;
fi
Cloning into 'tmp'...
^Cmake: *** [debian/mythtv.make:61: get-git-source] Interrupt

It fails for all subsequent aspects too.

Works fine for "master", but I want fixes/32.

Thanks
:)

Update OSX build script to specify database / use specify building master on the master branch

The OSX compile script needs some minor formatting updates, a version correction on the master branch, and new logic specifying the database version to base the port install and build off of.

Updates were necessary to both v31 and master to specify the database version used to install support ports and build the application. An associated pull request will be opened for the ansible playbook shortly.

The pull request for v31 compile script is here: #82
The pull request for v32 compile script is here: #81

BUG: Use of uninitialised variable in build-debs.sh

The deb/build-debs.sh script checks who is running the script on line 115 and sets a variable called root depending on what it finds:

if [ "$(id -ru)" -ne 0 ]; then
	if have sudo; then
		root=sudo
	else
		die "Need to be root or have sudo installed"
	fi
fi

However, if one runs the script as user root to begin with, the root variable is not initialised. This can lead to an unbound variable error later on (line 232) when the script attempts to install dependencies:

case "$BASE" in
build-dsc.sh)
    DEBUILD_FLAGS="-S --no-check-builddeps $DEBUILD_FLAGS"
	;;
build-deb.sh|*)
    #test and install deps as necessary
    if ! dpkg-checkbuilddeps 1>/dev/null 2>&1; then
		echo "Missing build dependencies for mythtv, will install them now:"
		$root apt-get build-dep . || die "error installing dependencies"
    fi
	;;
esac

The script will output something like this:

Missing build dependencies for mythtv, will install them now:
./build-debs.sh: line 232: root: unbound variable

The issue can be fixed with something like this:

if [ "$(id -ru)" -ne 0 ]; then
	if have sudo; then
		root=sudo
	else
		die "Need to be root or have sudo installed"
	fi
else
        root=
fi

Chromecast with Google TV

I'm not able try try compiling my own APK. I've been trying to get the publicly available pre-compiled APKs to work on my Chromecast with Google TV. Every APK I could find fails to authenticate with the backend database. The Mythtv mailing list thinks this may be because the APKs were compiled using an out of date version of the MySQL client library.

Does anyone have an APK that they know works on Chromecast with Google TV that they would be willing to share?

fixes/31 fails to build on Ubuntu hirsute

fixes/31 is failing to build in the mythubuntu PPA on Ubuntu hirsute due to missing dependencies on libdts-dev and dh-systemd:
https://code.launchpad.net/~mythbuntu/+archive/ubuntu/31/+recipebuild/2778907

These were transitional packages that were removed. dh-systemd is provided by the version of debhelper that the package already depends on. The libdts-dev dependency looks like it was there for FFmpeg, but FFmpeg doesn't use it anymore.

Can someone backport these commits from the master branch with remove those obsolete packaging dependencies:
aeb50fd
b18454b

Debian Bullseye removes libcrystalhd-dev package

Debian Bullseye has removed the libcrystalhd-dev package. This is a Build-Depend for this package.

Given this is only a dependency for i386 and amd64 architectures, seems like it might be optional and based on what's discussed in the bug linked above, may have never actually worked in Debian. Not sure about Ubuntu or other Debian based distros. Going to try removing this Build-Depend and see what happens. If it works for me, I'll submit a PR for this.

android

Not sure how to do the whole pull request and make the patches myself, so I'll just detail the few changes I see that I feel need to be made.

In the first paragraph the link to the Docker solution is bad it should be https://github.com/MythTV/packaging/tree/master/android/docker

I suggest that before the 2 git clone statements that the user should go to their github.com account and create ssh keys per the documentation at https://docs.github.com/en/authentication/connecting-to-github-with-ssh

After the 2 git clone statements it needs to be mentioned that the user needs to cd into each of the mythtv and packaging directories under workdir and git checkout fixes/32 or whatever version they want.

At the end of Step 1. I think you need to add the 2 statements that will be required in the building process later:

git config --global user.name "John Doe"
git config --global user.email [email protected]

I got stuck a lot in Step 2. In bullet 1, I think it needs to be:
In Android Studio, choose More Action / SDK Manager
in the next 2 bullets of Step 2, I think it needs to be very specific as to the steps. I found that Android is not very forgiving when building mythfrontend. I had to select Android 8 (Oreo) API 26, Build-tools 29.03, NDK 21.2.7075529, CMake.

On the part about about release keys more information would be useful. I didn't do anything about keys and I did get an error about no key provided [ignored]. I had to run the statement again but eventually I got the apk file uploaded to the FireTV.

Step 3 is missing 2 dependencies:
libtool
autopoint

Fails on make libs at libbluray-1.1.2

Attempting to build the android client, 0.33. It fails on building libbluray-1.1.2 without giving a meaningful hint (that I can see).

libtool: compile: /home/sgreene/Android/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang -DHAVE_CONFIG_H -I. -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200809L -D_REENTRANT -I./src -I./src/libbluray -I./src/libbluray -I/home/sgreene/MythAndroid/packaging/android/libs/libbluray-1.1.2/jni -I/home/sgreene/MythAndroid/packaging/android/libs/libbluray-1.1.2/jni/linux -I./contrib/libudfread/src/ -I/home/sgreene/MythAndroid/packaging/android/libsinstall/include/libxml2 -I/home/sgreene/MythAndroid/packaging/android/libsinstall/include/freetype2 -std=c99 -isysroot /home/sgreene/Android/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot -isystem /home/sgreene/MythAndroid/packaging/android/libsinstall/include -D__ANDROID_API__=29 -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wcast-qual -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wshadow -Werror=implicit-function-declaration -Wextra -Winline -O3 -fomit-frame-pointer -MT contrib/libudfread/src/libbluray_la-udfread.lo -MD -MP -MF contrib/libudfread/src/.deps/libbluray_la-udfread.Tpo -c contrib/libudfread/src/udfread.c -o contrib/libudfread/src/libbluray_la-udfread.o >/dev/null 2>&1
mv -f src/libbluray/hdmv/.deps/libbluray_la-hdmv_vm.Tpo src/libbluray/hdmv/.deps/libbluray_la-hdmv_vm.Plo
mv -f src/libbluray/decoders/.deps/libbluray_la-graphics_controller.Tpo src/libbluray/decoders/.deps/libbluray_la-graphics_controller.Plo
mv -f contrib/libudfread/src/.deps/libbluray_la-udfread.Tpo contrib/libudfread/src/.deps/libbluray_la-udfread.Plo
mv -f src/libbluray/.deps/libbluray_la-bluray.Tpo src/libbluray/.deps/libbluray_la-bluray.Plo
make[2]: Leaving directory '/home/sgreene/MythAndroid/packaging/android/libs/libbluray-1.1.2'
make[1]: *** [Makefile:1032: all] Error 2
make[1]: Leaving directory '/home/sgreene/MythAndroid/packaging/android/libs/libbluray-1.1.2'
~/MythAndroid/packaging/android/libs ~/MythAndroid/packaging/android
make: *** [Makefile:53: libs] Error 2

Ubuntu ppa fixes/31 compiles without optimizations

copied from MythTV/mythtv#406

  • Platform: Xubuntu 21.04
    Linux htpc 5.11.0-38-generic #42-Ubuntu SMP Fri Sep 24 14:03:54 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

  • MythTV version: fixes/31

  • Package version: mythbuntu ppa

  • Component: configure

What steps will reproduce the bug?

look at DWARF debugging info, note no -O flag
readelf -wi <binary> | grep DW_AT_producer
for example /usr/lib/debug/.build-id/18/b... (without the grep, this appears to be libmythtv)

How often does it reproduce? Is there a required condition? always

What is the expected behaviour?

Optimization flag is set for C++ code is compiled with optimizations: -O2, maybe -O3, definitely at least -O1.

NB: CFLAGS includes -O3

What do you see instead?

No -O flag is set, so gcc uses its default of -O0, no optimizations are performed.

Additional information

with ./configure --extra-cxxflags=-O1 note -O1 now in CXXFLAGS

Audio issues with mythfrontend on Android version

I have a FireTV 4K Max plugged into a UHD 4K TV. I was trying to track down why the video playback would not maintain the correct frame rate or play with audio correctly. In discussions on the mailing list I discovered that having 5.1 enabled or even stereo with any of the Digital Capabilities checked caused the video to playback erratically, particularly after trying to skip using the arrow buttons.

What works is setting it to Stereo and uncheck all the Digital Capabilities. With even the first Dolby Digital box checked will cause this failure.

This is more of an issue on the Firetv 4K Max than the older non-Max. That's odd since the Max is slightly faster.

I use a profile that is Android MediaCodec with decode all in Hardware. It works great when in stereo but fails badly otherwise. Unfortunately, in stereo a lot of background noise filters thru and becomes more prominent in Stereo. Advance Audio read-ahead is setup to the default 100.

For deb-light are fixes/nn branches relevant

I was noticing on a recent build of deb-light for v33 on a raspberry pi that when I checkout the packaging repository that if I use branch fixes/33 the build fails. If I just use master, it works.

So the question is, should packaging always stay on master? The file in question was the config.sh which has been edited in mater to accommodate using Raspberry Pi OS 64 bit without the need for a ~/.buildrc file

Debian: Re-enable build of MythNetVision

This patch is for reference only.
Ubuntu decided years ago to disable the build of MythNetVision.
In case one decides to re-enable it, the following patch enables
the build of MythNetVision on Ubuntu again.
It does not package this plugin, though.

The patch needs the package python3-pip and the removal of the
package python3-distutils, which is done in python3.12, anyway.
It only works on Ubuntu 22.04+ because of missing functionality
prior to python 3.10.

It needs MythTV#437
to be solved beforehand.

diff --git a/deb/debian/rules b/deb/debian/rules
index ba79718e..37a6f073 100755
--- a/deb/debian/rules
+++ b/deb/debian/rules
@@ -119,11 +119,11 @@ override_dh_auto_install:
 	$(MAKE) -C mythtv install INSTALL_ROOT=$(CURDIR)/debian/tmp
 
 	#mythplugins
-	cd mythplugins && ./configure $(MYTHPLUGINS_CONFIGURE_OPTS) --mythroot=$(CURDIR)/debian/tmp:$(CURDIR)/debian/libmyth-python
+	cd mythplugins && DEB_PYTHON_INSTALL_LAYOUT=deb_system ./configure $(MYTHPLUGINS_CONFIGURE_OPTS) --mythroot=$(CURDIR)/debian/tmp:$(CURDIR)/debian/libmyth-python
 	$(MAKE) -j$(PROCESSORS) -C mythplugins
 	for plugin in mytharchive \
 	mythgame mythmusic mythnews \
-	mythweather mythzoneminder mythbrowser ; do \
+	mythweather mythzoneminder mythbrowser mythnetvision ; do \
 		$(MAKE) -C mythplugins/$$plugin install INSTALL_ROOT=$(CURDIR)/debian/$$plugin; \
 	done

Attached packaging_deb_mythnetvision.zip

Build fails with "ERROR: cannot find taglib 1.11.1 or later (found 1.11.1)." on Debian 11

On Debian 11 (i386) the build fails in the configure phase because configure complains that the right taglib version is not installed:

ERROR: cannot find taglib 1.11.1 or later (found 1.11.1).

I don't know what the root cause is. (Maybe it is another case issue that only happens when run as non-root user - I need to recompile and check the log file next time).

Workaround: once the configure file has been created - and before the tar archive is created, comment out lines 5871 to 5874:


  # if test $taglib_version -lt 1011001 || \
    #        ! check_class_headers_cpp "taglib/fileref.h stdlib.h" TagLib::FileRef $tagincludes $taglibs -lstdc++; then
     #   die "ERROR: cannot find taglib 1.11.1 or later (found $taglib_verstring)."
  #  fi

linux-kernel-headers renamed to linux-headers-* in Debian Bullseye

The Linux kernel headers build dependency has been renamed from linux-kernel-headers to linux-headers-* in Debian Bullseye. Looks like it's a simple matter to let this use linux-kernel-headers and fall back on linux-headers-generic if that doesn't exist in the build-deps. Working on a PR for this. Opening this issue for tracking purposes mostly

Building on Debian fails due to git:// URLs if user has not set up GitHub credentials

On a clean Debian 11 (i386 in my case), build-debs.sh fails to actually build the v32 packages if no GitHub SSH keys are set up on the build computer because GitHub disabled unauthenticated git:// access in 2021. The relevant output is:

#checkout mythtv
if [ -d .git ]; then \
        git fetch ;\
        git checkout fixes/32 || git checkout master;\
        git pull --rebase; \
        git clean -f -d -X -e Mythbuntu/ -e mythplugins/mythweb/;\
else \
        git clone git://github.com/MythTV/mythtv.git tmp ;\
        mv tmp/.[!.]* tmp/* . ;\
        rm -rf tmp ;\
        git checkout fixes/32 || git checkout master;\
fi
Cloning into 'tmp'...
fatal: remote error:
  The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
mv: cannot stat 'tmp/.[!.]*': No such file or directory
mv: cannot stat 'tmp/*': No such file or directory

Changing all git:// URLs to https:// URLs in mythtv.make makes git clone the repo without errors.

Building APK always tries to use build-tools 28.0.3

In a clean environment with build-tools 29.0.2, building the APK always tries to pull in build-tools 28.0.3.
With the Docker container as currently checked in, this is very noticeable as the build fails due to insufficient permissions. In a "normal" environment, this would probably pass unnoticed unless someone was checking the logs the first time the build ran.

The dependency appears to be coming from qtbase/src/android/templates/build.gradle in qt-everywhere-src-5.14.1.

If always using 28.0.3 with different SDKs is OK, the Android readme should perhaps be updated (it currently recommends installing 29.0.2).
If the build-tools version needs to match the SDK used, possibly the version in build.gradle needs to be patched in makelibs.sh

Build fails with "ERROR: zlib not found" if run as non-root user

On Debian 11 (i386), if I execute export root=sudo, and run the build process as non-root user, it fails during the configure phase with

ERROR: zlib not found

Actually, zlib is installed correctly. The log file gives a hint:

ccache: error: Failed to create directory /run/user/0/ccache-tmp: Permission denied
ERROR: zlib not found

If I run the build process as root, the error does not happen.

Android- SDK number mismatches

Currently setenv.sh in android/android-utilities directory has an if statement that if it finds more than 1 Sdk build-tools in that directory forces a exported variable to the sdk build-tools version 29.0.2. However the new readme instructs installing 29.0.3.

This becomes a problem because on a fresh system the make SDK=21 MODE=arm or arm64 apk causes the build-tools 28.0.3 to be installed. So there are now 2 sets of tools in that directory. On the next run of any make for the apk it will fail because it has some apps looking in the wrong directory because the setenv.sh failed the if statement and set the variable to 29.0.2.

The quick and dirty fix that I've tested is to just change in setenv.sh the number from 29.0.2 to 29.0.3.

Not sure what the extra build-tool set is getting installed.

Remove version.sh dependency on debian version

Currently version.sh will take the source version from the debian build. If this does not match, it will fail with

make[1]: *** [Makefile:42: libs/libmythbase/version.h] Error 2

The android build should be independent of any other build.

Debian: Remove not needed python dependencies

Remove dependencies to python3-simplejson and python3-future.
Since MythTV/4b5eac8, python-future is not needed anymore.
Since MythTV/af345e2, python-simplejson is not needed anymore.
This belongs to mythtv master (v35-pre) and fixes/34.
Furthermore, the provided python3-future package (v 0.18.2)
is not compatible to python3.12 used in Ubuntu Noble and
causes a lot of install warnings.
See
https://launchpad.net/ubuntu/+source/python-future/+bugs
https://bugs.launchpad.net/ubuntu/+source/python-future/+bug/2051564

Deb-Light: Python Path Calculation for MythTV Bindings

For unprivileged users, Debian changed the way of defining the
location when installing a python module:
In python 3.10, it changed the "posix_prefix" scheme which defaults now to
"$HOME/lib/python3.10/site-packages" instead of "/usr/lib/python3.8/dist-packages"
This is used in

export PYTHONPATH=`ls -d $basedir/local/lib/python*/dist-packages`

and in
export PYTHONPATH=`ls -d $basedir/local/lib/python*/dist-packages`

Ubuntu 20.04, based on python3.8 shows:

$ python3 -m sysconfig
Platform: "linux-x86_64"
Python version: "3.8"
Current installation scheme: "posix_prefix"

Paths:
        data = "/usr"
        include = "/usr/include/python3.8"
        platinclude = "/usr/include/python3.8"
        platlib = "/usr/lib/python3.8/site-packages"
        platstdlib = "/usr/lib/python3.8"
        purelib = "/usr/lib/python3.8/site-packages"
        scripts = "/usr/bin"
        stdlib = "/usr/lib/python3.8"

Ubuntu 22.04, based on python 3.10 shows:

local-admin@coretest:~$ python3 -m sysconfig
Platform: "linux-x86_64"
Python version: "3.10"
Current installation scheme: "posix_prefix"

Paths: 
	data = "/home/local-admin"
	include = "/usr/include/python3.10"
	platinclude = "/usr/include/python3.10"
	platlib = "/home/local-admin/lib/python3.10/site-packages"
	platstdlib = "/home/local-admin/lib/python3.10"
	purelib = "/home/local-admin/lib/python3.10/site-packages"
	scripts = "/home/local-admin/bin"
	stdlib = "/usr/lib/python3.10"        

MythTVs Python bindings are of type "purelib", thus the following
code can be used to determine the correct path:

#!/bin/bash

python_bindings_path=`python3 -m sysconfig | grep "purelib" | cut -d \" -f2`
echo $python_bindings_path

which results on Ubuntu 22.04 with python 3.10 (as user 'local-admin') to

/home/local-admin/lib/python3.10/site-packages

As a consequence, calling python scripts or fetching metadata does not work when using
test.sh running MythTVs frontend or backend.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.