To start things out, you should fetch and install (probably via rpm, unless you somehow set up a mmt.repo file) the package http://mmto.org/fedora/mmt/13/RPMS/x86_64/mmt-repos-1.0-1.fc13_tjt.noarch.rpm. This package is unsigned, so you may need to fetch it via:
yum install --nogpgcheck mmt-reposThis package contains the mmt.repo file and a couple of GPG keys which it will try to install. If these keys are already in your RPM key database, you may get some harmless complaints like:
Installing : mmt-repos-1.0-2.fc13_tjt.noarch Non-fatal POSTIN scriptlet failure in rpm package mmt-repos-1.0-2.fc13_tjt.noarch error: /etc/pki/rpm-gpg/RPM-GPG-KEY-TEP: import failed. error: /etc/pki/rpm-gpg/RPM-GPG-KEY-tjt: import failed. warning: %post(mmt-repos-1.0-2.fc13_tjt.noarch) scriptlet failed, exit status 1
It requires some fairly intricate scripting to locate and delete or replace keys in the RPM database, so I haven't attempted to do this in order to avoid such errors, sensible though that might be. In other words, it is a pain and I am lazy.
In addition to the spec file, this package contains three files that we use to "tailor the user environment", namely:
rpmbuild -ba --sign mmt_env.spec -- give it my (PEN) passphraseAfter this, it is a matter of copying the results into the repo directory, creating links and issuing createrepo . commands in the affected repository directories.
I have used a ruby script mklinks_env.rb in the repo/RPMS directory which even does the remote copy from my build machine.
ssh alewife cd /iraf tar czvf /home/tom/ccdacq.tar.gz ssh cholla cd rpmbuild/SOURCES/iraf-ccdacq-3.0 -- backup the existing ccdacq.tar.gz (maybe) scp alewife:ccdacq.tar.gz . -- edit ccdacq.spec (bump the Release number) rpmbuild -ba --sign ccdacq.spec -- give it my (PEN) passphraseAfter this, a new srpm and rpm are in SRPMS and RPMS respectively. They get whatever ending (.fc12_tjt) is specified in the file .rpmmacros. The thing now is to move them to the repository. Note that this rpm is not really architecture specific (it gets built as x86_64 because the spec file grabs that from the machine (cholla) on which they are built, but it does not matter, and in fact all the files for fc10, fc11, fc12, and for i386 and for x86_64 are links to the same file.
First I copy the source rpm, make links for it, and rebuild the repo data, like this:
ssh mmt cd /home/fedora/mmt/FC12/SRPMS scp cholla:/home/tom/rpmbuild/SRPMS/iraf-ccdacq-3.0-7.fc12_tjt.src.rpm . createrepo . ./mklinks_ccd.rbThe ruby script goes to ../../FC11/SRPMS and makes a symbolic link and runs the createrepo command there (same is done also for FC10).
Next I copy the "binary" rpm, make links, and rebuild the repo data. Again, I use a ruby script to avoid all the repetitious typing, and there are now 5 links to make rather than two.
His package is unsigned, which is fine by me, but does require that the --nogpgcheck option be used with yum to install this particular package out of our repository, which is at best a variance with how we have our repository set up.
In the process of rebuilding his source RPM for a x86_64 target, I learned that this requires the openmotif libraries. Craig used to static link against openmotif, thus avoiding a dependency, but as of Fedora 13 there are no static openmotif libraries available, so I found a dynamic link to be necessary.
Openmotif is available from the rpmfusion-nonfree repository, and I installed it all via: yum install openmotif\*. Certainly openmotif-devel is needed for the rebuild.
This package places the include files for openmotif in /usr/include/openmotif and the libraries in /usr/lib64/openmotif (for a 64 bit system). The 32 bit libraries would be in /usr/lib/openmotif.
Note that lesstif might be an alternative to openmotif and
places its libraries at /usr/lib/libXm.so.2 --
apparently lesstif and openmotif can both peacefully coexist?
DT3155 driver
We currently build this for our 32 bit systems only, but there may or may not be a good reason for that.
Have any comments? Questions?
Drop me a line!
Adventures in Computing / [email protected]