Spec Name or Url: http://perso.wanadoo.fr/eric.tanguy/freehdl.spec SRPM Name or Url: http://perso.wanadoo.fr/eric.tanguy/freehdl-0.0.1-1.src.rpm Description: A project to develop a free, open source, GPL'ed VHDL simulator for Linux. rpmlint ../RPMS/i386/freehdl-0.0.1-1.i386.rpm E: freehdl invalid-dependency /usr/local/bin/perl E: freehdl info-files-without-install-info-postin /usr/share/info/fire.info.gz E: freehdl info-files-without-install-info-postun /usr/share/info/fire.info.gz E: freehdl wrong-script-interpreter /usr/bin/gvhdl "/usr/local/bin/perl" rpmlint ../RPMS/i386/freehdl-devel-0.0.1-1.i386.rpm W: freehdl-devel no-documentation W: freehdl-devel non-executable-in-bin /usr/bin/freehdl-config 0644 E: freehdl-devel non-executable-script /usr/bin/freehdl-config 0644 W: freehdl-devel dangling-relative-symlink /usr/lib/freehdl/libieee.so libieee.so.0.0.0
-freehdl-config should be set executable -See: http://fedoraproject.org/wiki/ScriptletSnippets under Texinfo for information about getting rid of the "info-files-without-install-info" errors
I updated the files without changing the release number : rpmlint ../RPMS/i386/freehdl-0.0.1-1.i386.rpm E: freehdl invalid-dependency /usr/local/bin/perl E: freehdl wrong-script-interpreter /usr/bin/gvhdl "/usr/local/bin/perl" I need to change /usr/local/bin/perl to /usr/bin/perl with sed but i don't know how to do this. Help needed. Please. rpmlint ../RPMS/i386/freehdl-devel-0.0.1-1.i386.rpm W: freehdl-devel no-documentation W: freehdl-devel dangling-relative-symlink /usr/lib/freehdl/libieee.so libieee.so.0.0.0
If you want to do it in %install, this should work after the files have been installed: sed -i "s|/usr/local/bin/perl|%{__perl}|" $RPM_BUILD_ROOT%{_bindir}/gvhdl
Actually I don't think this is a problem. On my system at least, perl gets detected properly in /usr/bin/perl. My gvhdl reflects this correctly. Do you happen to have an installation of perl in /usr/local/bin/perl?
You are right. I had a symlink /usr/local/bin/perl pointing /usr/bin/perl. I delete it and now i don't have this error. So this package needs a formal review. Thanks
Ooops I made a mistake because this kind of packages don't have to be split in package and package-devel. So i updated the files : Spec Name or Url: http://perso.wanadoo.fr/eric.tanguy/freehdl.spec SRPM Name or Url: http://perso.wanadoo.fr/eric.tanguy/freehdl-0.0.1-1.src.rpm But i have a lot of problems with rpmbuild : rpmlint ../RPMS/i386/freehdl-0.0.1-1.i386.rpm W: freehdl unstripped-binary-or-object /usr/lib/debug/usr/bin/freehdl-v2cc.debug E: freehdl statically-linked-binary /usr/lib/debug/usr/bin/freehdl-v2cc.debug W: freehdl unstripped-binary-or-object /usr/lib/debug/usr/lib/libfreehdl-std.so. 0.0.0.debug W: freehdl no-soname /usr/lib/debug/usr/lib/libfreehdl-std.so.0.0.0.debug E: freehdl shared-lib-without-dependency-information /usr/lib/debug/usr/lib/libf reehdl-std.so.0.0.0.debug W: freehdl unstripped-binary-or-object /usr/lib/debug/usr/lib/libfreehdl-fire.so .0.0.0.debug W: freehdl no-soname /usr/lib/debug/usr/lib/libfreehdl-fire.so.0.0.0.debug E: freehdl shared-lib-without-dependency-information /usr/lib/debug/usr/lib/libf reehdl-fire.so.0.0.0.debug W: freehdl unstripped-binary-or-object /usr/lib/debug/usr/lib/libfreehdl-kernel. so.0.0.0.debug W: freehdl no-soname /usr/lib/debug/usr/lib/libfreehdl-kernel.so.0.0.0.debug E: freehdl shared-lib-without-dependency-information /usr/lib/debug/usr/lib/libf reehdl-kernel.so.0.0.0.debug W: freehdl unstripped-binary-or-object /usr/lib/debug/usr/lib/libfreehdl-cdfggen .so.0.0.0.debug W: freehdl no-soname /usr/lib/debug/usr/lib/libfreehdl-cdfggen.so.0.0.0.debug E: freehdl shared-lib-without-dependency-information /usr/lib/debug/usr/lib/libf reehdl-cdfggen.so.0.0.0.debug W: freehdl unstripped-binary-or-object /usr/lib/debug/usr/lib/freehdl/libieee.so .0.0.0.debug E: freehdl shared-lib-without-dependency-information /usr/lib/debug/usr/lib/free hdl/libieee.so.0.0.0.debug W: freehdl unstripped-binary-or-object /usr/lib/debug/usr/lib/libfreehdl-vaul.so .0.0.0.debug W: freehdl no-soname /usr/lib/debug/usr/lib/libfreehdl-vaul.so.0.0.0.debug E: freehdl shared-lib-without-dependency-information /usr/lib/debug/usr/lib/libf reehdl-vaul.so.0.0.0.debug My main problem is below with unstripped-binary-or-object I think the lines above are not important in this case. W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-cdfggen.so W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/kernel.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/FlexLexer.h W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-vaul.a W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-chunk.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-ref.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-lexer.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-creator-bas e.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-parser.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-mempool.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/cdfggen-chunk.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/tree-supp.h W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-kernel.so W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-list.h W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-fire.a W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-std.so W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-util.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/std.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-types.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul.h W: freehdl devel-file-in-non-devel-package /usr/lib/freehdl/libieee.a W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/fire-types.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/fire-chunk.h W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-kernel.a W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-vaul.so W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-dfile.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-dunit.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-pool.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-dynarray.h W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-fire.so W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-printer.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-errors.h W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-std.a W: freehdl devel-file-in-non-devel-package /usr/bin/freehdl-config W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-cdfggen.a W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/fire.h
(In reply to comment #6) > W: freehdl no-soname /usr/lib/debug/usr/lib/libfreehdl-vaul.so.0.0.0.debug > E: freehdl shared-lib-without-dependency-information /usr/lib/debug/usr/lib/libf > reehdl-vaul.so.0.0.0.debug > > My main problem is below with unstripped-binary-or-object > I think the lines above are not important in this case. You should not use â%{_libdir}/*â in %files section, because final package will contain files from debug subpackage, which is just plain wrong.
%{_libdir}/freehdl/ %{_libdir}/libfreehdl* should resolve your problem. BTW is there any reason why don't you use `--disable-dependency-tracking --disable-static' flags? This will speed up build process and remove static libraries.
I'm sorry but i'm quite new in packaging. This is the first time i package such a soft and i know nothing about `--disable-dependency-tracking --disable-static'. What is it ? How you use it ? What are the advantages and the disadvantages of using or not using these flags ? Thanks
Eric, As Dawid said, --disable-dependancy-tracking speeds one-time builds --disable-static omits static libs Add these to %configure, like %configure \ --disable-dependancy-tracking \ --disable-static
Thanks all. New version : Spec Name or Url: http://perso.wanadoo.fr/eric.tanguy/freehdl.spec SRPM Name or Url: http://perso.wanadoo.fr/eric.tanguy/freehdl-0.0.1-1.src.rpm rpmlint ../RPMS/i386/freehdl-0.0.1-1.i386.rpm W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-cdfggen.so W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/kernel.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/FlexLexer.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-chunk.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-ref.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-lexer.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-creator-base.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-parser.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-mempool.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/cdfggen-chunk.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/tree-supp.h W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-kernel.so W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-list.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-dynarray.h W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-std.so W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-util.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/std.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-types.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/fire-types.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/fire-chunk.h W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-vaul.so W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-dfile.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-dunit.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-pool.h W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-fire.so W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-printer.h W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/vaul-errors.h W: freehdl devel-file-in-non-devel-package /usr/bin/freehdl-config W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/fire.h I think it's not relevant with this package. The new version works fine with the new version of qucs which now support also digital simulation!!
May someone make a review of this package, please? This dependency is blocking qucs update.
(In reply to comment #11) > Thanks all. > New version : > Spec Name or Url: http://perso.wanadoo.fr/eric.tanguy/freehdl.spec > SRPM Name or Url: http://perso.wanadoo.fr/eric.tanguy/freehdl-0.0.1-1.src.rpm > > rpmlint ../RPMS/i386/freehdl-0.0.1-1.i386.rpm > W: freehdl devel-file-in-non-devel-package /usr/lib/libfreehdl-cdfggen.so ... > W: freehdl devel-file-in-non-devel-package /usr/include/freehdl/fire.h > > I think it's not relevant with this package. What makes you think so? I disagree on this. If these files are host development files (very likely), then they should go to a *-devel package, if these files are target development files they are miss-places. I'd suggest you to implement a *-devel package. Besides this, there are further minor issues: * freehdl-config --cxxflags returns -I/usr/include * freehdl-config --ldflags returns -L/usr/lib * Some of the doc files aren't utf-8 nor asci encoded (German umlauts, probably iso8859-1 or iso8859-15 encoded).
(In reply to comment #13) ... > > I think it's not relevant with this package. > What makes you think so? I disagree on this. > If these files are host development files (very likely), then they should go to > a *-devel package, if these files are target development files they are > miss-places. I'd suggest you to implement a *-devel package. I don't know what to do about it! at the beginning i have implemented a devel package but contacting upstream and comparing with ghdl (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=172547) leads me to make only one package as for a compliler. All these files are needed by freehdl to be compiled with gcc. I'm not a specialist with this so i would like to have more opinions. > Besides this, there are further minor issues: > * freehdl-config --cxxflags returns -I/usr/include > * freehdl-config --ldflags returns -L/usr/lib I'm not sure to see where the problem is. the returns seems fine for me. no ? > * Some of the doc files aren't utf-8 nor asci encoded (German umlauts, probably > iso8859-1 or iso8859-15 encoded). You are right. How to solve this ?
(In reply to comment #14) > (In reply to comment #13) > ... > > > I think it's not relevant with this package. > > What makes you think so? I disagree on this. > > If these files are host development files (very likely), then they should go to > > a *-devel package, if these files are target development files they are > > miss-places. I'd suggest you to implement a *-devel package. > > I don't know what to do about it! at the beginning i have implemented a devel > package but contacting upstream and comparing with ghdl > (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=172547) leads me to make > only one package as for a compliler. All these files are needed by freehdl to be > compiled with gcc. I'm not a specialist with this so i would like to have more > opinions. I don't know about ghdl, and can't comment on it. May-be it's carelessly packaged - I don't know. However, that's why I asked if these files are host (linux) or target (vhdl) files. If these are target files, they must be shipped as part of the application package, but must be moved out of the standard include/library paths . If these are host files and specify the API to the libraries inside of the library package, then these files belong into a devel package. If the applications (compiler) require the headers and/or libraries, then it proably would be best to split the package into 3 subpackages, say apps, devel and libs. Unfortunately, I am not familiar with this package's details and also could not find any example on how to use it. Do you have a pointer to an example? This would help clarifying this point. > > Besides this, there are further minor issues: > > * freehdl-config --cxxflags returns -I/usr/include > > * freehdl-config --ldflags returns -L/usr/lib > > I'm not sure to see where the problem is. the returns seems fine for me. no ? No, /usr/lib and /usr/include are on the system include/library paths in GCC. Therefore, explicitly passing them to the compiler always is a bug because it interferes with the system include/library paths (cf. -isystem in gcc.info rsp. man gcc). Should a package require them, its design is broken. > > * Some of the doc files aren't utf-8 nor asci encoded (German umlauts, probably > > iso8859-1 or iso8859-15 encoded). > > You are right. How to solve this ? Apply iconv ("iconv -f iso8859-1 -t utf-8") to the source files somewhere inside of the spec (e.g. in %prep). Alternatively, you could do this outside of the spec and apply a patch.
I contacted the upstream team to obtain some explanation : ---------- the freehdl thingie does this: Probably you understand better then... 1. Translates a VHDL file into C++ file(s). 2. Runs a C++ compiler (gcc) in order to compile the generated files. This is why the header files are required for the app! 3. Runs a C++ compiler (gcc) in order to link the objects produced in step 2 to produce a binary. In this step the libraries are used, so these are required for the app as well! 4. Runs the binary produced in step 3. ---------- so i think all the files are required in only one package, no ? (In reply to comment #15) > No, /usr/lib and /usr/include are on the system include/library paths in GCC. > Therefore, explicitly passing them to the compiler always is a bug because it > interferes with the system include/library paths (cf. -isystem in gcc.info rsp. > man gcc). Should a package require them, its design is broken. The flags etc. necessary if someone would like to relocate the package (other --prefix than /usr). So i think it's an upstream problem, no ? (In reply to comment #15) > Apply iconv ("iconv -f iso8859-1 -t utf-8") to the source files somewhere inside > of the spec (e.g. in %prep). Alternatively, you could do this outside of the > spec and apply a patch. Please let me know which files have this problem then i could solve it and fill a bug upstream
May someone review this package, please? This dependency is blocking qucs update.
- Missing Requires(post): /sbin/ldconfig The rest looks good to me. Fix that up then consider it APPROVED.