|
1 | | -name: Build GCC 9.3 + glibc 2.29 Toolchain for DictPen P5 |
| 1 | +name: Build GCC 9.3 + glibc 2.29 Toolchain for DictPen P5 (Fast Pack) |
2 | 2 |
|
3 | 3 | on: |
4 | 4 | push: |
@@ -301,57 +301,50 @@ jobs: |
301 | 301 | chmod +x dictpen-gcc9-env.sh |
302 | 302 | echo "✅ Environment script created" |
303 | 303 |
|
304 | | - # ===== 安装 pv 并打包完整工具链(带进度条)===== |
| 304 | + # ===== 快速打包(不解引用符号链接,显示总大小,带进度条)===== |
305 | 305 | - name: Install pv for progress bar |
306 | 306 | run: sudo apt-get install -y pv |
307 | 307 |
|
308 | | - - name: Package full toolchain with progress bar (all .so and tools) |
| 308 | + - name: Package toolchain FAST (no dereference, show total size, with progress bar) |
309 | 309 | run: | |
310 | 310 | cd ~/buildroot-gcc9/buildroot-2021.02 |
311 | 311 | |
312 | | - echo "📦 Packaging full toolchain (all .so and tools) with progress bar..." |
| 312 | + echo "📦 Packaging toolchain FAST (no dereference)..." |
313 | 313 | echo "" |
314 | 314 | |
315 | | - # 进入 host 目录准备打包 |
316 | 315 | cd output/host |
317 | 316 | |
318 | | - # 使用 tar 并通过 pv 显示进度 |
319 | | - # 参数说明: |
320 | | - # -c 创建新包 |
321 | | - # -h 跟随符号链接(解引用),确保所有链接指向的文件都被打包 |
322 | | - # -f - 输出到标准输出(通过管道传给 pv) |
323 | | - # --exclude 排除虚拟文件系统内容 |
324 | | - tar -chf - \ |
325 | | - --exclude='aarch64-buildroot-linux-gnu/sysroot/dev/*' \ |
326 | | - --exclude='aarch64-buildroot-linux-gnu/sysroot/proc/*' \ |
327 | | - --exclude='aarch64-buildroot-linux-gnu/sysroot/sys/*' \ |
328 | | - --exclude='aarch64-buildroot-linux-gnu/sysroot/etc/mtab' \ |
329 | | - --exclude='aarch64-buildroot-linux-gnu/sysroot/etc/resolv.conf' \ |
330 | | - . | pv -t -r -b > ../../dictpen-p5-gcc9-toolchain-full.tar |
| 317 | + # 显示总大小(人类可读格式) |
| 318 | + total_size=$(du -sb . | cut -f1) |
| 319 | + echo "Total size to package: $(numfmt --to=iec $total_size)" |
| 320 | + echo "" |
| 321 | + |
| 322 | + # 打包并通过 pv 显示进度 |
| 323 | + tar -cf - . | pv -s $total_size -t -r -b > ../../dictpen-p5-gcc9-toolchain-fast.tar |
331 | 324 | |
332 | 325 | cd ../.. |
333 | 326 | |
334 | 327 | # 将环境脚本和配置文件追加到同一个 tar 包中 |
335 | | - tar -rf dictpen-p5-gcc9-toolchain-full.tar \ |
| 328 | + tar -rf dictpen-p5-gcc9-toolchain-fast.tar \ |
336 | 329 | dictpen-gcc9-env.sh \ |
337 | 330 | configs/dictpen_p5_gcc9_defconfig \ |
338 | 331 | .config |
339 | 332 | |
340 | 333 | echo "" |
341 | | - echo "✅ Full toolchain packaged: dictpen-p5-gcc9-toolchain-full.tar" |
| 334 | + echo "✅ Toolchain packaged FAST: dictpen-p5-gcc9-toolchain-fast.tar" |
342 | 335 | echo "" |
343 | 336 | |
344 | 337 | # 显示包信息 |
345 | 338 | echo "=== Package Information ===" |
346 | | - ls -lh dictpen-p5-gcc9-toolchain-full.tar |
347 | | - echo "📦 File count: $(tar -tf dictpen-p5-gcc9-toolchain-full.tar | wc -l) files" |
| 339 | + ls -lh dictpen-p5-gcc9-toolchain-fast.tar |
| 340 | + echo "📦 File count: $(tar -tf dictpen-p5-gcc9-toolchain-fast.tar | wc -l) files" |
348 | 341 |
|
349 | 342 | - name: Upload toolchain artifacts |
350 | 343 | uses: actions/upload-artifact@v4 |
351 | 344 | with: |
352 | | - name: dictpen-p5-gcc9-toolchain-full |
| 345 | + name: dictpen-p5-gcc9-toolchain-fast |
353 | 346 | path: | |
354 | | - ~/buildroot-gcc9/buildroot-2021.02/dictpen-p5-gcc9-toolchain-full.tar |
| 347 | + ~/buildroot-gcc9/buildroot-2021.02/dictpen-p5-gcc9-toolchain-fast.tar |
355 | 348 | ~/buildroot-gcc9/buildroot-2021.02/*sdk*.tar.gz |
356 | 349 | ~/buildroot-gcc9/buildroot-2021.02/dictpen-gcc9-env.sh |
357 | 350 | ~/buildroot-gcc9/buildroot-2021.02/build.log |
@@ -395,7 +388,7 @@ jobs: |
395 | 388 | echo "### Usage" >> $GITHUB_STEP_SUMMARY |
396 | 389 | echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY |
397 | 390 | echo "# Extract toolchain" >> $GITHUB_STEP_SUMMARY |
398 | | - echo "tar -xf dictpen-p5-gcc9-toolchain-full.tar" >> $GITHUB_STEP_SUMMARY |
| 391 | + echo "tar -xf dictpen-p5-gcc9-toolchain-fast.tar" >> $GITHUB_STEP_SUMMARY |
399 | 392 | echo "" >> $GITHUB_STEP_SUMMARY |
400 | 393 | echo "# Source environment" >> $GITHUB_STEP_SUMMARY |
401 | 394 | echo "source dictpen-gcc9-env.sh" >> $GITHUB_STEP_SUMMARY |
|
0 commit comments