Add compatibility mapping for BSD/OS. Without this line, RPMs would not install on BSDi 4.0. --- rpm-4.0.1jan05-vanilla/rpmrc.in Mon Dec 4 21:36:09 2000 +++ rpm-4.0.1jan05/rpmrc.in Mon Dec 4 21:36:09 2000 @@ -240,6 +240,8 @@ os_compat: osf4.0: osf3.2 osf1 +os_compat: BSD/OS: bsd_os + os_compat: ncr-sysv4.3: ncr-sysv4.2 os_compat: FreeMiNT: mint MiNT TOS
Can you give me the output of uname -a on a BSDI 4.0 box? There may be more to do, but I can't tell w/o seeing the output of uname -a. Actually, the exact default output from config.guess would be helpful as well. Thanks.
bsdi40: {3} % uname -a BSD/OS bsdi40.worknet 4.0 BSDI BSD/OS 4.0 Kernel #0: Tue Jul 28 15:56:54 MDT 1998 polk.COM:/rel/proto/4.0-i386/usr/src/sys/compile/GENERIC i386 bsdi40: {15} % ./config.guess i386-pc-bsdi4.0 Hope that helps (confession: I found the os_compat setting by trial and error)
OK, here's what I'd like to happen, but it's gonna take a while. My goal is to use the text output of config.guess for <arch>, <vendor>, and <os> as closely as possible within rpmrc configuration. That means that what I want to see happen is to change from os_canon: BSD/OS: BSD_OS 12 to os_canon: BSD/OS: bsdi 12 so that the rpmrc distinguished os name is exactly the same as the config.guess output. That also means that there will need to be os compat glue to handle the 4.0 os version. FWIW, your patch did little more AFAICT than permit you to match lower case bsdi_os in a %ifos statement but I may be wrong, as all this rpmrc compatibility goo makes my head hurt a lot. Meanwhile locate any/all uses of %ifos in your packaging, as I'm about to break things on bsdi to achieve the goal mentioned previously.
Sorry, I should have mentioned the error too. When installing a binary RPM, without this patch, RPM would give the error: package foo is for a different operating system and refuse to install.
Yup. Try the following, let me know if it "works". diff -u -r2.28.2.5 rpmrc.in --- rpmrc.in 2000/12/04 21:36:09 2.28.2.5 +++ rpmrc.in 2001/02/22 15:59:37 @@ -112,7 +112,7 @@ os_canon: SCO_SV: SCO_SV3.2v5.0.2 9 os_canon: IRIX64: Irix64 10 os_canon: NEXTSTEP: NextStep 11 -os_canon: BSD/OS: BSD_OS 12 +os_canon: BSD/OS: bsdi 12 os_canon: machten: machten 13 os_canon: CYGWIN32_NT: cygwin32 14 os_canon: CYGWIN32_95: cygwin32 15 @@ -246,6 +246,9 @@ os_compat: MiNT: FreeMiNT mint TOS os_compat: mint: FreeMiNT MiNT TOS os_compat: TOS: FreeMiNT MiNT mint + +os_compat: BSDI_OS: bsdi +os_compat: bsdi4.0: bsdi
+os_compat: BSDI_OS: bsdi you mean BSD_OS there I think? But either way, the change didn't work. If I apply your os_compat's, and use os_canon: BSD_OS: bsdi 12 instead of your os_canon, that *does* work.
Yup, BSDI_OS was my typo., change in os_canon incorporated as well.