Bug 488100
Summary: | Review Request: firebird - Firebird SQL database management system | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | MERCIER Jonathan <bioinfornatics> | ||||||||
Component: | Package Review | Assignee: | Peter Lemenkov <lemenkov> | ||||||||
Status: | CLOSED DUPLICATE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
Severity: | medium | Docs Contact: | |||||||||
Priority: | low | ||||||||||
Version: | 10 | CC: | atorkhov, fedora-package-review, hv, itamar, lemenkov, makowski.fedora, notting, pingou, wart, zarko.pintar | ||||||||
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: | 2009-05-03 11:55:43 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: | |||||||||||
Attachments: |
|
Description
MERCIER Jonathan
2009-03-02 17:55:09 UTC
i have find a newest stable release: http://www.firebirdsql.org/download/prerelease/source/Firebird-2.1.2.18116-0.RC1.tar.bz2 link: http://www.firebirdsql.org/index.php?op=files&id=fb212_RC1 why not postgresql ? can you explain for me why you want firebird ? for the next release: replication solution and it will own all others, that and clustering and/or cluster fs support, etc upgrade to newest version is easy 1.0 to 1.5 1.0 to 2.0 or other near it will be better as postgres if project continue @ Itamar Reis Peixot: http://www.firebirddevelopersday.com.br/fdd/reports/index.html even if Postgresql very good, we use Firebird like many others people in your country http://www.firebirddevelopersday.com.br/fdd/reports/index.html (In reply to comment #2) > why not postgresql ? > > can you explain for me why you want firebird ? you need to do a hard work to get your review request approved, I will try to help you. FIRST ---> do you have a fedora account ? if yes, what's your FAS username ? if not get one here. https://admin.fedoraproject.org/accounts/ l@@k ---> https://fedoraproject.org/wiki/Join_the_package_collection_maintainers#Get_a_Fedora_Account i have already an account name: bioinfornatics and i have already submit 4 package: 2 wait the review and 2 in stable repo thanks for your help new spec with one rpmlint error: firebird.src: W: strange-permission firebird-profile.sh 0755 sorry i didn't aeough time for publish the nex src.rpm i need go to work :p spec file: %global fbroot %{_libdir}/%{name} %global realname Firebird %global realversion 2.1.2.18116-0 %global realeaseCandidate RC1 Summary: Firebird SQL Database, fork of InterBase Name: firebird Version: 2.1.2.18116.0 Release: 2%{?dist} Group: Applications/Databases License: Intenbase URL: http://www.firebirdsql.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Source0: http://aleron.dl.sourceforge.net/sourceforge/firebird/%{realname}-%{realversion}.%{realeaseCandidate}.tar.bz2 Source1: firebird-profile.sh Source2: firebird-profile.csh BuildRequires: autoconf BuildRequires: automake BuildRequires: bison BuildRequires: libtool BuildRequires: ncurses-devel BuildRequires: libtermcap-devel Requires: %{name}-arch = %{version} Requires: grep Requires: sed %description This is the Firebird SQL Database shared files. %package classic Summary: Meta-package for Firebird SQL Classic Database (xinetd based) Group: Applications/Databases Provides: %{name}-arch = %{version}-%{release} Requires: %{name}-server-classic = %{version} Requires: %{name}-utils-classic = %{version} Conflicts: %{name}-superserver %description classic This is a meta-package for easy selecting the Classic arch for Firebird 2 %package superserver Summary: Meta-package for Firebird SQL SuperServer Database (standalone) Group: Applications/Databases Provides: %{name}-arch = %{version}-%{release} Requires: %{name}-server-superserver = %{version} Requires: %{name}-utils-superserver = %{version} Conflicts: %{name}-classic %description superserver This is a meta-package for easy selecting the SuperServer arch for Firebird 2 %package devel Summary: Development Libraries for Firebird SQL Database Group: Development/Databases Requires: %{name} = %{version} Requires: libfbclient2 %description devel Development libraries for firebird. %package utils-classic Summary: Client programs for Firebird SQL Database Group: Applications/Databases Requires: %{name}-server-common = %{version} Provides: %{name}-utils = %{version}-%{release} Conflicts: %{name}-utils-superserver Obsoletes: %{name}-client-embedded <= 2.0 %description utils-classic Client access tools for firebird. %package utils-superserver Summary: Client programs for Firebird SQL Database Group: Applications/Databases Requires: %{name}-server-common = %{version} Provides: %{name}-utils = %{version}-%{release} Conflicts: %{name}-utils-classic %description utils-superserver Client access tools for firebird. %package -n libfbclient2 Summary: Multi-threaded, non-local client libraries for Firebird SQL Database Group: System/Libraries %description -n libfbclient2 Multi-threaded, non-local client libraries for Firebird SQL Database %package -n libfbembed2 Summary: Multi-process, non-local client libraries for Firebird SQL Database Group: System/Libraries %description -n libfbembed2 Multi-process, non-local client libraries for Firebird SQL Database %package server-classic Summary: Classic (xinetd) server for Firebird SQL Database Group: Applications/Databases Provides: firebird-server = %{version}-%{release} Requires: xinetd Requires: %{name}-server-common = %{version} Conflicts: %{name}-server-superserver %description server-classic This is the classic (xinetd) server for the Firebird SQL Database. It can also be used as an embedded server, when paired with the client-embedded package. It does not include any client access tools, nor does it include the multi-threaded client library. %package server-superserver Summary: Superserver (single process) server for Firebird SQL Database Group: Applications/Databases Provides: firebird-server = %{version}-%{release} Requires: %{name}-server-common = %{version} Conflicts: %{name}-server-classic %description server-superserver This is the Superserver (single process) for the Firebird SQL Database. It does not include any client access tools, nor does it include the multi-threaded client library. %package server-common Summary: Common files for Firebird SQL Database servers Group: Databases Conflicts: firebird-server-classic < 2.0 Requires(postun): /usr/sbin/userdel Requires(postun): /usr/sbin/groupdel Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd %description server-common This package contains common files between firebird-server-classic and firebird-server-superserver. You will need this if you want to use either one. %prep %setup -q -n %{realname}-%{realversion} %build # Fix permissions chmod +x ./autogen.sh ./src/misc/writeBuildNum.sh # <mrl> For reference, the proccess fb_lock_mgr that keeps executing after # building finish is started at gen/Makefile.codes, line 60 (target # build_codes) but I can't do nothing for it without major hacking. # server-classic NOCONFIGURE=1 ./autogen.sh %configure --prefix=%{fbroot} # Can't use %%make as itsparallel build is broken make cd gen ./install/makeInstallImage.sh mv ./buildroot/ buildroot-classic chmod 644 ./buildroot-classic%{fbroot}/help/help.fdb mkdir ./buildroot-classic%{fbroot}/tools-classic for f in changeDBAPassword.sh changeRunUser.sh gdef \ gpre gsec restoreRootRunUser.sh; do mv ./buildroot-classic%{fbroot}/{bin,tools-classic}/$f ln -s ../tools/$f ./buildroot-classic%{fbroot}/bin/$f done cd .. # server-superserver %configure --prefix=%{fbroot} --enable-superserver # Can't use %%make as itsparallel build is broken make cd gen ./install/makeInstallImage.sh mv ./buildroot/ buildroot-superserver chmod 644 ./buildroot-superserver%{fbroot}/help/help.fdb mkdir ./buildroot-superserver%{fbroot}/tools-superserver for f in changeDBAPassword.sh changeRunUser.sh gdef \ gpre gsec restoreRootRunUser.sh; do mv ./buildroot-superserver%{fbroot}/{bin,tools-superserver}/$f done cd .. %install [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} install -d %{buildroot} cp -a %{_builddir}/%{realname}-%{realversion}/gen/buildroot-superserver/* \ %{buildroot} cp -a %{_builddir}/%{realname}-%{realversion}/gen/buildroot-classic/* \ %{buildroot} cd %{buildroot} mkdir -p .%{_sysconfdir}/%{name} mkdir -p .%{_sysconfdir}/rc.d/init.d/ mkdir -p .%{_sysconfdir}/xinetd.d mkdir -p .%{_sysconfdir}/profile.d mkdir -p .%{_var}/run/%{name} ln -s %{fbroot}/aliases.conf .%{_sysconfdir}/%{name}/ ln -s %{fbroot}/firebird.conf .%{_sysconfdir}/%{name}/ ln -s fbmgr.bin .%{fbroot}/bin/fbmgr mv .%{fbroot}/misc/%{name}.xinetd .%{_sysconfdir}/xinetd.d/%{name} mv .%{fbroot}/misc/%{name}.init.d.mandrake .%{_sysconfdir}/rc.d/init.d/%{name} rm -rf .%{fbroot}/misc sed "s@%%{fbroot}@%{fbroot}@g" %{SOURCE1} > .%{_sysconfdir}/profile.d/firebird.sh sed "s@%%{fbroot}@%{fbroot}@g" %{SOURCE2} > .%{_sysconfdir}/profile.d/firebird.csh touch .%{fbroot}/firebird.log mkdir -p %{buildroot}%{_var}/lib/firebird/backup %clean rm -rf %{buildroot} %post -n libfbclient2 -p /sbin/ldconfig %postun -n libfbclient2 -p /sbin/ldconfig %post -n libfbembed2 -p /sbin/ldconfig %postun -n libfbembed2 -p /sbin/ldconfig %post server-classic if test ! -e %{fbroot}/tools; then ln -s %{fbroot}/tools{-classic,} fi if /sbin/service xinetd status >& /dev/null; then /sbin/service xinetd reload fi %preun server-classic if [ $1 -eq 0 ]; then if /sbin/service xinetd status >& /dev/null; then /sbin/service xinetd reload fi if [ "$(readlink %{fbroot}/tools 2> /dev/null)" == "%{fbroot}/tools-classic" ]; then rm -f %{fbroot}/tools fi fi %post server-superserver if test ! -e %{fbroot}/tools; then ln -s %{fbroot}/tools{-superserver,} fi if [ $1 -eq 2 ]; then if /sbin/service firebird status >& /dev/null; then /sbin/service firebird restart fi fi if [ $1 -eq 1 ]; then chkconfig firebird off fi %preun server-superserver if [ $1 -eq 0 ]; then if /sbin/service firebird status >& /dev/null; then /sbin/service firebird stop fi chkconfig --del firebird if [ "$(readlink %{fbroot}/tools >& /dev/null)" == "%{fbroot}/tools-superserver" ]; then rm -f %{fbroot}/tools fi fi %pre server-common # Create the firebird group if it doesn't exist grep -q %{name} /etc/group || /usr/sbin/groupadd -r %{name} || true grep -q %{name} /etc/passwd || /usr/sbin/useradd -d / -g %{name} -s /sbin/nologin -r %{name} || true # Add gds_db to /etc/services if needed FileName=/etc/services newLine="gds_db 3050/tcp # Firebird SQL Database Remote Protocol" oldLine=`grep "^gds_db" $FileName` if [ -z "$oldLine" ]; then echo $newLine >> $FileName fi %post server-common -p /sbin/ldconfig %postun server-common -p /sbin/ldconfig %files %defattr(0644,root,root,0755) %doc %{fbroot}/README %doc %{fbroot}/WhatsNew %doc %{fbroot}/doc/ %doc %{fbroot}/examples/ #%doc %{fbroot}/upgrade/ %attr (0660,%{name},%{name}) %{fbroot}/examples/empbuild/employee.fdb %files classic %files devel %defattr(0644,root,root,0755) %{fbroot}/include/* %{fbroot}/lib/*.so %{_includedir}/* %{_libdir}/*.so %files utils-classic %defattr(0755,root,root,0755) %dir %{fbroot}/tools-classic %dir %{fbroot}/bin %{fbroot}/bin/gbak %{fbroot}/bin/fbsvcmgr %{fbroot}/tools-classic/gdef %{fbroot}/bin/gfix %{fbroot}/tools-classic/gpre %{fbroot}/bin/gstat %{fbroot}/bin/isql %{fbroot}/bin/qli %files utils-superserver %defattr(0755,root,root,0755) %dir %{fbroot}/tools-superserver %dir %{fbroot}/bin %{fbroot}/bin/gbak %{fbroot}/bin/fbsvcmgr %{fbroot}/tools-superserver/gdef %{fbroot}/bin/gfix %{fbroot}/tools-superserver/gpre %{fbroot}/bin/gstat %{fbroot}/bin/isql %{fbroot}/bin/qli %files -n libfbclient2 %defattr(0644,root,root,0755) %dir %{fbroot}/lib %{_libdir}/libfbclient.so.* %{fbroot}/lib/libfbclient.so.* %files superserver %files -n libfbembed2 %defattr(0644,root,root,0755) %dir %{fbroot}/lib %{_libdir}/libfbembed.so.* %{fbroot}/lib/libfbembed.so.* %{fbroot}/lib/libicudata.so.* %{fbroot}/lib/libicui18n.so.* %{fbroot}/lib/libicuuc.so.* %files server-classic %defattr(0644,root,root,0755) %dir %{fbroot}/bin %dir %{fbroot}/tools-classic %config(noreplace) %{_sysconfdir}/xinetd.d/%{name} %defattr(0755,root,root,0755) %{fbroot}/bin/changeGdsLibraryCompatibleLink.sh %{fbroot}/bin/fb_inet_server %{fbroot}/bin/fb_lock_mgr %{fbroot}/bin/fb_lock_print %{fbroot}/bin/gds_drop %{fbroot}/tools-classic/gsec %{fbroot}/tools-classic/changeDBAPassword.sh %{fbroot}/tools-classic/changeRunUser.sh %{fbroot}/tools-classic/restoreRootRunUser.sh %files server-superserver %defattr(0644,root,root,0755) %dir %attr(0775,%{name},%{name}) %{_var}/run/%{name} %dir %{fbroot}/bin %dir %{fbroot}/tools-superserver %{fbroot}/UDF/fbudf.so %defattr(0755,root,root,0755) %{_sysconfdir}/rc.d/init.d/%{name} %{fbroot}/bin/fb_lock_print %{fbroot}/bin/fbguard %{fbroot}/bin/fbmgr %{fbroot}/bin/fbmgr.bin %{fbroot}/bin/fbserver %{fbroot}/tools-superserver/gsec %{fbroot}/tools-superserver/changeDBAPassword.sh %{fbroot}/tools-superserver/changeRunUser.sh %{fbroot}/tools-superserver/restoreRootRunUser.sh %files server-common %defattr(0644,root,root,0755) %dir %attr(0775,%{name},%{name}) %{fbroot} %dir %attr(0775,%{name},%{name}) %{_var}/lib/firebird/backup %dir %attr(0775,%{name},%{name}) %{_var}/lib/firebird %dir %{fbroot}/UDF %dir %{fbroot}/intl %config %attr (0660,%{name},%{name}) %{fbroot}/security2.fdb %config(noreplace) %{fbroot}/aliases.conf %config(noreplace) %{fbroot}/firebird.conf %config(noreplace) %{fbroot}/intl/fbintl.conf %{_sysconfdir}/%{name}/aliases.conf %{_sysconfdir}/%{name}/firebird.conf %attr(0660,%{name},%{name}) %{fbroot}/firebird.log %{fbroot}/*.msg %{fbroot}/help %{fbroot}/UDF/fbudf.so %{fbroot}/UDF/fbudf.sql %{fbroot}/UDF/ib_udf.so %{fbroot}/UDF/ib_udf.sql %{fbroot}/UDF/ib_udf2.sql %{_libdir}/libib_util.so %defattr(0755,root,root,0755) %{_sysconfdir}/profile.d/firebird.csh %{_sysconfdir}/profile.d/firebird.sh %{fbroot}/intl/fbintl %{fbroot}/bin/changeDBAPassword.sh %{fbroot}/bin/changeRunUser.sh %{fbroot}/bin/createAliasDB.sh %{fbroot}/bin/fb_config %{fbroot}/bin/gdef %{fbroot}/bin/gpre %{fbroot}/bin/gsec %{fbroot}/bin/gsplit %{fbroot}/bin/nbackup %{fbroot}/bin/restoreRootRunUser.sh %changelog * Fri Mar 05 2009 Jonathan MERCIER <bioinfornatics at gmail.com> - 2.1.2.18116-0-2 - update to 2.1.2 - use %%global instead of %%define - change ${SOURCE1} to %%{SOURCE1} * Thu Jul 17 2008 Arkady L. Shane <ashejn> 2.1.1.17910.0-1 - update to 2.1.1 * Fri Apr 18 2008 Arkady L. Shane <ashejn> 2.1.0.17798.0-1 - update to 2.1.0 * Thu Sep 27 2007 Arkady L. Shane <ashejn> 2.0.3.12981.1-1 - update to 2.0.3 * Thu Sep 13 2007 Arkady L. Shane <ashejn> 2.0.1.12855.0-1 - initial build for Fedora - cleanup Mandriva spec (In reply to comment #9) please don't paste long lines of text here, this will make hard to read, and the people doesn't have much time available please use Attachments i put here my work, but they are some work to do! http://bioinformatiques.free.fr/firebird-2.1.2.18116.0-2.fc10.src.rpm http://bioinformatiques.free.fr/firebird.spec ---------------------------------------------------------- rpmlint issue: http://bioinformatiques.free.fr/rpmlint_issue the command:sed -e 's/ä/À/g' -e 's/ê/ê/g' -i /path/to/file do'nt work need use iconv this file is not in UTF-8 and iconv, piconv, sed do'nt work !! %{buildroot}%{fbroot}/doc/sql.extensions/README.global_temporary_tables %{buildroot}%{fbroot}/doc/sql.extensions/README.expression_indices %{buildroot}%{fbroot}/doc/sql.extensions/README.common_table_expressions %{buildroot}%{fbroot}/doc/README.intl hi! a little problem! spec file: http://bioinformatiques.free.fr/firebird.spec Code: ______________________________________________________________________________ $ rpmbuild -ba firebird.spec ... ... Traitement des fichiers: firebird-libfbembed2-2.1.2.18116.0-3.fc10 erreur: Fichier non trouvé par la substitution: /home/builder/rpmbuild/BUILDROOT/firebird-2.1.2.18116.0-3.fc10.x86_64/usr/lib64/firebird/lib/libicudata.so.* erreur: Fichier non trouvé par la substitution: /home/builder/rpmbuild/BUILDROOT/firebird-2.1.2.18116.0-3.fc10.x86_64/usr/lib64/firebird/lib/libicui18n.so.* erreur: Fichier non trouvé par la substitution: /home/builder/rpmbuild/BUILDROOT/firebird-2.1.2.18116.0-3.fc10.x86_64/usr/lib64/firebird/lib/libicuuc.so.* Erreur de construction de RPM: Fichier non trouvé par la substitution: /home/builder/rpmbuild/BUILDROOT/firebird-2.1.2.18116.0-3.fc10.x86_64/usr/lib64/firebird/lib/libicudata.so.* Fichier non trouvé par la substitution: /home/builder/rpmbuild/BUILDROOT/firebird-2.1.2.18116.0-3.fc10.x86_64/usr/lib64/firebird/lib/libicui18n.so.* Fichier non trouvé par la substitution: /home/builder/rpmbuild/BUILDROOT/firebird-2.1.2.18116.0-3.fc10.x86_64/usr/lib64/firebird/lib/libicuuc.so.* ________________________________________________________________________________ src.rpm file : http://bioinformatiques.free.fr/firebird-2.1.2.18116.0-3.fc10.src.rpm spec file: http://bioinformatiques.free.fr/firebird.spec rpmlint issue: ________________________________________________________________________________ $ rpmlint rpmbuild/SPECS/firebird.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings. $ rpmlint rpmbuild/SRPMS/firebird-2.1.2.18116.0-3.fc10.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. $ rpmlint rpmbuild/RPMS/x86_64/firebird-2.1.2.18116.0-3.fc10.x86_64.rpm firebird.x86_64: W: non-standard-uid /usr/lib64/firebird/examples/empbuild/employee.fdb firebird firebird.x86_64: W: non-standard-gid /usr/lib64/firebird/examples/empbuild/employee.fdb firebird firebird.x86_64: E: non-readable /usr/lib64/firebird/examples/empbuild/employee.fdb 0660 firebird.x86_64: E: no-binary firebird.x86_64: E: only-non-binary-in-usr-lib 1 packages and 0 specfiles checked; 3 errors, 2 warnings. ________________________________________________________________________________ I'll review it. There is error in dependency: in subpackage firebird-devel is: Requires: libfbclient2 but nothing provides it, change it to: Requires: %{name}-libfbclient2 There is another problem in .spec, creation of user firebird failed This have to be on one line: grep -q %{name} /etc/passwd || /usr/sbin/useradd -d / -g %{name} -s /sbin/nologin -r %{name} || true (In reply to comment #17) > There is another problem in .spec, > creation of user firebird failed > > This have to be on one line: > grep -q %{name} /etc/passwd || /usr/sbin/useradd -d / -g %{name} -s > /sbin/nologin -r %{name} || true Don't assume that all users will be listed in /etc/passwd. This assumption may be false if the host uses directory services (NIS, LDAP). Better to use 'getent' instead: getent passwd %{name} >/dev/null || \ usr/sbin/useradd -d -g %{name} -s /sbin/nologin -r %{name} || : Created attachment 336173 [details] new spec file I made majors changes please check this new version if need, the rpms is there : http://ibphoenix.fr/fichiers/firebird-2.1.1.17910-4.fc10.src.rpm don't hesitate to contact me, I'm a member of the Firebird admin team but please use pmakowski AT ibphoenix DOT com i have make a rpmlint on firebird-* rpmlint issue: _______________________________________________________________________ $ rpmlint rpmbuild/RPMS/x86_64/firebird-* firebird.x86_64: W: no-documentation firebird.x86_64: W: incoherent-version-in-changelog 2.1.1.17190.0-4 ['2.1.1.17910-4.fc10', '2.1.1.17910-4'] firebird.x86_64: E: no-binary firebird-classic.x86_64: W: no-documentation firebird-devel.x86_64: W: no-documentation firebird-devel.x86_64: W: symlink-should-be-relative /usr/lib64/libfbembed.so /usr/lib64/firebird/lib/libfbembed.so firebird-devel.x86_64: W: symlink-should-be-relative /usr/lib64/libfbclient.so /usr/lib64/firebird/lib/libfbclient.so firebird-devel.x86_64: E: invalid-soname /usr/lib64/firebird/lib/libib_util.so libib_util.so firebird-libfbclient2.x86_64: W: no-documentation firebird-libfbclient2.x86_64: W: symlink-should-be-relative /usr/lib64/libfbclient.so.2.1.1 /usr/lib64/firebird/lib/libfbclient.so.2.1.1 firebird-libfbclient2.x86_64: W: symlink-should-be-relative /usr/lib64/libfbclient.so.2 /usr/lib64/firebird/lib/libfbclient.so.2 firebird-libfbembed2.x86_64: W: no-documentation firebird-libfbembed2.x86_64: W: symlink-should-be-relative /usr/lib64/libfbembed.so.2.1 /usr/lib64/firebird/lib/libfbembed.so.2.1 firebird-libfbembed2.x86_64: W: symlink-should-be-relative /usr/lib64/libfbembed.so.2.1.1 /usr/lib64/firebird/lib/libfbembed.so.2.1.1 firebird-server-classic.x86_64: W: no-documentation firebird-server-classic.x86_64: W: dangerous-command-in-%post ln firebird-server-classic.x86_64: W: dangerous-command-in-%preun rm firebird-server-common.x86_64: W: no-documentation firebird-server-common.x86_64: W: non-standard-uid /etc/firebird/security2.fdb firebird firebird-server-common.x86_64: W: non-standard-gid /etc/firebird/security2.fdb firebird firebird-server-common.x86_64: E: non-readable /etc/firebird/security2.fdb 0660 firebird-server-common.x86_64: W: symlink-should-be-relative /usr/lib64/firebird/intl/fbintl.conf /etc/firebird/fbintl.conf firebird-server-common.x86_64: W: dangling-relative-symlink /usr/lib64/firebird/bin/changeDBAPassword.sh ../tools/changeDBAPassword.sh firebird-server-common.x86_64: E: sourced-script-with-shebang /etc/profile.d/firebird.csh firebird-server-common.x86_64: E: executable-sourced-script /etc/profile.d/firebird.csh 0755 firebird-server-common.x86_64: W: symlink-should-be-relative /usr/lib64/firebird/aliases.conf /etc/firebird/aliases.conf firebird-server-common.x86_64: W: dangling-relative-symlink /usr/lib64/firebird/bin/gdef ../tools/gdef firebird-server-common.x86_64: W: symlink-should-be-relative /usr/lib64/firebird/security2.fdb /etc/firebird/security2.fdb firebird-server-common.x86_64: W: non-standard-uid /var/log/firebird/firebird.log firebird firebird-server-common.x86_64: W: non-standard-gid /var/log/firebird/firebird.log firebird firebird-server-common.x86_64: E: zero-length /var/log/firebird/firebird.log firebird-server-common.x86_64: W: symlink-should-be-relative /usr/lib64/firebird/firebird.log /var/log/firebird/firebird.log firebird-server-common.x86_64: W: non-standard-uid /usr/share/firebird/data firebird firebird-server-common.x86_64: W: non-standard-gid /usr/share/firebird/data firebird firebird-server-common.x86_64: E: sourced-script-with-shebang /etc/profile.d/firebird.sh firebird-server-common.x86_64: E: executable-sourced-script /etc/profile.d/firebird.sh 0755 firebird-server-common.x86_64: W: non-standard-uid /usr/share/firebird/backup firebird firebird-server-common.x86_64: W: non-standard-gid /usr/share/firebird/backup firebird firebird-server-common.x86_64: W: dangling-relative-symlink /usr/lib64/firebird/bin/gpre ../tools/gpre firebird-server-common.x86_64: W: dangling-relative-symlink /usr/lib64/firebird/bin/changeRunUser.sh ../tools/changeRunUser.sh firebird-server-common.x86_64: W: dangling-relative-symlink /usr/lib64/firebird/bin/gsec ../tools/gsec firebird-server-common.x86_64: W: symlink-should-be-relative /usr/lib64/firebird/firebird.conf /etc/firebird/firebird.conf firebird-server-common.x86_64: W: non-standard-uid /usr/share/firebird firebird firebird-server-common.x86_64: W: non-standard-gid /usr/share/firebird firebird firebird-server-common.x86_64: W: dangling-relative-symlink /usr/lib64/firebird/bin/restoreRootRunUser.sh ../tools/restoreRootRunUser.sh firebird-server-superserver.x86_64: W: no-documentation firebird-server-superserver.x86_64: W: dangling-relative-symlink /usr/lib64/firebird/bin/fbmgr ./usr/lib64/firebird/bin/fbmgr.bin firebird-server-superserver.x86_64: W: non-standard-uid /var/run/firebird firebird firebird-server-superserver.x86_64: W: non-standard-gid /var/run/firebird firebird firebird-server-superserver.x86_64: W: dangerous-command-in-%post ln firebird-server-superserver.x86_64: W: dangerous-command-in-%preun rm firebird-server-superserver.x86_64: W: service-default-enabled /etc/rc.d/init.d/firebird firebird-server-superserver.x86_64: E: subsys-not-used /etc/rc.d/init.d/firebird firebird-server-superserver.x86_64: W: incoherent-init-script-name firebird firebird-superserver.x86_64: W: no-documentation firebird-utils-classic.x86_64: W: no-documentation firebird-utils-classic.x86_64: W: obsolete-not-provided firebird-client-embedded firebird-utils-superserver.x86_64: W: no-documentation 13 packages and 0 specfiles checked; 9 errors, 49 warnings. with this source version you need Fix changelog 2.1.1.17190.0 to 2.1.1.17190 they are no minor version as the next source for me all these warning are not important even Errors are not really errors and at least there are less errors and warning than with your original proposal ;) but again, if really it's breaking Fedora rules, don't hesitate to make appropriate changes, in fact as it is now, it is really close to the Debian package. But I'm not a member of Fedora team, so ... Please Fedora members,review it. (In reply to comment #22) > But I'm not a member of Fedora team, so ... please join fedora. > Please Fedora members,review it. Peter Lemenkov is alrealy reviewing it, when the package and spec file is in a good shape then it will be approved. (In reply to comment #23) > (In reply to comment #22) > > But I'm not a member of Fedora team, so ... > > please join fedora. ;) If I can find time for it would be a pleasure ... > > Please Fedora members,review it. > > Peter Lemenkov is alrealy reviewing it, when the package and spec file is in a > good shape then it will be approved. ok to Peter Lemenkov : again feel free to contact me if any thing need related to Firebird after that we could package Flamerobin and also the Python driver Notes: * These defines seems redundant: %global realname Firebird %global major 2.1.1.17910 %global minor 0 %global realversion %{major}-%{minor} %realname used only with %realversion, which in turn is the only place where %major and %minor are used. I suggest you, to replace these macros with single one (say, %tarsourcedir or something similar, which will be more descriptive and clear to others). * I can't uderstant, why you defined a macro %bindir at line 2. Please add explanation and/or remove it. * You should explicitly define from which codepage you're converting, while using iconv. E.g. iconv -f <original codepage> -t utf-8 instead of iconv -t utf-8 only. * lines 187,259,260 looks like a leftover. * line 244 MUST be removed - there is no need in such stupid tests anymore. * Regarding %fbroot macro. I don't like the idea of installing *-devel files into %libdir. * I, personally, don't like naming scheme at all. I suspect that adding lib-prefixes and "2" as postfix for library-subpackages is redundant. Ad one more - why so many servers (classic, super and related subpackages) and related utils-subpackages? However, this may be generally accepted naming scheme among firebird-users, but in any case - please explain it. I'll add more notes later. Issues, found by Pavel Lisý and Wart (see above), are still not addressed. https://bugzilla.redhat.com/show_bug.cgi?id=488100#c17 https://bugzilla.redhat.com/show_bug.cgi?id=488100#c18 (In reply to comment #25) > * I, personally, don't like naming scheme at all. In fact neitheir do I ;) but see below explanations > I suspect that adding > lib-prefixes and "2" as postfix for library-subpackages is redundant. Ad one > more - why so many servers (classic, super and related subpackages) and related > utils-subpackages? However, this may be generally accepted naming scheme among > firebird-users, but in any case - please explain it. Firebird exist in to Flavor : Classic server and SuperServer cf http://firebirdsql.org/manual/qsg2-classic-or-super.html Firebird project build the two flavor as two packages Mandriva, Debian chose the way you see it, on meta package with subpackages. I'm no against the idea of reworking the naming schema, but do you have some suggestion ? I will work on others problems, thanks for the report. Created attachment 337120 [details] new spec Hi, here a new spec file, please check it if need src.rpm is there : http://ibphoenix.fr/fedora/firebird-2.1.1.17910.0-5.fc10.src.rpm Someone for review it? Still here. Sorry for the delay. I'll review Philippe's new srpm ASAP. (In reply to comment #30) > Still here. Sorry for the delay. > I'll review Philippe's new srpm ASAP. Thanks Firebird 2.1.2 is there, so after your review, I'll update it I also added Flamerobin (Bug 495412) great :D Notes: - The issue with excessive number of macros still not addressed. I advice you to ** completely remove %{major}, %{minor} macros - just use %{version} macro. ** remove "%global version %{major}.%{minor}" as well. No need to re-define this macro. ** combine %{pkgname} and %{pkgversion} together (since they used only in couple) In any case, these issues are cosmetic, mostly. + The issue with iconv was gone. - Please, do not use %{?dist}-suffixes in changelog. This also a minor issue. More nites will be after I rebuild the package in koji. Sorry for the typo in my previous comment: s/nites/notes OK, koji just finished its job - building for ppc64 failed: http://koji.fedoraproject.org/koji/taskinfo?taskID=1303566 http://koji.fedoraproject.org/koji/taskinfo?taskID=1303570 Is it a known issue? (In reply to comment #33) > ** completely remove %{major}, %{minor} macros - just use %{version} macro. > ** remove "%global version %{major}.%{minor}" as well. No need to re-define > this macro. > ** combine %{pkgname} and %{pkgversion} together (since they used only in > couple) > - Please, do not use %{?dist}-suffixes in changelog. This also a minor issue. all done, thanks check here : http://ibphoenix.fr/fedora/firebird.spec http://ibphoenix.fr/fedora/firebird-2.1.2.18118.0-1.fc10.src.rpm (In reply to comment #34) > > OK, koji just finished its job - building for ppc64 failed: > > http://koji.fedoraproject.org/koji/taskinfo?taskID=1303566 > http://koji.fedoraproject.org/koji/taskinfo?taskID=1303570 > > Is it a known issue? Not for what I know, and I don't understand why the build failed looking the build.log But even Debian (http://packages.debian.org/sid/firebird2.1-server-common) don't build ppc64 ;) may be we can try with the new one ? No, it doesn't help too much http://koji.fedoraproject.org/koji/taskinfo?taskID=1306464 BTW, you, as a fedora developer, can try it by yourself $ koji list-targets .... <information about currently available targets> .... $ koji build --scratch <target's name> <your firebird srpm> f.e.: $ koji build --scratch dist-f10 ~/rpmbuild/SRPMS/firebird-2.1.2.18118.0-1.fc10.src.rpm And again about macros at the top of the spec - you don't need to define name and version. They defined automatically. E.g. you may remove these two lines %global name firebird %global version 2.1.2.18118.0 and you should change this one: -Version: %{version} +Version: 2.1.2.18118.0 (In reply to comment #36) > (In reply to comment #34) > > > > OK, koji just finished its job - building for ppc64 failed: > > > > http://koji.fedoraproject.org/koji/taskinfo?taskID=1303566 > > http://koji.fedoraproject.org/koji/taskinfo?taskID=1303570 > > > > Is it a known issue? > Not for what I know, and I don't understand why the build failed looking the > build.log Seems that it installed some files that should be under %{_libdir} (/usr/lib64/) to /usr/lib/ Here is a scratchbuild with more detailed output of ./install/makeInstallImage.sh script: http://koji.fedoraproject.org/koji/taskinfo?taskID=1306559 (In reply to comment #40) > Here is a scratchbuild with more detailed output of > ./install/makeInstallImage.sh script: > > http://koji.fedoraproject.org/koji/taskinfo?taskID=1306559 See, it makes links under gen/buildroot/usr/lib/: + for i in 'libfb*.so*' + ln -s /usr/lib64/firebird/lib/libfbclient.so /builddir/build/BUILD/Firebird-2.1.2.18118-0/gen/buildroot/usr/lib/libfbclient.so and so on... > Seems that it installed some files that should be under %{_libdir}
> (/usr/lib64/) to /usr/lib/
it shouldn't
and I don't understand why
and x86_64 is ok, so why not ppc64
Finaly I added ExcludeArch: ppc64 http://ibphoenix.fr/fedora/firebird.spec http://ibphoenix.fr/fedora/firebird-2.1.2.18118.0-1.fc10.src.rpm upgraded and here results : http://koji.fedoraproject.org/koji/taskinfo?taskID=1306893 http://koji.fedoraproject.org/koji/taskinfo?taskID=1306917 for me epel target is enough, no need ppc64 (In reply to comment #42) > > Seems that it installed some files that should be under %{_libdir} > > (/usr/lib64/) to /usr/lib/ > it shouldn't > and I don't understand why > and x86_64 is ok, so why not ppc64 That happens because of self-written target checks in configure that treats ppc and ppc64 targets the same, and also disregards libdir passed as param to configure. (In reply to comment #44) > That happens because of self-written target checks in configure that treats ppc > and ppc64 targets the same, and also disregards libdir passed as param to > configure. no sure of that for what I see in the log target is good after configure task The Firebird2 package has been configured with the following options: Architecture : ClassicServer Debug : disabled 64 bit I/O for 32-bit platforms : enabled Raw devices : enabled Lock manager : enabled Service name : gds_db Service port : 3050 GPRE modules : c_cxx.cpp Install Dir : /usr/lib64/firebird The Firebird2 package has been configured with the following options: Architecture : SuperServer Debug : disabled 64 bit I/O for 32-bit platforms : enabled Raw devices : enabled Service name : gds_db Service port : 3050 GPRE modules : c_cxx.cpp Install Dir : /usr/lib64/firebird same as for x86_64 (In reply to comment #45) > (In reply to comment #44) > > That happens because of self-written target checks in configure that treats ppc > > and ppc64 targets the same, and also disregards libdir passed as param to > > configure. > no sure of that Those checks in configure sets libdir to /usr/lib64 only for x86_64*-*-linux*, for all other targets libdir got set to /usr/lib. (In reply to comment #45) > Install Dir : /usr/lib64/firebird And this is installdir which is being set from prefix which you don't override. Sorry Alexey, I think I understand now but if we wanted to solve it, we need to make a patch only for ppc64 plateform it could be done, but it will take some time Seems that I found the solution for ppc64 All builds are ok http://koji.fedoraproject.org/koji/taskinfo?taskID=1307088 http://ibphoenix.fr/fedora/firebird.spec http://ibphoenix.fr/fedora/firebird-2.1.2.18118.0-1.fc10.src.rpm upgraded Hello, I'm working on Flamerobin's review, and I checked Firebird for F11 branch, but builds Fails! Please, look at my Koji tasks: http://koji.fedoraproject.org/koji/taskinfo?taskID=1310953 http://koji.fedoraproject.org/koji/taskinfo?taskID=1310951 some troubles with libtoolize, see buildlogs.. Philippe, are you 100% sure, that this move from lib to lib64 doesn't hurt anyone (see line 237 of your spec)? Here is a full list of rpmlint messages: [petro@Sulaco SPECS]$ rpmlint ~/Desktop/firebird-* firebird.ppc64: W: name-repeated-in-summary Firebird firebird.ppc64: E: no-binary firebird.ppc64: W: no-documentation firebird-classic.ppc64: W: obsolete-not-provided firebird-client-embedded firebird-classic.ppc64: W: no-documentation firebird-classic.ppc64: W: dangerous-command-in-%post ln firebird-classic.ppc64: W: dangerous-command-in-%preun rm firebird-devel.ppc64: E: invalid-soname /usr/lib64/firebird/lib/libib_util.so libib_util.so firebird-devel.ppc64: W: no-documentation firebird-libfbclient.ppc64: W: no-documentation firebird-libfbembed.ppc64: W: no-documentation firebird-server-common.ppc64: W: no-documentation firebird-server-common.ppc64: W: non-standard-uid /etc/firebird/security2.fdb firebird firebird-server-common.ppc64: W: non-standard-gid /etc/firebird/security2.fdb firebird firebird-server-common.ppc64: E: non-readable /etc/firebird/security2.fdb 0660 firebird-server-common.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/changeDBAPassword.sh ../tools/changeDBAPassword.sh firebird-server-common.ppc64: E: sourced-script-with-shebang /etc/profile.d/firebird.csh firebird-server-common.ppc64: E: executable-sourced-script /etc/profile.d/firebird.csh 0755 firebird-server-common.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/gdef ../tools/gdef firebird-server-common.ppc64: W: non-standard-uid /var/log/firebird/firebird.log firebird firebird-server-common.ppc64: W: non-standard-gid /var/log/firebird/firebird.log firebird firebird-server-common.ppc64: E: zero-length /var/log/firebird/firebird.log firebird-server-common.ppc64: W: non-standard-uid /usr/share/firebird/data firebird firebird-server-common.ppc64: W: non-standard-gid /usr/share/firebird/data firebird firebird-server-common.ppc64: E: sourced-script-with-shebang /etc/profile.d/firebird.sh firebird-server-common.ppc64: E: executable-sourced-script /etc/profile.d/firebird.sh 0755 firebird-server-common.ppc64: W: non-standard-uid /usr/share/firebird/backup firebird firebird-server-common.ppc64: W: non-standard-gid /usr/share/firebird/backup firebird firebird-server-common.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/gpre ../tools/gpre firebird-server-common.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/changeRunUser.sh ../tools/changeRunUser.sh firebird-server-common.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/gsec ../tools/gsec firebird-server-common.ppc64: W: non-standard-uid /usr/share/firebird firebird firebird-server-common.ppc64: W: non-standard-gid /usr/share/firebird firebird firebird-server-common.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/restoreRootRunUser.sh ../tools/restoreRootRunUser.sh firebird-superserver.ppc64: W: no-documentation firebird-superserver.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/fbmgr ./usr/lib64/firebird/bin/fbmgr.bin firebird-superserver.ppc64: W: non-standard-uid /var/run/firebird firebird firebird-superserver.ppc64: W: non-standard-gid /var/run/firebird firebird firebird-superserver.ppc64: W: dangerous-command-in-%post ln firebird-superserver.ppc64: W: dangerous-command-in-%preun rm firebird-superserver.ppc64: E: subsys-not-used /etc/rc.d/init.d/firebird firebird-superserver.ppc64: W: incoherent-init-script-name firebird 9 packages and 0 specfiles checked; 9 errors, 33 warnings. [petro@Sulaco SPECS]$ All messages regarding non-standart-[gu]id may be ignored, so here is a final rpmling messages list: [petro@Sulaco Desktop]$ rpmlint firebird-*|grep -v non-standard firebird.ppc64: W: name-repeated-in-summary Firebird firebird.ppc64: E: no-binary firebird.ppc64: W: no-documentation firebird-classic.ppc64: W: obsolete-not-provided firebird-client-embedded firebird-classic.ppc64: W: no-documentation firebird-classic.ppc64: W: dangerous-command-in-%post ln firebird-classic.ppc64: W: dangerous-command-in-%preun rm firebird-devel.ppc64: E: invalid-soname /usr/lib64/firebird/lib/libib_util.so libib_util.so firebird-devel.ppc64: W: no-documentation firebird-libfbclient.ppc64: W: no-documentation firebird-libfbembed.ppc64: W: no-documentation firebird-server-common.ppc64: W: no-documentation firebird-server-common.ppc64: E: non-readable /etc/firebird/security2.fdb 0660 firebird-server-common.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/changeDBAPassword.sh ../tools/changeDBAPassword.sh firebird-server-common.ppc64: E: sourced-script-with-shebang /etc/profile.d/firebird.csh firebird-server-common.ppc64: E: executable-sourced-script /etc/profile.d/firebird.csh 0755 firebird-server-common.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/gdef ../tools/gdef firebird-server-common.ppc64: E: zero-length /var/log/firebird/firebird.log firebird-server-common.ppc64: E: sourced-script-with-shebang /etc/profile.d/firebird.sh firebird-server-common.ppc64: E: executable-sourced-script /etc/profile.d/firebird.sh 0755 firebird-server-common.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/gpre ../tools/gpre firebird-server-common.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/changeRunUser.sh ../tools/changeRunUser.sh firebird-server-common.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/gsec ../tools/gsec firebird-server-common.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/restoreRootRunUser.sh ../tools/restoreRootRunUser.sh firebird-superserver.ppc64: W: no-documentation firebird-superserver.ppc64: W: dangling-relative-symlink /usr/lib64/firebird/bin/fbmgr ./usr/lib64/firebird/bin/fbmgr.bin firebird-superserver.ppc64: W: dangerous-command-in-%post ln firebird-superserver.ppc64: W: dangerous-command-in-%preun rm firebird-superserver.ppc64: E: subsys-not-used /etc/rc.d/init.d/firebird firebird-superserver.ppc64: W: incoherent-init-script-name firebird 9 packages and 0 specfiles checked; 9 errors, 33 warnings. [petro@Sulaco Desktop]$ * We may omit messages, regarding relative symlinks (just add a note somewhere in %doc that there may be some issues with chrooting) * we may ignore messages about no-documentation and about no-binary. * These messages needs fixing: firebird-server-common.ppc64: E: sourced-script-with-shebang firebird-server-common.ppc64: E: executable-sourced-script firebird-server-common.ppc64: E: sourced-script-with-shebang firebird-server-common.ppc64: E: executable-sourced-script Note, that files in /etc/profile.d should be 0644 and shouldn't have "#!/bin/whatever" * This message "firebird-superserver.ppc64: E: subsys-not-used /etc/rc.d/init.d/firebird" warns you that your init-script ddidn't used /var/lock/subsys - this may be omitted, but more better idea is to fix init-script. All you need is to touch /var/lock/subsys/firebird at start and remove it at stop. See /etc/init.d/rsyslog for example. * regarding messages about dangerous-command-in- - Im afraid we cannot do much here, so we should omit them too. At least for now. If some issues will occur, then you should solve them as they will go. * Regarding "firebird.ppc64: W: name-repeated-in-summary Firebird" - easyfix. * Regarding "firebird-classic.ppc64: W: obsolete-not-provided firebird-client-embedded" - please add "Provides: firebird-client-embedded" also. * "firebird-superserver.ppc64: W: incoherent-init-script-name firebird" - should be ignored. * "firebird-devel.ppc64: E: invalid-soname /usr/lib64/firebird/lib/libib_util.so libib_util.so" - should be ignored * "firebird-server-common.ppc64: E: zero-length /var/log/firebird/firebird.log" - should be ignored. Ok, please comment this remaining rpmlint message: * firebird-server-common.ppc64: E: non-readable /etc/firebird/security2.fdb 0660 And we'll move further. Thanks, Zarko! Philippe, please, investigate this issue too: https://bugzilla.redhat.com/show_bug.cgi?id=488100#c50 Regarding build failure on F-11 - Philippe, please use "autoreconf -vfi" instead of your (probably buggy) handwritten "NOCONFIGURE=1 ./autogen.sh" See build log with autoreconf: http://koji.fedoraproject.org/koji/taskinfo?taskID=1311072 thanks for all reports, I'll take care of for : * firebird-server-common.ppc64: E: non-readable /etc/firebird/security2.fdb 0660 that's a security issue, only firebird may have rights on this file it is the database where are stored all users (and their passsword) that can connect to Firebird databases. All builds are ok http://koji.fedoraproject.org/koji/taskinfo?taskID=1311836 http://ibphoenix.fr/fedora/firebird.spec http://ibphoenix.fr/fedora/firebird-2.1.2.18118.0-2.fc10.src.rpm upgraded Seems that now rpmlint results are better I shouldn't trust as much the previous work that was made ;) To benefit upstream the following bugs may be submitted: * Bugs in configure. First, ppc64 case should be added to target switch in configure.in (as powerpc64-*-linux* or so). And proper libdir set there. * Bug in autogen.sh. It relies on libtool message to get location of aclocal.m4. But in this case, in new libtool message that message somehow changed and pattern didn't handle that. Consider using of aclocal for this task (like autoreconf does). Fixing this bugs upstream will benefit them. But this won't have influnce on review as workarounds were made in spec. (In reply to comment #57) > All builds are ok > > http://koji.fedoraproject.org/koji/taskinfo?taskID=1311836 > > http://ibphoenix.fr/fedora/firebird.spec > http://ibphoenix.fr/fedora/firebird-2.1.2.18118.0-2.fc10.src.rpm > upgraded > > Seems that now rpmlint results are better > I shouldn't trust as much the previous work that was made ;) Ok, we almost finished. But few issues still remains: * Do not use grep while searching for users and grups. Although you're searching for already created user in a correct way, your attempt to check whether or not firebird group exists needs fixing. See comments from Pavel, https://bugzilla.redhat.com/show_bug.cgi?id=488100#c17 and from Wart, https://bugzilla.redhat.com/show_bug.cgi?id=488100#c18 . I suggest you to use getent group %{name} instead if grepping /etc/group. - grep -q %{name} /etc/group || /usr/sbin/groupadd -r %{name} || true + getent group %{name} || /usr/sbin/groupadd -r %{name} || true * I don't fully understand "|| true" at the end of oneliners for safe user/group creation. Are you assuming that there is a chance that user/group creation will fail? Should we simply abort installation in this case? I'm waiting for scratchbuild at F-10 ( http://koji.fedoraproject.org/koji/taskinfo?taskID=1313853 ), but seems that trick with autoreconf works. sorry I forget this one ok http://ibphoenix.fr/fedora/firebird.spec upgraded http://ibphoenix.fr/fedora/firebird-2.1.2.18118.0-3.fc10.src.rpm available (In reply to comment #58) > To benefit upstream the following bugs may be submitted: > > * Bugs in configure. First, ppc64 case should be added to target switch in > configure.in (as powerpc64-*-linux* or so). And proper libdir set there. > noted, seems that I need to propose a patch for this to Firebird Project > * Bug in autogen.sh. It relies on libtool message to get location of > aclocal.m4. But in this case, in new libtool message that message somehow > changed and pattern didn't handle that. Consider using of aclocal for this task > (like autoreconf does). > this one is done in the upstream "according to Alex from Firebird admin team : in Head autogen.sh have: echo "Running autoreconf ..." $AUTORECONF --install --force --verbose || exit 1 And some hacks to work around known bugs in old versions. This is in head. I do not backport it to release versions cause there are still troubles with some autoconf/libtoolize/automake combinations, but hope to solve and backport before 2.1.3." Before final review, I need to clarify one bureaucratic thing - who will be maintainer of this package - you, Philippe, or initial reporter, Jonathan? There is an technical issue (another one nail into the bugzilla's coffin) - AFAIK only Jonathan can raise/clear flags in this ticket (because he is an reporter), not you, Philippe. (In reply to comment #62) > Before final review, I need to clarify one bureaucratic thing - who will be > maintainer of this package - you, Philippe, or initial reporter, Jonathan? > > There is an technical issue (another one nail into the bugzilla's coffin) - > AFAIK only Jonathan can raise/clear flags in this ticket (because he is an > reporter), not you, Philippe. As Jonathan wanted, I let him choose I have no problem to become the maintainer if need. but in that case, it seems that I needed to be sponsored for what I understand ? Do you think about making packages for epel-4, epel-5 too? I've tried rebuilt your latest src.rpm in my mock environment (epel-4, epel-5 for i386 and x86_64) and it was successful. Can I help with it, I will use it definitely. (In reply to comment #64) > Do you think about making packages for epel-4, epel-5 too? yes of course > Can I help with it, I will use it definitely. any help appreciate, I don't know all the details and procedure to make it append REVIEW: - rpmlint is not silent: [petro@host-12-116 Desktop]$ rpmlint firebird-* firebird.i386: E: no-binary firebird.i386: W: no-documentation firebird-classic.i386: W: no-documentation firebird-classic.i386: W: dangerous-command-in-%post ln firebird-classic.i386: W: dangerous-command-in-%preun rm firebird-devel.i386: E: invalid-soname /usr/lib/firebird/lib/libib_util.so libib_util.so firebird-devel.i386: W: no-documentation firebird-libfbclient.i386: W: no-documentation firebird-libfbembed.i386: W: no-documentation firebird-server-common.i386: W: no-documentation firebird-server-common.i386: W: dangling-relative-symlink /usr/lib/firebird/bin/gsec ../tools/gsec firebird-server-common.i386: W: non-standard-uid /etc/firebird/security2.fdb firebird firebird-server-common.i386: W: non-standard-gid /etc/firebird/security2.fdb firebird firebird-server-common.i386: E: non-readable /etc/firebird/security2.fdb 0660 firebird-server-common.i386: W: dangling-relative-symlink /usr/lib/firebird/bin/gpre ../tools/gpre firebird-server-common.i386: W: dangling-relative-symlink /usr/lib/firebird/bin/changeDBAPassword.sh ../tools/changeDBAPassword.sh firebird-server-common.i386: W: non-conffile-in-etc /etc/profile.d/firebird.csh firebird-server-common.i386: W: non-standard-uid /var/log/firebird/firebird.log firebird firebird-server-common.i386: W: non-standard-gid /var/log/firebird/firebird.log firebird firebird-server-common.i386: E: zero-length /var/log/firebird/firebird.log firebird-server-common.i386: W: dangling-relative-symlink /usr/lib/firebird/bin/gdef ../tools/gdef firebird-server-common.i386: W: dangling-relative-symlink /usr/lib/firebird/bin/changeRunUser.sh ../tools/changeRunUser.sh firebird-server-common.i386: W: non-standard-uid /usr/share/firebird/data firebird firebird-server-common.i386: W: non-standard-gid /usr/share/firebird/data firebird firebird-server-common.i386: W: non-conffile-in-etc /etc/profile.d/firebird.sh firebird-server-common.i386: W: non-standard-uid /usr/share/firebird/backup firebird firebird-server-common.i386: W: non-standard-gid /usr/share/firebird/backup firebird firebird-server-common.i386: W: dangling-relative-symlink /usr/lib/firebird/bin/restoreRootRunUser.sh ../tools/restoreRootRunUser.sh firebird-server-common.i386: W: non-standard-uid /usr/share/firebird firebird firebird-server-common.i386: W: non-standard-gid /usr/share/firebird firebird firebird-superserver.i386: W: no-documentation firebird-superserver.i386: W: non-standard-uid /var/run/firebird firebird firebird-superserver.i386: W: non-standard-gid /var/run/firebird firebird firebird-superserver.i386: W: dangerous-command-in-%post ln firebird-superserver.i386: W: dangerous-command-in-%preun rm firebird-superserver.i386: W: incoherent-init-script-name firebird 9 packages and 0 specfiles checked; 4 errors, 32 warnings. [petro@host-12-116 Desktop]$ I commented almost all of these messages, except two if them, named as "non-conffile-in-etc": firebird-server-common.i386: W: non-conffile-in-etc /etc/profile.d/firebird.csh firebird-server-common.i386: W: non-conffile-in-etc /etc/profile.d/firebird.sh In order to suppress this messages, you should mark these two files as %config: - %{_sysconfdir}/profile.d/firebird.csh - %{_sysconfdir}/profile.d/firebird.sh + %config %{_sysconfdir}/profile.d/firebird.csh + %config %{_sysconfdir}/profile.d/firebird.sh Easy to fix. + The package is named according to the Package Naming Guidelines. + The spec file name matches the base package %{name}, in the format %{name}.spec. +/- The package meets the Packaging Guidelines, except %doc issues (see below). + The package is licensed with a Fedora approved license and meets the Licensing Guidelines. + The License field in the package spec file matches the actual license. - The file, containing the text of the license(s) for the package MUST be included in %doc. Also there are other issues with doc-subpackage (see below). + The spec file is written in American English. + The spec file for the package is legible. + The sources used to build the package matches the upstream source, as provided in the spec URL. [petro@Sulaco SOURCES]$ md5sum Firebird-2.1.2.18118-0.tar.bz2* 063b3825a06d328f726b733fd74614b1 Firebird-2.1.2.18118-0.tar.bz2 063b3825a06d328f726b733fd74614b1 Firebird-2.1.2.18118-0.tar.bz2.1 [petro@Sulaco SOURCES]$ + The package successfully compiles and builds into binary rpms on at least one primary architecture. http://koji.fedoraproject.org/koji/taskinfo?taskID=1314169 + All build dependencies are listed in BuildRequires. + Every sub-package which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, is calling ldconfig in %post and %postun. +/- A package owns all directories that it creates. Unfortunately, some sub-packages claims ownership of the same directories. For example, libfbclient and libfbembed both have "%dir %{fbroot}/lib". This should be fixed. I advice you to move some or even all common directories to metapackage firebird, which is currently empty. - The package and its subpackages MUST not list a file more than once in the spec file's %files listings, unfortunately %dir %{fbroot}/tools-classic %dir %{fbroot}/bin listed twice in %files section of classic sub-package. + Permissions on files are set properly. + The package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). + The package consistently use macros. + The package contains code, or permissable content. +/- Large documentation files are in a -doc subpackage. But see below notes about %doc + Anything, the package includes as %doc, does not affect the runtime of the application. + Header files are in a -devel package. + No static libraries at all. + No pkgconfig(.pc) files. + The library files that end in .so (without suffix) are in a -devel package. - In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}, but firebird-devel requires only %{name} = %{version}. Please fix, or explain. + The package does NOT contain any .la libtool archives. + Not a GUI application. + The package does not own files or directories already owned by other packages. Except issues with sub-packages noted above. + At the beginning of %install, each package runs rm -rf %{buildroot} (or $RPM_BUILD_ROOT). + All filenames in rpm packages are valid UTF-8. There is an issue with %doc. Firstly, you must include in every sub-package (except *-devel) doc/license/IDPL.txt and doc/license/README.license.usage.txt. Just add %doc doc/license/IDPL.txt %doc doc/license/README.license.usage.txt Secondly, you shouldn't include %{_defaultdocdir}/%{name}/ and even create it in the %install section. Instead of this just include necessary files right in the %files section. E.g. - mkdir -p %{buildroot}%{_defaultdocdir}/%{name} - mv %{buildroot}%{fbroot}/README %{buildroot}%{_defaultdocdir}/%{name}/README - mv %{buildroot}%{fbroot}/WhatsNew %{buildroot}%{_defaultdocdir}/%{name}/WhatsNew - mv %{buildroot}%{fbroot}/examples/ %{buildroot}%{_defaultdocdir}/%{name}/examples/ - mv %{buildroot}%{fbroot}/doc/ %{buildroot}%{_defaultdocdir}/%{name}/ ... %files doc %defattr(0644,root,root,0755) - %doc %{_defaultdocdir}/%{name}/ + %doc doc + %doc examples %doc directive, if full path is omitted, looks at your ~/rpmbuild/BUILD/%{pkgname} directory, so feel free to add docs right from there. Please properly fix oneliner at line 232. (In reply to comment #66) > There is an issue with %doc. Firstly, you must include in every sub-package > (except *-devel) doc/license/IDPL.txt and doc/license/README.license.usage.txt. > Just add > > %doc doc/license/IDPL.txt > %doc doc/license/README.license.usage.txt Hum, interesting it means that one file can be listed more than once ? (In reply to comment #67) > (In reply to comment #66) > > %doc doc/license/IDPL.txt > > %doc doc/license/README.license.usage.txt > > Hum, interesting > it means that one file can be listed more than once ? Nope. Files listed as %doc are handled slightly different that other files. For example, if you add the following line %doc doc/license/IDPL.txt into %files section of subpackages "bar1" and "bar2" of package "foo" then rpmbuild will search for ~/rpmbuild/BUILD/%{pkgname}/doc/license/IDPL.txt and will place it as /usr/share/doc/foo-bar1-%{version}/IDPL.txt in the subpackage foo-bar1 and as /usr/share/doc/foo-bar2-%{version}/IDPL.txt in the subpackage foo-bar2. These files have different paths, so they are different. just a note, in fact I made serious Q/A test on all that, and found on major issue a major re work is needed (In reply to comment #69) > just a note, in fact I made serious Q/A test on all that, and found on major > issue > a major re work is needed Good. It's better to find it now, than later :) Makowski can be the maintainer Please can you check this : http://ibphoenix.fr/fedora/firebird.spec http://ibphoenix.fr/fedora/firebird-2.1.2.18118.0-4.fc10.src.rpm Waiting for scratchbuild at F-10 (may be I broke ppc64) : http://koji.fedoraproject.org/koji/taskinfo?taskID=1318031 There are some rpmlint Errors and Warning I'm not sure Thanks Found my mistake, I'll post new files in few hours rpmlint : 9 packages and 0 specfiles checked; 4 errors, 23 warnings. not so bad ;) Done : F10 : http://koji.fedoraproject.org/koji/taskinfo?taskID=1318777 F11 : http://koji.fedoraproject.org/koji/taskinfo?taskID=1318782 Epel5 : http://koji.fedoraproject.org/koji/taskinfo?taskID=1318787 http://ibphoenix.fr/fedora/firebird.spec http://ibphoenix.fr/fedora/firebird-2.1.2.18118.0-4.fc10.src.rpm updated I think you can finish your review now Sorry for the delay. Still there are some issues with directories owning: * devel sub-package should own %{fbroot}/include/ * libfbclient and libfbembed both owns %{fbroot}/lib and they both can be installed. * server-common sub-package should own %{_localstatedir}/log/%{name} * server-common sub-package should own %{fbroot}/intl * server-common sub-package should own %{_sysconfdir}/%{name} Other things looks sane. (In reply to comment #75) > * devel sub-package should own %{fbroot}/include/ > * server-common sub-package should own %{_localstatedir}/log/%{name} > * server-common sub-package should own %{fbroot}/intl > * server-common sub-package should own %{_sysconfdir}/%{name} > ok easy to fix but this one : > * libfbclient and libfbembed both owns %{fbroot}/lib and they both can be > installed. I don't know how to fix the fact that both use %{fbroot}/lib One question : for defaut directory to store data (databases files) is it better to use %{_localstatedir}/lib/%{name}/data/ or %{_datadir}/%{name}/data/ with %attr(0770,%{name},%{name}) Please check : http://ibphoenix.fr/fedora/firebird.spec http://ibphoenix.fr/fedora/firebird-2.1.2.18118.0-5.fc10.src.rpm (In reply to comment #78) > Please check : > > http://ibphoenix.fr/fedora/firebird.spec > http://ibphoenix.fr/fedora/firebird-2.1.2.18118.0-5.fc10.src.rpm I did - simple removal of directory from one sub-package isn't acceptable. I propose you to create another one sub-package - firebird-filesystem, which will contain all (or almost all) firebird directories and nothing else. All other sub-packages should require this one. Here is a list of all owned directories, listed in spec. $ grep ^%dir firebird.spec | sed s/" %attr(.*)"//g|sort %dir %{fbroot} %dir %{fbroot}/bin-classic %dir %{fbroot}/bin-superserver %dir %{fbroot}/include %dir %{fbroot}/intl %dir %{fbroot}/lib %dir %{fbroot}/UDF-classic %dir %{fbroot}/UDF-superserver %dir %{_localstatedir}/lib/%{name} %dir %{_localstatedir}/lib/%{name}/data %dir %{_localstatedir}/log/%{name} %dir %{_sysconfdir}/%{name} %dir %{_var}/run/%{name} $ However we should not set all directories ownership to this sub-package. I think that we may limit directory ownership of filesystem-subpackage by %{fbroot} (since every sub-package depends on it) and %{fbroot}/lib (since it doesn't harm anyone). > However we should not set all directories ownership to this sub-package. I
> think that we may limit directory ownership of filesystem-subpackage by
> %{fbroot} (since every sub-package depends on it) and %{fbroot}/lib (since it
> doesn't harm anyone).
I don't understand what you wanted to solve doing that
In fact %{fbroot}/lib is need for server-common, libfbembed and libfbclient
but ok, let see if you agree with this :
%package filesystem
Summary: Filesystem for Firebird SQL RDBMS
Group: Applications/Databases
%description filesystem
This is the Firebird SQL Database root file system.
%files filesystem
%dir %attr(0755,%{name},%{name}) %{fbroot}
%dir %{fbroot}/lib
and add Requires: %{name}-filesystem
to server-common, libfbembed and libfbclient
would it be ok ?
Created attachment 342172 [details]
spec with filesystem-subpackage
for checking
Finaly I made filesystem-subpackage and move all that was in common into firebird see: http://koji.fedoraproject.org/koji/taskinfo?taskID=1333348 http://ibphoenix.fr/fedora/firebird.spec http://ibphoenix.fr/fedora/firebird-2.1.2.18118.0-6.fc10.src.rpm Ok, I don't see other serious issues so far. So, please tell me - who will be a primary maintainer of Firebird? You, Philippe, or Jonathan? Since my fedora account was upgraded recently, I can sponsor you, so this is not a problem. (In reply to comment #83) > Ok, I don't see other serious issues so far. Thanks, I appreciate your help > So, please tell me - who will be a > primary maintainer of Firebird? You, Philippe, or Jonathan? Since my fedora > account was upgraded recently, I can sponsor you, so this is not a problem. since Jonathan said that I can be the one (https://bugzilla.redhat.com/show_bug.cgi?id=488100#c71), I'll be (In reply to comment #84) > (In reply to comment #83) > > Ok, I don't see other serious issues so far. > Thanks, > I appreciate your help > > > So, please tell me - who will be a > > primary maintainer of Firebird? You, Philippe, or Jonathan? Since my fedora > > account was upgraded recently, I can sponsor you, so this is not a problem. > > since Jonathan said that I can be the one > (https://bugzilla.redhat.com/show_bug.cgi?id=488100#c71), I'll be Ok, then you should * Open another ticket for firebird review * Mark this one as duplicate of your new ticket. And then I'll approve it. You should start with filling this form: https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&format=extras-review ok 498790 created Jonathan, please mark this one (488100) as duplicate of 498790 thanks *** This bug has been marked as a duplicate of bug 498790 *** sorry for the wait ... |