From f8f10fe35323d6ed75742dae7032888275aac72d6434957cb5667a0733bec0fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Mon, 9 Jun 2025 10:52:05 +0000 Subject: [PATCH] - Convert to libalternatives OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-macholib?expand=0&rev=23 --- .gitattributes | 23 +++++++++++ .gitignore | 1 + macholib-1.16.3.tar.gz | 3 ++ python-macholib.changes | 85 ++++++++++++++++++++++++++++++++++++++ python-macholib.spec | 90 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 202 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 macholib-1.16.3.tar.gz create mode 100644 python-macholib.changes create mode 100644 python-macholib.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/macholib-1.16.3.tar.gz b/macholib-1.16.3.tar.gz new file mode 100644 index 0000000..0d152f0 --- /dev/null +++ b/macholib-1.16.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07ae9e15e8e4cd9a788013d81f5908b3609aa76f9b1421bae9c4d7606ec86a30 +size 59309 diff --git a/python-macholib.changes b/python-macholib.changes new file mode 100644 index 0000000..c85fe52 --- /dev/null +++ b/python-macholib.changes @@ -0,0 +1,85 @@ +------------------------------------------------------------------- +Mon Jun 9 10:50:23 UTC 2025 - Markéta Machová + +- Convert to libalternatives + +------------------------------------------------------------------- +Mon Jun 2 08:06:47 UTC 2025 - Markéta Machová + +- Convert to pip-based build + +------------------------------------------------------------------- +Thu Dec 7 22:29:13 UTC 2023 - Dirk Müller + +- update to 1.16: + * Add ``allow_unknown_load_commands`` option to ``MachO`` and + ```macholib.MachOHeader``. + +------------------------------------------------------------------- +Sat Jun 10 09:35:16 UTC 2023 - ecsos + +- Add %{?sle15_python_module_pythons} + +------------------------------------------------------------------- +Fri Dec 2 20:27:21 UTC 2022 - Yogalakshmi Arunachalam + +- Update to version 1.16.1 + * Added some new CPU subtype definitions + +------------------------------------------------------------------- +Thu Sep 29 15:42:05 UTC 2022 - Yogalakshmi Arunachalam + +- version update to 1.16 + * Add allow_unknown_load_commands option to MachO and ```macholib.MachOHeader``. + +------------------------------------------------------------------- +Mon May 25 06:50:39 UTC 2020 - Petr Gajdos + +- %python3_only -> %python_alternative + +------------------------------------------------------------------- +Wed Apr 1 10:32:23 UTC 2020 - pgajdos@suse.com + +- version update to 1.14 + * Repository moved to GitHub + * #32: Update the LC_NAMES table + * #31: Add two new load commands introduced in macOS 10.15 + * #27: Missing describe method for build_version_command + +------------------------------------------------------------------- +Tue Dec 4 12:50:14 UTC 2018 - Matej Cepl + +- Remove superfluous devel dependency for noarch package + +------------------------------------------------------------------- +Fri Nov 16 19:06:28 UTC 2018 - Todd R + +- Update to 1.11 + * Add very hacky limited support for @loader_path. This is just + enough to deal with extensions and dylibs found in Python + binary wheels. +- Update to 1.10 + * #25: Add support for LC_NOTE and LC_BUILD_VERSION + +------------------------------------------------------------------- +Thu May 24 17:35:17 UTC 2018 - toddrme2178@gmail.com + +- Update to 1.9 + + Features: + * Add definition for ``macholib.mach_o.reloc_type_generic``, which + was used in code but never defined. + * #22: Add LICENSE file + * #23: Added "--help" option for "python -m macholib" + * Added function ``macholib.MachO.lc_str_value`` which should + help in decoding value of ``macholib.mach_o.lc_str``. Those + values are offsets in the data of a load command, the function + will return the actually value as a byte string. + + Bug fixes: + * Pull request #15: Fix typo in thread_command class +- Spec file cleanups +- Fix rpmlint issues + +------------------------------------------------------------------- +Thu Oct 19 00:50:50 UTC 2017 - toddrme2178@gmail.com + +- Initial version diff --git a/python-macholib.spec b/python-macholib.spec new file mode 100644 index 0000000..b5de3b3 --- /dev/null +++ b/python-macholib.spec @@ -0,0 +1,90 @@ +# +# spec file for package python-macholib +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%bcond_without libalternatives +%{?sle15_python_module_pythons} +Name: python-macholib +Version: 1.16.3 +Release: 0 +Summary: Mach-O header analysis and editing +License: MIT +Group: Development/Languages/Python +URL: https://github.com/ronaldoussoren/macholib/ +Source: https://files.pythonhosted.org/packages/source/m/macholib/macholib-%{version}.tar.gz +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: alts +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: alts +Requires: python-altgraph >= 0.15 +Requires: python-setuptools +BuildArch: noarch +# SECTION test requirements +BuildRequires: %{python_module altgraph >= 0.15} +BuildRequires: %{python_module pytest} +# /SECTION +%python_subpackages + +%description +macholib can be used to analyze and edit Mach-O headers, the executable +format used by Mac OS X. + +It's typically used as a dependency analysis tool, and also to rewrite dylib +references in Mach-O headers to be @executable_path relative. + +Though this tool targets a platform specific file format, it is pure python +code that is platform and endian independent. + +%prep +%setup -q -n macholib-%{version} +sed -i -e '/^#!\//, 1d' macholib/macho_dump.py +sed -i -e '/^#!\//, 1d' macholib/macho_find.py +sed -i -e '/^#!\//, 1d' macholib/macho_standalone.py + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_clone -a %{buildroot}%{_bindir}/macho_dump +%python_clone -a %{buildroot}%{_bindir}/macho_standalone +%python_clone -a %{buildroot}%{_bindir}/macho_find +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +# tests are too much platform specific (?) +rm macholib_tests/test_{command_line,dyld}.py +%pytest + +%pre +%python_libalternatives_reset_alternative macho_dump +%python_libalternatives_reset_alternative macho_standalone +%python_libalternatives_reset_alternative macho_find + +%files %{python_files} +%doc README.rst doc/*.rst +%license doc/license.rst +%python_alternative %{_bindir}/macho_find +%python_alternative %{_bindir}/macho_standalone +%python_alternative %{_bindir}/macho_dump +%{python_sitelib}/macholib +%{python_sitelib}/macholib-%{version}*-info + +%changelog