like310101 发表于 2014-03-20 08:26

请教一个setuptools的问题。请各位大佬帮忙解答下,谢谢。

在redhat6中对python程序用setuptools打包成rpm,打包成功了,但是我还想在安装这个rpm的时候自动执行一条语句如:
chkconfig --add foo
请问该在setup中加哪个参数,谢谢。

q1208c 发表于 2014-03-20 09:29

这跟 setuptools 无关, 是 rpm的 问题. 好象是在 %post 里 加一条.

楼主最好看一下 rpm 相关的 信息.

like310101 发表于 2014-03-20 11:12

回复 2# q1208c

rpm的我知道,问题是用setuptools的话,spec文件是自动生成的,我不可能在打包过程中去添加这段文字。

谢谢

   

q1208c 发表于 2014-03-20 11:30

回复 3# like310101

那只能找一下 setuptools 的资源了. 我刻那也算是个脚本, 难道没有相关的参数么?
   

like310101 发表于 2014-03-20 12:01

回复 4# q1208c


    找了好久没找到。如果读源码,没那个能力啊,所以来这里求助。

    谢谢。

like310101 发表于 2014-03-21 13:00

like310101 发表于 2014-03-20 08:26 static/image/common/back.gif
在redhat6中对python程序用setuptools打包成rpm,打包成功了,但是我还想在安装这个rpm的时候自动执行一条语 ...


已解决,方法如下:setup(
         ...
         data_files=[('/etc/init.d', ['your init.d file'])]
)这样,你的initfile会自动拷贝到/etc/init.d/下,并且自动会加到chkconfig中。

q1208c 发表于 2014-03-21 13:05

回复 6# like310101


    :em02: :em02:

楼主可以总结一下 用 setuptools 打包 rpm 了.

like310101 发表于 2014-03-21 17:30

q1208c 发表于 2014-03-21 13:05 static/image/common/back.gif
回复 6# like310101


import os
from setuptools import setup, find_packages

currdir = os.path.normpath(os.path.join(os.path.abspath(__file__),
                                    os.pardir,
                                    os.pardir,
                                    os.pardir,
                                    os.pardir,
                                    os.pardir,
                                    os.pardir))
conf_file=currdir+'/etc/mysql_quotas.conf'
init_file=currdir+'/etc/init.d/mysql-quotas'

setup(
         name = "mysql-quotas",
         version = "1.0.0",
         packages = find_packages(),
         zip_safe = False,

         description = "Mysql quotas.",
         long_description = "Mysql quotas.",
         author = "like",
         author_email = "a@b.com",

         license = "copyright by xx",
         keywords = ("mysql", "quotas"),
         platforms = "Independant",
         url = "http://bbs.chinaunix.net",
         scripts=["bin/mysql_quotas"],
         data_files=[('/etc/mysql_quotas', ),
                     ('/etc/init.d', )],
       )
目录结构:
mysql_quotas-
                        |---程序包
                        |---bin-
                                 |---mysql_quotas<注:python __main__,这个文件安装时会被放到/usr/bin/下>
                        |---etc-
                                 |---mysql_quotas.conf<注:配置文件,这个文件安装时会被放到/etc/mysql_quotas下>
                                 |---init.d-
                                                 |---mysql-quotas<注:chkconfig文件,这个文件安装时会被放到/etc/init.d下,具体怎么写可以参考该目录下的其他实现>


希望对有需要的人有帮助。
      

q1208c 发表于 2014-03-21 18:30

回复 8# like310101


    :em02: :em02:这个要顶一下.
页: [1]
查看完整版本: 请教一个setuptools的问题。请各位大佬帮忙解答下,谢谢。