As part of fixing bnc 460835 I've created a patch that adds a RDP module to yast2-network package. I tried to make it use the same strings as the remote module for VNC administration whenever possible and it's pretty much a big cut-n-paste of that module right now. We probably want something better moving forward but for SLE11 this is probably the best solution.
Can I commit this patch to the SuSE-Code-11-Branch? - david
diff -urN ../yast2-network-2.17.62/src/clients/rdp_proposal.ycp ./src/clients/rdp_proposal.ycp --- ../yast2-network-2.17.62/src/clients/rdp_proposal.ycp 1969-12-31 19:00:00.000000000 -0500 +++ ./src/clients/rdp_proposal.ycp 2009-01-05 18:12:30.000000000 -0500 @@ -0,0 +1,76 @@ +/** + * File: clients/rdp_proposal.ycp + * Package: Network configuration + * Summary: Proposal for Remote Administration + * Authors: Arvin Schnell <[email protected]> + * Michal Svec <[email protected]> + * David Reveman <[email protected]> + */ + +{ + +textdomain "network"; + +/* The main () */ +y2milestone("----------------------------------------"); +y2milestone("RDP proposal started"); +y2milestone("Arguments: %1", WFM::Args()); + +import "RDP"; +import "Wizard"; +include "network/rdp/dialogs.ycp"; + +string func = (string) WFM::Args(0); +map param = (map) WFM::Args(1); +map ret = $[]; + +/* create a textual proposal */ +if(func == "MakeProposal") { + string proposal = ""; + string warning = nil; + symbol warning_level = nil; + boolean force_reset = param["force_reset"]:false; + + if(force_reset) RDP::Reset(); + else RDP::Propose(); + ret = $[ "raw_proposal" : [ RDP::Summary() ] ]; +} +/* run the module */ +else if(func == "AskUser") { + // single dialog, no need to Export/Import + + Wizard::CreateDialog(); + Wizard::SetDesktopIcon("remote"); + symbol result = (symbol) RemoteMainDialog (); + UI::CloseDialog(); + + y2debug("result=%1", result); + ret = $[ "workflow_sequence" : result ]; +} +/* create titles */ +else if(func == "Description") { + ret = $[ + /* RichText label */ + "rich_text_title" : _("RDP Remote Administration"), + /* Menu label */ + "menu_title" : _("RDP &Remote Administration"), + "id" : "admin_stuff", + ]; +} +/* write the proposal */ +else if(func == "Write") { + RDP::Write(); +} +/* unknown function */ +else { + y2error("unknown function: %1", func); +} + +/* Finish */ +y2debug("ret=%1",ret); +y2milestone("RDP proposal finished"); +y2milestone("----------------------------------------"); +return ret; + +/* EOF */ +} diff -urN ../yast2-network-2.17.62/src/clients/rdp.ycp ./src/clients/rdp.ycp --- ../yast2-network-2.17.62/src/clients/rdp.ycp 1969-12-31 19:00:00.000000000 -0500 +++ ./src/clients/rdp.ycp 2009-01-05 18:10:43.000000000 -0500 @@ -0,0 +1,128 @@ +/** + * File: clients/rdp.ycp + * Package: Network configuration + * Summary: Remote Administration + * Authors: Arvin Schnell <[email protected]> + * Michal Svec <[email protected]> + * David Reveman <[email protected]> + */ + +{ + +textdomain "network"; + +/* The main () */ +y2milestone("----------------------------------------"); +y2milestone("RDP module started"); + +import "Label"; +import "RDP"; +import "Wizard"; +import "Report"; + +import "CommandLine"; +import "RichText"; + +include "network/rdp/dialogs.ycp"; + +/** + * Main remote GUI + */ +any RemoteGUI() { + RDP::Read(); + + Wizard::CreateDialog(); + Wizard::SetDesktopIcon("remote"); + Wizard::SetNextButton(`next, Label::FinishButton() ); + + any ret = RemoteMainDialog(); + if(ret == `next) RDP::Write(); + + UI::CloseDialog(); + return ret; +}; + +/** + * Handler for action "list" + * @param options action options + */ +define boolean ListHandler(map<string, string> options) { + + string summary = ""; + /* Command line output Headline */ + summary = "\n" + _("Remote Access Configuration Summary:") + "\n\n" + + RichText::Rich2Plain(RDP::Summary()) + "\n"; + + y2debug("%1", summary); + CommandLine::Print(summary); + return true; +} + +/** + * Handler for action "allow" + * @param options action options + */ +define boolean SetRAHandler (map<string, string> options) { + string allow_ra = tolower(options["set"]:""); + + if (allow_ra != "yes" && allow_ra != "no") { + /* Command line error message */ + Report::Error(_("Please set 'yes' to allow the remote administration +or 'no' to disallow it.")); + return false; + } + + y2milestone("Setting AllowRemoteAdministration to '%1'", allow_ra); + RDP::allow_administration = (allow_ra == "yes" ? true : false); + + return true; +} + +/** + * Command line definition + */ +map cmdline = $[ + /* Commandline help title */ + "help" : _("Remote Access Configuration"), + "id" : "rdp", + "guihandler": RemoteGUI, + "initialize": RDP::Read, + "finish" : RDP::Write, + "actions" : $[ + "list" : $[ + /* Commandline command help */ + "help" : _("Display configuration summary"), + "handler" : ListHandler, + ], + "allow" : $[ + /* Commandline command help */ + "help" : _("Allow remote access"), + "handler" : SetRAHandler, + "example" : [ + "allow set=yes", + "allow set=no", + ], + ], + ], + "options" : $[ + "set" : $[ + /* Commandline command help */ + "help" : _("Set 'yes' to allow or 'no' to disallow the remote administration"), + "type" : "string", + ] + ], + "mappings" : $[ + "allow" : [ "set" ], + ], +]; + +any ret = CommandLine::Run(cmdline); +y2debug("ret=%1", ret); + +/* Finish */ +y2milestone("RDP module finished"); +y2milestone("----------------------------------------"); +return ret; + +/* EOF */ +} diff -urN ../yast2-network-2.17.62/src/config/rdp.desktop ./src/config/rdp.desktop --- ../yast2-network-2.17.62/src/config/rdp.desktop 1969-12-31 19:00:00.000000000 -0500 +++ ./src/config/rdp.desktop 2009-01-06 12:31:03.000000000 -0500 @@ -0,0 +1,25 @@ +[Desktop Entry] +Type=Application +Categories=Settings;System;Qt;X-SuSE-YaST;X-SuSE-YaST-Network; + +X-KDE-ModuleType=Library +X-KDE-RootOnly=true +X-KDE-HasReadOnlyMode=true +X-KDE-Library=yast2 +X-SuSE-YaST-Call=rdp + +X-SuSE-YaST-Group=Net_advanced +X-SuSE-YaST-Argument= +X-SuSE-YaST-RootOnly=true +X-SuSE-YaST-AutoInst=write +X-SuSE-YaST-Geometry= +X-SuSE-YaST-SortKey= +X-SuSE-YaST-AutoInstResource=rdp + +Icon=yast-remote +Exec=/sbin/yast2 rdp + +Name=Remote Administration (RDP) +GenericName=Set up remote administration +X-KDE-SubstituteUID=true +StartupNotify=true diff -urN ../yast2-network-2.17.62/src/Makefile.am ./src/Makefile.am --- ../yast2-network-2.17.62/src/Makefile.am 2008-10-24 09:37:41.000000000 -0400 +++ ./src/Makefile.am 2009-01-05 17:52:12.000000000 -0500 @@ -3,4 +3,4 @@ # SUBDIRS = modules clients routines lan services modem isdn dsl config \ - provider installation remote + provider installation remote rdp diff -urN ../yast2-network-2.17.62/src/Makefile.in ./src/Makefile.in --- ../yast2-network-2.17.62/src/Makefile.in 2008-10-24 09:39:01.000000000 -0400 +++ ./src/Makefile.in 2009-01-05 17:52:22.000000000 -0500 @@ -176,7 +176,7 @@ yncludedir = @yncludedir@ ystartupdir = @ystartupdir@ SUBDIRS = modules clients routines lan services modem isdn dsl config \ - provider installation remote + provider installation remote rdp all: all-recursive diff -urN ../yast2-network-2.17.62/src/modules/Makefile.am ./src/modules/Makefile.am --- ../yast2-network-2.17.62/src/modules/Makefile.am 2008-10-24 09:37:41.000000000 -0400 +++ ./src/modules/Makefile.am 2009-01-05 18:14:39.000000000 -0500 @@ -6,7 +6,7 @@ YCPCFLAGS = -idirs := lan isdn modem dsl installation provider remote services +idirs := lan isdn modem dsl installation provider remote rdp services nidirs = $(foreach idir, $(idirs), network/$(idir)) network: test -L $@ || ln -snf ../routines $@ diff -urN ../yast2-network-2.17.62/src/modules/Makefile.in ./src/modules/Makefile.in --- ../yast2-network-2.17.62/src/modules/Makefile.in 2008-10-24 09:39:01.000000000 -0400 +++ ./src/modules/Makefile.in 2009-01-05 18:14:50.000000000 -0500 @@ -180,7 +180,7 @@ module_DATA = $(wildcard *.ycp) EXTRA_DIST = $(module_DATA) YCPCFLAGS = -idirs := lan isdn modem dsl installation provider remote services +idirs := lan isdn modem dsl installation provider remote rdp services nidirs = $(foreach idir, $(idirs), network/$(idir)) ycpchook = network ${nidirs} modulebin_DATA = $(patsubst %.ycp,%.ybc,$(module_DATA)) diff -urN ../yast2-network-2.17.62/src/modules/RDP.ycp ./src/modules/RDP.ycp --- ../yast2-network-2.17.62/src/modules/RDP.ycp 1969-12-31 19:00:00.000000000 -0500 +++ ./src/modules/RDP.ycp 2009-01-06 15:49:37.000000000 -0500 @@ -0,0 +1,173 @@ +/** + * File: src/modules/RDP.ycp + * Module: Network configuration + * Summary: Module for Remote Administration via RDP + * Authors: Arvin Schnell <[email protected]> + * Martin Vidner <[email protected]> + * David Reveman <[email protected]> + * + */ + +{ + +module "RDP"; +textdomain "network"; + +import "Label"; +import "Mode"; +import "Package"; +import "Service"; +import "SuSEFirewall"; +import "Progress"; +import "Linuxrc"; + +include "network/routines.ycp"; + +/** + * Allow remote administration + */ +global boolean allow_administration = false; + +/** + * Remote administration has been already proposed + * Only force-reset can change it + */ +boolean already_proposed = false; + +/** + * Reset all module data. + */ +global void Reset() { + already_proposed = true; + + // Bugzilla #135605 - enabling Remote Administration when installing using VNC + if (Linuxrc::vnc()) { + allow_administration = true; + } else { + allow_administration = false; + } + y2milestone("Remote Administration was proposed as: %1", (allow_administration ? "enabled":"disabled")); +} + +/** + * Function proposes a configuration + * But only if it hasn't been proposed already + */ +global void Propose() { + if (!already_proposed) Reset(); +} + +/** + * Read the current status + * @return true on success + */ +global boolean Read() { + list<string> package = [ "xrdp" ]; + + if (!Package::InstallAll(packages)) { + y2error("Installing of required packages failed"); + return false; + } + + boolean xrdp = Service::Enabled ("xrdp"); + + y2milestone ("xrdp: %1", xrdp); + allow_administration = xrdp; + + boolean current_progress = Progress::set(false); + SuSEFirewall::Read(); + Progress::set(current_progress); + + return true; +} + +/** + * Update the SCR according to network settings + * @return true on success + */ +global boolean Write() { + + list <string> steps = [ + /* Progress stage 1 */ + _("Write firewall settings"), + /* Progress stage 2 */ + _("Configure xrdp"), + ]; + + if (Mode::normal()) { + /* Progress stage 3 */ + if(allow_administration) { + steps = add( steps, _("Restart the services") ); + } + else { + steps = add( steps, _("Stop the services") ); + } + } + + string caption = _("Saving Remote Administration Configuration"); + integer sl = 0; //100; //for testing + + Progress::New(caption, " ", size(steps), steps, [], ""); + + ProgressNextStage(_("Writing firewall settings...")); + boolean current_progress = Progress::set(false); + SuSEFirewall::Write(); + Progress::set(current_progress); + sleep(sl); + + ProgressNextStage(_("Configuring xrdp...")); + + if(allow_administration) { + /* Enable xrdp */ + if(!Service::Enable("xrdp")) { + y2error("Enabling of xrdp failed"); + return false; + } + } + else + { + /* Disable xrdp */ + if (!Service::Disable("xrdp")) { + y2error("Disabling of xrdp failed"); + return false; + } + } + sleep(sl); + + if(Mode::normal ()) { + if (allow_administration) { + ProgressNextStage(_("Restarting the service...")); + Service::Restart("xrdp"); + } + else + { + ProgressNextStage(_("Stopping the service...")); + Service::Stop("xrdp"); + } + + sleep(sl); + Progress::NextStage(); + } + + return true; +} + +/** + * Create summary + * @return summary text + */ +global define string Summary() { + + if(allow_administration) { + /* Label in proposal text */ + return _("Remote administration is enabled."); + } + else { + /* Label in proposal text */ + return _("Remote administration is disabled."); + } + +} + +/* EOF */ +} diff -urN ../yast2-network-2.17.62/src/rdp/dialogs.ycp ./src/rdp/dialogs.ycp --- ../yast2-network-2.17.62/src/rdp/dialogs.ycp 1969-12-31 19:00:00.000000000 -0500 +++ ./src/rdp/dialogs.ycp 2009-01-06 12:34:36.000000000 -0500 @@ -0,0 +1,116 @@ +/** + * File: remote/dialogs.ycp + * Module: Network configuration + * Summary: Dialog for Remote RDP Administration + * Authors: Arvin Schnell <[email protected]> + * David Reveman <[email protected]> + */ + +{ + +textdomain "network"; + +import "Label"; +import "RDP"; +import "Wizard"; +import "CWMFirewallInterfaces"; + +include "network/routines.ycp"; + +/** + * Remote administration dialog + * @return dialog result + */ +define symbol RemoteMainDialog() { + + ScreenName("rdp"); + + /* Ramote Administration dialog caption */ + string caption = _("Remote Administration"); + + term allow_buttons = `RadioButtonGroup( + `VBox ( + /* RadioButton label */ + `Left(`RadioButton(`id(`allow), _("&Allow Remote Administration"), false)), + /* RadioButton label */ + `Left(`RadioButton(`id(`disallow), _("&Do Not Allow Remote Administration"), false)) + ) + ); + + map<string,any> firewall_widget = CWMFirewallInterfaces::CreateOpenFirewallWidget ($[ + "services" : [ "service:xrdp" ], + "display_details" : true, + ]); + term firewall_layout = firewall_widget["custom_widget"]:`VBox (); + string firewall_help = firewall_widget["help"]:""; + + string help = sformat ( +_("<p><b><big>Remote Administration Settings</big></b></p> +<p>If this feature is enabled, you can +administer this machine remotely from another machine. Use a RDP +client, such as rdesktop (connect to <tt><hostname>:%1</tt>). +This form of remote administration is less secure than using SSH.</p> +"), 3389) + firewall_help; + + /* Remote Administration dialog contents */ + term contents = `HBox( + `HStretch(), + `VBox ( + `Frame ( + /* Dialog frame title */ + _("Remote Administration Settings"), + allow_buttons + ), + `VSpacing (1), + `Frame ( + /* Dialog frame title */ + _("Firewall Settings"), + firewall_layout + ) + ), + `HStretch() + ); + + Wizard::SetContentsButtons(caption, contents, help, + Label::BackButton(), Label::FinishButton()); + + UI::ChangeWidget(`id(`allow), `Value, RDP::allow_administration); + UI::ChangeWidget(`id(`disallow), `Value, !RDP::allow_administration); + + CWMFirewallInterfaces::OpenFirewallInit (firewall_widget, ""); + + any ret = nil; + map event = nil; + + repeat { + event = UI::WaitForEvent (); + ret = event["ID"]:nil; + + CWMFirewallInterfaces::OpenFirewallHandle (firewall_widget, "", event); + + if(ret == `abort) + { + break; + } + else if(ret == `help) + { + Wizard::ShowHelp(help); + } + else if(ret == `cancel) + { + break; + } + + } until( ret == `next || ret == `back ); + + if(ret == `next) + { + CWMFirewallInterfaces::OpenFirewallStore (firewall_widget, "", event); + RDP::allow_administration = (boolean) UI::QueryWidget(`id(`allow), `Value); + } + + return (symbol) ret; +} + +/* EOF */ +} diff -urN ../yast2-network-2.17.62/src/rdp/Makefile.am ./src/rdp/Makefile.am --- ../yast2-network-2.17.62/src/rdp/Makefile.am 1969-12-31 19:00:00.000000000 -0500 +++ ./src/rdp/Makefile.am 2009-01-05 18:15:16.000000000 -0500 @@ -0,0 +1,10 @@ +# +# Makefile.am for network/src/rdp +# +# $Id: Makefile.am 11059 2003-08-12 18:44:38Z arvin $ +# + +yncludedir = @yncludedir@/network/rdp +ynclude_DATA = $(wildcard *.ycp) + +EXTRA_DIST = $(ynclude_DATA) diff -urN ../yast2-network-2.17.62/src/rdp/Makefile.in ./src/rdp/Makefile.in --- ../yast2-network-2.17.62/src/rdp/Makefile.in 1969-12-31 19:00:00.000000000 -0500 +++ ./src/rdp/Makefile.in 2009-01-05 18:15:52.000000000 -0500 @@ -0,0 +1,362 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +...@set_make@ + +# +# Makefile.am for network/src/rdp +# +# $Id: Makefile.am 11059 2003-08-12 18:44:38Z arvin $ +# + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +subdir = src/rdp +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(yncludedir)" +yncludeDATA_INSTALL = $(INSTALL_DATA) +DATA = $(ynclude_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINTAINER = @MAINTAINER@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +RPMNAME = @RPMNAME@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +STYLESHEET_CSS = @STYLESHEET_CSS@ +STYLESHEET_HTML = @STYLESHEET_HTML@ +STYLESHEET_PDF = @STYLESHEET_PDF@ +STYLESHEET_YCPDOC = @STYLESHEET_YCPDOC@ +STYLESHEET_YDOC = @STYLESHEET_YDOC@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +Y2DEVTOOLS_PREFIX = @Y2DEVTOOLS_PREFIX@ +YCPC = @YCPC@ +YCPDOC = @YCPDOC@ +YCPMAKEDEP = @YCPMAKEDEP@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +agentdir = @agentdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +clientdir = @clientdir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +desktopdir = @desktopdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +execcompdir = @execcompdir@ +fillupdir = @fillupdir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +imagedir = @imagedir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pkgconfigdatadir = @pkgconfigdatadir@ +pkgconfigdir = @pkgconfigdir@ +plugindir = @plugindir@ +potdir = @potdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +schemadir = @schemadir@ +scrconfdir = @scrconfdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +themedir = @themedir@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +yast2dir = @yast2dir@ +ybindir = @ybindir@ +ydatadir = @ydatadir@ +yncludedir = @yncludedir@/network/rdp +ystartupdir = @ystartupdir@ +ynclude_DATA = $(wildcard *.ycp) +EXTRA_DIST = $(ynclude_DATA) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/rdp/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/rdp/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-yncludeDATA: $(ynclude_DATA) + @$(NORMAL_INSTALL) + test -z "$(yncludedir)" || $(MKDIR_P) "$(DESTDIR)$(yncludedir)" + @list='$(ynclude_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(yncludeDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(yncludedir)/$$f'"; \ + $(yncludeDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(yncludedir)/$$f"; \ + done + +uninstall-yncludeDATA: + @$(NORMAL_UNINSTALL) + @list='$(ynclude_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(yncludedir)/$$f'"; \ + rm -f "$(DESTDIR)$(yncludedir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(yncludedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-yncludeDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-yncludeDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip install-yncludeDATA installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ + uninstall-am uninstall-yncludeDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT:
