| Line | Revision | Contents |
| 1 | 67 | WARN=-O -Wall -Wformat=2 -Winit-self -Wmissing-include-dirs \ |
| 2 | -Wswitch-default -Wswitch-enum -Wunused-parameter \ | |
| 3 | 304 | -Wstrict-aliasing=1 -Wextra -Wfloat-equal -Wundef -Wshadow \ |
| 4 | 67 | -Wunsafe-loop-optimizations -Wpointer-arith \ |
| 5 | -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings \ | |
| 6 | -Wconversion -Wstrict-prototypes -Wold-style-definition \ | |
| 7 | 177 | -Wpacked -Wnested-externs -Winline -Wvolatile-register-var |
| 8 | # -Wunreachable-code | |
| 9 | #DEBUG=-ggdb3 | |
| 10 | 28 | # For info about _FORTIFY_SOURCE, see |
| 11 | 389 | # <http://www.kernel.org/doc/man-pages/online/pages/man7/feature_test_macros.7.html> |
| 12 | # and <http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html>. | |
| 13 | 395 | FORTIFY=-D_FORTIFY_SOURCE=2 -fstack-protector-all -fPIC |
| 14 | LINK_FORTIFY_LD=-z relro -z now | |
| 15 | LINK_FORTIFY= | |
| 16 | 399 | |
| 17 | # If BROKEN_PIE is set, do not build with -pie | |
| 18 | 395 | ifndef BROKEN_PIE |
| 19 | FORTIFY += -fPIE | |
| 20 | LINK_FORTIFY += -pie | |
| 21 | endif | |
| 22 | 24.1.91 | #COVERAGE=--coverage |
| 23 | 24.1.51 | OPTIMIZE=-Os |
| 24 | 21 | LANGUAGE=-std=gnu99 |
| 25 | 217 | htmldir=man |
| 26 | 395 | version=1.0.14 |
| 27 | 217 | SED=sed |
| 28 | 175 | |
| 29 | ## Use these settings for a traditional /usr/local install | |
| 30 | # PREFIX=$(DESTDIR)/usr/local | |
| 31 | 177 | # CONFDIR=$(DESTDIR)/etc/mandos |
| 32 | # KEYDIR=$(DESTDIR)/etc/mandos/keys | |
| 33 | 175 | # MANDIR=$(PREFIX)/man |
| 34 | 177 | # INITRAMFSTOOLS=$(DESTDIR)/etc/initramfs-tools |
| 35 | ## | |
| 36 | 175 | |
| 37 | 177 | ## These settings are for a package-type install |
| 38 | 96 | PREFIX=$(DESTDIR)/usr |
| 39 | CONFDIR=$(DESTDIR)/etc/mandos | |
| 40 | 160 | KEYDIR=$(DESTDIR)/etc/keys/mandos |
| 41 | 175 | MANDIR=$(PREFIX)/share/man |
| 42 | INITRAMFSTOOLS=$(DESTDIR)/usr/share/initramfs-tools | |
| 43 | 177 | ## |
| 44 | 21 | |
| 45 | 345 | GNUTLS_CFLAGS=$(shell pkg-config --cflags-only-I gnutls) |
| 46 | GNUTLS_LIBS=$(shell pkg-config --libs gnutls) | |
| 47 | 81 | AVAHI_CFLAGS=$(shell pkg-config --cflags-only-I avahi-core) |
| 48 | AVAHI_LIBS=$(shell pkg-config --libs avahi-core) | |
| 49 | 317 | GPGME_CFLAGS=$(shell gpgme-config --cflags; getconf LFS_CFLAGS) |
| 50 | GPGME_LIBS=$(shell gpgme-config --libs; getconf LFS_LIBS; \ | |
| 51 | getconf LFS_LDFLAGS) | |
| 52 | 81 | |
| 53 | 21 | # Do not change these two |
| 54 | 81 | CFLAGS=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) $(OPTIMIZE) \ |
| 55 | 217 | $(LANGUAGE) $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) $(GPGME_CFLAGS) \ |
| 56 | -DVERSION='"$(version)"' | |
| 57 | 257.1.1 | LDFLAGS=$(COVERAGE) $(LINK_FORTIFY) $(foreach flag,$(LINK_FORTIFY_LD),-Xlinker $(flag)) |
| 58 | 16 | |
| 59 | 175 | # Commands to format a DocBook <refentry> document into a manual page |
| 60 | 398 | DOCBOOKTOMAN=$(strip cd $(dir $<); xsltproc --nonet --xinclude \ |
| 61 | 62 | --param man.charmap.use.subset 0 \ |
| 62 | --param make.year.ranges 1 \ | |
| 63 | --param make.single.year.ranges 1 \ | |
| 64 | --param man.output.quietly 1 \ | |
| 65 | 84 | --param man.authors.section.enabled 0 \ |
| 66 | 91 | /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \ |
| 67 | $(notdir $<); \ | |
| 68 | 398 | $(MANPOST) $(notdir $@)) |
| 69 | 175 | # DocBook-to-man post-processing to fix a '\n' escape bug |
| 70 | 217 | MANPOST=$(SED) --in-place --expression='s,\\\\en,\\en,g;s,\\n,\\en,g' |
| 71 | 24.1.25 | |
| 72 | 398 | DOCBOOKTOHTML=$(strip xsltproc --nonet --xinclude \ |
| 73 | 216 | --param make.year.ranges 1 \ |
| 74 | --param make.single.year.ranges 1 \ | |
| 75 | --param man.output.quietly 1 \ | |
| 76 | --param man.authors.section.enabled 0 \ | |
| 77 | --param citerefentry.link 1 \ | |
| 78 | --output $@ \ | |
| 79 | /usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl \ | |
| 80 | 398 | $<; $(HTMLPOST) $@) |
| 81 | 216 | # Fix citerefentry links |
| 82 | 235 | HTMLPOST=$(SED) --in-place \ |
| 83 | --expression='s/\(<a class="citerefentry" href="\)\("><span class="citerefentry"><span class="refentrytitle">\)\([^<]*\)\(<\/span>(\)\([^)]*\)\()<\/span><\/a>\)/\1\3.\5\2\3\4\5\6/g' | |
| 84 | 216 | |
| 85 | 205 | PLUGINS=plugins.d/password-prompt plugins.d/mandos-client \ |
| 86 | 214 | plugins.d/usplash plugins.d/splashy plugins.d/askpass-fifo |
| 87 | 217 | CPROGS=plugin-runner $(PLUGINS) |
| 88 | 24.1.121 | PROGS=mandos mandos-keygen mandos-ctl $(CPROGS) |
| 89 | 74 | DOCS=mandos.8 plugin-runner.8mandos mandos-keygen.8 \ |
| 90 | 171 | plugins.d/mandos-client.8mandos \ |
| 91 | 67 | plugins.d/password-prompt.8mandos mandos.conf.5 \ |
| 92 | 225 | plugins.d/usplash.8mandos plugins.d/splashy.8mandos \ |
| 93 | 226 | plugins.d/askpass-fifo.8mandos mandos-clients.conf.5 |
| 94 | 16 | |
| 95 | 216 | htmldocs=$(addsuffix .xhtml,$(DOCS)) |
| 96 | ||
| 97 | 217 | objects=$(addsuffix .o,$(CPROGS)) |
| 98 | 16 | |
| 99 | 233 | all: $(PROGS) mandos.lsm |
| 100 | 67 | |
| 101 | doc: $(DOCS) | |
| 102 | 24.1.25 | |
| 103 | 216 | html: $(htmldocs) |
| 104 | ||
| 105 | 217 | %.5: %.xml common.ent legalnotice.xml |
| 106 | $(DOCBOOKTOMAN) | |
| 107 | %.5.xhtml: %.xml common.ent legalnotice.xml | |
| 108 | $(DOCBOOKTOHTML) | |
| 109 | ||
| 110 | %.8: %.xml common.ent legalnotice.xml | |
| 111 | $(DOCBOOKTOMAN) | |
| 112 | %.8.xhtml: %.xml common.ent legalnotice.xml | |
| 113 | $(DOCBOOKTOHTML) | |
| 114 | ||
| 115 | %.8mandos: %.xml common.ent legalnotice.xml | |
| 116 | $(DOCBOOKTOMAN) | |
| 117 | %.8mandos.xhtml: %.xml common.ent legalnotice.xml | |
| 118 | $(DOCBOOKTOHTML) | |
| 119 | ||
| 120 | mandos.8: mandos.xml common.ent mandos-options.xml overview.xml \ | |
| 121 | legalnotice.xml | |
| 122 | $(DOCBOOKTOMAN) | |
| 123 | mandos.8.xhtml: mandos.xml common.ent mandos-options.xml \ | |
| 124 | overview.xml legalnotice.xml | |
| 125 | $(DOCBOOKTOHTML) | |
| 126 | ||
| 127 | mandos-keygen.8: mandos-keygen.xml common.ent overview.xml \ | |
| 128 | legalnotice.xml | |
| 129 | $(DOCBOOKTOMAN) | |
| 130 | mandos-keygen.8.xhtml: mandos-keygen.xml common.ent overview.xml \ | |
| 131 | legalnotice.xml | |
| 132 | $(DOCBOOKTOHTML) | |
| 133 | ||
| 134 | mandos.conf.5: mandos.conf.xml common.ent mandos-options.xml \ | |
| 135 | legalnotice.xml | |
| 136 | $(DOCBOOKTOMAN) | |
| 137 | mandos.conf.5.xhtml: mandos.conf.xml common.ent mandos-options.xml \ | |
| 138 | legalnotice.xml | |
| 139 | $(DOCBOOKTOHTML) | |
| 140 | ||
| 141 | plugin-runner.8mandos: plugin-runner.xml common.ent overview.xml \ | |
| 142 | legalnotice.xml | |
| 143 | $(DOCBOOKTOMAN) | |
| 144 | plugin-runner.8mandos.xhtml: plugin-runner.xml common.ent \ | |
| 145 | overview.xml legalnotice.xml | |
| 146 | 216 | $(DOCBOOKTOHTML) |
| 147 | 143 | |
| 148 | 171 | plugins.d/mandos-client.8mandos: plugins.d/mandos-client.xml \ |
| 149 | 217 | common.ent \ |
| 150 | 143 | mandos-options.xml \ |
| 151 | overview.xml legalnotice.xml | |
| 152 | 91 | $(DOCBOOKTOMAN) |
| 153 | 216 | plugins.d/mandos-client.8mandos.xhtml: plugins.d/mandos-client.xml \ |
| 154 | 217 | common.ent \ |
| 155 | 216 | mandos-options.xml \ |
| 156 | overview.xml legalnotice.xml | |
| 157 | $(DOCBOOKTOHTML) | |
| 158 | 16 | |
| 159 | 217 | # Update all these files with version number $(version) |
| 160 | common.ent: Makefile | |
| 161 | 398 | $(strip $(SED) --in-place \ |
| 162 | 318 | --expression='s/^\(<!ENTITY version "\)[^"]*">$$/\1$(version)">/' \ |
| 163 | 398 | $@) |
| 164 | 217 | |
| 165 | mandos: Makefile | |
| 166 | 398 | $(strip $(SED) --in-place \ |
| 167 | 235 | --expression='s/^\(version = "\)[^"]*"$$/\1$(version)"/' \ |
| 168 | 398 | $@) |
| 169 | 217 | |
| 170 | mandos-keygen: Makefile | |
| 171 | 398 | $(strip $(SED) --in-place \ |
| 172 | 235 | --expression='s/^\(VERSION="\)[^"]*"$$/\1$(version)"/' \ |
| 173 | 398 | $@) |
| 174 | 217 | |
| 175 | 24.1.121 | mandos-ctl: Makefile |
| 176 | 398 | $(strip $(SED) --in-place \ |
| 177 | 240 | --expression='s/^\(version = "\)[^"]*"$$/\1$(version)"/' \ |
| 178 | 398 | $@) |
| 179 | 240 | |
| 180 | 233 | mandos.lsm: Makefile |
| 181 | 398 | $(strip $(SED) --in-place \ |
| 182 | 235 | --expression='s/^\(Version:\).*/\1\t$(version)/' \ |
| 183 | 398 | $@) |
| 184 | $(strip $(SED) --in-place \ | |
| 185 | 235 | --expression='s/^\(Entered-date:\).*/\1\t$(shell date --rfc-3339=date --reference=Makefile)/' \ |
| 186 | 398 | $@) |
| 187 | $(strip $(SED) --in-place \ | |
| 188 | 255 | --expression='s/\(mandos_\)[0-9.]\+\(\.orig\.tar\.gz\)/\1$(version)\2/' \ |
| 189 | 398 | $@) |
| 190 | 233 | |
| 191 | 398 | plugins.d/mandos-client: plugins.d/mandos-client.c |
| 192 | $(LINK.c) $(GNUTLS_LIBS) $(AVAHI_LIBS) $(GPGME_LIBS) $(strip\ | |
| 193 | ) $(COMMON) $^ $(LOADLIBES) $(LDLIBS) -o $@ | |
| 194 | 81 | |
| 195 | 216 | .PHONY : all doc html clean distclean run-client run-server install \ |
| 196 | 67 | install-server install-client uninstall uninstall-server \ |
| 197 | uninstall-client purge purge-server purge-client | |
| 198 | 47 | |
| 199 | 1 | clean: |
| 200 | 217 | -rm --force $(CPROGS) $(objects) $(htmldocs) $(DOCS) core |
| 201 | 47 | |
| 202 | distclean: clean | |
| 203 | mostlyclean: clean | |
| 204 | maintainer-clean: clean | |
| 205 | 104 | -rm --force --recursive keydir confdir |
| 206 | 47 | |
| 207 | 217 | check: all |
| 208 | 47 | ./mandos --check |
| 209 | ||
| 210 | 141 | # Run the client with a local config and key |
| 211 | 159 | run-client: all keydir/seckey.txt keydir/pubkey.txt |
| 212 | 74 | ./plugin-runner --plugin-dir=plugins.d \ |
| 213 | 141 | --config-file=plugin-runner.conf \ |
| 214 | 260 | --options-for=mandos-client:--seckey=keydir/seckey.txt,--pubkey=keydir/pubkey.txt \ |
| 215 | $(CLIENTARGS) | |
| 216 | 47 | |
| 217 | 104 | # Used by run-client |
| 218 | keydir/seckey.txt keydir/pubkey.txt: mandos-keygen | |
| 219 | install --directory keydir | |
| 220 | ./mandos-keygen --dir keydir --force | |
| 221 | ||
| 222 | # Run the server with a local config | |
| 223 | run-server: confdir/mandos.conf confdir/clients.conf | |
| 224 | 292 | ./mandos --debug --no-dbus --configdir=confdir $(SERVERARGS) |
| 225 | 104 | |
| 226 | # Used by run-server | |
| 227 | confdir/mandos.conf: mandos.conf | |
| 228 | install --directory confdir | |
| 229 | 160 | install --mode=u=rw,go=r $^ $@ |
| 230 | 104 | confdir/clients.conf: clients.conf keydir/seckey.txt |
| 231 | install --directory confdir | |
| 232 | 166 | install --mode=u=rw $< $@ |
| 233 | 104 | # Add a client password |
| 234 | ./mandos-keygen --dir keydir --password >> $@ | |
| 235 | 67 | |
| 236 | 182 | install: install-server install-client-nokey |
| 237 | 67 | |
| 238 | 235 | install-html: html |
| 239 | 217 | install --directory $(htmldir) |
| 240 | install --mode=u=rw,go=r --target-directory=$(htmldir) \ | |
| 241 | $(htmldocs) | |
| 242 | 216 | |
| 243 | 67 | install-server: doc |
| 244 | 185 | install --directory $(CONFDIR) |
| 245 | 160 | install --mode=u=rwx,go=rx mandos $(PREFIX)/sbin/mandos |
| 246 | 162 | install --mode=u=rw,go=r --target-directory=$(CONFDIR) \ |
| 247 | mandos.conf | |
| 248 | 166 | install --mode=u=rw --target-directory=$(CONFDIR) \ |
| 249 | 67 | clients.conf |
| 250 | 175 | install --mode=u=rwx,go=rx init.d-mandos \ |
| 251 | $(DESTDIR)/etc/init.d/mandos | |
| 252 | install --mode=u=rw,go=r default-mandos \ | |
| 253 | $(DESTDIR)/etc/default/mandos | |
| 254 | 200 | if [ -z $(DESTDIR) ]; then \ |
| 255 | update-rc.d mandos defaults 25 15;\ | |
| 256 | fi | |
| 257 | 67 | gzip --best --to-stdout mandos.8 \ |
| 258 | 74 | > $(MANDIR)/man8/mandos.8.gz |
| 259 | 67 | gzip --best --to-stdout mandos.conf.5 \ |
| 260 | 74 | > $(MANDIR)/man5/mandos.conf.5.gz |
| 261 | 67 | gzip --best --to-stdout mandos-clients.conf.5 \ |
| 262 | 74 | > $(MANDIR)/man5/mandos-clients.conf.5.gz |
| 263 | 67 | |
| 264 | 182 | install-client-nokey: all doc |
| 265 | 185 | install --directory $(PREFIX)/lib/mandos $(CONFDIR) |
| 266 | install --directory --mode=u=rwx $(KEYDIR) \ | |
| 267 | 162 | $(PREFIX)/lib/mandos/plugins.d |
| 268 | 170 | if [ "$(CONFDIR)" != "$(PREFIX)/lib/mandos" ]; then \ |
| 269 | 166 | install --mode=u=rwx \ |
| 270 | 199 | --directory "$(CONFDIR)/plugins.d"; \ |
| 271 | 166 | fi |
| 272 | 162 | install --mode=u=rwx,go=rx \ |
| 273 | --target-directory=$(PREFIX)/lib/mandos plugin-runner | |
| 274 | 160 | install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \ |
| 275 | 74 | mandos-keygen |
| 276 | 160 | install --mode=u=rwx,go=rx \ |
| 277 | 74 | --target-directory=$(PREFIX)/lib/mandos/plugins.d \ |
| 278 | 67 | plugins.d/password-prompt |
| 279 | 160 | install --mode=u=rwxs,go=rx \ |
| 280 | 74 | --target-directory=$(PREFIX)/lib/mandos/plugins.d \ |
| 281 | 171 | plugins.d/mandos-client |
| 282 | 208 | install --mode=u=rwxs,go=rx \ |
| 283 | 160 | --target-directory=$(PREFIX)/lib/mandos/plugins.d \ |
| 284 | plugins.d/usplash | |
| 285 | 205 | install --mode=u=rwxs,go=rx \ |
| 286 | --target-directory=$(PREFIX)/lib/mandos/plugins.d \ | |
| 287 | plugins.d/splashy | |
| 288 | 214 | install --mode=u=rwxs,go=rx \ |
| 289 | --target-directory=$(PREFIX)/lib/mandos/plugins.d \ | |
| 290 | plugins.d/askpass-fifo | |
| 291 | 67 | install initramfs-tools-hook \ |
| 292 | 175 | $(INITRAMFSTOOLS)/hooks/mandos |
| 293 | 185 | install --mode=u=rw,go=r initramfs-tools-hook-conf \ |
| 294 | 175 | $(INITRAMFSTOOLS)/conf-hooks.d/mandos |
| 295 | 74 | install initramfs-tools-script \ |
| 296 | 302 | $(INITRAMFSTOOLS)/scripts/init-premount/mandos |
| 297 | 160 | install --mode=u=rw,go=r plugin-runner.conf $(CONFDIR) |
| 298 | 67 | gzip --best --to-stdout mandos-keygen.8 \ |
| 299 | 74 | > $(MANDIR)/man8/mandos-keygen.8.gz |
| 300 | gzip --best --to-stdout plugin-runner.8mandos \ | |
| 301 | > $(MANDIR)/man8/plugin-runner.8mandos.gz | |
| 302 | 67 | gzip --best --to-stdout plugins.d/password-prompt.8mandos \ |
| 303 | 74 | > $(MANDIR)/man8/password-prompt.8mandos.gz |
| 304 | 171 | gzip --best --to-stdout plugins.d/mandos-client.8mandos \ |
| 305 | > $(MANDIR)/man8/mandos-client.8mandos.gz | |
| 306 | 225 | gzip --best --to-stdout plugins.d/usplash.8mandos \ |
| 307 | > $(MANDIR)/man8/usplash.8mandos.gz | |
| 308 | gzip --best --to-stdout plugins.d/splashy.8mandos \ | |
| 309 | > $(MANDIR)/man8/splashy.8mandos.gz | |
| 310 | 226 | gzip --best --to-stdout plugins.d/askpass-fifo.8mandos \ |
| 311 | > $(MANDIR)/man8/askpass-fifo.8mandos.gz | |
| 312 | 182 | |
| 313 | install-client: install-client-nokey | |
| 314 | 166 | # Post-installation stuff |
| 315 | 160 | -$(PREFIX)/sbin/mandos-keygen --dir "$(KEYDIR)" |
| 316 | 67 | update-initramfs -k all -u |
| 317 | 160 | echo "Now run mandos-keygen --password --dir $(KEYDIR)" |
| 318 | 67 | |
| 319 | uninstall: uninstall-server uninstall-client | |
| 320 | ||
| 321 | 160 | uninstall-server: |
| 322 | 74 | -rm --force $(PREFIX)/sbin/mandos \ |
| 323 | $(MANDIR)/man8/mandos.8.gz \ | |
| 324 | $(MANDIR)/man5/mandos.conf.5.gz \ | |
| 325 | $(MANDIR)/man5/mandos-clients.conf.5.gz | |
| 326 | 162 | update-rc.d -f mandos remove |
| 327 | 163 | -rmdir $(CONFDIR) |
| 328 | 67 | |
| 329 | uninstall-client: | |
| 330 | 74 | # Refuse to uninstall client if /etc/crypttab is explicitly configured |
| 331 | # to use it. | |
| 332 | ! grep --regexp='^ *[^ #].*keyscript=[^,=]*/mandos/' \ | |
| 333 | 175 | $(DESTDIR)/etc/crypttab |
| 334 | 74 | -rm --force $(PREFIX)/sbin/mandos-keygen \ |
| 335 | $(PREFIX)/lib/mandos/plugin-runner \ | |
| 336 | $(PREFIX)/lib/mandos/plugins.d/password-prompt \ | |
| 337 | 171 | $(PREFIX)/lib/mandos/plugins.d/mandos-client \ |
| 338 | 166 | $(PREFIX)/lib/mandos/plugins.d/usplash \ |
| 339 | 205 | $(PREFIX)/lib/mandos/plugins.d/splashy \ |
| 340 | 226 | $(PREFIX)/lib/mandos/plugins.d/askpass-fifo \ |
| 341 | 175 | $(INITRAMFSTOOLS)/hooks/mandos \ |
| 342 | $(INITRAMFSTOOLS)/conf-hooks.d/mandos \ | |
| 343 | 302 | $(INITRAMFSTOOLS)/scripts/init-premount/mandos \ |
| 344 | 74 | $(MANDIR)/man8/plugin-runner.8mandos.gz \ |
| 345 | $(MANDIR)/man8/mandos-keygen.8.gz \ | |
| 346 | $(MANDIR)/man8/password-prompt.8mandos.gz \ | |
| 347 | 225 | $(MANDIR)/man8/usplash.8mandos.gz \ |
| 348 | $(MANDIR)/man8/splashy.8mandos.gz \ | |
| 349 | 226 | $(MANDIR)/man8/askpass-fifo.8mandos.gz \ |
| 350 | 171 | $(MANDIR)/man8/mandos-client.8mandos.gz |
| 351 | 74 | -rmdir $(PREFIX)/lib/mandos/plugins.d $(CONFDIR)/plugins.d \ |
| 352 | 166 | $(PREFIX)/lib/mandos $(CONFDIR) $(KEYDIR) |
| 353 | 74 | update-initramfs -k all -u |
| 354 | 67 | |
| 355 | purge: purge-server purge-client | |
| 356 | ||
| 357 | purge-server: uninstall-server | |
| 358 | 162 | -rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf \ |
| 359 | 175 | $(DESTDIR)/etc/default/mandos \ |
| 360 | $(DESTDIR)/etc/init.d/mandos \ | |
| 361 | $(DESTDIR)/var/run/mandos.pid | |
| 362 | 74 | -rmdir $(CONFDIR) |
| 363 | 67 | |
| 364 | purge-client: uninstall-client | |
| 365 | 160 | -shred --remove $(KEYDIR)/seckey.txt |
| 366 | 161 | -rm --force $(CONFDIR)/plugin-runner.conf \ |
| 367 | $(KEYDIR)/pubkey.txt $(KEYDIR)/seckey.txt | |
| 368 | 160 | -rmdir $(KEYDIR) $(CONFDIR)/plugins.d $(CONFDIR) |
Loggerhead is a web-based interface for Bazaar branches