Skip to content

Commit

Permalink
Merge pull request #454 from nzbgetcom/develop
Browse files Browse the repository at this point in the history
## Description
  - Features:
    - ASUSTOR support
      - the package (ADM 4.3+) is available from the [nzbget-asustor](https://github.com/nzbgetcom/nzbget-asustor) repository 
      and from the ASUSTOR App Central

  - Bug fixes:
    - Fixed multiple bugs related to bad support of long-paths on Windows [#441](#441)
    - Fixed ARMv5 arch support [#451](#451)

  - For developers:
    - Fixed homebrew CI build, macOS ARM64 with Xcode 16, Boost.JSON build via CMake [#444](#444)
  • Loading branch information
dnzbk authored Dec 5, 2024
2 parents 1eece59 + e3286dc commit 9ecd8f7
Show file tree
Hide file tree
Showing 50 changed files with 574 additions and 203 deletions.
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/01_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ body:
label: NZBGet Version
description: Which version of NZBGet has this bug?
options:
- v24.5-testing
- v24.6-testing
- v24.5-stable
- v24.4-stable
- v24.3-stable
- v24.2-stable
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/02_feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ body:
- All
- Windows
- macOS
- NAS/Synology/QNAP
- NAS/Synology/QNAP/ASUSTOR
- Linux/Docker
- FreeBSD
- Android
Expand Down
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/03_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ body:
label: NZBGet Version
description: Version of NZBGet for the scope of this issue
options:
- v24.5-testing
- v24.6-testing
- v24.5-stable
- v24.4-stable
- v24.3-stable
- v24.2-stable
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,14 @@ jobs:
fi
bash linux/build-nzbget.sh $BUILD_PARAMS
- name: Upload full build log on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-android-build-log
path: build/*/build.log
retention-days: 5

- name: Rename build artifacts
if: github.ref_name != 'main' && github.ref_name != 'develop'
run: |
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ on:
push:
branches:
- develop
- main
tags:
- "v*"
workflow_dispatch:

env:
Expand Down
12 changes: 10 additions & 2 deletions .github/workflows/freebsd.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: freebsd build
name: freebsd build

on:
workflow_call:
Expand All @@ -9,7 +9,7 @@ jobs:
runs-on: [self-hosted, nzbget-freebsd]

steps:

- name: Checkout
uses: actions/checkout@v4
with:
Expand All @@ -28,6 +28,14 @@ jobs:
fi
bash linux/build-nzbget.sh $BUILD_PARAMS
- name: Upload full build log on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-freebsd-build-log
path: build/*/build.log
retention-days: 5

- name: Rename build artifacts
if: github.ref_name != 'main' && github.ref_name != 'develop'
run: |
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,14 @@ jobs:
fi
bash linux/build-nzbget.sh $BUILD_PARAMS
- name: Upload full build log on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-linux-build-log
path: build/*/build.log
retention-days: 5

- name: Rename build artifacts
if: github.ref_name != 'main' && github.ref_name != 'develop'
run: |
Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/osx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,14 @@ jobs:
bash osx/build-nzbget.sh x64
fi
- name: Upload full build log on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-osx-x64-build-log
path: build/*/build.log
retention-days: 5

- name: Rename build artifacts
if: github.ref_name != 'main' && github.ref_name != 'develop'
run: |
Expand Down Expand Up @@ -59,6 +67,14 @@ jobs:
bash osx/build-nzbget.sh universal
fi
- name: Upload full build log on failure
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-osx-universal-build-log
path: build/*/build.log
retention-days: 5

- name: Rename build artifacts
if: github.ref_name != 'main' && github.ref_name != 'develop'
run: |
Expand Down
110 changes: 110 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: tests

on:
push:
branches:
- develop
- main
pull_request:
branches:
- develop
- main
workflow_call:
workflow_dispatch:

jobs:

windows-tests:
runs-on: windows-2022
steps:

- name: Checkout
uses: actions/checkout@v4

- name: Download and extract vcpkg cache
run: |
$ProgressPreference = "SilentlyContinue"
Invoke-WebRequest https://github.com/nzbgetcom/build-files/releases/download/v1.0/vcpkg-windows-tests.zip -OutFile "${{ github.workspace }}\vcpkg.zip"
Expand-Archive -Path "${{ github.workspace }}\vcpkg.zip" -DestinationPath "${{ github.workspace }}"
- name: Build
run: |
New-Item build -ItemType Directory -Force | Out-Null
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DBUILD_ONLY_TESTS=ON
cmake --build . --config Release -j 4
- name: Test
run: |
cd build
ctest -C Release
- name: Upload test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-windows-test-log
path: build/Testing/Temporary/LastTest.log
retention-days: 5

linux-tests:
runs-on: ubuntu-24.04
steps:

- name: Prepare environment
run: |
sudo apt-get install -y cmake libxml2-dev libssl-dev libncurses-dev libboost-all-dev
- name: Checkout
uses: actions/checkout@v4

- name: Build
run: |
mkdir build
cd build
cmake .. -DBUILD_ONLY_TESTS=ON
cmake --build . --config Release -j 4
- name: Test
run: |
cd build
ctest -C Release
- name: Upload test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-linux-test-log
path: build/Testing/Temporary/LastTest.log
retention-days: 5

macos-tests:
runs-on: macos-14
steps:

- name: Install dependencies
run:
brew install --formula boost

- name: Checkout
uses: actions/checkout@v4

- name: Build
run: |
mkdir build
cd build
cmake .. -DBUILD_ONLY_TESTS=ON
cmake --build . --config Release -j 4
- name: Test
run: |
cd build
ctest -C Release
- name: Upload test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: nzbget-linux-test-log
path: build/Testing/Temporary/LastTest.log
retention-days: 5
47 changes: 0 additions & 47 deletions .github/workflows/windows-tests.yml

This file was deleted.

4 changes: 1 addition & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ if (PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR)
message(FATAL_ERROR "In-source builds are not allowed. You should create separate directory for build files.")
endif()

set(VERSION "24.4")
set(VERSION "24.5")
set(PACKAGE "nzbget")
set(LIBS "")
set(INCLUDES ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
Expand Down Expand Up @@ -80,8 +80,6 @@ else()
endif()
endif()

include(lib/sources.cmake)

configure_file(
${CMAKE_SOURCE_DIR}/cmake/config.h.in
${CMAKE_BINARY_DIR}/config.h
Expand Down
17 changes: 17 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
nzbget-24.5
- Features:
- ASUSTOR support
- the package (ADM 4.3+) is available from the
[nzbget-asustor](https://github.com/nzbgetcom/nzbget-asustor) repository
and from the ASUSTOR App Central

- Bug fixes:
- Fixed multiple bugs related to bad support of long-paths on Windows
[#441](https://github.com/nzbgetcom/nzbget/pull/441)
- Fixed ARMv5 arch support
[#451](https://github.com/nzbgetcom/nzbget/pull/451)

- For developers:
- Fixed homebrew CI build, macOS ARM64 with Xcode 16, Boost.JSON build via CMake
[#444](https://github.com/nzbgetcom/nzbget/pull/444)

nzbget-24.4
- Features:
- Replaced the `Par2` library with `Par2-turbo` which provides faster file recovery on x86/ARM platforms
Expand Down
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v24.2/total?label=v24.2)
![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v24.3/total?label=v24.3)
![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v24.4/total?label=v24.4)
![GitHub release (by tag)](https://img.shields.io/github/downloads/nzbgetcom/nzbget/v24.5/total?label=v24.5)
![docker pulls](https://img.shields.io/docker/pulls/nzbgetcom/nzbget.svg)

[![linux build](https://github.com/nzbgetcom/nzbget/actions/workflows/linux.yml/badge.svg?branch=main)](https://github.com/nzbgetcom/nzbget/actions/workflows/linux.yml)
Expand Down Expand Up @@ -49,7 +50,9 @@ macOS packages are available from [releases](https://github.com/nzbgetcom/nzbget

Docker images are available for x86-64 / arm64 / armv7 architectures. [Docker readme](docker/README.md). LinuxServer.io version is also available: [docker-nzbget](https://github.com/linuxserver/docker-nzbget)

Synology package are available as SynoCommunity package. [Synology readme](docs/SYNOLOGY.md)
Synology package is available as SynoCommunity package. [Synology readme](docs/SYNOLOGY.md)

ASUSTOR NAS package (ADM 4.3+) is available from the [nzbget-asustor](https://github.com/nzbgetcom/nzbget-asustor) repository and from the ASUSTOR [App Central](https://www.asustor.com/app_central/app_detail?id=1671&type=). [ASUSTOR readme](https://github.com/nzbgetcom/nzbget-asustor/blob/main/README.md)

QNAP packages are available as buildroot packages or via [sherpa](https://github.com/OneCDOnly/sherpa) package manager. [QNAP readme](qnap/README.md)

Expand Down
17 changes: 17 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Security Policy

If you believe you have found a security vulnerability in NZBGet, please report it to us as described below.

## Reporting Security Issues

Please do not report security vulnerabilities through public GitHub issues. Instead, please use GitHubs private vulnerability reporting functionality associated to this repository.

Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
1. Type of issue
2. Step-by-step instructions to reproduce the issue
3. Proof-of-concept or exploit code (if possible)
4. Potential impact of the issue, including how an attacker might exploit the issue

This information will help us review your report faster.

This security policy only applies to the most recent stable branch of NZBGet. Flaws in old versions that are not present in the current stable branch will not be fixed.
21 changes: 19 additions & 2 deletions cmake/common.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
if (CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|x86|x86_64|x64|amd64|AMD64|win32|Win32")
set(IS_X86 TRUE)
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|x64|amd64|AMD64")
set(IS_X64 TRUE)
endif()
endif()
if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM|aarch64|arm64|ARM64|armeb|aarch64be|aarch64_be")
set(IS_ARM TRUE)
endif()
if (CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64|rv64")
set(IS_RISCV64 TRUE)
endif()
if (CMAKE_SYSTEM_PROCESSOR MATCHES "riscv32|rv32")
set(IS_RISCV32 TRUE)
endif()

if(CMAKE_BUILD_TYPE STREQUAL "Debug")
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|AppleClang")
add_compile_options(-Weverything)
add_compile_options(-Weverything -Wno-c++98-compat)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
add_compile_options(-Wall -Wextra)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
Expand All @@ -21,4 +37,5 @@ elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
endif()
endif()

include(FetchContent)
include(ExternalProject)
include(CheckCXXCompilerFlag)
Loading

0 comments on commit 9ecd8f7

Please sign in to comment.