|
9 | 9 | - published |
10 | 10 |
|
11 | 11 | env: |
12 | | - PKG_RELEASE: "1" |
13 | | - PKG_SUMMARY: "Installs required dependencies for the stack" |
14 | | - PKG_DESC: "A dummy package designed to pull in all required dependencies. Together with the \"virtualmin-core\" package, it installs everything needed for the selected stack." |
15 | | - PKG_HOMEPAGE: "https://github.com/virtualmin/virtualmin-stack-meta" |
16 | 12 | IS_RELEASE: ${{ github.event_name == 'release' }} |
17 | 13 |
|
18 | 14 | BUILD_DEPS: "tar curl gzip dpkg-dev fakeroot build-essential coreutils" |
@@ -62,33 +58,57 @@ jobs: |
62 | 58 | |
63 | 59 | # Parse debian control and build packages |
64 | 60 | while IFS= read -r line; do |
65 | | - result+=("$line") |
| 61 | + case $line in |
| 62 | + PACKAGE_START) |
| 63 | + unset pkg_name pkg_version pkg_release pkg_depends pkg_recommends \ |
| 64 | + pkg_suggests pkg_replaces pkg_homepage pkg_summary \ |
| 65 | + pkg_description |
| 66 | + ;; |
| 67 | +
|
| 68 | + PACKAGE_END) |
| 69 | + [[ $pkg_name && $pkg_version ]] || continue |
| 70 | +
|
| 71 | + decoded_description= |
| 72 | + [[ ${pkg_description:-} ]] && \ |
| 73 | + decoded_description=$(echo "$pkg_description" | base64 --decode) |
| 74 | +
|
| 75 | + build_native_package \ |
| 76 | + --architectures "noarch" \ |
| 77 | + --target-dir "$ROOT_REPOS" \ |
| 78 | + --base-name "$pkg_name" \ |
| 79 | + --version "$pkg_version" \ |
| 80 | + --release "${pkg_release:-1}" \ |
| 81 | + --depends "${pkg_depends:-}" \ |
| 82 | + --recommends "${pkg_recommends:-}" \ |
| 83 | + --suggests "${pkg_suggests:-}" \ |
| 84 | + --replaces "${pkg_replaces:-}" \ |
| 85 | + --skip rpm \ |
| 86 | + --summary "${pkg_summary:-}" \ |
| 87 | + --description "${decoded_description:-}" \ |
| 88 | + --homepage "${pkg_homepage:-}" |
| 89 | + ;; |
| 90 | +
|
| 91 | + *=*) |
| 92 | + # split the key-value safely |
| 93 | + key=${line%%=*} |
| 94 | + val=${line#*=} |
| 95 | +
|
| 96 | + case $key in |
| 97 | + name) pkg_name=$val ;; |
| 98 | + version) pkg_version=$val ;; |
| 99 | + release) pkg_release=$val ;; |
| 100 | + depends) pkg_depends=$val ;; |
| 101 | + recommends) pkg_recommends=$val ;; |
| 102 | + suggests) pkg_suggests=$val ;; |
| 103 | + replaces) pkg_replaces=$val ;; |
| 104 | + homepage) pkg_homepage=$val ;; |
| 105 | + summary) pkg_summary=$val ;; |
| 106 | + description) pkg_description=$val ;; |
| 107 | + esac |
| 108 | + ;; |
| 109 | + esac |
66 | 110 | done < <(parse_debian_control "." "$testing") |
67 | 111 | |
68 | | - for ((i = 0; i < ${#result[@]}; i += 6)); do |
69 | | - pkg_name="${result[i]}" |
70 | | - pkg_version="${result[i+1]}" |
71 | | - pkg_depends="${result[i+2]}" |
72 | | - pkg_recommends="${result[i+3]}" |
73 | | - pkg_suggests="${result[i+4]}" |
74 | | - pkg_replaces="${result[i+5]}" |
75 | | - |
76 | | - build_native_package \ |
77 | | - --architectures noarch \ |
78 | | - --target-dir "$ROOT_REPOS" \ |
79 | | - --base-name "$pkg_name" \ |
80 | | - --version "$pkg_version" \ |
81 | | - --release "${{ env.PKG_RELEASE }}" \ |
82 | | - --depends "$pkg_depends" \ |
83 | | - --recommends "$pkg_recommends" \ |
84 | | - --suggests "$pkg_suggests" \ |
85 | | - --replaces "$pkg_replaces" \ |
86 | | - --skip rpm \ |
87 | | - --summary "${{ env.PKG_SUMMARY }}" \ |
88 | | - --description "${{ env.PKG_DESC }}" \ |
89 | | - --homepage "${{ env.PKG_HOMEPAGE }}" |
90 | | - done |
91 | | - |
92 | 112 | # Upload and sign |
93 | 113 | upload_list=("$ROOT_REPOS/"*) |
94 | 114 | cloud_upload upload_list |
|
0 commit comments