diff options
Diffstat (limited to 'src/content/docs/appendix')
-rw-r--r-- | src/content/docs/appendix/code-binary-verify.md | 160 | ||||
-rw-r--r-- | src/content/docs/appendix/contribute.md | 97 | ||||
-rw-r--r-- | src/content/docs/appendix/setup-dev-env.md | 122 | ||||
-rw-r--r-- | src/content/docs/appendix/system-requirement.md | 72 | ||||
-rw-r--r-- | src/content/docs/appendix/translate-interface.md | 49 |
5 files changed, 500 insertions, 0 deletions
diff --git a/src/content/docs/appendix/code-binary-verify.md b/src/content/docs/appendix/code-binary-verify.md new file mode 100644 index 0000000..3782dfc --- /dev/null +++ b/src/content/docs/appendix/code-binary-verify.md @@ -0,0 +1,160 @@ +--- +title: Code & Binary Verify +--- + +To enhance the security and integrity of software distribution, it's crucial for +developers and users alike to employ methods for verifying the authenticity and +integrity of code and executable files. The process outlined below aims to +fortify trust in software distribution by leveraging digital signatures and +secure, automated build processes. + +### Automated Build Process + +Our software leverages **GitHub Actions** for automated compilations, ensuring +that every binary file version released is directly compiled from the source +code stored in the GitHub repository's main branch. This approach guarantees +that the compilation process is transparent, replicable, and free from manual +interference. The exact commands and environment configurations used during the +compilation are documented within the project's `.github/workflow/release.yml` +file, allowing for full accountability and reproducibility. + +### Third-Party Library Assurance + +To uphold our commitment to security, we do not include GnuPG in our major +releases and strictly avoid insecure or proprietary third-party libraries. +Instead, we only utilize third-party libraries that are open-source and have +been compiled from publicly accessible code repositories. This practice ensures +that our software remains secure and trustworthy. + +### Code Verification + +We encourage users to review our code to ensure its integrity and security. The +code for all releases is available on our GitHub repository. For any inquiries +or concerns, please feel free to contact us directly. Most new git commits are +signed with a designated key, which is also used for Git operations: `Saturneric +<[email protected]>`. This commitment to transparency allows users to verify the +authenticity of our code easily. + +#### Key Fingerprint + +``` +E3379489C39B7270E70E2E303AAF1C64137CEE57 +``` + +### Binary File Verification + +From version 1.0.5 onwards, we sign our packages containing the binary +executable files with a GPG key to further ensure security. Each package is +accompanied by a signature file in the release section (with a `.sig` suffix), +allowing users to verify the package before use using standard GPG tools. + +#### About Interface Verification + +Our software includes an "About" interface accessible from the help menu, +providing users with information about the software version, platform, and the +specific GitHub repository branch and commit hash used for compiling the binary. +This feature adds an extra layer of transparency and verification for users. + +### Public Key for Verification + +Below is the public key used for signing the commits and binary files, which can +be used to verify the authenticity of our releases: + +#### Key Fingerprint + +``` +E3379489C39B7270E70E2E303AAF1C64137CEE57 +``` + +#### Public Key (OpenPGP) + +``` +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +hHHFn9+/wu20 +=bgvm +-----END PGP PUBLIC KEY BLOCK----- +``` + +This comprehensive approach to security, including automated builds, careful +selection of third-party libraries, and transparent verification methods, +ensures that users can trust the software they are using while also providing +the tools needed to verify that trust independently. diff --git a/src/content/docs/appendix/contribute.md b/src/content/docs/appendix/contribute.md new file mode 100644 index 0000000..37e03d4 --- /dev/null +++ b/src/content/docs/appendix/contribute.md @@ -0,0 +1,97 @@ +--- +title: Contributing to GpgFrontend +--- + +Thank you for considering contributing to GpgFrontend! As a community-driven +project currently maintained by a single individual, every contribution, no +matter how small, makes a significant difference. This guide is designed to +provide you with a clear pathway to contributing, whether you're submitting +changes via GitHub pull requests or sending git patches via email. Below, you'll +find the steps to set up your environment, make changes, and how to submit those +changes. Additionally, you'll find contact information for further assistance. + +## Technical Requirements + +To maintain the integrity and compatibility of GpgFrontend, please adhere to the +following technical standards for all contributions: + +- **C++ Standard:** Contributions must comply with the C++17 standard. This + requirement ensures that we leverage modern language features and maintain + forward compatibility. +- **C Standard:** For code that involves C programming, adherence to the C99 + standard is required. This helps ensure our code takes advantage of more + recent language features while maintaining compatibility with various + platforms and compilers. +- **Compiler Compatibility:** Your code should compile successfully with both + Clang and GCC compilers. This cross-compatibility is crucial for ensuring that + GpgFrontend can be built on a variety of platforms and environments. +- **Third-Party Libraries:** Introducing third-party libraries should be done + with caution. Any added library must be compatible with the GPL 3.0 license. + Prior discussion with project maintainers about the necessity and implications + of the new library is required. +- **Code Formatting:** Use our `.clang-format` and `.clang-tidy` configurations + to format your code. Consistent code formatting aids in maintaining the + readability and maintainability of the codebase. +- **Code Maintenance and Attribution:** Be aware that the project maintainer may + edit your code to better fit the project or enhance compatibility. You are + encouraged to include your name and contact information in the code comments + for your contributions if you wish. + +### Additional Standards to Consider + +- **Static Analysis:** To ensure code quality and catch potential issues early, + contributions should pass static analysis checks where applicable. Tools like + Clang Static Analyzer or GCC's `-Wall -Wextra -pedantic` flags can be used to + identify potential issues. +- **Unit Testing:** If your contribution adds new functionality or changes + existing behavior, including unit tests to cover your changes is highly + recommended. This helps ensure that your contributions do not inadvertently + break existing functionality. +- **Documentation:** Update existing documentation or add new documentation as + necessary to reflect your changes or additions to the project. Well-documented + code is essential for future maintenance and for new contributors to + understand the project. + +## Getting Started + +### Step 1: Set Up Your Environment + +Make sure you have a configured Git environment. For GitHub contributions, fork +the repository and clone it locally. For email contributions, ensure Git is +installed on your machine. + +For setting up local development Environment, you can refer to [this +section](setup-dev-env.md). + +### Step 2: Making Changes + +Create a new branch for your work, implement your changes while adhering to the +technical requirements and standards mentioned, and commit your changes with +clear, descriptive commit messages. + +### Step 3: Submitting Contributions + +#### Via GitHub Pull Request + +Push your changes to your fork and submit a pull request to the original +repository. Ensure your pull request describes the changes made and the reason +for those changes. + +#### Via Email with Git Patch + +For email submissions, generate a git patch for your commits and send it to the +project's contribution email address. Make sure to include a detailed +description of your changes and the reasons for them in your email. + +## Contact + +If you have any technical questions or need assistance, refer to the Contact +document for the maintainer's email address. We are here to help and encourage a +collaborative development process. + +## Conclusion + +Your contributions are vital to the success and improvement of GpgFrontend. We +appreciate your efforts to adhere to these guidelines and look forward to your +innovative and high-quality contributions. Thank you for being a part of our +community. diff --git a/src/content/docs/appendix/setup-dev-env.md b/src/content/docs/appendix/setup-dev-env.md new file mode 100644 index 0000000..c5ca5fa --- /dev/null +++ b/src/content/docs/appendix/setup-dev-env.md @@ -0,0 +1,122 @@ +--- +title: Setting Up Your Local Development Environment +sidebar: + label: Development Environment +--- + +Creating a local development environment that mirrors the GitHub Actions +workflow ensures consistency between local development and continuous +integration builds. This guide leverages the steps defined in our GitHub Actions +workflow to help you set up a similar environment on your local machine. By +following these steps, you'll be able to compile, build, and test the project in +an environment closely resembling our CI pipeline, minimizing integration +issues. The exact commands and environment configurations used during the +compilation are documented within the project's `.github/workflow/release.yml` +file. + +## Prerequisites + +- **Git:** Installed and configured on your system. +- **Compilers:** GCC and Clang for cross-compatibility. +- **CMake:** For generating build files. +- **Qt6:** If working on a project that utilizes Qt for its GUI. + +## Environment Setup Steps + +### Clone the Repository + +```bash +git clone https://github.com/saturneric/GpgFrontend.git +cd GpgFrontend +``` + +### Configure Git Line Endings + +This step ensures that line endings are consistent across different operating +systems. + +- **For Windows:** + +```bash +git config --global core.autocrlf false +git config --global core.eol lf +``` + +- **For macOS:** + +```bash +git config --global core.autocrlf false +git config --global core.eol lf +``` + +### Install Dependencies + +- **On Ubuntu 20.04:** + +```bash +sudo apt-get update +sudo apt-get install -y build-essential binutils git autoconf automake gettext texinfo gcc g++ ninja-build libarchive-dev libssl-dev libgpgme-dev +``` + +- **On macOS (11 and 12):** + +```bash +brew install cmake autoconf automake texinfo gettext openssl@3 ninja libarchive gpgme +brew link --force openssl@3 + +``` + +- **For Windows (via MSYS2):** Set up MSYS2 according to its documentation and + install the necessary packages: + +```bash +pacman -Syu +pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-cmake autoconf automake make texinfo mingw-w64-x86_64-qt6 libintl msys2-runtime-devel gettext-devel mingw-w64-x86_64-ninja mingw-w64-x86_64-gnupg mingw-w64-x86_64-libarchive +``` + +### Install Qt6 (if applicable) + +Use the Qt online installer or your package manager to install Qt6 and the +required modules for your project. + +### Build Third-Party Libraries (if needed) + +Follow the project's documentation to clone and build necessary third-party +libraries such as `libgpg-error`, `libassuan`, and `GpgME`. Use the same +commands as specified in the GitHub Actions workflow, adapted for your local +environment. + +### Configure and Build the Project + +- **For Linux and macOS:** + +```bash +mkdir build && cd build +cmake .. -DCMAKE_BUILD_TYPE=Release +make -j$(nproc) +``` + +- **For Windows (via MSYS2):** + +```bash +mkdir build && cd build +cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release +mingw32-make -j$(nproc) +``` + +### Running Tests + +After building, run the project's tests to verify everything is working as +expected. + +## Notes + +- Adjust the build type (`Release`, `Debug`, etc.) as needed. +- Replace project-specific commands and dependency installation commands based + on your project's requirements. +- For macOS, additional steps for code signing and notarization are required only + for distribution. + +By closely following the GitHub Actions workflow for local setup, you're +creating a development environment that minimizes surprises during the +integration and deployment phases. diff --git a/src/content/docs/appendix/system-requirement.md b/src/content/docs/appendix/system-requirement.md new file mode 100644 index 0000000..1f3ac0e --- /dev/null +++ b/src/content/docs/appendix/system-requirement.md @@ -0,0 +1,72 @@ +--- +title: System Requirement +--- + +Before proceeding with the installation and usage of GpgFrontend, it's crucial +to understand the system requirements that ensure optimal performance. This +section provides comprehensive details about the necessary software +dependencies, hardware specifications, and the compatible operating systems. +Meeting these requirements will ensure a smooth, efficient experience while +using GpgFrontend. + +Please read the following subsections carefully to confirm that your system +aligns with the recommended configurations. + +## Hardware + +While the specific hardware requirements largely depend on the size and +complexity of the data you're working with, we generally recommend: + +A computer with at least 1 GB of RAM. However, 2 GB or more is preferable for +smoother performance. The majority of these resources are allocated to your +operating system, but around 100 MB of memory is needed to ensure the smooth +running of GpgFrontend. At least 200 MB of free disk space for software +installation. Additional space will be needed for ongoing work. + +Please note, these requirements are intended to be guidelines rather than strict +rules. It's possible that GpgFrontend will work on lower-spec hardware, but for +optimal performance, the above specifications are recommended. + +## Operating System + +GpgFrontend is compatible with major operating systems including Linux, macOS, +and Windows. Specifically, it recommends Windows 7 and later, macOS 11 and +later, and Ubuntu 20.04 LTS or other equivalent Linux distributions. + +## Software + +To ensure GpgFrontend functions seamlessly, it relies on the following software +dependencies: + +- **Qt Framework:** GpgFrontend is developed using the Qt framework to offer a + rich user experience and cross-platform compatibility. The application + includes: + + - **Qt6:** The primary build utilizes Qt6, ensuring a modern interface and + robust performance. Qt6 is included in the release packages for Linux, + macOS, and Windows, offering straightforward setup without additional + installations. + - **Qt5 Support for Windows:** Recognizing the need to accommodate users on + older versions of Windows, GpgFrontend also provides a Qt5-based version. + This variant ensures compatibility with earlier Windows environments, + extending the tool's accessibility and usability. + +- **GnuPG 2.2.0 or Higher:** GpgFrontend integrates with GnuPG for its + cryptographic operations, including encryption, decryption, and digital + signing. GnuPG (version 2.2.0 or newer) is a necessary component to leverage + the full capabilities of GpgFrontend. Please note, GnuPG 1.x versions are not + supported by GpgFrontend due to differences in functionality and support. + Users are encouraged to use GnuPG 2.x to ensure compatibility and secure + operations. + +By catering to a wide range of operating systems and ensuring backward +compatibility with older Windows versions through Qt5 support, GpgFrontend +strives to be as inclusive and accessible as possible. + +## Network + +Although not necessary for basic operation, an active Internet connection may be +required for software updates and accessing online help resources. + +Please note that these are the minimal requirements that we tested, and actual +requirements for your use case could be higher, especially for large datasets. diff --git a/src/content/docs/appendix/translate-interface.md b/src/content/docs/appendix/translate-interface.md new file mode 100644 index 0000000..6c02085 --- /dev/null +++ b/src/content/docs/appendix/translate-interface.md @@ -0,0 +1,49 @@ +--- +title: Translate Interface +sidebar: + label: Translate +--- + +GpgFrontend is designed to support multiple languages, but requires volunteer +contributions to achieve this goal. Fortunately, translation work does not +require an understanding of difficult technology. Volunteers only need to move +their fingers to complete. + +## Work Offline + +### What you need to know about translation work + +From v2.1.2, GpgFrontend uses the Qt translation support library [Qt +Linguist](https://doc.qt.io/qt-6/qtlinguist-index.html) in the Qt project. +Before starting everything, you need to know something about this library. After +you are sure about the content of the document, you can first try to see how +GpgFrontend uses the tools provided by this library. + +### About translation files + +1. Download or clone source code + [HERE](https://github.com/saturneric/GpgFrontend) +2. You will find some ts files(.ts) at path `resource/lfs/locale/ts` + +### Before starting your work + +In order to facilitate coordination, please contact me via email before you +start this work. This is very important, please contact me first so that the +work you do can be better used by GpgFrontend. + +### Updates to Translation Work Process + +- **For correcting existing translations**: You can directly modify the ts files + and then send them to me via email. +- **For adding a new language translation**: If you're unfamiliar with the + process, you can request a new ts file by emailing me. I will provide you with + the necessary file to start the translation for the new language. + +### Hand in your work + +You can submit your great work in two ways: + +1. Raise a pull request and merge the changed translation file(s) to the + repository. +2. [Email ME](mailto:[email protected]). Please attach the changed ts file in the + email. |