Bug 1276372 - RFE: can't execute anaconda from git checkout
Summary: RFE: can't execute anaconda from git checkout
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: rawhide
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
Assignee: Brian Lane
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-10-29 14:41 UTC by Alexander Todorov
Modified: 2015-11-05 08:24 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-11-05 08:24:12 UTC
Type: Bug


Attachments (Terms of Use)

Description Alexander Todorov 2015-10-29 14:41:49 UTC
Description of problem:

I'm trying the --dirinstall option b/c the --image one doesn't work (see bug #1276349):

From a git checkout as root:

# export top_srcdir=`pwd`
# . ./tests/testenv.sh
# mkdir /var/tmp/anaconda_dirinstall
# ./anaconda -G --dirinstall /var/tmp/anaconda_dirinstall


Not only anaconda doesn't show me the welcome screen, it doesn't allow me to configure even the package set installed. 

If I present it with a --repo options it also starts installing packages on its own. 

This is a complete change in behavior compared to RHEL 7. 

Also it may affect my attempts to refactor tests/ui/ if the same behavior is present with the --image option. Manual configuration should be possible with --dirinstall and --image.

Comment 1 Brian Lane 2015-10-30 03:00:02 UTC
I'll look into this, but running anaconda from a git checkout isn't really something that's supported. I'd recommend using livemedia-creator --no-virt and an installed version of anaconda on the host, or in a mock, etc.

And as usual, please attach the logs from /tmp/*log as individual text/plain attachments.

Comment 2 Alexander Todorov 2015-10-30 08:54:17 UTC
(In reply to Brian Lane from comment #1)
> I'll look into this, but running anaconda from a git checkout isn't really
> something that's supported. 

Agreed, but I'd like to support that for testing purposes.

Anyway I've managed to find something: 

* The anaconda.rpm which is installed is version 24.4-1. If I execute it from one terminal it appears to be working correctly.

* On another terminal I've checked out a copy of the anaconda-24.4-1 tag so we can have the same version. Running this locally from inside the git tree:

# export top_srcdir=`pwd`
# . ./tests/testenv.sh
# ./anaconda -G --dirinstall /var/tmp/anaconda-install/ --repo http://example.com/repo

The diff between the logs of the two runs is below. As you can see when the installed script is executed it first asks for language (WelcomeLanguageSpoke) then goes on to prepare the other spokes.

In the case of running a git checkout it says:

DEBUG anaconda: no spokes available on <pyanaconda.ui.gui.hubs.summary.SummaryHub object at 0x7f30ab1484a8>, continuing automatically


 diff -u sbin/anaconda.log.no_timestamp 24.4-1.local/anaconda.log.no_timestamp 
--- sbin/anaconda.log.no_timestamp	2015-10-30 04:27:44.296179739 -0400
+++ 24.4-1.local/anaconda.log.no_timestamp	2015-10-30 04:42:30.619016362 -0400
@@ -1,137 +1,51 @@
-INFO anaconda: /usr/sbin/anaconda 24.4-1
+INFO anaconda: ./anaconda 24.4-1
 INFO anaconda: 16530852 kB (16143 MB) are available
 INFO anaconda: check_memory(): total:16143, needed:320, graphical:410
 INFO anaconda: Not doing 'syslog setup' in directory installation
 INFO anaconda: Not doing 'early exception handler' in directory installation
 INFO anaconda: Not doing 'start audit daemon' in directory installation
-INFO anaconda: anaconda called with cmdline = ['/usr/sbin/anaconda', '-G', '--dirinstall', '/var/tmp/anaconda-install/', '--repo', 'http://download.eng.bos.redhat.com/fedmsg/dumpdata/Fedora-rawhide-20151029/x86_64/os/']
+INFO anaconda: anaconda called with cmdline = ['./anaconda', '-G', '--dirinstall', '/var/tmp/anaconda-install/', '--repo', 'http://download.eng.bos.redhat.com/fedmsg/dumpdata/Fedora-rawhide-20151029/x86_64/os/']
 INFO anaconda: Default encoding = utf-8 
 INFO anaconda: Parsing kickstart: /usr/share/anaconda/interactive-defaults.ks
 DEBUG anaconda: setting locale to: bg_BG.UTF-8
 INFO anaconda: Not doing 'networkInitialize' in directory installation
-INFO anaconda: Running Thread: AnaWaitForConnectingNMThread (140223511336704)
+INFO anaconda: Running Thread: AnaWaitForConnectingNMThread (139847450609408)
 INFO anaconda: Display mode = g
 INFO anaconda: 16530852 kB (16143 MB) are available
 INFO anaconda: check_memory(): total:16143, needed:320, graphical:410
 INFO anaconda: got 3 NTP servers from DHCP
 INFO anaconda: Fedora is the highest priority installclass, using it
-INFO anaconda: Thread Done: AnaWaitForConnectingNMThread (140223511336704)
+INFO anaconda: Thread Done: AnaWaitForConnectingNMThread (139847450609408)
 INFO anaconda: bootloader GRUB2 on X86 platform
 INFO anaconda: Detected 15.75 GiB of memory
 INFO anaconda: Suggested swap size (7.88 GiB) exceeds 10 % of disk space, using 10 % of disk space (0.0) instead.
 INFO anaconda: Swap attempt of 0.0
 INFO anaconda: bootloader GRUB2 on X86 platform
-INFO anaconda: Running Thread: AnaPayloadRestartThread (140223511336704)
+INFO anaconda: Running Thread: AnaPayloadRestartThread (139847450609408)
 INFO anaconda: Not doing 'start chronyd' in directory installation
-INFO anaconda: Running Thread: AnaPayloadThread (140223086327552)
-INFO anaconda: Thread Done: AnaPayloadRestartThread (140223511336704)
-WARN anaconda: /usr/lib64/python3.4/site-packages/pyanaconda/ui/gui/spokes/network.py:119: PyGIDeprecationWarning: GObject.G_MAXUINT is deprecated; use GLib.MAXUINT instead
+INFO anaconda: Running Thread: AnaPayloadThread (139847025698560)
+INFO anaconda: Thread Done: AnaPayloadRestartThread (139847450609408)
+WARN anaconda: /home/atodorov/anaconda/pyanaconda/ui/gui/spokes/network.py:119: PyGIDeprecationWarning: GObject.G_MAXUINT is deprecated; use GLib.MAXUINT instead
  0, GObject.G_MAXUINT, 0,
 
-WARN anaconda: /usr/lib64/python3.4/site-packages/pyanaconda/ui/gui/spokes/network.py:120: PyGIDeprecationWarning: GObject.PARAM_READWRITE is deprecated; use GObject.ParamFlags.READWRITE (glib 2.42+) instead
+WARN anaconda: /home/atodorov/anaconda/pyanaconda/ui/gui/spokes/network.py:120: PyGIDeprecationWarning: GObject.PARAM_READWRITE is deprecated; use GObject.ParamFlags.READWRITE (glib 2.42+) instead
  GObject.PARAM_READWRITE),
 
-WARN anaconda: /usr/lib64/python3.4/site-packages/pyanaconda/ui/gui/spokes/network.py:241: PyGIDeprecationWarning: GObject.SIGNAL_RUN_LAST is deprecated; use GObject.SignalFlags.RUN_LAST instead
+WARN anaconda: /home/atodorov/anaconda/pyanaconda/ui/gui/spokes/network.py:241: PyGIDeprecationWarning: GObject.SIGNAL_RUN_LAST is deprecated; use GObject.SignalFlags.RUN_LAST instead
  "nm-state-changed": (GObject.SIGNAL_RUN_LAST, GObject.TYPE_NONE, []),
 
 DEBUG anaconda: Detected primary monitor: 1024x768 95dpix 96dpiy
-INFO anaconda: Not doing 'activate layouts' in directory installation
-DEBUG anaconda: setting locale to: en_US.UTF-8
-DEBUG anaconda: setting locale to: en_US.UTF-8
-DEBUG anaconda: Entered spoke: WelcomeLanguageSpoke
+DEBUG anaconda: Entered hub: SummaryHub
+INFO anaconda: fs space: 45.66 GiB  needed: 2.79 GiB
 WARN anaconda: /usr/lib64/python3.4/site-packages/gi/overrides/Gdk.py:320: DeprecationWarning: Gdk.Cursor.new is deprecated
  return cls.new(*args, **kwds)
 
-INFO anaconda: Thread Done: AnaPayloadThread (140223086327552)
-DEBUG anaconda: setting locale to: en_US.UTF-8
-INFO anaconda: Not doing 'replace runtime X layouts' in directory installation
-INFO anaconda: Not doing 'require network connection' in directory installation
-DEBUG anaconda: network standalone spoke (init): completed: True
-INFO anaconda: Not doing 'require network connection' in directory installation
-DEBUG anaconda: Left spoke: WelcomeLanguageSpoke
-DEBUG anaconda: Entered hub: SummaryHub
-INFO anaconda: Running Thread: AnaAddLayoutsInitThread (140223086327552)
-INFO anaconda: Not doing 'hide runtime keyboard configuration warning' in directory installation
-DEBUG anaconda: Starting applying <bound method AddLayoutDialog._addLayout of <pyanaconda.ui.gui.spokes.keyboard.AddLayoutDialog object at 0x7f883866a7f0>> on <list object at 0x7f8838661208>
-INFO anaconda: Running Thread: AnaGtkBatchPre1 (140223050049280)
-INFO anaconda: Not doing 'add runtime X layout' in directory installation
-INFO anaconda: Thread Done: AnaGtkBatchPre1 (140223050049280)
-INFO anaconda: Not doing 'test X layouts' in directory installation
-INFO anaconda: Running Thread: AnaKeyboardThread (140223050049280)
-INFO anaconda: Not doing 'modify system time and date' in directory installation
-INFO anaconda: Running Thread: AnaDateTimeThread (140223058441984)
-WARN anaconda: /usr/lib64/python3.4/site-packages/pyanaconda/ui/gui/hubs/__init__.py:195: DeprecationWarning: Gtk.Widget.set_margin_left is deprecated
- selector.set_margin_left(12)
-
-WARN anaconda: /usr/lib64/python3.4/site-packages/pyanaconda/ui/gui/spokes/source.py:657: DeprecationWarning: Gtk.Viewport.get_vadjustment is deprecated
- mainBox.set_focus_vadjustment(mainViewport.get_vadjustment())
-
-INFO anaconda: Running Thread: AnaSourceWatcher (140223511336704)
-WARN anaconda: /usr/lib64/python3.4/site-packages/pyanaconda/image.py:139: DeprecationWarning: getDevicesByType will be removed in a future version.
- for dev in set(devicetree.getDevicesByType("cdrom") + \
-
-DEBUG anaconda: Clearing checks in source spoke
-DEBUG anaconda: Setting up repos: []
-INFO anaconda: Thread Done: AnaSourceWatcher (140223511336704)
-INFO anaconda: using environment from kickstart: None
-INFO anaconda: Running Thread: AnaSoftwareWatcher (140223511336704)
-WARN anaconda: /usr/lib64/python3.4/site-packages/pyanaconda/ui/gui/spokes/custom.py:302: DeprecationWarning: Gtk.Viewport.get_hadjustment is deprecated
- self._accordion.set_focus_hadjustment(self._partitionsViewport.get_hadjustment())
-
-INFO anaconda: Running Thread: AnaCustomStorageInit (140222808250112)
-INFO anaconda: Not doing 'register anaconda secret agent' in directory installation
-DEBUG anaconda: network: can't get remote connection of active connection of device virbr0
-INFO anaconda: Thread Done: AnaCustomStorageInit (140222808250112)
-DEBUG anaconda: network: GUI, device configuration added: connection ea609ff7-9ee1-4d50-a4be-65e2cec5b925 device virbr0
-WARN anaconda: network: enp0s4 has unexpected number of connections: []
-DEBUG anaconda: network: GUI, device configuration added: connection None device enp0s4
-DEBUG anaconda: network: can't get remote connection of active connection of device enp4s4f0
-DEBUG anaconda: network: GUI, device configuration added: connection e9a10068-0a86-4310-b550-e42b6aec233e device enp4s4f0
-WARN anaconda: network: enp4s4f1 has unexpected number of connections: []
-DEBUG anaconda: network: GUI, device configuration added: connection None device enp4s4f1
-DEBUG anaconda: network: GUI, attaching connection 94ea6400-ef15-4f9e-bee0-3581520be7a2 to device enp4s4f1
-DEBUG anaconda: network: GUI, not adding connection e9a10068-0a86-4310-b550-e42b6aec233e, already in list
-DEBUG anaconda: network: GUI, attaching connection 4415dbab-0f68-47a7-8419-64a7a0899224 to device enp0s4
-DEBUG anaconda: network: GUI, not adding connection 41466b14-43a0-4ea1-b8be-b89b4c581730 of unsupported type
-DEBUG anaconda: network: GUI, not adding connection ea609ff7-9ee1-4d50-a4be-65e2cec5b925, already in list
-INFO anaconda: Not doing 'hide hint to use network configuration in DE' in directory installation
-DEBUG anaconda: updating host name 
-INFO anaconda: Not doing 'require network connection' in directory installation
-INFO anaconda: Not doing 'require network connection' in directory installation
-INFO anaconda: Not doing 'save system time' in directory installation
-INFO anaconda: Not doing 'save system time' in directory installation
-INFO anaconda: Not doing 'save system time' in directory installation
-INFO anaconda: Thread Done: AnaDateTimeThread (140223058441984)
-INFO anaconda: Running Thread: AnaCheckSoftwareThread (140223058441984)
-INFO anaconda: Thread Done: AnaSoftwareWatcher (140223511336704)
-WARN anaconda: /usr/lib/python3.4/site-packages/dnf/base.py:1272: DeprecationWarning: group_install() expects group id                        instead of Comps object.
- dnf.logging.depr(msg)
-
-DEBUG anaconda: spoke is not ready: <pyanaconda.ui.gui.spokes.keyboard.KeyboardSpoke object at 0x7f883866a748>
-DEBUG anaconda: setting <pyanaconda.ui.gui.spokes.keyboard.KeyboardSpoke object at 0x7f883866a748> status to: Getting list of layouts...
-DEBUG anaconda: spoke is not ready: <pyanaconda.ui.gui.spokes.software.SoftwareSelectionSpoke object at 0x7f8838053588>
-DEBUG anaconda: spoke is not ready: <pyanaconda.ui.gui.spokes.source.SourceSpoke object at 0x7f88380a0940>
-DEBUG anaconda: setting <pyanaconda.ui.gui.spokes.source.SourceSpoke object at 0x7f88380a0940> status to: Setting up installation source...
-DEBUG anaconda: spoke is ready: <pyanaconda.ui.gui.spokes.source.SourceSpoke object at 0x7f88380a0940>
-DEBUG anaconda: setting <pyanaconda.ui.gui.spokes.source.SourceSpoke object at 0x7f88380a0940> status to: Probing storage...
-DEBUG anaconda: setting <pyanaconda.ui.gui.spokes.source.SourceSpoke object at 0x7f88380a0940> status to: Downloading package metadata...
-DEBUG anaconda: setting <pyanaconda.ui.gui.spokes.source.SourceSpoke object at 0x7f88380a0940> status to: Downloading group metadata...
-DEBUG anaconda: spoke is ready: <pyanaconda.ui.gui.spokes.software.SoftwareSelectionSpoke object at 0x7f8838053588>
-DEBUG anaconda: spoke is ready: <pyanaconda.ui.gui.spokes.source.SourceSpoke object at 0x7f88380a0940>
-DEBUG anaconda: setting <pyanaconda.ui.gui.spokes.software.SoftwareSelectionSpoke object at 0x7f8838053588> status to: Downloading package metadata...
-DEBUG anaconda: setting <pyanaconda.ui.gui.spokes.software.SoftwareSelectionSpoke object at 0x7f8838053588> status to: Downloading group metadata...
-DEBUG anaconda: spoke is ready: <pyanaconda.ui.gui.spokes.datetime_spoke.DatetimeSpoke object at 0x7f8838087c88>
-DEBUG anaconda: spoke is ready: <pyanaconda.ui.gui.spokes.software.SoftwareSelectionSpoke object at 0x7f8838053588>
-DEBUG anaconda: spoke is not ready: <pyanaconda.ui.gui.spokes.software.SoftwareSelectionSpoke object at 0x7f8838053588>
-DEBUG anaconda: spoke is not ready: <pyanaconda.ui.gui.spokes.source.SourceSpoke object at 0x7f88380a0940>
-DEBUG anaconda: setting <pyanaconda.ui.gui.spokes.software.SoftwareSelectionSpoke object at 0x7f8838053588> status to: Checking software dependencies...
-INFO anaconda: Thread Done: AnaCheckSoftwareThread (140223058441984)
-DEBUG anaconda: spoke is ready: <pyanaconda.ui.gui.spokes.software.SoftwareSelectionSpoke object at 0x7f8838053588>
-INFO anaconda: fs space: 45.66 GiB  needed: 786.33 MiB
-DEBUG anaconda: spoke is ready: <pyanaconda.ui.gui.spokes.source.SourceSpoke object at 0x7f88380a0940>
-DEBUG anaconda: Finished applying <bound method AddLayoutDialog._addLayout of <pyanaconda.ui.gui.spokes.keyboard.AddLayoutDialog object at 0x7f883866a7f0>> on <list object at 0x7f8838661208>
-INFO anaconda: Thread Done: AnaAddLayoutsInitThread (140223086327552)
-INFO anaconda: Thread Done: AnaKeyboardThread (140223050049280)
-INFO anaconda: fs space: 45.66 GiB  needed: 786.33 MiB
-DEBUG anaconda: spoke is ready: <pyanaconda.ui.gui.spokes.keyboard.KeyboardSpoke object at 0x7f883866a748>
+DEBUG anaconda: no spokes available on <pyanaconda.ui.gui.hubs.summary.SummaryHub object at 0x7f30ab1484a8>, continuing automatically
 DEBUG anaconda: Left hub: SummaryHub
+DEBUG anaconda: Entered hub: ProgressHub
+INFO anaconda: Running Thread: AnaInstallThread (139846988932864)
+INFO anaconda: Not doing 'save system time to HW clock' in directory installation
+INFO anaconda: Waiting for 1 threads to finish
+DEBUG anaconda: Thread AnaPayloadThread is running
+DEBUG anaconda: Thread AnaInstallThread is running
+DEBUG anaconda: Waiting for thread AnaPayloadThread to exit



Let me examine around a bit more and I'll attach all the logs if necessary.

Comment 3 Alexander Todorov 2015-10-30 10:40:53 UTC
So anaconda wasn't finding the glade files. After exporting some more variables (taken from make runglade):

export UIPATH="${top_srcdir}/pyanaconda/ui/gui/"
export GLADE_CATALOG_SEARCH_PATH="${top_srcdir}/widgets/glade"
export GLADE_MODULE_SEARCH_PATH="${top_srcdir}/widgets/src/.libs"
export ANACONDA_DATA="${top_srcdir}/data"
export ANACONDA_WIDGETS_DATA="${top_srcdir}/widgets/data"


I'm now seeing another error:

anaconda 24.4-1 exception report
Traceback (most recent call first):
  File "/home/atodorov/anaconda/pyanaconda/ui/gui/__init__.py", line 157, in __init__
    self.builder.add_objects_from_file(self._findUIFile(), self.builderObjects)
  File "/home/atodorov/anaconda/pyanaconda/ui/gui/hubs/__init__.py", line 87, in __init__
    GUIObject.__init__(self, data)
  File "/home/atodorov/anaconda/pyanaconda/ui/gui/hubs/summary.py", line 60, in __init__
    super(SummaryHub, self).__init__(data, storage, payload, instclass)
  File "/home/atodorov/anaconda/pyanaconda/ui/gui/__init__.py", line 773, in _instantiateAction
    obj = actionClass(self.data, self.storage, self.payload, self.instclass)
  File "/home/atodorov/anaconda/pyanaconda/ui/gui/__init__.py", line 817, in run
    self._currentAction = self._instantiateAction(self._actions[0])
  File "/home/atodorov/anaconda/anaconda", line 1329, in <module>
    anaconda._intf.run()
GLib.Error: gtk-builder-error-quark: /home/atodorov/anaconda/pyanaconda/ui/gui/hubs/summary.glade:7:1 Invalid object type 'AnacondaHubWindow' (6)



At this point I'm confident the initial problem from comment #0 was caused by anaconda not being able to find the necessary files/modules when executed from inside the git checkout. What's left to do is figure out what settings are required for this to work properly.

Comment 4 Alexander Todorov 2015-11-02 15:09:56 UTC
Updating this BZ. I have a working copy of anaconda and it only needed a few lines updated to take into account environment variables. Will submit a PR.

Comment 5 Alexander Todorov 2015-11-05 08:24:12 UTC
Closing, a PR is proposed on GitHub.


Note You need to log in before you can comment on or make changes to this bug.