Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: [HOWTO] Сборка ПО и создание .deb-пакетов из исходников в Ubuntu (Debian)  (Прочитано 242699 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Freezkiller

  • Новичок
  • *
  • Сообщений: 16
  • Ubuntu-9.04 & Sharp Zaurus
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #30 : 19 Января 2008, 19:26:26 »
debsign не может подписать пакет, в системе нет ключа для Sergey Glassman <sergey@unknown>
В принципе это на работу пакета никак не влияет, если вам интересно могу подсказать что нужно поправить чтобы этой ошибки не было.
Я уже понял что на сборку это невлияет,так как пакет собрался и установился без проблем, но все же интересно знать, что необходимо исправить, заранее благодарен. :)
Абырвалг!!!

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #31 : 24 Января 2008, 12:46:08 »
Поправил инструкцию, см с "А так же не помешает завести ключик которым мы будем подписывать пакеты."
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн Freezkiller

  • Новичок
  • *
  • Сообщений: 16
  • Ubuntu-9.04 & Sharp Zaurus
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #32 : 26 Января 2008, 22:53:54 »
Для этого в файл ~/.bashrc или в другой стартовый скрипт вашего любимого шелла (для zsh ~/.zshrc)  нужно вписать переменные
export DEBEMAIL=ваш@емэил
А вот тут у меня очередной ступор,не понял куда переменные вписывать :idiot2:
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines in the history. See bash(1) for more options
export HISTCONTROL=ignoredups
# ... and ignore same sucessive entries.
export HISTCONTROL=ignoreboth

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color)
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    ;;
*)
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    ;;
esac

# Comment in the above and uncomment this below for a color prompt
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
    ;;
*)
    ;;
esac

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

#if [ -f ~/.bash_aliases ]; then
#    . ~/.bash_aliases
#fi

# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
    eval "`dircolors -b`"
    alias ls='ls --color=auto'
    #alias dir='ls --color=auto --format=vertical'
    #alias vdir='ls --color=auto --format=long'
fi

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi
Абырвалг!!!

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #33 : 27 Января 2008, 23:12:07 »
ну можно было попробовать вписать в любое удобное место, и посмотреть что будет :)
я думаю если в самый конец файла, то ничего страшного не будет
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн Pegasus

  • Участник
  • *
  • Сообщений: 213
  • Ubuntu 8.04 AthXP 2500+ nForce2 1GB geForce6600GT
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #34 : 05 Февраля 2008, 23:38:03 »
Денис , подскажи плиз
собираю freeradius и freenibs
проходит make  , при попытке сделать deb
config.status: WARNING:  ./Make.inc.in seems to ignore the --datarootdir setting
config.status: WARNING:  ./src/include/build-radpaths-h.in seems to ignore the --datarootdir setting
configure: warning: build_alias=i486-linux-gnu: invalid host type
configure: warning: CFLAGS=-Wall -g -O2: invalid host type
configure: error: can only configure for one host and one target at a time
configure: error: ./configure failed for src/modules/rlm_nibs
make: *** [stamp-build] Ошибка 1

Оффлайн Pegasus

  • Участник
  • *
  • Сообщений: 213
  • Ubuntu 8.04 AthXP 2500+ nForce2 1GB geForce6600GT
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #35 : 06 Февраля 2008, 12:08:28 »
видать сказывается тот факт , что это бэтта , не собрать её та ...  :idiot2:

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #36 : 06 Февраля 2008, 12:35:51 »
давай ссылку на то что ты собираешь?
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн Pegasus

  • Участник
  • *
  • Сообщений: 213
  • Ubuntu 8.04 AthXP 2500+ nForce2 1GB geForce6600GT
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #37 : 06 Февраля 2008, 14:06:45 »
Denis Konstantinov
бросил я дело это бэтту собирать
вот собираю freeradius 1,1,7 и freenibs 2,2,3
опять ошибки , и ладно там зависимость какая , или хейдеры не знает где брать ...
в общем выручай плиз
проходит и configure и make вроде
при fakeroot вот чо пишет
# dpkg-buildpackage -rfakeroot
dpkg-buildpackage: source package is freeradius
dpkg-buildpackage: source version is 1.1.7-0
dpkg-buildpackage: source changed by Alan DeKok <aland@freeradius.org>
dpkg-buildpackage: host architecture i386
dpkg-buildpackage: source version without epoch 1.1.7-0
 fakeroot debian/rules clean
dh_testdir
rm -f stamp-build debian/{files,substvars} debian/*.debhelper libltdl/stamp-h1
[ -f Make.inc ] && make distclean || true
dh_clean
эрэм эрэф /usr/src/linux-headers-2.6.20-15/freeradius-1.1.7/debian/freeradius
rm -rf src/modules/lib/
for modname in krb5 ldap mysql iodbc postgresql; do \
                эрэм эрэф /usr/src/linux-headers-2.6.20-15/freeradius-1.1.7/debian/freeradius-${modname}{,.substvars}; \
        done
[ -f config.sub.dist ] && rm config.sub && mv config.sub.dist config.sub || true
[ -f config.guess.dist ] && rm config.guess && mv config.guess.dist config.guess || true
dpatch deapply-all
rm -rf stamp-patch debian/patched
 dpkg-source -b freeradius-1.1.7
dpkg-source: building freeradius using existing freeradius_1.1.7.orig.tar.gz
dpkg-source: building freeradius in freeradius_1.1.7-0.diff.gz
dpkg-source: cannot represent change to src/modules/rlm_nibs/contrib/Net-SNMP-4.1.0.tar.gz: binary file contents changed
dpkg-source: warning: file src/modules/rlm_nibs/data_convert/upto_2.x.x/from-1.x.x-prof.mysql has no final newline (either original or modified version)
dpkg-source: warning: executable mode 0744 of `src/modules/rlm_nibs/utils/shaper.iproute2' will not be represented in diff
dpkg-source: warning: file src/modules/rlm_nibs/utils/rad_every_day.pl has no final newline (either original or modified version)
dpkg-source: warning: file src/modules/rlm_nibs/utils/rad_every_5min.pl has no final newline (either original or modified version)
dpkg-source: warning: executable mode 0740 of `src/modules/rlm_nibs/configure' will not be represented in diff
dpkg-source: warning: executable mode 0755 of `src/modules/rlm_nibs/drivers/rlm_nibs_mysql/configure' will not be represented in diff
dpkg-source: warning: executable mode 0755 of `src/modules/rlm_nibs/drivers/rlm_nibs_postgresql/configure' will not be represented in diff
dpkg-source: warning: executable mode 0755 of `src/modules/rlm_nibs/drivers/rlm_nibs_oracle/configure' will not be represented in diff
dpkg-source: cannot represent change to src/modules/rlm_nibs/utils.tar.bz2: binary file contents changed
dpkg-source: building freeradius in freeradius_1.1.7-0.dsc
dpkg-source: unrepresentable changes to source
root@buzdack-server:/usr/src/linux-headers-2.6.20-15/freeradius-1.1.7# dpkg-buildpackage -rfakeroot
dpkg-buildpackage: source package is freeradius
dpkg-buildpackage: source version is 1.1.7-0
dpkg-buildpackage: source changed by Alan DeKok <aland@freeradius.org>
dpkg-buildpackage: host architecture i386
dpkg-buildpackage: source version without epoch 1.1.7-0
 fakeroot debian/rules clean
dh_testdir
rm -f stamp-build debian/{files,substvars} debian/*.debhelper libltdl/stamp-h1
[ -f Make.inc ] && make distclean || true
dh_clean
эрэм эрэф /usr/src/linux-headers-2.6.20-15/freeradius-1.1.7/debian/freeradius
rm -rf src/modules/lib/
for modname in krb5 ldap mysql iodbc postgresql; do \
                эрэм эрэф /usr/src/linux-headers-2.6.20-15/freeradius-1.1.7/debian/freeradius-${modname}{,.substvars}; \
        done
[ -f config.sub.dist ] && rm config.sub && mv config.sub.dist config.sub || true
[ -f config.guess.dist ] && rm config.guess && mv config.guess.dist config.guess || true
dpatch deapply-all
rm -rf stamp-patch debian/patched
 dpkg-source -b freeradius-1.1.7
dpkg-source: building freeradius using existing freeradius_1.1.7.orig.tar.gz
dpkg-source: building freeradius in freeradius_1.1.7-0.diff.gz
dpkg-source: cannot represent change to src/modules/rlm_nibs/contrib/Net-SNMP-4.1.0.tar.gz: binary file contents changed
dpkg-source: warning: file src/modules/rlm_nibs/data_convert/upto_2.x.x/from-1.x.x-prof.mysql has no final newline (either original or modified version)
dpkg-source: warning: executable mode 0744 of `src/modules/rlm_nibs/utils/shaper.iproute2' will not be represented in diff
dpkg-source: warning: file src/modules/rlm_nibs/utils/rad_every_day.pl has no final newline (either original or modified version)
dpkg-source: warning: file src/modules/rlm_nibs/utils/rad_every_5min.pl has no final newline (either original or modified version)
dpkg-source: warning: executable mode 0740 of `src/modules/rlm_nibs/configure' will not be represented in diff
dpkg-source: warning: executable mode 0755 of `src/modules/rlm_nibs/drivers/rlm_nibs_mysql/configure' will not be represented in diff
dpkg-source: warning: executable mode 0755 of `src/modules/rlm_nibs/drivers/rlm_nibs_postgresql/configure' will not be represented in diff
dpkg-source: warning: executable mode 0755 of `src/modules/rlm_nibs/drivers/rlm_nibs_oracle/configure' will not be represented in diff
dpkg-source: cannot represent change to src/modules/rlm_nibs/utils.tar.bz2: binary file contents changed
dpkg-source: building freeradius in freeradius_1.1.7-0.dsc
dpkg-source: unrepresentable changes to source
???

Оффлайн keha

  • Активист
  • *
  • Сообщений: 616
  • Вот такой вот...
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #38 : 08 Февраля 2008, 10:01:04 »
как это сделать в kubuntu 7.04:

Цитировать
Для этого зайдите в Приложения-> Стандартные-> Пароли и ключи шифрования
В открывшемся окне в меню ключь->новый ключь
выбираем ключь pgp
на перегонки со временем

Оффлайн Delfin

  • Участник
  • *
  • Сообщений: 190
  • u 7.10
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #39 : 11 Февраля 2008, 21:29:15 »
Пробую дебианизировать свои написанные исходники.
Не совсем ясно с rules.
Мне в принципе пойдет скопировать скомпиленную программу в /usr/bin, и удовлетворить зависимости (2 штуки).
Но создать пакет никак не удается, вот что выводится:
ruslan@ruslan-server:~/ubuntu/deb/linstatdir-0.1b$ sudo dpkg-buildpackage -rfakeroot
dpkg-buildpackage: source package is linstatdir
dpkg-buildpackage: source version is 0.1b-1
dpkg-buildpackage: source changed by ruslan <sdfsdf@mail.ru>
dpkg-buildpackage: host architecture i386
dpkg-buildpackage: source version without epoch 0.1b-1
 fakeroot debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
/usr/bin/make clean
make[1]: Entering directory `/home/ruslan/ubuntu/deb/linstatdir-0.1b'
make[1]: *** No rule to make target `clean'.  Stop.
make[1]: Leaving directory `/home/ruslan/ubuntu/deb/linstatdir-0.1b'
make: [clean] Error 2 (ignored)
dh_clean
 dpkg-source -b linstatdir-0.1b
dpkg-source: building linstatdir using existing linstatdir_0.1b.orig.tar.gz
dpkg-source: building linstatdir in linstatdir_0.1b-1.diff.gz
dpkg-source: warning: newly created empty file 'debian/docs' will not be represented in diff
dpkg-source: warning: executable mode 0777 of 'linstatdir' will not be represented in diff
dpkg-source: cannot represent change to linstatdir: binary file contents changed
dpkg-source: warning: ignoring deletion of file linstatdir_0.1.orig.tar.gz.tar.gz
dpkg-source: building linstatdir in linstatdir_0.1b-1.dsc
dpkg-source: unrepresentable changes to source

Оффлайн Maxv34

  • Любитель
  • *
  • Сообщений: 92
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #40 : 11 Февраля 2008, 21:40:44 »
Собираю деб пакет linuxdcpp, выдает:
gpg: пропущено "max <maxv34@gmail.com>": секретный ключ не найден
gpg: [stdin]: clearsign failed:  секретный ключ не найден
 dpkg-genchanges
dpkg-genchanges: not including original source code in upload
dpkg-buildpackage: binary and diff upload (original source NOT included)
(WARNING: Failed to sign .dsc and .changes file)

Ключ pgp создал по инструкции, в настройках "пароли и ключи шифрования" указал ключ по умолчанию, выбрал сервер для синхронизации ключей, синхронизировал итд.

max@admiral:~$ export |grep -i DEBEMAIL
declare -x DEBEMAIL="maxv34@gmail.com"

вроде все на месте, но не подписывает...  в чем может быть дело ?

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #41 : 12 Февраля 2008, 10:08:03 »
maxv34
посмотри есть ли ключь в списке
gpg --list-keys
Delfin
посмотри что у тебя в файле control
и в файле changelog
Это что такое? dpkg-source: warning: ignoring deletion of file linstatdir_0.1.orig.tar.gz.tar.gz
выложи папку debian куда нибудь я гляну
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн Delfin

  • Участник
  • *
  • Сообщений: 190
  • u 7.10
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #42 : 12 Февраля 2008, 14:52:10 »
Вот. Думаю там много чего не сделано так как пока не все понятно :)

Оффлайн Maxv34

  • Любитель
  • *
  • Сообщений: 92
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #43 : 12 Февраля 2008, 15:33:05 »
посмотри есть ли ключь в списке
gpg --list-keys
pub   1024D/B6D6C532 2008-02-11
uid                  Maxv34 (для разных подписей) <maxv34@gmail.com>
sub   2048g/89F5F73C 2008-02-11

Изменил строку на dpkg-buildpackage -kB6D6C532 -rfakeroot, где B6D6C532 идентификатор ключа, и вроде все заработало.
« Последнее редактирование: 12 Февраля 2008, 17:06:02 от Maxv34 »

Оффлайн WaZZuP

  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Сборка из исходников в Debian (Ubuntu)
« Ответ #44 : 27 Марта 2008, 14:23:20 »
вопрос  по пересборке    пакетов  возник   :idiot2: 

как   к  пересобираемому  пакету  добавить свой  патч  :o

т.е  делаю   так 

$ apt-get source pppпоявляються
ppp_2.4.4rel-9ubuntu2.diff.gz
 ppp_2.4.4rel-9ubuntu2.dsc
 ppp_2.4.4rel.orig.tar.gz

$sudo apt-get bulid-dep ppp
$ aptitude install fakeroot

появляеться   
каталог  в  котрый  мы  и  переходим

cd ppp-2.4.4rel
в нем   такая  вот структура  :o
Цитировать
.
|-- debian
|   |-- NEWS
|   |-- README.Debian
|   |-- changelog
|   |-- changelog.old
|   |-- compat
|   |-- control
|   |-- copyright
|   |-- patches
|   |   |-- 008_pathnames.h.diff
|   |   |-- 010_scripts_README.diff
|   |   |-- 011_scripts_redialer.diff
|   |   |-- 018_ip-up_option.diff
|   |   |-- atm_resolver_light
|   |   |-- chat_man
|   |   |-- cifdefroute.dif
|   |   |-- close_dev_ppp
|   |   |-- fix_close_fd0
|   |   |-- fix_linkpidfile
|   |   |-- fix_mschapv2_ppp
|   |   |-- fix_null_pppdb
|   |   |-- load_ppp_generic_if_needed
|   |   |-- no_crypt_hack
|   |   |-- ppp-2.3.11-oedod.dif
|   |   |-- ppp-2.4.2-stripMSdomain
|   |   |-- pppdump_use_zlib
|   |   |-- pppdump_z_no_deflate
|   |   |-- pppoatm_cleanup
|   |   |-- pppoatm_fix_mtu
|   |   |-- pppoe_cleanup
|   |   |-- pppoe_readme
|   |   |-- readable_connerrs
|   |   |-- resolv.conf_no_log
|   |   |-- setevn_call_file
|   |   |-- syslog_local2
|   |   |-- zzz_config
|   |   `-- zzz_man_typos
|   |-- po
|   |   |-- POTFILES.in
|   |   |-- ca.po
|   |   |-- cs.po
|   |   |-- da.po
|   |   |-- de.po
|   |   |-- es.po
|   |   |-- eu.po
|   |   |-- fr.po
|   |   |-- gl.po
|   |   |-- it.po
|   |   |-- ja.po
|   |   |-- nb.po
|   |   |-- nl.po
|   |   |-- pt.po
|   |   |-- pt_BR.po
|   |   |-- ro.po
|   |   |-- ru.po
|   |   |-- sv.po
|   |   |-- ta.po
|   |   |-- templates.pot
|   |   |-- tr.po
|   |   `-- vi.po
|   |-- ppp-dev.dirs
|   |-- ppp-udeb.dirs
|   |-- ppp-udeb.postinst
|   |-- ppp-udeb.templates
|   |-- ppp-udeb.todo
|   |-- ppp.dirs
|   |-- ppp.links
|   |-- ppp.logrotate
|   |-- ppp.pam
|   |-- ppp.postinst
|   |-- ppp.postrm
|   |-- ppp.pppd-dns
|   |-- ppp.preinst
|   |-- ppp.prerm
|   |-- rules
|   |-- scripts
|   |   |-- Makefile
|   |   |-- archmap
|   |   |-- getglibcversion
|   |   |-- lib
|   |   |-- messages
|   |   |-- source.unpack
|   |   |-- vars
|   |   `-- vars.build
|   |-- sys-build.mk
|   `-- update-source
|-- extra
|   |-- 0000usepeerdns-down
|   |-- 0000usepeerdns-up
|   |-- PATCHES
|   |   |-- 057_pppoe-interface-change
|   |   |-- pppoatm-no-modprobe
|   |   |-- pty_command_timeout
|   |   |-- use_libatm
|   |   `-- use_openssl
|   |-- README.STATIC-IP
|   |-- README.win9x
|   |-- apm
|   |-- autopppd
|   |-- chap-secrets
|   |-- chatscript.pap
|   |-- defaultroute
|   |-- filters
|   |-- interfaces
|   |-- ip-down
|   |-- ip-up
|   |-- ipv6-down
|   |-- ipv6-up
|   |-- lndir.sh
|   |-- modules
|   |-- options
|   |-- options.ttyXX
|   |-- pap-secrets
|   |-- peers-pppoa
|   |-- peers-pppoe
|   |-- per-linkname
|   |-- plog
|   |-- poff
|   |-- pon
|   |-- pon.1
|   |-- pon.completion
|   |-- popp
|   |-- ppp-udeb-postbaseinst
|   |-- ppp-udeb.ip-up
|   |-- pppoe-discovery.8
|   |-- pppoe_on_boot
|   |-- provider.chatscript
|   |-- provider.peer
|   |-- userscripts-down
|   `-- userscripts-up
`-- upstream
    |-- patches
    `-- tarballs
        `-- ppp-2.4.4.tar.gz

так  же    есть  ppp-2.4.4.patched.tar.gz
с внесенными   нужными  изменениями 

пробовал  подменить  им    оригинальный  файл 
но  dpkg-bulidpackage  оказался  умнее   ;D

посоветуйте  куда  можно приладить  нужный  мне  патч 

 

Страница сгенерирована за 0.056 секунд. Запросов: 25.