archlinuxcn / lilac

Lilac is the build bot for archlinuxcn
GNU General Public License v3.0
115 stars 40 forks source link

重复利用submodule #53

Closed petronny closed 6 years ago

petronny commented 6 years ago

不修改PKGBUILD的前提下

$ cat update-submodules.sh
#!/bin/bash
gitname=$1
[ -z "$2" ] && branch=master || branch=$2

[ ! -d $gitname ] && makepkg --verifysource && rmdir src

cd $gitname

if [ `git config --get core.bare` == "true" ]
then
        mkdir .git
        mv * .git
        git config --local --bool core.bare false
        git checkout $branch
fi

git reset --hard HEAD~1
git pull origin $branch
git submodule update --init

for i in `git submodule status | awk '{print $2}'`
do
        git config --file=.gitmodules submodule.$i.url "$(realpath .)/$i"
done

git add .
git commit -m 'makepkg'

#extra-x86_64-build -- -D `realpath $gitname`

可以重复利用submodule

抛砖引玉了。。。

petronny commented 6 years ago

这里的gitpath是从手动clone下来的,makepkg mirror下来的repo不知道该怎么办

lilydjwg commented 6 years ago

为什么要共享 git repo 呢?

petronny commented 6 years ago

呃好像共享git repo是没什么用。。。 主要作用还是重复利用submodule

petronny commented 6 years ago

修改了一下,现在只是重复利用submodules了 有个问题是这样会多创建一个commit, pkgver会超前一个,不知道怎么改比较好了 另外submodule的submodule不能处理。。。

lilydjwg commented 6 years ago

不好处理就先不处理了吧,反正编译机流量充足,网络也不错。还有更重要的事要处理呢。

petronny commented 6 years ago

我就先在lilac.py中用这个脚本好了