centos下rpm打包简单实例

来源:互联网 发布:java 扫描二维码登陆 编辑:程序博客网 时间:2024/05/20 08:45

RPM打包

一.Rpm-build 安装

    1.     $sudoyum install rpm-build

    2.     $sudoyum install fedora-rpmdevtools 执行完后,就会在HOME目录下生成rpmbuild目录,在 rpmbuild 目录底下又有 BUILD RPMS SOURCES SPECS SRPMS

            五个子 目录也可以自己手动创建这五个目录:

            mkdir -p~/{BUILD,RPMS,S{OURCE,PEC,RPM}S}

           这些目录的作用如下

           BUILD 编译时所用的暂存目录

           RPMS 放置打包好的套件

           SOURCES 放置套件的原始码及修补档等等

          SPECS 放置 .spec 档 SRPMS 放置 Source RPMS (.src.rpm)

          (我这里系统:CentOS Linux release 7.0.1406 (Core) , RPM-build安装在用户根目录~下有rpmbuild/SOURCES,SPECS,BUILD…)

二.例子验证

       1.     在SOURCES目录下,创建main-0.1文件目录,并在main-0.1目录下创建创建Makefile(用于建立原始吗所需的make规则),原始码文件,这里是个

               helloworld.c文 件。main-0.1目录及内容创建好后压缩为.tar.gz文件(rpm原始文件貌似只能是.tar.gz)具体步骤:

              (1)  Main-0.1内容创建

                    mkdir main-0.1               //main-0.1目录创建

              (2)  helloworld.c创建

                     vim helloworld.c

                    编辑内容

                    gcc –o helloworld helloworld.c

                   执行

                  ./helloworld

              (3)  Makefile创建              //建立原始码所需make规则

                    vim Makefile

                    内容如下:

                   BS =-lm

                   OBJS =helloworld.o

                   main:${OBJS}

                                    gcc -o helloworld ${OBJS} ${LIBS}

                   clean:

                                    rm -f helloworld ${OBJS}

                   install:

                                    install -m 755 helloworld $(RPM_INSTALL_ROOT)/usr/local/bin/main

      ( //    main:下面的命令是用Tab键空隔开的  )

 

             (4)  压缩main-0.1

                    tar –zcvfmain-0.1.tar.gz main-0.1

        2.     新建*.spec的设置文件作为RPM 输入文件,该文件告诉 RPM 如何构建和打包您的软件,在SPECS目录下创建main.spec

                 vim main.spec

                内容:

                 Summary: printf hello world

                 Name: main

                 Version:0.1

                 Release: 1

                License: GPL

               Group: SUN'sHome

               Source:main-0.1.tar.gz

               Url:http://linux.vbird.org

               Packager: VSUN

               BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}-root

 

                %description

                This packagewill let you input your name and calculate sin cos value

 

                %prep

                %setup -q

 

                %build

                   make

 

               %install

                     rm -rf%{buildroot}

                     mkdir -p%{buildroot}/usr/local/bin

                     make installRPM_INSTALL_ROOT=%{buildroot}

 

               %files

                   /usr/local/bin/main

              %changelog

               * Wed Jul 012009 VBird Tsai <vbird@mail.vbird.idv.tw>0.1

             -build theprogram

 

       3.     编译为RPM与SRPM

                  rpmbuild -bamain.spec

       4.     安装/测试/查询

               在RPMS/x86.64/目录下main-0.1-1.x86_64.rpm

               Rpm –ivh main-0.1-1.x86_64.rpm      //安装

               在文件安装目录/usr/local/bin/main,查询main内容

               rpm –qi main

               进入main安装目录

               rpm –ql main

               执行可执行文件main

               ./main

               输出hello world !

 

参考文献:

1.     http://blog.chinaunix.net/uid-28216282-id-3405950.html

2.     http://blog.chinaunix.net/uid-24347760-id-1989580.html

3.     http://www.ibm.com/developerworks/cn/linux/management/package/rpm/part1/

0 0
原创粉丝点击