Есть ли способ проверить пакеты, которые я строю для правильных зависимостей?

Убедитесь, что вы делите папки в вашей хост-системе (например, windows xp, 7, 8 или 8.1 extra

убедитесь, что гостевые дополнения установлены без каких-либо ошибок или сбоев

[d2 ] сделайте следующий скрипт

sharename="put the name of your shared folder here..same name also works";
sudo rm -rf /mnt/$sharename  
sudo mkdir /mnt/$sharename
sudo chmod 777 /mnt/$sharename
sudo mount -t vboxsf -o uid=1000,gid=1000 $sharename /mnt/$sharename

sudo запустите указанный скрипт

, наслаждайтесь общей папкой в ​​каталоге / mnt /

6
задан 20 August 2011 в 03:01

14 ответов

Программа lintian запускается после создания пакета с использованием debuild и должна предупреждать вас о недостающих библиотеках при создании двоичного пакета. Команда ldd может использоваться для проверки того, какие библиотеки необходимы для пакета.

Я использую приведенный ниже сценарий для быстрой установки зависимостей пакета библиотеки:

#!/bin/sh
# Save it as executable ~/bin/pkglibs
# Usage: pkglibs directory
#        pkglibs file
list_lib_pkgnames() {
    local lib="$1" libs
    # get the libraries for given "$lib", stripping out linker libraries
    libs=$(ldd "$lib" | awk '/=/{print $1}' | grep -vE '^(linux-vdso|linux-gate)\.so\.1$')
    # if there are libraries, find the matching packages for it
    [ -n "$libs" ] && dpkg -S $libs | sed 's/: .*//'
}
search="$1"
if [ -d "$search" ]; then
    # for directories, recursively search for library dependencies
    find "$search" -type f -exec "$0" {} \; | sort -u
else
    list_lib_pkgnames "$search"
fi

Команда может потребуется некоторое время для больших каталогов, поскольку он проверяет каждый файл отдельно. Он может быть оптимизирован для генерации списка библиотек сначала, а затем передачи уникальных записей в команду dpkg -S, но это упражнение для читателя.

Пример: pkglibs /usr/lib/mesa/: [!d3 ]

ia32-libs
lib32gcc1
lib32stdc++6
libc6
libc6-i386
libdrm2
libgcc1
libstdc++6
libx11-6
libxau6
libxcb1
libxdamage1
libxdmcp6
libxext6
libxfixes3
libxxf86vm1
3
ответ дан 25 May 2018 в 19:15
  • 1
    Спасибо тебе за это. Может быть, я опустил ключевую информацию в моем вопросе? Я занимаюсь упаковкой программ python. Обычно Lintian работает с моими пакетами, но, похоже, не обнаруживает недостающих зависимостей, а ldd выбрасывает not a dynamic executable и выходит ...: - / – mac 19 August 2011 в 18:25
  • 2
    Шаг dh_python2 может быть тем, что вы ищете. Другой способ проверить ваш пакет для зависимостей - запустить grep -rn 'import ' path/to/your/python/files-or-dirs, чтобы проверить необходимые модули python. Большинство модулей python имеют префикс python-, например python-appindicator. – Lekensteyn 19 August 2011 в 19:12
  • 3
    Спасибо тебе за это. Кажется, что dh_python2 - это то, что я после , хотя ... хотя программное обеспечение работает нормально (никаких ошибок не было), он не заполняет файл debian/control зависимостями, которые я знаю для конечно, у меня есть. Документация для помощника dh_python2 кажется довольно скудной, у вас есть хороший указатель для меня? Спасибо! – mac 21 August 2011 в 16:39
  • 4
    Добавьте ${python:Depends} в Depends: в ваш файл управления. – Lekensteyn 21 August 2011 в 16:50
  • 5
    Это уже есть. Может быть, я ожидаю увидеть то, что не должен? Мой код - среди других - зависит от BeautifulSoap. Я бы ожидал увидеть где-то в файле управления строку с сообщением Depends: python-beautifulsoap. Опять же: это мои самые первые приложения для упаковки, поэтому я приношу свои извинения, если у меня что-то неявное ... – mac 21 August 2011 в 18:56

Программа lintian запускается после создания пакета с использованием debuild и должна предупреждать вас о недостающих библиотеках при создании двоичного пакета. Команда ldd может использоваться для проверки того, какие библиотеки необходимы для пакета.

Я использую приведенный ниже сценарий для быстрой установки зависимостей пакета библиотеки:

#!/bin/sh # Save it as executable ~/bin/pkglibs # Usage: pkglibs directory # pkglibs file list_lib_pkgnames() { local lib="$1" libs # get the libraries for given "$lib", stripping out linker libraries libs=$(ldd "$lib" | awk '/=/{print $1}' | grep -vE '^(linux-vdso|linux-gate)\.so\.1$') # if there are libraries, find the matching packages for it [ -n "$libs" ] && dpkg -S $libs | sed 's/: .*//' } search="$1" if [ -d "$search" ]; then # for directories, recursively search for library dependencies find "$search" -type f -exec "$0" {} \; | sort -u else list_lib_pkgnames "$search" fi

Команда может потребуется некоторое время для больших каталогов, поскольку он проверяет каждый файл отдельно. Он может быть оптимизирован для генерации списка библиотек сначала, а затем передачи уникальных записей в команду dpkg -S, но это упражнение для читателя.

Пример: pkglibs /usr/lib/mesa/:

ia32-libs lib32gcc1 lib32stdc++6 libc6 libc6-i386 libdrm2 libgcc1 libstdc++6 libx11-6 libxau6 libxcb1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxxf86vm1
3
ответ дан 25 July 2018 в 21:26

Программа lintian запускается после создания пакета с использованием debuild и должна предупреждать вас о недостающих библиотеках при создании двоичного пакета. Команда ldd может использоваться для проверки того, какие библиотеки необходимы для пакета.

Я использую приведенный ниже сценарий для быстрой установки зависимостей пакета библиотеки:

#!/bin/sh # Save it as executable ~/bin/pkglibs # Usage: pkglibs directory # pkglibs file list_lib_pkgnames() { local lib="$1" libs # get the libraries for given "$lib", stripping out linker libraries libs=$(ldd "$lib" | awk '/=/{print $1}' | grep -vE '^(linux-vdso|linux-gate)\.so\.1$') # if there are libraries, find the matching packages for it [ -n "$libs" ] && dpkg -S $libs | sed 's/: .*//' } search="$1" if [ -d "$search" ]; then # for directories, recursively search for library dependencies find "$search" -type f -exec "$0" {} \; | sort -u else list_lib_pkgnames "$search" fi

Команда может потребуется некоторое время для больших каталогов, поскольку он проверяет каждый файл отдельно. Он может быть оптимизирован для генерации списка библиотек сначала, а затем передачи уникальных записей в команду dpkg -S, но это упражнение для читателя.

Пример: pkglibs /usr/lib/mesa/:

ia32-libs lib32gcc1 lib32stdc++6 libc6 libc6-i386 libdrm2 libgcc1 libstdc++6 libx11-6 libxau6 libxcb1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxxf86vm1
3
ответ дан 31 July 2018 в 12:24

Программа lintian запускается после создания пакета с использованием debuild и должна предупреждать вас о недостающих библиотеках при создании двоичного пакета. Команда ldd может использоваться для проверки того, какие библиотеки необходимы для пакета.

Я использую приведенный ниже сценарий для быстрой установки зависимостей пакета библиотеки:

#!/bin/sh # Save it as executable ~/bin/pkglibs # Usage: pkglibs directory # pkglibs file list_lib_pkgnames() { local lib="$1" libs # get the libraries for given "$lib", stripping out linker libraries libs=$(ldd "$lib" | awk '/=/{print $1}' | grep -vE '^(linux-vdso|linux-gate)\.so\.1$') # if there are libraries, find the matching packages for it [ -n "$libs" ] && dpkg -S $libs | sed 's/: .*//' } search="$1" if [ -d "$search" ]; then # for directories, recursively search for library dependencies find "$search" -type f -exec "$0" {} \; | sort -u else list_lib_pkgnames "$search" fi

Команда может потребуется некоторое время для больших каталогов, поскольку он проверяет каждый файл отдельно. Он может быть оптимизирован для генерации списка библиотек сначала, а затем передачи уникальных записей в команду dpkg -S, но это упражнение для читателя.

Пример: pkglibs /usr/lib/mesa/:

ia32-libs lib32gcc1 lib32stdc++6 libc6 libc6-i386 libdrm2 libgcc1 libstdc++6 libx11-6 libxau6 libxcb1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxxf86vm1
3
ответ дан 2 August 2018 в 03:05

Программа lintian запускается после создания пакета с использованием debuild и должна предупреждать вас о недостающих библиотеках при создании двоичного пакета. Команда ldd может использоваться для проверки того, какие библиотеки необходимы для пакета.

Я использую приведенный ниже сценарий для быстрой установки зависимостей пакета библиотеки:

#!/bin/sh # Save it as executable ~/bin/pkglibs # Usage: pkglibs directory # pkglibs file list_lib_pkgnames() { local lib="$1" libs # get the libraries for given "$lib", stripping out linker libraries libs=$(ldd "$lib" | awk '/=/{print $1}' | grep -vE '^(linux-vdso|linux-gate)\.so\.1$') # if there are libraries, find the matching packages for it [ -n "$libs" ] && dpkg -S $libs | sed 's/: .*//' } search="$1" if [ -d "$search" ]; then # for directories, recursively search for library dependencies find "$search" -type f -exec "$0" {} \; | sort -u else list_lib_pkgnames "$search" fi

Команда может потребуется некоторое время для больших каталогов, поскольку он проверяет каждый файл отдельно. Он может быть оптимизирован для генерации списка библиотек сначала, а затем передачи уникальных записей в команду dpkg -S, но это упражнение для читателя.

Пример: pkglibs /usr/lib/mesa/:

ia32-libs lib32gcc1 lib32stdc++6 libc6 libc6-i386 libdrm2 libgcc1 libstdc++6 libx11-6 libxau6 libxcb1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxxf86vm1
3
ответ дан 4 August 2018 в 18:56

Программа lintian запускается после создания пакета с использованием debuild и должна предупреждать вас о недостающих библиотеках при создании двоичного пакета. Команда ldd может использоваться для проверки того, какие библиотеки необходимы для пакета.

Я использую приведенный ниже сценарий для быстрой установки зависимостей пакета библиотеки:

#!/bin/sh # Save it as executable ~/bin/pkglibs # Usage: pkglibs directory # pkglibs file list_lib_pkgnames() { local lib="$1" libs # get the libraries for given "$lib", stripping out linker libraries libs=$(ldd "$lib" | awk '/=/{print $1}' | grep -vE '^(linux-vdso|linux-gate)\.so\.1$') # if there are libraries, find the matching packages for it [ -n "$libs" ] && dpkg -S $libs | sed 's/: .*//' } search="$1" if [ -d "$search" ]; then # for directories, recursively search for library dependencies find "$search" -type f -exec "$0" {} \; | sort -u else list_lib_pkgnames "$search" fi

Команда может потребуется некоторое время для больших каталогов, поскольку он проверяет каждый файл отдельно. Он может быть оптимизирован для генерации списка библиотек сначала, а затем передачи уникальных записей в команду dpkg -S, но это упражнение для читателя.

Пример: pkglibs /usr/lib/mesa/:

ia32-libs lib32gcc1 lib32stdc++6 libc6 libc6-i386 libdrm2 libgcc1 libstdc++6 libx11-6 libxau6 libxcb1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxxf86vm1
3
ответ дан 6 August 2018 в 03:18

Программа lintian запускается после создания пакета с использованием debuild и должна предупреждать вас о недостающих библиотеках при создании двоичного пакета. Команда ldd может использоваться для проверки того, какие библиотеки необходимы для пакета.

Я использую приведенный ниже сценарий для быстрой установки зависимостей пакета библиотеки:

#!/bin/sh # Save it as executable ~/bin/pkglibs # Usage: pkglibs directory # pkglibs file list_lib_pkgnames() { local lib="$1" libs # get the libraries for given "$lib", stripping out linker libraries libs=$(ldd "$lib" | awk '/=/{print $1}' | grep -vE '^(linux-vdso|linux-gate)\.so\.1$') # if there are libraries, find the matching packages for it [ -n "$libs" ] && dpkg -S $libs | sed 's/: .*//' } search="$1" if [ -d "$search" ]; then # for directories, recursively search for library dependencies find "$search" -type f -exec "$0" {} \; | sort -u else list_lib_pkgnames "$search" fi

Команда может потребуется некоторое время для больших каталогов, поскольку он проверяет каждый файл отдельно. Он может быть оптимизирован для генерации списка библиотек сначала, а затем передачи уникальных записей в команду dpkg -S, но это упражнение для читателя.

Пример: pkglibs /usr/lib/mesa/:

ia32-libs lib32gcc1 lib32stdc++6 libc6 libc6-i386 libdrm2 libgcc1 libstdc++6 libx11-6 libxau6 libxcb1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxxf86vm1
3
ответ дан 7 August 2018 в 20:59

Как объясняется в моем комментарии выше относительно pbuilder, полезно в основном проверять зависимости сборки (аналогично загрузке пакета на PPP стартовой панели), но не будет полезно проверять зависимости, если вы не добавите дополнительные шаги в свои сценарии упаковки

Другое подобное решение (запуск тестов в ограниченной среде), если вы просто рассматриваете зависимости от библиотек python, - это создать виртуальный интерфейс, чтобы вы контролировали библиотеки python, доступные во время тестирования.

Это не добавит вам зависимостей в файл debian/control, но может быть полезно в любом случае.

1
ответ дан 25 May 2018 в 19:15

Как объясняется в моем комментарии выше относительно pbuilder, полезно в основном проверять зависимости сборки (аналогично загрузке пакета на PPP стартовой панели), но не будет полезно проверять зависимости, если вы не добавите дополнительные шаги в свои сценарии упаковки

Другое подобное решение (запуск тестов в ограниченной среде), если вы просто рассматриваете зависимости от библиотек python, - это создать виртуальный интерфейс, чтобы вы контролировали библиотеки python, доступные во время тестирования.

Это не добавит вам зависимостей в файл debian/control, но может быть полезно в любом случае.

1
ответ дан 25 July 2018 в 21:26

Как объясняется в моем комментарии выше относительно pbuilder, полезно в основном проверять зависимости сборки (аналогично загрузке пакета на PPP стартовой панели), но не будет полезно проверять зависимости, если вы не добавите дополнительные шаги в свои сценарии упаковки

Другое подобное решение (запуск тестов в ограниченной среде), если вы просто рассматриваете зависимости от библиотек python, - это создать виртуальный интерфейс, чтобы вы контролировали библиотеки python, доступные во время тестирования.

Это не добавит вам зависимостей в файл debian/control, но может быть полезно в любом случае.

1
ответ дан 31 July 2018 в 12:24

Как объясняется в моем комментарии выше относительно pbuilder, полезно в основном проверять зависимости сборки (аналогично загрузке пакета на PPP стартовой панели), но не будет полезно проверять зависимости, если вы не добавите дополнительные шаги в свои сценарии упаковки

Другое подобное решение (запуск тестов в ограниченной среде), если вы просто рассматриваете зависимости от библиотек python, - это создать виртуальный интерфейс, чтобы вы контролировали библиотеки python, доступные во время тестирования.

Это не добавит вам зависимостей в файл debian/control, но может быть полезно в любом случае.

1
ответ дан 2 August 2018 в 03:05

Как объясняется в моем комментарии выше относительно pbuilder, полезно в основном проверять зависимости сборки (аналогично загрузке пакета на PPP стартовой панели), но не будет полезно проверять зависимости, если вы не добавите дополнительные шаги в свои сценарии упаковки

Другое подобное решение (запуск тестов в ограниченной среде), если вы просто рассматриваете зависимости от библиотек python, - это создать виртуальный интерфейс, чтобы вы контролировали библиотеки python, доступные во время тестирования.

Это не добавит вам зависимостей в файл debian/control, но может быть полезно в любом случае.

1
ответ дан 4 August 2018 в 18:56

Как объясняется в моем комментарии выше относительно pbuilder, полезно в основном проверять зависимости сборки (аналогично загрузке пакета на PPP стартовой панели), но не будет полезно проверять зависимости, если вы не добавите дополнительные шаги в свои сценарии упаковки

Другое подобное решение (запуск тестов в ограниченной среде), если вы просто рассматриваете зависимости от библиотек python, - это создать виртуальный интерфейс, чтобы вы контролировали библиотеки python, доступные во время тестирования.

Это не добавит вам зависимостей в файл debian/control, но может быть полезно в любом случае.

1
ответ дан 6 August 2018 в 03:18

Как объясняется в моем комментарии выше относительно pbuilder, полезно в основном проверять зависимости сборки (аналогично загрузке пакета на PPP стартовой панели), но не будет полезно проверять зависимости, если вы не добавите дополнительные шаги в свои сценарии упаковки

Другое подобное решение (запуск тестов в ограниченной среде), если вы просто рассматриваете зависимости от библиотек python, - это создать виртуальный интерфейс, чтобы вы контролировали библиотеки python, доступные во время тестирования.

Это не добавит вам зависимостей в файл debian/control, но может быть полезно в любом случае.

1
ответ дан 7 August 2018 в 20:59

Другие вопросы по тегам:

Похожие вопросы: