"New version is available" notification should be disabled

Bug #1140597 reported by MestreLion
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
boinc (Ubuntu)
Undecided
Unassigned

Bug Description

boinc, when installed via Software Center, should not by default show "New Version is available" notifications, since this points to the Berkley upstream install script, which when installed does not properly replace the one installed via SC. In fact, some sources state they cannot co-exist and conflicts will occur if you follow the "update" instructions.

Software installed via Ubuntu's SC/apt should be updated only via update-manager, as any other package. Actually, notification should not only be disabled by default but also be completely stripped from GUI, to avoid a new user enabling it while poki...exploring Tools > Options.

Self-updating software is for upstream versions only. For Ubuntu repos, there's a package management system already :)

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

I don't see this message anywhere, could you please post a screenshot?

Revision history for this message
MestreLion (mestrelion) wrote :

There you go...

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

loool I see it now...

the problem could be fixed by looking at client/cs_notice.cpp I think, this should be the file that gets notices

Revision history for this message
MestreLion (mestrelion) wrote :

Well, whoever takes a look at this and fix the bug, please take care to disable *only* the "New Boinc version available" notices, *not* the other ones. There are many project-related notices (like Einstein@Home in my screenshot above, also PrimeGrid sends notifications frequently), and these should *not* be disabled.

Thanks!

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

This is why is difficult to do :)

Revision history for this message
ChristianB (djangofett) wrote :

This option is already available. Just add the --no_info_fetch option to the package init script of the BOINC client. I see if I can provide a diff (for debian at least).

Revision history for this message
MestreLion (mestrelion) wrote :

@ChristianB:

--no_info_fetch
              Don't fetch project list or client version info from boinc.berkeley.edu.

I guess that would disable the fetching of project list, correct? Is there a way to disable the version info *only*?

Revision history for this message
MestreLion (mestrelion) wrote :

@ChristianB: I guess you swapped the files in that patch: looks like you're *removing* (an unexisting) --no_info_fetch option instead of adding it.

Also, since it looks like --no_info_fetch would also have a side-effect of disabling project list fetching, I'm not sure if this is the best approach. Besides, I guess the user can revert that using Manager's GUI (Tools > Options > Notice reminder interval)

I think the best approach would be to disable version notices *in code*, and leave Manager GUI / --no_info_fetch for *other* notices. At least for versions handled by a package management system, like Ubuntu/Debian

Revision history for this message
ChristianB (djangofett) wrote :

Your correct, I will see if I can pinpoint the version fetch in the code.

Revision history for this message
ChristianB (djangofett) wrote :

I found the place in the code. In my opinion its best to just suppress the message display function in client/current_version.cpp line 85: show_newer_version_msg() and comment out the msg_printf_notice() call. This will not prevent the client from talking to boinc.berkeley.edu from time to time (every 2 weeks) but is less intrusive in the code.

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

Thanks ChristianB for your point.

Anyway I found interesting this line too
client/client_state.cpp:461
newer_version_startup_check();

this is the call at the function you are referring to.

What do you think about disabling it there?
It should work too and it doesn't talk with the boinc website.
It is not so intrusive, just a line commented out.

BTW how do you feel about contributing to debian boinc side?
You seem to have a good code knowledge and you maybe can help in fixing some bugs here!

Revision history for this message
ChristianB (djangofett) wrote :

This is only the check at client startup that checks the client state file.

The actual communication is done in
client/current_version.cpp: 30
GET_CURRENT_VERSION_OP::do_rpc()

this is called only once in the same file at line 138. Commenting this line should prevent communication and never insert a new version into the client state file. I reviewed the code and an empty value poses no thread to the other functions.

You can also comment out
client/scheduler_op.cpp:132 as this calls new_version_check() in the beginning.

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

Sorry, so your opinion is to comment out both lines right?
client/client_state.cpp:461
client/scheduler_op.cpp:132

