| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
a real Python package.
Also updates the build and autotools stuff to work with the new structure
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Former Network.write was used to write config both to anaconda
environment and to installed system. It became quite messy and
unreadable doing both things as writing to installed system was just
copying the file from anaconda root to system root for all files
except ifcfg-DEVICE. Using two separate methods makes clear what
we are doing.
Also there is a question if we need to copy the network config
to system twice as we are doing - first in preinstall step,
and then in writeconfig step. The latter is not necessary I think
and seem to be actually a noop.
|
|
|
|
|
|
|
| |
This also allows selecting these groups in the UI, though if the group has no
optional packages you will not be able to pull up the optional package
selection dialog. In effect, a conditional-only group will act like a
mandatory-only group as far as the UI is concerned.
|
|
|
|
| |
This helps when debugging misbehaving installclasses.
|
|
|
|
|
|
|
| |
Since yum requires the protocol and libcurl doesn't care if there's a protocol
given or not, add the protocol to the front of the proxy value itself. Also,
both yum and libcurl will process the proxy setting if it's got a port on the
end so remove all the special port handling.
|
|
|
|
|
|
|
|
| |
While we're able to handle the exception that results without problem (except
for a scary log message), we still set self._loopbackFile in mountInstallImage
so when that method fails, umountFilesystems will attempt to unmount the
install.img that was never copied. And then that results in an unhandled
exception.
|
|
|
|
|
| |
It seems we have unmount/reboot problems when using only one disc when
we don't copy the install.img. So always do that.
|
|
|
|
|
|
| |
Adding duplicates can cause dependency resolution to go from taking seconds
to taking minutes. Long term we want to add checks to yum and/or remove our
selectPackage entirely, but for now this'll speed things up.
|
|
|
|
|
|
| |
We don't need the hacks because both before and after (for going back case)
calling doGroupsSetup, the group selection info is reset. Before (reposetup
step) - the ayum object is created. After - it is reset in basepkgsel step.
|
| |
|
|
|
|
|
|
| |
If we continue using our old location, post-installation yum operations will
not use our pre-cached repo metadata which wastes disk space and saves no
time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The patch is concerning basepkgsel step. It is necessary when going back to
task selection screen (tasksel -> basepkgsel (1) -> ... [Back] ... ->
basepkgsel -> tasksel) in UI, editing repository, and then going forward
(tasksel [Edit repo] -> basepkgsel (3) -> ...) again where - without the patch
- stale YumBase conditionals dict created in first pass of basepkgsel step (1)
would be used when adding groups in next forward pass of basepkgsel step (3).
This would result in traceback (in postselection step) because editing of
repository is done by removing old repo object and adding a new one, and stale
conditionals, created in the first pass (1) of basepkgsel when adding groups
for old repo, still reference (via attribute repoid) now removed old repo after
pass (3) of basepkgsel
|
| |
|
|
|
|
|
|
| |
On erasure callbacks, we get just a string that's the name of the package
in question instead of the usual tuple. We're most likely to hit this
during upgrades, after packages have been installed.
|
|
|
|
|
|
|
| |
At least, I believe these are redundant and likely unreachable. I don't
think there's a way to get to these places on a network install without any
network active. These calls have all the marks of desperation to cover th
bases without thinking about whether they're even valid or not.
|
|
|
|
|
|
|
|
|
| |
Throughout stage2 if we bring up the network after doing various actions,
we need to make sure the DNS resolver is reset to pick up the new information.
However, pycurl/libcurl uses the c-ares resolver which does not have a
method similar to res_init. Instead we need to tear down the pycurl.Curl
object instance cached in urlgrabber and create a new one. This does the
same thing as re-reading /etc/resolv.conf, but in more steps.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This also removes the hack where upgrade can be True, False, or None in order
to test whether we've seen the upgrade screen or not. Instead, it introduces
a global value hack. I consider this the slightly cleaner approach.
|
| |
|
| |
|
|
|
|
|
|
| |
anaconda.ksdata is only non-None if there's a kickstart file, just like
anaconda.isKickstart would be. Therefore, we don't need two variables
to test for the same condition.
|
| |
|
|
|
|
|
| |
This requires having loader add --headless to the anaconda arguments
automatically on s390, instead of having anaconda figure that out later.
|
| |
|
| |
|
|
|
|
|
| |
iutil.execWithRedirect() stopped doing anything with searchPath in 2006
when clumens committed d0dec24. Remove these silly vestigal bits.
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove unnecessary semi colons in various places
- textw/upgrade_text.py: add a few missing imports
- Fix various missplaced doc strings
- Fix several double imports
- Fix AnacondaKSScript.run: Module 'os' has no 'exists' member
- users.py: Remove double definition of Users.setRootPassword
- yuminstall.py: correct typo reop -> repo
- yuminstall.py: _run: anaconda -> self.anaconda
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Commit a75aa437f6fcbf988904b8a630cc82ef12c98dd6, leaves the block of
code this patch re-indents wrongly indented, causing to only be executed
in the else: case of the if above it, while it should be always executed.
|
| |
|
| |
|
|
|
|
|
| |
This is needed to make room in /boot on previous installs that only have
a 200 MB (or even smaller) /boot so the upgrade can even continue.
|
| |
|
|
|
|
|
|
| |
This only existed so we could put cleanup code around the whole loop to pop
a window, but that's probably the least clear way we could ever do such a
thing. Just be more explicit now.
|
| |
|
|
|
|
|
|
|
| |
This is yet another way of running anaconda that gets extremely limited use,
no testing, and no consideration during development to making sure it still
works. Again, we need to stop pretending and get rid of modes that we don't
support.
|
|
|
|
|
|
|
| |
This mode is decaying as anaconda moves forward with things like udev, dbus
etc. No one is really working on making sure they continue to work. Let's
stop pretending and also get rid of some additional complicated ways to
run anaconda.
|
|
|
|
|
|
|
|
|
|
|
| |
In stage 2, the nfs options given in repo= boot parameter were malparsed, in UI
they were ignored.
Note that now the options can get to stage 2 only via method=/repo= boot
parameter. Ks nfs option --opts works only when its url specifies stage2 (i.e.
ends with images/install.img). In cases when method (--repo parameter for
anaconda python script) is inferred from stage2, nfs options of stage2
"nfs:..." url aren't passed to stage 2.
|
|
|
|
|
|
|
| |
We used to accept only "nfs://". First, it was inconsistent with cmdline repo=
ks= stage2= options and it confused people. Second, when we offered editing of
url with invalid "nfs:" prefix in UI, there was nothing to correct in UI, just
clicking OK lead to success.
|
|
|
|
|
|
|
|
|
| |
The cause of traceback is that repo._baseurlSetup changes repo.baseurl
attribute (removes all invalid urls from the list) so we have to keep
invalid urls in anacondaBaseURLs to be able to edit it eventually.
_baseurlSetup is called from whiteout plugin for all repos (by repo.retreiveMD)
after setup of first repo
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, there's nothing you can do. We don't allow changing the package set
or resizing partitions on upgrade, so you can't hope to recover. Second,
trying to go back is bringing up a tricky bug.
On preupgrade, all the steps before this one are in skipSteps. So dispatcher
tries to find the step to go back to, discovers there isn't one, and decides
to move "back" to the first step that wasn't skipped. To no one's surprise,
that's the same step we were on. However it's not an interactive step, so
setScreen tracebacks.
|