|
Bugzilla – Full Text Bug Listing |
| Summary: | [opensuse-updater][kde]stubborn opensuse-updater | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 10.3 | Reporter: | Elmar Stellnberger <estellnb> |
| Component: | YaST2 | Assignee: | Thomas Göttlicher <tgoettlicher> |
| Status: | RESOLVED FIXED | QA Contact: | Jiri Srain <jsrain> |
| Severity: | Normal | ||
| Priority: | P5 - None | ||
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | i686 | ||
| OS: | openSUSE 10.3 | ||
| Whiteboard: | |||
| Found By: | Community of Practice | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: | upgrade refused | ||
Created attachment 186479 [details]
upgrade refused
After restarting the updater the following error message has occurred by an attempt to upgrade a singleton package (previously updater had been run as root and could not find any available upgrade though there had always been plenty).
As far as I can remember there had been another minor issue with a very likely truely missing lock release at Bug #333465 (if that has not been resolved yet). In the main it works quite reliable and well (no recurring errors). Nevertheless some improvements to the locking mechanism may be possible: consistency checks (f.e.release on finally handler), multiple read locks, possibly even activate/deactivate installation sources while software to be installed is selected - two different yast-modules; to be used exclusively by the time). Another question is wheter it may be run as root (apart from the security risk) to avoid having to enter the root password subsequently (Comment#1). After an appropriate change an entry in the sudoers-table for zypp should be sufficient for kdesu to directly start updating (without kdesu asking for any password). kdesu --noignorebutton -d -c ( true ; zypper ...) |-> kdesu --noignorebutton -d -c zypper ... hanging zypp-update of opensuse-updater (absolutely no progress); remained after quit (os-updater should possibly kill updates in progress on quit): ps ax|g zypp 30101 ? S 0:00 /bin/bash /usr/sbin/zypper_install --patch --package lyx 30107 ? S 0:00 kdesu --noignorebutton -d -c ( true ; zypper -q --terse --non-interactive in -l -t package --force --name "lyx" )?> /tmp/opensuseupdater.Yvooj30102/opensuseupdater_out 2> /tmp/opensuseupdater.Yvooj30102/opensuseupdater_err (30107: both files of zero size) kill and manual recreation of 30101: zypper has worked fast and correct As far as I know kdesu ignores /etc/sudoes NOPASSWD. If you point me a solution without I will try to implement it in opensuseupdater's zypper call. Jano, how is it possible that yast sw_single and zypper runs at the same time? (in Reply to Comment #5) Well, in the meanwhile kdesu takes /etc/sudoers into account (Bug 267399). > tail -1 /etc/sudoers elm ALL = (root) NOPASSWD: /sbin/ifconfig, /usr/bin/zypper > kdesu ifconfig (or: kdesu -c ifconfig) eth1 Protokoll:Ethernet Hardware Adresse xx:xx:xx:xx:xx:xx ... (concerning Comment #4,6) found that zypp-process running after having quitted opensuse-updater; and thought it had been issued by opensuse-updater; where else should it come from? activate/deactivate installation sources while software to be installed is selected: It would be really groovy if that was possible without extensive changes. It likely means that sw_single must not pregrab any resource/lock on startup, but only lock for the time it is performing searches. Similarely yast2.inst_source would have to realease its locks after adding/changing/removing inst.sources in order to signal the interested (like f.e. sw_single processes). All of that required a fine grained but consistent locking and resource sharing. By the way could anyone explain what the invocation of 'true' before zypper was supposed to be good for (I know, I have already commited such basherys on my own $( true | (...) | ...), because bash didn`t like me to open a subshell as the first command inside $() )? (In reply to comment #7) > Well, in the meanwhile kdesu takes /etc/sudoers into account. On my system (factory 11.0) kdesu opens a window with password prompt while sudo runs zypper as root without password prompt. Are you sure Bug 267399 is fixed? I guess it is close because of no response. (In reply to comment #8) > By the way could anyone explain what the invocation of 'true' before zypper > was supposed to be good for [...]? The "true" in the command is added by a script that automatically assembles the zypper calls. I will clean up this script. Unfortunately the kdesu-enhancement for consulting /etc/sudoers first has not been implemented yet. Nevertheless we should not mind since that can possibly be circumvented provisionally by a hack like the following replacing /opt/kde3/bin/kdesu (interestingly not /usr/bin/kdesu): kdo=""; while [ "$1" = "--noignorebutton" ]||[ "$1" = "-d" ]||[ "$1" = "-c" ]; do kdo="$kdo $1"; shift; done sudo -S "$@" </dev/null || /usr/bin/kdesu-orig $kdo "$@" So what is 'true' supposed to do? do it stout, simply drop it out so that the user of the updater will not be freed any later of a task that for we do not want him to ask! . (In reply to comment #6 from Thomas Goettlicher) > Jano, how is it possible that yast sw_single and zypper runs at the same time? No idea, really. zypper repos is allowed, but zypper search should not work. Call of zypper is cleaned up in the kde4 version now. I will submit a package to STABLE soon. |
Every now and then the OpenSuse-Updater its work with the following error message: "A ZYpp transaction is already in progress. This means, there is another application using the libzypp library for package management running. All such applications must be closed before using this command. Dienstprogramm gab zur��ck: Exit Status: 4" This time, interestingly the following things have worked at the same time: > zypper repos > zypper se svgalib * installing SW via YaST