Personal tools
You are here: Home Linux CentOs JPackage jpackage-utils compatibility for CentOS 5.x
 

JPackage jpackage-utils compatibility for CentOS 5.x

A possible workaround for the error message "Missing Dependency: /usr/bin/rebuild-security-providers is needed by package"

This is a workaround for the error "Missing Dependency: /usr/bin/rebuild-security-providers is needed by package" as presented by Rob Myers.

Build the RPM

Install rpm build to create the 'noarch' binary RPM.
# yum install rpm-build 

Set up a rpm build environment for a non-root user to build the rpm.

$ echo "%_topdir $HOME/rpmbuild" >> .rpmmacros
$ mkdir -p rpmbuild/{SRPMS,RPMS,SPECS,BUILD,SOURCES}

Build the rpm using the sample spec file :

$ rpmbuild -ba jpackage-utils-compat-el5.spec

The 'noarch' binary RPM is:

md5: 9e96c5ec0e95381625b593b1d65c35dc  rpmbuild/RPMS/noarch/jpackage-utils-compat-el5-0.0.1-1.noarch.rpm

sha1: 25d89ecbcbdbbb067ea717aa3a319e66ef64cbe6  rpmbuild/RPMS/noarch/jpackage-utils-compat-el5-0.0.1-1.noarch.rpm

Install

Install the binary RPM on the target machine:

# rpm -Uvh http://plone.lucidsolutions.co.nz/linux/centos/images/jpackage-utils-compat-el5-0.0.1-1.noarch.rpm

Links

http://www.zarb.org/pipermail/jpackage-discuss/2008-July/012751.html

/usr/bin/rebuild-security-providers bug 260161

References

spec file

Name:           jpackage-utils-compat-el5
Version:        0.0.1
Release:        1%{?dist}%{?repo}
Epoch:          0
Summary:        Compatibility For RHEL5 and JPackage
License:        GPL
URL:            http://rmyers.fedorapeople.org/jpackage-utils-compat-el5
Group:          Utilities
BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildArch:      noarch
Requires:       /bin/bash

%description
Compatibility for JPackage Utils between RHEL5 and the JPackage Project.

%prep
# no setup

%build
# no building

%install
rm -rf $RPM_BUILD_ROOT

install -dm 755 ${RPM_BUILD_ROOT}%{_bindir}
install -dm 755 ${RPM_BUILD_ROOT}%{_sysconfdir}/java/security
install -dm 755 ${RPM_BUILD_ROOT}%{_sysconfdir}/java/security/security.d

pushd ${RPM_BUILD_ROOT}%{_bindir}

cat > rebuild-security-providers << EOF
#!/bin/bash
# Rebuild the list of security providers in classpath.security

secfiles="/usr/lib/security/classpath.security /usr/lib64/security/classpath.security"

for secfile in \$secfiles; do
  # check if this classpath.security file exists
  [ -f "\$secfile" ] || continue

  sed -i '/^security\.provider\./d' "\$secfile"

  count=0
  for provider in \$(ls /etc/java/security/security.d)
  do
    count=\$((count + 1))
    echo "security.provider.\${count}=\${provider#*-}" >> "\$secfile"
  done
done
EOF

popd

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%{_bindir}/rebuild-security-providers
%{_sysconfdir}/java/security
%{_sysconfdir}/java/security/security.d

%changelog
* Thu Jul  3 2008 Rob Myers <rob.myers at gtri.gatech.edu> - 0:0.0.1-1%{?dist}%{?repo}
- initial release

yum update error message

--> Processing Dependency: /usr/bin/rebuild-security-providers for package: java-1.4.2-gcj-compat
--> Finished Dependency Resolution
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.x86_64 from installed has depsolving problems
  --> Missing Dependency: /usr/bin/rebuild-security-providers is needed by package java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.x86_64 (installed)
Error: Missing Dependency: /usr/bin/rebuild-security-providers is needed by package java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.x86_64 (installed)
Document Actions