Compare commits
10 Commits
ecf0ffa7c4
...
3936b2eb46
| Author | SHA1 | Date | |
|---|---|---|---|
| 3936b2eb46 | |||
| 9b0c0199f1 | |||
| 20b7870e55 | |||
| d23459926b | |||
| d1752dd9d8 | |||
| 2e06ffeba8 | |||
| ba4fb2097c | |||
| fe644f7026 | |||
| f9fa7b8d9f | |||
| 1fbff2b1ad |
16
README.md
16
README.md
@@ -3,8 +3,8 @@ sudo apt install -y debootstrap qemu-user-static
|
||||
|
||||
## 越简单越可靠
|
||||
```
|
||||
deb http://ports.ubuntu.com/ubuntu-ports xenial main universe
|
||||
deb http://repo.ubports.com xenial main
|
||||
deb http://ports.ubuntu.com/ubuntu-ports focal main universe
|
||||
deb http://repo.ubports.com focal main
|
||||
|
||||
|
||||
ofono
|
||||
@@ -39,5 +39,15 @@ DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -j4
|
||||
1. sudo apt install -y debootstrap qemu-user-static expect pinentry-tty
|
||||
2. sudo update-alternatives --set pinentry /usr/bin/pinentry-tty >/dev/null || gpg-connect-agent reloadagent /bye >/dev/null
|
||||
3. reprepro 构建仓库签名密钥设置环境变量里SIGNING_PASSWORD,可用jenkins插件'Mask passwords'
|
||||
4. reprepro_expect -- -b /mnt/linux-data/mirrors/repo.ubports-cn remove xenial libgbinder-radio
|
||||
4. reprepro_expect -- -b /mnt/linux-data/mirrors/repo.ubports-cn remove focal libgbinder-radio
|
||||
5. reprepro_expect -- 后面所有参数会传递到reprepro中
|
||||
|
||||
## 为了ofono ofono-binder-plugin
|
||||
apt-get install apt-transport-https -y
|
||||
wget https://mirrors.kuailexs.com/repo.ubports-cn/public.key
|
||||
apt-key add public.key
|
||||
echo 'deb https://mirrors.kuailexs.com/repo.ubports-cn focal main' >> /etc/apt/sources.list
|
||||
apt-get -q update
|
||||
apt-get -q -y -o DPkg::Options::=--force-confnew dist-upgrade
|
||||
apt-get install ofono ofono-dev libgbinder libgbinder-dev libgbinder-radio libgbinder-radio-dev git libmce-glib-dev libglibutil-dev
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@ into_build_dir="build_dir"
|
||||
jenkins_workspace=`pwd`
|
||||
work_dir=$TOOLS_COMMOD_DIR/build/$RANDOM
|
||||
|
||||
EXTEND_MIRRORS=$1
|
||||
|
||||
source /opt/build-tools/common.sh
|
||||
|
||||
echo "设置一个带时间的版本号"
|
||||
@@ -18,7 +20,7 @@ function build_arch_package(){
|
||||
ARCH=$1
|
||||
echo "准备编译环境"
|
||||
# jenkins_before.sh work_dir source_dir build_num
|
||||
sudo /opt/build-tools/jenkins_before.sh $work_dir $jenkins_workspace $into_build_dir $ARCH
|
||||
sudo /opt/build-tools/jenkins_before.sh $work_dir $jenkins_workspace $into_build_dir $ARCH $EXTEND_MIRRORS
|
||||
|
||||
echo "执行编译动作"
|
||||
build_in_chroot $work_dir $into_build_dir $user_name
|
||||
|
||||
@@ -6,6 +6,10 @@ cd $source_dir
|
||||
|
||||
echo "开始检查依赖"
|
||||
|
||||
# 先更新一下
|
||||
apt-get -q update
|
||||
apt-get -q -y -o DPkg::Options::=--force-confnew dist-upgrade
|
||||
# 打包工具
|
||||
apt-get install -y dpkg-dev fakeroot
|
||||
|
||||
depends=`dpkg-checkbuilddeps 2>&1`
|
||||
|
||||
41
common.sh
41
common.sh
@@ -159,10 +159,14 @@ function save_base_tgz(){
|
||||
mkdir -p build lib64
|
||||
mkdir -p $TOOLS_COMMOD_DIR
|
||||
base_name="base-$DISTRIBUTION-$ARCH"
|
||||
if [ "$EXTEND_MIRRORS" == "1" ]
|
||||
then
|
||||
base_name="base-$DISTRIBUTION-extend-$ARCH"
|
||||
fi
|
||||
rm -f $TOOLS_COMMOD_DIR/$base_name.tgz.tmp
|
||||
tar -c --use-compress-program gzip -f $TOOLS_COMMOD_DIR/$base_name.tgz.tmp ./bin ./boot ./build ./dev ./etc ./home ./lib ./lib64 ./media ./mnt ./opt ./proc ./root ./run ./sbin ./srv ./sys ./tmp ./usr ./var
|
||||
mv $TOOLS_COMMOD_DIR/$base_name.tgz.tmp $TOOLS_COMMOD_DIR/$base_name.tgz
|
||||
echo "$TOOLS_COMMOD_DIR/$base_name.tgz.tmp $TOOLS_COMMOD_DIR/$base_name.tgz"
|
||||
echo "$TOOLS_COMMOD_DIR/$base_name.tgz.tmp $TOOLS_COMMOD_DIR/$base_name.tgz"
|
||||
}
|
||||
#
|
||||
function decompress_base_tgz(){
|
||||
@@ -171,7 +175,11 @@ function decompress_base_tgz(){
|
||||
|
||||
cd "$mount_dir"
|
||||
base_name="base-$DISTRIBUTION-$ARCH"
|
||||
echo "tar -x --use-compress-program gzip -p -f $TOOLS_COMMOD_DIR/$base_name.tgz"
|
||||
if [ "$EXTEND_MIRRORS" == "1" ]
|
||||
then
|
||||
base_name="base-$DISTRIBUTION-extend-$ARCH"
|
||||
fi
|
||||
echo "tar -x --use-compress-program gzip -p -f $TOOLS_COMMOD_DIR/$base_name.tgz"
|
||||
tar -x --use-compress-program gzip -p -f $TOOLS_COMMOD_DIR/$base_name.tgz
|
||||
}
|
||||
#
|
||||
@@ -186,24 +194,37 @@ function set_sources_update(){
|
||||
mount_dir=$1
|
||||
check_mount_dir $mount_dir
|
||||
|
||||
chroot $mount_dir /bin/bash -c "echo 'deb $MIRRORS xenial main universe multiverse restricted' > /etc/apt/sources.list"
|
||||
chroot $mount_dir /bin/bash -c "echo 'deb $MIRRORS xenial-updates main universe multiverse restricted' >> /etc/apt/sources.list"
|
||||
chroot $mount_dir /bin/bash -c "echo 'deb $MIRRORS $DISTRIBUTION main restricted universe multiverse' > /etc/apt/sources.list"
|
||||
chroot $mount_dir /bin/bash -c "echo 'deb $MIRRORS $DISTRIBUTION-updates main restricted universe multiverse' >> /etc/apt/sources.list"
|
||||
chroot $mount_dir /bin/bash -c "echo 'deb $MIRRORS $DISTRIBUTION-security main restricted universe multiverse' >> /etc/apt/sources.list"
|
||||
chroot $mount_dir /bin/bash -c "echo 'deb $MIRRORS $DISTRIBUTION-backports main restricted universe multiverse' >> /etc/apt/sources.list"
|
||||
chroot $mount_dir /usr/bin/apt-get -q update
|
||||
chroot $mount_dir /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confnew dist-upgrade
|
||||
chroot $mount_dir /usr/bin/apt-get -q -y install wget
|
||||
chroot $mount_dir /usr/bin/apt-get -q -y install wget apt-transport-https gnupg2
|
||||
|
||||
# ubports repo
|
||||
chroot $mount_dir wget http://repo.ubports.com/keyring.gpg
|
||||
chroot $mount_dir apt-key add keyring.gpg
|
||||
|
||||
chroot $mount_dir /bin/bash -c "echo 'deb $UBPORTS_MIRRORS xenial main' >> /etc/apt/sources.list"
|
||||
chroot $mount_dir /bin/bash -c "echo 'deb $UBPORTS_MIRRORS $DISTRIBUTION main' >> /etc/apt/sources.list"
|
||||
chroot $mount_dir /usr/bin/apt-get -q update
|
||||
chroot $mount_dir /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confnew dist-upgrade
|
||||
chroot $mount_dir /usr/bin/apt-get -q -y install build-essential dpkg-dev wget dpkg-dev fakeroot debhelper dh-autoreconf dh-systemd libtool libdbus-glib-1-dev libudev-dev libc-ares-dev libsystemd-dev udev
|
||||
|
||||
chroot $mount_dir /bin/bash -c "echo 'deb $UBPORTS_MIRRORS xenial_-_android9 main' >> /etc/apt/sources.list"
|
||||
chroot $mount_dir /usr/bin/apt-get -q update
|
||||
chroot $mount_dir /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confnew dist-upgrade
|
||||
if [ "$EXTEND_MIRRORS" == "1" ]
|
||||
then
|
||||
chroot $mount_dir wget http://mirrors.kuailexs.com/repo.ubports-cn/public.key
|
||||
chroot $mount_dir apt-key add public.key
|
||||
chroot $mount_dir /bin/bash -c "echo 'deb http://mirrors.kuailexs.com/repo.ubports-cn $DISTRIBUTION main' >> /etc/apt/sources.list"
|
||||
chroot $mount_dir /usr/bin/apt-get -q update
|
||||
chroot $mount_dir /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confnew dist-upgrade
|
||||
fi
|
||||
if [ "$DISTRIBUTION" == "focal" ]
|
||||
then
|
||||
# Ubuntu 20.04 fails when using fakeroot-sysv with:
|
||||
# semop(1): encountered an error: Function not implemented
|
||||
chroot $mount_dir /usr/bin/update-alternatives --set fakeroot /usr/bin/fakeroot-tcp
|
||||
fi
|
||||
}
|
||||
|
||||
# 设置一个带时间的版本号
|
||||
@@ -213,7 +234,7 @@ function set_time_version(){
|
||||
changelog_version=$(dpkg-parsechangelog -l debian/changelog --show-field Version)
|
||||
new_version="$changelog_version+$tiem_str"
|
||||
gbp dch --auto -S --multimaint-merge --ignore-branch --new-version=$new_version
|
||||
debchange --release --distribution xenial --force-distribution ''
|
||||
debchange --release --distribution focal --force-distribution ''
|
||||
}
|
||||
|
||||
# 复制编译结果
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
|
||||
source /opt/build-tools/default.conf
|
||||
|
||||
if [ $# == 1 ] ; then
|
||||
ARCH=$1
|
||||
fi
|
||||
ARCH=$1
|
||||
|
||||
EXTEND_MIRRORS=$2
|
||||
|
||||
source /opt/build-tools/common.sh
|
||||
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
|
||||
#
|
||||
ARCH=arm64
|
||||
|
||||
DISTRIBUTION=xenial
|
||||
DISTRIBUTION=focal
|
||||
|
||||
# ubuntu-ports 镜像
|
||||
MIRRORS=http://mirrors.aliyun.com/ubuntu-ports/
|
||||
MIRRORS=https://mirrors.aliyun.com/ubuntu-ports/
|
||||
|
||||
# ubports 镜像
|
||||
UBPORTS_MIRRORS=http://repo.ubports.com
|
||||
UBPORTS_MIRRORS=https://repo.ubports.com/
|
||||
|
||||
#工具公共目录
|
||||
TOOLS_COMMOD_DIR=/var/cache/pbuilder-mini
|
||||
|
||||
@@ -8,6 +8,7 @@ build_num=$3
|
||||
source /opt/build-tools/default.conf
|
||||
|
||||
ARCH=$4
|
||||
EXTEND_MIRRORS=$5
|
||||
|
||||
source /opt/build-tools/common.sh
|
||||
|
||||
|
||||
3
login.sh
3
login.sh
@@ -3,6 +3,9 @@
|
||||
source /opt/build-tools/default.conf
|
||||
source /opt/build-tools/common.sh
|
||||
|
||||
ARCH=$1
|
||||
EXTEND_MIRRORS=$2
|
||||
|
||||
work_dir="/work/test"
|
||||
|
||||
mkdir -p $work_dir
|
||||
|
||||
@@ -23,11 +23,11 @@ echo "source_package_name: $source_package_name"
|
||||
echo "dist_package_list: $dist_package_list"
|
||||
|
||||
# 移除老包
|
||||
for vpg in dist_package_list
|
||||
for vpg in ${dist_package_list[@]}
|
||||
do
|
||||
reprepro_expect -- -b $repository_dir remove xenial $vpg
|
||||
reprepro_expect -- -b $repository_dir remove focal $vpg
|
||||
done
|
||||
# 上传新包
|
||||
cd $WORKSPACE/dist
|
||||
reprepro_expect -- -b $repository_dir includedeb xenial *.deb
|
||||
reprepro_expect -- -b $repository_dir -S $source_package_name includedsc xenial *.dsc
|
||||
reprepro_expect -- -b $repository_dir includedeb focal *.deb
|
||||
reprepro_expect -- -b $repository_dir -S $source_package_name includedsc focal *.dsc
|
||||
|
||||
Reference in New Issue
Block a user