Summary: | app-forensics/afflib: Verify and potentially improve Python-related code | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Arfrever Frehtes Taifersar Arahesis (RETIRED) <arfrever> |
Component: | Current packages | Assignee: | Forensics Herd [disbanded] <forensics+obsolete> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | idella4 |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 308257 | ||
Attachments: |
ebuild patch
revised ebuild patch revised ebuild patch revised ebuild patch revised ebuild patch revised ebuild patch afflib-3.6.12-python-module.patch |
Description
Arfrever Frehtes Taifersar Arahesis (RETIRED)
2010-03-24 19:40:57 UTC
Created attachment 292627 [details, diff]
ebuild patch
(In reply to comment #1) This package fails to build with Python 3. Please don't attach untested patches. * QA Notice: Package triggers severe warnings which indicate that it * may exhibit random runtime failures. * pyaff.c:276:5: warning: dereferencing type-punned pointer will break strict-aliasing rules * Please do not file a Gentoo bug and instead report the above QA * issues directly to the upstream developers of this software. * Homepage: http://www.afflib.org/ * checking 29 files for package collisions >>> Merging app-forensics/afflib-3.6.8 to / * QA Notice: Static libraries have been found in Python site-packages * directories. Build system should be modified to not generate * these files and object files generated only for these files. * /usr/lib64/python2.7/site-packages/pyaff.a afflib 3.6.12 doesn't build with Python 3. afflib 3.6.8 builds with pythons 2 && 3 Created attachment 292835 [details, diff]
revised ebuild patch
(In reply to comment #4) PYTHON_DEPEND="python? 2" Changes in afflib-3.6.12.ebuild add 2 assignments to PYTHON_DEPEND. Please delete second assignment. pkg_setup() { if use python; then python_set_active_version 2 python_pkg_setup fi } Modify build system to not create "pyaff.a". Created attachment 292989 [details, diff] revised ebuild patch Modify build system to not create "pyaff.a". eeek. I had to knock out the prior patch to get this to work, which suggest the prior patch was flawed. * QA Notice: Package triggers severe warnings which indicate that it * may exhibit random runtime failures. * pyaff.c:276:5: warning: dereferencing type-punned pointer will break strict-alia gentoo64 afflib # USE=doc ebuild afflib-3.6.12.ebuild clean install >>> Completed installing afflib-3.6.12 into /mnt/gen2/tmpdir/portage/app-forensics/afflib-3.6.12/image/ strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment usr/lib64/libafflib.so.0.0.0 ecompressdir: bzip2 -9 /usr/share/doc ecompressdir: bzip2 -9 /usr/share/man Finally above no QA message; in BOTH. The 3.6.8 version * QA Notice: Unrecognized configure options: * * configure: WARNING: unrecognized options: --disable-libewf * configure: WARNING: unrecognized options: --disable-libewf (In reply to comment #6) This patch is identical to previous patch. Created attachment 293299 [details, diff]
revised ebuild patch
had to figure it all again, don't know how I missed saving the updated version, again
(In reply to comment #8) PYTHON_DEPEND="python? 2" Comment #3 mentions warning about pyaff.a in app-forensics/afflib-3.6.8. app-forensics/afflib-3.6.12 doesn't have this problem. Created attachment 293641 [details, diff]
revised ebuild patch
The portion
diff -ur /mnt/gen2/old-portage/app-forensics/afflib//files/afflib-3.6.12-python-module.patch ../afflib//files/afflib-3.6.12-python-module.patch
in the patch is likely superfluous.
files/pyaff.patch is appnded to the ebuild patch; 2 in 1
Arfever said
warning about pyaff.a in app-forensics/afflib-3.6.8.
app-forensics/afflib-3.6.12 doesn't have this problem.
I fixed it for both, don't you see. Didn't explain before. The afflib-3.6.12-python-module.patch for 3.6.12 I have commented out to achieve the fox, forget the datails now, but it also addressed pyaff/Makefile.am; it had to 'go'.
See the epatch "${FILESDIR}"/pyaff.patch is present in both; afflib-3.6.12 doesn't have this problem because the patch works on both. I don't wish to delete an existing patch from a current ebuild, so have commented it out.
How's that for value?
Created attachment 293653 [details, diff]
revised ebuild patch
changed systems via chroot, forgot change of local location for prior version,
bash: changed: command not found sorry for the noise
Fixed in CVS for 3.6.12. I had the changes done locally back when the version was added and was waiting for the python eclass to work with EAPI 4. I'm not applying fixes for 3.6.8 and in general if you're working on patches for these types of bugs you usually only need to fix the latest version. Thanks. roger, thanks Tim afflib-3.6.12-python-module.patch should add "-shared" also in pyaff_la_CFLAGS. It is possible to support installation for multiple Python ABIs. (In reply to comment #12) > Fixed in CVS for 3.6.12. You introduced the following warnings caused by autotools-utils_src_compile(): /var/tmp/portage/app-forensics/afflib-3.6.12/temp/environment: line 1029: pushd: /var/tmp/portage/app-forensics/afflib-3.6.12/work/afflib-3.6.12_build: No such file or directory ... /var/tmp/portage/app-forensics/afflib-3.6.12/temp/environment: line 1031: popd: directory stack empty (In reply to comment #14) > afflib-3.6.12-python-module.patch should add "-shared" also in pyaff_la_CFLAGS. That flag only applies to linking. > It is possible to support installation for multiple Python ABIs. Sure, but enabling that causes a failure with using python_set_active_version and I'd rather just build one version since only the python 2.* series is supported anyway. > You introduced the following warnings caused by autotools-utils_src_compile Fixed. Created attachment 293785 [details, diff] afflib-3.6.12-python-module.patch (In reply to comment #16) > (In reply to comment #14) > > afflib-3.6.12-python-module.patch should add "-shared" also in > > pyaff_la_CFLAGS. > > That flag only applies to linking. No. Read 'libtool --help --mode=compile'. Enable "static-libs" USE flag and you will notice that pyaff.c is compiled twice: - Into .libs/pyaff_la-pyaff.o (PIC version) - Into pyaff_la-pyaff.o (non-PIC version) Only .libs/pyaff_la-pyaff.o is later used. I'm attaching updated afflib-3.6.12-python-module.patch, which causes that pyaff.c is compiled only into .libs/pyaff_la-pyaff.o. (In reply to comment #14) > afflib-3.6.12-python-module.patch should add "-shared" also in pyaff_la_CFLAGS. Fixed. |