diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..9ce55da3 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ + +.git +.github +dist/appimage-raw/build diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..e61fe601 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +# Shell scripts and AppImage entry points must always use LF line endings +dist/appimage/*.sh text eol=lf +dist/appimage/AppRun text eol=lf \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 5d3cdf23..152b8020 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -19,9 +19,9 @@ A clear and concise description of what you expected to happen. **Screenshots** If applicable, add screenshots to help explain your problem. -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Version [e.g. 22] +**Environment (please complete the following information):** + - OS: [e.g. Ubuntu 19.04, Fedora 31 or Arch] + - Ásbrú Version [e.g. 6.1.1 or 6.2.0 or loki] **Additional context** Add any other context about the problem here. diff --git a/.github/no-response.yml b/.github/no-response.yml deleted file mode 100644 index c1b4c58f..00000000 --- a/.github/no-response.yml +++ /dev/null @@ -1,13 +0,0 @@ -# Configuration for probot-no-response - https://github.com/probot/no-response -# -# # Number of days of inactivity before an Issue is closed for lack of response -daysUntilClose: 10 -# Label requiring a response -responseRequiredLabel: "awaiting feedback" -# Comment to post when closing an Issue for lack of response. Set to `false` to disable -closeComment: > - This issue has been automatically closed because there has been no response - to our request for more information from the original author. With only the - information that is currently in the issue, we don't have enough information - to take action. Please reach out if you have or find the answers we need so - that we can investigate further. diff --git a/.github/workflows/build-loki.yml b/.github/workflows/build-loki.yml new file mode 100644 index 00000000..b48fd79f --- /dev/null +++ b/.github/workflows/build-loki.yml @@ -0,0 +1,16 @@ +name: Build Loki Packages + +on: + push: + branches: [ loki ] + +jobs: + build-test: + uses: ./.github/workflows/package-build.yml + with: + cloudsmith_dest: loki + packagecloud_repo: loki + secrets: + CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} + PACKAGECLOUD_USER: ${{ secrets.PACKAGECLOUD_USER }} + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml new file mode 100644 index 00000000..759badaf --- /dev/null +++ b/.github/workflows/build-release.yml @@ -0,0 +1,72 @@ +name: Build Release Packages + +on: + push: + tags: + - 'v*' + +jobs: + build-test: + uses: ./.github/workflows/package-build.yml + with: + cloudsmith_dest: release + packagecloud_repo: asbru-cm + secrets: + CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} + PACKAGECLOUD_USER: ${{ secrets.PACKAGECLOUD_USER }} + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + + build-appimage: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Build AppImage Docker image + run: docker build --tag=asbru-cm-appimage-maker --file=dist/appimage/Dockerfile . + + - name: Run AppImage builder + run: | + CIDFILE=$(mktemp -u) + docker run --cidfile "$CIDFILE" --privileged=true -i asbru-cm-appimage-maker /bin/bash \ + < dist/appimage/container_make_appimage.sh + docker cp "$(cat "$CIDFILE"):/Asbru-CM.AppImage" "Asbru-CM-${{ github.ref_name }}.AppImage" + docker rm "$(cat "$CIDFILE")" + chmod a+x "Asbru-CM-${{ github.ref_name }}.AppImage" + + - name: Upload AppImage artifact + uses: actions/upload-artifact@v4 + with: + name: appimage + path: "Asbru-CM-${{ github.ref_name }}.AppImage" + + publish-release: + needs: [build-test, build-appimage] + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Download all artifacts + uses: actions/download-artifact@v4 + with: + path: artifacts/ + + - name: Collect and rename release packages + run: | + find artifacts/ -mindepth 2 -maxdepth 2 -type f | while read -r file; do + dir=$(basename "$(dirname "$file")") + filename=$(basename "$file") + ext="${filename##*.}" + base="${filename%.*}" + case "$filename" in + *.deb) mv "$file" "artifacts/${base}_${dir}.${ext}" ;; + *.rpm) mv "$file" "artifacts/${base}_${dir}.${ext}" ;; + *.AppImage) mv "$file" "artifacts/$filename" ;; + esac + done + + - name: Attach artifacts to GitHub Release + uses: softprops/action-gh-release@v2 + with: + files: artifacts/* + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/build-snapshots.yml b/.github/workflows/build-snapshots.yml new file mode 100644 index 00000000..5bc2ede1 --- /dev/null +++ b/.github/workflows/build-snapshots.yml @@ -0,0 +1,82 @@ +name: Build Snapshot/Master Packages + +on: + push: + branches: [ master ] + +jobs: + build-test: + uses: ./.github/workflows/package-build.yml + with: + cloudsmith_dest: snapshots + packagecloud_repo: snapshots + secrets: + CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} + PACKAGECLOUD_USER: ${{ secrets.PACKAGECLOUD_USER }} + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + + build-appimage: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Build AppImage Docker image + run: docker build --tag=asbru-cm-appimage-maker --file=dist/appimage/Dockerfile . + + - name: Run AppImage builder + run: | + CIDFILE=$(mktemp -u) + docker run --cidfile "$CIDFILE" --privileged=true -i asbru-cm-appimage-maker /bin/bash \ + < dist/appimage/container_make_appimage.sh + docker cp "$(cat "$CIDFILE"):/Asbru-CM.AppImage" Asbru-CM-snapshot.AppImage + docker rm "$(cat "$CIDFILE")" + chmod a+x Asbru-CM-snapshot.AppImage + + - name: Upload AppImage artifact + uses: actions/upload-artifact@v4 + with: + name: appimage + path: Asbru-CM-snapshot.AppImage + + publish-snapshot-release: + needs: [build-test, build-appimage] + if: ${{ always() && needs.build-test.result == 'success' }} + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Download all artifacts + uses: actions/download-artifact@v4 + with: + path: artifacts/ + + - name: Delete old snapshot release + run: | + gh release delete snapshot --yes --cleanup-tag --repo "$GITHUB_REPOSITORY" || \ + echo "No existing snapshot release to delete (or delete failed — continuing)." + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Collect and rename release packages + run: | + find artifacts/ -mindepth 2 -maxdepth 2 -type f | while read -r file; do + dir=$(basename "$(dirname "$file")") + filename=$(basename "$file") + ext="${filename##*.}" + base="${filename%.*}" + case "$filename" in + *.deb) mv "$file" "artifacts/${base}_${dir}.${ext}" ;; + *.rpm) mv "$file" "artifacts/${base}_${dir}.${ext}" ;; + *.AppImage) mv "$file" "artifacts/$filename" ;; + esac + done + + - name: Update snapshot release + uses: softprops/action-gh-release@v2 + with: + tag_name: snapshot + name: "Snapshot Build" + prerelease: true + files: artifacts/* + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml new file mode 100644 index 00000000..552fa058 --- /dev/null +++ b/.github/workflows/build-test.yml @@ -0,0 +1,16 @@ +name: Build Test Packages + +on: + push: + branches: [ build-test ] + +jobs: + build-test: + uses: ./.github/workflows/package-build.yml + with: + cloudsmith_dest: test + packagecloud_repo: test + secrets: + CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} + PACKAGECLOUD_USER: ${{ secrets.PACKAGECLOUD_USER }} + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 00000000..7818a46b --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,92 @@ +name: Build & Deploy Docs + +on: + push: + branches: [ master, build-test ] + workflow_dispatch: + +jobs: + docs: + runs-on: ubuntu-latest + + env: + CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + steps: + - name: Checkout sources + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.1' + + - name: Install changelog generator + run: | + gem install rack -v 1.6.4 + gem install github_changelog_generator + + - name: Generate Changelog + run: | + github_changelog_generator \ + --release-branch master \ + --user asbru-cm \ + --project asbru-cm \ + --output doc/General/Changelog.md \ + --no-unreleased + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Install MkDocs dependencies + run: | + python -m pip install --upgrade pip + python -m pip install \ + "mkdocs>=1.5,<2.0" \ + "mkdocs-material>=9.5,<10" \ + "pymdown-extensions>=10,<11" + + - name: Prepare docs repo (test vs prod) + env: + GITHUB_API_KEY: ${{ secrets.DOCS_GITHUB_API_KEY }} + run: | + if [ -z "${GITHUB_API_KEY}" ]; then + echo "GITHUB_API_KEY not set please check DOCS_GITHUB_API_KEY secret" + exit 1 + fi + + if [ "${GITHUB_REF}" = "refs/heads/build-test" ]; then + GH_REPO="@github.com/asbru-cm-docs/asbrucm-docs-test.github.io.git" + else + GH_REPO="@github.com/asbru-cm-docs/asbrucm-docs.github.io.git" + fi + + FULL_REPO="https://${GITHUB_API_KEY}${GH_REPO}" + + rm -rf out + mkdir -p out + cd out + + git init + git remote add origin "$FULL_REPO" + git fetch origin || true + git config user.name "asbrucm-docs" + git config user.email "actions@asbru-cm.net" + + git checkout master + + - name: Build MkDocs site + run: | + mkdocs build --clean + + - name: Commit & Push docs + run: | + cd out + git add -A . + git commit -m "GH-Pages update by GitHub Actions after $GITHUB_SHA" || echo "Nothing to commit" + git push origin master + diff --git a/.github/workflows/no-response-bot.yml b/.github/workflows/no-response-bot.yml new file mode 100644 index 00000000..f222eb9f --- /dev/null +++ b/.github/workflows/no-response-bot.yml @@ -0,0 +1,33 @@ +name: No Response Bot + +# Note: both `issue_comment` and `scheduled` event types are required for this Action to work properly. +on: + issue_comment: + types: [created] + schedule: + # Schedule for five minutes after the hour, every 6 hours + - cron: '5 */6 * * *' + +# By specifying the access of one of the scopes, all of those that are not specified are set to 'none'. +permissions: + issues: write + +jobs: + noResponse: + runs-on: ubuntu-latest + if: ${{ github.repository == 'asbru-cm/asbru-cm' }} + steps: + - uses: godofredoc/no-response@0ce2dc0e63e1c7d2b87752ceed091f6d32c9df09 + with: + token: ${{ github.token }} + # Comment to post when closing an Issue for lack of response. Set to `false` to disable + closeComment: > + This issue has been automatically closed because there has been no response + to our request for more information from the original author. With only the + information that is currently in the issue, we don't have enough information + to take action. Please reach out if you have or find the answers we need so + that we can investigate further. + # Number of days of inactivity before an issue is closed for lack of response. + daysUntilClose: 10 + # Label requiring a response. + responseRequiredLabel: "awaiting feedback" diff --git a/.github/workflows/package-build.yml b/.github/workflows/package-build.yml new file mode 100644 index 00000000..6caa42e1 --- /dev/null +++ b/.github/workflows/package-build.yml @@ -0,0 +1,252 @@ +name: Package Build (Reusable) + +on: + workflow_call: + inputs: + cloudsmith_dest: + description: "Cloudsmith repo path (test/snapshots/loki/release)" + required: true + type: string + packagecloud_repo: + description: "Packagecloud repository name" + required: true + type: string + secrets: + CLOUDSMITH_API_KEY: + required: false + PACKAGECLOUD_USER: + required: false + PACKAGECLOUD_TOKEN: + required: false + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + include: + # Debian (supported) + - os: debian + dist: bullseye + package: deb + docker_repo: "" + docker_image: "" + repack_deb: "" + + - os: debian + dist: bookworm + package: deb + docker_repo: "" + docker_image: "" + repack_deb: "" + + - os: debian + dist: trixie + package: deb + docker_repo: "asbru/asbru-cm" + docker_image: "" + repack_deb: "" + + # Ubuntu (LTS) + - os: ubuntu + dist: jammy + package: deb + docker_repo: "" + docker_image: "" + repack_deb: "yes" + + - os: ubuntu + dist: noble + package: deb + docker_repo: "asbru/asbru-cm" + docker_image: "" + repack_deb: "yes" + + - os: ubuntu + dist: resolute + package: deb + docker_repo: "asbru/asbru-cm" + docker_image: "" + repack_deb: "yes" + + # Enterprise Linux + - os: el + dist: "8" + package: rpm + docker_repo: "" + docker_image: "" + repack_deb: "" + + #AlmaLinux 9 (EL 9 build) + - os: almalinux + dist: "9" + package: rpm + + # Fedora + - os: fedora + dist: "43" + package: rpm + docker_repo: "asbru/asbru-cm" + docker_image: "" + repack_deb: "" + + # Fedora + - os: fedora + dist: "44" + package: rpm + docker_repo: "asbru/asbru-cm" + docker_image: "" + repack_deb: "" + + # Linux Mint (21) + - os: linuxmint + dist: vanessa + package: deb + docker_repo: "" + docker_image: "ubuntu-jammy" + repack_deb: "" + + - os: linuxmint + dist: wilma + package: deb + docker_repo: "" + docker_image: "ubuntu-noble" + repack_deb: "" + + # Pop!_OS (22.04) + - os: pop + dist: jammy + package: deb + docker_repo: "" + docker_image: "ubuntu-jammy" + repack_deb: "yes" + + env: + PRODUCT: "asbru-cm" + OS: ${{ matrix.os }} + DIST: ${{ matrix.dist }} + PACKAGE: ${{ matrix.package }} + DOCKER_REPO: ${{ matrix.docker_repo }} + DOCKER_IMAGE: ${{ matrix.docker_image }} + REPACK_DEB: ${{ matrix.repack_deb }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install build dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + git devscripts debhelper quilt \ + python3 python3-pip python3-setuptools gpgv + python3 -m pip install --user --upgrade cloudsmith-cli + echo "$HOME/.local/bin" >> "$GITHUB_PATH" + + - name: Make build script executable + run: chmod +x ci/build_package.sh + + - name: Build packages + run: ci/build_package.sh + + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: "${{ matrix.os }}-${{ matrix.dist }}-${{ matrix.package }}" + path: build/* + + # Cloudsmith Upload (CLI) + - name: Upload to Cloudsmith + env: + CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} + run: | + set -euo pipefail + + if [ -z "${CLOUDSMITH_API_KEY:-}" ]; then + echo "CLOUDSMITH_API_KEY not set – skipping Cloudsmith upload." + exit 0 + fi + + DEST="${{ inputs.cloudsmith_dest }}" + + echo "Uploading to Cloudsmith: asbru-cm/${DEST}/${OS}/${DIST}" + shopt -s nullglob + + for file in build/*.${PACKAGE}; do + echo "Pushing $file..." + cloudsmith push "${PACKAGE}" "asbru-cm/${DEST}/${OS}/${DIST}" "$file" + done + + if [ "${PACKAGE}" = "deb" ]; then + for dsc in build/*.dsc; do + echo "Pushing source package $dsc..." + cloudsmith push "${PACKAGE}" \ + "asbru-cm/${DEST}/${OS}/${DIST}" \ + "$dsc" \ + --sources-file build/*.debian.tar.* + done + fi + + # Packagecloud Upload + - name: Upload .deb to Packagecloud + continue-on-error: true + if: ${{ env.PACKAGE == 'deb' }} + uses: computology/packagecloud-github-action@v0.8 + env: + PACKAGECLOUD_USER: ${{ secrets.PACKAGECLOUD_USER }} + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + with: + package-name: build/*.deb + packagecloud-username: ${{ env.PACKAGECLOUD_USER }} + packagecloud-reponame: ${{ inputs.packagecloud_repo }} + packagecloud-distro: "${{ env.OS }}/${{ env.DIST }}" + packagecloud-token: ${{ env.PACKAGECLOUD_TOKEN }} + + - name: Upload .rpm to Packagecloud + continue-on-error: true + if: ${{ env.PACKAGE == 'rpm' }} + uses: computology/packagecloud-github-action@v0.8 + env: + PACKAGECLOUD_USER: ${{ secrets.PACKAGECLOUD_USER }} + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + with: + package-name: build/*.rpm + packagecloud-username: ${{ env.PACKAGECLOUD_USER }} + packagecloud-reponame: ${{ inputs.packagecloud_repo }} + packagecloud-distro: "${{ env.OS }}/${{ env.DIST }}" + packagecloud-token: ${{ env.PACKAGECLOUD_TOKEN }} + + - name: Upload .dsc to Packagecloud + continue-on-error: true + if: ${{ env.PACKAGE == 'deb' }} + uses: computology/packagecloud-github-action@v0.8 + env: + PACKAGECLOUD_USER: ${{ secrets.PACKAGECLOUD_USER }} + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + with: + package-name: build/*.dsc + packagecloud-username: ${{ env.PACKAGECLOUD_USER }} + packagecloud-reponame: ${{ inputs.packagecloud_repo }} + packagecloud-distro: "${{ env.OS }}/${{ env.DIST }}" + packagecloud-token: ${{ env.PACKAGECLOUD_TOKEN }} + + - name: Prune old Packagecloud packages + if: ${{ inputs.packagecloud_repo != '' && inputs.packagecloud_repo != 'release' }} + env: + PACKAGECLOUD_USER: ${{ secrets.PACKAGECLOUD_USER }} + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + run: | + python -m pip install -r ./packpack/tools/requirements.txt + + # deb-Pakete aufräumen + python ./packpack/tools/packagecloud prune \ + "${PACKAGECLOUD_USER}/${{ inputs.packagecloud_repo }}" \ + deb "${OS}" "${DIST}" --keep 5 || true + + # rpm-Pakete aufräumen + python ./packpack/tools/packagecloud prune \ + "${PACKAGECLOUD_USER}/${{ inputs.packagecloud_repo }}" \ + rpm "${OS}" "${DIST}" --keep 5 || true + diff --git a/.gitignore b/.gitignore index f24ec169..c6f3e637 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ *.*~ lib/lib lib/res +/out diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..13566b81 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 59770c55..00000000 --- a/.travis.yml +++ /dev/null @@ -1,69 +0,0 @@ -sudo: required -language: perl -services: - - docker -env: - global: - - CHANGELOG_NAME=Asbru-CM Team - - CHANGELOG_EMAIL=contact@asbru-cm.net - - PRODUCT=asbru-cm - matrix: - - OS=debian DIST=jessie PACKAGE=deb - - OS=debian DIST=stretch PACKAGE=deb - - OS=debian DIST=buster PACKAGE=deb - - OS=ubuntu DIST=xenial PACKAGE=deb - - OS=ubuntu DIST=bionic PACKAGE=deb - - OS=ubuntu DIST=disco PACKAGE=deb DOCKER_REPO=asbru/asbru-cm - - OS=ubuntu DIST=eoan PACKAGE=deb - - OS=fedora DIST=29 PACKAGE=rpm - - OS=fedora DIST=30 PACKAGE=rpm - - OS=fedora DIST=31 PACKAGE=rpm - - OS=el DIST=7 PACKAGE=rpm - - OS=el DIST=8 PACKAGE=rpm - - OS=linuxmint DIST=sonya PACKAGE=deb DOCKER_IMAGE=debian-stretch - - OS=linuxmint DIST=sylvia PACKAGE=deb DOCKER_IMAGE=debian-stretch - - OS=linuxmint DIST=tara PACKAGE=deb DOCKER_IMAGE=ubuntu-bionic - - OS=linuxmint DIST=tessa PACKAGE=deb DOCKER_IMAGE=ubuntu-bionic - - OS=linuxmint DIST=tina PACKAGE=deb DOCKER_IMAGE=ubuntu-bionic - - OS=linuxmint DIST=tricia PACKAGE=deb DOCKER_IMAGE=ubuntu-bionic -install: - - sudo apt-get update - - sudo apt-get install git devscripts debhelper quilt -script: ./build.sh -deploy: - - provider: packagecloud - skip_cleanup: true - repository: snapshots - username: ${PACKAGECLOUD_USER} - token: ${PACKAGECLOUD_TOKEN} - dist: ${OS}/${DIST} - package_glob: "build/*.{deb,rpm,dsc}" - on: - branch: master - - provider: packagecloud - skip_cleanup: true - repository: asbru-cm - username: ${PACKAGECLOUD_USER} - token: ${PACKAGECLOUD_TOKEN} - dist: ${OS}/${DIST} - package_glob: "build/*.{deb,rpm,dsc}" - on: - tags: true - - provider: packagecloud - skip_cleanup: true - repository: loki - username: ${PACKAGECLOUD_USER} - token: ${PACKAGECLOUD_TOKEN} - dist: ${OS}/${DIST} - package_glob: "build/*.{deb,rpm,dsc}" - on: - branch: loki - - -after_deploy: - # Prune old packages from packagecloud. The last 5 should be enough. - - pip install -r ./packpack/tools/requirements.txt - - python ./packpack/tools/packagecloud prune ${PACKAGECLOUD_USER}/snapshots deb ${OS} ${DIST} --keep 5 - - python ./packpack/tools/packagecloud prune ${PACKAGECLOUD_USER}/snapshots rpm ${OS} ${DIST} --keep 5 - - python ./packpack/tools/packagecloud prune ${PACKAGECLOUD_USER}/loki deb ${OS} ${DIST} --keep 5 - - python ./packpack/tools/packagecloud prune ${PACKAGECLOUD_USER}/loki rpm ${OS} ${DIST} --keep 5 diff --git a/CHANGELOG.md b/CHANGELOG.md index f0aaadf2..bb7ab750 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,506 +1 @@ -# Changelog - -## [6.1.0rc1](https://github.com/asbru-cm/asbru-cm/tree/6.1.0rc1) (2020-03-01) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/6.0.4...6.1.0rc1) - -**Implemented enhancements:** - -- Add support for the "jump host" functionality of SSH [\#67](https://github.com/asbru-cm/asbru-cm/issues/67) - -**Fixed bugs:** - -- UTF8 characters not showing properly [\#423](https://github.com/asbru-cm/asbru-cm/issues/423) -- asbru-cm 6.1.0 rc1 on EL7 does not start [\#417](https://github.com/asbru-cm/asbru-cm/issues/417) -- ssh port number field too small [\#410](https://github.com/asbru-cm/asbru-cm/issues/410) - -**Closed issues:** - -- Installation fails in Arch or Manjaro [\#427](https://github.com/asbru-cm/asbru-cm/issues/427) -- 6.1.0 rc1 SSH saved connections icon \(EL7\) [\#418](https://github.com/asbru-cm/asbru-cm/issues/418) -- Debian/Ubuntu 16.04 - Error during installation of package due to unmet dependencies [\#405](https://github.com/asbru-cm/asbru-cm/issues/405) -- Please add support to KeePass 2 Database File [\#400](https://github.com/asbru-cm/asbru-cm/issues/400) -- Remove Net::Proxy, replace with ssh option parameters [\#323](https://github.com/asbru-cm/asbru-cm/issues/323) - -**Merged pull requests:** - -- Vncrdpsocksproxy [\#404](https://github.com/asbru-cm/asbru-cm/pull/404) ([hanspr](https://github.com/hanspr)) -- show hidden connection list on info tab selected [\#401](https://github.com/asbru-cm/asbru-cm/pull/401) ([hanspr](https://github.com/hanspr)) -- Find bug266 [\#398](https://github.com/asbru-cm/asbru-cm/pull/398) ([hanspr](https://github.com/hanspr)) -- Fix focus [\#396](https://github.com/asbru-cm/asbru-cm/pull/396) ([hanspr](https://github.com/hanspr)) -- URGENT REGRESSION MISSING KEY FILE [\#394](https://github.com/asbru-cm/asbru-cm/pull/394) ([hanspr](https://github.com/hanspr)) -- Treeview 2 [\#392](https://github.com/asbru-cm/asbru-cm/pull/392) ([hanspr](https://github.com/hanspr)) -- Cluster windows [\#390](https://github.com/asbru-cm/asbru-cm/pull/390) ([hanspr](https://github.com/hanspr)) -- Fix372 2 [\#388](https://github.com/asbru-cm/asbru-cm/pull/388) ([hanspr](https://github.com/hanspr)) -- Proxyvncrdp1 [\#384](https://github.com/asbru-cm/asbru-cm/pull/384) ([hanspr](https://github.com/hanspr)) -- Fixcompact [\#383](https://github.com/asbru-cm/asbru-cm/pull/383) ([hanspr](https://github.com/hanspr)) -- Fix373 [\#377](https://github.com/asbru-cm/asbru-cm/pull/377) ([hanspr](https://github.com/hanspr)) -- Fix372 [\#376](https://github.com/asbru-cm/asbru-cm/pull/376) ([hanspr](https://github.com/hanspr)) -- Handlepipechar [\#375](https://github.com/asbru-cm/asbru-cm/pull/375) ([hanspr](https://github.com/hanspr)) -- Portforward2 [\#371](https://github.com/asbru-cm/asbru-cm/pull/371) ([hanspr](https://github.com/hanspr)) -- Portforward improvement [\#370](https://github.com/asbru-cm/asbru-cm/pull/370) ([hanspr](https://github.com/hanspr)) -- Rdpvnc [\#368](https://github.com/asbru-cm/asbru-cm/pull/368) ([hanspr](https://github.com/hanspr)) -- Moveproxyssh [\#367](https://github.com/asbru-cm/asbru-cm/pull/367) ([hanspr](https://github.com/hanspr)) -- Transientwindows [\#365](https://github.com/asbru-cm/asbru-cm/pull/365) ([hanspr](https://github.com/hanspr)) -- Fix359 [\#362](https://github.com/asbru-cm/asbru-cm/pull/362) ([hanspr](https://github.com/hanspr)) -- Transparency1 [\#360](https://github.com/asbru-cm/asbru-cm/pull/360) ([hanspr](https://github.com/hanspr)) -- Fix67 2 [\#357](https://github.com/asbru-cm/asbru-cm/pull/357) ([hanspr](https://github.com/hanspr)) -- Fix67 1 [\#356](https://github.com/asbru-cm/asbru-cm/pull/356) ([hanspr](https://github.com/hanspr)) -- Fix323 improvements [\#348](https://github.com/asbru-cm/asbru-cm/pull/348) ([hanspr](https://github.com/hanspr)) -- Fix211 [\#339](https://github.com/asbru-cm/asbru-cm/pull/339) ([hanspr](https://github.com/hanspr)) -- Fix208 [\#338](https://github.com/asbru-cm/asbru-cm/pull/338) ([hanspr](https://github.com/hanspr)) -- Fix210 [\#337](https://github.com/asbru-cm/asbru-cm/pull/337) ([hanspr](https://github.com/hanspr)) -- Netproxy remove [\#336](https://github.com/asbru-cm/asbru-cm/pull/336) ([hanspr](https://github.com/hanspr)) -- Fix323 FOR TESTING [\#335](https://github.com/asbru-cm/asbru-cm/pull/335) ([hanspr](https://github.com/hanspr)) - -## [6.0.4](https://github.com/asbru-cm/asbru-cm/tree/6.0.4) (2020-02-04) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/6.0.3...6.0.4) - -**Implemented enhancements:** - -- ssh compression activated by change of other options [\#359](https://github.com/asbru-cm/asbru-cm/issues/359) -- \(Snapshot Version 6\) Folder appearance [\#306](https://github.com/asbru-cm/asbru-cm/issues/306) - -**Fixed bugs:** - -- Asbru 6.0.2 does not save text in 'info tab' [\#372](https://github.com/asbru-cm/asbru-cm/issues/372) - -**Closed issues:** - -- Help with expect regex for this system [\#387](https://github.com/asbru-cm/asbru-cm/issues/387) -- Indentation problem [\#385](https://github.com/asbru-cm/asbru-cm/issues/385) -- Proposal to replace OSSP::uuid dependency for Data::UUID [\#374](https://github.com/asbru-cm/asbru-cm/issues/374) -- Some servers disconnected when using clusters [\#373](https://github.com/asbru-cm/asbru-cm/issues/373) -- 6.0.2: Select-by-word characters not functioning [\#363](https://github.com/asbru-cm/asbru-cm/issues/363) -- Please correct Debian dependencies entry in wiki [\#361](https://github.com/asbru-cm/asbru-cm/issues/361) -- \[gtk3\] VTE transparency [\#207](https://github.com/asbru-cm/asbru-cm/issues/207) - -**Merged pull requests:** - -- fix find bug [\#399](https://github.com/asbru-cm/asbru-cm/pull/399) ([hanspr](https://github.com/hanspr)) -- Treeview master [\#393](https://github.com/asbru-cm/asbru-cm/pull/393) ([hanspr](https://github.com/hanspr)) -- improved restart logic on exit, removed sleep [\#389](https://github.com/asbru-cm/asbru-cm/pull/389) ([hanspr](https://github.com/hanspr)) -- retry on timeout [\#380](https://github.com/asbru-cm/asbru-cm/pull/380) ([hanspr](https://github.com/hanspr)) - -## [6.0.3](https://github.com/asbru-cm/asbru-cm/tree/6.0.3) (2020-01-17) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/6.0.2...6.0.3) - -**Implemented enhancements:** - -- Port asbru\_from\_superputty.py to python3 [\#355](https://github.com/asbru-cm/asbru-cm/issues/355) -- Invalid scroll position in KDE \(gtk3\) [\#303](https://github.com/asbru-cm/asbru-cm/issues/303) - -**Fixed bugs:** - -- Question: Is there a dependency on Python 2? [\#354](https://github.com/asbru-cm/asbru-cm/issues/354) - -**Closed issues:** - -- libnet-proxy-perl dependency old and deprecated [\#218](https://github.com/asbru-cm/asbru-cm/issues/218) - -## [6.0.2](https://github.com/asbru-cm/asbru-cm/tree/6.0.2) (2020-01-11) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/6.0.1...6.0.2) - -**Implemented enhancements:** - -- Reverse button order to "Cancel" "OK"? [\#229](https://github.com/asbru-cm/asbru-cm/issues/229) -- asbru for centos [\#60](https://github.com/asbru-cm/asbru-cm/issues/60) -- Icons and some buttons are small on 4K display [\#55](https://github.com/asbru-cm/asbru-cm/issues/55) - -**Fixed bugs:** - -- Host key verification throws script error [\#344](https://github.com/asbru-cm/asbru-cm/issues/344) -- local command automated username error. [\#341](https://github.com/asbru-cm/asbru-cm/issues/341) -- RDP keyboard stops to work [\#331](https://github.com/asbru-cm/asbru-cm/issues/331) -- Remote commands in Cluster connections [\#304](https://github.com/asbru-cm/asbru-cm/issues/304) -- SSH connection via SOCKS proxy not working [\#280](https://github.com/asbru-cm/asbru-cm/issues/280) -- Crash when re-attaching window [\#70](https://github.com/asbru-cm/asbru-cm/issues/70) - -**Closed issues:** - -- Terminals Tabbed Window fails in Compact Window Layout [\#352](https://github.com/asbru-cm/asbru-cm/issues/352) -- Keepass does not work in latest [\#343](https://github.com/asbru-cm/asbru-cm/issues/343) -- asbru-cm.spec - another similar minor issue [\#333](https://github.com/asbru-cm/asbru-cm/issues/333) -- asbru-cm.spec file - minor correction [\#332](https://github.com/asbru-cm/asbru-cm/issues/332) -- Resizing left menu section doesn't repaint the console properly [\#310](https://github.com/asbru-cm/asbru-cm/issues/310) -- 2FA under Authentication options [\#300](https://github.com/asbru-cm/asbru-cm/issues/300) -- \[gtk3\] VTE history of commands [\#211](https://github.com/asbru-cm/asbru-cm/issues/211) -- \[gtk3\] VTE bold is bright option [\#210](https://github.com/asbru-cm/asbru-cm/issues/210) -- \[gtk3\] VTE visible bell [\#208](https://github.com/asbru-cm/asbru-cm/issues/208) -- \[gtk3\] VTE: Remove or rework "Term Emulation" [\#206](https://github.com/asbru-cm/asbru-cm/issues/206) - -**Merged pull requests:** - -- fix343 [\#350](https://github.com/asbru-cm/asbru-cm/pull/350) ([hanspr](https://github.com/hanspr)) -- fix \#341 [\#347](https://github.com/asbru-cm/asbru-cm/pull/347) ([hanspr](https://github.com/hanspr)) -- fix \#344 [\#346](https://github.com/asbru-cm/asbru-cm/pull/346) ([hanspr](https://github.com/hanspr)) -- fixed regression tabbed terminals [\#334](https://github.com/asbru-cm/asbru-cm/pull/334) ([hanspr](https://github.com/hanspr)) - -## [6.0.1](https://github.com/asbru-cm/asbru-cm/tree/6.0.1) (2020-01-04) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/6.0.0...6.0.1) - -**Implemented enhancements:** - -- Password is visible on the taskbar tooltip for RDP session \(xfreerdp\) [\#328](https://github.com/asbru-cm/asbru-cm/issues/328) - -**Fixed bugs:** - -- Asbru-cm doesn't start anymore after upgrading to 6.0 [\#329](https://github.com/asbru-cm/asbru-cm/issues/329) -- Click on re-attached tab, open an empty window [\#327](https://github.com/asbru-cm/asbru-cm/issues/327) - -**Closed issues:** - -- Dropping support for legacy distributions [\#325](https://github.com/asbru-cm/asbru-cm/issues/325) - -## [6.0.0](https://github.com/asbru-cm/asbru-cm/tree/6.0.0) (2020-01-02) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/5.2.1...6.0.0) - -**Implemented enhancements:** - -- Can not install on LinuxMint/tricia [\#321](https://github.com/asbru-cm/asbru-cm/issues/321) -- \[gtk3\] GtkDialog mapped without a transient parent [\#312](https://github.com/asbru-cm/asbru-cm/issues/312) -- Copy password from another connection defined in the Connections List [\#295](https://github.com/asbru-cm/asbru-cm/issues/295) -- Double click on tab to restart [\#281](https://github.com/asbru-cm/asbru-cm/issues/281) -- gtk3 Minimalist Main Window [\#262](https://github.com/asbru-cm/asbru-cm/issues/262) -- Disable ssh's X forwarding by default [\#247](https://github.com/asbru-cm/asbru-cm/issues/247) -- not found asbru-cm deb from repository [\#237](https://github.com/asbru-cm/asbru-cm/issues/237) -- Automatic Keyboard Focus [\#148](https://github.com/asbru-cm/asbru-cm/issues/148) -- More compact server-list tree [\#133](https://github.com/asbru-cm/asbru-cm/issues/133) -- Garbage characters in shell logfiles [\#132](https://github.com/asbru-cm/asbru-cm/issues/132) -- Flatpak support [\#83](https://github.com/asbru-cm/asbru-cm/issues/83) -- Add feature to see RDP connection log \(especially errors\) directly in asbru-cm [\#76](https://github.com/asbru-cm/asbru-cm/issues/76) -- Right-click on connection-tree changes selection [\#51](https://github.com/asbru-cm/asbru-cm/issues/51) -- Renaming a cloned connection can be confusing [\#37](https://github.com/asbru-cm/asbru-cm/issues/37) - -**Fixed bugs:** - -- Some regressions in gtk3 [\#317](https://github.com/asbru-cm/asbru-cm/issues/317) -- RPM packaging issue: res directory is in incorrect path [\#302](https://github.com/asbru-cm/asbru-cm/issues/302) -- VNC connection status is not parsed properly \(always "connecting"\) [\#301](https://github.com/asbru-cm/asbru-cm/issues/301) -- Cannot change proxy settings [\#291](https://github.com/asbru-cm/asbru-cm/issues/291) -- Can not input username more than 14 symbols on Proxy tab [\#288](https://github.com/asbru-cm/asbru-cm/issues/288) -- Terminals not closing on el7 [\#269](https://github.com/asbru-cm/asbru-cm/issues/269) -- \[gtk3\] It doesn't close, the windows [\#259](https://github.com/asbru-cm/asbru-cm/issues/259) -- Removing a local/remote command/macro might remove another one [\#252](https://github.com/asbru-cm/asbru-cm/issues/252) -- asbru-cm gtk3 rpm missing file [\#250](https://github.com/asbru-cm/asbru-cm/issues/250) -- Latest asbru-cm 6.0 builds not working on RHEL 7.7 [\#240](https://github.com/asbru-cm/asbru-cm/issues/240) -- \<-= DISCONNECTED \(PRESS \ TO RECONNECT\) issue in gtk3 [\#232](https://github.com/asbru-cm/asbru-cm/issues/232) -- \[gtk3\] VNC connection \(in embed mode\) does not work properly [\#199](https://github.com/asbru-cm/asbru-cm/issues/199) -- Deleting one cluster deletes all [\#180](https://github.com/asbru-cm/asbru-cm/issues/180) -- VNC options empty: Can't call method "\_buildGUI" on an undefined value [\#178](https://github.com/asbru-cm/asbru-cm/issues/178) -- Right mouse click on tab title stop working [\#169](https://github.com/asbru-cm/asbru-cm/issues/169) -- Cannot interact with multiple selections in Connection list [\#168](https://github.com/asbru-cm/asbru-cm/issues/168) -- ncurses: showing applications in ncurses is looking very ugly [\#143](https://github.com/asbru-cm/asbru-cm/issues/143) -- Cluster explode: window sizes and placement are incorrect [\#98](https://github.com/asbru-cm/asbru-cm/issues/98) -- "Retab" button in PCC causes asbru-cm to crash [\#52](https://github.com/asbru-cm/asbru-cm/issues/52) -- Pasting long passwords into password prompt doesn't always work [\#49](https://github.com/asbru-cm/asbru-cm/issues/49) -- starting asbru-cm a second time leads to segfault [\#23](https://github.com/asbru-cm/asbru-cm/issues/23) -- Guessing the hostname with \+\+\ doesn't work with zsh [\#9](https://github.com/asbru-cm/asbru-cm/issues/9) -- Errors while opening local shell should not be shown as messages of the remote session [\#4](https://github.com/asbru-cm/asbru-cm/issues/4) - -**Closed issues:** - -- \[gtk3\] alt-e does not open connection editor [\#314](https://github.com/asbru-cm/asbru-cm/issues/314) -- GTK3 about size of preference [\#293](https://github.com/asbru-cm/asbru-cm/issues/293) -- Manual password required [\#283](https://github.com/asbru-cm/asbru-cm/issues/283) -- Unable to Install GTK2 or GTK3 versions on Centos 7.6 [\#274](https://github.com/asbru-cm/asbru-cm/issues/274) -- Placement of the context menu after right click the asbru-cm tray icon \(on EL7\) [\#273](https://github.com/asbru-cm/asbru-cm/issues/273) -- gtk3 version not running on debian 10, xfce4 [\#272](https://github.com/asbru-cm/asbru-cm/issues/272) -- \[gtk3\] Remove termcap [\#271](https://github.com/asbru-cm/asbru-cm/issues/271) -- Move all encoding to utf8 [\#268](https://github.com/asbru-cm/asbru-cm/issues/268) -- Find option shows lots of weird characters [\#266](https://github.com/asbru-cm/asbru-cm/issues/266) -- asbru crashed, config file empty [\#265](https://github.com/asbru-cm/asbru-cm/issues/265) -- \[GTK3\] Typing text not replicated on cluster windows [\#261](https://github.com/asbru-cm/asbru-cm/issues/261) -- vteFeedChild [\#256](https://github.com/asbru-cm/asbru-cm/issues/256) -- \[gtk3\] Faulty link in license dialog [\#251](https://github.com/asbru-cm/asbru-cm/issues/251) -- gtk3 Favourites [\#245](https://github.com/asbru-cm/asbru-cm/issues/245) -- Full width banner [\#233](https://github.com/asbru-cm/asbru-cm/issues/233) -- SSH options: clashing local port wipes out previous entries [\#179](https://github.com/asbru-cm/asbru-cm/issues/179) - -**Merged pull requests:** - -- added execute cluster commit on confirmed if confirmation was required [\#324](https://github.com/asbru-cm/asbru-cm/pull/324) ([hanspr](https://github.com/hanspr)) -- added cluster commit, \#304 [\#322](https://github.com/asbru-cm/asbru-cm/pull/322) ([hanspr](https://github.com/hanspr)) -- fixed regression removing unless from eq to ne [\#320](https://github.com/asbru-cm/asbru-cm/pull/320) ([hanspr](https://github.com/hanspr)) -- Fix spelling in banner of "Power Cluster Controller" [\#319](https://github.com/asbru-cm/asbru-cm/pull/319) ([merikz](https://github.com/merikz)) -- revised unless statements, caused regressions [\#318](https://github.com/asbru-cm/asbru-cm/pull/318) ([hanspr](https://github.com/hanspr)) -- \[gtk3\] regression from removal of "unless" \(fixes \#314\) [\#315](https://github.com/asbru-cm/asbru-cm/pull/315) ([merikz](https://github.com/merikz)) -- Remove GTK-Message:GtkDialog mapped without a transient parent. \(\#312\) [\#313](https://github.com/asbru-cm/asbru-cm/pull/313) ([merikz](https://github.com/merikz)) -- added feature \#295 copy password, passphrase from terminal, connections [\#298](https://github.com/asbru-cm/asbru-cm/pull/298) ([hanspr](https://github.com/hanspr)) -- Shrink preferences [\#296](https://github.com/asbru-cm/asbru-cm/pull/296) ([hanspr](https://github.com/hanspr)) -- Fix layout [\#292](https://github.com/asbru-cm/asbru-cm/pull/292) ([hanspr](https://github.com/hanspr)) -- Fix229 [\#290](https://github.com/asbru-cm/asbru-cm/pull/290) ([hanspr](https://github.com/hanspr)) -- Fix288 [\#289](https://github.com/asbru-cm/asbru-cm/pull/289) ([hanspr](https://github.com/hanspr)) -- Fix232 [\#287](https://github.com/asbru-cm/asbru-cm/pull/287) ([hanspr](https://github.com/hanspr)) -- Add layouts [\#286](https://github.com/asbru-cm/asbru-cm/pull/286) ([hanspr](https://github.com/hanspr)) -- Fix179 [\#284](https://github.com/asbru-cm/asbru-cm/pull/284) ([hanspr](https://github.com/hanspr)) -- Automatically create configuration backups [\#279](https://github.com/asbru-cm/asbru-cm/pull/279) ([hanspr](https://github.com/hanspr)) -- Proposal Export debug information [\#278](https://github.com/asbru-cm/asbru-cm/pull/278) ([hanspr](https://github.com/hanspr)) -- removed depresiated method in gtk3, fixed render problem with \<\>, fix… [\#277](https://github.com/asbru-cm/asbru-cm/pull/277) ([hanspr](https://github.com/hanspr)) -- Fix regression [\#276](https://github.com/asbru-cm/asbru-cm/pull/276) ([hanspr](https://github.com/hanspr)) -- Utf8 migration [\#275](https://github.com/asbru-cm/asbru-cm/pull/275) ([hanspr](https://github.com/hanspr)) -- Menu icons [\#260](https://github.com/asbru-cm/asbru-cm/pull/260) ([hanspr](https://github.com/hanspr)) -- Add pcc tray menu [\#258](https://github.com/asbru-cm/asbru-cm/pull/258) ([hanspr](https://github.com/hanspr)) -- Fix mouse on cluster [\#257](https://github.com/asbru-cm/asbru-cm/pull/257) ([hanspr](https://github.com/hanspr)) -- fix copy with mouse selection gets lost sometimes [\#255](https://github.com/asbru-cm/asbru-cm/pull/255) ([hanspr](https://github.com/hanspr)) -- better window placement on explode [\#254](https://github.com/asbru-cm/asbru-cm/pull/254) ([hanspr](https://github.com/hanspr)) -- Utf8 test \(\#133\) [\#253](https://github.com/asbru-cm/asbru-cm/pull/253) ([hanspr](https://github.com/hanspr)) -- Fix \#168 [\#249](https://github.com/asbru-cm/asbru-cm/pull/249) ([hanspr](https://github.com/hanspr)) -- Gtk3 Save sessions popup menu [\#244](https://github.com/asbru-cm/asbru-cm/pull/244) ([hanspr](https://github.com/hanspr)) -- Gtk3 changed configdir to config-dir [\#241](https://github.com/asbru-cm/asbru-cm/pull/241) ([hanspr](https://github.com/hanspr)) -- Gtk3 Add global configuration settings [\#238](https://github.com/asbru-cm/asbru-cm/pull/238) ([hanspr](https://github.com/hanspr)) -- Gtk3format Large cosmetic change [\#236](https://github.com/asbru-cm/asbru-cm/pull/236) ([hanspr](https://github.com/hanspr)) -- Gtk3format. PACUtils.pm coding standard [\#235](https://github.com/asbru-cm/asbru-cm/pull/235) ([hanspr](https://github.com/hanspr)) -- Gtk3format, format, coding standard and documentation [\#231](https://github.com/asbru-cm/asbru-cm/pull/231) ([hanspr](https://github.com/hanspr)) -- Gtk3format PACTerminal.pm [\#228](https://github.com/asbru-cm/asbru-cm/pull/228) ([hanspr](https://github.com/hanspr)) -- Gtk3format PACMain [\#225](https://github.com/asbru-cm/asbru-cm/pull/225) ([hanspr](https://github.com/hanspr)) -- Gtk3format asbru-cm [\#224](https://github.com/asbru-cm/asbru-cm/pull/224) ([hanspr](https://github.com/hanspr)) -- CODING STANDARDt added [\#221](https://github.com/asbru-cm/asbru-cm/pull/221) ([hanspr](https://github.com/hanspr)) -- Gtk3 Fixes and proposed improvements [\#213](https://github.com/asbru-cm/asbru-cm/pull/213) ([hanspr](https://github.com/hanspr)) - -## [5.2.1](https://github.com/asbru-cm/asbru-cm/tree/5.2.1) (2019-10-26) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/5.2.0...5.2.1) - -**Implemented enhancements:** - -- \[gtk3\] reformat code request [\#217](https://github.com/asbru-cm/asbru-cm/issues/217) -- PNG screenshots [\#194](https://github.com/asbru-cm/asbru-cm/issues/194) -- Port to GTK3 and new VTE [\#176](https://github.com/asbru-cm/asbru-cm/issues/176) -- RSA authentication on MOSH protocol [\#173](https://github.com/asbru-cm/asbru-cm/issues/173) -- Highlight search results in terminal [\#172](https://github.com/asbru-cm/asbru-cm/issues/172) -- Installation on Linux Mint 19.2 Tina does not work [\#166](https://github.com/asbru-cm/asbru-cm/issues/166) -- Open duplicated connection just after current active tab [\#165](https://github.com/asbru-cm/asbru-cm/issues/165) -- Relocate "Set keyboard focus" button to gain a piece of screen in embedded tabs [\#160](https://github.com/asbru-cm/asbru-cm/issues/160) -- Add a free textbox to pass custom options in xfreerdp [\#158](https://github.com/asbru-cm/asbru-cm/issues/158) -- Paste current connection password button [\#152](https://github.com/asbru-cm/asbru-cm/issues/152) -- SSH authenticity of host issue [\#145](https://github.com/asbru-cm/asbru-cm/issues/145) -- Debian experimental \(buster\) removed libgnome2... [\#114](https://github.com/asbru-cm/asbru-cm/issues/114) -- Installing on fedora not working [\#106](https://github.com/asbru-cm/asbru-cm/issues/106) -- Unable to install on Linux Mint 19 \(LTS Release\) [\#96](https://github.com/asbru-cm/asbru-cm/issues/96) -- Debian - build libgnome2-vte-perl need additional dependency [\#93](https://github.com/asbru-cm/asbru-cm/issues/93) -- \[rdesktop\] Exhance parameters for rdesktop \(or any other client\) [\#81](https://github.com/asbru-cm/asbru-cm/issues/81) -- 'Start a shell upon startup' does not start a shell on startup [\#79](https://github.com/asbru-cm/asbru-cm/issues/79) - -**Fixed bugs:** - -- \[gtk3\] Can not type passprhasse, wrong terminal focus, can not login to any server [\#204](https://github.com/asbru-cm/asbru-cm/issues/204) -- "split" misspelled [\#177](https://github.com/asbru-cm/asbru-cm/issues/177) -- Size of embedded xfreerdp [\#153](https://github.com/asbru-cm/asbru-cm/issues/153) -- Cant start SSH session since last update \(missing PACUtils.pm\) on Fedora [\#147](https://github.com/asbru-cm/asbru-cm/issues/147) -- New windows will not get focus [\#142](https://github.com/asbru-cm/asbru-cm/issues/142) -- App freezes when connecting after saving/editing connection [\#139](https://github.com/asbru-cm/asbru-cm/issues/139) -- Forced password change on logon closes connection [\#138](https://github.com/asbru-cm/asbru-cm/issues/138) -- Cluster Controller - Uninitialized value \(Expect.pm\) [\#134](https://github.com/asbru-cm/asbru-cm/issues/134) - -**Closed issues:** - -- Warnings when renaming a connection [\#243](https://github.com/asbru-cm/asbru-cm/issues/243) -- gtk3 utf8 encoding terminal names [\#242](https://github.com/asbru-cm/asbru-cm/issues/242) -- \[gtk3\] Update xfreerdp dependency \(if possible\) [\#239](https://github.com/asbru-cm/asbru-cm/issues/239) -- Draw text on the banner as real text [\#234](https://github.com/asbru-cm/asbru-cm/issues/234) -- \(pac\_conn:22985\): Gtk-WARNING [\#227](https://github.com/asbru-cm/asbru-cm/issues/227) -- \[gtk3\] gtkSocket: only works under X11 [\#226](https://github.com/asbru-cm/asbru-cm/issues/226) -- KDE Neon compatibility [\#220](https://github.com/asbru-cm/asbru-cm/issues/220) -- \[gtk3\] Windows close on vertical resize [\#216](https://github.com/asbru-cm/asbru-cm/issues/216) -- \[gtk3\] Splash screen progress bar height [\#215](https://github.com/asbru-cm/asbru-cm/issues/215) -- ubuntu 19.10 support please [\#214](https://github.com/asbru-cm/asbru-cm/issues/214) -- \[gtk3\] Big GTK2 leftover cleanup [\#212](https://github.com/asbru-cm/asbru-cm/issues/212) -- \[gtk3\] VTE right-click [\#209](https://github.com/asbru-cm/asbru-cm/issues/209) -- \[gtk3\] Clusters sync input no longer works [\#205](https://github.com/asbru-cm/asbru-cm/issues/205) -- \[gtk3\] Asbru crashes if you inactivate option "Put Terminals y Tabs" [\#203](https://github.com/asbru-cm/asbru-cm/issues/203) -- \[gtk3\] Typelib file for namespace 'Wnck', version '3.0' not found [\#202](https://github.com/asbru-cm/asbru-cm/issues/202) -- Not installable on Debian Sid [\#201](https://github.com/asbru-cm/asbru-cm/issues/201) -- Suspicious pipe chars in regexps [\#197](https://github.com/asbru-cm/asbru-cm/issues/197) -- \[gtk3\] Local shell colors not remembered [\#196](https://github.com/asbru-cm/asbru-cm/issues/196) -- \[gtk3\] Set VTE's cwd via proper API [\#195](https://github.com/asbru-cm/asbru-cm/issues/195) -- \[gtk3\] feed\_child: passed too many parameters [\#193](https://github.com/asbru-cm/asbru-cm/issues/193) -- \[gtk3\] Searching in the terminal doesn't work [\#192](https://github.com/asbru-cm/asbru-cm/issues/192) -- \[gtk3\] New shortcuts shown that don't work [\#191](https://github.com/asbru-cm/asbru-cm/issues/191) -- \[gtk3\] "Connection UUID" text entry too large [\#190](https://github.com/asbru-cm/asbru-cm/issues/190) -- \[gtk3\] Wrong label for Proxy Configuration [\#189](https://github.com/asbru-cm/asbru-cm/issues/189) -- \[gtk3\] Broken screenshot viewer [\#188](https://github.com/asbru-cm/asbru-cm/issues/188) -- Launching a second Ásbrú crashes the first one [\#187](https://github.com/asbru-cm/asbru-cm/issues/187) -- \[gtk3\] Can't launch group [\#186](https://github.com/asbru-cm/asbru-cm/issues/186) -- \[gtk3\] Narrow input fields [\#185](https://github.com/asbru-cm/asbru-cm/issues/185) -- \[gtk3\] No statistics for groups [\#184](https://github.com/asbru-cm/asbru-cm/issues/184) -- Reports two more nodes [\#183](https://github.com/asbru-cm/asbru-cm/issues/183) -- Readonly mode doesn't work [\#181](https://github.com/asbru-cm/asbru-cm/issues/181) -- How can I load a PuTTy \(.ppk\) private key into an ssh connection? [\#161](https://github.com/asbru-cm/asbru-cm/issues/161) -- Common Router characters do not behave correctly \(TAB, CTRL-a, CTRL-e, UP-Arrow\) [\#141](https://github.com/asbru-cm/asbru-cm/issues/141) -- Snap support [\#97](https://github.com/asbru-cm/asbru-cm/issues/97) -- Error prevents RDP session from starting [\#57](https://github.com/asbru-cm/asbru-cm/issues/57) - -**Merged pull requests:** - -- Enabled RSA Authentication via MOSH protocol [\#174](https://github.com/asbru-cm/asbru-cm/pull/174) ([bitchecker](https://github.com/bitchecker)) -- Improving RDP methods [\#163](https://github.com/asbru-cm/asbru-cm/pull/163) ([figue](https://github.com/figue)) -- GUI: down 'Set keyboard focus' button to bottombox to gain a piece of… [\#162](https://github.com/asbru-cm/asbru-cm/pull/162) ([figue](https://github.com/figue)) -- Method rdesktop: add 32 bpp [\#159](https://github.com/asbru-cm/asbru-cm/pull/159) ([figue](https://github.com/figue)) -- Method xfreerdp: add 32 bpp [\#157](https://github.com/asbru-cm/asbru-cm/pull/157) ([figue](https://github.com/figue)) -- Add dynamic resolution and X11::GUITest method to calculate embed window size properly [\#155](https://github.com/asbru-cm/asbru-cm/pull/155) ([figue](https://github.com/figue)) - -## [5.2.0](https://github.com/asbru-cm/asbru-cm/tree/5.2.0) (2019-04-19) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/5.1.0...5.2.0) - -**Implemented enhancements:** - -- Ubuntu 19.04 - uninstallable [\#140](https://github.com/asbru-cm/asbru-cm/issues/140) -- FreeBSD port [\#119](https://github.com/asbru-cm/asbru-cm/issues/119) -- Changing shortcuts for COPY and PASTE commands [\#115](https://github.com/asbru-cm/asbru-cm/issues/115) -- Missing dependencies on \(k\)ubuntu 18.10 [\#113](https://github.com/asbru-cm/asbru-cm/issues/113) -- Retrieve terminal method inside scripts [\#105](https://github.com/asbru-cm/asbru-cm/issues/105) -- FreeBSD login [\#104](https://github.com/asbru-cm/asbru-cm/issues/104) -- make the "Info" tab always visible. [\#100](https://github.com/asbru-cm/asbru-cm/issues/100) -- Make it possible to close the Info tab [\#92](https://github.com/asbru-cm/asbru-cm/issues/92) -- Missing dependency in .deb package [\#90](https://github.com/asbru-cm/asbru-cm/issues/90) -- Add support for bionic [\#66](https://github.com/asbru-cm/asbru-cm/issues/66) - -**Fixed bugs:** - -- App closes/crashes [\#135](https://github.com/asbru-cm/asbru-cm/issues/135) -- Perl script when connection is launched executes multiple times [\#128](https://github.com/asbru-cm/asbru-cm/issues/128) -- Asbru-CM should save its main window position [\#123](https://github.com/asbru-cm/asbru-cm/issues/123) -- SHIFT+CTRL+V / SHIFT+CTRL+C seems not working [\#122](https://github.com/asbru-cm/asbru-cm/issues/122) -- tab switching / focus issue [\#120](https://github.com/asbru-cm/asbru-cm/issues/120) -- problem in \(Cisco\) ssh session [\#87](https://github.com/asbru-cm/asbru-cm/issues/87) - -**Closed issues:** - -- Wrong tooltip for Session log numbers [\#131](https://github.com/asbru-cm/asbru-cm/issues/131) -- Button for saythanks.io [\#126](https://github.com/asbru-cm/asbru-cm/issues/126) -- No colors and long wait for shell when connecting to mikrotik routers [\#125](https://github.com/asbru-cm/asbru-cm/issues/125) -- Executing whit sshrc method [\#118](https://github.com/asbru-cm/asbru-cm/issues/118) -- Why not a Mac osx version or port??? [\#116](https://github.com/asbru-cm/asbru-cm/issues/116) -- It doesnt connect [\#111](https://github.com/asbru-cm/asbru-cm/issues/111) -- Connection " is of type ", which is not supported.... [\#91](https://github.com/asbru-cm/asbru-cm/issues/91) -- zssh support [\#88](https://github.com/asbru-cm/asbru-cm/issues/88) - -**Merged pull requests:** - -- update split panes separator handling [\#124](https://github.com/asbru-cm/asbru-cm/pull/124) ([syco](https://github.com/syco)) -- Add option to change main window title with terminal title. [\#103](https://github.com/asbru-cm/asbru-cm/pull/103) ([kak-tus](https://github.com/kak-tus)) - -## [5.1.0](https://github.com/asbru-cm/asbru-cm/tree/5.1.0) (2018-07-23) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/5.0.0...5.1.0) - -**Implemented enhancements:** - -- Show button bar when hidden [\#89](https://github.com/asbru-cm/asbru-cm/issues/89) -- Adding new codenames in repository for Linux Mint \(18.x\) [\#63](https://github.com/asbru-cm/asbru-cm/issues/63) -- Add a "Close disconnected tabs" option to tab-bar-rightclick-menu [\#59](https://github.com/asbru-cm/asbru-cm/issues/59) -- Auto-save by default [\#44](https://github.com/asbru-cm/asbru-cm/issues/44) -- asbru-cm could not be installed in Redhat Enterprise Linux/CentOS 7 [\#30](https://github.com/asbru-cm/asbru-cm/issues/30) -- rpm spec file [\#24](https://github.com/asbru-cm/asbru-cm/issues/24) - -**Fixed bugs:** - -- Crash \(Delete connection\) [\#78](https://github.com/asbru-cm/asbru-cm/issues/78) -- rdp connection over xfreerdp doesn't work with special characters in password [\#75](https://github.com/asbru-cm/asbru-cm/issues/75) -- Connections Tree Panel reopenes when you switch tabs [\#58](https://github.com/asbru-cm/asbru-cm/issues/58) -- RPM package installs /asbru-cm in root [\#47](https://github.com/asbru-cm/asbru-cm/issues/47) -- desktop file is not installed to correct location [\#22](https://github.com/asbru-cm/asbru-cm/issues/22) -- Canceling user input dialogs for expect produces an error message [\#10](https://github.com/asbru-cm/asbru-cm/issues/10) - -**Closed issues:** - -- Merging of two yaml configurations asbru-cm \(for wiki\) [\#85](https://github.com/asbru-cm/asbru-cm/issues/85) -- Fedora 27/28: Permission denied opening ssh/rdp [\#84](https://github.com/asbru-cm/asbru-cm/issues/84) -- Split horizontal/vertical reversed [\#71](https://github.com/asbru-cm/asbru-cm/issues/71) -- Problem auto connect password [\#61](https://github.com/asbru-cm/asbru-cm/issues/61) -- 256 color support [\#54](https://github.com/asbru-cm/asbru-cm/issues/54) -- Mass-Import from a csv File [\#48](https://github.com/asbru-cm/asbru-cm/issues/48) -- Add a way to force a reconnect [\#46](https://github.com/asbru-cm/asbru-cm/issues/46) -- Opening a new connection maximizes the window [\#42](https://github.com/asbru-cm/asbru-cm/issues/42) -- Focus on connections can change and not be apparent why [\#38](https://github.com/asbru-cm/asbru-cm/issues/38) -- Export or import connections in .ssh/config [\#31](https://github.com/asbru-cm/asbru-cm/issues/31) -- ansible install script [\#20](https://github.com/asbru-cm/asbru-cm/issues/20) - -**Merged pull requests:** - -- Tweaks for more vertical terminal space [\#86](https://github.com/asbru-cm/asbru-cm/pull/86) ([lukefor](https://github.com/lukefor)) -- 201804 split fix2 [\#80](https://github.com/asbru-cm/asbru-cm/pull/80) ([basos9](https://github.com/basos9)) -- Fix append group name semantics \(append instead of prepend\) [\#77](https://github.com/asbru-cm/asbru-cm/pull/77) ([basos9](https://github.com/basos9)) -- Removed deprecated "have" function [\#64](https://github.com/asbru-cm/asbru-cm/pull/64) ([daugustin](https://github.com/daugustin)) -- Don't swallow key-accelerators which are not used by asbru [\#53](https://github.com/asbru-cm/asbru-cm/pull/53) ([nomike](https://github.com/nomike)) - -## [5.0.0](https://github.com/asbru-cm/asbru-cm/tree/5.0.0) (2017-12-29) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/5.0.0-RC4...5.0.0) - -**Implemented enhancements:** - -- Superputty to Asbru [\#39](https://github.com/asbru-cm/asbru-cm/issues/39) -- Bad repository generated by asbru.sh on ubuntu [\#21](https://github.com/asbru-cm/asbru-cm/issues/21) -- Request - Link binary to something in $PATH [\#15](https://github.com/asbru-cm/asbru-cm/issues/15) - -**Fixed bugs:** - -- Renaming node adds - [\#36](https://github.com/asbru-cm/asbru-cm/issues/36) -- Duplicated options strings on SSH Advanced options tab [\#19](https://github.com/asbru-cm/asbru-cm/issues/19) -- segfault on exit like good old pac [\#18](https://github.com/asbru-cm/asbru-cm/issues/18) - -**Closed issues:** - -- Session disconected after sucessful login and interactive menu showed [\#35](https://github.com/asbru-cm/asbru-cm/issues/35) -- User Variables does not work [\#28](https://github.com/asbru-cm/asbru-cm/issues/28) -- variable not allowed to be undef where GtkTreePath is wanted at /opt/asbru/lib/PACMain.pm line 986. [\#5](https://github.com/asbru-cm/asbru-cm/issues/5) - -**Merged pull requests:** - -- Adding script to convert SuperPutty Sessions.xml file to Asbru-cm yam… [\#40](https://github.com/asbru-cm/asbru-cm/pull/40) ([sonicepk](https://github.com/sonicepk)) -- New style of packaging [\#33](https://github.com/asbru-cm/asbru-cm/pull/33) ([KlaasT](https://github.com/KlaasT)) -- Debian automatic building [\#32](https://github.com/asbru-cm/asbru-cm/pull/32) ([KlaasT](https://github.com/KlaasT)) -- \[Bugfix\] - User variables doesn't work [\#29](https://github.com/asbru-cm/asbru-cm/pull/29) ([merikz](https://github.com/merikz)) -- \[Usability\] Add tooltip to "Edit" -\> "Expect" when disabled [\#26](https://github.com/asbru-cm/asbru-cm/pull/26) ([merikz](https://github.com/merikz)) -- add Arch/Manjaro instruction and some fix for this distributives [\#25](https://github.com/asbru-cm/asbru-cm/pull/25) ([beliys](https://github.com/beliys)) - -## [5.0.0-RC4](https://github.com/asbru-cm/asbru-cm/tree/5.0.0-RC4) (2017-11-12) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/5.0.0-RC3...5.0.0-RC4) - -**Implemented enhancements:** - -- bracketed paste mode [\#12](https://github.com/asbru-cm/asbru-cm/issues/12) - -**Fixed bugs:** - -- Colors are not initialized correctly [\#7](https://github.com/asbru-cm/asbru-cm/issues/7) -- Starting an entry from the connections tree maximizes the progam window [\#6](https://github.com/asbru-cm/asbru-cm/issues/6) - -**Closed issues:** - -- color [\#13](https://github.com/asbru-cm/asbru-cm/issues/13) -- Detached windows still use a logo variant of PAC [\#11](https://github.com/asbru-cm/asbru-cm/issues/11) - -## [5.0.0-RC3](https://github.com/asbru-cm/asbru-cm/tree/5.0.0-RC3) (2017-10-30) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/5.0.0-RC2...5.0.0-RC3) - -**Implemented enhancements:** - -- libgnome2-vte-perl\_0.11-1\_amd64.deb could not be installed on ubuntu 17.10 \(artful\) [\#3](https://github.com/asbru-cm/asbru-cm/issues/3) -- No packages for Ubuntu [\#2](https://github.com/asbru-cm/asbru-cm/issues/2) - -**Closed issues:** - -- Add screenshots [\#1](https://github.com/asbru-cm/asbru-cm/issues/1) - -## [5.0.0-RC2](https://github.com/asbru-cm/asbru-cm/tree/5.0.0-RC2) (2017-09-23) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/5.0.0-RC1...5.0.0-RC2) - -## [5.0.0-RC1](https://github.com/asbru-cm/asbru-cm/tree/5.0.0-RC1) (2017-09-20) - -[Full Changelog](https://github.com/asbru-cm/asbru-cm/compare/430f98894f3724a8996f9be647d01490df4c97a4...5.0.0-RC1) - - - -\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)* +Please find our changelog on our [docs](https://docs.asbru-cm.net/General/Changelog/) site. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 1541e9b0..e5ad458a 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,46 +1 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at coc@asbru-cm.net. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ +Check our code of conduct at our [docs](https://docs.asbru-cm.net/Contributing/CODE_OF_CONDUCT/) site. diff --git a/CODING_STANDARD.md b/CODING_STANDARD.md index fc6f2564..ae551559 100644 --- a/CODING_STANDARD.md +++ b/CODING_STANDARD.md @@ -1,135 +1 @@ -# Coding Standard - -This coding standard consists of recommendations when contributing to the Ásbrú Connection Manager project. Recommendations are meant to provide guidance that, when followed, should improve the safety, reliability, and security of the project. - -## Coding guidelines - -* Use spaces as indentation (no tabs). -* Use 4 spaces per indentation level. -* No trailing white space. -* Explicit if statements: - - No use of: - - `unless` - - reversed if `next if $true;` - - non explicit conditional expressions - - `($a) && ($b) and print "do this if both variables are true";` -* Ternary operator for assigment is allowed as long as the code does not obfuscate. - - `my $value = ($exists) ? $exists : 1;` -* Use of strings with interpolation. - - Example: `$CNF_DIR = "$ENV{'HOME'}/.config/pac";` -* Nested parenthesis should be together unless you feel that a separation makes code more readable. -* All conditional blocks, Loops must be on different lines, even if it is one statement in the block. -* Local variables should be declared at the beginning of a function block, and if they are not initialized, they could be declared as one line. - * `my ($var1, $var2, $var3);` - * Avoid declaring them in the middle of the block, unless is going to be used as a temporary variable inside an inner block. -* Rules might be bent from time to time, when brings something valuable to the code over formatting. -* Function naming - * Use camel case, example : myLongNameFunction - * Add an undersocore to local function names : _myPrivateFunction - -## Documentation guidelines - -* At the end of each script the `__END__` marker should be added - - This marker will tell the compiler to stop processing the file from that point onward. - - Allowing to write extensive documentation without being processed by the compiler. -* After the end marker, documentation can be added in pod format, to allow perldoc to format and present information on the screen or to export to other formats. - -### Basic pod (Plain Old Documentation) - -**Common Sections**, as found in all CPAN documentation - -* **NAME** module or script name, a dash and a short description. -* SYNOPSIS shows example usage. -* **DESCRIPTION** long description of what the module does and lists functions. -* **BUGS or CAVEATS** about bugs or issues the user should know about. -* ACKNOWLEDGEMENTS thank bug fixers, testers and your parents. -* COPYRIGHT or LICENSE copyright restrictions. -* AVAILABILITY Where to download from -* AUTHOR who made it. - -The bold sections should be the minimum to Document. Other sections already exist in the repository or could not apply to this particular project. - -### Pod markup summary - -**This is a reduced set**, if anyone is interested on the full description, follow this reference: https://perldoc.perl.org/perlpod.html - -```pod -=encoding utf8 - -=head1 NAME - -There are 4 header level 1..4 - -Pod will indent each section, -as in many markup languages, two or more lines together are printed as a single line. - -=head2 - -Always leave a blank line before and after each pod tag, -log lines can be split into consecutive lines. - -Indent one level with a tab to document code and create a verbatim sections where each line is printed separately. - - sub myFunction { - print "Something"; - } - -``` - -Basic styles not all available in terminal -```pod -B -I -C -B> -``` - -**Example pod file in asbru-cm** - -``` -__END___ -=encoding utf8 - -=head1 NAME - -asbru-cm - -=head1 SYNOPSYS - -asbru-cm [options] - -B - - --help : show this message - --no-backup : do no create alternative config files as a backup (faster shutdown) - --start-shell : start a local terminal - --password= : automatically logon with given password without prompting user - --start-uuid=[: : edit connection - --dump-uuid= : dump data for given connection - --scripts : open scripts window - --start-script=