Bug 221698
Summary: | Review Request: compat-guile-16 - Guile 1.6 compatibility package | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Chitlesh GOORAH <chitlesh> |
Component: | Package Review | Assignee: | Mamoru TASAKA <mtasaka> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Package Reviews List <fedora-package-review> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | gemi, mtasaka |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2007-01-13 16:38:26 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 163779 | ||
Attachments: |
Description
Chitlesh GOORAH
2007-01-06 10:44:05 UTC
*** Bug 218367 has been marked as a duplicate of this bug. *** There is a bug on the geda suite due to the lack of compability with the guile 1.6 however I'm having troubles making it compatible with the actual fedora guile 1.8-devel package and at the same time I can't make libgeda compile properly with this compat-guile. http://tux.u-strasbg.fr/~chit/libgeda/ Why I posted here before solving the problem ? first I can't do myself, I need help. Secondly lots of geda users are complaining. Mamuro is your proposal still valid ? :) https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=218367#c7 Umm.. rather complicated spec file, however I will try. Created attachment 144975 [details]
compat-guile-16.spec I created
Well, I have not checked yet in detail if this package
meets packaging guildlines. I justed looked into how
this library are packaged and how rebuild of libgeda
fails.
Then:
--------------------------------------------
%{__mv} %{buildroot}%{_libdir}/libguile.so
%{buildroot}%{_libdir}/compat-libguile.so
--------------------------------------------
This line is actually wrong. When compilation of a
source file needs linkage for a library by "-lXXX",
this means that this compilation uses "libXXX.so".
So the file named "compat-"libXXX.so cannot be used.
Generally, a library for legacy compatibility should
be named as "libguile16.so", as you can see a example
in libpng10-devel (in FC5).
And.. also the use of directory named "/.../.../compat-XXX"
should be avoided because there is no guarantee that only
one version of compatibility-providing libraries are needed.
These types of directories should be named so that their names
clearly show the version, like "/usr/include/guile16" or
so.
Also, the name of rpm should show version explicitly
like libpng10 or compat-gcc-34.
I tried to create compat-guile-16.spec with my suggestions
applied.
---------------------------------------------
Note: I only checked compatibility and not checked
the accordance for packaging guidelines. I just noticed
that owning automake .m4 file means that -devel package
should need "Requires: automake".
Created attachment 144976 [details]
libgeda spec file using compat-guile-16
libgeda-20061020-2.1 spec file, which uses compat-guile-16.
As I changed the names in compat-guile-16 to /usr/include/guile16
or so, I also changed libgeda spec file accroding to them.
Also, I changed the use of sed so that sed should not
"touch" the files which are actually not changed.
Please check this spec file.
Created attachment 144977 [details]
Mock build log of compat-guile-16-1.6.7-3.1.fc7
Mockbuild log of compat-guile-16-1.6.7-3.1 on
FC-devel i386.
Created attachment 144978 [details]
Mock build log of libgeda-20061020-2.1.fc7
Mockbuild log of libgeda-20061020-2.1 on FC-devel
i386.
Created attachment 144979 [details]
Mock build log of libgeda-20061020-2.1.fc5
Mockbuild log of libgeda-20061020-2.1 on FC-5
i386.
Well, actually * Requires for libgeda-devel should be changed to ------------------------------------------- %if 0%{fedora} >= 6 Requires: compat-guile-16-devel %else Requires: guile-devel %endif ------------------------------------------- And.. I may have not noticed other issues to be fixed. Note: When to modify configure, modifying configure.ac is not necessary. ===================================================== * Check: For installation of libgeda compat-guile-16-devel: (for now installing libgeda-devel is eliminated because of my typo written above) ------------------------------------------------------------- [root@localhost ~]# yum --disablerepo=\*debug\* --disablerepo=\*dries\* --disablerepo=\*freshrpms\* -y install libgeda compat-guile-16-devel Loading "installonlyn" plugin Setting up Install Process Setting up repositories Reading repository metadata in from local files Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for libgeda to pack into transaction set. libgeda-20061020-2.1.fc7. 100% |=========================| 7.4 kB 00:00 ---> Package libgeda.i386 0:20061020-2.1.fc7 set to be updated ---> Downloading header for compat-guile-16-devel to pack into transaction set. compat-guile-16-devel-1.6 100% |=========================| 23 kB 00:00 ---> Package compat-guile-16-devel.i386 0:1.6.7-3.1.fc7 set to be updated --> Running transaction check --> Processing Dependency: libqthreads.so.12 for package: libgeda --> Processing Dependency: libguile-srfi-srfi-13-14-v-1.so.1 for package: compat-guile-16-devel --> Processing Dependency: compat-guile-16 = 1.6.7-3.1.fc7 for package: compat-guile-16-devel --> Processing Dependency: libguile.so.12 for package: libgeda --> Processing Dependency: libguile.so.12 for package: compat-guile-16-devel --> Processing Dependency: libguilereadline-v-12.so.12 for package: compat-guile-16-devel --> Processing Dependency: libguile-srfi-srfi-4-v-1.so.1 for package: compat-guile-16-devel --> Processing Dependency: /usr/bin/guile-1.6 for package: compat-guile-16-devel --> Processing Dependency: libguile-ltdl.so.1 for package: compat-guile-16-devel --> Processing Dependency: libguile-ltdl.so.1 for package: libgeda --> Processing Dependency: libqthreads.so.12 for package: compat-guile-16-devel --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for compat-guile-16 to pack into transaction set. compat-guile-16-1.6.7-3.1 100% |=========================| 25 kB 00:00 ---> Package compat-guile-16.i386 0:1.6.7-3.1.fc7 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: compat-guile-16-devel i386 1.6.7-3.1.fc7 LOCAL 185 k libgeda i386 20061020-2.1.fc7 LOCAL 198 k Installing for dependencies: compat-guile-16 i386 1.6.7-3.1.fc7 LOCAL 715 k Transaction Summary ============================================================================= Install 3 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 1.1 M Downloading Packages: Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: compat-guile-16 ######################### [1/3] Installing: libgeda ######################### [2/3] Installing: compat-guile-16-devel ######################### [3/3] Installed: compat-guile-16-devel.i386 0:1.6.7-3.1.fc7 libgeda.i386 0:20061020-2.1.fc7 Dependency Installed: compat-guile-16.i386 0:1.6.7-3.1.fc7 Complete! [root@localhost ~]# rpm -q guile guile-devel guile-1.8.1-1.fc7 guile-devel-1.8.1-1.fc7 =================================================================== surely succeeds, without any conflict against guile(-devel)-1.8 Thanks Mamuro, your modifications work perfectly. My geda bugs have been solved. How do you want to continue this review? should I only change the release version to 4 and file back ? (In reply to comment #10) > How do you want to continue this review? > should I only change the release version to 4 and file back ? Well, (for compat-guile-16) at least -devel package needs "Requires: automake" because -devel package includes automake .m4 file so please fix so. Also, please check if I have overlooked something else and add some fixes you want to do. Then I will review your spec file again. By the way, do you agree with the name "compat-guile-16"? Spec URL: http://tux.u-strasbg.fr/~chit/compat-guile/compat-guile-16.spec SRPM URL: http://tux.u-strasbg.fr/~chit/compat-guile/compat-guile-16-1.6.7-4.src.rpm Yes, I'm ok with the name. Once I've asked on the mailing list about some particular guidelines to follow for compat packages, your way is more logic to me. http://www.redhat.com/archives/fedora-extras-list/2006-December/msg00375.html = Well, from my eye inspection, i.e. ------------------------------------------------- ( for f in `rpm -ql compat-guile-16-devel compat-guile-16 | sort` ; do if file $f | grep -q text ; then echo $f ; fi ; done ) | xargs grep guile16 ------------------------------------------------- all "guile16" words included in the texts in compat-guile-16(-devel) are correctly changed to guile16 (if needed). Then: ** ------------------------------------------------- - Added automake in BR ------------------------------------------------- Well, I didn't mean by that. What I meant is -devel package should have ------------------------------------------------- Requires: %{name} = %{version}-%{release}, automake ------------------------------------------------- because -devel package includes %{_datadir}/aclocal/guile16.m4. Actually automake is not needed for BuildRequires as you don't call automake in build process. ** Source0: must be: ftp://ftp.gnu.org/gnu/guile/guile-1.6.7.tar.gz (md5sum coincides) ** %{buildroot} vs $RPM_BUILD_ROOT Please choose one. Please fix the issues marked as **. Other things are okay. -------------------------------------------------------- This package (compat-guile-16) is APPROVED by me. -------------------------------------------------------- Note: It seems that the newest guile of 1.6 series is 1.6.8 . Please check 1.6.8 after you first import 1.6.7 into Fedora Extras. Thanks, I will update the spec file and upload the src package this friday. |