sbin_SCRIPTS =
dist_pkglib_SCRIPTS =
dist_pkglib_DATA =
-noinst_DATA =
pkglib_DATA =
-noinst_SCRIPTS =
dist_profile_DATA =
+noinst_DATA =
+USERV_CONFIG =
+KEYS_CONFIG =
+TOPLEVEL_CONFIG =
EXTRA_DIST =
CLEANFILES =
## Commands.
dist_pkglib_SCRIPTS += keys.conceal
+dist_pkglib_SCRIPTS += keys.delete-keeper
dist_pkglib_SCRIPTS += keys.keeper-cards
dist_pkglib_SCRIPTS += keys.keeper-nub
dist_pkglib_SCRIPTS += keys.list-keepers
dist_pkglib_SCRIPTS += keys.reveal
dist_pkglib_SCRIPTS += keys.stash
+## Common profiles.
+dist_profile_DATA += profile.d/00base
+dist_profile_DATA += profile.d/02infra
+
+## Other configuration.
+KEYS_CONFIG += keys.conf
+EXTRA_DIST += keys.conf
+
+KEYS_CONFIG += admin.users admin.groups
+EXTRA_DIST += admin.users admin.groups
+
+KEYS_CONFIG += keeper-cards.tex
+EXTRA_DIST += keeper-cards.tex
+
###--------------------------------------------------------------------------
### Crypto operations.
dist_pkglib_SCRIPTS += cryptop.verify
## Userv services configuration.
-noinst_DATA += userv/distorted-keys
+USERV_CONFIG += userv/distorted-keys
EXTRA_DIST += userv/distorted-keys.in
CLEANFILES += userv/distorted-keys
userv/distorted-keys: userv/distorted-keys.in Makefile
mv userv/distorted-keys.new userv/distorted-keys
###--------------------------------------------------------------------------
+### Standalone operations on public keys.
+
+bin_SCRIPTS += pubkeyop
+EXTRA_DIST += pubkeyop.in
+CLEANFILES += pubkeyop
+pubkeyop: pubkeyop.in Makefile
+ $(SUBST) $(srcdir)/pubkeyop.in $(SUBSTVARS) >pubkeyop.new && \
+ chmod +x pubkeyop.new && mv pubkeyop.new pubkeyop
+
+###--------------------------------------------------------------------------
### Secure storage management.
## Ephemeral filesystem construction.
EXTRA_DIST += mount-ephemeral
## Directory claiming service.
-noinst_DATA += userv/claim-dir
+USERV_CONFIG += userv/claim-dir
EXTRA_DIST += userv/claim-dir.in
CLEANFILES += userv/claim-dir
userv/claim-dir: userv/claim-dir.in Makefile
mv userv/claim-dir.new userv/claim-dir
## Configuration file.
+TOPLEVEL_CONFIG += claim-dir.tab
EXTRA_DIST += claim-dir.tab
###--------------------------------------------------------------------------
-### Configuration snippets.
-
-dist_profile_DATA += profile.d/00base
-dist_profile_DATA += profile.d/02infra
-
-EXTRA_DIST += keys.conf
+### Installing configuration.
+
+## Install userv configuration.
+noinst_DATA += $(USERV_CONFIG)
+install-data-local::
+ $(MKDIR_P) $(DESTDIR)$(uservconfdir)
+ @for i in $(USERV_CONFIG); do \
+ b=$$(expr /$$i : '.*/\([^/]*\)$$'); \
+ if [ -f $(DESTDIR)$(uservconfdir)/$$b ]; then continue; fi; \
+ if [ -f $$i ]; then s=$$i; else s=$(srcdir)/$$i; fi; \
+ echo $(INSTALL_DATA) $$s $(DESTDIR)$(uservconfdir); \
+ $(INSTALL_DATA) $$s $(DESTDIR)$(uservconfdir) || exit 1; \
+ done
+uninstall-local::
+ @for i in $(USERV_CONFIG); do \
+ b=$$(expr /$$i : '.*/\([^/]*\)$$'); \
+ echo rm -f $(DESTDIR)$(uservconfdir)/$$b; \
+ rm -f $(DESTDIR)$(uservconfdir)/$$b; \
+ done
+
+## Install keys configuration.
+noinst_DATA += $(KEYS_CONFIG)
+install-data-local::
+ $(MKDIR_P) $(DESTDIR)$(pkgconfdir)
+ @for i in $(KEYS_CONFIG); do \
+ b=$$(expr /$$i : '.*/\([^/]*\)$$'); \
+ if [ -f $(DESTDIR)$(pkgconfdir)/$$b ]; then continue; fi; \
+ if [ -f $$i ]; then s=$$i; else s=$(srcdir)/$$i; fi; \
+ echo $(INSTALL_DATA) $$s $(DESTDIR)$(pkgconfdir); \
+ $(INSTALL_DATA) $$s $(DESTDIR)$(pkgconfdir) || exit 1; \
+ done
+uninstall-local::
+ @for i in $(KEYS_CONFIG); do \
+ b=$$(expr /$$i : '.*/\([^/]*\)$$'); \
+ echo rm -f $(DESTDIR)$(pkgconfdir)/$$b; \
+ rm -f $(DESTDIR)$(pkgconfdir)/$$b; \
+ done
+
+## Install toplevel configuration.
+noinst_DATA += $(TOPLEVEL_CONFIG)
+install-data-local::
+ $(MKDIR_P) $(DESTDIR)$(sysconfdir)
+ @for i in $(TOPLEVEL_CONFIG); do \
+ b=$$(expr /$$i : '.*/\([^/]*\)$$'); \
+ if [ -f $(DESTDIR)$(sysconfdir)/$$b ]; then continue; fi; \
+ if [ -f $$i ]; then s=$$i; else s=$(srcdir)/$$i; fi; \
+ echo $(INSTALL_DATA) $$s $(DESTDIR)$(sysconfdir); \
+ $(INSTALL_DATA) $$s $(DESTDIR)$(sysconfdir) || exit 1; \
+ done
+uninstall-local::
+ @for i in $(TOPLEVEL_CONFIG); do \
+ b=$$(expr /$$i : '.*/\([^/]*\)$$'); \
+ echo rm -f $(DESTDIR)$(sysconfdir)/$$b; \
+ rm -f $(DESTDIR)$(sysconfdir)/$$b; \
+ done
###--------------------------------------------------------------------------
### Release setup.
EXTRA_DIST += debian/changelog debian/control debian/copyright
EXTRA_DIST += debian/rules debian/compat
+EXTRA_DIST += debian/distorted-keys-base.install
+
EXTRA_DIST += debian/distorted-keys.install
EXTRA_DIST += debian/distorted-keys.postinst
EXTRA_DIST += debian/claim-dir.install
-EXTRA_DIST += debian/admin.users debian/admin.groups
-
###----- That's all, folks --------------------------------------------------