Commit f162a229f677a5f5b95dd36021d6203dc2f9b3d3
1 parent
ad0fd53f
CI mode for make_dist
Showing
1 changed file
with
64 additions
and
37 deletions
make_dist
| ... | ... | @@ -17,6 +17,7 @@ my $whoami = basename($0); |
| 17 | 17 | |
| 18 | 18 | my $run_tests = 1; |
| 19 | 19 | my $keep_tmp = 0; |
| 20 | +my $ci_mode = 0; | |
| 20 | 21 | my $version = undef; |
| 21 | 22 | foreach my $arg (@ARGV) |
| 22 | 23 | { |
| ... | ... | @@ -28,6 +29,10 @@ foreach my $arg (@ARGV) |
| 28 | 29 | { |
| 29 | 30 | $keep_tmp = 1; |
| 30 | 31 | } |
| 32 | + elsif ($arg eq '--ci') | |
| 33 | + { | |
| 34 | + $ci_mode = 1; | |
| 35 | + } | |
| 31 | 36 | elsif (! defined $version) |
| 32 | 37 | { |
| 33 | 38 | $version = $arg; |
| ... | ... | @@ -38,6 +43,11 @@ foreach my $arg (@ARGV) |
| 38 | 43 | } |
| 39 | 44 | } |
| 40 | 45 | |
| 46 | +if ($ci_mode && (! defined $version)) | |
| 47 | +{ | |
| 48 | + $version = get_version_from_configure(); | |
| 49 | +} | |
| 50 | + | |
| 41 | 51 | usage() unless defined $version; |
| 42 | 52 | usage() unless $version =~ m/^(\d+\.\d+(?:\.(a|b|rc)?\d+)?)$/; |
| 43 | 53 | my $distname = "qpdf-$version"; |
| ... | ... | @@ -50,41 +60,9 @@ run("git archive --prefix=qpdf-$version/ HEAD . | (cd /tmp; tar xf -)"); |
| 50 | 60 | cd($tmpdir); |
| 51 | 61 | |
| 52 | 62 | # Check versions |
| 53 | -my $fh = safe_open("configure.ac"); | |
| 54 | -my $config_version = 'unknown'; | |
| 55 | -while (<$fh>) | |
| 56 | -{ | |
| 57 | - if (m/^AC_INIT\(\[qpdf\],\[([^\)]+)\]\)/) | |
| 58 | - { | |
| 59 | - $config_version = $1; | |
| 60 | - last; | |
| 61 | - } | |
| 62 | -} | |
| 63 | -$fh->close(); | |
| 64 | - | |
| 65 | -$fh = safe_open("libqpdf/QPDF.cc"); | |
| 66 | -my $code_version = 'unknown'; | |
| 67 | -while (<$fh>) | |
| 68 | -{ | |
| 69 | - if (m/QPDF::qpdf_version = \"([^\"]+)\"/) | |
| 70 | - { | |
| 71 | - $code_version = $1; | |
| 72 | - last; | |
| 73 | - } | |
| 74 | -} | |
| 75 | -$fh->close(); | |
| 76 | - | |
| 77 | -$fh = safe_open("manual/qpdf-manual.xml"); | |
| 78 | -my $doc_version = 'unknown'; | |
| 79 | -while (<$fh>) | |
| 80 | -{ | |
| 81 | - if (m/swversion "([^\"]+)\"/) | |
| 82 | - { | |
| 83 | - $doc_version = $1; | |
| 84 | - last; | |
| 85 | - } | |
| 86 | -} | |
| 87 | -$fh->close(); | |
| 63 | +my $config_version = get_version_from_configure(); | |
| 64 | +my $code_version = get_version_from_source(); | |
| 65 | +my $doc_version = get_version_from_manual(); | |
| 88 | 66 | |
| 89 | 67 | my $version_error = 0; |
| 90 | 68 | if ($version ne $config_version) |
| ... | ... | @@ -120,7 +98,8 @@ if ($run_tests) |
| 120 | 98 | run("make check"); |
| 121 | 99 | cd("/tmp"); |
| 122 | 100 | } |
| 123 | -rename "$distname.tar.gz-candidate", "$distname.tar.gz" or die; | |
| 101 | +my $distfile = ($ci_mode ? "$distname-ci.tar.gz" : "$distname.tar.gz"); | |
| 102 | +rename "$distname.tar.gz-candidate", $distfile or die; | |
| 124 | 103 | |
| 125 | 104 | if (! $keep_tmp) |
| 126 | 105 | { |
| ... | ... | @@ -128,12 +107,60 @@ if (! $keep_tmp) |
| 128 | 107 | } |
| 129 | 108 | |
| 130 | 109 | print " |
| 131 | -Source distribution created as $tmpdir.tar.gz | |
| 110 | +Source distribution created as /tmp/$distfile | |
| 132 | 111 | If this is a release, don't forget to tag the version control system and |
| 133 | 112 | make a backup of the release tar file. |
| 134 | 113 | |
| 135 | 114 | "; |
| 136 | 115 | |
| 116 | +sub get_version_from_configure | |
| 117 | +{ | |
| 118 | + my $fh = safe_open("configure.ac"); | |
| 119 | + my $config_version = 'unknown'; | |
| 120 | + while (<$fh>) | |
| 121 | + { | |
| 122 | + if (m/^AC_INIT\(\[qpdf\],\[([^\)]+)\]\)/) | |
| 123 | + { | |
| 124 | + $config_version = $1; | |
| 125 | + last; | |
| 126 | + } | |
| 127 | + } | |
| 128 | + $fh->close(); | |
| 129 | + $config_version; | |
| 130 | +} | |
| 131 | + | |
| 132 | +sub get_version_from_source | |
| 133 | +{ | |
| 134 | + my $fh = safe_open("libqpdf/QPDF.cc"); | |
| 135 | + my $code_version = 'unknown'; | |
| 136 | + while (<$fh>) | |
| 137 | + { | |
| 138 | + if (m/QPDF::qpdf_version = \"([^\"]+)\"/) | |
| 139 | + { | |
| 140 | + $code_version = $1; | |
| 141 | + last; | |
| 142 | + } | |
| 143 | + } | |
| 144 | + $fh->close(); | |
| 145 | + $code_version; | |
| 146 | +} | |
| 147 | + | |
| 148 | +sub get_version_from_manual | |
| 149 | +{ | |
| 150 | + my $fh = safe_open("manual/qpdf-manual.xml"); | |
| 151 | + my $doc_version = 'unknown'; | |
| 152 | + while (<$fh>) | |
| 153 | + { | |
| 154 | + if (m/swversion "([^\"]+)\"/) | |
| 155 | + { | |
| 156 | + $doc_version = $1; | |
| 157 | + last; | |
| 158 | + } | |
| 159 | + } | |
| 160 | + $fh->close(); | |
| 161 | + $doc_version; | |
| 162 | +} | |
| 163 | + | |
| 137 | 164 | sub safe_open |
| 138 | 165 | { |
| 139 | 166 | my $file = shift; | ... | ... |