From 2e4b14d4a9ced887139c39cf6fc0723d2b01c38e Mon Sep 17 00:00:00 2001 From: Mike Hiretsky Date: Tue, 2 Aug 2011 16:34:21 +0400 Subject: [PATCH] Add man installation and cl-install.1 man file. --- man/ru/cl-install.1 | 196 ++++++++++++++++++++++++++++++++++++++++++++ setup.cfg | 3 + setup.py | 69 +++++++++++++++- 3 files changed, 267 insertions(+), 1 deletion(-) create mode 100644 man/ru/cl-install.1 diff --git a/man/ru/cl-install.1 b/man/ru/cl-install.1 new file mode 100644 index 0000000..7b5a1ba --- /dev/null +++ b/man/ru/cl-install.1 @@ -0,0 +1,196 @@ +.TH CL-INSTALL 1 "27 июля 2011" "Calculate Utilities" "Установка Calculate Linux" +.SH НАЗВАНИЕ +.PP +cl-install - Установка Calculate Linux на жесткий диск, USB-Flash или USB-HDD +.SH СИНТАКСИС +[-d] [-w] [--mbr] [--type] [--iso] [-s] [--march] [--build] [-l] [-u] [--hostname] +[--netconf] [--dhcp] [--ip] [--route] [--dns] [--proxy] [--ntp] [--nouuid] [--set] [-U] [-f] +[--live] [--install] [--uninstall] [--nospinner] +[-P] [-p] [-v] [--filter] [--xml] [--color] [--version] [-h] +.SH ОПИСАНИЕ +.PP +cl-install - программа установки дистрибутива Calculate Linux. Поддерживается установка на жесткий диск HDD, переносной жесткий диск USB-HDD и флеш-накопитель USB-Flash. Для установки используется образ, расположенный в директориях '/var/calculate/linux' и '/var/calculate/remote/linux'. В случае установки с LiveCD/USB, может использоваться образ загруженной системы. +.PP +Установка на жесткий диск может быть выполнена в обычном режиме и в режиме интерактивной сборки сборки для созданеия измененного образа дистрибутива. Для установки в режиме интерактивной сборки используйте параметр '--build'. +.PP +Установка на переносной жесткий диск отличается отсутствием привязки к аппаратному обеспечению. +.PP +По умолчанию, установка на флеш-накопитель производится путем копирования liveusb образа системы с использованием файловой системы fat32 и загрузчика syslinux. При желании, по аналогии с установкой на жесткий диск, можно полностью распаковать файлы системы. Для этого используется параметр '--type'. +.SH ПАРАМЕТРЫ +.PP +Параметры команды +\fBcl-install\fR: +.PP +\fB\-d\fR, \fB\-\-disk\fR +.RS 4 +DISK - раздел для установки или директория, в случае перемонтирования части файловой иерархии, DIR - точка монтирования, значение 'none' отменяет перенос точки монтирования, FILESYSTEM - файловая система, доступные значения ext2, ext3, ext4, reiserfs, xfs, jfs, OPTIONS - опции монтирования, см. `man fstab`. Для указания нескольких разделов для установки используйте параметр несколько раз. +.RE +.PP +\fB\-w\fR, \fB\-\-swap\fR \fIраздел подкачки\fR +.RS 4 +.RE +.PP +\fB\-\-mbr\fR \fIзагрузочный диск\fR +.RS 4 +Диск для записи Master Boot Record (MBR). Значение 'off' отключает изменение загрузочной записи. +.RE +.PP +\fB\-\-type\fR +.RS 4 +Тип устройства. Поддерживаемые значения значения: hdd, usb-hdd, flash. +.RE +.PP +\fB\-\-iso\fR +.RS 4 +Путь к файлу с ISO образом дистрибутива. В случае, если параметр не задан, образ той же архитектуры ищется в '/var/calculate/linux' и '/var/calculate/remote/linux', либо используется livecd в случае загрузки системы с LiveCD/USB. При нахождении нескольких образов, приоритет отдаётся более свежей версии. +.RE +.PP +\fB\-s\fR, \fB\-\-os\fR +.RS 4 +Выбор дистрибутива, допустимые значения "CDS", "CLD", "CLDG", "CLDX", "CLS", "CMC" и "CSS". В случае использования параметра, будет выполнен поиск необходимого дистрибутива из исходных директорий. +.RE +.PP +\fB\-\-march\fR +.RS 4 +Выбор архитектуры процессора, допустимые значения "i686", "x86_64". В случае использования параметра будет выполнен поиск необходимого дистрибутива из исходных директорий. +.RE +.PP +\fB\-\-build\fR +.RS 4 +Установка системы в режиме сборки. Поддерживается при установке системы на жесткий диск компьютера. В случае использования этого параметра, live-образ дистрибутива будет монтироваться во время загрузки в отдельный слой файловой системы aufs2. Дополнительные слои позволяют отделить вносимые изменения от результатов работы. +.RE +.PP +\fB\-l\fR, \fB\-\-lang\fR +.RS 4 +Выбор языка. Допустимые значения: 'bg_BG' - болгарский, 'de_DE' - немецкий, 'en_US' - английский, 'es_ES' - польский, 'fr_FR' - французский, 'it_IT' - итальянский, 'pl_PL' - польский, 'pt_BR' - португальский бразильский, 'pt_PT' - португальский, 'ro_RO' - румынский, 'ru_RU' - русский, 'uk_UA' - украинский. +.RE +.PP +\fB\-u\fR, \fB\-\-user\fR \fIпользователь\fR +.RS 4 +Пользователи, добавляемые в устанавливаемоую систему. Для добавления нескольких пользователей используйте параметр несколько раз. +.RE +.PP +\fB\-\-hostname\fR +.RS 4 +Короткая либо полная форма сетевого имени компьютера. +.RE +.PP +\fB\-\-netconf\fR +.RS 4 +Выбор сетевого менеджера. Допустимые значения: 'openrc' и 'networkmanager'. Последний может быть выбран, если программа NetworkManager входит в состав дистрибутива. +.RE +.PP +\fB\-\-dhcp\fR \fIинтерфейс\fR +.RS 4 +Получить IP адрес по DHCP для указанного интерфейса. Для указания двух и более интерфейсов используйте несколько параметров. +.RE +.PP +\fB\-\-ip\fR \fB[IFACE:]\fR\fIIP\fR +.RS 4 +IPv4 адрес сети с указанием CIDR. IFACE может обозначать сетевой интерфейс. По умолчанию IFACE равен eth0. Пример 192.168.0.1/24. Допустимо указывать несколько сетевых интерфейсов. +.RE +.PP +\fB\-\-route\fR NETWORK:[GATEWAY][:IFACE[:SOURCE]] +.RS 4 +Правило маршрутизации: сеть, роутер, интерфейс, +.RE +.PP +\fB\-\-dns\fR \fIDNS\fR +.RS 4 +Сетевой адрес сервера имен DNS. +.RE +.PP +\fB\-\-proxy\fR \fIPROXY\fR +.RS 4 +Сетевой адрес proxy-сервера. +.RE +.PP +\fB\-\-ntp\fR \fINTP\fR +.RS 4 +Сетевой адрес сервера времени NTP. +.RE +.PP +\fB\-\-nouuid\fR +.RS 4 +Не использовать UUID имена устройств. +.RE +.PP +\fB\-\-set\fR \fIVAR=LALUE\fR +.RS 4 +Изменение значения переменной. Для изменения значений нескольких переменных используйте параметр несколько раз. +.RE +.PP +\fB\-U\fR, \fB\-\-update\fR +.RS 4 +Выполнять установку только новых версий системы. Удобно использовать при наличии второго раздела под систему, совместно с опцией '--force'. +.RE +.PP +\fB\-f\fR, \fB\-\-force\fR +.RS 4 +Не задавать вопросы в процессе установки системы. +.RE +.PP +\fB\-\-live\fR +.RS 4 +.RE +.PP +\fB\-\-install\fR +.RS 4 +.RE +.PP +\fB\-\-uninstall\fR +.RS 4 +.RE +.PP +\fB\-\-nospinner\fR +.RS 4 +.RE +.PP +\fB\-P\fR +.RS 4 +.RE +.PP +\fB\-p\fR, \fB\-\-show-partitions\fR +.RS 4 +.RE +.PP +\fB\-v\fR, \fB\-\-show-variables\fR +.RS 4 +.RE +.PP +\fB\-\-filter\fR +.RS 4 +.RE +.PP +\fB\-\-xml\fR +.RS 4 +.RE +.PP +\fB\-\-color\fR +.RS 4 +.RE +.PP +\fB\-\-version\fR +.RS 4 +.RE +.PP +\fB\-h\fR, \fB\-\-help\fR +.RS 4 +Показать краткую справку и закончить работу. +.RE +.SH СМ. ТАКЖЕ +.PP +cl-builder(1), cl-image(1) +.SH ПРИМЕРЫ +.PP +Установка системы в раздел /dev/sda2 +.nf +cl-install -d /dev/sda2 +.fi +.SH АВТОРЫ +.PP +Calculate Utilities разрабатываются компанией Калкулэйт http://www.calculate.ru +.SH АВТОР +.PP +Компания "Калкулэйт" http://www.calculate.ru + diff --git a/setup.cfg b/setup.cfg index 79ca716..1b8519f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,6 @@ +[install_man] +install_dir=/usr/share + [install] install-scripts=/usr/bin install-purelib=/usr/lib/calculate-2.2 diff --git a/setup.py b/setup.py index 2509acf..dedfee4 100755 --- a/setup.py +++ b/setup.py @@ -21,6 +21,11 @@ import os import stat from distutils.core import setup, Extension from distutils.command.install_data import install_data +import distutils.command.build +import distutils.command.install +from os import system,path +import glob +import sys data_files = [] @@ -31,6 +36,12 @@ data_files += [('/etc/init.d', ['data/calculate']), 'data/handbook-ru.html']), ('/bin',['data/bashlogin'])] +BUILD_MAN_PATH = "build/man" + +def cout(string): + sys.stdout.write(string) + sys.stdout.flush() + def __scanDir(scanDir, prefix, replace_dirname, dirData, flagDir=False): """Scan directory""" files = [] @@ -62,6 +73,42 @@ def create_data_files(data_dirs, prefix="", replace_dirname=""): data_files += __scanDir(data_dir, prefix, replace_dirname, data) return data_files +class build_man( distutils.core.Command ) : + + description = "build man files" + user_options = [] + + def initialize_options( self ) : + pass + def finalize_options( self ) : + pass + + def run( self ) : + buildManPath = BUILD_MAN_PATH + self.mkpath(buildManPath) + for locale in glob.glob("man/*"): + baseLocale = path.basename(locale) + for man in glob.glob("%s/*.[12345678]"%locale) : + baseMan = path.basename(man) + man_num = man[-1] + manPath = path.join(buildManPath,baseLocale,"man%s"%man_num) + self.mkpath(manPath) + manPath = path.join(manPath,baseMan) + self.copy_file(man,manPath) + cout("compress %s\n"% manPath) + system("bzip2 -f %s"%manPath) + +class install_man( install_data ) : + description = "install man files" + user_options = [] + + def finalize_options(self): + install_data.finalize_options(self) + for root,dirs,files in os.walk(BUILD_MAN_PATH): + for filename in files: + self.data_files += [(path.join(self.install_dir,root[6:]), + [path.join(root,filename)])] + class cl_install_data(install_data): def run (self): install_data.run(self) @@ -92,6 +139,24 @@ class cl_install_data(install_data): if flagFound: os.chmod(path, mode) + +class install(distutils.command.install.install): + def has_man(self): + return len(glob.glob("build/man/*")) > 0 + + sub_commands = distutils.command.install.install.sub_commands + [ + ('install_man',has_man), + ] + + +class build( distutils.command.build.build ) : + def has_man(self): + return len(glob.glob("man/*")) > 0 + + sub_commands = distutils.command.build.build.sub_commands + [ + ('build_man',has_man)] + + setup( name = 'calculate-install', version = "2.2.20", @@ -105,5 +170,7 @@ setup( data_files = data_files, scripts=["./scripts/cl-install", "./scripts/cl-template"], - cmdclass={'install_data': cl_install_data}, + cmdclass={'install_data': cl_install_data, + 'build':build,'build_man':build_man, + 'install':install,'install_man':install_man}, )