| <!-- | |
| Licensed to the Apache Software Foundation (ASF) under one | |
| or more contributor license agreements. See the NOTICE file | |
| distributed with this work for additional information | |
| regarding copyright ownership. The ASF licenses this file | |
| to you under the Apache License, Version 2.0 (the | |
| "License"); you may not use this file except in compliance | |
| with the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, | |
| software distributed under the License is distributed on an | |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| KIND, either express or implied. See the License for the | |
| specific language governing permissions and limitations | |
| under the License. | |
| --> | |
| # How to vote for a release | |
| For non-Chinese users, please read https://cwiki.apache.org/confluence/display/IOTDB/Validating+a+staged+Release | |
| ## Download everything under voting version / rc | |
| https://dist.apache.org/repos/dist/dev/iotdb/ | |
| ## Import the public key of the release manager | |
| https://dist.apache.org/repos/dist/dev/iotdb/KEYS | |
| At the bottom is the public key of the Release Manager (RM) | |
| Install gpg2 | |
| ### the first method | |
| ``` | |
| The beginning of the public key is this | |
| pub rsa4096 2019-10-15 [SC] | |
| 10F3B3F8A1201B79AA43F2E00FC7F131CAA00430 | |
| Or this | |
| pub rsa4096/28662AC6 2019-12-23 [SC] | |
| ``` | |
| Download the public key | |
| ``` | |
| gpg2 --receive-keys 10F3B3F8A1201B79AA43F2E00FC7F131CAA00430 (or 28662AC6) | |
| or (Designation keyserver) | |
| gpg2 --keyserver p80.pool.sks-keyservers.net --recv-keys 10F3B3F8A1201B79AA43F2E00FC7F131CAA00430 (或 28662AC6) | |
| ``` | |
| ### The second method | |
| Copy the following paragraph into a text file and name it `key.asc` | |
| ``` | |
| -----BEGIN PGP PUBLIC KEY BLOCK----- | |
| Version: GnuPG v2 | |
| ... | |
| -----END PGP PUBLIC KEY BLOCK----- | |
| ``` | |
| Import RM's public key to your computer | |
| ``` | |
| gpg2 --import key.asc | |
| ``` | |
| ## Verify the source distribution | |
| * Verify that there are NOTICE, LICENSE, and the content is correct. | |
| * Verify README, RELEASE_NOTES | |
| * Validation header | |
| ``` | |
| mvn -B apache-rat:check | |
| ``` | |
| * Verify signatures and hashes | |
| ``` | |
| gpg2 --verify apache-iotdb-0.12.0-source-release.zip.asc apache-iotdb-0.12.0-source-release.zip | |
| appear Good Singnature | |
| shasum -a512 apache-iotdb-0.12.0-source-release.zip | |
| Compared with the corresponding .sha512, the same is fine. | |
| ``` | |
| * Verify compilation | |
| ``` | |
| mvnw install | |
| Should end up all SUCCESS | |
| ``` | |
| ## Verifying the binary release | |
| * Verify that there are NOTICE, LICENSE, and the content is correct. | |
| * Verify README, RELEASE_NOTES | |
| * Verify signatures and hashes | |
| ``` | |
| gpg2 --verify apache-iotdb-0.12.0-bin.zip.asc apache-iotdb-0.12.0-bin.zip | |
| appear Good Singnature | |
| shasum -a512 apache-iotdb-0.12.0-bin.zip | |
| Compared with the corresponding .sha512, the same is fine. | |
| ``` | |
| * Verify that it starts and the sample statements execute correctly | |
| ``` | |
| nohup ./sbin/start-server.sh >/dev/null 2>&1 & | |
| ./sbin/start-cli.sh | |
| CREATE DATABASE root.turbine; | |
| CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA; | |
| insert into root.turbine.d1(timestamp,s0) values(1,1); | |
| insert into root.turbine.d1(timestamp,s0) values(2,2); | |
| insert into root.turbine.d1(timestamp,s0) values(3,3); | |
| select * from root; | |
| Prints the following: | |
| +-----------------------------------+------------------+ | |
| | Time|root.turbine.d1.s0| | |
| +-----------------------------------+------------------+ | |
| | 1970-01-01T08:00:00.001+08:00| 1.0| | |
| | 1970-01-01T08:00:00.002+08:00| 2.0| | |
| | 1970-01-01T08:00:00.003+08:00| 3.0| | |
| +-----------------------------------+------------------+ | |
| ``` | |
| ## Sample mail | |
| Email can be sent after verification | |
| ``` | |
| Hi, | |
| +1 (PMC could binding) | |
| The source release: | |
| LICENSE and NOTICE [ok] | |
| signatures and hashes [ok] | |
| All files have ASF header [ok] | |
| could compile from source: ./mvnw clean install [ok] | |
| The binary distribution: | |
| LICENSE and NOTICE [ok] | |
| signatures and hashes [ok] | |
| Could run with the following statements [ok] | |
| CREATE DATABASE root.turbine; | |
| CREATE TIMESERIES root.turbine.d1.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA; | |
| insert into root.turbine.d1(timestamp,s0) values(1,1); | |
| insert into root.turbine.d1(timestamp,s0) values(2,2); | |
| insert into root.turbine.d1(timestamp,s0) values(3,3); | |
| select * from root; | |
| Thanks, | |
| xxx | |
| ``` | |
| ## small tools | |
| * Print out lines containing certain characters (just look at the top output, you don't need to look at the bottom file) | |
| ``` | |
| find . -type f -exec grep -i "copyright" {} \; -print | sort -u | |
| find **/src -type f -exec grep -i "copyright" {} \; -print | sort -u | |
| ``` |