I am converting an old RPM package for IBM ServeRAID Storage Manager, version v9.30-17006 _2012.04.27 for personal use and challenge... for use on Ubuntu Server >= v12.04 lts. I think the original app was written back before 2004 and was for SCO UNIX, Red Hat and Suse. I have previously changed this to use on Solaris.
All went well "functionally." I update the Debain control file and all the applications scripts to be able to set up the correct env vars and use java scripting in Ubuntu... Now I have a few administrative "packaging" kind of problems to work out...
The original app was written in 2004(?) and the lastest update from last April (2012) still has "sun-jre142linux32.tgz.gz" included in it. I changed the scripts to see Ubuntu's conventions for ID and arch and to be able to set JAVA_HOME to the Ubuntu java-default symlink. I have the application running fine on OpenJavajkd-7. I'm thinking it included the Sun Java JRE to install on boxes that didn't include java. So, I should be able to pull this out of the applications directory without any problem as long as it is using the OpenJDK JRE right? (<-- That is question #1) the debian postinst script untars this file in the app directory... but the applaication scripts are using the system's java to run... ??? I'm thinking this is just taking up unneeded real estate.
Second issue is a depends problem somewhere... The depends in the control file had
If this dependency is as is, Dpkg would "end" install at error on dependency error- libstdc++5(>=1:3.3.17), leaving the package half-installed and unconfigured..
Depends: libc6 (>= 2.3.6-6~), libgcc1 (>= 1:4.1.1), libstdc++5 (>= 1:3.3.15)
I looked for it. There is a symlink named "libstdc++5" pointing to an installed package named "libstdc++5:i386". Of course also there is also symlinks and packages installed for libstdc++6*...
So I changed the control file's dependency field to:
Even though libstdc++5:i386 is installed and the current version is 1:3.3.6-25... It still errors out saying it couldn't find "libstdc++5". Even taking out the whole depends field out of control and it has the same error. I need help figuring this one out.
Depends: libc6 (>= 2.3.6-6~), libgcc1 (>= 1:4.1.1), libstdc++5:i386 (>= 1:3.3), ia32-libs
Even if I take that whole line out of the control file, on install, dpkg errors on a dependency problem with libstdc++.5 Now If I install it on force-depends-version, it still errors out, saying it can't find "libstadc++5". If I install on force-depends, it does install. On install, it runs great, as it does on other platforms- local or remote. Functionally, the edits I did on the application scripts point it to the "lidstdc++5" symlink and it works fine. So it functionally works, but it still has this annoying install error.
Since it is not getting the dpkg install error from the control file depends field... It is not getting it from debian preinst, as that just checks to make sure the app is not already installed. Where else in the debain .deb source might dpkg be getting this error from?