2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								PYTESTS  =  $( wildcard test/test_*.py)  
						 
					
						
							
								
									
										
										
										
											2024-11-11 21:30:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								IMAGE  =  docker.io/yadm/testbed:2024-11-11 
						 
					
						
							
								
									
										
										
										
											2022-08-27 09:39:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								OCI  =  docker 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-09-04 16:56:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.PHONY :  all  
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								all :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@$( MAKE)  usage |  less
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 00:38:17 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Display usage for all make targets
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								.PHONY :  usage  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								usage :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo 'make TARGET [option=value, ...]' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo 'TESTING' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '  make test [testargs=ARGS]' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '    - Run all tests. "testargs" can specify a single string of arguments' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '      for py.test.' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '  make <testfile>.py [testargs=ARGS]' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '    - Run tests from a specific test file. "testargs" can specify a' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '      single string of arguments for py.test.' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '  make testhost [version=VERSION]' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '    - Create an ephemeral container for doing adhoc yadm testing. The' 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-01 23:05:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '      working copy version of yadm will be used unless "version" is' 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '      specified. "version" can be set to any commit, branch, tag, etc.' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '      The targeted "version" will be retrieved from the repo, and' 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-01 23:05:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '      linked into the container as a local volume.' 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
									
										
										
										
											2019-03-01 04:59:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '  make scripthost [version=VERSION]' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '    - Create an ephemeral container for demonstrating a bug. After' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '      exiting the shell, a log of the commands used to illustrate the' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '      problem will be written to the file "script.txt". This file can' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '      be useful to developers to make a repeatable test for the' 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-30 11:28:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '      problem. The version parameter works as for "testhost" above.' 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-01 04:59:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo 'LINTING' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '  make testenv' 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-07 14:26:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '    - Create a python virtual environment with the same dependencies' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo "      used by yadm's testbed environment. Creating and activating" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '      this environment might be useful if your editor does real time' 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '      linting of python files. After creating the virtual environment,' 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-07 14:26:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '      you can activate it by typing:' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '          source testenv/bin/activate' 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo 'MANPAGES' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '  make man' 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-07 14:26:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '    - View yadm.1 as a standard man page.' 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '  make man-wide' 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-07 14:26:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '    - View yadm.1 as a man page, using all columns of your display.' 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '  make man-ps' 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-07 14:26:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '    - Create a postscript version of the man page.' 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo 'FILE GENERATION' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '  make yadm.md' 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-07 14:26:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '    - Generate the markdown version of the man page (for viewing on' 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo '      the web).' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '  make contrib' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '    - Generate the CONTRIBUTORS file, from the repo history.' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
									
										
										
										
											2019-11-09 21:48:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo 'INSTALLATION' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '  make install PREFIX=<prefix>' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '    - Install yadm, manpage, etc. to <prefix>' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo 'UTILITIES' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '  make sync-clock' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '    - Reset the hardware clock for the docker hypervisor host. This' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '      can be useful for docker engine hosts which are not' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '      Linux-based.' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 00:38:17 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Make it possible to run make specifying a py.test test file
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								.PHONY :  $( PYTESTS )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$(PYTESTS) :  
						 
					
						
							
								
									
										
										
										
											2020-12-30 11:50:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@$( MAKE)  test  testargs = " $@   $( testargs) " 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								%.py :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@$( MAKE)  test  testargs = " -k  $@   $( testargs) " 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 00:38:17 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Run all tests with additional testargs
  
						 
					
						
							
								
									
										
										
										
											2016-03-24 00:18:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.PHONY :  test  
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								test :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@if [  -f /.yadmtestbed ] ;  then  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										cd  /yadm &&  \
 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-08 05:58:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										py.test -v $( testargs) ;  \
 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									else  \
 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-29 12:57:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$( MAKE)  -s require-docker &&  \
 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-27 09:39:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$( OCI)  run \
 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-30 11:52:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											--rm -t$( shell test  -t 0  &&  echo  i)  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											-v " $( CURDIR) :/yadm:ro "  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$( IMAGE)  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											make test  testargs = " $( testargs) " ;  \
 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									fi 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-07 13:16:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-12-30 11:01:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.PHONY :  .testyadm  
						 
					
						
							
								
									
										
										
										
											2021-01-01 23:05:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.testyadm :  version  ?= local  
						 
					
						
							
								
									
										
										
										
											2020-12-30 11:01:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.testyadm :  
						 
					
						
							
								
									
										
										
										
											2021-01-01 23:05:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@rm -f $@ 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-26 04:05:24 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@if [  " $( version) "  =  "local"  ] ;  then  \
 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-01 23:05:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										ln -sf yadm $@ ;  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  " Using local yadm ( $$ (git describe --tags --dirty)) " ;  \
 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-26 04:05:24 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									else  \
 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-30 11:01:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										git show $( version) :yadm > $@ ;  \
 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-01 23:05:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										echo  " Using yadm version  $$ (git describe --tags  $( version) ) " ;  \
 
							 
						 
					
						
							
								
									
										
										
										
											2020-11-26 04:05:24 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									fi 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-30 11:01:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@chmod a+x $@ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								.PHONY :  testhost  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								testhost :  require -docker  .testyadm  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo "Starting testhost" 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-27 09:39:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@$( OCI)  run \
 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-01 04:59:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										-w /root \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										--hostname testhost \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										--rm -it \
 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-30 11:01:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										-v " $( CURDIR) /.testyadm:/bin/yadm:ro "  \
 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-08 05:58:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$( IMAGE)  \
 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-01 04:59:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										bash -l
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								.PHONY :  scripthost  
						 
					
						
							
								
									
										
										
										
											2020-12-30 11:01:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								scripthost :  require -docker  .testyadm  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo "Starting scripthost \(recording script\)" 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-01 04:59:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@printf ''  > script.gz
							 
						 
					
						
							
								
									
										
										
										
											2022-08-27 09:39:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@$( OCI)  run \
 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-01 04:59:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										-w /root \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										--hostname scripthost \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										--rm -it \
 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-30 11:01:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										-v " $( CURDIR) /script.gz:/script.gz:rw "  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										-v " $( CURDIR) /.testyadm:/bin/yadm:ro "  \
 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-08 05:58:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$( IMAGE)  \
 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-01 04:59:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										bash -c "script /tmp/script -q -c 'bash -l'; gzip < /tmp/script > /script.gz" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
									
										
										
										
											2020-12-30 11:01:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo " Script saved to  $( CURDIR) /script.gz " 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-01 04:59:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								.PHONY :  testenv  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								testenv :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo 'Creating a local virtual environment in "testenv/"' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
									
										
										
										
											2020-12-30 20:43:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@rm -rf testenv
							 
						 
					
						
							
								
									
										
										
										
											2020-01-29 06:14:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									python3 -m venv --clear testenv
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									testenv/bin/pip3 install --upgrade pip setuptools
							 
						 
					
						
							
								
									
										
										
										
											2020-12-21 21:30:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									testenv/bin/pip3 install --upgrade -r test/requirements.txt; 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-30 20:43:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@for v in $$ ( sed -En -e 's:.*/yadm-([0-9.]+)$$:\1:p'  test/Dockerfile) ;  do  \
 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-30 11:22:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										git show $$ v:yadm > testenv/bin/yadm-$$ v;  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										chmod +x testenv/bin/yadm-$$ v;  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									done 
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo 'To activate this test environment type:' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@echo '  source testenv/bin/activate' 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-04 16:48:45 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-12-21 21:30:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.PHONY :  image  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								image :  
						 
					
						
							
								
									
										
										
										
											2022-08-27 09:39:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@$( OCI)  build -f test/Dockerfile . -t " $( IMAGE) " 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-21 21:30:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-09-04 16:56:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.PHONY :  man  
						 
					
						
							
								
									
										
										
										
											2015-07-17 00:38:17 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								man :  
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@groff -man -Tascii ./yadm.1 |  less
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								.PHONY :  man -wide  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								man-wide :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@man ./yadm.1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								.PHONY :  man -ps  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								man-ps :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@groff -man -Tps ./yadm.1 > yadm.ps
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								yadm.md :  yadm .1 
						 
					
						
							
								
									
										
										
										
											2024-11-24 19:51:45 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@groff -man -Tutf8 -Z ./yadm.1 |  grotty -c |  col -bx |  sed 's/^[A-Z]/## &/g'  |  sed '/YADM(1)/d'  > yadm.md
							 
						 
					
						
							
								
									
										
										
										
											2015-07-17 00:38:17 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.PHONY :  contrib  
						 
					
						
							
								
									
										
										
										
											2020-12-29 14:38:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								contrib :  SHELL  = /bin /bash  
						 
					
						
							
								
									
										
										
										
											2019-02-25 22:32:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								contrib :  
						 
					
						
							
								
									
										
										
										
											2020-12-29 14:38:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@echo -e "CONTRIBUTORS\n"  > CONTRIBUTORS
							 
						 
					
						
							
								
									
										
										
										
											2020-08-08 20:40:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@IFS= $$ '\n' ;  for  author in $$ ( git shortlog -ns master gh-pages develop dev-pages |  cut -f2) ;  do  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										git log master gh-pages develop dev-pages \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											--author= " $$ author "  --format= tformat: --numstat |  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											awk " {sum += \$ $1  + \$ $2 } END {print sum \"\t\" \" $$ author\"} " ;  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									done  |  sort -nr |  cut -f2 >> CONTRIBUTORS
							 
						 
					
						
							
								
									
										
										
										
											2018-07-11 12:50:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-11-09 21:48:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.PHONY :  install  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								install :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@[  -n " $( PREFIX) "  ]  ||  {  echo  "PREFIX is not set" ;  exit  1;  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									@{ \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										set  -e                                               ; \
 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-25 21:19:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										bin = " $( DESTDIR) $( PREFIX) /bin "                         ; \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										doc = " $( DESTDIR) $( PREFIX) /share/doc/yadm "              ; \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										man = " $( DESTDIR) $( PREFIX) /share/man/man1 "              ; \
 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-09 21:48:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										install -d " $$ bin "  " $$ doc "  " $$ man "                    ; \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										install -m 0755  yadm " $$ bin "                          ; \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										install -m 0644  yadm.1 " $$ man "                        ; \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										install -m 0644  CHANGES CONTRIBUTORS LICENSE " $$ doc "  ; \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										cp -r contrib " $$ doc "                                 ; \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-07-11 12:50:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								.PHONY :  sync -clock  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sync-clock :  
						 
					
						
							
								
									
										
										
										
											2022-08-27 09:39:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									$( OCI)  run --rm --privileged alpine hwclock -s
							 
						 
					
						
							
								
									
										
										
										
											2019-03-01 04:59:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								.PHONY :  require -docker  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								require-docker :  
						 
					
						
							
								
									
										
										
										
											2022-08-27 09:39:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									@if ! command  -v $( OCI)  > /dev/null 2>& 1;  then  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  "Sorry, this make target requires docker to be installed, to use another docker-compatible engine, like podman, re-run the make command adding OCI=podman" ;  \
 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-01 04:59:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										false;  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									fi