Revision history for this message
ChristianB (djangofett) wrote :

Yes, that would disable the "new version" notice at all. This will also work for clients that already have a newer version in the state file.

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

I'm building right now boinc 7.0.54 in
ppa:costamagnagianfranco/locutusofborg-ppa and /boinc

I'm building 7.1 development release in costamagnagianfranco/firefox.

Each build will be available in a few hours, please test them :-)

Anyway I like more this solution, removing only the printf could have some side effects in notices handling (maybe when deleting notices or in the "new notices" number).
Don't know, but this should be the best way :-)

P.s. remember that you can contribute if you want! :-P

Revision history for this message
ChristianB (djangofett) wrote :

I don't think there would be any side effects by commenting the printf as this would prevent creation of the notice and changes to the sequence number. But as always it's better to tackle the problem at the root, which is what you did.

P.S.: I'm already contributing with updated man pages and will do some more work for the boinc-server-maker package with Steffen.

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

glad to hear this!!! Welcome to the team!
I like you liked the second patch more than the single printf one :-)

BTW there.are some bugs so important here," e.g. boinc cannot start it's client and you have to start it manually from init.d and a gpu not found when you reboot your pc and so on... If you have time would be nice if you can help me in fixing them... I can provide you my work in finding the clue of these bugs :-)
Thanks for all
G.

Revision history for this message
ChristianB (djangofett) wrote :

We should continue this via mail (either personal or through a list). I just spend some time trying to find the problem for the freeze if there are images in notices which I could debug locally finding the bug for this GPU not initialized will be even trickier.

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

Hi Christian, agree on follow up on boinc devel list (debian) or privately, as you want

Please before wasting your time trying to fix the images problem look at this commit [1]
http://boinc.berkeley.edu/gitweb/?p=boinc.git;a=commit;h=390837956cdd7324f50a41ac2e07727860e2e83b

In the few past days upstream developers (after I send them so many mail about this problem YEARS ago), tried to fix it and disabled it, the fixing will start again from the next release, so if you really want to fix this talking with them before could help you in not sparing your time ;)
[1] http://boinc.berkeley.edu/gitweb/?p=boinc.git;a=commit;h=390837956cdd7324f50a41ac2e07727860e2e83b

Revision history for this message
MestreLion (mestrelion) wrote :

Whatever mailing list you guys use to continue this discussion, sign me in! :)

My C++ skills are a bit rusty, but I may be able to help, if not in programming, at least in discussing strategies, approaches and packaging.

Also, I've created a script (wrapper for boincmgr) as a workaround for some of the annoying boinc bugs: not detecting a GPU at boot and not re-starting boinc client after shutting its tasks, so maybe it will be useful for you guys: https://github.com/MestreLion/scripts/blob/master/boinc-manager

Changed in boinc (Ubuntu):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package boinc - 7.0.65+dfsg-1

---------------
boinc (7.0.65+dfsg-1) unstable; urgency=low

  [ Gianfranco Costamagna ]
  * New upstream release.
  * debian/control.in dropped version check
      - pkg-config (>= 0.15) (version 0.25 in stable)
      - autoconf (>= 2.59) (version 2.67 in stable)
      - automake1.9 (>= 1.9.3) (version 1.9.6 in stable)
      - libcurl4-openssl-dev (>= 7.17.1) (version 7.21.0 in stable)
      - python (>= 2.3) (version 2.6.6 in stable)
      - Breaks: udev (<< 136-1) (version 164 in stable)
      - removed boinc-app-seti from boinc-client Suggests field
      - Bumped debhelper required version to 8
    debian/compat
      - Bumped to version 8

  [ Steffen Moeller ]
  * Merged work on packaging of BOINC server code
  * boinc-cgi-stripchart package now built together with server parts

 -- Gianfranco Costamagna <email address hidden> Tue, 30 Apr 2013 21:45:44 +0200

Changed in boinc (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers