From ef0931725b05a0482aa08e4b753e944a015885ea Mon Sep 17 00:00:00 2001 From: Chris Weyl Date: Feb 19 2007 18:26:43 +0000 Subject: update for BZ#219236 --- diff --git a/915resolution-config b/915resolution-config new file mode 100644 index 0000000..6f6efd6 --- /dev/null +++ b/915resolution-config @@ -0,0 +1,2 @@ +# Mode to overwrite +# RESOLUTION="58 1680 1050" diff --git a/915resolution-init b/915resolution-init new file mode 100644 index 0000000..d292866 --- /dev/null +++ b/915resolution-init @@ -0,0 +1,65 @@ +#!/bin/bash +# +# /etc/rc.d/init.d/915resolution +# +# Starts the 915resulution helper +# +# chkconfig: - 65 35 +# description: 915resolution tool +# processname: 915resolution +# Source function library. +. /etc/init.d/functions + +test -x /usr/sbin/915resolution || exit 0 + +RETVAL=0 +prog="915resolution" + +start() { + if [ -r /etc/sysconfig/915resolution ]; then + . /etc/sysconfig/915resolution + fi + if [ -n "$RESOLUTION" ]; then + echo -n $"Starting $prog: " + /usr/sbin/915resolution $RESOLUTION >/dev/null 2>&1 + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/915resolution + echo + fi +} + +stop() { + rm -f /var/lock/subsys/915resolution +} + +# +# See how we were called. +# +case "$1" in + start) + start + ;; + stop) + stop + ;; + reload|restart) + stop + start + RETVAL=$? + ;; + condrestart) + if [ -f /var/lock/subsys/915resolution ]; then + stop + start + fi + ;; + status) + [ -f /var/lock/subsys/915resolution ] + RETVAL=$? + ;; + *) + echo $"Usage: $0 {condrestart|start|stop|restart|reload|status}" + exit 1 +esac + +exit $RETVAL diff --git a/915resolution-pm-hook b/915resolution-pm-hook new file mode 100644 index 0000000..c6d3fe2 --- /dev/null +++ b/915resolution-pm-hook @@ -0,0 +1,11 @@ +#!/bin/sh + +case "$1" in + thaw|resume) + { /sbin/service 915resolution start ; } 2>/dev/null + ;; + *) + ;; +esac + +exit $? diff --git a/915resolution.spec b/915resolution.spec index 645c13f..9cdd588 100644 --- a/915resolution.spec +++ b/915resolution.spec @@ -1,20 +1,29 @@ Name: 915resolution Version: 0.5.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Intel video BIOS hack to support certain resolutions Group: User Interface/X Hardware Support License: Public Domain URL: http://www.geocities.com/stomljen/ Source0: http://www.geocities.com/stomljen/%{name}-%{version}.tar.gz +Source1: %{name}-init +Source2: %{name}-config +Source3: %{name}-pm-hook BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -# this doesn't make much sense on ppc. That, and it fails in build... +# this doesn't make much sense on ppc. That, and it fails to build :) ExcludeArch: ppc # simple "get it going" instructions Source100: README.fedora +# for the add/remove/condrestart service stuff. +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/chkconfig +Requires(preun): /sbin/service + + %description 915resolution is a tool to modify the video BIOS of the 800 and 900 series Intel graphics chipsets. This includes the 845G, 855G, and 865G chipsets, as @@ -48,18 +57,51 @@ rm -rf %{buildroot} mkdir -p %{buildroot}%{_sbindir} cp %{name} %{buildroot}%{_sbindir} +# ...and the associated support bits +mkdir -p %{buildroot}%{_sysconfdir}/rc.d/init.d +install -m 0755 -T %{SOURCE1} \ + %{buildroot}%{_sysconfdir}/rc.d/init.d/915resolution +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +install -m 0644 -T %{SOURCE2} \ + %{buildroot}%{_sysconfdir}/sysconfig/915resolution +mkdir -p %{buildroot}%{_sysconfdir}/pm/hooks +install -m 0755 -T %{SOURCE3} \ + %{buildroot}%{_sysconfdir}/pm/hooks/99resolution + %clean rm -rf %{buildroot} +%post +# This adds the proper /etc/rc*.d links for the script +/sbin/chkconfig --add 915resolution + + +%preun +if [ $1 = 0 ]; then + /sbin/service 915resolution stop >/dev/null 2>&1 || : + /sbin/chkconfig --del 915resolution +fi + +# no postun scriptlet is provided to "restart" the service on upgrade as this +# doesn't seem entirely appropriate. explanations as to why this is wrong are +# welcome :) + %files %defattr(-,root,root,-) %doc LICENSE.txt README* changes.log chipset_info.txt dump_bios %{_sbindir}/* +%{_sysconfdir}/rc.d/init.d/* +%{_sysconfdir}/pm/hooks/* +%config(noreplace) %{_sysconfdir}/sysconfig/* %changelog +* Mon Feb 19 2007 Chris Weyl 0.5.2-4 +- add initscript infrastructure from Bojan Smojver, who kindly did most of the + work to implement it. Thanks Bojan! :) + * Tue Aug 01 2006 Chris Weyl 0.5.2-3 - excludearch ppc diff --git a/README.fedora b/README.fedora index 058d4ad..94aaba7 100644 --- a/README.fedora +++ b/README.fedora @@ -7,12 +7,12 @@ copy. Executing 915resolution requires root privs. Note that the intel xorg drivers are supposed to deal with displaying to non-bios modes "real soon now"; hence this setup technique. +Note also the prior method used has changed (but should still work), thanks to +an actual initscript framework :) + 1. Read README.txt, in this directory... Figure out the proper invocation of the binary for your hardware. -2. Edit /etc/rc.local. Include as a line in that file a call to - 915resolution; a la: - - /usr/sbin/915resolution .... - - Where .... is the proper parameters to pass 915resolution. +2. Edit /etc/sysconfig/915resolution. Modify "RESOLUTION" to be the proper + modestring to pass 915resolution for your hardware. +3. Enjoy widescreen :)