http://bugzilla.wpkg.org/show_bug.cgi?id=114 --- Comment #4 from Rainer Meier <r.meier at wpkg.org> 2008-05-08 13:50:46 --- > I'm mainly using /force to make sure noone installs any software that is WPKG's > package database manually. I think you mean you want to assure that nobody installs software which is NOT assigned to a host. Why not simply removing the permissions from the user account to install software? > All on a machine installed software that can be maintained with WPKG should be > maintained with WPKG. This you can only assure if nobody has the rights to install software locally. > Example: > One profile doesn't contain "Firefox" for one or another reason. Some local > administrator who doesn't know about those reasons decides that he wants to > browse with Firefox on one of the machines from that profile so he installs > Firefox manually. Without using the /force parameter WPKG will never get to > know about Firefox being installed on that machine and thus won't remove it > from that machine again. Now I am slightly confused. Of course WPKG does not know about every package which will be installed manually. But /force does not change this behavior at all. /force will just make WPKG to disregard the local wpkg.xml and start over to install all assigned software packages. Depending on defined checks it might detect that a sofware is already installed and it will not re-install it. Never ever WPKG is going to remove software on the system which is not assigned to the host but installed unless WPKG knows that it has been installed by WPKG before (by looking at wpkg.xml). If you use /force then exactly wpkg.xml is disregarded, so WPKG will never ever uninstall any software when /force is used. The reason is simple. When wpkg.xml is not used then the system is just "empty" for WPKG and it will start from scratch _installing_ all the assigned software. Some of them will not be re-installed since the checks defined return "true" (already installed) so WPKG will skip the package. As you already mentioned WPKG cannot detect if an upgrade should be done or a fresh installation as it does not know the previous state (due to missing/unused wpkg.xml). This is also the reason why I wrote that /force should only be used in very rare cases (mostly for debug and system fixing actions). You want to have a way where WPKG removes any installed software which is not in the distribution list. This is not possible at the moment. Unless Firefox would be installed using WPKG as well - but I understood your comment that the local user is installing Firefox manually (by packages downloaded from the web page). > Using /force helps me to always have the machines in a state conform with the > profile for that machine (at least for the software in the package database). For this you don't need the /force switch. Just use only the /synchronize switch and WPKG will remove packages not in the profile any more. Install packages new to the profile and upgrade packages which have been updated. So it is exactly the purpose of WPKG to keep clients in-sync with the profile all the time when using the /synchronize switch. /force just makes WPKG to re-evaluate the state of each package and install packages missing from the system. In /force mode WPKG will neither remove any package (since it does not know about the previous state) nor will it execute any upgrade (due to the same reason). I know you claim that this is exactly your problem that /force is ignoring wpkg.xml. But a /forceXY switch which would regard wpkg.xml would be simply the same as just omitting /force. So feel free to add /forceJens to the command line and think that it has been implemented already. But remember - there is still no way to detect a manually installed Firefox on the system and to remove it by WPKG. WPKG can only uninstall packages which are installed by WPKG. The reason is simple - WPKG cannot know how to uninstall any software on this planet as every software uses different installers... So there is no way to get rid of such a manually installed Firefox in an automatic way. Even your request does not change this fact. > It also doesn't always execute the <install...> command on each run if it > detects that the software in question is already installed in the current > revision. Right, it executes the checks first when /force is used. So if the checks reveal true, then WPKG will simply add the package to wpkg.xml without actually re-installing it. So make sure your checks verify the installed version properly. However if the checks do not succeed than WPKG has to assume that the package is NOT properly installed and will install it (<install...> commands). It cannot know if there is a previous version since wpkg.xml is not used and there no other information is available. Again: If /forceXY would regard wpkg.xml it would simply not be /force any more ;-) as /force is doing nothing else than disregarding wpkg.xml. Even in your example this would not help at all. Assuming that Firefox is not part of the profile then WPKG will not uninstall it no matter if /force* is used or not. > What I want/need is a second /force command that basically does the same as > the current /force but uses the local wpkg.xml first to detect whether a > previous version of the software is already installed and then issues the > <upgrade..> command instead of the <install..> command. Again here: If the /force command would regard wpkg.xml then it is would do exactly the same as no /force command is used. I think you have a basic problem to understand the WPKG functionality here. WPKG can only detect if an application is to be upgraded or if it is e fresh installation if the package is initially installed by WPKG. This means if Firefox installed manually by somebody will not be upgraded in any case. -- Configure bugmail: http://bugzilla.wpkg.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. |