Unidata / LDM

The Unidata Local Data Manager (LDM) system includes network client and server programs designed for event-driven data distribution, and is the fundamental component of the Unidata Internet Data Distribution (IDD) system.
http://www.unidata.ucar.edu/software/ldm
Other
43 stars 27 forks source link

Support RPM #56

Open semmerson opened 7 years ago

semmerson commented 7 years ago

Some LDM users would like to install from an RPM but the current support for that is poor. Here's an example of a problem (there might be some line formatting errors):

My name is James Brenton and I am a contractor at Marshall Space Flight Center. We are using LDM on our older machines to get meteorological data from a server at the Eastern Range at Cape Canaveral. We're working on migrating to newer virtual machines using the same build of LDM. The virtual machine is running Redhat Linux 7.2 and we're trying to build and install LDM 6.11.2.

We've been trying to build an RPM to install LDM, using these directions where "~" is "/home/ldm/":

1). Make sure the build system is at the same level as the install system. It's okay to build and install on same system.

2). mkdir -p ~/rpmbuild/BUILD ~/rpmbuild/RPMS ~/rpmbuild/RPMS/i386 ~/rpmbuild/RPMS/i686 ~/rpmbuild/RPMS/noarch ~/rpmbuild/SOURCES ~/rpmbuild/SPECS ~/rpmbuild/SRPMS ~/rpmbuild/tmp

3). vi ~/.rpmmacros

     %_topdir               ~/rpmbuild
     %_tmppath              ~/rpmbuild/tmp

4). tar -xvzf ldm-6.11.2 tar.gz

5). Copy the ldm.spec file to the ~/rpmbuild/SPECS directory as ldm.spec.  Update the ldm.spec if applicable.

6). Copy the ldm-6.11.2 tar.gz file to the ~/rpmbuild/SOURCES directory.

7). rpmbuild -bb ~/rpmbuild/SPECS/ldm.spec

But we get the following error when we get to step 7:

/usr/bin/install -c -m 644  rpc/rpc.h rpc/types.h rpc/xdr.h rpc/auth.h rpc/clnt                                    .h rpc/rpc_msg.h rpc/auth_unix.h rpc/svc.h rpc/svc_auth.h rpc/pmap_clnt.h rpc/pm                                    ap_prot.h '/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/i                                    nclude/rpc'
make  install-data-hook
make[3]: Entering directory `/home/ldm/rpmbuild/BUILD/ldm-6.11.2'
./ensureLdmhomeLinks /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr ldm-6.11.2
/usr/bin/mkdir -p /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/var
./ensureVar /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr

NOTE: The command "make root-actions" will have to be executed by the
superuser in order to complete the installation process.

make[3]: Leaving directory `/home/ldm/rpmbuild/BUILD/ldm-6.11.2'
make[2]: Leaving directory `/home/ldm/rpmbuild/BUILD/ldm-6.11.2'
make[1]: Leaving directory `/home/ldm/rpmbuild/BUILD/ldm-6.11.2'
+ sed -e s:/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr:/home/ldm:g                                     /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/etc/registry.xml
+ mv -f /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/etc/registry.xml.new /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/etc/registry.xml
+ /usr/lib/rpm/check-buildroot
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/lib/libxml2.                                    la:libdir='/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/lib'
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/lib/xml2Conf.sh:XML2_LIBDIR="-L/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/lib"
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/lib/xml2Conf.sh:XML2_INCLUDEDIR="-I/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/include/libxml2"
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/lib/pkgconfig/libxml-2.0.pc:prefix=/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/lib/libldm.so.0.0.0 matches
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/lib/libldm.la:libdir='/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/lib'
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/lib/libldm.a matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/xmllint matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/xmlcatalog matches
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/xml2-config:prefix=/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/feedme matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/hupsyslog matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/ldmd matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/ldmping matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/ldmsend matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/notifyme matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/pqact matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/pqcat matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/pqcheck matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/pqcopy matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/pqcreate matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/pqexpire matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/pqing matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/pqinsert matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/pqmon matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/pqsend matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/pqsurf matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/pqutil matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/regutil matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/rtstats matches
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/netcheck:$ldmhome = "/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr";
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/syscheck:$ldmhome = "/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr";
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/ldmadmin:$ldmhome = "/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr";
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/ldmadmin:$bin_path = "/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin";
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/ldmfail:$ldmhome = "/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr" ;
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/uldbutil matches
Binary file /home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/bin/ulogger matches
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/share/doc/ldm/basics/LDM-registry.html:<td><tt>/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/var/logs/ldmd.log</tt></td>
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/share/doc/ldm/basics/LDM-registry.html:<td><tt>/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/var/logs/metrics.txt</tt></td>
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/share/doc/ldm/basics/LDM-registry.html:<td><tt>/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/var/logs/metrics.txt*</tt></td>
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/share/doc/ldm/basics/LDM-registry.html:<td><tt>/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/etc/pqact.conf</tt></td>
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/share/doc/ldm/basics/LDM-registry.html:<td><tt>/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr</tt></td>
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/share/doc/ldm/basics/LDM-registry.html:<td><tt>/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/etc/pqsurf.conf</tt></td>
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/share/doc/ldm/basics/LDM-registry.html:<td><tt>/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr</tt></td>
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/share/doc/ldm/basics/LDM-registry.html:<td><tt>/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/var/queues/ldm.pq</tt></td>
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/share/doc/ldm/basics/LDM-registry.html:<td><tt>/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/etc/scour.conf</tt></td>
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/share/doc/ldm/basics/LDM-registry.html:<td><tt>/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/etc/ldmd.conf</tt></td>
/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64/usr/ldm-6.11.2/share/doc/ldm/basics/LDM-registry.html:<td><tt>/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7
Found '/home/ldm/rpmbuild/BUILDROOT/ldm-6.11.2-1.el7.x86_64' in installed files;aborting
error: Bad exit status from /home/ldm/rpmbuild/tmp/rpm-tmp.V9fUY3 (%install)
cfstras commented 6 years ago

I made some progress on this in #61