After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 583518 - --no-poison only works sometimes
--no-poison only works sometimes
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: general
2.27.x
Other Solaris
: Normal normal
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on:
Blocks:
 
 
Reported: 2009-05-22 01:49 UTC by James Andrewartha
Modified: 2009-05-22 22:54 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description James Andrewartha 2009-05-22 01:49:02 UTC
I think it's only working when -a is also passed.
Comment 1 Frederic Peters 2009-05-22 06:30:43 UTC
Could you note the modules that are failing, and the modules that shouldn't be skipped?  Do you get messages like those:
  module %(mod)s will be build even though %(dep)s failed
  module %(mod)s not built due to non buildable %(dep)s
?
Comment 2 James Andrewartha 2009-05-22 09:52:26 UTC
OK, while running "jhbuild build --no-poison", samba4 failed to build then libmapi and evolution-mapi were skipped:
Linking bin/asn1_compile
ld: fatal: symbol `flock' is multiply-defined:
        (file heimdal/../heimdal_build/replace.ho type=FUNC; file bin/mergedobj/heimdal_roken.o type=FUNC);
ld: fatal: File processing errors. No output written to bin/asn1_compile
collect2: ld returned 1 exit status
make: *** [bin/asn1_compile] Error 1
*** error during phase build of samba4: ########## Error running make  -j4 *** [128/207]

  [1] rerun phase build
  [2] ignore error and continue to build
  [3] give up on module
  [4] start shell
  [5] reload configuration
  [6] go to phase force_checkout
  [7] go to phase configure
  [8] go to phase clean
  [9] go to phase distclean
choice: 3
*** module libmapi not built due to non buildable samba4 *** [129/207]
*** module evolution-mapi not built due to non buildable libmapi *** [130/207]
*** Checking out evolution-webcal *** [131/207]
git fetch
git pull --rebase
^SCurrent branch master is up to date.
*** Building evolution-webcal *** [131/207]
make  -j4
Comment 3 Frederic Peters 2009-05-22 10:15:18 UTC
The code is simple enough:

    if self.config.nopoison:
        self.message(_('module %(mod)s will be build even though %(dep)s failed')
                     % { 'mod':module.name, 'dep':dep })
    else:
        self.message(_('module %(mod)s not built due to non buildable %(dep)s')
                     % { 'mod':module.name, 'dep':dep })

And the code to set config.nopoison from the cmdline arg is also straightforward; I am quite lost here.

Could you add print config.nopoison to jhbuild/commands/base.py, line 337, and print self.config.nopoison to jhbuild/frontends/buildscript.py, line 82 ?
Comment 4 James Andrewartha 2009-05-22 17:48:32 UTC
After reloading the configuration when a module fails, config.nopoison is False.
Comment 5 Frederic Peters 2009-05-22 22:54:41 UTC
commit 244069425f821010bfa141dad31361126f3f84c9
Author: Frédéric Péters <fpeters@0d.be>
Date:   Sat May 23 00:51:28 2009 +0200

    keep track of configuration options set from the command line
    
    The configuration values were reset to default values when the user
    choosed to reload the configuration (from the terminal frontend), and
    options set from the command line (such as --no-poison) were therefore
    lost.  (GNOME bug 583518)