From 10b11e6556ed338a36415efb358753a2962fd257 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Thu, 3 Oct 2024 23:35:49 +0200 Subject: [PATCH 01/18] redesign build of noarch packages - noarch packages should only be build for specific TCVERSION, otherwise REQUIRED_MIN_DSM is not evaluated - noarch packages must now define `override ARCH=noarch` instead of `override ARCH=` - add all noarch packages to build-matrix --- .github/workflows/build.yml | 50 ++++++++++++++++++++-------------- mk/spksrc.cross-cc.mk | 2 ++ mk/spksrc.cross-cmake.mk | 2 ++ mk/spksrc.cross-dotnet.mk | 2 ++ mk/spksrc.cross-go.mk | 2 ++ mk/spksrc.cross-rust-env.mk | 2 ++ mk/spksrc.cross-rust.mk | 2 ++ mk/spksrc.install-resources.mk | 2 ++ mk/spksrc.main-depends.mk | 2 ++ mk/spksrc.spk.mk | 26 +++++++++++------- 10 files changed, 62 insertions(+), 30 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index edc0bcf95f8..e0b92c48a50 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,6 +15,14 @@ on: options: - 'true' - 'false' + add_noarch_builds: + description: 'Include noarch packages' + required: false + default: 'true' + type: choice + options: + - 'true' + - 'false' add_dsm72_builds: description: 'Include DSM 7.2 archs' required: false @@ -126,17 +134,25 @@ jobs: steps: - id: set-matrix run: | - # Start with the noarch architectures at the top + # Create a matrix as a JSON object matrix='{"include": [' - matrix+='{"arch": "noarch"},' - matrix+='{"arch": "noarch-6.1"},' - matrix+='{"arch": "noarch-7.0"},' - - # Add other architectures based on input flags - if [ "${{ github.event.inputs.add_dsm52_builds }}" == "true" ]; then - matrix+='{"arch": "x86-5.2"},' - matrix+='{"arch": "88f6281-5.2"},' - matrix+='{"arch": "ppc853x-5.2"},' + + if [ "${{ github.event.inputs.add_noarch_builds }}" == "true" ]; then + matrix+='{"arch": "noarch-1.1"},' + matrix+='{"arch": "noarch-3.1"},' + matrix+='{"arch": "noarch-6.1"},' + matrix+='{"arch": "noarch-7.0"},' + fi + if [ "${{ github.event.inputs.add_dsm72_builds }}" == "true" ]; then + matrix+='{"arch": "x64-7.2"},' + matrix+='{"arch": "aarch64-7.2"},' + fi + if [ "${{ github.event.inputs.add_dsm71_builds }}" == "true" ]; then + matrix+='{"arch": "x64-7.1"},' + matrix+='{"arch": "aarch64-7.1"},' + matrix+='{"arch": "evansport-7.1"},' + matrix+='{"arch": "armv7-7.1"},' + matrix+='{"arch": "comcerto2k-7.1"},' fi if [ "${{ github.event.inputs.add_dsm62_builds }}" == "true" ]; then matrix+='{"arch": "x64-6.2.4"},' @@ -147,16 +163,10 @@ jobs: matrix+='{"arch": "88f6281-6.2.4"},' matrix+='{"arch": "qoriq-6.2.4"},' fi - if [ "${{ github.event.inputs.add_dsm71_builds }}" == "true" ]; then - matrix+='{"arch": "x64-7.1"},' - matrix+='{"arch": "aarch64-7.1"},' - matrix+='{"arch": "evansport-7.1"},' - matrix+='{"arch": "armv7-7.1"},' - matrix+='{"arch": "comcerto2k-7.1"},' - fi - if [ "${{ github.event.inputs.add_dsm72_builds }}" == "true" ]; then - matrix+='{"arch": "x64-7.2"},' - matrix+='{"arch": "aarch64-7.2"},' + if [ "${{ github.event.inputs.add_dsm52_builds }}" == "true" ]; then + matrix+='{"arch": "x86-5.2"},' + matrix+='{"arch": "88f6281-5.2"},' + matrix+='{"arch": "ppc853x-5.2"},' fi if [ "${{ github.event.inputs.add_srm12_builds }}" == "true" ]; then matrix+='{"arch": "armv7-1.2"},' diff --git a/mk/spksrc.cross-cc.mk b/mk/spksrc.cross-cc.mk index b467d5135b5..f75767e76d6 100644 --- a/mk/spksrc.cross-cc.mk +++ b/mk/spksrc.cross-cc.mk @@ -18,9 +18,11 @@ DIST_FILE = $(DISTRIB_DIR)/$(LOCAL_FILE) DIST_EXT = $(PKG_EXT) ifneq ($(ARCH),) +ifneq ($(ARCH),noarch) ARCH_SUFFIX = -$(ARCH)-$(TCVERSION) TC = syno$(ARCH_SUFFIX) endif +endif ##### diff --git a/mk/spksrc.cross-cmake.mk b/mk/spksrc.cross-cmake.mk index de6cb19bb32..4f5c8d43d88 100644 --- a/mk/spksrc.cross-cmake.mk +++ b/mk/spksrc.cross-cmake.mk @@ -27,9 +27,11 @@ DIST_FILE = $(DISTRIB_DIR)/$(LOCAL_FILE) DIST_EXT = $(PKG_EXT) ifneq ($(ARCH),) +ifneq ($(ARCH),noarch) ARCH_SUFFIX = -$(ARCH)-$(TCVERSION) TC = syno$(ARCH_SUFFIX) endif +endif ### diff --git a/mk/spksrc.cross-dotnet.mk b/mk/spksrc.cross-dotnet.mk index 3e2b02d82bc..c59e147fe96 100644 --- a/mk/spksrc.cross-dotnet.mk +++ b/mk/spksrc.cross-dotnet.mk @@ -30,9 +30,11 @@ DIST_FILE = $(DISTRIB_DIR)/$(LOCAL_FILE) DIST_EXT = $(PKG_EXT) ifneq ($(ARCH),) +ifneq ($(ARCH),noarch) ARCH_SUFFIX = -$(ARCH)-$(TCVERSION) TC = syno$(ARCH_SUFFIX) endif +endif ##### dotnet specific configurations include ../../mk/spksrc.cross-dotnet-env.mk diff --git a/mk/spksrc.cross-go.mk b/mk/spksrc.cross-go.mk index 9162dc00a9b..ce199c5cd1d 100644 --- a/mk/spksrc.cross-go.mk +++ b/mk/spksrc.cross-go.mk @@ -27,9 +27,11 @@ DIST_FILE = $(DISTRIB_DIR)/$(LOCAL_FILE) DIST_EXT = $(PKG_EXT) ifneq ($(ARCH),) +ifneq ($(ARCH),noarch) ARCH_SUFFIX = -$(ARCH)-$(TCVERSION) TC = syno$(ARCH_SUFFIX) endif +endif ##### golang specific configurations include ../../mk/spksrc.cross-go-env.mk diff --git a/mk/spksrc.cross-rust-env.mk b/mk/spksrc.cross-rust-env.mk index 771da0508d3..c5dbb3e8943 100644 --- a/mk/spksrc.cross-rust-env.mk +++ b/mk/spksrc.cross-rust-env.mk @@ -23,7 +23,9 @@ endif # When calling directly from toolchain/syno-- # ARCH variable is still unset thus using $(TC_ARCH) although # in generic archs we must rely on $(TC_NANE) +ifneq ($(ARCH),noarch) RUST_ARCH = $(or $(ARCH),$(lastword $(subst -, ,$(TC_NAME))),$(TC_ARCH)) +endif # When building toolchain Tier-3 arch support # While stage-2 is the truly current compiler, stage-1 suffice our needs diff --git a/mk/spksrc.cross-rust.mk b/mk/spksrc.cross-rust.mk index f9ec673d1ac..7e5e43778c9 100644 --- a/mk/spksrc.cross-rust.mk +++ b/mk/spksrc.cross-rust.mk @@ -26,9 +26,11 @@ DIST_FILE = $(DISTRIB_DIR)/$(LOCAL_FILE) DIST_EXT = $(PKG_EXT) ifneq ($(ARCH),) +ifneq ($(ARCH),noarch) ARCH_SUFFIX = -$(ARCH)-$(TCVERSION) TC = syno$(ARCH_SUFFIX) endif +endif ##### rust specific configurations include ../../mk/spksrc.cross-rust-env.mk diff --git a/mk/spksrc.install-resources.mk b/mk/spksrc.install-resources.mk index 542f56b1626..e4bf72bb9e4 100644 --- a/mk/spksrc.install-resources.mk +++ b/mk/spksrc.install-resources.mk @@ -22,9 +22,11 @@ DIST_FILE = $(DISTRIB_DIR)/$(LOCAL_FILE) DIST_EXT = $(PKG_EXT) ifneq ($(ARCH),) +ifneq ($(ARCH),noarch) ARCH_SUFFIX = -$(ARCH)-$(TCVERSION) TC = syno$(ARCH_SUFFIX) endif +endif ##### diff --git a/mk/spksrc.main-depends.mk b/mk/spksrc.main-depends.mk index 7067f09c1e6..4cc5a6edc4b 100644 --- a/mk/spksrc.main-depends.mk +++ b/mk/spksrc.main-depends.mk @@ -10,9 +10,11 @@ NAME = $(PKG_NAME) COOKIE_PREFIX = $(PKG_NAME)- ifneq ($(ARCH),) +ifneq ($(ARCH),noarch) ARCH_SUFFIX = -$(ARCH)-$(TCVERSION) TC = syno$(ARCH_SUFFIX) endif +endif ##### diff --git a/mk/spksrc.spk.mk b/mk/spksrc.spk.mk index 10f7d9e87fb..266670b667c 100644 --- a/mk/spksrc.spk.mk +++ b/mk/spksrc.spk.mk @@ -2,7 +2,7 @@ # Most of the rules are imported from spksrc.*.mk files # # Variables: -# ARCH A dedicated arch, a generic arch or empty for arch independent packages +# ARCH A dedicated arch, a generic arch or 'noarch' for arch independent packages # SPK_NAME Package name # MAINTAINER Package maintainer (mandatory) # MAINTAINER_URL URL of package maintainer (optional when MAINTAINER is a valid github user) @@ -34,6 +34,7 @@ include ../../mk/spksrc.directories.mk NAME = $(SPK_NAME) ifneq ($(ARCH),) +ifneq ($(ARCH),noarch) # arch specific packages ifneq ($(SPK_PACKAGE_ARCHS),) SPK_ARCH = $(SPK_PACKAGE_ARCHS) @@ -50,11 +51,14 @@ endif SPK_TCVERS = $(TCVERSION) ARCH_SUFFIX = -$(ARCH)-$(TCVERSION) TC = syno$(ARCH_SUFFIX) -else +endif +endif + +ifeq ($(ARCH),noarch) +ifneq ($(strip $(TCVERSION)),) # different noarch packages SPK_ARCH = noarch SPK_NAME_ARCH = noarch -ifneq ($(strip $(TCVERSION)),) ifeq ($(call version_ge, $(TCVERSION), 7.0),1) SPK_TCVERS = dsm7 TC_OS_MIN_VER = 7.0-40000 @@ -68,12 +72,9 @@ else SPK_TCVERS = srm TC_OS_MIN_VER = 1.1-6931 endif -else -SPK_TCVERS = all -TC_OS_MIN_VER = 3.1-1594 -endif ARCH_SUFFIX = -$(SPK_TCVERS) endif +endif ifeq ($(call version_lt, ${TC_OS_MIN_VER}, 6.1)$(call version_ge, ${TC_OS_MIN_VER}, 3.0),11) OS_MIN_VER = $(TC_OS_MIN_VER) @@ -157,9 +158,14 @@ $(WORK_DIR)/INFO: $(create_target_dir) @$(MSG) "Creating INFO file for $(SPK_NAME)" @if [ -z "$(SPK_ARCH)" ]; then \ - echo "ERROR: Arch '$(ARCH)' is not a supported architecture" ; \ - echo " - There is no remaining arch in '$(TC_ARCH)' for unsupported archs '$(UNSUPPORTED_ARCHS)'"; \ - exit 1; \ + if [ "$(ARCH)" = "noarch" ]; then \ + echo "ERROR: 'noarch' package without TCVERSION is not supported" ; \ + exit 1; \ + else \ + echo "ERROR: Arch '$(ARCH)' is not a supported architecture" ; \ + echo " - There is no remaining arch in '$(TC_ARCH)' for unsupported archs '$(UNSUPPORTED_ARCHS)'"; \ + exit 1; \ + fi; \ fi @echo package=\"$(SPK_NAME)\" > $@ @echo version=\"$(SPK_VERS)-$(SPK_REV)\" >> $@ From ea4ca2111f8c0af2ae2b1409bb956c4ec912f17f Mon Sep 17 00:00:00 2001 From: hgy59 Date: Thu, 3 Oct 2024 23:36:03 +0200 Subject: [PATCH 02/18] update noarch for adminer --- spk/adminer/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spk/adminer/Makefile b/spk/adminer/Makefile index 9a7190b7fdb..0a7a47626df 100644 --- a/spk/adminer/Makefile +++ b/spk/adminer/Makefile @@ -40,8 +40,8 @@ WIZARDS_DIR = src/wizard/ POST_STRIP_TARGET = adminer_extra_install -# Pure PHP package, make sure ARCH is not defined -override ARCH= +# Pure PHP package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk From c34577a9f40fa39fc9307ce82e4032dda0359895 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Fri, 4 Oct 2024 00:12:34 +0200 Subject: [PATCH 03/18] workaround to build noarch/dsm71/dsm62 in non interactive workflow --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e0b92c48a50..0643ea07606 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -137,7 +137,7 @@ jobs: # Create a matrix as a JSON object matrix='{"include": [' - if [ "${{ github.event.inputs.add_noarch_builds }}" == "true" ]; then + if [ "${{ github.event.inputs.add_noarch_builds }}" == "true" -o "${{ github.event.inputs.add_noarch_builds }}" == "" ]; then matrix+='{"arch": "noarch-1.1"},' matrix+='{"arch": "noarch-3.1"},' matrix+='{"arch": "noarch-6.1"},' @@ -147,14 +147,14 @@ jobs: matrix+='{"arch": "x64-7.2"},' matrix+='{"arch": "aarch64-7.2"},' fi - if [ "${{ github.event.inputs.add_dsm71_builds }}" == "true" ]; then + if [ "${{ github.event.inputs.add_dsm71_builds }}" == "true" -o "${{ github.event.inputs.add_dsm71_builds }}" == "" ]; then matrix+='{"arch": "x64-7.1"},' matrix+='{"arch": "aarch64-7.1"},' matrix+='{"arch": "evansport-7.1"},' matrix+='{"arch": "armv7-7.1"},' matrix+='{"arch": "comcerto2k-7.1"},' fi - if [ "${{ github.event.inputs.add_dsm62_builds }}" == "true" ]; then + if [ "${{ github.event.inputs.add_dsm62_builds }}" == "true" -o "${{ github.event.inputs.add_dsm62_builds }}" == "" ]; then matrix+='{"arch": "x64-6.2.4"},' matrix+='{"arch": "aarch64-6.2.4"},' matrix+='{"arch": "evansport-6.2.4"},' From b29627208c02a0a6a09f668fe40f26e3303b9685 Mon Sep 17 00:00:00 2001 From: mreid-tt <943378+mreid-tt@users.noreply.github.com> Date: Thu, 3 Oct 2024 21:49:15 -0400 Subject: [PATCH 04/18] Fix for non interactive workflow --- .github/workflows/build.yml | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0643ea07606..20218dc01fb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -84,6 +84,12 @@ jobs: outputs: arch_packages: ${{ steps.dependencies.outputs.arch_packages }} noarch_packages: ${{ steps.dependencies.outputs.noarch_packages }} + add_noarch_builds: ${{ steps.set-defaults.outputs.add_noarch_builds }} + add_dsm72_builds: ${{ steps.set-defaults.outputs.add_dsm72_builds }} + add_dsm71_builds: ${{ steps.set-defaults.outputs.add_dsm71_builds }} + add_dsm62_builds: ${{ steps.set-defaults.outputs.add_dsm62_builds }} + add_dsm52_builds: ${{ steps.set-defaults.outputs.add_dsm52_builds }} + add_srm12_builds: ${{ steps.set-defaults.outputs.add_srm12_builds }} steps: - name: Checkout repository uses: actions/checkout@v4 @@ -112,6 +118,16 @@ jobs: GH_FILES: ${{ steps.getfile.outputs.files }} ${{ steps.getfile_pr.outputs.files }} SPK_TO_BUILD: ${{ github.event.inputs.package }} + # Set default values for all builds (manual or automated) + - id: set-defaults + run: | + echo "add_noarch_builds=${{ github.event.inputs.add_noarch_builds || 'true' }}" >> $GITHUB_OUTPUT + echo "add_dsm72_builds=${{ github.event.inputs.add_dsm72_builds || 'false' }}" >> $GITHUB_OUTPUT + echo "add_dsm71_builds=${{ github.event.inputs.add_dsm71_builds || 'true' }}" >> $GITHUB_OUTPUT + echo "add_dsm62_builds=${{ github.event.inputs.add_dsm62_builds || 'true' }}" >> $GITHUB_OUTPUT + echo "add_dsm52_builds=${{ github.event.inputs.add_dsm52_builds || 'false' }}" >> $GITHUB_OUTPUT + echo "add_srm12_builds=${{ github.event.inputs.add_srm12_builds || 'false' }}" >> $GITHUB_OUTPUT + - name: Cache downloaded files uses: actions/cache@v4 with: @@ -128,33 +144,42 @@ jobs: generate_matrix: name: Prepare Architectures + needs: prepare runs-on: ubuntu-latest outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - id: set-matrix run: | + # Use the default values passed from the prepare step + add_noarch_builds=${{ needs.prepare.outputs.add_noarch_builds }} + add_dsm72_builds=${{ needs.prepare.outputs.add_dsm72_builds }} + add_dsm71_builds=${{ needs.prepare.outputs.add_dsm71_builds }} + add_dsm62_builds=${{ needs.prepare.outputs.add_dsm62_builds }} + add_dsm52_builds=${{ needs.prepare.outputs.add_dsm52_builds }} + add_srm12_builds=${{ needs.prepare.outputs.add_srm12_builds }} + # Create a matrix as a JSON object matrix='{"include": [' - if [ "${{ github.event.inputs.add_noarch_builds }}" == "true" -o "${{ github.event.inputs.add_noarch_builds }}" == "" ]; then + if [ "$add_noarch_builds" == "true" ]; then matrix+='{"arch": "noarch-1.1"},' matrix+='{"arch": "noarch-3.1"},' matrix+='{"arch": "noarch-6.1"},' matrix+='{"arch": "noarch-7.0"},' fi - if [ "${{ github.event.inputs.add_dsm72_builds }}" == "true" ]; then + if [ "$add_dsm72_builds" == "true" ]; then matrix+='{"arch": "x64-7.2"},' matrix+='{"arch": "aarch64-7.2"},' fi - if [ "${{ github.event.inputs.add_dsm71_builds }}" == "true" -o "${{ github.event.inputs.add_dsm71_builds }}" == "" ]; then + if [ "$add_dsm71_builds" == "true" ]; then matrix+='{"arch": "x64-7.1"},' matrix+='{"arch": "aarch64-7.1"},' matrix+='{"arch": "evansport-7.1"},' matrix+='{"arch": "armv7-7.1"},' matrix+='{"arch": "comcerto2k-7.1"},' fi - if [ "${{ github.event.inputs.add_dsm62_builds }}" == "true" -o "${{ github.event.inputs.add_dsm62_builds }}" == "" ]; then + if [ "$add_dsm62_builds" == "true" ]; then matrix+='{"arch": "x64-6.2.4"},' matrix+='{"arch": "aarch64-6.2.4"},' matrix+='{"arch": "evansport-6.2.4"},' @@ -163,12 +188,12 @@ jobs: matrix+='{"arch": "88f6281-6.2.4"},' matrix+='{"arch": "qoriq-6.2.4"},' fi - if [ "${{ github.event.inputs.add_dsm52_builds }}" == "true" ]; then + if [ "$add_dsm52_builds" == "true" ]; then matrix+='{"arch": "x86-5.2"},' matrix+='{"arch": "88f6281-5.2"},' matrix+='{"arch": "ppc853x-5.2"},' fi - if [ "${{ github.event.inputs.add_srm12_builds }}" == "true" ]; then + if [ "$add_srm12_builds" == "true" ]; then matrix+='{"arch": "armv7-1.2"},' fi From 7bd5bb5470fcb8092f0b8817560ef998e2d31308 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Fri, 4 Oct 2024 10:55:58 +0200 Subject: [PATCH 05/18] add variables to define defaults for noarch/arch packages in automated builds --- .github/actions/prepare.sh | 8 +++++++- .github/workflows/build.yml | 6 +++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/actions/prepare.sh b/.github/actions/prepare.sh index 118a6319724..b8baa15251a 100755 --- a/.github/actions/prepare.sh +++ b/.github/actions/prepare.sh @@ -59,7 +59,7 @@ for i in {5..7}; do ffmpeg_dependent_packages=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho "FFMPEG_PACKAGE = ffmpeg${i}" {} \; | grep -Po ".*spk/\K[^/]*" | sort | tr '\n' ' ') # If packages contain a package that depends on ffmpeg (or is ffmpeg), - # then ensure relevant ffmpeg5|ffmpeg6 is first in list + # then ensure relevant ffmpeg spk is first in list for package in ${packages} do if [ "$(echo ffmpeg${i} ${ffmpeg_dependent_packages} | grep -ow ${package})" != "" ]; then @@ -107,19 +107,25 @@ all_noarch=$(find spk/ -maxdepth 2 -mindepth 2 -name "Makefile" -exec grep -Ho " # and filter out packages that are removed or do not exist (e.g. nzbdrone) arch_packages= noarch_packages= +has_arch_packages='false' +has_noarch_packages='false' for package in ${packages} do if [ -f "./spk/${package}/Makefile" ]; then if [ "$(echo ${all_noarch} | grep -ow ${package})" = "" ]; then arch_packages+="${package} " + has_arch_packages='true' else noarch_packages+="${package} " + has_noarch_packages='true' fi fi done echo "arch_packages=${arch_packages}" >> $GITHUB_OUTPUT echo "noarch_packages=${noarch_packages}" >> $GITHUB_OUTPUT +echo "has_arch_packages=${has_arch_packages}" >> $GITHUB_OUTPUT +echo "has_noarch_packages=${has_noarch_packages}" >> $GITHUB_OUTPUT echo "::endgroup::" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 20218dc01fb..5e05a894f02 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -121,10 +121,10 @@ jobs: # Set default values for all builds (manual or automated) - id: set-defaults run: | - echo "add_noarch_builds=${{ github.event.inputs.add_noarch_builds || 'true' }}" >> $GITHUB_OUTPUT + echo "add_noarch_builds=${{ github.event.inputs.add_noarch_builds || steps.dependencies.outputs.has_noarch_packages }}" >> $GITHUB_OUTPUT echo "add_dsm72_builds=${{ github.event.inputs.add_dsm72_builds || 'false' }}" >> $GITHUB_OUTPUT - echo "add_dsm71_builds=${{ github.event.inputs.add_dsm71_builds || 'true' }}" >> $GITHUB_OUTPUT - echo "add_dsm62_builds=${{ github.event.inputs.add_dsm62_builds || 'true' }}" >> $GITHUB_OUTPUT + echo "add_dsm71_builds=${{ github.event.inputs.add_dsm71_builds || steps.dependencies.outputs.has_arch_packages }}" >> $GITHUB_OUTPUT + echo "add_dsm62_builds=${{ github.event.inputs.add_dsm62_builds || steps.dependencies.outputs.has_arch_packages }}" >> $GITHUB_OUTPUT echo "add_dsm52_builds=${{ github.event.inputs.add_dsm52_builds || 'false' }}" >> $GITHUB_OUTPUT echo "add_srm12_builds=${{ github.event.inputs.add_srm12_builds || 'false' }}" >> $GITHUB_OUTPUT From 601ac22fdb758bd867f76436c535f68ba5db0cd3 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Fri, 4 Oct 2024 13:06:09 +0200 Subject: [PATCH 06/18] rename github job "Generate Matrix" --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5e05a894f02..f0fe2d606b4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -143,7 +143,7 @@ jobs: NOARCH_PACKAGES: ${{ needs.prepare.outputs.noarch_packages }} generate_matrix: - name: Prepare Architectures + name: Generate Matrix needs: prepare runs-on: ubuntu-latest outputs: From 7852b77cdbea9e4774d8d47c213d2db9df515cde Mon Sep 17 00:00:00 2001 From: hgy59 Date: Fri, 4 Oct 2024 13:07:23 +0200 Subject: [PATCH 07/18] update some additional noarch packages --- spk/ariang/Makefile | 4 ++-- spk/bicbucstriim/Makefile | 4 ++-- spk/cops/Makefile | 4 ++-- spk/couchpotatoserver-custom/Makefile | 4 ++-- spk/couchpotatoserver/Makefile | 4 ++-- spk/demoservice/Makefile | 2 +- spk/demowebservice/Makefile | 2 +- spk/fengoffice/Makefile | 4 ++-- spk/full-text-rss/Makefile | 4 ++-- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/spk/ariang/Makefile b/spk/ariang/Makefile index 91e35a03007..823c4da3ba3 100644 --- a/spk/ariang/Makefile +++ b/spk/ariang/Makefile @@ -19,7 +19,7 @@ LICENSE = MIT CONF_DIR = src/conf STARTABLE = no -# Pure PHP package, make sure ARCH is not defined -override ARCH= +# Pure PHP package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/bicbucstriim/Makefile b/spk/bicbucstriim/Makefile index 98653a27bab..3937ad05bec 100644 --- a/spk/bicbucstriim/Makefile +++ b/spk/bicbucstriim/Makefile @@ -4,8 +4,8 @@ SPK_REV = 7 SPK_ICON = src/bicbucstriim.png DEPENDS = cross/$(SPK_NAME) -# Pure PHP package, make sure ARCH is not defined -override ARCH= +# Pure PHP package, make sure ARCH is noarch +override ARCH=noarch REQUIRED_MIN_DSM = 7.0 SPK_DEPENDS = WebStation:PHP8.2:Apache2.4 diff --git a/spk/cops/Makefile b/spk/cops/Makefile index ef7fe07361c..a383d6dce02 100644 --- a/spk/cops/Makefile +++ b/spk/cops/Makefile @@ -4,8 +4,8 @@ SPK_REV = 10 SPK_ICON = src/cops.png DEPENDS = cross/cops -# Pure PHP package, make sure ARCH is not defined -override ARCH= +# Pure PHP package, make sure ARCH is noarch +override ARCH=noarch REQUIRED_MIN_DSM = 7.0 SPK_DEPENDS=WebStation:PHP8.2:Apache2.4 diff --git a/spk/couchpotatoserver-custom/Makefile b/spk/couchpotatoserver-custom/Makefile index b9c6e4e547e..5eca798db4e 100644 --- a/spk/couchpotatoserver-custom/Makefile +++ b/spk/couchpotatoserver-custom/Makefile @@ -29,8 +29,8 @@ ADMIN_PORT = $(SERVICE_PORT) COPY_TARGET = nop POST_STRIP_TARGET = couchpotatoserver-custom_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/couchpotatoserver/Makefile b/spk/couchpotatoserver/Makefile index 10d722ea2b1..8d9f0289c7e 100644 --- a/spk/couchpotatoserver/Makefile +++ b/spk/couchpotatoserver/Makefile @@ -30,8 +30,8 @@ ADMIN_PORT = $(SERVICE_PORT) COPY_TARGET = nop POST_STRIP_TARGET = couchpotatoserver_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/demoservice/Makefile b/spk/demoservice/Makefile index 41922ed966b..86b7c9af8bb 100644 --- a/spk/demoservice/Makefile +++ b/spk/demoservice/Makefile @@ -3,7 +3,7 @@ SPK_VERS = 1.2 SPK_REV = 8 SPK_ICON = src/demoservice.png -override ARCH= +override ARCH=noarch MAINTAINER = ymartin59 DESCRIPTION = Demonstration package to show installer script capabilities when requiring non-root user for background service and show configuration/creation of shared folder for package user. diff --git a/spk/demowebservice/Makefile b/spk/demowebservice/Makefile index b7825dff382..60bb4055f64 100644 --- a/spk/demowebservice/Makefile +++ b/spk/demowebservice/Makefile @@ -5,7 +5,7 @@ SPK_ICON = src/demowebservice.png DEPENDS = -override ARCH= +override ARCH=noarch MAINTAINER = hgy59 DESCRIPTION = Demopackage to show how to create a web service \(web application\) diff --git a/spk/fengoffice/Makefile b/spk/fengoffice/Makefile index 68a666575d0..ff342b3cb63 100644 --- a/spk/fengoffice/Makefile +++ b/spk/fengoffice/Makefile @@ -4,8 +4,8 @@ SPK_REV = 4 SPK_ICON = src/fengoffice.png DEPENDS = cross/$(SPK_NAME) -# Pure PHP package, make sure ARCH is not defined -override ARCH= +# Pure PHP package, make sure ARCH is noarch +override ARCH=noarch # Due to not obvious WebStation handling requirements REQUIRED_MIN_DSM = 6.0 diff --git a/spk/full-text-rss/Makefile b/spk/full-text-rss/Makefile index 0b58d0921ea..79f536c3642 100644 --- a/spk/full-text-rss/Makefile +++ b/spk/full-text-rss/Makefile @@ -26,8 +26,8 @@ INSTALL_PREFIX = /usr/local/$(SPK_NAME) COPY_TARGET = nop POST_STRIP_TARGET = full-text-rss_extra_install -# Pure PHP package, make sure ARCH is not defined -override ARCH= +# Pure PHP package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk From 8daf14ea372afa3dbb671406322f1ddaab7ac1dd Mon Sep 17 00:00:00 2001 From: hgy59 Date: Fri, 4 Oct 2024 18:37:06 +0200 Subject: [PATCH 08/18] add dsm72 to matrix in automated builds when package requires it --- .github/actions/prepare.sh | 19 +++++++++++++++++++ .github/workflows/build.yml | 4 ++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/.github/actions/prepare.sh b/.github/actions/prepare.sh index b8baa15251a..3ad0ff34189 100755 --- a/.github/actions/prepare.sh +++ b/.github/actions/prepare.sh @@ -122,10 +122,29 @@ do fi done +# evaluate packages that require DSM 7.2 +min_dsm72_packages= +has_min_dsm72_packages='false' +for package in ${packages} +do + if [ -f "./spk/${package}/Makefile" ]; then + if [ "$(grep REQUIRED_MIN_DSM ./spk/${package}/Makefile | cut -d= -f2 | xargs)" = "7.2" ]; then + min_dsm72_packages+="${package} " + has_min_dsm72_packages='true' + fi + fi +done + +if [ "${has_min_dsm72_packages}" = "true" ]; then + echo "===> Min DSM 7.2 packages found: ${min_dsm72_packages}" +fi + echo "arch_packages=${arch_packages}" >> $GITHUB_OUTPUT echo "noarch_packages=${noarch_packages}" >> $GITHUB_OUTPUT echo "has_arch_packages=${has_arch_packages}" >> $GITHUB_OUTPUT echo "has_noarch_packages=${has_noarch_packages}" >> $GITHUB_OUTPUT +echo "min_dsm72_packages=${min_dsm72_packages}" >> $GITHUB_OUTPUT +echo "has_min_dsm72_packages=${has_min_dsm72_packages}" >> $GITHUB_OUTPUT echo "::endgroup::" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f0fe2d606b4..b304cd75562 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -122,7 +122,7 @@ jobs: - id: set-defaults run: | echo "add_noarch_builds=${{ github.event.inputs.add_noarch_builds || steps.dependencies.outputs.has_noarch_packages }}" >> $GITHUB_OUTPUT - echo "add_dsm72_builds=${{ github.event.inputs.add_dsm72_builds || 'false' }}" >> $GITHUB_OUTPUT + echo "add_dsm72_builds=${{ github.event.inputs.add_dsm72_builds || steps.dependencies.outputs.has_min_dsm72_packages }}" >> $GITHUB_OUTPUT echo "add_dsm71_builds=${{ github.event.inputs.add_dsm71_builds || steps.dependencies.outputs.has_arch_packages }}" >> $GITHUB_OUTPUT echo "add_dsm62_builds=${{ github.event.inputs.add_dsm62_builds || steps.dependencies.outputs.has_arch_packages }}" >> $GITHUB_OUTPUT echo "add_dsm52_builds=${{ github.event.inputs.add_dsm52_builds || 'false' }}" >> $GITHUB_OUTPUT @@ -159,7 +159,7 @@ jobs: add_dsm52_builds=${{ needs.prepare.outputs.add_dsm52_builds }} add_srm12_builds=${{ needs.prepare.outputs.add_srm12_builds }} - # Create a matrix as a JSON object + # Create matrix as a JSON object matrix='{"include": [' if [ "$add_noarch_builds" == "true" ]; then From ebe8946438ed14f263fac46df9c75fe52682e50c Mon Sep 17 00:00:00 2001 From: hgy59 Date: Fri, 4 Oct 2024 18:50:58 +0200 Subject: [PATCH 09/18] temp. change to force build of jellyfin --- cross/jellyfin/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cross/jellyfin/Makefile b/cross/jellyfin/Makefile index 594bd1984b4..56bacfe198f 100644 --- a/cross/jellyfin/Makefile +++ b/cross/jellyfin/Makefile @@ -1,4 +1,4 @@ -PKG_NAME = jellyfin + PKG_NAME = jellyfin PKG_VERS = 10.9.11 PKG_EXT = tar.gz PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) @@ -6,6 +6,8 @@ PKG_DIST_SITE = https://github.com/jellyfin/jellyfin/archive PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-$(PKG_VERS) +# forced change + HOMEPAGE = https://jellyfin.org COMMENT = The Free Software Media System. It is an alternative to the proprietary Emby and Plex. LICENSE = GPLv2 From 2f7682bd118d5d4ddad2cb2fbad4a77e57d9de0b Mon Sep 17 00:00:00 2001 From: hgy59 Date: Fri, 4 Oct 2024 21:29:45 +0200 Subject: [PATCH 10/18] revert min_dsm72_packages as output variable --- .github/actions/prepare.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/actions/prepare.sh b/.github/actions/prepare.sh index 3ad0ff34189..3bcdf57e5d0 100755 --- a/.github/actions/prepare.sh +++ b/.github/actions/prepare.sh @@ -143,7 +143,6 @@ echo "arch_packages=${arch_packages}" >> $GITHUB_OUTPUT echo "noarch_packages=${noarch_packages}" >> $GITHUB_OUTPUT echo "has_arch_packages=${has_arch_packages}" >> $GITHUB_OUTPUT echo "has_noarch_packages=${has_noarch_packages}" >> $GITHUB_OUTPUT -echo "min_dsm72_packages=${min_dsm72_packages}" >> $GITHUB_OUTPUT echo "has_min_dsm72_packages=${has_min_dsm72_packages}" >> $GITHUB_OUTPUT echo "::endgroup::" From 4a2546d68dc34cca117f2bf80d6fda5c3cc80445 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Fri, 4 Oct 2024 21:43:23 +0200 Subject: [PATCH 11/18] update more noarch packages --- spk/google-fonts/Makefile | 4 ++-- spk/headphones-custom/Makefile | 4 ++-- spk/headphones/Makefile | 4 ++-- spk/htpcmanager/Makefile | 4 ++-- spk/jappix/Makefile | 4 ++-- spk/lazylibrarian/Makefile | 4 ++-- spk/mantisbt/Makefile | 4 ++-- spk/maraschino/Makefile | 4 ++-- spk/mylar/Makefile | 4 ++-- spk/nzbget/Makefile | 2 +- spk/nzbhydra/Makefile | 4 ++-- spk/nzbmegasearch/Makefile | 4 ++-- spk/plexivity/Makefile | 4 ++-- spk/plexpy-custom/Makefile | 4 ++-- spk/roundcube/Makefile | 4 ++-- spk/rsnapshot/Makefile | 4 ++-- spk/saltpad/Makefile | 4 ++-- spk/selfoss/Makefile | 4 ++-- spk/sickbeard-custom/Makefile | 4 ++-- spk/sickrage/Makefile | 4 ++-- spk/subliminal/Makefile | 4 ++-- spk/syno-magnet/Makefile | 4 ++-- spk/tt-rss/Makefile | 4 ++-- spk/wallabag/Makefile | 4 ++-- 24 files changed, 47 insertions(+), 47 deletions(-) diff --git a/spk/google-fonts/Makefile b/spk/google-fonts/Makefile index 9dacf933bbf..981cfab2452 100644 --- a/spk/google-fonts/Makefile +++ b/spk/google-fonts/Makefile @@ -13,8 +13,8 @@ STARTABLE = no HOMEPAGE = http://fonts.google.com/ LICENSE = Most of the fonts in the collection use the SIL Open Font License, v1.1. Some fonts use the Apache 2 license. The Ubuntu fonts use the Ubuntu Font License v1.0. -# Pure package, make sure ARCH is not defined -override ARCH= +# Pure package, make sure ARCH is noarch +override ARCH=noarch WIZARDS_DIR = src/wizard SERVICE_SETUP = src/service-setup.sh diff --git a/spk/headphones-custom/Makefile b/spk/headphones-custom/Makefile index 84abd8d98a9..4c2e8b92d4b 100644 --- a/spk/headphones-custom/Makefile +++ b/spk/headphones-custom/Makefile @@ -31,8 +31,8 @@ WIZARDS_DIR = src/wizard/ COPY_TARGET = nop POST_STRIP_TARGET = headphones-custom_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/headphones/Makefile b/spk/headphones/Makefile index a01d7da8a36..8ff783ab3b3 100644 --- a/spk/headphones/Makefile +++ b/spk/headphones/Makefile @@ -30,8 +30,8 @@ WIZARDS_DIR = src/wizard/ COPY_TARGET = nop POST_STRIP_TARGET = headphones_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/htpcmanager/Makefile b/spk/htpcmanager/Makefile index 1c144ea3233..715e7b1bcc2 100644 --- a/spk/htpcmanager/Makefile +++ b/spk/htpcmanager/Makefile @@ -26,8 +26,8 @@ COPY_TARGET = nop POST_STRIP_TARGET = htpcmanager_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/jappix/Makefile b/spk/jappix/Makefile index 471c5d05126..a69916c0697 100644 --- a/spk/jappix/Makefile +++ b/spk/jappix/Makefile @@ -27,8 +27,8 @@ INSTALL_PREFIX = /usr/local/$(SPK_NAME) POST_STRIP_TARGET = jappix_extra_install -# Pure PHP package, make sure ARCH is not defined -override ARCH= +# Pure PHP package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/lazylibrarian/Makefile b/spk/lazylibrarian/Makefile index 495873d073f..c8dd1b82e66 100644 --- a/spk/lazylibrarian/Makefile +++ b/spk/lazylibrarian/Makefile @@ -28,8 +28,8 @@ WIZARDS_DIR = src/wizard/ COPY_TARGET = nop POST_STRIP_TARGET = lazylibrarian_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/mantisbt/Makefile b/spk/mantisbt/Makefile index 157e1e0451d..86eac62a69e 100644 --- a/spk/mantisbt/Makefile +++ b/spk/mantisbt/Makefile @@ -4,8 +4,8 @@ SPK_REV = 6 SPK_ICON = src/mantisbt.png DEPENDS = cross/$(SPK_NAME) -# Pure PHP package, make sure ARCH is not defined -override ARCH= +# Pure PHP package, make sure ARCH is noarch +override ARCH=noarch # Due to not obvious WebStation handling requirements REQUIRED_MIN_DSM = 6.0 diff --git a/spk/maraschino/Makefile b/spk/maraschino/Makefile index 7072506b260..b4378c4408c 100644 --- a/spk/maraschino/Makefile +++ b/spk/maraschino/Makefile @@ -27,8 +27,8 @@ INSTALL_PREFIX = /usr/local/$(SPK_NAME) COPY_TARGET = nop POST_STRIP_TARGET = maraschino_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/mylar/Makefile b/spk/mylar/Makefile index 044776423e8..bced5ad387f 100644 --- a/spk/mylar/Makefile +++ b/spk/mylar/Makefile @@ -29,8 +29,8 @@ WIZARDS_DIR = src/wizard/ COPY_TARGET = nop POST_STRIP_TARGET = mylar_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/nzbget/Makefile b/spk/nzbget/Makefile index 33b2df463f5..e7cfda9b3dc 100644 --- a/spk/nzbget/Makefile +++ b/spk/nzbget/Makefile @@ -28,7 +28,7 @@ ADMIN_PORT = $(SERVICE_PORT) # Installer brings all the binaries COPY_TARGET = nop -override ARCH= +override ARCH=noarch POST_STRIP_TARGET = nzbget_extra_install diff --git a/spk/nzbhydra/Makefile b/spk/nzbhydra/Makefile index 6bf67d35197..393acc83abb 100644 --- a/spk/nzbhydra/Makefile +++ b/spk/nzbhydra/Makefile @@ -27,8 +27,8 @@ ADMIN_PORT = $(SERVICE_PORT) COPY_TARGET = nop POST_STRIP_TARGET = nzbhydra_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/nzbmegasearch/Makefile b/spk/nzbmegasearch/Makefile index 7a4f92e786e..4a2c15ed67e 100644 --- a/spk/nzbmegasearch/Makefile +++ b/spk/nzbmegasearch/Makefile @@ -27,8 +27,8 @@ INSTALL_PREFIX = /usr/local/$(SPK_NAME) COPY_TARGET = nop POST_STRIP_TARGET = nzbmegasearch_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/plexivity/Makefile b/spk/plexivity/Makefile index 5bc02b1719d..a007d92ca1b 100644 --- a/spk/plexivity/Makefile +++ b/spk/plexivity/Makefile @@ -27,8 +27,8 @@ INSTALL_PREFIX = /usr/local/$(SPK_NAME) POST_STRIP_TARGET = plexivity_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/plexpy-custom/Makefile b/spk/plexpy-custom/Makefile index 89d8c256ce5..e4006d6dbf0 100644 --- a/spk/plexpy-custom/Makefile +++ b/spk/plexpy-custom/Makefile @@ -29,8 +29,8 @@ ADMIN_PORT = $(SERVICE_PORT) COPY_TARGET = nop POST_STRIP_TARGET = plexpy-custom_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/roundcube/Makefile b/spk/roundcube/Makefile index a9fb958a71a..e51b741814b 100644 --- a/spk/roundcube/Makefile +++ b/spk/roundcube/Makefile @@ -4,8 +4,8 @@ SPK_REV = 5 SPK_ICON = src/roundcube.png DEPENDS = cross/$(SPK_NAME) -# Pure PHP package, make sure ARCH is not defined -override ARCH= +# Pure PHP package, make sure ARCH is noarch +override ARCH=noarch # Due to not obvious WebStation handling requirements REQUIRED_MIN_DSM = 6.0 diff --git a/spk/rsnapshot/Makefile b/spk/rsnapshot/Makefile index 2aeb5191358..4da303bd5dc 100644 --- a/spk/rsnapshot/Makefile +++ b/spk/rsnapshot/Makefile @@ -17,8 +17,8 @@ LICENSE = GPLv2 SERVICE_SETUP = src/service-setup.sh -# Pure Perl package, make sure ARCH is not defined -override ARCH= +# Pure Perl package, make sure ARCH is noarch +override ARCH=noarch SPK_COMMANDS = bin/rsnapshot bin/rsnapshot-diff diff --git a/spk/saltpad/Makefile b/spk/saltpad/Makefile index d607602dea4..eb693c78e7a 100644 --- a/spk/saltpad/Makefile +++ b/spk/saltpad/Makefile @@ -26,8 +26,8 @@ CONF_DIR = src/conf/ POST_STRIP_TARGET = saltpad_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/selfoss/Makefile b/spk/selfoss/Makefile index 54f011df6c8..27230c2356d 100644 --- a/spk/selfoss/Makefile +++ b/spk/selfoss/Makefile @@ -4,8 +4,8 @@ SPK_REV = 8 SPK_ICON = src/selfoss.png DEPENDS = cross/selfoss -# Pure PHP package, make sure ARCH is not defined -override ARCH= +# Pure PHP package, make sure ARCH is noarch +override ARCH=noarch REQUIRED_MIN_DSM = 6.0 SPK_DEPENDS = WebStation:PHP7.4:Apache2.4 diff --git a/spk/sickbeard-custom/Makefile b/spk/sickbeard-custom/Makefile index c9fa2532641..07b4e3199fd 100644 --- a/spk/sickbeard-custom/Makefile +++ b/spk/sickbeard-custom/Makefile @@ -29,8 +29,8 @@ WIZARDS_DIR = src/wizard/ COPY_TARGET = nop POST_STRIP_TARGET = sickbeard-custom_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/sickrage/Makefile b/spk/sickrage/Makefile index 2cd882ae03e..c14dae3622c 100755 --- a/spk/sickrage/Makefile +++ b/spk/sickrage/Makefile @@ -27,8 +27,8 @@ WIZARDS_DIR = src/wizard/ COPY_TARGET = nop POST_STRIP_TARGET = sickrage_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/subliminal/Makefile b/spk/subliminal/Makefile index 01268ef092b..05e7f65749d 100644 --- a/spk/subliminal/Makefile +++ b/spk/subliminal/Makefile @@ -29,8 +29,8 @@ INSTALL_PREFIX = /usr/local/$(SPK_NAME) POST_STRIP_TARGET = subliminal_extra_install -# Pure Python package, make sure ARCH is not defined -override ARCH= +# Pure Python package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/syno-magnet/Makefile b/spk/syno-magnet/Makefile index 71c8b33a565..587403de2a0 100644 --- a/spk/syno-magnet/Makefile +++ b/spk/syno-magnet/Makefile @@ -34,8 +34,8 @@ URLS = $(PKG_DIST_SITE)/$(PKG_DIST_NAME) COPY_TARGET = syno_magnet_copy -# Pure web package, make sure ARCH is not defined -override ARCH = +# Pure web package, make sure ARCH is noarch +override ARCH=noarch include ../../mk/spksrc.spk.mk diff --git a/spk/tt-rss/Makefile b/spk/tt-rss/Makefile index e2993265286..be31d81ce2d 100644 --- a/spk/tt-rss/Makefile +++ b/spk/tt-rss/Makefile @@ -4,8 +4,8 @@ SPK_REV = 18 SPK_ICON = src/tt-rss.png DEPENDS = cross/$(SPK_NAME) -# Pure PHP package, make sure ARCH is not defined -override ARCH= +# Pure PHP package, make sure ARCH is noarch +override ARCH=noarch # Due to not obvious WebStation handling requirements REQUIRED_MIN_DSM = 6.0 diff --git a/spk/wallabag/Makefile b/spk/wallabag/Makefile index 6b6a28f26ee..0080758c8cf 100644 --- a/spk/wallabag/Makefile +++ b/spk/wallabag/Makefile @@ -4,8 +4,8 @@ SPK_REV = 4 SPK_ICON = src/wallabag.png DEPENDS = cross/$(SPK_NAME) -# Pure PHP package, make sure ARCH is not defined -override ARCH= +# Pure PHP package, make sure ARCH is noarch +override ARCH=noarch # Due to not obvious WebStation handling requirements REQUIRED_MIN_DSM = 6.0 From c998713154b5a0a67ddc38af602c575783c1cc8a Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sat, 5 Oct 2024 18:10:01 +0200 Subject: [PATCH 12/18] Revert "temp. change to force build of jellyfin" This reverts commit ebe8946438ed14f263fac46df9c75fe52682e50c. --- cross/jellyfin/Makefile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/cross/jellyfin/Makefile b/cross/jellyfin/Makefile index 56bacfe198f..594bd1984b4 100644 --- a/cross/jellyfin/Makefile +++ b/cross/jellyfin/Makefile @@ -1,4 +1,4 @@ - PKG_NAME = jellyfin +PKG_NAME = jellyfin PKG_VERS = 10.9.11 PKG_EXT = tar.gz PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) @@ -6,8 +6,6 @@ PKG_DIST_SITE = https://github.com/jellyfin/jellyfin/archive PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-$(PKG_VERS) -# forced change - HOMEPAGE = https://jellyfin.org COMMENT = The Free Software Media System. It is an alternative to the proprietary Emby and Plex. LICENSE = GPLv2 From 2c73b7b8724650462891c33a555d0db40f6d5ec0 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sat, 5 Oct 2024 18:12:23 +0200 Subject: [PATCH 13/18] add targets to call make noarch-{TCVERSION} - introduced to have build log files for noarch packages --- mk/spksrc.supported.mk | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mk/spksrc.supported.mk b/mk/spksrc.supported.mk index b91de7fc2bb..6edf28a4fd5 100644 --- a/mk/spksrc.supported.mk +++ b/mk/spksrc.supported.mk @@ -62,6 +62,9 @@ $(TARGET_TYPE)-arch-% &: pre-build-native arch-%: $(PSTAT_TIME) $(MAKE) $(addprefix build-arch-, $(or $(filter $(addprefix %, $(DEFAULT_TC)), $(filter %$(word 2,$(subst -, ,$*)), $(filter $(firstword $(subst -, ,$*))%, $(AVAILABLE_TOOLCHAINS)))),$*)) | tee --append build-$*.log +noarch-%: + $(PSTAT_TIME) $(MAKE) $(addprefix build-noarch-, $(filter $*, $(AVAILABLE_TCVERSIONS) 3.1)) | tee --append build-$@.log + #### build-arch-%: SHELL:=/bin/bash @@ -73,4 +76,12 @@ build-arch-%: $(MSG) $$(date +%Y%m%d-%H%M%S) MAKELEVEL: $(MAKELEVEL), PARALLEL_MAKE: $(PARALLEL_MAKE), ARCH: $*, NAME: $(NAME) [END] >> $(PSTAT_LOG) ; \ [ $${status[0]} -eq 0 ] || false +build-noarch-%: SHELL:=/bin/bash +build-noarch-%: + @$(MSG) BUILDING noarch package for TCVERSION $* + @MAKEFLAGS= $(MAKE) TCVERSION=$* 2>&1 ; \ + status=$${PIPESTATUS[0]} ; \ + $(MSG) $$(date +%Y%m%d-%H%M%S) MAKELEVEL: $(MAKELEVEL), PARALLEL_MAKE: $(PARALLEL_MAKE), TCVERSION: $*, NAME: $(NAME) [END] >> $(PSTAT_LOG) ; \ + [ $${status[0]} -eq 0 ] || false + #### From c27c53282d9e413ae4fd1ea717cb200cec642941 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sat, 5 Oct 2024 19:00:41 +0200 Subject: [PATCH 14/18] declare python2 dependent packages as broken --- spk/plexivity/BROKEN | 3 +++ spk/saltpad/BROKEN | 3 +++ spk/subliminal/BROKEN | 3 +++ 3 files changed, 9 insertions(+) create mode 100644 spk/plexivity/BROKEN create mode 100644 spk/saltpad/BROKEN create mode 100644 spk/subliminal/BROKEN diff --git a/spk/plexivity/BROKEN b/spk/plexivity/BROKEN new file mode 100644 index 00000000000..e4f4e17b38c --- /dev/null +++ b/spk/plexivity/BROKEN @@ -0,0 +1,3 @@ +plexivity requires installed python2 in the development environment + +not supported anymore since spksrc image was updated to debian 12 diff --git a/spk/saltpad/BROKEN b/spk/saltpad/BROKEN new file mode 100644 index 00000000000..39650ce5714 --- /dev/null +++ b/spk/saltpad/BROKEN @@ -0,0 +1,3 @@ +saltpad requires installed python2 in the development environment + +not supported anymore since spksrc image was updated to debian 12 diff --git a/spk/subliminal/BROKEN b/spk/subliminal/BROKEN new file mode 100644 index 00000000000..571adbfa706 --- /dev/null +++ b/spk/subliminal/BROKEN @@ -0,0 +1,3 @@ +subliminal requires installed python2 in the development environment + +not supported anymore since spksrc image was updated to debian 12 From cfd120a0907795f895d7c0c28aa0f37419da58fa Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sat, 5 Oct 2024 19:18:18 +0200 Subject: [PATCH 15/18] set adminer as default package for interactive builds --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b304cd75562..55d47b5b6ac 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,7 +6,7 @@ on: package: description: 'Package to build' required: true - default: 'syno-magnet' + default: 'adminer' publish: description: 'Publish to repository' required: false From 2cfc7386c257d6273ec258b53a168bd2538fd8dc Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sat, 5 Oct 2024 20:05:25 +0200 Subject: [PATCH 16/18] temp. disable google-fonts package --- spk/google-fonts/BROKEN | 1 + 1 file changed, 1 insertion(+) create mode 100644 spk/google-fonts/BROKEN diff --git a/spk/google-fonts/BROKEN b/spk/google-fonts/BROKEN new file mode 100644 index 00000000000..2d735899317 --- /dev/null +++ b/spk/google-fonts/BROKEN @@ -0,0 +1 @@ +temp. disabled From c9b130162955d2fff5101a4142fe58c2824a4dcb Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sat, 5 Oct 2024 20:25:16 +0200 Subject: [PATCH 17/18] Revert "temp. disable google-fonts package" This reverts commit 2cfc7386c257d6273ec258b53a168bd2538fd8dc. --- spk/google-fonts/BROKEN | 1 - 1 file changed, 1 deletion(-) delete mode 100644 spk/google-fonts/BROKEN diff --git a/spk/google-fonts/BROKEN b/spk/google-fonts/BROKEN deleted file mode 100644 index 2d735899317..00000000000 --- a/spk/google-fonts/BROKEN +++ /dev/null @@ -1 +0,0 @@ -temp. disabled From a59a81ccd5c6cbb268aac7b7c7471e6f11e8db41 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sat, 5 Oct 2024 20:27:55 +0200 Subject: [PATCH 18/18] syno-magnet: fix github build - SPK_NAME must not use variable --- .github/workflows/build.yml | 3 ++- spk/syno-magnet/Makefile | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 55d47b5b6ac..f986dbaec44 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -119,7 +119,8 @@ jobs: SPK_TO_BUILD: ${{ github.event.inputs.package }} # Set default values for all builds (manual or automated) - - id: set-defaults + - name: Set default values for generate matrix + id: set-defaults run: | echo "add_noarch_builds=${{ github.event.inputs.add_noarch_builds || steps.dependencies.outputs.has_noarch_packages }}" >> $GITHUB_OUTPUT echo "add_dsm72_builds=${{ github.event.inputs.add_dsm72_builds || steps.dependencies.outputs.has_min_dsm72_packages }}" >> $GITHUB_OUTPUT diff --git a/spk/syno-magnet/Makefile b/spk/syno-magnet/Makefile index 587403de2a0..63458c7e2a1 100644 --- a/spk/syno-magnet/Makefile +++ b/spk/syno-magnet/Makefile @@ -1,29 +1,29 @@ -PKG_NAME = syno-magnet -PKG_VERS = 1.0 +SPK_NAME = syno-magnet +SPK_VERS = 1.0 +SPK_REV = 3 +SPK_ICON = src/magnet.png + +PKG_NAME = $(SPK_NAME) +PKG_VERS = $(SPK_VERS) PKG_EXT = tar.gz PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) -PKG_DIST_SITE = https://github.com/neykov/$(PKG_NAME)/archive +PKG_DIST_SITE = https://github.com/neykov/syno-magnet/archive PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-$(PKG_VERS) -SPK_NAME = $(PKG_NAME) -SPK_VERS = $(PKG_VERS) -SPK_REV = 3 -SPK_ICON = src/magnet.png - MAINTAINER = neykov DESCRIPTION = Download Station Magnet Handler. Register Download Station as the application to download magnet links from your browser. No plugins required. DISPLAY_NAME = Download Station Magnet CHANGELOG = "Initial Version" -HOMEPAGE = https://github.com/neykov/syno-magnet -LICENSE = Apache 2.0 +HOMEPAGE = https://github.com/neykov/syno-magnet +LICENSE = Apache 2.0 STARTABLE = no DSM_UI_DIR = app SERVICE_TYPE = legacy SERVICE_URL = /webman/3rdparty/syno-magnet/index.html -SERVICE_PORT_ALL_USERS=true +SERVICE_PORT_ALL_USERS = true NAME = $(PKG_NAME) COOKIE_PREFIX = $(PKG_NAME)-