Spec URL: http://rpm.forevermore.net/dar/dar.spec SRPM URL: http://rpm.forevermore.net/dar/dar-2.3.1-1.src.rpm Description: DAR is a command line tool to backup a directory tree and files. DAR is able to make differential backups, split them over a set of disks or files of a given size, use compression, filter files or subtrees to be saved or not saved, directly access and restore given files. DAR is also able to handle extented attributes, and can make remote backups through an ssh session for example. Finally, DAR handles save and restore of hard and symbolic links.
1. Well, static binary is strictly forbidden in fedora. 1-A please explain why it is needed (note: even if you explain why, perhaps most reviewers including me will not accept it). 1-B I don't know well about NSS service, however, static binary in this package seems meaningless anyway because you can see in the build log: /builddir/build/BUILD/dar-2.3.1/src/libdar/.libs/libdar.a(tools.o): In function `libdar::tools_name_of_gid(unsigned short)': /builddir/build/BUILD/dar-2.3.1/src/libdar/tools.cpp:416: warning: Using 'getgrgid' in statically linked applications requires at runtime the sh ared libraries from the glibc version used for linking /builddir/build/BUILD/dar-2.3.1/src/libdar/.libs/libdar.a(tools.o): In function `libdar::tools_name_of_uid(unsigned short)': /builddir/build/BUILD/dar-2.3.1/src/libdar/tools.cpp:402: warning: Using 'getpwuid' in statically linked applications requires at runtime the sh ared libraries from the glibc version used for linking * Similarly, please explain why %{_libdir}/*.a is necessary (as said above, even if you explained why, it won't be accepted unless there is quite a reasonable reason).
The static binary is required because this is a backup program; the static binary is copied to the backup disks for ease of restoration on a system that can't/doesn't have dar otherwise installed (also why it's a separate package, since this is an optional feature encouraged by upstream). I don't know what's up with the dynamic linking, but it sounds like something that should be fixed (I'll ask upstream assuming the previous "why" is a worthy answer). I don't know what .a files are, so they're included.
Let me ammend that: I don't know what .a files are, so they're included. If they shouldn't be, I'll remove them.
(In reply to comment #3) > I don't know what .a files are, so they're included. > If they shouldn't be, I'll remove them. *.a files are static archives and except for a few exceptions these files should be removed, especially when symlinks against dynamic libraries are available (i.e. *.so). (In reply to comment #2) > I don't know what's > up with the dynamic linking, but it sounds like something that should be fixed > (I'll ask upstream assuming the previous "why" is a worthy answer). By google, this means that dar_static needs glibc libraries used when building this. If static binary is needed, this needs fixing.
Well, would you contact upstream about the warning I have commented?
And what makes you think I haven't? It just took awhile to get a reply, which I am pasting below at his request: Hello, Chris has well explained the reason why a statically linked version of dar is built, and why it is provided by default. If statically linked binary as well as static library is not allowed, you can avoid having them being built using the following configuration options: ./configure --disable-dar-static --disable-static the first option disables the building of dar_static, the second disables the building of a static version of libdar. Please however inform users that the dar_static version (mentionned in the documentation) is not built due to Fedora internal policy. Kind Regards, Denis.
And on that note, Denis has also pointed out that the problem appears to be a bug (or feature?) in glibc that just prevents it from making proper static binaries, so unless fedora has an ability to build with an older glibc, I'll just make the -static subpackage an option for building from srpm for those who want it.
(In reply to comment #7) > And on that note, Denis has also pointed out that the problem appears to be a > bug (or feature?) in glibc that just prevents it from making proper static > binaries, so unless fedora has an ability to build with an older glibc, I'll > just make the -static subpackage an option for building from srpm for those who > want it. The problem appears not for "building" static dar binary, but for "using" static binary as using NSS service requires the same glibc library used which is used when building static-dar. And this is NSS feature and not specified to fedora. Debian seems to have static dar binary, however I think this is wrong anyway. So I think if using static dar is preferable, the source code of dar used for static mode surely needs fixing so as not to use NSS service. My current opinion is that this is dar-static bug and dar-static should not be included unless source code is fixed properly.
ping?
Been busy. Will get to this when I have time.
ok, updated files: http://rpm.forevermore.net/dar/dar-2.3.1-2.src.rpm http://rpm.forevermore.net/dar/dar.spec Disabled the static build by default, esp. since the current glibc seems to be broken and won't actually produce a real static binary, anyway. I can't retest this in mock at the moment since I'm still in the middle of setting up fc6, but it should still work fine.
Okay, first full review of this package (dar). Almost okay. 1. From http://fedoraproject.org/wiki/Packaging/Guidelines : * rpmlint rpmlint is not silent. W: dar file-not-utf8 /usr/share/man/man1/dar.1.gz dar.1.gz contains ISO-8859-1 character (around the line 341). -------------------------------------------------------------------- This allows one to merge two archive in a single one. See also -$, -<THIS CHARACTER> and -% for other options concerning auxiliary archive of reference -------------------------------------------------------------------- Please change this character MANUALLY (iconv does not work for this case as this character seems to be tilde, while iconv tries to change this character to English pound character. * Requires: - For libdar-devel Usually the dependency for main package (for this package, it is libdar) is release-specific. i.e. Requires: libdar = %{version}-%{release} - Provides like Provides: libdar = %{version}-%{release} are all unnecessary as rpm always provides these implicitly. * BuildRequires: - Redundant BuildRequires is found. * zlib-devel <- this is required by openssl-devel 2. http://fedoraproject.org/wiki/Packaging/ReviewGuidelines = Nothing. 3. Other things I have noticed: * README.Fedora - Okay, this document is very preferable. Also I recommend you add your name and the date when you wrote this.
Note: I will be busy till this Thursday (in Japan: EST+14h) and I may not be able to check your srpm by that day.
Now I am alive and please submit a new srpm when you create it.
Updated again http://rpm.forevermore.net/dar/dar-2.3.1-3.src.rpm http://rpm.forevermore.net/dar/dar.spec - Fix/standardize Requires/Provides for libdar and libdar-devel - Remove redundant zlib-devel (covered by openssl-devel) - Update README.Fedora with my name/date, as requested in the ticket - Add a patch to fix a funky character in man/dar.1
Okay. ---------------------------------------------- This package (dar) is APPROVED by me.
Package Change Request ====================== Package Name: dar New Branches: EL-5 F-7
cvs done. Note that this package already has a F-7 branch.