Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation with setting permissions #39

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
*.swp
*.pyc
/native/textern.json
82 changes: 51 additions & 31 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,40 +1,60 @@
ifneq ($(USER),1)
PREFIX ?= /usr/local
MOZILLA_PREFIX ?= /usr
MOZILLA_NATIVE ?= $(MOZILLA_PREFIX)/lib64/mozilla/native-messaging-hosts
else
PREFIX ?= $(HOME)/.local
MOZILLA_NATIVE ?= $(HOME)/.mozilla/native-messaging-hosts
endif
MOZILLA ?= /usr/lib/mozilla
MOZILLA_NATIVE_SYSTEM ?= $(MOZILLA)/native-messaging-hosts
#MOZILLA64 ?= /usr/lib64/mozilla
#MOZILLA_NATIVE_SYSTEM64 ?= $(MOZILLA64)/native-messaging-hosts
LIBEXEC_SYSTEM ?= /usr/local/libexec
TEXTERN_SYSTEM ?= $(LIBEXEC_SYSTEM)/textern

LIBEXEC ?= $(PREFIX)/libexec
MOZILLA_NATIVE_USER ?= $(HOME)/.mozilla/native-messaging-hosts
TEXTERN_USER ?= $(HOME)/.local/libexec/textern

.PHONY: all
all:
@echo "No build step. Available targets:"
@echo "native-install install native app"
@echo "native-uninstall uninstall native app"
@echo "xpi create XPI webex archive"
@echo
@echo "Set USER=1 to target user directories instead."

# make phony and don't depend on .in file in case $USER changes
.PHONY: native/textern.json
native/textern.json:
sed -e 's|@@NATIVE_PATH@@|$(LIBEXEC)/textern/textern.py|' $@.in > $@

.PHONY: native-install
native-install: native/textern.json
mkdir -p $(DESTDIR)$(MOZILLA_NATIVE)
cp -f native/textern.json $(DESTDIR)$(MOZILLA_NATIVE)
mkdir -p $(DESTDIR)$(LIBEXEC)/textern
cp -rf native/textern.py native/inotify_simple $(DESTDIR)$(LIBEXEC)/textern

.PHONY: native-uninstall
native-uninstall:
rm -f $(DESTDIR)$(MOZILLA_NATIVE)/textern.json
rm -rf $(DESTDIR)$(LIBEXEC)/textern
@echo "native-install-system install native app for all user"
@echo "native-uninstall-system uninstall native app for all user"
@echo "native-install-user install native app only for current user"
@echo "native-uninstall-user uninstall native app for current user"
@echo "xpi create XPI webex archive"

.PHONY: native-install-system
native-install-system:
mkdir -p $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM)
chmod o+rX $(DESTDIR)$(MOZILLA)
chmod o+rX $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM)
sed -e 's|@@NATIVE_PATH@@|$(TEXTERN_SYSTEM)/textern.py|' native/textern.json.in > $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM)/textern.json
chmod o+r $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM)/textern.json
@#mkdir -p $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM64)
@#chmod o+rX $(DESTDIR)$(MOZILLA64)
@#chmod o+rX $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM64)
@#ln -s $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM)/textern.json $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM64)/textern.json

mkdir -p $(DESTDIR)$(TEXTERN_SYSTEM)
chmod o+rX $(DESTDIR)$(LIBEXEC_SYSTEM)
cp -rf native/textern.py native/inotify_simple $(DESTDIR)$(TEXTERN_SYSTEM)
chmod -R o+rX $(DESTDIR)$(TEXTERN_SYSTEM)

.PHONY: native-uninstall-system
native-uninstall-system:
rm -f $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM)/textern.json
rm -f $(DESTDIR)$(MOZILLA_NATIVE_SYSTEM64)/textern.json
rm -rf $(DESTDIR)$(TEXTERN_SYSTEM)

.PHONY: native-install-user
native-install-user:
mkdir -p $(DESTDIR)$(MOZILLA_NATIVE_USER)
sed -e 's|@@NATIVE_PATH@@|$(TEXTERN_USER)/textern.py|' native/textern.json.in > $(DESTDIR)$(MOZILLA_NATIVE_USER)/textern.json

mkdir -p $(DESTDIR)$(TEXTERN_USER)
cp -rf native/textern.py native/inotify_simple $(DESTDIR)$(TEXTERN_USER)

.PHONY: native-uninstall-user
native-uninstall-user:
rm -f $(DESTDIR)$(MOZILLA_NATIVE_USER)/textern.json
rm -rf $(DESTDIR)$(TEXTERN_USER)

.PHONY: xpi
xpi:
@rm -f textern.xpi && cd webex && zip -r -FS ../textern.xpi *

# vim: filetype=make tabstop=8 softtabstop=8 shiftwidth=8 noexpandtab autoindent nowrap
14 changes: 10 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,23 +34,29 @@ submodules (either use the `--recurse-submodules` when
running `git clone` as shown above, or use
`git submodule update --init` if already cloned).

To install the native app, run:
To install the native app for all user, run:

```
$ sudo make native-install
$ sudo make native-install-system
```

To uninstall it, run:

```
$ sudo make native-uninstall
$ sudo make native-uninstall-system
```

If you do not have root privileges or wish to only install
the native app for the current user, run:

```
$ make native-install USER=1
$ make native-install-user
```

To uninstall it, run:

```
$ make native-uninstall-user
```

## Usage
Expand Down