Please do not reply directly to this email. All additional comments should be made in the comments box of this bug report. Summary: Review Request: mozldap Alias: mozldap https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=196401 ------- Additional Comments From jwilson@xxxxxxxxxx 2006-07-13 16:55 EST ------- Initial feedback on first pass through the spec and some rpmlint'ing: 1) Should add %dist tag 2) Source0: should be a URL, if not, explain why 3) Remove useless Provides: 4) Requires: on sub-packages should be explicit %{name} = %{version}-%{release} instead of >= 5) Use %configure instead of ./configure 6) Should quote around "$RPM_OPT_FLAGS", I've seen issues if not done 7) %install is missing buildroot cleaning 8) don't create directories/files in the buildroot in %build, needs to be done in %install (since the first thing in %install is supposed to be a buildroot purging). 9) extraneous slashes in some path names (ex: $RPM_BUILD_ROOT/%{_libdir}) 10) standard practice in Fedora is to symlink back to the actual .so rather than create a trail of symlinks 11) preferred ldconfig post/postun format is "%post -p /sbin/ldconfig" 12) %defattr should be (-,root,root,-) 13) lots of extra, unnecessary %dir lines in various %files sections 14) unversioned .so files must go in -devel package when there are also versioned .so's 15) rpmlint complains about invalid sonames, I presume this is a side-effect of renaming them: E: mozldap invalid-soname /usr/lib64/libssldap-5.0.so.5.17 libssldap50.so E: mozldap invalid-soname /usr/lib64/libprldap-5.0.so.5.17 libprldap50.so E: mozldap invalid-soname /usr/lib64/libldap-5.0.so.5.17 libldap50.so 16) the binaries all define rpaths, which is a big no-no The following spec diff should address all but 15 and 16: ---------- --- mozldap-orig.spec 2006-07-13 15:58:24.000000000 -0400 +++ mozldap.spec 2006-07-13 16:50:58.000000000 -0400 @@ -10,7 +10,7 @@ Summary: Mozilla LDAP C SDK Name: mozldap Version: %{major}.%{minor} -Release: 3 +Release: 3%{?dist} License: MPL/GPL/LGPL URL: http://www.mozilla.org/directory/csdk.html Group: System Environment/Libraries @@ -20,8 +20,8 @@ BuildRequires: %{nspr_name}-devel >= %{nspr_version} BuildRequires: %{nss_name}-devel >= %{nss_version} BuildRequires: %{svrcore_name} >= %{svrcore_version} -Provides: mozldap +# Only available from cvs, tag LDAPCSDK_5_1_7_RTM Source0: %{name}-%{version}.tar.gz %description @@ -35,11 +35,10 @@ %package tools Summary: Tools for the Mozilla LDAP C SDK Group: System Environment/Base -Requires: %{name} >= %{version}-%{release} +Requires: %{name} = %{version}-%{release} BuildRequires: %{nspr_name}-devel >= %{nspr_version} BuildRequires: %{nss_name}-devel >= %{nss_version} BuildRequires: %{svrcore_name} >= %{svrcore_version} -Provides: %{name}-tools %description tools The mozldap-tools package provides the ldapsearch, @@ -50,10 +49,9 @@ %package devel Summary: Development libraries and examples for Mozilla LDAP C SDK Group: Development/Libraries -Requires: %{name} >= %{version}-%{release} +Requires: %{name} = %{version}-%{release} Requires: %{nspr_name}-devel >= %{nspr_version} Requires: %{nss_name}-devel >= %{nss_version} -Provides: %{name}-devel %description devel Header and Library files for doing development with the Mozilla LDAP C SDK @@ -64,7 +62,8 @@ arg64="--enable-64bit" %endif cd mozilla/directory/c-sdk -./configure $arg64 --with-system-svrcore --enable-optimize --disable-debug +%configure $arg64 --with-system-svrcore --enable-optimize --disable-debug +#./configure $arg64 --with-system-svrcore --enable-optimize --disable-debug %build @@ -73,7 +72,7 @@ export BUILD_OPT # Generate symbolic info for debuggers -XCFLAGS=$RPM_OPT_FLAGS +XCFLAGS="$RPM_OPT_FLAGS" export XCFLAGS PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 @@ -90,9 +89,12 @@ cd mozilla/directory/c-sdk make BUILDCLU=1 HAVE_SVRCORE=1 BUILD_OPT=1 +%install +%{__rm} -rf $RPM_BUILD_ROOT + # Set up our package file -%{__mkdir_p} $RPM_BUILD_ROOT/%{_libdir}/pkgconfig -%{__cat} %{name}.pc.in | sed -e "s,%%libdir%%,%{_libdir},g" \ +%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/pkgconfig +%{__cat} mozilla/directory/c-sdk/%{name}.pc.in | sed -e "s,%%libdir%%,%{_libdir},g" \ -e "s,%%prefix%%,%{_prefix},g" \ -e "s,%%exec_prefix%%,%{_prefix},g" \ -e "s,%%includedir%%,%{_includedir}/%{name},g" \ @@ -100,69 +102,63 @@ -e "s,%%NSS_VERSION%%,%{nss_version},g" \ -e "s,%%SVRCORE_VERSION%%,%{svrcore_version},g" \ -e "s,%%MOZLDAP_VERSION%%,%{version},g" > \ - $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/%{name}.pc - -%install + $RPM_BUILD_ROOT%{_libdir}/pkgconfig/%{name}.pc # There is no make install target so we'll do it ourselves. -%{__mkdir_p} $RPM_BUILD_ROOT/%{_includedir}/%{name} -%{__mkdir_p} $RPM_BUILD_ROOT/%{_libdir} -%{__mkdir_p} $RPM_BUILD_ROOT/%{_libdir}/%{name} +%{__mkdir_p} $RPM_BUILD_ROOT%{_includedir}/%{name} +%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir} +%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/%{name} # Copy the binary libraries we want for file in libssldap50.so libprldap50.so libldap50.so do - %{__install} -m 755 mozilla/dist/lib/$file $RPM_BUILD_ROOT/%{_libdir} + %{__install} -m 755 mozilla/dist/lib/$file $RPM_BUILD_ROOT%{_libdir} done # Copy the binaries we want for file in ldapsearch ldapmodify ldapdelete ldapcmp ldapcompare do - %{__install} -m 755 mozilla/dist/bin/$file $RPM_BUILD_ROOT/%{_libdir}/%{name} + %{__install} -m 755 mozilla/dist/bin/$file $RPM_BUILD_ROOT%{_libdir}/%{name} done # Copy the include files for file in mozilla/dist/public/ldap/*.h do - %{__install} -m 644 $file $RPM_BUILD_ROOT/%{_includedir}/%{name} + %{__install} -m 644 $file $RPM_BUILD_ROOT%{_includedir}/%{name} done # Copy the developer files %{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/%{name} cp -r mozilla/directory/c-sdk/ldap/examples $RPM_BUILD_ROOT%{_datadir}/%{name} -%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/%{name}/etc +%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}%{name}/etc %{__install} -m 644 mozilla/directory/c-sdk/ldap/examples/xmplflt.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/etc %{__install} -m 644 mozilla/directory/c-sdk/ldap/libraries/libldap/ldaptemplates.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/etc %{__install} -m 644 mozilla/directory/c-sdk/ldap/libraries/libldap/ldapfilter.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/etc %{__install} -m 644 mozilla/directory/c-sdk/ldap/libraries/libldap/ldapsearchprefs.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/etc # Rename the libraries and create the symlinks -cd $RPM_BUILD_ROOT/%{_libdir} +cd $RPM_BUILD_ROOT%{_libdir} for file in libssldap50.so libprldap50.so libldap50.so do mv $file $file.%{major}.%{minor} ln -s $file.%{major}.%{minor} $file.%{major} - ln -s $file.%{major} $file + ln -s $file.%{major}.%{minor} $file done %clean %{__rm} -rf $RPM_BUILD_ROOT -%post -/sbin/ldconfig >/dev/null 2>/dev/null +%post -p /sbin/ldconfig -%postun -/sbin/ldconfig >/dev/null 2>/dev/null +%postun -p /sbin/ldconfig %files -%defattr(0755,root,root) -%{_libdir}/libssldap50.so -%{_libdir}/libprldap50.so -%{_libdir}/libldap50.so +%defattr(-,root,root,-) +%doc mozilla/directory/c-sdk/README.rpm %{_libdir}/libssldap50.so.%{major} %{_libdir}/libprldap50.so.%{major} %{_libdir}/libldap50.so.%{major} @@ -171,8 +167,8 @@ %{_libdir}/libldap50.so.%{major}.%{minor} %files tools -%defattr(0755,root,root) -%attr(0755,root,root) %dir %{_libdir}/%{name} +%defattr(-,root,root,-) +%dir %{_libdir}/%{name} %{_libdir}/%{name}/ldapsearch %{_libdir}/%{name}/ldapmodify %{_libdir}/%{name}/ldapdelete @@ -180,13 +176,12 @@ %{_libdir}/%{name}/ldapcompare %files devel -%defattr(0644,root,root) +%defattr(-,root,root,-) +%{_libdir}/libssldap50.so +%{_libdir}/libprldap50.so +%{_libdir}/libldap50.so %{_libdir}/pkgconfig/%{name}.pc -%attr(0755,root,root) %dir %{_includedir}/%{name} %{_includedir}/%{name} -%attr(0755,root,root) %dir %{_datadir}/%{name} -%attr(0755,root,root) %dir %{_datadir}/%{name}/etc -%attr(0755,root,root) %dir %{_datadir}/%{name}/examples %{_datadir}/%{name} %changelog -- Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact. _______________________________________________ Fedora-package-review mailing list Fedora-package-review@xxxxxxxxxx http://www.redhat.com/mailman/listinfo/fedora-package-review