| @@ -1,51 +1,51 @@ | | | @@ -1,51 +1,51 @@ |
1 | # $NetBSD: plist-python.awk,v 1.3 2021/10/05 19:08:13 adam Exp $ | | 1 | # $NetBSD: plist-python.awk,v 1.4 2023/10/26 10:10:23 wiz Exp $ |
2 | # | | 2 | # |
3 | # Copyright (c) 2012 The NetBSD Foundation, Inc. | | 3 | # Copyright (c) 2012 The NetBSD Foundation, Inc. |
4 | # All rights reserved. | | 4 | # All rights reserved. |
5 | # | | 5 | # |
6 | # This code is derived from software contributed to The NetBSD Foundation | | 6 | # This code is derived from software contributed to The NetBSD Foundation |
7 | # by OBATA Akio. | | 7 | # by OBATA Akio. |
8 | # | | 8 | # |
9 | # Redistribution and use in source and binary forms, with or without | | 9 | # Redistribution and use in source and binary forms, with or without |
10 | # modification, are permitted provided that the following conditions | | 10 | # modification, are permitted provided that the following conditions |
11 | # are met: | | 11 | # are met: |
12 | # 1. Redistributions of source code must retain the above copyright | | 12 | # 1. Redistributions of source code must retain the above copyright |
13 | # notice, this list of conditions and the following disclaimer. | | 13 | # notice, this list of conditions and the following disclaimer. |
14 | # 2. Redistributions in binary form must reproduce the above copyright | | 14 | # 2. Redistributions in binary form must reproduce the above copyright |
15 | # notice, this list of conditions and the following disclaimer in the | | 15 | # notice, this list of conditions and the following disclaimer in the |
16 | # documentation and/or other materials provided with the distribution. | | 16 | # documentation and/or other materials provided with the distribution. |
17 | # | | 17 | # |
18 | # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS | | 18 | # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS |
19 | # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED | | 19 | # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED |
20 | # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | | 20 | # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
21 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS | | 21 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS |
22 | # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | | 22 | # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
23 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | | 23 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
24 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | | 24 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
25 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | | 25 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
26 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | | 26 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
27 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | | 27 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
28 | # POSSIBILITY OF SUCH DAMAGE. | | 28 | # POSSIBILITY OF SUCH DAMAGE. |
29 | | | 29 | |
30 | ### This awk script handles python bytcode file entries in PLISTs. This script | | 30 | ### This awk script handles Python bytecode file entries in PLISTs. This script |
31 | ### requires the following scripts to be included: | | 31 | ### requires the following scripts to be included: |
32 | ### | | 32 | ### |
33 | ### plist-functions.awk (print_entry) | | 33 | ### plist-functions.awk (print_entry) |
34 | ### | | 34 | ### |
35 | ### Certain environment variables must be set prior to running this script: | | 35 | ### Certain environment variables must be set prior to running this script: |
36 | ### | | 36 | ### |
37 | ### PYVERS | | 37 | ### PYVERS |
38 | ### | | 38 | ### |
39 | BEGIN { | | 39 | BEGIN { |
40 | PYVERS = getenv_or_die("PYVERS") | | 40 | PYVERS = getenv_or_die("PYVERS") |
41 | } | | 41 | } |
42 | | | 42 | |
43 | ### For each python bytecode file entry, convert directory and file name. | | 43 | ### For each Python bytecode file entry, convert directory and file name. |
44 | ### | | 44 | ### |
45 | /^[^@]/ && /[^\/]+\.py[co]$/ { | | 45 | /^[^@]/ && /[^\/]+\.py[co]$/ { |
46 | sub(/[^\/]+\.py[co]$/, "__pycache__/&") | | 46 | sub(/[^\/]+\.py[co]$/, "__pycache__/&") |
47 | sub(/\.py[co]$/, ".cpython-" PYVERS "&") | | 47 | sub(/\.py[co]$/, ".cpython-" PYVERS "&") |
48 | if (PYVERS ~ /^3[0-9]+$/ && $0 ~ /\.pyo$/) { | | 48 | if (PYVERS ~ /^3[0-9]+$/ && $0 ~ /\.pyo$/) { |
49 | sub(/\.pyo$/, ".opt-1.pyc") | | 49 | sub(/\.pyo$/, ".opt-1.pyc") |
50 | } | | 50 | } |
51 | } | | 51 | } |