/[smeserver]/rpms/anaconda/sme7/anaconda-10.1.1.63-fatlabel.patch
ViewVC logotype

Annotation of /rpms/anaconda/sme7/anaconda-10.1.1.63-fatlabel.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (hide annotations) (download)
Sat Dec 1 03:37:29 2007 UTC (16 years, 6 months ago) by slords
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -0 lines
FILE REMOVED
Import on branch sme7 of package anaconda-10.1.1.81-1.centos4.1.el4.sme.src.rpm

1 slords 1.1 ? tmp
2     Index: anaconda.spec
3     ===================================================================
4     RCS file: /usr/local/CVS/anaconda/anaconda.spec,v
5     retrieving revision 1.26.2.75
6     diff -u -p -r1.26.2.75 anaconda.spec
7     --- anaconda.spec 4 Apr 2007 21:45:13 -0000 1.26.2.75
8     +++ anaconda.spec 10 Apr 2007 20:10:59 -0000
9     @@ -6,12 +6,12 @@ License: GPL
10     Summary: Graphical system installer
11     Group: Applications/System
12     Source: anaconda-%{PACKAGE_VERSION}.tar.bz2
13     -BuildPreReq: pump-devel >= 0.8.20, kudzu-devel >= 1.1.95.16, pciutils-devel, bzip2-devel, e2fsprogs-devel, python-devel gtk2-devel rpm-python >= 4.2-0.61, newt-devel, rpm-devel, gettext >= 0.11, rhpl, booty, libxml2-python, zlib-devel, bogl-devel >= 0:0.1.9-17, bogl-bterm >= 0:0.1.9-17, elfutils-devel, beecrypt-devel, libselinux-devel >= 1.6, xorg-x11-devel
14     +BuildPreReq: pump-devel >= 0.8.20, kudzu-devel >= 1.1.95.16, pciutils-devel, bzip2-devel, e2fsprogs-devel >= 1.35-12.6.el4, python-devel gtk2-devel rpm-python >= 4.2-0.61, newt-devel, rpm-devel, gettext >= 0.11, rhpl, booty, libxml2-python, zlib-devel, bogl-devel >= 0:0.1.9-17, bogl-bterm >= 0:0.1.9-17, elfutils-devel, beecrypt-devel, libselinux-devel >= 1.6, xorg-x11-devel
15     %ifarch i386
16     BuildRequires: dietlibc
17     %endif
18     Requires: rpm-python >= 4.2-0.61, rhpl > 0.63, parted >= 1.6.3-7, booty, kudzu
19     -Requires: pyparted, libxml2-python
20     +Requires: pyparted, libxml2-python, dosfstools >= 2.8-17
21     Requires: anaconda-help, system-logos
22     Obsoletes: anaconda-images <= 10
23     Url: http://fedora.redhat.com/projects/anaconda-installer/
24     Index: fsset.py
25     ===================================================================
26     RCS file: /usr/local/CVS/anaconda/fsset.py,v
27     retrieving revision 1.237.4.6
28     diff -u -p -r1.237.4.6 fsset.py
29     --- fsset.py 12 Feb 2007 22:11:03 -0000 1.237.4.6
30     +++ fsset.py 10 Apr 2007 20:10:59 -0000
31     @@ -101,7 +101,7 @@ class LabelFactory:
32     def __init__(self):
33     self.labels = None
34    
35     - def createLabel(self, mountpoint, maxLabelChars):
36     + def createLabel(self, mountpoint, maxLabelChars, kslabel = None):
37     if self.labels == None:
38    
39     self.labels = {}
40     @@ -112,6 +112,13 @@ class LabelFactory:
41     labels = diskset.getLabels()
42     del diskset
43     self.reserveLabels(labels)
44     +
45     + # If a label was specified in the kickstart file, return that as
46     + # the label - unless it's already in the reserved list. If that's
47     + # the case, make a new one.
48     + if kslabel and kslabel not in self.labels:
49     + self.labels[kslabel] = 1
50     + return kslabel
51    
52     if len(mountpoint) > maxLabelChars:
53     mountpoint = mountpoint[0:maxLabelChars]
54     @@ -433,7 +440,8 @@ class xfsFileSystem(FileSystemType):
55    
56     def labelDevice(self, entry, chroot):
57     devicePath = entry.device.setupDevice(chroot)
58     - label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars)
59     + label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars,
60     + kslabel = entry.label)
61     db_cmd = "label " + label
62     rc = iutil.execWithRedirect("/usr/sbin/xfs_db",
63     ["xfs_db", "-x", "-c", db_cmd,
64     @@ -479,7 +487,8 @@ class jfsFileSystem(FileSystemType):
65    
66     def labelDevice(self, entry, chroot):
67     devicePath = entry.device.setupDevice(chroot)
68     - label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars)
69     + label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars,
70     + kslabel = entry.label)
71     rc = iutil.execWithRedirect("/usr/sbin/jfs_tune",
72     ["jfs_tune", "-L", label, devicePath],
73     stdout = "/dev/tty5",
74     @@ -514,7 +523,8 @@ class extFileSystem(FileSystemType):
75    
76     def labelDevice(self, entry, chroot):
77     devicePath = entry.device.setupDevice(chroot)
78     - label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars)
79     + label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars,
80     + kslabel = entry.label)
81     rc = iutil.execWithRedirect("/usr/sbin/e2label",
82     ["e2label", devicePath, label],
83     stdout = "/dev/tty5",
84     @@ -759,10 +769,13 @@ class FATFileSystem(FileSystemType):
85     FileSystemType.__init__(self)
86     self.partedFileSystemType = parted.file_system_type_get("fat32")
87     self.formattable = 1
88     + self.supported = 1
89     self.checked = 0
90     self.maxSizeMB = 1024 * 1024
91     self.name = "vfat"
92     self.packages = [ "dosfstools" ]
93     + self.maxLabelChars = 11
94     + self.migratetofs = ['vfat']
95    
96     def formatDevice(self, entry, progress, chroot='/'):
97     devicePath = entry.device.setupDevice(chroot)
98     @@ -775,6 +788,101 @@ class FATFileSystem(FileSystemType):
99     stderr = "/dev/tty5")
100     if rc:
101     raise SystemError
102     +
103     + def labelDevice(self, entry, chroot):
104     + if not iutil.getArch() == 'ia64':
105     + return
106     + devicePath = entry.device.setupDevice(chroot)
107     + label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars,
108     + kslabel = entry.label)
109     +
110     + rc = iutil.execWithRedirect("/usr/sbin/dosfslabel",
111     + ["dosfslabel", devicePath, label],
112     + stdout = "/dev/tty5",
113     + stderr = "/dev/tty5",
114     + searchPath = 1)
115     + newLabel = iutil.execWithCapture("/usr/sbin/dosfslabel",
116     + ["dosfslabel", devicePath],
117     + stderr = "/dev/tty5")
118     + newLabel = newLabel.strip()
119     + if label != newLabel:
120     + raise SystemError, "dosfslabel failed on device %s" % (devicePath,)
121     + entry.setLabel(label)
122     +
123     + def _readFstab(self, path):
124     + f = open (path, "r")
125     + lines = f.readlines ()
126     + f.close()
127     +
128     + fstab = []
129     + for line in lines:
130     + fields = string.split(line)
131     +
132     + if not fields:
133     + fstab.append(line)
134     + continue
135     +
136     + if line[0] == "#":
137     + fstab.append(line)
138     + # skip all comments
139     + continue
140     +
141     + # all valid fstab entries have 6 fields; if the last two are
142     + # missing they are assumed to be zero per fstab(5)
143     + if len(fields) < 4:
144     + fstab.append(line)
145     + continue
146     + elif len(fields) == 4:
147     + fields.append(0)
148     + fields.append(0)
149     + elif len(fields) == 5:
150     + fields.append(0)
151     + elif len(fields) > 6:
152     + fstab.append(line)
153     + continue
154     + fstab.append(fields)
155     +
156     + return fstab
157     +
158     + def migrateFileSystem(self, entry, message, chroot='/'):
159     + devicePath = entry.device.setupDevice(chroot)
160     +
161     + if not entry.fsystem or not entry.origfsystem:
162     + raise RuntimeError, ("Trying to migrate fs w/o fsystem or "
163     + "origfsystem set")
164     + if entry.fsystem.getName() != "vfat":
165     + raise RuntimeError, ("Trying to migrate vfat to something other "
166     + "than vfat")
167     +
168     + self.labelDevice(entry, chroot)
169     +
170     + if not entry.label:
171     + return
172     +
173     + try:
174     + os.stat(chroot + "/etc/fstab")
175     + except:
176     + return
177     + mounts = self._readFstab(chroot + "/etc/fstab")
178     +
179     + changed = False
180     + for mount in mounts:
181     + if type(mount) == types.ListType:
182     + if mount[0] == "/dev/%s" % (entry.device.getDevice(),):
183     + mount[0] = "LABEL=%s" % (entry.label,)
184     + changed = True
185     +
186     + if changed:
187     + os.rename(chroot + "/etc/fstab", chroot + "/etc/fstab.anaconda")
188     + f = open (chroot + "/etc/fstab", "w")
189     + for mount in mounts:
190     + if type(mount) == types.ListType:
191     + mount = string.join(mount, "\t")
192     + if mount[:-1] != "\n":
193     + mount += "\n"
194     + f.write(mount)
195     + f.close()
196     +
197    
198     fileSystemTypeRegister(FATFileSystem())
199    
200     Index: partRequests.py
201     ===================================================================
202     RCS file: /usr/local/CVS/anaconda/partRequests.py,v
203     retrieving revision 1.45.4.4
204     diff -u -p -r1.45.4.4 partRequests.py
205     --- partRequests.py 6 Apr 2006 18:27:22 -0000 1.45.4.4
206     +++ partRequests.py 10 Apr 2007 20:10:59 -0000
207     @@ -194,6 +194,11 @@ class RequestSpec:
208    
209     if self.migrate:
210     entry.setMigrate(self.migrate)
211     + elif iutil.getArch() == 'ia64' \
212     + and entry.getMountPoint() == "/boot/efi" \
213     + and isinstance(self.origfstype, fsset.FATFileSystem) \
214     + and not entry.getFormat():
215     + entry.setMigrate(1)
216    
217     if self.badblocks:
218     entry.setBadblocks(self.badblocks)
219     Index: isys/isys.py
220     ===================================================================
221     RCS file: /usr/local/CVS/anaconda/isys/isys.py,v
222     retrieving revision 1.136.2.14
223     diff -u -p -r1.136.2.14 isys.py
224     --- isys/isys.py 4 Apr 2007 20:43:23 -0000 1.136.2.14
225     +++ isys/isys.py 10 Apr 2007 20:11:00 -0000
226     @@ -685,12 +685,31 @@ def readSwapLabel(device, makeDevNode =
227     def readExt2Label(device, makeDevNode = 1):
228     if makeDevNode:
229     makeDevInode(device, "/tmp/disk")
230     - label = _isys.e2fslabel("/tmp/disk");
231     + label = _isys.e2fslabel("/tmp/disk")
232     os.unlink("/tmp/disk")
233     else:
234     label = _isys.e2fslabel(device)
235     return label
236    
237     +def _readFATLabel(device):
238     + label = iutil.execWithCapture("/usr/sbin/dosfslabel",
239     + ["dosfslabel", device], stderr="/dev/tty5")
240     + label = label.strip()
241     + if len(label) == 0:
242     + return None
243     + return label
244     +
245     +def readFATLabel(device, makeDevNode = 1):
246     + if not iutil.getArch() == "ia64":
247     + return None
248     + if makeDevNode:
249     + makeDevInode(device, "/tmp/disk")
250     + label = _readFATLabel("/tmp/disk")
251     + os.unlink("/tmp/disk")
252     + else:
253     + label = _readFATLabel(device)
254     + return label
255     +
256     def readFSLabel(device, makeDevNode = 1):
257     label = readExt2Label(device, makeDevNode)
258     if label is None:
259     @@ -699,6 +718,8 @@ def readFSLabel(device, makeDevNode = 1)
260     label = readXFSLabel(device, makeDevNode)
261     if label is None:
262     label = readJFSLabel(device, makeDevNode)
263     + if label is None:
264     + label = readFATLabel(device, makeDevNode)
265     return label
266    
267     def ext2IsDirty(device):
268     Index: scripts/upd-instroot
269     ===================================================================
270     RCS file: /usr/local/CVS/anaconda/scripts/upd-instroot,v
271     retrieving revision 1.368.2.4
272     diff -u -p -r1.368.2.4 upd-instroot
273     --- scripts/upd-instroot 30 Jan 2007 19:37:47 -0000 1.368.2.4
274     +++ scripts/upd-instroot 10 Apr 2007 20:11:00 -0000
275     @@ -278,6 +278,7 @@ sbin/badblocks
276     sbin/busybox.anaconda
277     sbin/clock
278     sbin/debugfs
279     +sbin/dosfslabel
280     sbin/e2fsck
281     sbin/e2fsadm
282     sbin/e2label

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed