123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #!/bin/bash
- # 拷贝指定包的全部文件
- # dpkg1-copy_files ubiquity
- # dpkg1-copy_files ubiquity-frontend-gtk
- # dpkg1-copy_files oem-config
- # dpkg1-copy_files ubuntu-kylin-software-center
- function dpkg1-copy_files() {
- OLD_IFS=$IFS
- IFS=$'\n'
- PKG=$1
- for f in $(dpkg -L "${PKG}" | grep "^/"); do
- if [ -d $f ]; then
- mkdir -p "./${PKG}/$f"
- else
- if [ ! -h "$f" ]; then
- echo "file => '$f'"
- pdir=$(dirname $f)
- [ -d "${pdir}" ] || mkdir -p "./${PKG}/${pdir}"
- cp -a "$f" "./${PKG}/${pdir}"
- else
- echo "-> $f is soft link, don't copy!!!"
- fi
- fi
- done
- IFS=$OLD_IFS
- }
- # 软链接到自己修改的
- # dpkg2-create_link ubiquity
- # dpkg2-create_link ubiquity-frontend-gtk
- # dpkg2-create_link oem-config
- # dpkg2-create_link ubuntu-kylin-software-center
- function dpkg2-create_link() {
- OLD_IFS=$IFS
- IFS=$'\n'
- PKG=$1
- # ubiquity ubiquity-frontend-gtk oem-config
- for f in $(dpkg -L "${PKG}" | grep "^/" | grep -v "/usr/lib/.*lib.*\.so.*"); do
- # ubuntu-kylin-software-center
- # for f in $(dpkg -L "${PKG}" | grep "^/" | grep -v "/usr/lib/.*lib.*\.so.*" | grep -E "\.py$|\.ui"); do
- if [ -f "${f}" ] && [ ! -h "${f}" ]; then
- LOCAL_FILE="./${PKG}${f}"
- if [ -f ${LOCAL_FILE} ]; then
- echo sudo ln -sf "$(readlink -f ${LOCAL_FILE})" "${f}"
- sudo ln -sf "$(readlink -f ${LOCAL_FILE})" "${f}"
- else
- echo "${LOCAL_FILE} not exist!!"
- fi
- fi
- done
- IFS=$OLD_IFS
- }
- # 将修改的代码拷贝回 squash
- # dpkg3-copy_squash ./test-ubiquity ubiquity
- # dpkg3-copy_squash ./test-ubiquity ubiquity-frontend-gtk
- # dpkg3-copy_squash ./test-ubiquity oem-config
- function dpkg3-copy_squash() {
- SOURCE_DIR=$1
- PKG=$2
- for f in $(chroot squashfs/ dpkg -L ${PKG} | grep "^/" | grep -v "/usr/lib/.*lib.*\.so.*"); do
- if [ -f squashfs${f} ]; then
- md5sum_my=$(md5sum ${SOURCE_DIR}/${PKG}${f} | awk '{print $1}')
- md5sum_os=$(md5sum squashfs${f} | awk '{print $1}')
- if [ ! ${md5sum_my} == ${md5sum_os} ]; then
- echo "cp -a ${SOURCE_DIR}/${PKG}${f} squashfs${f}"
- cp -a ${SOURCE_DIR}/${PKG}${f} squashfs${f}
- fi
- fi
- done
- }
|