LINUX.ORG.RU

Как отредактировать зависимости не установленного deb пакета?

 , , , ,


1

1

Есть установочный пакет для Ubuntu 14.04. У меня 16.04. При этом автор пакета почему-то при сборке поставил зависимость <=libboost-signals(versionnamber) вместо any version, хотя поставленная через make install программа работает норм, но так ставить мне не хочется.

Checkinstall и варианты со сборкой из сырцов не предлагать, я их уже пробовал, там при создании deb пакета всё падает, а всякая гадость в /usr/bin остается (так и узнал, что зависимость лишняя), я уже надергался, вручную всё вычищая по make файлу.

Нужно просто отредактировать зависимость у _не_ установленного deb пакета, причем я _не_ собираюсь ставить его на свою систему. Как это сделать?

deb распаковываешь архиватором , правишь в /DEBIAN/control Depends, потом заново пакуешь, чем забыл.

ilovewindows ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

А где «описанный результат», что-то торможу ? зы. пакуешь dpkg -b «имя папки куда распаковал» и сheckinstall не предлагать,да на вас,батенька, не угодить.

ilovewindows ★★★★★
()
Ответ на: комментарий от ilovewindows

Пожалуйста:

vsevolod@vsevolod-HP-Notebook:~/pingus0763$ checkinstall --install=no

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
         Эта программа распространяется на условиях GNU GPL


The package documentation directory ./doc-pak does not exist. 
Should I create a default set of package docs?  [y]: y

Готовится документация к пакету...OK

Пожалуйста напишите описание пакета.
Закончите ваше описание пустой строкой или EOF.
>> pingus v0.7.6.3
>> 

*****************************************
**** Debian package creation selected ***
*****************************************

Этот пакет был создан с использованием данных значений: 

0 -  Maintainer: [ vsevolod@vsevolod-HP-Notebook ]
1 -  Summary: [ pingus v0.7.6.3 ]
2 -  Name:    [ pingus0763 ]
3 -  Version: [  ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ pingus0763 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ pingus0763 ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

Введите номер для изменения параметра или нажмите ВВОД для продолжения: 

Installing with make install...

========================= Результаты установки ===========================
install -d "/usr/local/bin"
install -D build/pingus "/usr/local/bin/pingus.bin"
install: невозможно создать обычный файл '/usr/local/bin/pingus.bin': Отказано в доступе
Makefile:39: ошибка выполнения рецепта для цели «install-exec»
make: *** [install-exec] Ошибка 1

****  Установка неудачна. Отменяется создание пакета.

Очищается...OK

Удачи.

vsevolod@vsevolod-HP-Notebook:~/pingus0763$ sudo checkinstall --install=no
[sudo] пароль для vsevolod: 

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
         Эта программа распространяется на условиях GNU GPL



*****************************************
**** Debian package creation selected ***
*****************************************

Этот пакет был создан с использованием данных значений: 

0 -  Maintainer: [ root@vsevolod-HP-Notebook ]
1 -  Summary: [ pingus v0.7.6.3 ]
2 -  Name:    [ pingus0763 ]
3 -  Version: [  ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ pingus0763 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ pingus0763 ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

Введите номер для изменения параметра или нажмите ВВОД для продолжения: 

Installing with make install...

========================= Результаты установки ===========================
install -d "/usr/local/bin"
install -D build/pingus "/usr/local/bin/pingus.bin"
echo "#!/bin/sh" > "/usr/local/bin/pingus"
echo "exec \"/usr/local/bin/pingus.bin\" --datadir \"/usr/local/share/pingus\" \"\$@\"" >> "/usr/local/bin/pingus"
chmod 755 "/usr/local/bin/pingus"
cd data/ && \
find . \
        -type f -a  \( \
        -name "*.png" -o \
        -name "*.jpg" -o \
        -name "*.wav" -o \
        -name "*.scm" -o \
        -name "*.font" -o \
        -name "*.story" -o \
        -name "*.credits" -o \
        -name "*.prefab" -o \
        -name "*.it" -o \
        -name "*.ogg" -o \
        -name "*.s3m" -o \
        -name "*.po" -o \
        -name "*.worldmap" -o \
        -name "*.res" -o \
        -name "*.pingus" -o \
        -name "*.levelset" -o \
        -name "*.sprite" \
        \) -exec install -D {} /usr/local/share/pingus/{} \;
install -D doc/man/pingus.6 "/usr/local/share/man/man1/pingus.6"

======================== Установка успешно завершена ======================

Copying documentation directory...
./
./NEWS
./INSTALL.macosx
./TODO
./VERSION
./AUTHORS
./README
./INSTALL.Win32
./doc/
./doc/man/
./doc/man/pingus.6
./doc/man/pingus.ent
./doc/man/config.xsl
./doc/man/pingus.xml
./doc/man/Makefile
./doc/html/
./doc/html/images/
./doc/html/images/logo.png
./doc/z_pos
./doc/pingu_ai.txt
./doc/comments/
./doc/comments/grumbel.xml
./INSTALL.unix
./COPYING

Файлы копируются во временный каталог...OK

Stripping ELF binaries and libraries...OK

Сжимаются страницы руководства...OK

Построение списка файлов...OK

Собирается Debian-пакет... FAILED!

*** Ошибка сборки пакета

Желаете просмотреть лог-файл?  [y]: y

Удаляются временные файлы...OK

Удаляется временный каталог...OK

vsevolod@vsevolod-HP-Notebook:~/pingus0763$ 

Пришлось всё ручками вычищать.

Vsevolod-linuxoid ★★★★★
() автор топика
Ответ на: комментарий от Balantay

Правда это все равно не помогло, но спасибо за информацию.

Vsevolod-linuxoid ★★★★★
() автор топика
fakeroot sh -c '
  mkdir tmp
  dpkg-deb -R original.deb tmp
  edit tmp/DEBIAN/control
  dpkg-deb -b tmp fixed.deb
'
Ip0 ★★★★
()
Ответ на: Пожалуйста: от Vsevolod-linuxoid

Ну фик с ним с checkinstall, а уж пакет перепаковать в чем проблема, тем более ты его не собираешься ставить )

ilovewindows ★★★★★
()

Ну или всегда можно воспользоваться --ignore-depends=package,... (man dpkg)

Ip0 ★★★★
()
Ответ на: комментарий от ilovewindows

Да я уже поправил зависимости, но проблема глубже.

Если честно, дальше возиться ради игрушки (pingus — игра-головоломка) просто нет желания.

К тому же, я не уверен, что система полностью поправилась после того случайного make install. Я всё вычистил ручками и не нашел признаков, что что-то забыл.

Но в процессе поиска обнаружил пару несмертельных нарушений, но не знаю, сейчас они появились или нет. Ubuntu 16.04 у меня и раньше подглючивала, причем зачастую очень оригинально. Всё-таки она ещё нестабильна.

Vsevolod-linuxoid ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.