Fix for to the startup service problem on upgrade.

Fix for circular dependency between CASA and Gnome Keyring.
Fix for yast grey out button.
This commit is contained in:
Cameron (Kamran) Mashayekhi
2006-05-22 21:14:34 +00:00
parent a601b19764
commit 0e2f327e7c
22 changed files with 339 additions and 190 deletions

View File

@@ -84,7 +84,7 @@ CREATE_PKGCONFIG_NOARCH_FALSE =
CREATE_PKGCONFIG_NOARCH_TRUE = #
CREATE_PKGCONFIG_TRUE = #
CYGPATH_W = echo
DEFS = -DPACKAGE_NAME=\"yast2-CASA\" -DPACKAGE_TARNAME=\"yast2-CASA\" -DPACKAGE_VERSION=\"1.6.515\" -DPACKAGE_STRING=\"yast2-CASA\ 1.6.515\" -DPACKAGE_BUGREPORT=\"http://www.suse.de/feedback\" -DPACKAGE=\"yast2-CASA\" -DVERSION=\"1.6.515\"
DEFS = -DPACKAGE_NAME=\"yast2-CASA\" -DPACKAGE_TARNAME=\"yast2-CASA\" -DPACKAGE_VERSION=\"1.6.0\" -DPACKAGE_STRING=\"yast2-CASA\ 1.6.0\" -DPACKAGE_BUGREPORT=\"http://bugs.opensuse.org/\" -DPACKAGE=\"yast2-CASA\" -DVERSION=\"1.6.0\"
ECHO_C =
ECHO_N = -n
ECHO_T =
@@ -99,11 +99,11 @@ LTLIBOBJS =
MAINTAINER = casa <casa@novell.com>
MAKEINFO = ${SHELL} /home/cameron/dev/subversion/trunk/casa-yast/missing --run makeinfo
PACKAGE = yast2-CASA
PACKAGE_BUGREPORT = http://www.suse.de/feedback
PACKAGE_BUGREPORT = http://bugs.opensuse.org/
PACKAGE_NAME = yast2-CASA
PACKAGE_STRING = yast2-CASA 1.6.515
PACKAGE_STRING = yast2-CASA 1.6.0
PACKAGE_TARNAME = yast2-CASA
PACKAGE_VERSION = 1.6.515
PACKAGE_VERSION = 1.6.0
PATH_SEPARATOR = :
PKG_CONFIG_PATH = /usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:/opt/kde3/lib64/pkgconfig:/opt/gnome/lib64/pkgconfig:/opt/gnome/lib64/pkgconfig:/opt/gnome/share/pkgconfig
RPMNAME = yast2-CASA
@@ -115,7 +115,7 @@ STYLESHEET_HTML = /usr/share/YaST2/data/docbook/stylesheets/customize-html.xsl
STYLESHEET_PDF = /usr/share/YaST2/data/docbook/stylesheets/customize-fo.xsl
STYLESHEET_YCPDOC = /usr/share/YaST2/data/docbook/stylesheets/ycpdoc.xsl
STYLESHEET_YDOC = /usr/share/YaST2/data/docbook/stylesheets/ydoc.xsl
VERSION = 1.6.515
VERSION = 1.6.0
XGETTEXT = /usr/bin/xgettext
YCPC = /usr/bin/ycpc
YCPDOC = /usr/lib/YaST2/bin/ycpdoc

View File

