如何下载源代码、修改源代码、重新编译和构建.deb 包?

如何下载源代码、修改源代码、重新编译和构建.deb 包?

我必须定制我的 Apache2 suExec 模块以确保一些特殊的环境变量通过 suExec 传递。

如何从 Debian 包中下载源代码apache2-suexec、修改suexec.csafe_env_lst重新编译并再次构建 .deb 包以在生产系统上推出?

我尝试过apt-get source apache2-suexec,但没有suexec.c在出现的 apache2-* 文件夹中找到。

修改后的源代码应该是这样的:

static const char *const safe_env_lst[] =
{
    /* variable name starts with */
    "HTTP_",
    "SSL_",

    /* NEW: Perl debugging variables */
    "PERL5OPT=",
    "PERL5LIB=",
    "PERLDB_OPTS=",
    "DBGP_IDEKEY=",

    /* NEW: FCGI variables */
    "FCGI=",
    "FCGI_CONNECTION=",
    "FCGI_RUNTIME=",
    "FCGI_STARTTIME=",

草案依据:http://static.askapache.com/httpd/support/suexec.c

答案1

我尝试过apt-get source apache2-suexec,但没有 suexec.c在出现的 apache2-* 文件夹中找到。

在我的 Ubuntu 12.04 上:

# cd apache2-2.2.22/
# find . -name 'suexec.c'
./support/suexec.c
./.pc/045_suexec_log_cloexec/support/suexec.c
./.pc/058_suexec-CVE-2007-1742/support/suexec.c

如何从 Debian 包中下载源代码apache2-suexec、修改suexec.csafe_env_lst重新编译并再次构建 .deb 包以在生产系统上推出?

# apt-get build-dep apache2-suexec
# apt-get install devscripts
# debuild -i -us -uc -b
# dpkg -i ../apache2-suexec_2.2.22-1ubuntu1_amd64.deb

相关内容