Патчи для man и slim

master
parent 831cfe3e9e
commit 682174c891

@ -1,8 +1,8 @@
CHANGE LOG
1.2.8
* Исправлена сборка бинарных nvidia драйверов.
* Изменено расположение скриптов bashrc и manrc.
* Добавлен скрипт для запуска,останова и перезапуска slim.
* Добавлены патчи для пакетов man и slim.
1.2.7
* Добавлено отмонтирование раздела для установки если он подключен к /media.

@ -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

@ -1 +1 @@
usr/calculate/install/scripts/bashrc
usr/calculate/install/bashrc

@ -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 <http://www.gnu.org/licenses/>.
+#------------------------------------------------------------------------------
+
+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()

@ -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 <http://www.gnu.org/licenses/>.
+#------------------------------------------------------------------------------
+
+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 &
+

@ -1 +1 @@
/usr/calculate/install/scripts/bashrc
/usr/calculate/install/bashrc

@ -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

@ -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 <http://www.gnu.org/licenses/>.
#------------------------------------------------------------------------------
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)

@ -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 <http://www.gnu.org/licenses/>.
#------------------------------------------------------------------------------
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 &
Loading…
Cancel
Save