From b36b5c209b3ac5ffdf32fb4da56be35c219d3b28 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Thu, 24 Apr 2025 08:58:30 +0300 Subject: [PATCH 1/7] Initial import bz#2361639 --- .gitignore | 1 + clean.sh | 10 +++ python-androguard.spec | 136 +++++++++++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 148 insertions(+) create mode 100644 .gitignore create mode 100644 clean.sh create mode 100644 python-androguard.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..efde38b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/androguard-3.4.0a1-clean.tar.gz diff --git a/clean.sh b/clean.sh new file mode 100644 index 0000000..d0e16d6 --- /dev/null +++ b/clean.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# Run the script and enter the version as the first command line argument +version=${1} +wget https://github.com/androguard/androguard/archive/v${version}/androguard-v${version}.tar.gz +tar -xf androguard-v${version}.tar.gz +# remove test and exaqmple +rm -r androguard-${version}/tests/ +rm -r androguard-${version}/examples/ +tar -cf androguard-${version}-clean.tar androguard-${version} +gzip androguard-${version}-clean.tar diff --git a/python-androguard.spec b/python-androguard.spec new file mode 100644 index 0000000..512dca6 --- /dev/null +++ b/python-androguard.spec @@ -0,0 +1,136 @@ +%bcond_without bootstrap + +Name: python-androguard +# Newer versions require Frida which is not yet packaged. +# Currently the main dependency is fdroidserver which uses +# this version +Version: 3.4.0a1 +Release: %autorelease +Summary: Reverse engineering and pentesting for Android applications + +License: Apache-2.0 +URL: https://github.com/androguard/androguard +# The source release contains binaries with unknown licenses and malware +#OriginalSource: %%{url}/archive/v%%{version}/androguard-%%{version}.tar.gz +Source0: androguard-%{version}-clean.tar.gz +# script to remov binaries from source code +Source1: clean.sh + +BuildArch: noarch +BuildRequires: python3-devel +%if %{without bootstrap} +# Documentation +BuildRequires: help2man +BuildRequires: make +BuildRequires: texinfo +BuildRequires: python3dist(androguard) +BuildRequires: python3dist(docutils) +BuildRequires: python3dist(sphinx) +BuildRequires: python3-sphinx_rtd_theme +BuildRequires: python3-sphinxcontrib-programoutput +%endif +# Import check +BuildRequires: python3-pyperclip +BuildRequires: python3-qt5 + +%global _description %{expand: +Androguard is a full python tool to play with Android files. +- DEX, ODEX +- APK +- Android's binary xml +- Android resources +- Disassemble DEX/ODEX bytecodes +- Basic Decompiler for DEX/ODEX files +- Frida support for easy dynamic analysis +- SQLite database to save the session} + +%description %_description + +%package -n python3-androguard +Summary: %{summary} + +%description -n python3-androguard %_description + + +%prep +%autosetup -p1 -n androguard-%{version} + + +%generate_buildrequires +%pyproject_buildrequires + + +%build +%pyproject_wheel +%if %{without bootstrap} +help2man --version-string='%{version}' --no-discard-stderr --no-info --name='%{summary}' --output=androapkid.1 androapkid +help2man --version-string='%{version}' --no-discard-stderr --no-info --name='%{summary}' --output=androarsc.1 androarsc +help2man --version-string='%{version}' --no-discard-stderr --no-info --name='%{summary}' --output=androaxml.1 androaxml +help2man --version-string='%{version}' --no-discard-stderr --no-info --name='%{summary}' --output=androcg.1 androcg +help2man --version-string='%{version}' --no-discard-stderr --no-info --name='%{summary}' --output=androdd.1 androdd +help2man --version-string='%{version}' --no-discard-stderr --no-info --name='%{summary}' --output=androdis.1 androdis +help2man --version-string='%{version}' --no-discard-stderr --no-info --name='%{summary}' --output=androguard.1 androguard +help2man --version-string='%{version}' --no-discard-stderr --no-info --name='%{summary}' --output=androlyze.1 androlyze +help2man --version-string='%{version}' --no-discard-stderr --no-info --name='%{summary}' --output=androsign.1 androsign + +pushd docs +make texinfo +pushd build +pushd texinfo +makeinfo --docbook Androguard.texi +popd +popd +popd +%endif + +%install +%pyproject_install +%pyproject_save_files -l androguard + +%if %{without bootstrap} +mkdir -p %{buildroot}%{_mandir}/man1 +install -m644 androapkid.1 %{buildroot}%{_mandir}/man1/ +install -m644 androarsc.1 %{buildroot}%{_mandir}/man1/ +install -m644 androaxml.1 %{buildroot}%{_mandir}/man1/ +install -m644 androcg.1 %{buildroot}%{_mandir}/man1/ +install -m644 androdd.1 %{buildroot}%{_mandir}/man1/ +install -m644 androdis.1 %{buildroot}%{_mandir}/man1/ +install -m644 androguard.1 %{buildroot}%{_mandir}/man1/ +install -m644 androlyze.1 %{buildroot}%{_mandir}/man1/ +install -m644 androsign.1 %{buildroot}%{_mandir}/man1/ + +mkdir -p %{buildroot}%{_datadir}/help/en/Androguard +install -m644 docs/build/texinfo/Androguard.xml %{buildroot}%{_datadir}/help/en/Androguard +cp -p -r docs/build/texinfo/Androguard-figures %{buildroot}%{_datadir}/help/en/Androguard/ +%endif + +%check +%pyproject_check_import + +%files -n python3-androguard -f %{pyproject_files} +%{_bindir}/androapkid +%{_bindir}/androarsc +%{_bindir}/androaxml +%{_bindir}/androcg +%{_bindir}/androdd +%{_bindir}/androdis +%{_bindir}/androguard +%{_bindir}/androgui +%{_bindir}/androlyze +%{_bindir}/androsign +%if %{without bootstrap} +%{_mandir}/man1/androapkid.1* +%{_mandir}/man1/androarsc.1* +%{_mandir}/man1/androaxml.1* +%{_mandir}/man1/androcg.1* +%{_mandir}/man1/androdd.1* +%{_mandir}/man1/androdis.1* +%{_mandir}/man1/androguard.1* +%{_mandir}/man1/androlyze.1* +%{_mandir}/man1/androsign.1* +%dir %{_datadir}/help/en +%lang(en) %{_datadir}/help/en/Androguard +%endif + +%changelog +%autochangelog diff --git a/sources b/sources new file mode 100644 index 0000000..72ba418 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (androguard-3.4.0a1-clean.tar.gz) = 2fb1254323998c8feec8705d2dabeacf868ce57bce478038c290a3553ca6e00b6ad8a06e35145189aeb97b8d4928d640209a12c1501cc75690f1e64e5f7d1c09 From 3899b8c05929a2d6492e8aa1051edca9c06bf0fe Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Thu, 24 Apr 2025 09:22:25 +0300 Subject: [PATCH 2/7] Disable bootstrap --- python-androguard.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-androguard.spec b/python-androguard.spec index 512dca6..c9269fa 100644 --- a/python-androguard.spec +++ b/python-androguard.spec @@ -1,4 +1,4 @@ -%bcond_without bootstrap +%bcond_with bootstrap Name: python-androguard # Newer versions require Frida which is not yet packaged. From b6d5dc84c7d0a63eb64314465d8c1e2f48ff3baa Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 3 Jun 2025 20:10:42 +0200 Subject: [PATCH 3/7] Bootstrap for Python 3.14 --- python-androguard.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/python-androguard.spec b/python-androguard.spec index c9269fa..65de886 100644 --- a/python-androguard.spec +++ b/python-androguard.spec @@ -1,3 +1,4 @@ +%global _with_bootstrap 1 %bcond_with bootstrap Name: python-androguard From aac5811c84ca48eac108b88a8ee53edc8cefcad6 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 4 Jun 2025 13:32:12 +0200 Subject: [PATCH 4/7] Rebuilt for Python 3.14 --- python-androguard.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/python-androguard.spec b/python-androguard.spec index 65de886..c9269fa 100644 --- a/python-androguard.spec +++ b/python-androguard.spec @@ -1,4 +1,3 @@ -%global _with_bootstrap 1 %bcond_with bootstrap Name: python-androguard From 05b3a5cf929bc67f63d12db696f94cf5a2af52bd Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 06:39:00 +0000 Subject: [PATCH 5/7] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 63d55b32de565d0a01086585e8d39230b94edccb Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 13:13:17 +0200 Subject: [PATCH 6/7] Rebuilt for Python 3.14.0rc2 bytecode From 4e113774efb458034af54a2d0c059dc3035039eb Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 12:44:12 +0200 Subject: [PATCH 7/7] Rebuilt for Python 3.14.0rc3 bytecode