add license headers and COPYING
authorRalf Jung <post@ralfj.de>
Sun, 22 Feb 2015 19:01:07 +0000 (20:01 +0100)
committerRalf Jung <post@ralfj.de>
Sun, 22 Feb 2015 19:01:07 +0000 (20:01 +0100)
COPYING [new file with mode: 0644]
git_mirror.py
githook.py
webhook-core.py
webhook.py

diff --git a/COPYING b/COPYING
new file mode 100644 (file)
index 0000000..bb97c92
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,23 @@
+Copyright (c) 2015, Ralf Jung <post@ralfj.de>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer. 
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
index 9b5b528ce560c307bc0dd46d31713c01272315e9..ab8699e2e4f89700f94ad49343fe111acef31635 100644 (file)
@@ -1,3 +1,26 @@
+# Copyright (c) 2015, Ralf Jung <post@ralfj.de>
+# All rights reserved.
+# 
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# 
+# 1. Redistributions of source code must retain the above copyright notice, this
+#    list of conditions and the following disclaimer. 
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+#    this list of conditions and the following disclaimer in the documentation
+#    and/or other materials provided with the distribution.
+# 
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#==============================================================================
 import sys, os, subprocess
 import configparser, itertools, json, re
 import email.mime.text, email.utils, smtplib
 import sys, os, subprocess
 import configparser, itertools, json, re
 import email.mime.text, email.utils, smtplib
index b5286442edda8b93ac9d3c90240df073268fcd07..3d546be5843776042141674149de7b9fef04592f 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/python3
 #!/usr/bin/python3
-# Copyright (c) 2014, Ralf Jung <post@ralfj.de>
+# Copyright (c) 2015, Ralf Jung <post@ralfj.de>
 # All rights reserved.
 # 
 # Redistribution and use in source and binary forms, with or without
 # All rights reserved.
 # 
 # Redistribution and use in source and binary forms, with or without
index 93b138cedadcf6b37944f704729a62bb7fcb7717..bff1137f884e3481913b79301d41ba0557f93dfe 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/python3
 #!/usr/bin/python3
-# Copyright (c) 2014, Ralf Jung <post@ralfj.de>
+# Copyright (c) 2015, Ralf Jung <post@ralfj.de>
 # All rights reserved.
 # 
 # Redistribution and use in source and binary forms, with or without
 # All rights reserved.
 # 
 # Redistribution and use in source and binary forms, with or without
@@ -23,7 +23,7 @@
 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #==============================================================================
 
 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #==============================================================================
 
-# This is the hook called by git post-commit. It updats all mirrors to the status of the local repository.
+# This is the hook called by GitHub as webhook. It updats the local repository, and then all the other mirrors.
 import sys, traceback
 from git_mirror import *
 
 import sys, traceback
 from git_mirror import *
 
index 034427ab8eea8fa3f839cdeb6e0655a66fcec9a2..7935d8126169ef09c003438d5785f9046cd024aa 100755 (executable)
@@ -1,4 +1,32 @@
 #!/usr/bin/python3
 #!/usr/bin/python3
+# Copyright (c) 2015, Ralf Jung <post@ralfj.de>
+# All rights reserved.
+# 
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# 
+# 1. Redistributions of source code must retain the above copyright notice, this
+#    list of conditions and the following disclaimer. 
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+#    this list of conditions and the following disclaimer in the documentation
+#    and/or other materials provided with the distribution.
+# 
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#==============================================================================
+
+# This is the CGI script receiving GitHub webhooks.
+# You may have to change the location of the "main" webhook script:
+webhook_core = "/home/git/git-mirror/webhook-core.py"
+#
 import urllib.request, urllib.parse, json, os, sys
 
 def is_github(remote_addr):
 import urllib.request, urllib.parse, json, os, sys
 
 def is_github(remote_addr):
@@ -19,5 +47,4 @@ repository = query.get('repository', [])
 repository = repository[0] if len(repository) else ''
 
 # execute the actual script
 repository = repository[0] if len(repository) else ''
 
 # execute the actual script
-webhook_core = "/home/ralf/git-mirror/webhook-core.py"
 os.execlp("sudo", "sudo", "-n", "-u", "git", webhook_core, repository)
 os.execlp("sudo", "sudo", "-n", "-u", "git", webhook_core, repository)