file conflicts?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm having an unusual problem.  I recently re-wrote my ks.cfg %pre script in python, and now anaconda can't install 64bit. 

32bit installs fine, but 64bit fails with a file conflict.

I put some debug code in an updates.img, and I got the following error message in anaconda.log

20:33:27 ERROR   : [('file /sbin/grub conflicts between attempted installs of grub-0.97-13 and grub-0.97-13', (6, '/sbin/grub', 0L)), ('file /usr/bin/mbchk conflicts between attempted installs of grub-0.97-13 and grub-0.97-13', (6, '/usr/bin/mbchk', 0L)), ('file /usr/share/doc/syslinux-3.11/sample/fd.o conflicts between attempted installs of syslinux-3.11-4 and syslinux-3.11-4', (6, '/usr/share/doc/syslinux-3.11/sample/fd.o', 0L))]

So I look further up the anaconda.log, and I see this:

20:33:16 DEBUG   : Member: grub.x86_64 0-0.97-13 - u
20:33:16 DEBUG   : Adding Package grub - 0.97-13.x86_64 in mode u
20:33:16 DEBUG   : Member: grub.i386 0-0.97-13 - u
20:33:16 DEBUG   : Adding Package grub - 0.97-13.i386 in mode u

and then it occurs to me that all packages are being added twice, once for i386, and once for x86_64.

This is my new %pre script, and it doesn't matter whether it's a separate script that I put on the CD image, or called in the ks.cfg with  "%pre --interpreter /usr/bin/python"

Judging from the amount of patches flying by, I know you guys are busy, but if somebody can think of a reason why anaconda would be adding nonexistent, conflicting i386 packages because of  a %pre script, I would greatly appreciate it.

import sys,os,time,shutil,parted,math,subprocess
sys.path.append("/usr/lib/anaconda")
import isys,iutil
#if len(isys.hardDriveDict()) != 1:
#    sys.exit(123)
#else:
drive = isys.hardDriveDict().keys()[0]
print drive

if drive == 'cciss/c0d0':
    drive = 'cciss/c0d0p'
    print drive

dev = parted.PedDevice.get("/dev/%s" % drive)
sizeMB = (float(dev.heads * dev.cylinders * dev.sectors) / (1024 * 1024) * dev.sector_size)
print sizeMB
sizeMB_i = int(math.floor(sizeMB))
print sizeMB_i
if int(math.floor(float(sizeMB * .1))) > 4000:
    backup_size = int(math.floor(float(sizeMB * .1)))
else:
    backup_size = 4000

log_size = int(math.floor(float(sizeMB * .05)))


print "/var/log size is %i " % log_size
print "/backup size is %i " % backup_size
root_size = (sizeMB_i - backup_size - log_size - 128 - iutil.swapSuggestion()[1] )
print "/ size is %i " % root_size
ptext = """zerombr yes
clearpart --all
part /backup --fstype ext3 --size %i
part  swap --recommended
part /boot --fstype ext3 --size 128
part / --fstype ext3 --size %i
part /var/log --fstype ext3 --size %i
""" % (backup_size,root_size,log_size)
print ptext
partinfo = open("/tmp/partinfo", 'w')
partinfo.write(ptext)
rc = partinfo.close

Matt
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux