From c5c8cb404e430f33af8607453e2c2452301109b9 Mon Sep 17 00:00:00 2001 From: jbleyel Date: Fri, 12 Jan 2024 17:21:30 +0100 Subject: [PATCH] update 7.4 --- Dockerfile | 114 ++++++++++------- ax_python_devel.m4 | 305 +++++++++++++++++++++++++++++++-------------- enigma.info | 73 ++++++----- test.png | Bin 0 -> 35875 bytes test_front.png | Bin 0 -> 17218 bytes 5 files changed, 317 insertions(+), 175 deletions(-) create mode 100644 test.png create mode 100644 test_front.png diff --git a/Dockerfile b/Dockerfile index 8e6cead..3790761 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,29 +13,50 @@ RUN add-apt-repository ppa:deadsnakes/ppa -y # build requirements RUN apt-get update && apt-get install -y \ git g++-12 build-essential autoconf autotools-dev gettext libtool libtool-bin unzip swig \ - python3.11-dev \ - python3-pip python3-twisted python3-usb python3-requests \ + python3.12-dev \ + python3-twisted python3-usb python3-requests \ libz-dev libssl-dev \ libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libsigc++-2.0-dev \ libfreetype6-dev libfribidi-dev \ libavahi-client-dev libjpeg-dev libgif-dev libsdl2-dev libxml2-dev \ libarchive-dev libcurl4-openssl-dev libgpgme11-dev libntirpc-dev \ - x11vnc xvfb xdotool nginx openssh-server curl vsftpd nano locales iputils-ping net-tools gdb valgrind + x11vnc xvfb xdotool nginx openssh-server curl vsftpd nano locales iputils-ping net-tools gdb valgrind libsqlite3-dev + RUN locale-gen en_US.UTF-8 ENV LANG en_US.UTF-8 ENV LC_ALL en_US.UTF-8 -RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 1 \ - && update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 -RUN rm /usr/bin/python3 && ln -sf /usr/bin/python3.11 /usr/bin/python3 -RUN rm /usr/bin/pygettext3 && ln -sf /usr/bin/pygettext3.11 /usr/bin/pygettext3 -RUN rm /usr/bin/pydoc3 && ln -sf /usr/bin/pydoc3.11 /usr/bin/pydoc3 -RUN rm /usr/bin/python3-config && ln -sf /usr/bin/python3.11-config /usr/bin/python3-config +RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.12 1 + +RUN wget https://bootstrap.pypa.io/get-pip.py +RUN python get-pip.py + +RUN find / -name 'pip*' + +RUN update-alternatives --install /usr/bin/pip pip /usr/local/bin/pip3.12 1 + +RUN rm /usr/bin/python3 && ln -sf /usr/bin/python3.12 /usr/bin/python3 +RUN rm /usr/bin/pygettext3 && ln -sf /usr/bin/pygettext3.12 /usr/bin/pygettext3 +RUN rm /usr/bin/pydoc3 && ln -sf /usr/bin/pydoc3.12 /usr/bin/pydoc3 +#RUN rm /usr/bin/python3-config && ln -sf /usr/bin/python3.12-config /usr/bin/python3-config +#RUN rm /usr/bin/python3-config && ln -sf /usr/local/bin/pip3.12 /usr/bin/pip3 -RUN pip3 install wifi Cheetah3 pillow treq future -RUN pip3 install netifaces cffi puremagic +#RUN pip3 install --upgrade pip +RUN pip3 install setuptools + +RUN pip3 install wifi +RUN pip3 install Cheetah3 +RUN pip3 install pillow +RUN pip3 install treq +RUN pip3 install future +RUN pip3 install netifaces +RUN pip3 install cffi +RUN pip3 install puremagic +RUN pip3 install tmdbsimple +RUN pip3 install tvdbsimple +#RUN pip3 install sqlite #RUN pip3 install scalene WORKDIR /work @@ -53,6 +74,7 @@ RUN cd tuxtxt/libtuxtxt \ && CPP="gcc -E -P" ./configure --with-boxtype=generic --prefix=/usr \ && make \ && make install + RUN cd tuxtxt/tuxtxt \ && autoreconf -i \ && CPP="gcc -E -P" ./configure --with-boxtype=generic --prefix=/usr \ @@ -70,25 +92,22 @@ RUN cd "opkg-$OPKG_VER" \ RUN git clone --depth 1 https://github.com/openatv/enigma2.git RUN cd enigma2 \ - && ./autogen.sh \ - && ./configure --with-libsdl --with-gstversion=1.0 --prefix=/usr --sysconfdir=/etc \ - && make -j4 \ - && make install -# disable startup wizards -COPY enigma2-settings /etc/enigma2/settings + && ./autogen.sh \ + && ./configure --with-libsdl --with-gstversion=1.0 --prefix=/usr --sysconfdir=/etc --with-boxtype=dm920 \ + && make -j4 \ + && make install RUN ldconfig RUN git clone --depth 10 https://github.com/oe-mirrors/branding-module.git COPY ax_python_devel.m4 branding-module/m4/ax_python_devel.m4 RUN cd branding-module \ && autoreconf -i \ - && ./configure --prefix=/usr --with-imageversion="7.1" \ + && ./configure --prefix=/usr --with-imageversion="7.4" \ && make \ && make install RUN git clone --depth 1 https://github.com/openatv/MetrixHD.git -b master RUN cd MetrixHD && cp -arv usr / -# && rm -r /usr/lib/enigma2/python/Plugins/Extensions/MyMetrixLite #default skin RUN git clone --depth 1 https://github.com/openatv/oe-alliance-e2-skindefault.git @@ -98,31 +117,36 @@ RUN cd oe-alliance-e2-skindefault && cp -arv fonts /usr/share/ && cp -arv skin_d RUN git clone --depth 1 https://github.com/IanSav/OverlayHD.git RUN cd OverlayHD && cp -arv usr / +RUN git clone --depth 1 https://github.com/openatv/WeatherInfo.git +RUN cd WeatherInfo && cp Weatherinfo.py /usr/lib/enigma2/python/Tools/ + # rpc error RUN cp /usr/include/tirpc/rpc/* /usr/include/rpc/ RUN cp /usr/include/tirpc/netconfig.h /usr/include/ # oe-alliance-plugins -#RUN git clone --depth 1 https://github.com/oe-alliance/oe-alliance-plugins.git -#COPY Makefile-oe-alliance-plugins.am oe-alliance-plugins/Makefile.am -#RUN cd oe-alliance-plugins \ -# && autoreconf -i \ -# && ./configure --prefix=/usr \ -# && make \ -# && make install +RUN git clone --depth 1 https://github.com/oe-alliance/oe-alliance-plugins.git +COPY Makefile-oe-alliance-plugins.am oe-alliance-plugins/Makefile.am +COPY ax_python_devel.m4 enigma2-plugins/m4/ax_python_devel.m4 +RUN cd oe-alliance-plugins \ + && autoreconf -i \ + && ./configure --prefix=/usr \ + && make \ + && make install # enigma2-plugins -#RUN git clone --depth 1 https://github.com/oe-alliance/enigma2-plugins.git -#COPY Makefile-enigma2-plugins.am enigma2-plugins/Makefile.am -#RUN cd enigma2-plugins \ -# && sed -i '/PKG_CHECK_MODULES(ENIGMA2, enigma2)/d' ./configure.ac \ -# && sed -i '/PKG_CHECK_MODULES(LIBCRYPTO, libcrypto)/d' ./configure.ac \ -# && autoreconf -i \ -# && ./configure --prefix=/usr --without-debug --with-po \ -# && make \ -# && make install +RUN git clone --depth 1 https://github.com/oe-alliance/enigma2-plugins.git +COPY Makefile-enigma2-plugins.am enigma2-plugins/Makefile.am +COPY ax_python_devel.m4 enigma2-plugins/m4/ax_python_devel.m4 +RUN cd enigma2-plugins \ + && sed -i '/PKG_CHECK_MODULES(ENIGMA2, enigma2)/d' ./configure.ac \ + && sed -i '/PKG_CHECK_MODULES(LIBCRYPTO, libcrypto)/d' ./configure.ac \ + && autoreconf -i \ + && ./configure --prefix=/usr --without-debug --with-po \ + && make \ + && make install # OWI RUN git clone --depth 1 https://github.com/oe-alliance/OpenWebif.git @@ -133,17 +157,16 @@ RUN cd OpenWebif \ -#RUN git clone --depth 1 https://github.com/oe-mirrors/e2openplugin-EnhancedMovieCenter.git -#RUN cd e2openplugin-EnhancedMovieCenter \ -# && autoreconf -i \ -# && ./configure --prefix=/usr \ -# && make \ -# && make install - +RUN git clone --depth 1 https://github.com/oe-mirrors/e2openplugin-EnhancedMovieCenter.git +RUN cd e2openplugin-EnhancedMovieCenter \ + && autoreconf -i \ + && ./configure --prefix=/usr \ + && make \ + && make install COPY enigma.info /usr/lib/enigma.info -COPY process.py /usr/lib/python3.10/site-packages/process.py +COPY process.py /usr/lib/python3.12/site-packages/process.py # OPKG @@ -154,7 +177,7 @@ RUN echo "option status_file /var/lib/opkg/status" >> /etc/opkg/opkg.conf RUN echo "arch all 1" > /etc/opkg/arch.conf RUN echo "arch any 6" >> /etc/opkg/arch.conf RUN echo "arch noarch 11" >> /etc/opkg/arch.conf -RUN echo "src/gz openatv-all http://feeds2.mynonpublic.com/7.1/vusolo4k/all" >> /etc/opkg/all-feed.conf +RUN echo "src/gz openatv-all http://feeds2.mynonpublic.com/7.4/vusolo4k/all" >> /etc/opkg/all-feed.conf RUN echo "src/gz oe-alliance-settings-feed https://raw.githubusercontent.com/oe-alliance/oe-alliance-settings-feed/master/feed" >> /etc/opkg/oe-alliance-settings-feed.conf COPY opkg.py /work/opkg.py @@ -179,6 +202,9 @@ COPY vsftpd.conf /etc/ RUN mkdir -p /var/run/vsftpd/empty RUN sed -i '/root/d' /etc/ftpusers +RUN mkdir -p /usr/share/enigma2/receiver +COPY test.png /usr/share/enigma2/receiver +COPY test_front.png /usr/share/enigma2/receiver COPY entrypoint.sh /opt RUN chmod 755 /opt/entrypoint.sh ENV DISPLAY=:99 diff --git a/ax_python_devel.m4 b/ax_python_devel.m4 index 54dceae..70bb8ed 100644 --- a/ax_python_devel.m4 +++ b/ax_python_devel.m4 @@ -4,7 +4,7 @@ # # SYNOPSIS # -# AX_PYTHON_DEVEL([version]) +# AX_PYTHON_DEVEL([version[,optional]]) # # DESCRIPTION # @@ -23,6 +23,11 @@ # version number. Don't use "PYTHON_VERSION" for this: that environment # variable is declared as precious and thus reserved for the end-user. # +# By default this will fail if it does not detect a development version of +# python. If you want it to continue, set optional to true, like +# AX_PYTHON_DEVEL([], [true]). The ax_python_devel_found variable will be +# "no" if it fails. +# # This macro should work for all versions of Python >= 2.1.0. As an end # user, you can disable the check for the python version by setting the # PYTHON_NOVERSIONCHECK environment variable to something else than the @@ -67,10 +72,18 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 22 +#serial 36 AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL]) AC_DEFUN([AX_PYTHON_DEVEL],[ + # Get whether it's optional + if test -z "$2"; then + ax_python_devel_optional=false + else + ax_python_devel_optional=$2 + fi + ax_python_devel_found=yes + # # Allow the use of a (user set) custom python version # @@ -81,21 +94,26 @@ AC_DEFUN([AX_PYTHON_DEVEL],[ AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]]) if test -z "$PYTHON"; then - AC_MSG_ERROR([Cannot find python$PYTHON_VERSION in your system path]) + AC_MSG_WARN([Cannot find python$PYTHON_VERSION in your system path]) + if ! $ax_python_devel_optional; then + AC_MSG_ERROR([Giving up, python development not available]) + fi + ax_python_devel_found=no PYTHON_VERSION="" fi - # - # Check for a version of Python >= 2.1.0 - # - AC_MSG_CHECKING([for a version of Python >= '2.1.0']) - ac_supports_python_ver=`$PYTHON -c "import sys; \ + if test $ax_python_devel_found = yes; then + # + # Check for a version of Python >= 2.1.0 + # + AC_MSG_CHECKING([for a version of Python >= '2.1.0']) + ac_supports_python_ver=`$PYTHON -c "import sys; \ ver = sys.version.split ()[[0]]; \ print (ver >= '2.1.0')"` - if test "$ac_supports_python_ver" != "True"; then + if test "$ac_supports_python_ver" != "True"; then if test -z "$PYTHON_NOVERSIONCHECK"; then AC_MSG_RESULT([no]) - AC_MSG_FAILURE([ + AC_MSG_WARN([ This version of the AC@&t@_PYTHON_DEVEL macro doesn't work properly with versions of Python before 2.1.0. You may need to re-run configure, setting the @@ -104,43 +122,80 @@ PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand. Moreover, to disable this check, set PYTHON_NOVERSIONCHECK to something else than an empty string. ]) + if ! $ax_python_devel_optional; then + AC_MSG_FAILURE([Giving up]) + fi + ax_python_devel_found=no + PYTHON_VERSION="" else AC_MSG_RESULT([skip at user request]) fi - else + else AC_MSG_RESULT([yes]) + fi fi - # - # if the macro parameter ``version'' is set, honour it - # - if test -n "$1"; then + if test $ax_python_devel_found = yes; then + # + # If the macro parameter ``version'' is set, honour it. + # A Python shim class, VPy, is used to implement correct version comparisons via + # string expressions, since e.g. a naive textual ">= 2.7.3" won't work for + # Python 2.7.10 (the ".1" being evaluated as less than ".3"). + # + if test -n "$1"; then AC_MSG_CHECKING([for a version of Python $1]) - ac_supports_python_ver=`$PYTHON -c "import sys; \ - ver = sys.version.split ()[[0]]; \ + cat << EOF > ax_python_devel_vpy.py +class VPy: + def vtup(self, s): + return tuple(map(int, s.strip().replace("rc", ".").split("."))) + def __init__(self): + import sys + self.vpy = tuple(sys.version_info)[[:3]] + def __eq__(self, s): + return self.vpy == self.vtup(s) + def __ne__(self, s): + return self.vpy != self.vtup(s) + def __lt__(self, s): + return self.vpy < self.vtup(s) + def __gt__(self, s): + return self.vpy > self.vtup(s) + def __le__(self, s): + return self.vpy <= self.vtup(s) + def __ge__(self, s): + return self.vpy >= self.vtup(s) +EOF + ac_supports_python_ver=`$PYTHON -c "import ax_python_devel_vpy; \ + ver = ax_python_devel_vpy.VPy(); \ print (ver $1)"` + rm -rf ax_python_devel_vpy*.py* __pycache__/ax_python_devel_vpy*.py* if test "$ac_supports_python_ver" = "True"; then - AC_MSG_RESULT([yes]) + AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) - AC_MSG_ERROR([this package requires Python $1. + AC_MSG_WARN([this package requires Python $1. If you have it installed, but it isn't the default Python interpreter in your system path, please pass the PYTHON_VERSION variable to configure. See ``configure --help'' for reference. ]) + if ! $ax_python_devel_optional; then + AC_MSG_ERROR([Giving up]) + fi + ax_python_devel_found=no PYTHON_VERSION="" fi + fi fi - # - # Check if you have distutils, else fail - # - AC_MSG_CHECKING([for the sysconfig Python package]) - ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1` - if test $? -eq 0; then + if test $ax_python_devel_found = yes; then + # + # Check if you have distutils, else fail + # + AC_MSG_CHECKING([for the sysconfig Python package]) + ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1` + if test $? -eq 0; then AC_MSG_RESULT([yes]) IMPORT_SYSCONFIG="import sysconfig" - else + else AC_MSG_RESULT([no]) AC_MSG_CHECKING([for the distutils Python package]) @@ -149,18 +204,24 @@ variable to configure. See ``configure --help'' for reference. AC_MSG_RESULT([yes]) IMPORT_SYSCONFIG="from distutils import sysconfig" else - AC_MSG_ERROR([cannot import Python module "distutils". + AC_MSG_WARN([cannot import Python module "distutils". Please check your Python installation. The error was: $ac_sysconfig_result]) + if ! $ax_python_devel_optional; then + AC_MSG_ERROR([Giving up]) + fi + ax_python_devel_found=no PYTHON_VERSION="" fi + fi fi - # - # Check for Python include path - # - AC_MSG_CHECKING([for Python include path]) - if test -z "$PYTHON_CPPFLAGS"; then + if test $ax_python_devel_found = yes; then + # + # Check for Python include path + # + AC_MSG_CHECKING([for Python include path]) + if test -z "$PYTHON_CPPFLAGS"; then if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then # sysconfig module has different functions python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \ @@ -182,15 +243,15 @@ $ac_sysconfig_result]) fi fi PYTHON_CPPFLAGS=$python_path - fi - AC_MSG_RESULT([$PYTHON_CPPFLAGS]) - AC_SUBST([PYTHON_CPPFLAGS]) + fi + AC_MSG_RESULT([$PYTHON_CPPFLAGS]) + AC_SUBST([PYTHON_CPPFLAGS]) - # - # Check for Python library path - # - AC_MSG_CHECKING([for Python library path]) - if test -z "$PYTHON_LIBS"; then + # + # Check for Python library path + # + AC_MSG_CHECKING([for Python library path]) + if test -z "$PYTHON_LIBS"; then # (makes two attempts to ensure we've got a version number # from the interpreter) ac_python_version=`cat<]], [[Py_Initialize();]]) ],[pythonexists=yes],[pythonexists=no]) - AC_LANG_POP([C]) - # turn back to default flags - CPPFLAGS="$ac_save_CPPFLAGS" - LIBS="$ac_save_LIBS" - LDFLAGS="$ac_save_LDFLAGS" + AC_LANG_POP([C]) + # turn back to default flags + CPPFLAGS="$ac_save_CPPFLAGS" + LIBS="$ac_save_LIBS" + LDFLAGS="$ac_save_LDFLAGS" - AC_MSG_RESULT([$pythonexists]) + AC_MSG_RESULT([$pythonexists]) - if test ! "x$pythonexists" = "xyes"; then - AC_MSG_FAILURE([ + if test ! "x$pythonexists" = "xyes"; then + AC_MSG_WARN([ Could not link test program to Python. Maybe the main Python library has been installed in some non-standard library path. If so, pass it to configure, via the LIBS environment variable. @@ -341,8 +453,13 @@ EOD` You probably have to install the development version of the Python package for your distribution. The exact name of this package varies among them. ============================================================================ - ]) - PYTHON_VERSION="" + ]) + if ! $ax_python_devel_optional; then + AC_MSG_ERROR([Giving up]) + fi + ax_python_devel_found=no + PYTHON_VERSION="" + fi fi # diff --git a/enigma.info b/enigma.info index e7de966..732bc55 100644 --- a/enigma.info +++ b/enigma.info @@ -1,57 +1,56 @@ -architecture=cortexa15hf-neon-vfpv4 +architecture='cortexa15hf-neon-vfpv4' avjack=False -blindscanbinary=blindscan -brand=test +blindscanbinary='blindscan' +brand='test' ci=True -compiledate=20220504 +compiledate='20220504' dboxlcd=False -developername=openatv -displaybrand=Test -displaydistro=openATV -displaymodel=test +developername='openatv' +displaybrand='Test' +displaydistro='openATV' +displaymodel='test' displaytype= -distro=openatv +distro='openatv' dvi=False -feedsurl=http://feeds2.mynonpublic.com/7.1/test +feedsurl='http://feeds2.mynonpublic.com/7.1/test' fhdskin=True -forcemode=no -fpu=hard -friendlyfamily=test +fpu='hard' +friendlyfamily='test' hdmifhdin=False hdmihdin=False hdmi=True -imagebuild=20220504 -imagedevbuild=001 -imagedir=pulse4kmini -imagefs= abfastboot8gb -imagetype=release -imageversion=7.1 -imglanguage=multilang -imgrevision=20220504 -imgversion=7.1 -kernel=4.4.35 -kernelfile=uImage -machinebuild=test -mediaservice=servicehisilicon +imagebuild='20220504' +imagedevbuild='001' +imagedir='test' +imagefs='abfastboot8gb' +imagetype='release' +imageversion='7.4' +imglanguage='multilang' +imgrevision='20240101' +imgversion='7.4' +kernel='4.4.35' +kernelfile='uImage' +machinebuild='test' +mediaservice='servicehisilicon' middleflash=False mkubifs= -model=test -mtdbootfs=mmcblk0p4 -mtdkernel=mmcblk0p20 -mtdrootfs=mmcblk0p21 +model='test' +mtdbootfs='mmcblk0p4' +mtdkernel='mmcblk0p20' +mtdrootfs='mmcblk0p21' multilib=False multitranscoding=True -oe=OE-Alliance 5.1 -platform=test -python=3.9 +oe='OE-Alliance 5.4' +platform='test' +python='3.12' rca=False -rcidnum=2 -rcname=test +rcidnum='2' +rcname='test' rctype=30 -rootfile=rootfs.tar.bz2 +rootfile='rootfs.tar.bz2' scart=False smallflash=False -socfamily=hisi3798mv200 +socfamily='hisi3798mv200' svideo=False transcoding=False ubinize= diff --git a/test.png b/test.png new file mode 100644 index 0000000000000000000000000000000000000000..311e04f1748d4481292b2a1649d6f2d2d1d4150f GIT binary patch literal 35875 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

2}V#hD-zk-`)68o^($5&uZJ$2QmKYPUbv}g|% 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 literal 0 HcmV?d00001 diff --git a/test_front.png b/test_front.png new file mode 100644 index 0000000000000000000000000000000000000000..04f63ce8cf2e7016e26a752bc3332e71f60d58f0 GIT binary patch literal 17218 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 Vu`^&2A{hVx002ovPDHLkV1g