@@ -43,15 +43,18 @@ include "CASA/helps.ycp";
* Return a modification status
* @return true if data was modified
*/
boolean Modified() {
boolean Modified()
{
return NovellCasa::Modified();
}
boolean ReallyAbort() {
boolean ReallyAbort()
{
return !NovellCasa::Modified() || Popup::ReallyAbort(true);
}
boolean PollAbort() {
boolean PollAbort()
{
return UI::PollInput() == `abort;
}
@@ -59,7 +62,8 @@ boolean PollAbort() {
* Read settings dialog
* @return `abort if aborted and `next otherwise
*/
symbol ReadDialog() {
symbol ReadDialog()
{
Wizard::RestoreHelp(HELPS["read"]:"");
// NovellCasa::AbortFunction = PollAbort;
boolean ret = NovellCasa::Read();
@@ -70,7 +74,8 @@ symbol ReadDialog() {
* Write settings dialog
* @return `abort if aborted and `next otherwise
*/
symbol WriteDialog() {
symbol WriteDialog()
{
Wizard::RestoreHelp(HELPS["write"]:"");
// NovellCasa::AbortFunction = PollAbort;
boolean ret = NovellCasa::Write();
@@ -81,7 +86,8 @@ symbol WriteDialog() {
* Summary dialog
* @return dialog result
*/
any SummaryDialog() {
any SummaryDialog()
{
/* CASA summary dialog caption */
string caption = _("CASA Configuration");
@@ -96,99 +102,135 @@ any SummaryDialog() {
// unconfigured, false, configured);
term contents = `Frame(_(" CASA Configuration Wizard Pages "),
`VBox(
`VSpacing(),
`VSpacing(),
`PushButton(`id(`install_casa_button),`opt(`default), _("&Configure CASA")),
`VSpacing(),
`VSpacing(),
`PushButton(`id(`uninstall_casa_button),`opt(`default), _("&Unconfigure CASA")),
`VSpacing(),
`VSpacing()
));
`VBox(
`VSpacing(),
`VSpacing(),
`PushButton(`id(`install_casa_button),`opt(`default), _("&Configure CASA")),
`VSpacing(),
`VSpacing(),
`PushButton(`id(`uninstall_casa_button),`opt(`default), _("&Unconfigure CASA")),
`VSpacing(),
`VSpacing()
));
Wizard::SetContentsButtons(caption, contents, HELPS["summary"]:"",
Wizard::SetContentsButtons(caption, contents, HELPS["summary"]:"",
Label::BackButton(), Label::FinishButton());
any ret = nil;
while(true) {
integer iConfig_CASAReturn = (integer)SCR::Execute(.target.bash, "/usr/sbin/iscasaconfiged");
ret = UI::UserInput();
if(iConfig_CASAReturn == 0)
{
UI::ChangeWidget(`id(`install_casa_button), `Enabled, false);
}
else
{
UI::ChangeWidget(`id(`uninstall_casa_button), `Enabled, false);
}
/* abort? */
if(ret == `abort || ret == `cancel || ret == `back) {
if(ReallyAbort()) break;
else continue;
any ret = nil;
while(true)
{
ret = UI::UserInput();
/* abort? */
if(ret == `abort || ret == `cancel || ret == `back) {
if(ReallyAbort()) break;
else continue;
}
/* overview dialog */
else if(ret == `edit_button) {
else if(ret == `edit_button)
{
ret = `overview;
break;
}
/* configure the selected device */
else if(ret == `configure_button) {
else if(ret == `configure_button)
{
// TODO FIXME: check for change of the configuration
any selected = UI::QueryWidget(`id(`detected_selbox), `CurrentItem);
if(selected == `other) {
if(selected == `other)
{
ret = `other;
}
else {
else
{
ret = `configure;
}
break;
}
else if(ret == `next) {
else if(ret == `next)
{
break;
}
else if(ret == `install_casa_button) {
else if(ret == `install_casa_button)
{
// launch the install script here
y2milestone ("SummaryDialog() launch the install script");
integer iInstall_CASAReturn = (integer)SCR::Execute(.target.bash, "/usr/sbin/installcasa");
if(iInstall_CASAReturn == 0)
if(iConfig_CASAReturn != 0)
{
y2milestone(sformat("SummaryDialog() SCR::Execute(.target.bash, /usr/sbin/installcasa) returned: %1",iInstall_CASAReturn));
Popup::Message(sformat("YaST Configured CASA successfully."));
}
else if(iInstall_CASAReturn == 127)
{
Popup::Error(sformat("YaST was unable to find the installcasa script."));
}
else if(iInstall_CASAReturn == 126)
{
Popup::Error(sformat("YaST requires root privleges to run the installcasa script."));
}
else
{
Popup::Error(sformat("The install_casa script returned an unknown error: %1",iInstall_CASAReturn));
// launch the install script here
y2milestone ("SummaryDialog() launch the install script");
integer iInstall_CASAReturn = (integer)SCR::Execute(.target.bash, "/usr/sbin/installcasa");
if(iInstall_CASAReturn == 0)
{
y2milestone(sformat("SummaryDialog() SCR::Execute(.target.bash, /usr/sbin/installcasa) returned: %1",iInstall_CASAReturn));
Popup::Message(sformat("YaST Configured CASA successfully."));
}
else if(iInstall_CASAReturn == 127)
{
Popup::Error(sformat("YaST was unable to find the installcasa script."));
}
else if(iInstall_CASAReturn == 126)
{
Popup::Error(sformat("YaST requires root privleges to run the installcasa script."));
}
else
{
Popup::Error(sformat("The install_casa script returned an unknown error: %1",iInstall_CASAReturn));
}
UI::ChangeWidget(`id(`install_casa_button), `Enabled, false);
UI::ChangeWidget(`id(`uninstall_casa_button), `Enabled, false);
}
continue;
}
else if(ret == `uninstall_casa_button) {
// launch the uninstall script here
y2milestone ("SummaryDialog() launch the uninstall script");
integer iUninstall_CASAReturn = (integer)SCR::Execute(.target.bash, "/usr/sbin/uninstallcasa");
if(iUninstall_CASAReturn == 0)
else if(ret == `uninstall_casa_button)
{
if(iConfig_CASAReturn == 0)
{
y2milestone(sformat("SummaryDialog() SCR::Execute(.target.bash, /usr/sbin/uninstallcasa) returned: %1",iUninstall_CASAReturn));
Popup::Message(sformat("YaST Unconfigured CASA successfully."));
}
else if(iUninstall_CASAReturn == 127)
{
Popup::Error(sformat("YaST was unable to find the uninstallcasa script."));
}
else if(iUninstall_CASAReturn == 126)
{
Popup::Error(sformat("YaST requires root privleges to run the uninstallcasa script."));
}
else
{
Popup::Error(sformat("The uninstall_casa script returned an unknown error: %1",iUninstall_CASAReturn));
}
// launch the uninstall script here
y2milestone ("SummaryDialog() launch the uninstall script");
integer iUninstall_CASAReturn = (integer)SCR::Execute(.target.bash, "/usr/sbin/uninstallcasa");
if(iUninstall_CASAReturn == 0)
{
y2milestone(sformat("SummaryDialog() SCR::Execute(.target.bash, /usr/sbin/uninstallcasa) returned: %1",iUninstall_CASAReturn));
Popup::Message(sformat("YaST Unconfigured CASA successfully."));
}
else if(iUninstall_CASAReturn == 127)
{
Popup::Error(sformat("YaST was unable to find the uninstallcasa script."));
}
else if(iUninstall_CASAReturn == 126)
{
Popup::Error(sformat("YaST requires root privleges to run the uninstallcasa script."));
}
else
{
Popup::Error(sformat("The uninstall_casa script returned an unknown error: %1",iUninstall_CASAReturn));
}
UI::ChangeWidget(`id(`uninstall_casa_button), `Enabled, false);
UI::ChangeWidget(`id(`install_casa_button), `Enabled, false);
}
continue;
}
else {
else
{
y2error("unexpected retcode: %1", ret);
continue;
}
@@ -201,7 +243,8 @@ any SummaryDialog() {
* Overview dialog
* @return dialog result
*/
any OverviewDialog() {
any OverviewDialog()
{
/* CASA overview dialog caption */
string caption = _("CASA Overview");
@@ -228,36 +271,42 @@ any OverviewDialog() {
Label::BackButton(), Label::FinishButton());
any ret = nil;
while(true) {
while(true)
{
ret = UI::UserInput();
/* abort? */
if(ret == `abort || ret == `cancel) {
if(ret == `abort || ret == `cancel)
{
if(ReallyAbort()) break;
else continue;
}
/* add */
else if(ret == `add_button) {
else if(ret == `add_button)
{
/* FIXME */
ret = `add;
break;
}
/* edit */
else if(ret == `edit_button) {
else if(ret == `edit_button)
{
/* FIXME */
ret = `edit;
break;
}
/* delete */
else if(ret == `delete_button) {
else if(ret == `delete_button)
{
/* FIXME */
continue;
}
else if(ret == `next || ret == `back) {
else if(ret == `next || ret == `back)
{
break;
}
else {
else
{
y2error("unexpected retcode: %1", ret);
continue;
}