brew2deb icon indicating copy to clipboard operation
brew2deb copied to clipboard

Add preliminary RPM support

Open cparedes opened this issue 13 years ago • 2 comments

brew2deb making RPM's? WHAT?! :)

Could probably cherry pick a few of these changes (notably, could possibly remove credis-rpmtest, but it's a good test to see that it mostly works, so far.)

Had to split apart the libraries in lib/ to separate files, so it's easier to extend (if there's any need for other package managers.) Also -- added more require statements in the brew2deb binary.

cparedes avatar Oct 05 '11 19:10 cparedes

@cparedes: There's a point in one of the build scripts (%install section via fpm/templates/rpm.erb) that deletes CWD when attempting to re/create one of the build directories. It probably just needs to cd somewhere else before and cd back afterwards.

[root@hostname credis-rpmtest]# ../../bin/brew2deb 
which: no brew in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
==> Downloading http://credis.googlecode.com/files/credis-0.2.3.tar.g
##########                                                           ################                                                     #################                                                    #######################                                              ##################################                                   ########################################                             #############################################                        ###################################################                  #########################################################            ###############################################################      ####################################################################################################################################################################################################################################################################################### 100.0%
==> Extracting source
==> Compiling source
cc -g -O2 -Wall   -c -o credis-test.o credis-test.c
cc -c -fPIC -g -O2 -Wall  -o credis.o credis.c
ar -cvq libcredis.a credis.o
a - credis.o
cc -g -O2 -Wall   -o credis-test credis-test.o libcredis.a
cc -shared -Wl,-soname,libcredis.so -o libcredis.so credis.o
==> Installing binaries
==> Packaging into a .rpm
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.0CfToc
+ umask 022
+ cd /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.GEVwyW
+ umask 022
+ cd /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/BUILD
+ tar -zxf /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/data.tar.gz
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.kNRJLG
+ umask 022
+ cd /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/BUILD
+ '[' /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/BUILD '!=' / ']'
+ rm -rf /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/BUILD 
++ dirname /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/BUILD
+ mkdir -p /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm
+ mkdir /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ /usr/lib/rpm/check-buildroot
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
+ /usr/lib/rpm/redhat/brp-compress
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
chdir: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
+ /usr/lib/rpm/brp-python-bytecompile
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
+ /usr/lib/rpm/redhat/brp-python-hardlink
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
+ /usr/lib/rpm/redhat/brp-java-repack-jars
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
Processing files: libcredis-0.2.3+github1-1.x86_64
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/BUILD
warning: Could not canonicalize hostname: hostname.localdomain
Wrote: /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/SRPMS/libcredis-0.2.3+github1-1.src.rpm
Wrote: /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/RPMS/x86_64/libcredis-0.2.3+github1-1.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.YjLb1X
+ umask 022
+ cd /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/BUILD
+ rm -rf /root/brew2deb/packages/credis-rpmtest/pkg/build-rpm-libcredis-0.2.3+github1.x86_64.rpm/BUILD
+ exit 0
Created /root/brew2deb/packages/credis-rpmtest/pkg/libcredis-0.2.3+github1.x86_64.rpm
[root@hostname pkg]# rpm -Uvh  pkg/libcredis-0.2.3+github1.x86_64.rpm 
Preparing...                                                         ########################################### [100%]
   1:libcredis                                                       ########################################### [100%]
[root@hostname pkg]# rpm -ql libcredis
/

( Disposable CentOS 6.2 x86_64 vm - system ruby, rubygems, git, ruby-devel & development tools group)

Update: for grins created a build user, same error.

skull-squadron avatar May 23 '12 14:05 skull-squadron

Simplest fix: Latest fpm master works like a charm.

[build@hostname pkg]$ sudo rpm -Uvh libcredis-0.2.3+github1-1.x86_64.rpm 
Preparing...                                                          ########################################### [100%]
   1:libcredis                                                        ########################################### [100%]
[build@hostname pkg]$ rpm -ql libcredis
/usr/include/credis.h
/usr/lib/libcredis.a
/usr/lib/libcredis.so
/usr/share/doc/libcredis/README

skull-squadron avatar May 23 '12 15:05 skull-squadron