Как собрать пакет ruby .deb? - PullRequest
2 голосов
/ 26 марта 2020

Я искал в Google и нашел еще один вопрос по stackoverflow без ответа, и некоторые люди сказали, что они успешно с checkinstall. Я следую за этим:

sudo apt-get install uuid-dev libsystemd-dev libssl-dev checkinstall
sudo apt-get install libjemalloc1 libjemalloc-dev
wget http://ftp.ruby-lang.org/pub/ruby/2.7/ruby-2.7.0.tar.gz
tar -xzvf ruby-2.7.0.tar.gz
cd ruby-2.7.0/
./configure --with-jemalloc
make
sudo checkinstall --default --backup=no --deldoc=yes --install=yes --pkgname=ruby --pkgversion='2.7.0'

Но он застревает:

# sudo checkinstall -D --default --fstrans=no --backup=no --deldoc=yes --install=no  --pkgname=ruby --pkgversion='2.7.0'

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.


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

Preparing package documentation...OK

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

This package will be built according to these values:

0 -  Maintainer: [ root@hdd-rig ]
1 -  Summary: [ Package created with checkinstall 1.6.2 ]
2 -  Name:    [ ruby ]
3 -  Version: [ 2.7.0 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ ruby-2.7.0 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ ruby ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

Enter a number to change any of them or press ENTER to continue:

Installing with make install...

========================= Installation results ===========================
    BASERUBY = /usr/bin/ruby --disable=gems
    CC = gcc
    LD = ld
    LDSHARED = gcc -shared
    CFLAGS = -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -std=gnu99
    XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/x86_64-linux -I./include -I. -I./enc/unicode/12.1.0
    CPPFLAGS =
    DLDFLAGS = -Wl,--compress-debug-sections=zlib -fstack-protector-strong -pie
    SOLIBS = -lz -lpthread -lrt -lrt -ljemalloc -lgmp -ldl -lcrypt -lm
    LANG = en_US.UTF-8
    LC_ALL =
    LC_CTYPE =
    MFLAGS =
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./revision.h unchanged
generating enc.mk

Он висит там часами. У кого-нибудь есть инструкции о том, как собрать пакет .deb ruby 2.9.0 с ./configure --with-jemallo c?

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

...