#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#

menu "Debian Utilities"

config CONFIG_MKTEMP
	bool "mktemp"
	default n
	help
	  mktemp is used to create unique temporary files

config CONFIG_PIPE_PROGRESS
	bool "pipe_progress"
	default n
	help
	  Display a dot to indicate pipe activity.

config CONFIG_READLINK
	bool "readlink"
	default n
	help
	  This program reads a symbolic link and returns the name
	  of the file it points to

config CONFIG_RUN_PARTS
	bool "run-parts"
	default n
	help
	  run-parts is a utility designed to run all the scripts in a directory.

	  It is useful to set up a directory like cron.daily, where you need to
	  execute all the scripts in that directory.

	  In this implementation of run-parts some features (such as report mode) 
	  are not implemented.

	  Unless you know that run-parts is used in some of your scripts
	  you can safely say N here.

config CONFIG_START_STOP_DAEMON
	bool "start-stop-daemon"
	default y
	help
	  start-stop-daemon is used to control the creation and
	  termination of system-level processes, usually the ones
	  started during the startup of the system.

config CONFIG_WHICH
	bool "which"
	default n
	help
	  which is used to find programs in your PATH and
	  print out their pathnames.

endmenu

