From patchwork Thu Sep 22 23:01:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lev Stipakov X-Patchwork-Id: 2792 Return-Path: Delivered-To: patchwork@openvpn.net Delivered-To: patchwork@openvpn.net Received: from director13.mail.ord1d.rsapps.net ([172.30.191.6]) by backend30.mail.ord1d.rsapps.net with LMTP id +JENNhh2LWMMUAAAIUCqbw (envelope-from ) for ; Fri, 23 Sep 2022 05:02:16 -0400 Received: from proxy16.mail.ord1d.rsapps.net ([172.30.191.6]) by director13.mail.ord1d.rsapps.net with LMTP id QEbuNRh2LWOSSgAA91zNiA (envelope-from ) for ; Fri, 23 Sep 2022 05:02:16 -0400 Received: from smtp23.gate.ord1d ([172.30.191.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by proxy16.mail.ord1d.rsapps.net with LMTPS id cPSmNRh2LWPzKgAAetu3IA (envelope-from ) for ; Fri, 23 Sep 2022 05:02:16 -0400 X-Spam-Threshold: 95 X-Spam-Score: 0 X-Spam-Flag: NO X-Virus-Scanned: OK X-Orig-To: openvpnslackdevel@openvpn.net X-Originating-Ip: [216.105.38.7] Authentication-Results: smtp23.gate.ord1d.rsapps.net; iprev=pass policy.iprev="216.105.38.7"; spf=pass smtp.mailfrom="openvpn-devel-bounces@lists.sourceforge.net" smtp.helo="lists.sourceforge.net"; dkim=fail (signature verification failed) header.d=sourceforge.net; dkim=fail (signature verification failed) header.d=sf.net; dkim=fail (signature verification failed) header.d=gmail.com; dmarc=fail (p=none; dis=none) header.from=gmail.com X-Suspicious-Flag: YES X-Classification-ID: 6b6a2792-3b1e-11ed-968e-525400bfb165-1-1 Received: from [216.105.38.7] ([216.105.38.7:60504] helo=lists.sourceforge.net) by smtp23.gate.ord1d.rsapps.net (envelope-from ) (ecelerity 4.2.38.62370 r(:)) with ESMTPS (cipher=DHE-RSA-AES256-GCM-SHA384) id F1/6E-04027-7167D236; Fri, 23 Sep 2022 05:02:16 -0400 Received: from [127.0.0.1] (helo=sfs-ml-2.v29.lw.sourceforge.com) by sfs-ml-2.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1obeZ5-0005BC-9g; Fri, 23 Sep 2022 09:01:43 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-2.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1obeZ2-0005Aw-GH for openvpn-devel@lists.sourceforge.net; Fri, 23 Sep 2022 09:01:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=buZAORQdEYoNWxE4S8OGuTDNZOOAVbh8FPNm9x9dq3w=; b=dCPGhsvtsfxbut711bQdERuBYf XO3vUYcqz4p14Qg7cxJfrJewWyWjnK4KbE1Ms8hbwWBhfC1jfOU17E1RXOYU9+dDoNDI49hMKTmjZ 4SSYujeV3Vlb0CdJ0+WXLaVxMjH7hdrNYITYZn87UuM1g1zYMhoVt7edPbVwSNMQR8TQ=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=buZAORQdEYoNWxE4S8OGuTDNZOOAVbh8FPNm9x9dq3w=; b=eXBI1e7QQStcGKVHvHHwUDDBwM S+KhSqje7iWiG1KZUirxZdM9dziGkUrxmJCPkR11/u+dZnEFS0ns2yzm0NY4BoP9gtHNVl9Ob5RBd ZeCFNX3DzIztHYNWXq3DgDN1Lcqhkt8CN6WMmz1BaC/Y/feJ0rAWgeE1Tl9T5z8RuRqA=; Received: from mail-lf1-f52.google.com ([209.85.167.52]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.95) id 1obeYy-0001ke-UU for openvpn-devel@lists.sourceforge.net; Fri, 23 Sep 2022 09:01:40 +0000 Received: by mail-lf1-f52.google.com with SMTP id a2so18765724lfb.6 for ; Fri, 23 Sep 2022 02:01:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=buZAORQdEYoNWxE4S8OGuTDNZOOAVbh8FPNm9x9dq3w=; b=cn2hCDNTby8JK6hGYF7osxefENk1zCg6Fb6DFJV6MP6Y1vp2MIw+u5htg9sBpf34Vo rLSHpjN1dXnRWtVL/D85zmkAPXjQlZJkd6LGTSvFBQ3qc3AOb53J3CukNbD0vOBxsg8W beGNc8l1vCbmut7VVdb9zxsUT3udetXWjimVgooAtDATYHWdVJJ1JMqlol0mi6xwNzrH G7J9WpuOEYNvek6Ki/yUKF5VDBlJBpfl4scuS6NyR/LIikkp/zzXOcTT3JuVRPNh5keN +X2AH4N2MiK6bu81l5w/oeMEWfvtfX0MYrGtixiqZ/qLR+GOTFwvTxJVYPAqijHgQOQV foTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=buZAORQdEYoNWxE4S8OGuTDNZOOAVbh8FPNm9x9dq3w=; b=tzGpNlgdSFOJx9Ino+bxn9DV95HmaBXlIBrjTnvVy9scxYmEYBHhr0/VolbI/EMFeT bNvIIlUlH7m9qaYvZWDne4jztgWcjY/BljYo6GgOonkrLId15/e6BLb9/5ijfB7mYf/8 H30hCSRQVaELqgfKqaizuJEZgDY7DN+bjH3YnzQ2GqzMBp0QOKBVpH7VYCYnuxpuSyaT 0H7jZ5EiRc8elfm5Tz1KBVgfpNdaSj58kaca0PCb6A8t6g94i2F1RNVX5r6C4LsNgWNi +vMSKspfze52+luIzLZ1YPdWGlVNsKMduRkl5RgrDONcu1TUwbNAaywXej31h2MNZ5Nv JdUg== X-Gm-Message-State: ACrzQf0P/D19nFofvrt7U43xFX0ThpfhWjIC+3wyF93tf21sw762oFyM XBWADprLONgGsn6Y6Y0YgRjwRcSMJK4= X-Google-Smtp-Source: AMsMyM6xq9OkCxN7KDqSBSA3SWIIYy6UP0iZ1l7i04jdsxo25nWqZ5wEDrU9Vr8G+A/NNmELji/Z8w== X-Received: by 2002:a19:434f:0:b0:49c:fe43:e1e8 with SMTP id m15-20020a19434f000000b0049cfe43e1e8mr2934929lfj.210.1663923685154; Fri, 23 Sep 2022 02:01:25 -0700 (PDT) Received: from LAPTOP-4L3N7KFS.localdomain (nat4.panoulu.net. [185.38.2.4]) by smtp.gmail.com with ESMTPSA id a9-20020ac25209000000b0048a9603399csm1354032lfl.116.2022.09.23.02.01.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Sep 2022 02:01:24 -0700 (PDT) From: Lev Stipakov To: openvpn-devel@lists.sourceforge.net Date: Fri, 23 Sep 2022 12:01:13 +0300 Message-Id: <20220923090113.547-1-lstipakov@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220923074228.476-1-lstipakov@gmail.com> References: <20220923074228.476-1-lstipakov@gmail.com> MIME-Version: 1.0 X-Spam-Report: Spam detection software, running on the system "util-spamd-2.v13.lw.sourceforge.com", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: From: Lev Stipakov Add a simple python script which generates header with branch name and commit hash #defines. While on it, fix filename in msvc-generate.vcxproj and add proper copyright header to Makefile.mak. Content analysis details: (-0.2 points, 6.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [lstipakov[at]gmail.com] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.167.52 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.167.52 listed in wl.mailspike.net] -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-Headers-End: 1obeYy-0001ke-UU Subject: [Openvpn-devel] [PATCH v4] msvc: add branch name and commit hash to version output X-BeenThere: openvpn-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lev Stipakov Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox From: Lev Stipakov Add a simple python script which generates header with branch name and commit hash #defines. While on it, fix filename in msvc-generate.vcxproj and add proper copyright header to Makefile.mak. Signed-off-by: Lev Stipakov --- v4: - replace backslash with slash - instead of git:msvc-version-release\2.5/b5df0fadf0fdad98 we display git:msvc-version-release/2.5/b5df0fadf0fdad98 v3: - properly handle branchnames like release/2.5 and detached HEAD state - property handle "not in git repo" case v2: - fix copyright year 2002 -> 2022 - change "not-a-git-repo" to "unknown" build/msvc/msvc-generate/Makefile.mak | 33 +++++++++++- build/msvc/msvc-generate/git-version.py | 50 +++++++++++++++++++ .../msvc/msvc-generate/msvc-generate.vcxproj | 2 +- config-msvc.h | 2 + 4 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 build/msvc/msvc-generate/git-version.py diff --git a/build/msvc/msvc-generate/Makefile.mak b/build/msvc/msvc-generate/Makefile.mak index 1cb43102..ae8b0842 100644 --- a/build/msvc/msvc-generate/Makefile.mak +++ b/build/msvc/msvc-generate/Makefile.mak @@ -1,4 +1,27 @@ -# Copyright (C) 2008-2012 Alon Bar-Lev +# +# OpenVPN -- An application to securely tunnel IP networks +# over a single UDP port, with support for SSL/TLS-based +# session authentication and key exchange, +# packet encryption, packet authentication, and +# packet compression. +# +# Copyright (C) 2002-2022 OpenVPN Inc +# Copyright (C) 2008-2012 Alon Bar-Lev +# Copyright (C) 2022-2022 Lev Stipakov +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 +# as published by the Free Software Foundation. +# +# This program 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, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# CONFIG=$(SOLUTIONDIR)/version.m4 @@ -14,7 +37,9 @@ OUTPUT_PLUGIN_CONFIG=version.m4 INPUT_MAN=$(SOLUTIONDIR)/doc/openvpn.8.rst OUTPUT_MAN=$(SOLUTIONDIR)/doc/openvpn.8.html -all: $(OUTPUT_MSVC_VER) $(OUTPUT_PLUGIN) $(OUTPUT_MAN) +OUTPUT_MSVC_GIT_CONFIG=$(SOLUTIONDIR)/config-version.h + +all: $(OUTPUT_MSVC_VER) $(OUTPUT_PLUGIN) $(OUTPUT_MAN) $(OUTPUT_MSVC_GIT_CONFIG) $(OUTPUT_MSVC_VER): $(INPUT_MSVC_VER) $(CONFIG) cscript //nologo msvc-generate.js --config="$(CONFIG)" --input="$(INPUT_MSVC_VER)" --output="$(OUTPUT_MSVC_VER)" @@ -28,8 +53,12 @@ $(OUTPUT_PLUGIN): $(INPUT_PLUGIN) $(OUTPUT_PLUGIN_CONFIG) $(OUTPUT_MAN): $(INPUT_MAN) -FOR /F %i IN ('where rst2html.py') DO python %i "$(INPUT_MAN)" "$(OUTPUT_MAN)" +$(OUTPUT_MSVC_GIT_CONFIG): + python git-version.py $(SOLUTIONDIR) + clean: -del "$(OUTPUT_MSVC_VER)" -del "$(OUTPUT_PLUGIN)" -del "$(OUTPUT_PLUGIN_CONFIG)" -del "$(OUTPUT_MAN)" + -del "$(OUTPUT_MSVC_GIT_CONFIG)" diff --git a/build/msvc/msvc-generate/git-version.py b/build/msvc/msvc-generate/git-version.py new file mode 100644 index 00000000..9c831558 --- /dev/null +++ b/build/msvc/msvc-generate/git-version.py @@ -0,0 +1,50 @@ +# +# OpenVPN -- An application to securely tunnel IP networks +# over a single UDP port, with support for SSL/TLS-based +# session authentication and key exchange, +# packet encryption, packet authentication, and +# packet compression. +# +# Copyright (C) 2022-2022 OpenVPN Inc +# Copyright (C) 2022-2022 Lev Stipakov +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 +# as published by the Free Software Foundation. +# +# This program 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, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +import os +import sys + +def get_branch_commit_id(): + commit_id = os.popen("git rev-parse --short=16 HEAD").read()[:-1] + if not commit_id: + raise + l = os.popen("git rev-parse --symbolic-full-name HEAD").read().split("/")[2:] + if not l: + l = ["detached\n"] + branch = "/" .join(l)[:-1] + return branch, commit_id + +def main(): + try: + branch, commit_id = get_branch_commit_id() + except: + branch, commit_id = "unknown", "unknown" + + name = os.path.join("%s" % (sys.argv[1] if len(sys.argv) > 1 else "."), "config-version.h") + with open(name, "w") as f: + f.write("#define CONFIGURE_GIT_REVISION \"%s/%s\"\n" % (branch, commit_id)) + f.write("#define CONFIGURE_GIT_FLAGS \"\"\n") + +if __name__ == "__main__": + main() diff --git a/build/msvc/msvc-generate/msvc-generate.vcxproj b/build/msvc/msvc-generate/msvc-generate.vcxproj index dda8b051..eae94709 100644 --- a/build/msvc/msvc-generate/msvc-generate.vcxproj +++ b/build/msvc/msvc-generate/msvc-generate.vcxproj @@ -150,7 +150,7 @@ - + diff --git a/config-msvc.h b/config-msvc.h index b621f3fb..a3c687ed 100644 --- a/config-msvc.h +++ b/config-msvc.h @@ -89,3 +89,5 @@ typedef uint16_t in_port_t; #endif #define ENABLE_DCO 1 + +#define HAVE_CONFIG_VERSION_H 1