--- afbinit-1.0.orig/debian/README.Debian +++ afbinit-1.0/debian/README.Debian @@ -0,0 +1,16 @@ +afbinit for Debian +------------------ + +This package requires the AFB microcode, which can be obtained from +several places. The easiest way to have it is to grab a Solaris patch from +Sun's website: + +1) go to http://sunsolve.sun.com/show.do?target=patches/patch-access +2) search for patch number #108604 +3) download it, decompress it +4) mv 108604-35/SUNWafbcf/reloc/lib/afb.ucode /usr/lib + +Once you have afb.ucode under /usr/lib, run the following command to +load the microcode: /etc/init.d/afbinit start + +NOTE: The microcode is proprietary and NOT FREE. As in not free speech. --- afbinit-1.0.orig/debian/afbinit.8 +++ afbinit-1.0/debian/afbinit.8 @@ -0,0 +1,83 @@ +.\" This -*- nroff -*- file has been generated from +.\" DocBook SGML with docbook-to-man on Debian GNU/Linux. +.de P! +\\&. +.fl \" force out current output buffer +\\!%PB +\\!/showpage{}def +\\!/tempdict 200 dict def tempdict begin +.fl \" prolog +.sy cat \\$1\" bring in postscript file +\\!end % tempdict % +\\!PE +\\!. +.sp \\$2u \" move below the image +.. +.de pF +.ie \\*(f1 .ds f1 \\n(.f +.el .ie \\*(f2 .ds f2 \\n(.f +.el .ie \\*(f3 .ds f3 \\n(.f +.el .ie \\*(f4 .ds f4 \\n(.f +.el .tm ? font overflow +.ft \\$1 +.. +.de fP +.ie !\\*(f4 \{\ +. ft \\*(f4 +. ds f4\" +' br \} +.el .ie !\\*(f3 \{\ +. ft \\*(f3 +. ds f3\" +' br \} +.el .ie !\\*(f2 \{\ +. ft \\*(f2 +. ds f2\" +' br \} +.el .ie !\\*(f1 \{\ +. ft \\*(f1 +. ds f1\" +' br \} +.el .tm ? font underflow +.. +.ds f1\" +.ds f2\" +.ds f3\" +.ds f4\" +'\" t +.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n +.TH "AFBINIT" "8" +.SH "NAME" +afbinit \(em Initialize the AFB microcode for Elite 3D framebuffer cards +.SH "SYNOPSIS" +.PP +\fBafbinit\fP /dev/fb[0123] [ucode_file] +.SH "DESCRIPTION" +.PP +This manual page documents briefly the +\fBafbinit\fP command. +.PP +This manual page was written for the \fBDebian GNU/Linux\fP distribution +because the original program does not have a manual page. + +.PP +The \fBafbinit\fP command is used to initialize +Elite 3D framebuffers with the AFB microcode that is required to use +the accelration functions under XFree86. You need only tell it which +framebuffer to use it on, and where the afb.ucode file is (if not in +the default location). + +.SH "FILES" +.PP +\fB/usr/lib/afb.ucode\fP +.PP +\fB/etc/init.d/afbinit\fP +.SH "AUTHOR" +.PP +This manual page was written by Ben Collins bcollins@debian.org for +the \fBDebian GNU/Linux\fP system (but may be used by others). Permission is +granted to copy, distribute and/or modify this document under +the terms of the GNU Free Documentation +License, Version 1.1 or any later version published by the Free +Software Foundation; with no Invariant Sections, no Front-Cover +Texts and no Back-Cover Texts. --- afbinit-1.0.orig/debian/compat +++ afbinit-1.0/debian/compat @@ -0,0 +1 @@ +5 --- afbinit-1.0.orig/debian/control +++ afbinit-1.0/debian/control @@ -0,0 +1,17 @@ +Source: afbinit +Section: contrib/utils +Priority: optional +Maintainer: Emanuele Rocca +Build-Depends: debhelper (>= 5.0.0) +Standards-Version: 3.7.3 + +Package: afbinit +Architecture: sparc +Depends: ${shlibs:Depends} +Description: Elite 3D Framebuffer firmware initializer + The package provides a program that can initialize the microcode firmware + on an Elite 3D framebuffer card found on many UltraSPARC systems. This is + needed if you want to support acceleration under XFree86 for this card. + . + NOTE: This program requires that you obtain the proprietary microcode. + Please see the README.Debian for more information. --- afbinit-1.0.orig/debian/afbinit.init +++ afbinit-1.0/debian/afbinit.init @@ -0,0 +1,62 @@ +#!/bin/sh +# +# Initialize Elite 3D Framebuffer firmware + +### BEGIN INIT INFO +# Provides: afbinit +# Required-Start: $local_fs $remote_fs +# Required-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Elite 3D Framebuffer firmware initializer +# Description: afbinit initializes the microcode firmware +# needed by Elite 3D framebuffer cards found on many +# UltraSPARC systems +### END INIT INFO + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +set -e + +. /lib/lsb/init-functions + +# This only applies to UltraSPARC's +if [ `uname -m` != "sparc64" ];then + log_failure_msg "The architecture is not sparc64" + exit 0 +fi + +# The microcode loader binary and the microcode itself must exist. +if [ ! -x /usr/sbin/afbinit ];then + log_failure_msg "Cannot find afbinit (/usr/sbin/afbinit)" + exit 1 +fi +if [ ! -f /usr/lib/afb.ucode ];then + log_failure_msg "Cannot find AFB microcode (/usr/lib/afb.ucode)" + log_failure_msg "Please read /usr/share/doc/afbinit/README.Debian to see how to obtain it" + exit 0 +fi + +case "$1" in + start) + # Make FB device list. + afb_devs=$(awk '/Elite/ {printf "fb%d\n",$1}' /proc/fb) + [ -n "${afb_devs}" ] || exit 0 + + # Load microcode onto each card. + log_begin_msg "Loading Elite3D microcode on: " + for AFB in ${afb_devs}; do + log_begin_msg ${AFB} + /usr/sbin/afbinit /dev/${AFB} /usr/lib/afb.ucode > \ + /dev/null + log_end_msg $? + done + ;; + stop|restart|force-reload) # Nothing + ;; + *) + log_success_msg "Usage: /etc/init.d/afbinit start" + exit 1 + ;; +esac + +exit 0 --- afbinit-1.0.orig/debian/rules +++ afbinit-1.0/debian/rules @@ -0,0 +1,43 @@ +#!/usr/bin/make -f + +build: build-stamp +build-stamp: + dh_testdir + $(MAKE) + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + $(MAKE) clean + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + install -m755 afbinit $(CURDIR)/debian/afbinit/usr/sbin/afbinit + +binary-indep: build install + +binary-arch: build install + dh_testdir + dh_testroot + dh_installdocs + dh_installinit -r -u"start 50 S ." + dh_installman debian/afbinit.8 + dh_installchangelogs + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-arch + +.PHONY: build clean install binary-indep binary-arch binary --- afbinit-1.0.orig/debian/changelog +++ afbinit-1.0/debian/changelog @@ -0,0 +1,55 @@ +afbinit (1.0-4) unstable; urgency=low + + * Do not fail if microcode is unavailable (Closes: #466106) + * Improve instructions about how to get microcode in README.Debian + * Fix man page errors + * Bump Standards-Version + * Thanks to Adam Cécile for his suggestions + + -- Emanuele Rocca Wed, 20 Feb 2008 13:17:04 +0100 + +afbinit (1.0-3) unstable; urgency=low + + * Add missing includes (Closes: #451635) + * Remove 'Local variables' from debian/changelog + + -- Emanuele Rocca Sun, 18 Nov 2007 11:17:37 +0100 + +afbinit (1.0-2) unstable; urgency=low + + * New maintainer + * debian/afbinit.init: + - card recognition code modified to work properly with 2.6 kernels + (Closes: #250619) + - redirect afbinit standard output to /dev/null + - use LSB init-functions + - add LSB keyword section + * debian/rules: + - run init script after mountall (Closes: #282955) + - do not ignore errors in the clean target + - binary-arch and binary-indep targets added + * debian/control: + - Standards-Version set to 3.7.2 + - set myself as the maintainer + * debian/copyright: + - Author(s) replaced with Author + - added pointer to /usr/share/common-licenses/GPL-2 + * debian/README.Debian, debian/afbinit.8: + - s/afb/afbinit/ + + -- Emanuele Rocca Sun, 08 Jul 2007 13:27:18 +0200 + +afbinit (1.0-1.1) unstable; urgency=low + + * Non Maintainer Upload. + * Change the mmap() of the card's registers to use MAP_SHARED instead + of MAP_PRIVATE. Closes: #346085. + * Update debhelper compatibitily to version 5. + + -- Frans Pop Wed, 1 Feb 2006 14:20:57 +0100 + +afbinit (1.0-1) unstable; urgency=low + + * Initial Release. + + -- Ben Collins Thu, 29 Nov 2001 21:06:42 -0500 --- afbinit-1.0.orig/debian/copyright +++ afbinit-1.0/debian/copyright @@ -0,0 +1,12 @@ +This package was debianized by Ben Collins on +Thu, 29 Nov 2001 21:06:42 -0500. + +It was downloaded from http://vger.samba.org/ CVS. + +Upstream Author: David S. Miller (davem@redhat.com) + +Copyright (C) 1999 David S. Miller (davem@redhat.com) + +License: +This software is released under the terms of the GNU GPL v2, which can +be found in `/usr/share/common-licenses/GPL-2' on Debian systems. --- afbinit-1.0.orig/debian/dirs +++ afbinit-1.0/debian/dirs @@ -0,0 +1 @@ +usr/sbin --- afbinit-1.0.orig/afbinit.c +++ afbinit-1.0/afbinit.c @@ -13,6 +13,8 @@ #include #include #include +#include +#include /* Define this to debug the microcode loading procedure. */ #undef DEBUG_UCODE_LOAD @@ -236,7 +238,7 @@ /* MMAP the registers. */ uregs = mmap(0, 0x2000, PROT_READ | PROT_WRITE, - MAP_PRIVATE, + MAP_SHARED, afb_fd, 0x04000000); if (uregs == (void *)-1L) { @@ -246,7 +248,7 @@ kregs = mmap(0, 0x2000, PROT_READ | PROT_WRITE, - MAP_PRIVATE, + MAP_SHARED, afb_fd, 0x0bc04000); if (kregs == (void *)-1L) {