From ed06a80cc647b1da978f961eca6ca3ff78c1c9ff Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Tue, 24 Oct 2017 19:17:56 +0100 Subject: [PATCH] fishdescriptor: build system (nugatory) Signed-off-by: Ian Jackson --- debian/changelog | 2 +- debian/control | 6 +++- debian/rules | 3 +- fishdescriptor/.gitignore | 1 - fishdescriptor/Makefile | 60 +++++++++++++++++++++++++++++++-------- settings.make | 2 ++ 6 files changed, 58 insertions(+), 16 deletions(-) diff --git a/debian/changelog b/debian/changelog index f93abeb..1966daf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,7 +3,7 @@ chiark-utils (5.0.3~citrix3) unstable; urgency=medium fishdescriptor: * New utility. - -- + -- Ian Jackson Tue, 24 Oct 2017 18:10:43 +0100 chiark-utils (5.0.3~citrix2) unstable; urgency=medium diff --git a/debian/control b/debian/control index 3e09554..f9c4158 100644 --- a/debian/control +++ b/debian/control @@ -26,13 +26,17 @@ Priority: extra Conflicts: chiark-named-conf, sync-accounts Replaces: chiark-named-conf, sync-accounts Depends: ${misc:Depends} -Suggests: tcl8.4 +Suggests: tcl8.4, python3, gdb Architecture: all Description: chiark system administration scripts This package contains a number of small administration scripts used by chiark.greenend.org.uk and other systems belonging to the Sinister Greenend Organisation. Featuring: . + fishdescriptor: a tool for extracting a file descriptor from + another (non-cooperating) process and giving it to you (or + examining it). Requires gdb and python3. + . chiark-named-conf: a tool for managing nameserver configurations and checking for suspected DNS problems. Its main functions are to check that delegations are appropriate and working, that secondary diff --git a/debian/rules b/debian/rules index 32f3129..cc926b8 100755 --- a/debian/rules +++ b/debian/rules @@ -3,7 +3,7 @@ SHELL=/bin/bash subdirs_build_arch= cprogs -subdirs_nobuild=backup sync-accounts scripts +subdirs_nobuild=backup sync-accounts scripts fishdescriptor package= chiark-utils packages_indep= chiark-backup chiark-scripts packages_arch= chiark-rwbuffer chiark-really chiark-utils-bin @@ -52,6 +52,7 @@ binary-prep: # mv $t/cprogs $t/chiark-utils-bin # + cp -a debian/tmp/fishdescriptor/* debian/tmp/scripts/. cp -a debian/tmp/sync-accounts/* debian/tmp/scripts/. rm -r debian/tmp/sync-accounts mv debian/tmp/scripts debian/tmp/chiark-scripts diff --git a/fishdescriptor/.gitignore b/fishdescriptor/.gitignore index e6e11d4..0d20b64 100644 --- a/fishdescriptor/.gitignore +++ b/fishdescriptor/.gitignore @@ -1,2 +1 @@ -libfishdescriptor-donate.so.* *.pyc diff --git a/fishdescriptor/Makefile b/fishdescriptor/Makefile index e6b493a..9cf2ba1 100644 --- a/fishdescriptor/Makefile +++ b/fishdescriptor/Makefile @@ -1,17 +1,53 @@ -OPTIMISE = -O2 -DEBUG = -g +# Makefile -CFLAGS = -Wall -Werror -Wwrite-strings -CFLAGS += $(OPTIMISE) $(DEBUG) +# This file is part of chiark-utils, a collection of useful programs +# used on chiark.greenend.org.uk. +# +# This file is: +# Copyright (C) 2017 Ian Jackson +# Copyright (C) 2001 Ian Jackson +# +# This is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 3, or (at your option) any later version. +# +# This is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, consult the Free Software Foundation's +# website at www.fsf.org, or the GNU Project website at www.gnu.org. -MAJOR=1 -MINOR=0 -LIBCANON= libfishdescriptor-donate.so.$(MAJOR) -LIBTARGET= $(LIBCANON).$(MINOR) +include ../settings.make -all: $(LIBTARGET) +SCRIPTS= fishdescriptor +MODULES_23= __init__ indonor +MODULES_3= fish -$(LIBTARGET): donate.o - $(CC) -shared -Wl,-soname -Wl,$(LIBCANON) -o $@ $< $(LIBS) +py=py/fishdescriptor +d2=$(python2dir)/fishdescriptor +d3=$(python3dir)/fishdescriptor -donate.o: donate.c +all: + +install: + $(INSTALL_DIRECTORY) $(bindir) $(d2) $(d3) + set -e; for f in $(SCRIPTS); do \ + $(INSTALL_SCRIPT) $$f $(bindir)/$$f; done + set -e; for f in $(MODULES_3); do \ + $(INSTALL_SHARE) $(py)/$$f.py $(d3)/.; done + set -e; for f in $(MODULES_23); do \ + $(INSTALL_SHARE) $(py)/$$f.py $(d3)/.; \ + ln $(d3)/$$f.py $(d2)/.; done + +install-docs: + +install-examples: + +clean: + rm -f *~ ./#*# + find -name \*.pyc -print0 | xargs -0r rm -- + +distclean realclean: clean diff --git a/settings.make b/settings.make index ff917b1..495b2b3 100644 --- a/settings.make +++ b/settings.make @@ -44,6 +44,8 @@ sbindir=$(prefix)/sbin sharedir=$(prefix)/share/$(us) perl5dir=$(prefix)/share/perl5 txtdocdir=$(prefix)/share/doc/$(us) +python2dir=$(prefix)/lib/python2.7/dist-packages +python3dir=$(prefix)/lib/python3/dist-packages exampledir=$(txtdocdir)/examples vardir=$(varlib)/$(us) mandir=${prefix}/man -- 2.30.2