[wpkg-users] [Bug 114] new parameter /force2 ?

bugzilla-daemon at bugzilla.wpkg.org bugzilla-daemon at bugzilla.wpkg.org
Thu May 8 13:50:52 CEST 2008


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.



More information about the wpkg-users mailing list