1 Star 0 Fork 0

小线/luarocks

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
makedist 5.09 KB
一键复制 编辑 原始数据 按行查看 历史
Hisham Muhammad 提交于 2024-05-31 14:36 . makedist: fix arg check
#!/bin/bash -e
if ! [ "$1" ]
then
echo "usage: $0 <version> <lua54dir>"
exit 1
fi
if ! [ -d ".git" ]
then
echo "Should be run from the LuaRocks git repo dir."
exit 1
fi
make clean || exit 1
version=$1
shift
lua54dir=$1
shift || {
echo "Second argument must be the Lua 5.4 prefix."
exit 1
}
if ! [ -d "$lua54dir" ]
then
echo "Second argument must be the Lua 5.4 prefix."
exit 1
fi
#-------------------------------------------------------------------------------
if ! [ "$version" = "dev" ]
then
# e.g. if $version is "2.3.0", $xyversion is "2.3"
xyversion=${version%.*}
ROCKSPEC="luarocks-$version-1.rockspec"
if [ "$1" = "branch" ]
then
shift
if git show $version &> /dev/null
then
echo "Branch $version already exists."
exit 1
fi
git reset
git checkout .
git checkout -B $version
ROCKSPEC="luarocks-$version-1.rockspec"
currentrockspec=$(ls luarocks-*.rockspec)
if [ "$currentrockspec" != "$ROCKSPEC" ] && ! [ -e "$ROCKSPEC" ]
then
git mv luarocks-*.rockspec "$ROCKSPEC"
fi
sed -i 's/"Configuring LuaRocks version .*"/"Configuring LuaRocks version '$version'..."/' configure
sed -i 's/version = "[^"]*"/version = "'$version'-1"/' $ROCKSPEC
sed -i 's/\( url = "[^"]*",\)/\1\n tag = "v'$version'"/' $ROCKSPEC
sed -i 's/program_version = "[^"]*"/program_version = "'$version'"/' src/luarocks/core/cfg.lua
sed -i 's/version: [0-9.]*/version: '$version'./' appveyor.yml
sed -i 's/LUAROCKS_VER: [0-9.]*/LUAROCKS_VER: '$version'/' appveyor.yml
sed -i 's/vars.VERSION = "[0-9.]*"/vars.VERSION = "'$xyversion'"/' install.bat
echo "==============================================================================="
git diff
echo "==============================================================================="
echo "Does the change look alright? Press 'y' to commit"
echo "==============================================================================="
read
if [ "$REPLY" = "y" ]
then
git commit -av -m "Release $version"
fi
fi
[ -e "$ROCKSPEC" ] || {
echo
echo "$ROCKSPEC is missing. Please check rockspec version is correct."
}
grep -q "LuaRocks version $version" "configure" || {
echo
echo "version in configure is incorrect. Please fix it."
exit 1
}
grep -q "\"$version-1\"" "$ROCKSPEC" || {
echo
echo "version in rockspec is incorrect. Please fix it."
exit 1
}
grep -q "program_version = \"$version\"" src/luarocks/core/cfg.lua || {
echo
echo "program_version in src/luarocks/core/cfg.lua is incorrect. Please fix it."
exit 1
}
grep -q "version: $version\\." appveyor.yml || {
echo
echo "version in appveyor.yml is incorrect. Please fix it."
exit 1
}
grep -q "LUAROCKS_VER: $version" appveyor.yml || {
echo
echo "LUAROCKS_VER in appveyor.yml is incorrect. Please fix it."
exit 1
}
grep -q "vars.VERSION = \"$xyversion\"" install.bat || {
echo
echo "vars.VERSION in install.bat is incorrect. Please fix it."
exit 1
}
fi # if ! [ "$version" = "dev" ]
#-------------------------------------------------------------------------------
out="luarocks-$version"
rm -rf "$out"
mkdir "$out"
git ls-files | while read i
do
if [ -f "$i" ]
then
dir=`dirname $i`
mkdir -p "$out/$dir"
cp "$i" "$out/$dir"
fi
done
rm -rf "release-unix" "release-windows" "$out.tar.gz" "$out-win32.zip"
mkdir "release-unix"
cp -a "$out" "release-unix"
mkdir "release-windows"
mv "$out" "release-windows/$out-win32"
cd "release-unix/$out"
rm -rf makedist install.bat win32 .github .gitignore appveyor* .appveyor
cd ..
tar czvpf ../"$out.tar.gz" "$out"
rm -f ../"$out.tar.gz.asc"
cd ..
rm -rf "release-unix"
cd "release-windows/$out-win32"
rm -rf makedist Makefile GNUmakefile configure .github .gitignore test appveyor* .appveyor
cd ..
zip -r ../"$out-win32.zip" "$out-win32"
rm -f ../"$out-win32.zip.asc"
cd ..
rm -rf "release-windows"
if [ "$1" = "binary" ]
then
shift
./configure --lua-version=5.4 --with-lua=$lua54dir
make binary
cd build-binary
mkdir "$out-linux-x86_64"
cp luarocks.exe "$out-linux-x86_64/luarocks"
cp luarocks-admin.exe "$out-linux-x86_64/luarocks-admin"
zip "../$out-linux-x86_64.zip" "$out-linux-x86_64"/*
cd ..
rm -f "$out-linux-x86_64.zip.asc"
make windows-binary-32
cd build-windows-binary-i686-w64-mingw32
mkdir "$out-windows-32"
cp luarocks.exe "$out-windows-32/luarocks.exe"
cp luarocks-admin.exe "$out-windows-32/luarocks-admin.exe"
zip "../$out-windows-32.zip" "$out-windows-32"/*
cd ..
rm -f "$out-windows-32.zip.asc"
make windows-binary-64
cd build-windows-binary-x86_64-w64-mingw32
mkdir "$out-windows-64"
cp luarocks.exe "$out-windows-64/luarocks.exe"
cp luarocks-admin.exe "$out-windows-64/luarocks-admin.exe"
zip "../$out-windows-64.zip" "$out-windows-64"/*
cd ..
rm -f "$out-windows-64.zip.asc"
fi
if [ "$1" = "sign" ]
then
shift
for f in \
$out-windows-32.zip \
$out-windows-64.zip \
$out-linux-x86_64.zip \
$out-win32.zip \
$out.tar.gz
do
[ -e "$f" -a ! -e "$f.asc" ] && gpg --armor --output "$f.asc" --detach-sign "$f"
done
fi
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/fjsleeping/luarocks.git
git@gitee.com:fjsleeping/luarocks.git
fjsleeping
luarocks
luarocks
master

搜索帮助