@@ -7,22 +7,22 @@ DOCKER=0
77DEB=0
88RPM=0
99APPIMAGE=0
10- if [ -z " $OS " ]; then
11- OS =ubuntu
10+ if [ -z " $DOCKERT_IMAGE " ]; then
11+ DOCKERT_IMAGE =ubuntu
1212fi
1313if [ -z " $BUILD_VERBOSE " ]; then
1414 BUILD_VERBOSE=OFF
1515fi
1616
1717usage_long () {
18- echo " $0 [-h|--help] [-v|--verbose[=0|1]] [--docker] [--deb] [--rpm] [--appimage] [--os=Operate system ] --install=<install directory>] [--source=<source directory>] [--tools=<tools directory>]"
18+ echo " $0 [-h|--help] [-v|--verbose[=0|1]] [--docker] [--deb] [--rpm] [--appimage] [--docker-image=docker image ] --install=<install directory>] [--source=<source directory>] [--tools=<tools directory>]"
1919 echo " --help|-h: Show help"
2020 echo " -v|--verbose: Show build verbose"
2121 echo " --docker: run docket for build"
2222 echo " --deb: build deb package"
2323 echo " --rpm: build rpm package"
2424 echo " --appimage: build AppImage"
25- echo " --os: Operate system name"
25+ echo " --docker-image: The name of docker image "
2626 echo " Directory:"
2727 echo " --install: Set install directory"
2828 echo " --source: Set source directory"
@@ -39,7 +39,7 @@ if command -V getopt >/dev/null; then
3939 # 后面没有冒号表示没有参数。后跟有一个冒号表示有参数。跟两个冒号表示有可选参数。
4040 # -l 或 --long 选项后面是可接受的长选项,用逗号分开,冒号的意义同短选项。
4141 # -n 选项后接选项解析错误时提示的脚本名字
42- OPTS=help,verbose::,docker::,deb::,rpm::,appimage::,os ::,install:,source:,tools:
42+ OPTS=help,verbose::,docker::,deb::,rpm::,appimage::,docker-image ::,install:,source:,tools:
4343 ARGS=` getopt -o h,v:: -l $OPTS -n $( basename $0 ) -- " $@ " `
4444 if [ $? != 0 ]; then
4545 echo " exec getopt fail: $? "
@@ -112,12 +112,12 @@ if command -V getopt >/dev/null; then
112112 esac
113113 shift 2
114114 ;;
115- --os )
115+ --docker-image )
116116 case $2 in
117117 " " )
118- OS =1;;
118+ DOCKERT_IMAGE =1;;
119119 * )
120- OS =$2 ;;
120+ DOCKERT_IMAGE =$2 ;;
121121 esac
122122 shift 2
123123 ;;
@@ -162,7 +162,20 @@ mkdir -p $TOOLS_DIR
162162mkdir -p $INSTALL_DIR
163163
164164if [ $DOCKER -eq 1 ]; then
165- docker build -t RabbitRemoteControl/${OS} $CURDIR /docker
165+ # Create Dockerfile
166+ cat << EOF > ${BUILD_LINUX_DIR} /Dockerfile
167+ FROM $DOCKERT_IMAGE
168+
169+ RUN useradd -s /bin/bash -m kl
170+ RUN echo >> /etc/sudoers
171+ RUN echo "kl ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
172+
173+ USER kl
174+ WORKDIR /home/kl
175+ CMD ["/bin/bash"]
176+ EOF
177+
178+ docker build -t RabbitRemoteControl/${DOCKERT_IMAGE} -f ${BUILD_LINUX_DIR} /Dockerfile
166179
167180 # # Copy the source code to build directory
168181 pushd ${REPO_ROOT}
@@ -177,23 +190,23 @@ if [ $DOCKER -eq 1 ]; then
177190 popd
178191
179192 if [ $DEB -eq 1 ]; then
180- docker run --volume ${BUILD_LINUX_DIR} :/home/deb/ build --interactive --rm RabbitRemoteControl/${OS } \
193+ docker run --volume ${BUILD_LINUX_DIR} :/home/build --interactive --rm RabbitRemoteControl/${DOCKERT_IMAGE } \
181194 bash -e -x -c "
182- tar -C ~ -xf /home/deb/ build/RabbitRemoteControl.tar.gz
183- sudo ~/RabbitRemoteControl/Script/build_linux.sh --os= ${OS} -- deb --verbose ${BUILD_VERBOSE}
184- cp ~/rabbitremotecontrol*.deb /home/deb/ build/
195+ tar -C ~ -xf /home/build/RabbitRemoteControl.tar.gz
196+ sudo ~/RabbitRemoteControl/Script/build_linux.sh --deb --verbose ${BUILD_VERBOSE}
197+ cp ~/rabbitremotecontrol*.deb /home/build/
185198 "
186199 fi
187200 if [ $APPIMAGE -eq 1 ]; then
188- docker run --volume ${BUILD_LINUX_DIR} :/home/deb/ build --privileged --interactive --rm RabbitRemoteControl/${OS } \
201+ docker run --volume ${BUILD_LINUX_DIR} :/home/build --privileged --interactive --rm RabbitRemoteControl/${DOCKERT_IMAGE } \
189202 bash -e -x -c "
190- tar -C ~ -xf /home/deb/ build/RabbitRemoteControl.tar.gz
191- sudo ~/RabbitRemoteControl/Script/build_linux.sh --os= ${OS} -- appimage --verbose ${BUILD_VERBOSE}
192- cp ~/RabbitRemoteControl/RabbitRemoteControl_` uname -m` .AppImage /home/deb/ build/
203+ tar -C ~ -xf /home/build/RabbitRemoteControl.tar.gz
204+ sudo ~/RabbitRemoteControl/Script/build_linux.sh --appimage --verbose ${BUILD_VERBOSE}
205+ cp ~/RabbitRemoteControl/RabbitRemoteControl_` uname -m` .AppImage /home/build/
193206 "
194207 fi
195208 if [ $RPM -eq 1 ]; then
196- docker run --volume ${BUILD_LINUX_DIR} :/home/build --privileged --interactive --rm fedora \
209+ docker run --volume ${BUILD_LINUX_DIR} :/home/build --privileged --interactive --rm RabbitRemoteControl/ ${DOCKERT_IMAGE} \
197210 bash -e -x -c "
198211 mkdir -p ~/rpmbuild/SOURCES/
199212 cp /home/build/RabbitRemoteControl.tar.gz ~/rpmbuild/SOURCES/
0 commit comments