Скрипт перепаковки .deb

Скрипт перепаковки .deb

DjinN

НАЗАД


#!/bin/bash

#

# Перепаковать пакет без зависимостей

# $1 - путь к пакету

#


if [[ -z "$1" ]]; then

 echo "usage: repack <path-to-deb>"

 exit 1

fi


TEMP_PATH=/tmp

DEB_PATH="$1"


# Имя каталога для распаковки

deb_name="$(basename $DEB_PATH)"

deb_path="$(dirname $DEB_PATH)"

deb_name_without_ext="${deb_name%%.*}"

# Создать каталог для распаковки

if [[ -d "$dir_to_unpack" ]]; then

 rm -rf "$dir_to_unpack"/*

else

 mkdir -p "$dir_to_unpack"

fi


# Распаковать пакет

dpkg -x "$DEB_PATH" "$dir_to_unpack"

dpkg -e "$DEB_PATH" "$dir_to_unpack/DEBIAN"


# Удалить все зависимости

sed -i 's/Depends:.*/Depends:/g' "$dir_to_unpack/DEBIAN/control"


# Создать новый архив

deb_repacked_path="$deb_path/$deb_name_without_ext-new.deb"

dpkg -b "$dir_to_unpack" "$deb_repacked_path"


Report Page