Add find-recipe.sh, move changelog.sh to scripts
This commit is contained in:
parent
bbeb98c7e9
commit
1156bf27e6
49
scripts/changelog.sh
Executable file
49
scripts/changelog.sh
Executable file
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
LAST_RELEASE_TAG="$(git describe --tags --abbrev=0)"
|
||||
LAST_RELEASE_TIMESTAMP="$(git log --format="%ct" -1 "${LAST_RELEASE_TAG}")"
|
||||
echo "Last release: ${LAST_RELEASE_TAG} at ${LAST_RELEASE_TIMESTAMP}"
|
||||
|
||||
REPOS=(
|
||||
redox=.
|
||||
cookbook=cookbook
|
||||
rust=rust
|
||||
)
|
||||
|
||||
for package in $(installer/target/release/redox_installer --list-packages -c config/x86_64/desktop.toml)
|
||||
do
|
||||
REPOS+=("${package}=cookbook/recipes/${package}/source")
|
||||
done
|
||||
|
||||
# TODO: resolve dependencies instead of manually adding these initfs packages
|
||||
for package in init logd nulld ramfs randd zerod
|
||||
do
|
||||
REPOS+=("${package}=cookbook/recipes/${package}/source")
|
||||
done
|
||||
|
||||
for name_repo in "${REPOS[@]}"
|
||||
do
|
||||
name="$(echo "${name_repo}" | cut -d "=" -f 1)"
|
||||
repo="$(echo "${name_repo}" | cut -d "=" -f 2-)"
|
||||
echo -en "\x1B[1m${name}:\x1B[0m "
|
||||
if [ -e "${repo}/.git" ]
|
||||
then
|
||||
remote="$(git -C "${repo}" remote get-url origin)"
|
||||
website="${remote%.*}"
|
||||
before="$(git -C "${repo}" log --until="${LAST_RELEASE_TIMESTAMP}" --format="%h" -1)"
|
||||
after="$(git -C "${repo}" log --since="${LAST_RELEASE_TIMESTAMP}" --format="%h" -1)"
|
||||
if [ -z "${before}" ]
|
||||
then
|
||||
echo "New repository at ${website}"
|
||||
elif [ -z "${after}" ]
|
||||
then
|
||||
echo "No changes"
|
||||
else
|
||||
echo "${website}/-/compare/${before}...${after}"
|
||||
fi
|
||||
else
|
||||
echo "Not a git repository"
|
||||
fi
|
||||
done
|
42
scripts/find-recipe.sh
Executable file
42
scripts/find-recipe.sh
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Ensure arch and config are set as desired, we use these to find the build dir
|
||||
export ARCH=x86_64
|
||||
export CONFIG_NAME=desktop
|
||||
|
||||
# Make sure to unmount the image first
|
||||
make unmount &>/dev/null || true
|
||||
|
||||
# Mount the image
|
||||
make mount >/dev/null
|
||||
|
||||
# Find all files
|
||||
find "build/${ARCH}/${CONFIG_NAME}/" -type f | cut -d / -f5- |\
|
||||
sort |\
|
||||
uniq |\
|
||||
while read path
|
||||
do
|
||||
# Skip empty paths
|
||||
if [ -z "${path}" ]
|
||||
then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Find all packages providing this file
|
||||
pkgs="$(
|
||||
find cookbook/recipes/*"/target/${ARCH}-unknown-redox/stage/${path}" -type f 2>/dev/null |
|
||||
cut -d/ -f3 |
|
||||
tr '\n' ' ' |
|
||||
sort |
|
||||
uniq
|
||||
)"
|
||||
if [ -n "${pkgs}" ]
|
||||
then
|
||||
echo "$path: ${pkgs}"
|
||||
else
|
||||
echo "$path: no packages, see config/${ARCH}/${CONFIG_NAME}.toml"
|
||||
fi
|
||||
done
|
||||
|
||||
# Make sure to unmount the image
|
||||
make unmount &>/dev/null || true
|
Loading…
Reference in a new issue