mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-18 22:06:04 +01:00
system/fbterm: Updated for version 1.8, new maintainer.
Signed-off-by: B. Watson <yalhcru@gmail.com>
This commit is contained in:
parent
9d3500cced
commit
96aa5bc17d
6 changed files with 149 additions and 33 deletions
|
@ -1,8 +1,19 @@
|
|||
FbTerm is a fast terminal emulator for linux with frame buffer device
|
||||
or VESA video card.
|
||||
FbTerm is a fast terminal emulator for linux with the frame buffer device
|
||||
or a VESA video card.
|
||||
|
||||
* If you want to use shortcuts under FbTerm as a normal user, see
|
||||
the SECURITY NOTES section of the man page for solution.
|
||||
fbterm supports the mouse (provided gpm is running) and is able to
|
||||
share the console with (some) other applications, such as "mplayer -vo
|
||||
fbdev2". It also uses the same fonts as X, and renders them with lovely
|
||||
antialiasing like modern X terminals. fbterm has *much* better Unicode
|
||||
support than the plain Linux framebuffer console.
|
||||
|
||||
* To enable FbTerm to redirect /dev/tty0 output to the pseudo terminal
|
||||
of current sub-window, see the same man page as above.
|
||||
Also included is a handy utility called checkfb, which simply checks
|
||||
for the presence and usability of the framebuffer device, and shows its
|
||||
resolution and bit depth.
|
||||
|
||||
This package uses POSIX filesystem capabilities to execute with
|
||||
elevated privileges (required for keyboard shortcuts and console
|
||||
redirection). This may be considered a security risk. Please read
|
||||
http://www.slackbuilds.org/caps/ for more information. To disable
|
||||
capabilities, pass SETCAP=no to the script. See also the SECURITY
|
||||
NOTES section in the fbterm man page.
|
||||
|
|
77
system/fbterm/checkfb.c
Normal file
77
system/fbterm/checkfb.c
Normal file
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
# qtopia core testing framebuffer (1)
|
||||
# Originally written by Trolltech (2)(3)
|
||||
#
|
||||
# (1) http://cep.xray.aps.anl.gov/software/qt4-x11-4.2.2/qtopiacore-testingframebuffer.html
|
||||
# (2) http://cep.xray.aps.anl.gov/software/qt4-x11-4.2.2/opensourceedition.html
|
||||
# (3) http://doc.qt.digia.com/4.2/gpl.html
|
||||
#
|
||||
# Modified by Sébastien Ballet <slacker6896@gmail.com>
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <fcntl.h>
|
||||
#include <linux/fb.h>
|
||||
#include <sys/mman.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int fbfd = 0;
|
||||
struct fb_var_screeninfo vinfo;
|
||||
struct fb_fix_screeninfo finfo;
|
||||
long int screensize = 0;
|
||||
char *fbp = 0;
|
||||
|
||||
char* fbName="/dev/fb0";
|
||||
|
||||
if ( argc > 2) {
|
||||
printf("usage: checkfb [framebuffer device] \n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if ( argc == 2) {
|
||||
fbName=argv[1];
|
||||
}
|
||||
|
||||
fbfd = open(fbName, O_RDWR);
|
||||
|
||||
if (fbfd == -1) {
|
||||
perror("Error: cannot open framebuffer device");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
printf("The framebuffer device (%s) was opened successfully.\n",fbName);
|
||||
|
||||
// Get fixed screen information
|
||||
if (ioctl(fbfd, FBIOGET_FSCREENINFO, &finfo) == -1) {
|
||||
perror("Error reading fixed information");
|
||||
exit(2);
|
||||
}
|
||||
|
||||
// Get variable screen information
|
||||
if (ioctl(fbfd, FBIOGET_VSCREENINFO, &vinfo) == -1) {
|
||||
perror("Error reading variable information");
|
||||
exit(3);
|
||||
}
|
||||
|
||||
printf("%dx%d, %dbpp\n", vinfo.xres, vinfo.yres, vinfo.bits_per_pixel);
|
||||
|
||||
// Figure out the size of the screen in bytes
|
||||
screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8;
|
||||
|
||||
// Map the device to memory
|
||||
fbp = (char *)mmap(0, screensize, PROT_READ | PROT_WRITE, MAP_SHARED,fbfd, 0);
|
||||
|
||||
if ( fbp == MAP_FAILED ) {
|
||||
perror("Error: failed to map framebuffer device to memory");
|
||||
exit(4);
|
||||
}
|
||||
printf("The framebuffer device was mapped to memory successfully.\n");
|
||||
|
||||
munmap(fbp, screensize);
|
||||
close(fbfd);
|
||||
return 0;
|
||||
}
|
|
@ -2,15 +2,28 @@
|
|||
|
||||
# Slackware build script for fbterm
|
||||
|
||||
# Written by vvoody <ydoovv@gmail.com>
|
||||
# Originally written by vvoody <email removed>
|
||||
# Now maintained by B. Watson <yalhcru@gmail.com>
|
||||
|
||||
# Original vvoody version of this script had no license. Modified version
|
||||
# is licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/
|
||||
# for details.
|
||||
|
||||
# 20170403 bkw:
|
||||
# - take over maintenance
|
||||
# - upgrade for v1.8
|
||||
# - use new github homepage
|
||||
# - stop installing empty NEWS
|
||||
# - fix and simplify script
|
||||
# - write compiled terminfo stuff to $PKG, not /usr...
|
||||
# - add checkfb.c, from Trolltech by way of Slint
|
||||
# - add capability stuff
|
||||
|
||||
PRGNAM=fbterm
|
||||
VERSION=${VERSION:-1.7}
|
||||
VERSION=${VERSION:-1.8}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
TARBALL_VERSION=1.7.0
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
case "$( uname -m )" in
|
||||
i?86) ARCH=i586 ;;
|
||||
|
@ -43,8 +56,8 @@ set -e
|
|||
rm -rf $PKG
|
||||
mkdir -p $TMP $PKG $OUTPUT
|
||||
cd $TMP
|
||||
rm -rf $TOPDIR
|
||||
tar xvf $CWD/$PRGNAM-$TARBALL_VERSION.tar.gz
|
||||
rm -rf $PRGNAM-$VERSION
|
||||
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
|
||||
cd $PRGNAM-$VERSION
|
||||
chown -R root:root .
|
||||
find -L . \
|
||||
|
@ -53,6 +66,12 @@ find -L . \
|
|||
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
|
||||
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
||||
|
||||
# without this, /usr gets spammed by 'tic', and the terminfo stuff
|
||||
# doesn't become part of the package.
|
||||
TERMINFO=$PKG/usr/share/terminfo
|
||||
export TERMINFO
|
||||
mkdir -p $TERMINFO
|
||||
|
||||
CFLAGS="$SLKCFLAGS" \
|
||||
CXXFLAGS="$SLKCFLAGS" \
|
||||
./configure \
|
||||
|
@ -62,26 +81,34 @@ CXXFLAGS="$SLKCFLAGS" \
|
|||
--localstatedir=/var \
|
||||
--mandir=/usr/man \
|
||||
--infodir=/usr/info \
|
||||
--build=$ARCH-slackware-linux \
|
||||
|| true
|
||||
--build=$ARCH-slackware-linux
|
||||
|
||||
make
|
||||
make install DESTDIR=$PKG
|
||||
|
||||
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
|
||||
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
||||
|
||||
( cd $PKG/usr/man
|
||||
find . -type f -exec gzip -9 {} \;
|
||||
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
|
||||
)
|
||||
strip $PKG/usr/bin/$PRGNAM
|
||||
gzip -9 $PKG/usr/man/man1/$PRGNAM.1
|
||||
|
||||
# don't install NEWS, it's empty.
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a README ChangeLog AUTHORS NEWS COPYING $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a README ChangeLog AUTHORS COPYING $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
|
||||
# previous maintainer of this build, Didier Spaier, said he intended
|
||||
# to bundle this with fbterm, for use in Slint. it looks like a useful
|
||||
# little utility.
|
||||
gcc $SLKCFLAGS -Wl,-s -o $PKG/usr/bin/checkfb $CWD/checkfb.c
|
||||
|
||||
mkdir -p $PKG/install
|
||||
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||
|
||||
# Only add capability stuff if not disabled:
|
||||
if [ "${SETCAP:-yes}" = "yes" ]; then
|
||||
cat $CWD/setcap.sh >> $PKG/install/doinst.sh
|
||||
# Only allow execution by video group
|
||||
chown root:video $PKG/usr/bin/$PRGNAM
|
||||
chmod 0750 $PKG/usr/bin/$PRGNAM
|
||||
fi
|
||||
|
||||
cd $PKG
|
||||
/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
PRGNAM="fbterm"
|
||||
VERSION="1.7"
|
||||
HOMEPAGE="http://code.google.com/p/fbterm/"
|
||||
DOWNLOAD="http://fbterm.googlecode.com/files/fbterm-1.7.0.tar.gz"
|
||||
MD5SUM="c36bae75a450df0519b4527cccaf7572"
|
||||
VERSION="1.8"
|
||||
HOMEPAGE="https://github.com/sfzhi/fbterm"
|
||||
DOWNLOAD="https://github.com/sfzhi/fbterm/archive/1.8/fbterm-1.8.tar.gz"
|
||||
MD5SUM="40c36b28488ae8e33a76332fe429aed9"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES=""
|
||||
MAINTAINER="Didier Spaier"
|
||||
EMAIL="didier.spaier@epsm.fr"
|
||||
MAINTAINER="B. Watson"
|
||||
EMAIL="yalhcru@gmail.com"
|
||||
|
|
1
system/fbterm/setcap.sh
Normal file
1
system/fbterm/setcap.sh
Normal file
|
@ -0,0 +1 @@
|
|||
[ -x /sbin/setcap ] && /sbin/setcap cap_sys_admin,cap_sys_tty_config=ep usr/bin/fbterm
|
|
@ -6,12 +6,12 @@
|
|||
# customary to leave one space after the ':' except on otherwise blank lines.
|
||||
|
||||
|-----handy-ruler------------------------------------------------------|
|
||||
fbterm: fbterm (a fast FrameBuffer based TERMinal emulator for linux)
|
||||
fbterm: fbterm (fast framebuffer based terminal emulator for linux)
|
||||
fbterm:
|
||||
fbterm: FbTerm is a fast terminal emulator for Linux with the frame buffer
|
||||
fbterm: device or a VESA video card.
|
||||
fbterm:
|
||||
fbterm:
|
||||
fbterm: FbTerm is a fast terminal emulator for Linux with frame buffer device
|
||||
fbterm: or VESA video card.
|
||||
fbterm:
|
||||
fbterm: Homepage: http://code.google.com/p/fbterm/
|
||||
fbterm:
|
||||
fbterm:
|
||||
fbterm:
|
||||
|
|
Loading…
Reference in a new issue