-
Documentation
-
User and developer discussion
- Forums
- Mailing lists
- IRC
- Users: ircs://irc.libera.chat:6697/mythtv-users (Libera.Chat, #mythtv-users)
- Developers: ircs://irc.libera.chat:6697/mythtv (Libera.Chat, #mythtv)
-
License
- MythTV is licensed under the GPLv2, see LICENSE for details
- This applies to all code unless otherwise stated in the source files or to code in an external/ directory
-
Contributions
- If you have patches for a new feature or a bug fix, please consider forking the project on
and creating a pull request.
- Please note: If you create a pull request, please take care to follow the Pull Request checklist.
- We only support code that is from the canonical MythTV repository at https://github.com/MythTV. For other forks of MythTV, please send bug reports to the owners of the fork where the code was committed.
- Open a new issue
- Create a pull request
- If you have patches for a new feature or a bug fix, please consider forking the project on
-
Development
packaging's Introduction
packaging's People
Forkers
dlknight siliconfiend jmartens simonckenyon jasonblewis maddentim ari saintdev hobbes1069 gorillaoncrack kmitche amejia1 toaster olti marct jwyllie83 thiakil iainlane gittigger sdrik jjiglesias mspieth tgm4883 superm1 paul-h simoniremonger wsuetholz teddythomas brendaar letifosiferrari istharbrihihs bdreisbach vendetta546 bennettpeter gentoouser faginbagin rtk4616 linuxdude42 dbadia charrus pmhahn mymatenige argilo osomon griggt peper03 ffretv robbadler rcrdnalor ulmus-scott mjlocat edenecke stoicthevast tofurky acediac dinoue jfabernathy crynale sithekay hearthminion mmaaxx500 mr-smidge arobro epworth icodeveloper jhoyt4packaging'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
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)
OSX: Update build scripts post fixes/32 branch cut
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/build32$ cd packaging/deb
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:
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?
OSX: macports_ansible script requires updating for the new ansible re-structuring
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.
OSX: Big Sur and ARM64 architectures will require code signing of the application bundle
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
Building armhf deb-light packages on aarch64 hosts fails
See the PR for details and the fix #130
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
Debian Build fails to apply patches
In fixes/32
, application of patches for Debian/Ubuntu builds fails. Issue appears to be at https://github.com/MythTV/packaging/blob/master/deb/debian/patches/default_directories#L26. In mythtv/mythtv
, the referenced file for that patch seems to have changed from
#ifdef Q_OS_MAC
to
#ifdef Q_OS_DARWIN
Testing a change for this now. Should fix the builds in master
too.
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
Line 36 in 79f50b9
and in
Line 93 in 79f50b9
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.