]> git.ipfire.org Git - people/ms/ipfire-2.x.git/commitdiff
python3-pyelftools: add new package
authorArne Fitzenreiter <arne_f@ipfire.org>
Sat, 28 Dec 2024 08:51:45 +0000 (08:51 +0000)
committerArne Fitzenreiter <arne_f@ipfire.org>
Sat, 28 Dec 2024 08:53:47 +0000 (08:53 +0000)
this is a buildtime dependency for u-boot but i have
also added the files to build an addon. Maybee it is
usefull later.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
config/rootfiles/packages/python3-pyelftools [new file with mode: 0644]
lfs/python3-pyelftools [new file with mode: 0644]
make.sh

diff --git a/config/rootfiles/packages/python3-pyelftools b/config/rootfiles/packages/python3-pyelftools
new file mode 100644 (file)
index 0000000..d2c7abd
--- /dev/null
@@ -0,0 +1,66 @@
+usr/bin/readelf.py
+#usr/lib/python3.10/site-packages/elftools
+usr/lib/python3.10/site-packages/elftools/__init__.py
+#usr/lib/python3.10/site-packages/elftools/common
+usr/lib/python3.10/site-packages/elftools/common/__init__.py
+usr/lib/python3.10/site-packages/elftools/common/construct_utils.py
+usr/lib/python3.10/site-packages/elftools/common/exceptions.py
+usr/lib/python3.10/site-packages/elftools/common/utils.py
+#usr/lib/python3.10/site-packages/elftools/construct
+usr/lib/python3.10/site-packages/elftools/construct/__init__.py
+usr/lib/python3.10/site-packages/elftools/construct/adapters.py
+usr/lib/python3.10/site-packages/elftools/construct/core.py
+usr/lib/python3.10/site-packages/elftools/construct/debug.py
+#usr/lib/python3.10/site-packages/elftools/construct/lib
+usr/lib/python3.10/site-packages/elftools/construct/lib/__init__.py
+usr/lib/python3.10/site-packages/elftools/construct/lib/binary.py
+usr/lib/python3.10/site-packages/elftools/construct/lib/bitstream.py
+usr/lib/python3.10/site-packages/elftools/construct/lib/container.py
+usr/lib/python3.10/site-packages/elftools/construct/lib/hex.py
+usr/lib/python3.10/site-packages/elftools/construct/lib/py3compat.py
+usr/lib/python3.10/site-packages/elftools/construct/macros.py
+#usr/lib/python3.10/site-packages/elftools/dwarf
+usr/lib/python3.10/site-packages/elftools/dwarf/__init__.py
+usr/lib/python3.10/site-packages/elftools/dwarf/abbrevtable.py
+usr/lib/python3.10/site-packages/elftools/dwarf/aranges.py
+usr/lib/python3.10/site-packages/elftools/dwarf/callframe.py
+usr/lib/python3.10/site-packages/elftools/dwarf/compileunit.py
+usr/lib/python3.10/site-packages/elftools/dwarf/constants.py
+usr/lib/python3.10/site-packages/elftools/dwarf/datatype_cpp.py
+usr/lib/python3.10/site-packages/elftools/dwarf/descriptions.py
+usr/lib/python3.10/site-packages/elftools/dwarf/die.py
+usr/lib/python3.10/site-packages/elftools/dwarf/dwarf_expr.py
+usr/lib/python3.10/site-packages/elftools/dwarf/dwarf_util.py
+usr/lib/python3.10/site-packages/elftools/dwarf/dwarfinfo.py
+usr/lib/python3.10/site-packages/elftools/dwarf/enums.py
+usr/lib/python3.10/site-packages/elftools/dwarf/lineprogram.py
+usr/lib/python3.10/site-packages/elftools/dwarf/locationlists.py
+usr/lib/python3.10/site-packages/elftools/dwarf/namelut.py
+usr/lib/python3.10/site-packages/elftools/dwarf/ranges.py
+usr/lib/python3.10/site-packages/elftools/dwarf/structs.py
+#usr/lib/python3.10/site-packages/elftools/ehabi
+usr/lib/python3.10/site-packages/elftools/ehabi/__init__.py
+usr/lib/python3.10/site-packages/elftools/ehabi/constants.py
+usr/lib/python3.10/site-packages/elftools/ehabi/decoder.py
+usr/lib/python3.10/site-packages/elftools/ehabi/ehabiinfo.py
+usr/lib/python3.10/site-packages/elftools/ehabi/structs.py
+#usr/lib/python3.10/site-packages/elftools/elf
+usr/lib/python3.10/site-packages/elftools/elf/__init__.py
+usr/lib/python3.10/site-packages/elftools/elf/constants.py
+usr/lib/python3.10/site-packages/elftools/elf/descriptions.py
+usr/lib/python3.10/site-packages/elftools/elf/dynamic.py
+usr/lib/python3.10/site-packages/elftools/elf/elffile.py
+usr/lib/python3.10/site-packages/elftools/elf/enums.py
+usr/lib/python3.10/site-packages/elftools/elf/gnuversions.py
+usr/lib/python3.10/site-packages/elftools/elf/hash.py
+usr/lib/python3.10/site-packages/elftools/elf/notes.py
+usr/lib/python3.10/site-packages/elftools/elf/relocation.py
+usr/lib/python3.10/site-packages/elftools/elf/sections.py
+usr/lib/python3.10/site-packages/elftools/elf/segments.py
+usr/lib/python3.10/site-packages/elftools/elf/structs.py
+usr/lib/python3.10/site-packages/elftools/py.typed
+#usr/lib/python3.10/site-packages/pyelftools-0.31-py3.10.egg-info
+#usr/lib/python3.10/site-packages/pyelftools-0.31-py3.10.egg-info/PKG-INFO
+#usr/lib/python3.10/site-packages/pyelftools-0.31-py3.10.egg-info/SOURCES.txt
+#usr/lib/python3.10/site-packages/pyelftools-0.31-py3.10.egg-info/dependency_links.txt
+#usr/lib/python3.10/site-packages/pyelftools-0.31-py3.10.egg-info/top_level.txt
diff --git a/lfs/python3-pyelftools b/lfs/python3-pyelftools
new file mode 100644 (file)
index 0000000..1c50427
--- /dev/null
@@ -0,0 +1,86 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2024  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# 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        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 0.31
+SUMMARY    = Python3 library to parse elf and dwar binaries
+
+THISAPP    = pyelftools-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = python3-pyelftools
+PAK_VER    = 1
+
+DEPS       = 
+
+SERVICES   =
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 9e5a1e0a7b9292b30db7331e18c5c800f84eb087b58b266f3f23a7c9c5e7ea655f913788495e1df04e79c9f0a82789cad58ee2dcd8a0afb17e696d4c58679f33
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+       @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && python3 setup.py build
+       cd $(DIR_APP) && python3 setup.py install --root=/
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/make.sh b/make.sh
index a14f714d62edc3107c84fce577794f23a50add48..41bb1ea9345573a7a45a4b10cf589bbcfbce0d06 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -1929,6 +1929,7 @@ build_system() {
        lfsmake2 ddrescue
        lfsmake2 parted
        lfsmake2 swig
+       lfsmake2 python3-pyelftools
        lfsmake2 u-boot
        lfsmake2 wireless-regdb
        lfsmake2 ddns