安裝歷程
- 以原本的'data'模式隨身碟開機後,用setup-alpine 安裝到另一支目的隨身碟
- 重開機後, 其實就相當於之前設定的 'data'模式內容, 但是之前為了避免佔用根目錄記憶體空間, 採用 symbolic link 指到隨身碟的空間就必須改回原本的設定, 再copy資料過去(例如:/home/xxx, /var/lib/docker, /etc/apk/cache)
- rm /etc/apk/cache ; ln -s /var/cache/apk /etc/apk/cache # cache 不需要 copy
- 調整 /boot/extlinux.cfg 把 TIMEOUT 從 30 改成 1 加速開機(單位0.1秒,改為0代表永遠等待)
- sudo apk add alpine-sdk git-email autoconf automake libtool coreutils
- sudo addgroup xxx abuild # 將 xxx 加入開發群組
- sudo vim /etc/abuild.conf # 修改 MAINTAINER, 將 ERROR_CLEANUP=""
- sudo chown xxx /var/cache/distfiles
- abuild-keygen -a -i
取得 Alpine Linux 全部的編譯 scripts
- 官方建議用 git://dev.alpinelinux.org/aports , 但事實上github比較好用
- 例如: https://github.com/dlintw/aports, 這樣未來可以用 pull request 來要求併入
移植 gmock 到 alpine (build synergy 要先準備)
- 取得 Arch Linux 的 synergy build script
- cd aports/testing
- newapkbuild gmock
- cd gmock
- vim APKBUILD # 將 Arch 的 PKGBUILD 改寫成 Alpine 的 APKBUILD
- abuild -r -i
- 產生的檔案會放在 ~/packages 底下, 再使用 sudo apk add ... 安裝即可
- 取得 Arch Linux 的 synergy build script
- cd aports/testing
- newapkbuild synergy
- cd synergy
- vim APKBUILD # 將 Arch 的 PKGBUILD 改寫成 Alpine 的 APKBUILD
- Arch 的 PKGBUILD 是採用 bash 執行, 而 Alpine 是採用 busybox 的 sh 執行, 因此不支援 arch=(i686 x86_64), 要改寫成 arch="x86 x86_64"
- 套件名稱差異(gcc-libs/libgcc, libxkbcommon-x11/libxkbcomm,qt5-base/qt5-qtbase,gmock/gtest)
- 相依性套件(例如:curl)要在makedepend寫開發套件(例如:curl-dev)
- PKGBUILD build()函數裏面寫 qmake, 在 APKBUILD 要改成 qmake-qt5
- apkbuild checksum # 產生檢查碼
- abuild -r
- 問題: 發現找不到 qmake
- 解答: 到官網查詢套件名稱, 原來是要裝 qt5-qtbase-dev
移植 gcin 到 alpine
- 待續
沒有留言:
張貼留言