/**
 * File:	modules/Directory.ycp
 * Package:	yast2
 * Summary:	Definitions of basic directories
 * Authors:	Michal Svec <msvec@suse.cz>
 *
 * $Id: Directory.ycp 21471 2005-02-09 18:21:31Z nashif $
 */

{

module "Directory";
textdomain "base";

string yast2dir = "/usr/share/YaST2";
string execcompdir = "/usr/lib/YaST2";

/**
 * Directory for binaries and scripts
 */
global string bindir = "/usr/lib/YaST2/bin";
global string ybindir = bindir;

/**
 * Directory for log files
 */
global string logdir = "/var/log/YaST2";

/**
 * Directory for variable data
 */
global string vardir = "/var/lib/YaST2";

/**
 * Directory for configuration data
 */
global string etcdir = "/etc/YaST2";

/**
 * Directory with agents
 */
global string agentdir = execcompdir + "/servers_non_y2";

/**
 * Directory for data
 */
global string datadir = yast2dir + "/data";
global string ydatadir = datadir;

/**
 * Directory for schema (RNC,DTD,RNG)
 */
global string schemadir = yast2dir + "/schema";

/**
 * Directory for includes
 */
global string includedir = yast2dir + "/include";
global string yncludedir = includedir;

/**
 * Directory for images
 */
global string imagedir = yast2dir + "/images";

/**
 * Directory for themes
 */
global string themedir = yast2dir + "/theme";

/**
 * Directory for locales
 */
global string localedir = yast2dir + "/locale";

/**
 * Directory for clients
 */
global string clientdir = yast2dir + "/clients";

/**
 * Directory for modules
 */
global string moduledir = yast2dir + "/modules";

/**
 * Directory for SCR definition files
 */
global string scrconfdir = yast2dir + "/scrconf";

/**
 * Directory for desktop files
 */
global string desktopdir = "/usr/share/applications/YaST2";

/**
 * Base directory for icons
 **/
global string icondir = themedir + "/current/icons/";

/**
 * Directory for temporary files
 * Must be updated with ResetTmpDir() call after the SCR change!
 */
global string tmpdir = "/tmp";


/**
 * Directory needed for custom installation workflows
 * It can be set to the path containing additional file on a CDROM
 */
global string custom_workflow_dir = "";

/**
 * Set temporary directory
 */
global define void ResetTmpDir() ``{
    tmpdir = (string) SCR::Read(.target.tmpdir);
    if(tmpdir == "" || tmpdir == nil) {
	y2error("Failed to set temporary directory: %1", tmpdir);
	tmpdir = "/tmp";
    }
}

/**
 * Constructor
 */
global define void Directory() ``{
    ResetTmpDir();
}

/* EOF */
}
