+++ /dev/null
-common.lib.o: common.lib.c
-dispatch_useradd.lib.o: dispatch_useradd.lib.c dispatch_useradd.lib.h
-subu-mk-0.lib.o: subu-mk-0.lib.c subu-mk-0.lib.h
-subu-config.lib.o: subu-config.lib.c subu-config.lib.h
-dispatch_exec.lib.o: dispatch_exec.lib.c dispatch_exec.lib.h
-dbprintf.lib.o: dbprintf.lib.c dbprintf.lib.h
-dispatch_f.lib.o: dispatch_f.lib.c dispatch_f.lib.h
-subu-number.cli.o: subu-number.cli.c subu-number.cli.h
-subu-mk-0.cli.o: subu-mk-0.cli.c subu-mk-0.lib.h
-subu-init.cli.o: subu-init.cli.c subu-init.cli.h
-
-subu-init : subu-init.cli.o . /libsubu.a
- g++ -o subu-init subu-init.cli.o -L. -lsubu
-
-subu-mk-0 : subu-mk-0.cli.o . /libsubu.a
- g++ -o subu-mk-0 subu-mk-0.cli.o -L. -lsubu
-
-subu-number : subu-number.cli.o . /libsubu.a
- g++ -o subu-number subu-number.cli.o -L. -lsubu
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-typedef unsigned int uint;
-#define INTERFACE 0
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-int dbprintf(const char *format,...);
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-int dbprintf(const char *format,...);
-int dispatch_exec(char **argv,char **envp);
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-int dispatch_f_euid_egid(char *fname,int(*f)(void *arg),void *f_arg,uid_t euid,gid_t egid);
-int dbprintf(const char *format,...);
-int dispatch_f(char *fname,int(*f)(void *arg),void *f_arg);
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-typedef unsigned int uint;
-int dispatch_exec(char **argv,char **envp);
-struct dispatch_useradd_ret_t dispatch_useradd(char **argv,char **envp);
+++ /dev/null
-
-# a single space literal, for example if you wanted to subsitute commas to
-# spaces: $(subst $(space),;,$(string)) we ran into this out of a need to send
-# multiple separate command arguments to a shell script from one variable value
-blank :=
-space :=$(blank) $(blank)
-
-# some versions of Linux need a -e option others complain if there is a -e .. and it isn't the binary for echo ..
-ECHO= echo
-#ECHO= echo -e
-
-SHELL=/bin/bash
-SCRATCHDIR= 5_scratch # clean and others put things here
-CC=gcc
-CFLAGS="-std=c11 -fPIC -I. -ggdb -DDEBUG"
-LIB="libsubu.a"
-LIBPATH="." #no trailing slash
-LINKFLAGS="-L. -lsubu"
-
-SOURCES_LIB= $(wildcard *.lib.c)
-SOURCES_CLI= $(wildcard *.cli.c)
-SOURCES= $(SOURCES_LIB) $(SOURCES_CLI)
-
-OBJECTS_LIB= $(patsubst %.c, %.o, $(SOURCES_LIB))
-OBJECTS_CLI= $(patsubst %.c, %.o, $(SOURCES_CLI))
-OBJECTS= $(OBJECTS_LIB) $(OBJECTS_CLI)
-
-# sort causes compiles to go in lexical order by file name, this is used to order the tests e.g.
-EXECS= $(sort $(patsubst %.cli.c, %, $(wildcard *.cli.c)))
-
-version:
- @echo '---- make $@:------------------------------------------------------------'
- @echo `pwd`'>'
- @echo makefile version 2.0
- @echo "CC: " $(CC)
- @echo "CFLAGS: " $(CFLAGS)
- @echo "LIB: " $(LIB)
- @echo "LIBPATH: " $(LIBPATH)
- @echo "LINKFLAGS: " $(LINKFLAGS)
- @echo '______end make $@_____'
-
-# safe to run this in an already setup or partially setup directory
-setup:
- @echo '---- make $@:------------------------------------------------------------'
- @echo `pwd`'>'
- if [ ! -e $(SCRATCHDIR) ]; then mkdir $(SCRATCHDIR); fi
- if [ ! -e 1_tests ]; then mkdir 1_tests; fi
- if [ ! -e 1_try ]; then mkdir 1_try; fi
- if [ ! -e 2_bin ]; then mkdir 2_bin; fi
- if [ ! -e 3_documents ]; then mkdir 3_documents; fi
- if [ ! -e 3_to_do.txt ]; then touch 3_to_do.txt; fi
- if [ ! -e 5_deprecated ]; then mkdir 5_deprecated; fi
- @echo '______end make $@_____'
-
-
-deps:
- @echo '---- make $@:------------------------------------------------------------'
- @echo `pwd`'>'
- $(CC) $(CFLAGS) -MM $(SOURCES) 1> 2_makefile_deps
- for i in $(EXECS) ; do\
- echo >> 2_makefile_deps;\
- $(ECHO) "$$i : $$i.cli.o" >> 2_makefile_deps;\
- $(ECHO) " $(CC) -o $$i $$i.cli.o" >> 2_makefile_deps;\
- done
- @echo '______end make $@_____'
-
-lib: clear_test_flags
- @echo '---- make $@:------------------------------------------------------------'
- @echo `pwd`'>'
- if [ ! -e 2_makefile_deps ]; then make deps; fi # the user must delete 2_makefile_deps if deps change!
- make sub_lib
- @echo '______end make $@_____'
-
-sub_lib: $(LIB)
-
-
-$(LIBPATH)/$(LIB):
- @if [ "$(LIBPATH)" != "$(APPLICATION_BASE)" ]; then \
- echo "LIBPATH: " "$(LIBPATH)";\
- echo "$APPLICATION_BASE: " "$(APPLICATION_BASE)";\
- echo "The library path is not the same as the application base so don't know how to make it.";\
- fi
- [ "$(LIBPATH)" == "$(APPLICATION_BASE)" ]
- cd $(APPLICATION_BASE); make lib
-
-execs: $(LIBPATH)/$(LIB)
- @echo '---- make $@:------------------------------------------------------------'
- @echo `pwd`'>'
- if [ ! -e 2_makefile_deps ]; then make deps; fi
- make sub_execs
- # for i in $(EXEC_OBJECTS); do rm $$i; done
- @echo '______end make $@_____'
-
-sub_execs: $(EXECS)
-
-install: all
- @echo '---- make $@:------------------------------------------------------------'
- @echo `pwd`'>'
- @if[ ! -e 1_tests_passed ]; then echo "can't install as tests have not passed"; fi
- @test -e test_passed
- for i in $(BIN); do cp $$i $(RT_BASE)/bin; done
- cp $(LIB) $(RT_BASE)/lib
- cp $(APPLICATION).h $(RT_BASE)/include
- if [ -d $(APPLICATION) ]; then cp $(APPLICATION)/*.h $(RT_BASE)/include/$(APPLICATION); fi
- @echo '______end make $@_____'
-
-# "make lib" "make execs" now cleans up the .o files afterward, so clean should not be needed often
-# clean works on the current working directory, dist_clean also descends into 1_tests and 1_try
-#
-clean:
- @echo '---- make $@:------------------------------------------------------------'
- @echo `pwd`'>'
- for i in $(wildcard *~); do mv $$i $(SCRATCHDIR); done
- for i in $(wildcard *.lib.o) $(wildcard *.exl.o) $(wildcard *.ex.o); do rm $$i; done
- if [ -f 2_makefile_deps ]; then rm 2_makefile_deps; fi
- if [ -f $(LIB) ]; then mv $(LIB) 5_scratch; fi
- for i in $(EXEC_WL) $(EXEC); do if [ -e $$i ]; then rm $$i; fi; done
- @echo '______end make $@_____'
-
-
-# dist_clean is used to clean thing up before doing a checkin, hg add should be safe after a dist_clean
-# dist_clean will recurse into the include directory = $(APPLICATION), tests, and try if they are present
-#
-dist_clean:
- @echo '---- make $@:------------------------------------------------------------'
- @echo `pwd`'>'
- make clean
- if [ -d $(APPLICATION) ]; then cd $(APPLICATION); make clean; fi
- if [ -d 1_tests ]; then cd 1_tests; make clean; fi
- if [ -d 1_try ] ; then cd 1_try; make clean; fi
- @echo '______end make $@_____'
-
-
--include 2_makefile_deps
-
-# recipe for making object files:
-#
-%.o : %.cc
- $(CC) $(CFLAGS) -c $<
-
-
-#
-$(LIB) : $(LIB_OBJECTS)
- ar rcs $(LIB) $(LIB_OBJECTS)
-# for i in $(LIB_OBJECTS); do rm $$i; done
-
-
-
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-#include <sqlite3.h>
-typedef unsigned int uint;
-int subu_number(sqlite3 *db,uint&subu_number);
-int schema(sqlite3 *db,uint max_subu_number);
-extern char config_file[];
-#define ERR_CONFIG_FILE -1
-#define INTERFACE 0
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-#include <sqlite3.h>
-#define ERR_CONFIG_FILE -1
-typedef unsigned int uint;
-int schema(sqlite3 *db,uint max_subu_number);
-extern char config_file[];
-int main();
-int main();
-int main(int argc,char **argv,char **env);
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-#include <sqlite3.h>
-extern char config_file[];
-int subu_mk_0(char *subuname,char *config_file);
-int main();
-int main();
-int main(int argc,char **argv,char **env);
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-int dispatch_exec(char **argv,char **envp);
-struct dispatch_useradd_ret_t dispatch_useradd(char **argv,char **envp);
-int dispatch_f_euid_egid(char *fname,int(*f)(void *arg),void *f_arg,uid_t euid,gid_t egid);
-#include <sqlite3.h>
-#define ERR_CONFIG_FILE -1
-int dbprintf(const char *format,...);
-extern char config_file[];
-int subu_mk_0(char *subuname,char *config_file);
-int masteru_makes_subuhome(void *arg);
-int allowed_subuname(char *subuname);
-typedef unsigned int uint;
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-#include <sqlite3.h>
-typedef unsigned int uint;
-int subu_number(sqlite3 *db,uint&subu_number);
-#define ERR_CONFIG_FILE -1
-extern char config_file[];
-int main();
-int main();
-int main(int argc,char **argv,char **env);
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-typedef unsigned int uint;
-#define INTERFACE 0
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-int dbprintf(const char *format,...);
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-int dbprintf(const char *format,...);
-int dispatch_exec(char **argv,char **envp);
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-int dispatch_f_euid_egid(char *fname,int(*f)(void *arg),void *f_arg,uid_t euid,gid_t egid);
-int dbprintf(const char *format,...);
-int dispatch_f(char *fname,int(*f)(void *arg),void *f_arg);
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-int dispatch_exec(char **argv,char **envp);
-#include <sys/types.h>
-#include <pwd.h>
-typedef struct dispatch_useradd_ret_t dispatch_useradd_ret_t;
-typedef unsigned int uint;
-struct dispatch_useradd_ret_t {
- uint error;
- struct passwd *pw_record;
-};
-struct dispatch_useradd_ret_t dispatch_useradd(char **argv,char **envp);
-#define ERR_DISPATCH_USERADD_PWREC 3
-#define ERR_DISPATCH_USERADD_DISPATCH 2
-#define ERR_DISPATCH_USERADD_ARGC 1
-#define INTERFACE 0
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-#include <sqlite3.h>
-typedef unsigned int uint;
-int subu_number(sqlite3 *db,uint **subu_number);
-int schema(sqlite3 *db,uint max_subu_number);
-extern char config_file[];
-#define ERR_CONFIG_FILE -1
-#define INTERFACE 0
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-#include <sqlite3.h>
-#define ERR_CONFIG_FILE -1
-typedef unsigned int uint;
-int schema(sqlite3 *db,uint max_subu_number);
-extern char config_file[];
-int main();
-int main();
-int main(int argc,char **argv,char **env);
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-#include <sqlite3.h>
-extern char config_file[];
-int subu_mk_0(char *subuname,char *config_file);
-int main();
-int main();
-int main(int argc,char **argv,char **env);
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-int dispatch_exec(char **argv,char **envp);
-#include <sys/types.h>
-#include <pwd.h>
-typedef struct dispatch_useradd_ret_t dispatch_useradd_ret_t;
-typedef unsigned int uint;
-struct dispatch_useradd_ret_t {
- uint error;
- struct passwd *pw_record;
-};
-struct dispatch_useradd_ret_t dispatch_useradd(char **argv,char **envp);
-int dispatch_f_euid_egid(char *fname,int(*f)(void *arg),void *f_arg,uid_t euid,gid_t egid);
-int dbprintf(const char *format,...);
-#include <sqlite3.h>
-extern char config_file[];
-int subu_mk_0(char *subuname,char *config_file);
-int masteru_makes_subuhome(void *arg);
-int allowed_subuname(char *subuname);
-#define ERR_SUBU_MK_0_SETFACL 9
-#define ERR_SUBU_MK_0_FAILED_USERADD 8
-#define ERR_SUBU_MK_0_BUG_SSS 7
-#define ERR_SUBU_MK_0_FAILED_MKDIR_SUBU 6
-#define ERR_SUBU_MK_0_MK_SUBUHOME 5
-#define ERR_SUBU_MK_0_MALLOC 4
-#define ERR_SUBU_MK_0_BAD_MASTERU_HOME 3
-#define ERR_SUBU_MK_0_SETUID_ROOT 2
-#define ERR_SUBU_MK_0_CONFIG_FILE 1
-#define INTERFACE 0
+++ /dev/null
-/* \aThis file was automatically generated. Do not edit! */
-#undef INTERFACE
-#include <sqlite3.h>
-typedef unsigned int uint;
-int subu_number(sqlite3 *db,uint **subu_number);
-#define ERR_CONFIG_FILE -1
-extern char config_file[];
-int main();
-int main();
-int main(int argc,char **argv,char **env);