Skip to content

Commit

Permalink
Version bump to 0.3
Browse files Browse the repository at this point in the history
fixes #10

added an option to install udev rules (fixes #11)

updated makefile to adhere to DESTDIR/PREFIX conventions

updated README
  • Loading branch information
Hummer12007 committed Sep 22, 2017
1 parent 30c94ef commit ba070ef
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 15 deletions.
4 changes: 4 additions & 0 deletions 90-brightnessctl.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chgrp input /sys/class/leds/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chmod g+w /sys/class/leds/%k/brightness"
27 changes: 21 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,28 @@
VERSION = 0.2
DESTDIR ?= /usr/local
VERSION = 0.3
CFLAGS += -std=c99 -g -Wall -Wextra -DVERSION=\"${VERSION}\" -D_POSIX_C_SOURCE=200809L -lm
MODE ?= 4711

PREFIX ?= /usr
BINDIR = ${DESTDIR}${PREFIX}/bin

INSTALL_UDEV_RULES = 0

INSTALL_UDEV_1 = install_udev_rules
UDEVDIR ?= /lib/udev/rules.d

MODE_0 = 4711
MODE_1 = 0644
MODE = ${MODE_${INSTALL_UDEV_RULES}}

all: brightnessctl

install: brightnessctl
install -d ${DESTDIR}/bin
install -m ${MODE} brightnessctl ${DESTDIR}/bin/
install: brightnessctl ${INSTALL_UDEV_${INSTALL_UDEV_RULES}}
install -d ${DESTDIR}${PREFIX}/bin
install -m ${MODE} brightnessctl ${DESTDIR}${PREFIX}/bin/

install_udev_rules:
install -d ${DESTDIR}${UDEVDIR}
install -m 0644 90-brightnessctl.rules ${DESTDIR}${UDEVDIR}


clean:
rm -f brightnessctl
Expand Down
16 changes: 7 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,17 @@ The program is available in:
* [Fedora/EPEL](https://apps.fedoraproject.org/packages/brightnessctl)
* [Arch Linux (AUR)](https://aur.archlinux.org/packages/brightnessctl)

One can build and install the program using `make install`. Consult the Makefile for relevant build-time options.

## Permissions

Modifying brightness requires write permissions for device files. This can be accomplished (without using sudo/su/etc.) by either of the following means:
Modifying brightness requires write permissions for device files. `brightnessctl` accomplishes this (without using `sudo`/`su`/etc.) by either of the following means:

1) installing brightnessctl as a suid binary (done by default)
1) installing `brightnessctl` as a suid binary (done by default)

2) adding a similar udev rule (assuming your user is in `video` group for backlight and `input` group for leds):
```
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chgrp input /sys/class/leds/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chmod g+w /sys/class/leds/%k/brightness"
```
2) installing relevant udev rules to add permissions to backlight class devices for users in `video` and leds for users in `input`.

The behavior is controlled by the `INSTALL_UDEV_RULES` flag (setting it to `1` installs the udev rules, `0` is the default value).

## Usage
```
Expand Down

0 comments on commit ba070ef

Please sign in to comment.