diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000000000000000000000000000000000000..807e92916d684a08b3d781c017e802f149f3b67d --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,6 @@ +recursive-include abicheck/conf * +recursive-include 3rdparty * + +include man/* +include LICENSE +include README.md diff --git a/src/Makefile b/src/Makefile index 7b87d4cfcd5b701e797abf8683ccfb0af1880bbc..b812117e72c595debc26d5553829b84e781d4010 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,31 +1,24 @@ prefix ?= /usr modules = abicheck -cmd = abi-info-check-online +cmd = abi-info-check modules_dir = $(DESTDIR)$(prefix)/share/$(modules) bin_dir = $(DESTDIR)$(prefix)/bin -man1_dir = $(DESTDIR)$(prefix)/share/man/man1 -.PHONY: install uninstall +.PHONY: install uninstall build + +build: + $(HOME)/.local/bin/pyinstaller -F -n $(cmd) main.py install: mkdir -p $(modules_dir) cp -r conf $(modules_dir)/ - - python3 ./$(cmd).py -v - mkdir -p $(man1_dir) - mkdir -p $(man1_dir) - install -m 644 ${cmd}.1 $(man1_dir)/ - - $(HOME)/.local/bin/pyinstaller -F $(cmd).py - install -m 755 dist/$(cmd) $(bin_dir)/ + mkdir -p $(bin_dir) + install -m 755 dist/$(cmd) $(bin_dir)/$(cmd) uninstall: rm -f $(bin_dir)/$(cmd) - rm -f $(man1_dir)/$(cmd).1* rm -rf $(modules_dir) clean: rm -rf build/ dist/ __pycache__/ -build: - $(HOME)/.local/bin/pyinstaller -F $(cmd).py diff --git a/uos-abi-check.spec b/uos-abi-check.spec index 00ba76966775b519e554ca0d00ab009357d9a373..88baf2409ee9cb02ff1383da31303b46fe3ce0a2 100644 --- a/uos-abi-check.spec +++ b/uos-abi-check.spec @@ -1,75 +1,92 @@ %global debug_package %{nil} -Name: uos-abi-check -Version: 1.0 -Release: 2 -Summary: a tool for checking backward binary compatibility of a C/C++ software library -License: LGPLv2.1 + +Name: abi-info-check +Version: 1.2 +Release: 1 +Summary: A tool for checking backward binary compatibility of a C/C++ software library +License: GPL2 URL: https://github.com/deepinlinux Source0: %{name}-%{version}.tar.gz BuildRequires: python3 -Requires: perl-Data-Dumper -Requires: perl-Getopt-Long -Requires: gcc -Requires: gcc-c++ -Requires: python3-distro -Requires: python3-pandas +BuildRequires: python3-pip +BuildRequires: python3-distro +BuildRequires: python3-pandas +BuildRequires: python3-dnf +BuildRequires: python3-pexpect +BuildRequires: python3-six +BuildRequires: zlib-devel + +Requires: python3 +Requires: python3-pip +Requires: python3-distro +Requires: python3-pandas +Requires: python3-dnf +Requires: python3-pexpect +Requires: python3-six +Requires: zlib-devel -%description -a tool for checking backward binary compatibility of a C/C++ software library. - -%package -n abi-info-collect -Summary: collect abi info -Requires: python3 -Requires: elfutils Requires: perl-Data-Dumper Requires: perl-Getopt-Long Requires: gcc Requires: gcc-c++ +Requires: dnf-plugins-core +Requires: elfutils +Requires: graphviz +Requires: ImageMagick -%description -n abi-info-collect -a tool for collecting backward binary compatibility of a C/C++ software library. - +%description +A tool for checking backward binary compatibility of a C/C++ software library. %prep %autosetup %build -python3 -O -m compileall -b src +pushd 3rdparty/pyinstaller-4.3 +pushd bootloader +python3 ./waf all +popd +pip3 install -r requirements.txt +python3 setup.py install --user +popd + +pushd abicheck +%make_build +popd + +python3 setup.py build_manpage %install -mkdir -p %{buildroot}/usr/bin/ -mkdir -p %{buildroot}/usr/libexec -pushd abi-compliance-checker-2.4 +pushd abicheck %make_install popd -pushd abi-dumper-2.1 +mkdir -p %{buildroot}%{_mandir}/man1/ +install man/%{name}.1 %{buildroot}%{_mandir}/man1/ + +pushd 3rdparty/abi-compliance-checker-2.4 %make_install popd -# collect module install -install -m 755 src/abi-info-collect.py %{buildroot}/usr/bin/abi-info-collect -install -m 755 src/abi-info-collect.pyc %{buildroot}/usr/libexec/abi-info-collect - -# check module install -mkdir -p %{buildroot}/usr/share/uos-abi-check -install -m 755 src/abi-info-check.pyc %{buildroot}/usr/libexec/abi-info-check -install -m 755 uos-abi-check %{buildroot}/usr/bin/uos-abi-check +pushd 3rdparty/abi-dumper-2.1 +%make_install +popd %files -%{_libexecdir}/abi-info-check -%{_bindir}/uos-abi-check +%license LICENSE %{_bindir}/abi-dumper %{_bindir}/abi-compliance-checker %{_datadir}/abi-compliance-checker/ +%{_bindir}/abi-info-check +%{_datadir}/abicheck/conf/ +%{_mandir}/man1/abi-info-check.1* +%changelog +* Wed Jul 28 2021 guoqinglan - 1.2-1 +- Add library dependency graph tab +- Add package dependency graph tab -%files -n abi-info-collect -%{_libexecdir}/abi-info-collect -%{_bindir}/abi-info-collect -%{_bindir}/abi-dumper -%{_bindir}/abi-compliance-checker -%{_datadir}/abi-compliance-checker/ \ No newline at end of file +* Tue Jun 29 2021 guoqinglan - 1.1-2 +- Fix the problem that glibc cannot be analyzed correctly