From 682174c891f0ca157acf800062da138882b11d06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=B8=D1=80=D0=B5=D1=86=D0=BA=D0=B8=D0=B9=20=D0=9C?= =?UTF-8?q?=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= Date: Fri, 18 Sep 2009 16:51:31 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B0=D1=82=D1=87=D0=B8=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20man=20=D0=B8=20slim?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Change.log | 2 +- Makefile | 4 - install/{scripts => }/bashrc | 0 .../profile/0builder/etc/portage/bashrc | 2 +- install/patches/sys-apps/man-1.6f-koi8r.patch | 101 ++++++++++++ .../patches/x11-misc/slim-1.3.1-slimd.patch | 72 +++++++++ install/profile/1default/etc/portage/bashrc | 2 +- .../5compatible/etc/man.conf?language=ru | 149 ------------------ install/scripts/manrc | 38 ----- install/scripts/slimd | 54 ------- 10 files changed, 176 insertions(+), 248 deletions(-) rename install/{scripts => }/bashrc (100%) create mode 100644 install/patches/sys-apps/man-1.6f-koi8r.patch create mode 100644 install/patches/x11-misc/slim-1.3.1-slimd.patch delete mode 100644 install/profile/5compatible/etc/man.conf?language=ru delete mode 100644 install/scripts/manrc delete mode 100644 install/scripts/slimd diff --git a/Change.log b/Change.log index b9eebca..e91eb51 100644 --- a/Change.log +++ b/Change.log @@ -1,8 +1,8 @@ CHANGE LOG 1.2.8 * Исправлена сборка бинарных nvidia драйверов. -* Изменено расположение скриптов bashrc и manrc. * Добавлен скрипт для запуска,останова и перезапуска slim. +* Добавлены патчи для пакетов man и slim. 1.2.7 * Добавлено отмонтирование раздела для установки если он подключен к /media. diff --git a/Makefile b/Makefile index 5912ae2..b8b5952 100644 --- a/Makefile +++ b/Makefile @@ -20,11 +20,7 @@ install: all @${CHMOD} 755 ${DESTDIR}/usr/${NAME}/install/calculate @${CHMOD} 755 ${DESTDIR}/usr/${NAME}/install/cl-builder @${CHMOD} 755 ${DESTDIR}/usr/${NAME}/install/cl-unmask - @${CHMOD} 755 ${DESTDIR}/usr/${NAME}/install/scripts/slimd @${MKDIR} ${DESTDIR}/usr/bin @${LN} ${DESTDIR}/usr/calculate/install/calculate ${DESTDIR}/usr/bin/calculate @${LN} ${DESTDIR}/usr/calculate/install/cl-builder ${DESTDIR}/usr/bin/cl-builder @${LN} ${DESTDIR}/usr/calculate/install/cl-unmask ${DESTDIR}/usr/bin/cl-unmask - @${LN} ${DESTDIR}/usr/calculate/install/bashrc ${DESTDIR}/usr/calculate/install/scripts/bashrc - @${LN} ${DESTDIR}/usr/calculate/install/manrc ${DESTDIR}/usr/calculate/install/scripts/manrc - @${LN} ${DESTDIR}/usr/calculate/install/scripts/slimd ${DESTDIR}/usr/bin/slimd diff --git a/install/scripts/bashrc b/install/bashrc similarity index 100% rename from install/scripts/bashrc rename to install/bashrc diff --git a/install/builder/profile/0builder/etc/portage/bashrc b/install/builder/profile/0builder/etc/portage/bashrc index 259d656..28a2a89 120000 --- a/install/builder/profile/0builder/etc/portage/bashrc +++ b/install/builder/profile/0builder/etc/portage/bashrc @@ -1 +1 @@ -usr/calculate/install/scripts/bashrc \ No newline at end of file +usr/calculate/install/bashrc \ No newline at end of file diff --git a/install/patches/sys-apps/man-1.6f-koi8r.patch b/install/patches/sys-apps/man-1.6f-koi8r.patch new file mode 100644 index 0000000..45e3fcf --- /dev/null +++ b/install/patches/sys-apps/man-1.6f-koi8r.patch @@ -0,0 +1,101 @@ +diff --git a/configure b/configure +index f6e9e78..4138ba9 100755 +--- a/configure ++++ b/configure +@@ -474,9 +474,9 @@ else + then + if test $Fnroff = "missing" + then +- nroff="nroff -Tascii -c -mandoc" ++ nroff="/usr/bin/man2nroff -Tascii -c -mandoc" + else +- nroff="$Fnroff -mandoc" ++ nroff="/usr/bin/man2nroff -mandoc -Tlatin1" + fi + troff="troff -mandoc" + echo "Warning: could not find groff" +@@ -485,7 +485,7 @@ else + then + nroff="$Fgroff -Tlatin1 -mandoc" + else +- nroff="$Fnroff -mandoc" ++ nroff="/usr/bin/man2nroff -mandoc -Tlatin1" + fi + troff="$Fgroff -Tps -mandoc" + jnroff="$Fgroff -Tnippon -mandocj" +@@ -1248,6 +1248,7 @@ man=$bindir/man + apropos=$bindir/apropos + whatis=$bindir/whatis + man2dvi=$bindir/man2dvi ++man2nroff=$bindir/man2nroff + makewhatis=$sbindir/makewhatis + man_config_dir=$confdir + man_config_file=$confdir/$conffilename +@@ -1351,6 +1352,7 @@ s,@man@,$man, + s,@apropos@,$apropos, + s,@whatis@,$whatis, + s,@man2dvi@,$man2dvi, ++s,@man2nroff@,$man2nroff, + s,@makewhatis@,$makewhatis, + s,@man_config_dir@,$man_config_dir, + s,@man_config_file@,$man_config_file, +diff --git a/src/Makefile.in b/src/Makefile.in +index 9e95cab..0db1ad4 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -105,6 +105,7 @@ install: all apropos whatis makewhatis + $(INSTALL) -c -m 755 apropos $(DESTDIR)$(PREFIX)@apropos@ + $(INSTALL) -c -m 755 whatis $(DESTDIR)$(PREFIX)@whatis@ + $(INSTALL) -c -m 755 man2dvi $(DESTDIR)$(PREFIX)@man2dvi@ ++ $(INSTALL) -c -m 755 man2nroff $(DESTDIR)$(PREFIX)@man2nroff@ + mkdir -p $(DESTDIR)$(PREFIX)@sbindir@ + $(INSTALL) -c -m 754 makewhatis $(DESTDIR)$(PREFIX)@makewhatis@ + mkdir -p $(DESTDIR)$(PREFIX)@man_config_dir@ +diff --git a/src/man2nroff b/src/man2nroff +new file mode 100755 +index 0000000..11b871a +--- /dev/null ++++ b/src/man2nroff +@@ -0,0 +1,42 @@ ++#!/usr/bin/python ++#-*- coding: utf-8 -*- ++#------------------------------------------------------------------------------ ++# manrc ++# Copyright ©2009 Mir Calculate Ltd. ++# ++# This program is free software: you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation, either version 3 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++#------------------------------------------------------------------------------ ++ ++import sys ++import subprocess ++import os ++ ++buf = sys.stdin.read() ++ ++# проверяем локаль и есть ли символы выше ascii ++if os.environ.get("LANG") == "ru_RU.UTF-8" and \ ++ len([ i for i in buf if ord(i)>127 ]) > 0: ++ # конвертируем текст вначале через enconv, а в конце через iconv ++ convert_string = '/usr/bin/enconv -L ru -x KOI8-R |' \ ++ '/usr/bin/nroff %s | iconv -f koi8-r' % " ".join(sys.argv[1:]) ++else: ++ convert_string = '/usr/bin/nroff -mandoc -Tlatin1 -c' ++ ++pipe = subprocess.Popen(convert_string, ++ stdin=subprocess.PIPE, ++ stdout=sys.stdout, ++ stderr=subprocess.PIPE, ++ close_fds=True,shell=True) ++pipe.stdin.write(buf) ++pipe.stdin.close() diff --git a/install/patches/x11-misc/slim-1.3.1-slimd.patch b/install/patches/x11-misc/slim-1.3.1-slimd.patch new file mode 100644 index 0000000..d23578d --- /dev/null +++ b/install/patches/x11-misc/slim-1.3.1-slimd.patch @@ -0,0 +1,72 @@ +diff --git a/Makefile b/Makefile +index e77003d..22943c3 100644 +--- a/Makefile ++++ b/Makefile +@@ -43,6 +43,7 @@ slim: $(OBJECTS) + + install: slim install-theme + install -D -m 755 slim $(DESTDIR)$(PREFIX)/bin/slim ++ install -D -m 755 slimd $(DESTDIR)$(PREFIX)/bin/slimd + install -D -m 644 slim.1 $(DESTDIR)$(MANDIR)/man1/slim.1 + test -e $(DESTDIR)$(CFGDIR)/slim.conf || \ + install -D -m 644 slim.conf $(DESTDIR)$(CFGDIR)/slim.conf +diff --git a/slimd b/slimd +new file mode 100755 +index 0000000..590e01d +--- /dev/null ++++ b/slimd +@@ -0,0 +1,54 @@ ++#!/bin/bash ++#------------------------------------------------------------------------------ ++# slimd ++# Copyright ©2009 Mir Calculate Ltd. ++# ++# This program is free software: you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation, either version 3 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++#------------------------------------------------------------------------------ ++ ++stopslim() { ++ killall X &>/dev/null ++ killall -9 slim &>/dev/null ++ rm -f /var/run/slim.lock ++ exit ++} ++ ++waitrun() { ++ while ! ps axo pid,cmd | grep $1 | grep -v grep &>/dev/null ++ do ++ sleep 1 ++ done ++} ++ ++workloop() { ++ trap stopslim TERM ++ sleep 3 ++ waitrun /usr/bin/X ++ while true ++ do ++ # check is working X ++ if ! ps axo pid,cmd | grep /usr/bin/X | grep -v grep &>/dev/null ++ then ++ kill -9 `cat /var/run/slim.lock` &>/dev/null ++ rm -f /var/run/slim.lock ++ /usr/bin/slim ++ # waiting for run X ++ waitrun /usr/bin/X ++ fi ++ sleep 1 ++ done ++} ++ ++/usr/bin/slim && workloop & ++ diff --git a/install/profile/1default/etc/portage/bashrc b/install/profile/1default/etc/portage/bashrc index f0934fe..37d0e9a 120000 --- a/install/profile/1default/etc/portage/bashrc +++ b/install/profile/1default/etc/portage/bashrc @@ -1 +1 @@ -/usr/calculate/install/scripts/bashrc \ No newline at end of file +/usr/calculate/install/bashrc \ No newline at end of file diff --git a/install/profile/5compatible/etc/man.conf?language=ru b/install/profile/5compatible/etc/man.conf?language=ru deleted file mode 100644 index 54346f7..0000000 --- a/install/profile/5compatible/etc/man.conf?language=ru +++ /dev/null @@ -1,149 +0,0 @@ -#-title-# -# -# man.conf from man-1.6e -# -# For more information about this file, see the man pages man(1) -# and man.conf(5). -# -# This file is read by man to configure the default manpath (also used -# when MANPATH contains an empty substring), to find out where the cat -# pages corresponding to given man pages should be stored, -# and to map each PATH element to a manpath element. -# It may also record the pathname of the man binary. [This is unused.] -# The format is: -# -# MANBIN pathname -# MANPATH manpath_element [corresponding_catdir] -# MANPATH_MAP path_element manpath_element -# -# If no catdir is given, it is assumed to be equal to the mandir -# (so that this dir has both man1 etc. and cat1 etc. subdirs). -# This is the traditional Unix setup. -# Certain versions of the FSSTND recommend putting formatted versions -# of /usr/.../man/manx/page.x into /var/catman/.../catx/page.x. -# The keyword FSSTND will cause this behaviour. -# Certain versions of the FHS recommend putting formatted versions of -# /usr/.../share/man/[locale/]manx/page.x into -# /var/cache/man/.../[locale/]catx/page.x. -# The keyword FHS will cause this behaviour (and overrides FSSTND). -# Explicitly given catdirs override. -# -# FSSTND -FHS -# -# This file is also read by man in order to find how to call nroff, less, etc., -# and to determine the correspondence between extensions and decompressors. -# -# MANBIN /usr/local/bin/man -# -# Every automatically generated MANPATH includes these fields -# -MANPATH /usr/share/man -MANPATH /usr/local/share/man -MANPATH /usr/X11R6/man -MANPATH /usr/local/man -MANPATH /usr/man -# -# Uncomment if you want to include one of these by default -# -# MANPATH /opt/*/man -# MANPATH /usr/lib/*/man -# MANPATH /usr/share/*/man -# MANPATH /usr/kerberos/man -# -# Set up PATH to MANPATH mapping -# -# If people ask for "man foo" and have "/dir/bin/foo" in their PATH -# and the docs are found in "/dir/man", then no mapping is required. -# -# The below mappings are superfluous when the right hand side is -# in the mandatory manpath already, but will keep man from statting -# lots of other nearby files and directories. -# -MANPATH_MAP /bin /usr/share/man -MANPATH_MAP /sbin /usr/share/man -MANPATH_MAP /usr/bin /usr/share/man -MANPATH_MAP /usr/sbin /usr/share/man -MANPATH_MAP /usr/local/bin /usr/local/share/man -MANPATH_MAP /usr/local/sbin /usr/local/share/man -MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man -MANPATH_MAP /usr/bin/X11 /usr/X11R6/man -MANPATH_MAP /usr/bin/mh /usr/share/man -# -# NOAUTOPATH keeps man from automatically adding directories that look like -# manual page directories to the path. -# -#NOAUTOPATH -# -# NOCACHE keeps man from creating cache pages ("cat pages") -# (generally one enables/disable cat page creation by creating/deleting -# the directory they would live in - man never does mkdir) -# -#NOCACHE -# -# Useful paths - note that COL should not be defined when -# NROFF is defined as "groff -Tascii" or "groff -Tlatin1"; -# not only is it superfluous, but it actually damages the output. -# For use with utf-8, NROFF should be "nroff -mandoc" without -T option. -# (Maybe - but today I need -Tlatin1 to prevent double conversion to utf8.) -# -# If you have a new troff (version 1.18.1?) and its colored output -# causes problems, add the -c option to TROFF, NROFF, JNROFF. -# -TROFF /usr/bin/groff -Tps -mandoc -#NROFF /usr/bin/nroff -Tascii -c -mandoc -#?calculate=CLD&linuxver<=9.5# -NROFF /usr/bin/nroff -mandoc -Tlatin1 -c | iconv -f koi8-r -#calculate# -#?system=desktop&linuxver>9.5# -NROFF /usr/bin/python /usr/calculate/install/manrc | /usr/bin/nroff -mandoc -Tlatin1 -c | iconv -f koi8-r -#system# -#?calculate=CDS&linuxver>=9.5# -NROFF /usr/bin/python /usr/calculate/install/manrc | /usr/bin/nroff -mandoc -Tlatin1 -c | iconv -f koi8-r -#calculate# -JNROFF /usr/bin/groff -Tnippon -mandocj -EQN /usr/bin/geqn -Tps -NEQN /usr/bin/geqn -Tlatin1 -JNEQN /usr/bin/geqn -Tnippon -TBL /usr/bin/gtbl -# COL /usr/bin/col -REFER /usr/bin/refer -PIC /usr/bin/pic -VGRIND -GRAP -PAGER /usr/bin/less -is -BROWSER /usr/bin/less -is -HTMLPAGER /bin/cat -CAT /bin/cat -# -# The command "man -a xyzzy" will show all man pages for xyzzy. -# When CMP is defined man will try to avoid showing the same -# text twice. (But compressed pages compare unequal.) -# -CMP /usr/bin/cmp -s -# -# Compress cat pages -# -COMPRESS /bin/bzip2 -COMPRESS_EXT .bz2 -# -# Default manual sections (and order) to search if -S is not specified -# and the MANSECT environment variable is not set. -# -MANSECT 1:1p:8:2:3:3p:4:5:6:7:9:0p:tcl:n:l:p:o:1x:2x:3x:4x:5x:6x:7x:8x -# -# Default options to use when man is invoked without options -# This is mainly for the benefit of those that think -a should be the default -# Note that some systems have /usr/man/allman, causing pages to be shown twice. -# -#MANDEFOPTIONS -a -# -# Decompress with given decompressor when input file has given extension -# The command given must act as a filter. -# -.gz /bin/gunzip -c -.bz2 /bin/bzip2 -c -d -.z -.Z /bin/zcat -.F -.Y diff --git a/install/scripts/manrc b/install/scripts/manrc deleted file mode 100644 index 96e59b4..0000000 --- a/install/scripts/manrc +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/python -#-*- coding: utf-8 -*- -#------------------------------------------------------------------------------ -# manrc -# Copyright ©2009 Mir Calculate Ltd. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -#------------------------------------------------------------------------------ - -import sys -import subprocess - -buf = sys.stdin.read() - -# проверяем есть ли символы выше ascii -if len([ i for i in buf if ord(i)>127 ]) > 0: - # пропускаем текст через enconv - pipe = subprocess.Popen('/usr/bin/enconv -L ru -x KOI8-R', - stdin=subprocess.PIPE, - stdout=sys.stdout, - stderr=subprocess.PIPE, - close_fds=True,shell=True) - pipe.stdin.write(buf) - pipe.stdin.close() -else: - # отдаем текст напрямую - sys.stdout.write(buf) diff --git a/install/scripts/slimd b/install/scripts/slimd deleted file mode 100644 index 590e01d..0000000 --- a/install/scripts/slimd +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -#------------------------------------------------------------------------------ -# slimd -# Copyright ©2009 Mir Calculate Ltd. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -#------------------------------------------------------------------------------ - -stopslim() { - killall X &>/dev/null - killall -9 slim &>/dev/null - rm -f /var/run/slim.lock - exit -} - -waitrun() { - while ! ps axo pid,cmd | grep $1 | grep -v grep &>/dev/null - do - sleep 1 - done -} - -workloop() { - trap stopslim TERM - sleep 3 - waitrun /usr/bin/X - while true - do - # check is working X - if ! ps axo pid,cmd | grep /usr/bin/X | grep -v grep &>/dev/null - then - kill -9 `cat /var/run/slim.lock` &>/dev/null - rm -f /var/run/slim.lock - /usr/bin/slim - # waiting for run X - waitrun /usr/bin/X - fi - sleep 1 - done -} - -/usr/bin/slim && workloop & -