diff --git a/PackagingForCloudronWorkspace/README.md b/PackagingForCloudronWorkspace/README.md index e20d276..2b700d3 100644 --- a/PackagingForCloudronWorkspace/README.md +++ b/PackagingForCloudronWorkspace/README.md @@ -69,14 +69,14 @@ The workspace contains ~56 upstream application repositories including: ### Using the Workspace 1. **Source Access**: All upstream sources are available in `Docker/[appname]/` -2. **Development**: Use the `tsys-cloudron-packaging` container for all work +2. **Development**: Use the `KNELCloudron-packaging` container for all work 3. **Package Creation**: Create packages in separate temporary directories 4. **Git Exclusion**: All upstream sources are gitignored to keep repository clean ### Container Development ```bash # Access development container -docker exec -it tsys-cloudron-packaging bash +docker exec -it KNELCloudron-packaging bash # Navigate to workspace cd /workspace diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..2cc2870 --- /dev/null +++ b/TODO.md @@ -0,0 +1,11 @@ +# TODO + +## Active +- [x] Confirm packaging container/image rename (`scripts/packaging-up.sh`, `scripts/packaging-enter.sh`, `scripts/packaging-exec.sh`) by rebuilding under the `KNELCloudron-packaging` name and validating workflow scripts. (2025-10-17) +- [ ] Push updated base packaging image `git.knownelement.com/knel/knelcloudron-packaging:latest` to the registry once tested inside the container. +- [ ] Publish the curated shortlist of target FLOSS apps absent from the Cloudron store and agree on a packaging order. +- [ ] Add explicit documentation about the `KNELCloudron-` Docker artifact prefix in `README.md` and packaging templates. + +## Backlog +- [ ] Explore automation to scaffold `CloudronManifest.json` files from upstream metadata within the packaging container. +- [ ] Prototype a containerized smoke-test harness for validating packaged apps via `scripts/packaging-exec.sh`. diff --git a/scripts/packaging-enter.sh b/scripts/packaging-enter.sh index 7194f0e..570e237 100755 --- a/scripts/packaging-enter.sh +++ b/scripts/packaging-enter.sh @@ -1,10 +1,9 @@ #!/usr/bin/env bash set -euo pipefail -NAME=${PACKAGING_CONTAINER_NAME:-tsys-cloudron-packaging} +NAME=${PACKAGING_CONTAINER_NAME:-KNELCloudron-packaging} if ! docker ps --format '{{.Names}}' | grep -qx "$NAME"; then scripts/packaging-up.sh >/dev/null fi exec docker exec -it "$NAME" bash - diff --git a/scripts/packaging-exec.sh b/scripts/packaging-exec.sh index 355a386..5c55cd1 100755 --- a/scripts/packaging-exec.sh +++ b/scripts/packaging-exec.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -NAME=${PACKAGING_CONTAINER_NAME:-tsys-cloudron-packaging} +NAME=${PACKAGING_CONTAINER_NAME:-KNELCloudron-packaging} if [[ $# -lt 1 ]]; then echo "Usage: scripts/packaging-exec.sh " >&2 @@ -12,4 +12,3 @@ if ! docker ps --format '{{.Names}}' | grep -qx "$NAME"; then fi exec docker exec -it "$NAME" sh -lc "$*" - diff --git a/scripts/packaging-up.sh b/scripts/packaging-up.sh index f047ae2..64e1ad2 100755 --- a/scripts/packaging-up.sh +++ b/scripts/packaging-up.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash set -euo pipefail -NAME=${PACKAGING_CONTAINER_NAME:-tsys-cloudron-packaging} -IMAGE=${PACKAGING_IMAGE:-knel/packaging:latest} +NAME=${PACKAGING_CONTAINER_NAME:-KNELCloudron-packaging} +IMAGE=${PACKAGING_IMAGE:-git.knownelement.com/knel/knelcloudron-packaging:latest} DOCKERFILE=${PACKAGING_DOCKERFILE:-docker/packaging/Dockerfile} if ! docker image inspect "$IMAGE" >/dev/null 2>&1; then @@ -27,4 +27,3 @@ else fi echo "Packaging container ready: $NAME (image: $IMAGE)" - diff --git a/scripts/todo-generate.sh b/scripts/todo-generate.sh new file mode 100755 index 0000000..1f5dd16 --- /dev/null +++ b/scripts/todo-generate.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +set -euo pipefail + +CLONE_SCRIPT="PackagingForCloudronWorkspace/UpstreamVendor-Clone.sh" +EXTRA_REPOS_FILE="PackagingForCloudronWorkspace/REPOS.txt" + +if [[ ! -f "$CLONE_SCRIPT" ]]; then + echo "Missing $CLONE_SCRIPT" >&2 + exit 1 +fi + +repo_lines=$(awk '/^https?:\/\//{print $0}' "$CLONE_SCRIPT" | sed 's/#.*$//' | sed -n '/^https:\/\//p') +if [[ -f "$EXTRA_REPOS_FILE" ]]; then + extra=$(sed -e 's/#.*$//' -e '/^\s*$/d' "$EXTRA_REPOS_FILE" | sed -n '/^https:\/\//p') +else + extra="" +fi + +all_urls=$(printf "%s\n%s\n" "$repo_lines" "$extra" | sed 's/.git$//' | sort -u) + +readarray -t urls <<< "$all_urls" + +now=$(date -Is) + +cat < TODO.md +echo "Updated TODO.md" +