[Bug 531252] Review Request: lfc - LCG File Catalog (LFC)

bugzilla at redhat.com bugzilla at redhat.com
Wed Dec 9 10:23:41 UTC 2009


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=531252





--- Comment #4 from Mattias Ellert <mattias.ellert at fysast.uu.se>  2009-12-09 05:23:39 EDT ---
Update:

Spec URL: http://www.grid.tsl.uu.se/review/lfc.spec
SRPM URL: http://www.grid.tsl.uu.se/review/lfc-1.7.3.1-4.fc12.src.rpm

(In reply to comment #1)
> Hi,
> 
> Question: There is this lfc building mysql variant and Bug #531252
> building a postgres variant.
> 
> Both look to be build from the same source file?
> 
> Is it possible not to merge these two packages?  

Actually there are 4 packages building from the same tarfile:

  - lfc (bug #531252 - this one)
  - lfc-postgres (bug #531254)
  - dpm (bug #531256)
  - dpm-postgres (bug #531258)

Unfortunately there is no sane way to build all this at the same time in the
same source tree. The configure options for building LFC and DPM are mutually
exclusive. The same is true for building the servers with mysql, postgres (or
oracle) support. The oracle support we can't build for Fedora anyway since the
oracle client libraries are not free - which is kind of fortunate since
otherwise there would be 6 package.

If all the software were to be built in the same source RPM this source RPM
would have to untar the source tarfile 4 times so that the build directory had
4 copies of the source tree, then apply the patches 4 times (once in each of
the source trees), run configure 4 times with different options in each of the
source trees, run make and make install 4 times. It would be a mess. Splitting
it into 4 separate source RPMs seemed to be a much better way to do it to me.
Each of these is more or less standard with setup, configure, make, make
install.

(In reply to comment #2)
> rpmlint errors.
> lfc-mysql.x86_64: E: incoherent-logrotate-file /etc/logrotate.d/lfcdaemon
> 
> I've not looked at the file at the logrotate file at all.

The logrotate files are handled by alternatives so that there are not two
copies of them installed in /etc/logrotate.d if you install both the mysql and
postgres version of the services. The name of the symlink installed by the
alternatives is the same for both packages and both packages own this symlink
as a %ghost, as they should. However, since the name of this symlink must be
the same for both packages it can not have the same name as the package, which
is why rpmlint finds it "incoherent".

> Also it seems not to like "backend" as not being a en_US word. Hyphenate
> I guess:
> 
> lfc-mysql.x86_64: W: spelling-error-in-summary en_US backend

I don't get this complaint with my version of rpmlint.

(In reply to comment #3)
> 1) # rpm -Uvh lfc-1.7.3.1-1.fc13.x86_64.rpm 
> error: Failed dependencies:
>  liblcgdm.so.1()(64bit) is needed by lfc-1.7.3.1-1.fc13.x86_64
> 
> which is course provided by lcgdm-1.7.3.1-1.fc13.x86_64.rpm
> it seems to be normal in these case to explicitly require lcgdb =
> %{version}-%{release} where the provides comes from one of the sub packages so
> as not to end up with mixed versions of package.
> 
>  similar for lfc-mysql as well.

Since the choice of building liblcgdm together with the LFC or the DPM is
arbitrary, the Requires should not depend on this choice, and since having
%{version}-%{release} Requires across source RPMs is a bad idea ...

The same arbitrariness is true for building liblfc together with lfc-mysql or
lfc-postgres.

> 2) # /etc/init.d/lfc-mysql start
> Starting lfcdaemon: FAILED : config file /etc/NSCONFIG empty
> 
> So this file should probably be there as an example or something?
> 
> I guess they come from these files which are apparently duplicated.
> 
> # cat /usr/lib64/lfc-mysql/NSCONFIG.templ 
> <username>/<password>@<host>
> [root at rawhide x86_64]# cat /usr/share/lfc/NSCONFIG.templ
> <username>/<password>@<host>

The duplication is due to the alternatives handling. The installed file is
/usr/lib64/lfc-mysql/NSCONFIG.templ, and the symlink created by alternatives is
/usr/share/lfc/NSCONFIG.templ.

The instructions for creating the /etc/NSCONFIG file is now in the
README.Fedora file (see below).

> 3) The INSTALL-server-mysql is rather misleading to this RPM installation.

Removed - replaced with a README.Fedora (see below).

> 4) A quick read of the init.d script has 
>    /etc/grid-security/$LFCUSER/lfccert.pem
>    so that directory should probably exist.

Directory added.

> 5) The same LICENSE file looks to be duplicated in both lfc and lfc-mysql

Yes, this is again due to making the package content not depend on arbitrary
choices about what parts to build in which source RPM. Since the mysql-postgres
package should have the license file since it is built from a separate rpm it
doesn't make sense for lfc-mysql not to have it since the choice about which
flavour of the server to build in the main package is arbitrary.

> 6) I'm guessing a schema or at least a database has to be created?
>    Maybe a README.Fedora?  

README.Fedora added.

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




More information about the Fedora-package-review mailing list