passenger 4.0.48 → 4.0.49
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +8 -8
- checksums.yaml.gz.asc +7 -7
- data.tar.gz.asc +7 -7
- data/.editorconfig +36 -2
- data/.travis.yml +1 -1
- data/CHANGELOG +16 -0
- data/Rakefile +0 -1
- data/build/apache2.rb +4 -4
- data/build/common_library.rb +18 -18
- data/build/cplusplus_support.rb +2 -2
- data/build/documentation.rb +1 -1
- data/build/integration_tests.rb +12 -4
- data/build/misc.rb +12 -7
- data/build/packaging.rb +14 -14
- data/build/preprocessor.rb +10 -10
- data/build/rake_extensions.rb +11 -11
- data/build/ruby_extension.rb +2 -2
- data/dev/ci/inituidgid +24 -0
- data/dev/ci/run_jenkins.sh +57 -0
- data/dev/ci/run_rpm_tests.sh +77 -0
- data/dev/{run_travis.sh → ci/run_travis.sh} +60 -4
- data/doc/Users guide Nginx.txt +2 -2
- data/doc/users_guide_snippets/environment_variables.txt +0 -2
- data/doc/users_guide_snippets/tips.txt +20 -1
- data/ext/apache2/Bucket.cpp +18 -18
- data/ext/apache2/Bucket.h +4 -4
- data/ext/apache2/Configuration.cpp +7 -7
- data/ext/apache2/Configuration.hpp +43 -43
- data/ext/apache2/DirectoryMapper.h +5 -5
- data/ext/apache2/Hooks.cpp +142 -142
- data/ext/apache2/MergeDirConfig.cpp +40 -40
- data/ext/common/Account.h +17 -17
- data/ext/common/AccountsDatabase.h +9 -9
- data/ext/common/AgentsStarter.cpp +2 -2
- data/ext/common/AgentsStarter.h +40 -40
- data/ext/common/ApplicationPool2/Common.h +10 -6
- data/ext/common/ApplicationPool2/ComponentInfo.h +2 -2
- data/ext/common/ApplicationPool2/DirectSpawner.h +17 -17
- data/ext/common/ApplicationPool2/DummySpawner.h +5 -5
- data/ext/common/ApplicationPool2/Group.h +54 -38
- data/ext/common/ApplicationPool2/Implementation.cpp +76 -49
- data/ext/common/ApplicationPool2/Options.h +98 -91
- data/ext/common/ApplicationPool2/Pool.h +70 -69
- data/ext/common/ApplicationPool2/Process.h +21 -21
- data/ext/common/ApplicationPool2/Session.h +11 -11
- data/ext/common/ApplicationPool2/SmartSpawner.h +60 -60
- data/ext/common/ApplicationPool2/Socket.h +19 -19
- data/ext/common/ApplicationPool2/Spawner.h +64 -72
- data/ext/common/ApplicationPool2/SpawnerFactory.h +4 -4
- data/ext/common/ApplicationPool2/SuperGroup.h +41 -41
- data/ext/common/BackgroundEventLoop.cpp +1 -1
- data/ext/common/BackgroundEventLoop.h +2 -2
- data/ext/common/Constants.h +1 -1
- data/ext/common/EventedBufferedInput.h +5 -5
- data/ext/common/EventedClient.h +51 -51
- data/ext/common/EventedMessageServer.h +39 -39
- data/ext/common/EventedServer.h +32 -32
- data/ext/common/Exceptions.h +23 -23
- data/ext/common/FileDescriptor.h +18 -18
- data/ext/common/Logging.cpp +1 -1
- data/ext/common/MessageClient.h +27 -27
- data/ext/common/MessageReadersWriters.h +79 -79
- data/ext/common/MessageServer.h +59 -59
- data/ext/common/RandomGenerator.h +12 -12
- data/ext/common/ResourceLocator.h +8 -8
- data/ext/common/SafeLibev.h +54 -25
- data/ext/common/ServerInstanceDir.h +31 -31
- data/ext/common/StaticString.h +50 -48
- data/ext/common/Utils.cpp +73 -78
- data/ext/common/Utils.h +6 -6
- data/ext/common/Utils/Base64.cpp +3 -3
- data/ext/common/Utils/Base64.h +7 -7
- data/ext/common/Utils/BlockingQueue.h +9 -9
- data/ext/common/Utils/BufferedIO.h +17 -17
- data/ext/common/Utils/CachedFileStat.hpp +16 -16
- data/ext/common/Utils/Dechunker.h +25 -25
- data/ext/common/Utils/FileChangeChecker.h +10 -10
- data/ext/common/Utils/MemZeroGuard.h +5 -5
- data/ext/common/Utils/MemoryBarrier.h +1 -1
- data/ext/common/Utils/MessageIO.h +61 -61
- data/ext/common/Utils/ProcessMetricsCollector.h +40 -40
- data/ext/common/Utils/ScopeGuard.h +7 -7
- data/ext/common/Utils/SpeedMeter.h +1 -1
- data/ext/common/Utils/StrIntUtils.cpp +13 -13
- data/ext/common/Utils/StrIntUtils.h +3 -3
- data/ext/common/Utils/StringScanning.h +5 -5
- data/ext/common/Utils/SystemMetricsCollector.h +2 -2
- data/ext/common/Utils/SystemTime.h +10 -10
- data/ext/common/Utils/Template.h +2 -2
- data/ext/common/Utils/Timer.h +6 -6
- data/ext/common/Utils/VariantMap.h +29 -29
- data/ext/common/agents/Base.cpp +19 -19
- data/ext/common/agents/HelperAgent/AgentOptions.h +1 -1
- data/ext/common/agents/HelperAgent/FileBackedPipe.h +6 -6
- data/ext/common/agents/HelperAgent/Main.cpp +44 -43
- data/ext/common/agents/HelperAgent/RequestHandler.cpp +4 -4
- data/ext/common/agents/HelperAgent/RequestHandler.h +29 -28
- data/ext/common/agents/HelperAgent/ScgiRequestParser.h +56 -50
- data/ext/common/agents/LoggingAgent/AdminController.h +8 -8
- data/ext/common/agents/LoggingAgent/DataStoreId.h +17 -17
- data/ext/common/agents/LoggingAgent/FilterSupport.h +167 -167
- data/ext/common/agents/LoggingAgent/LoggingServer.h +122 -122
- data/ext/common/agents/LoggingAgent/Main.cpp +7 -7
- data/ext/common/agents/LoggingAgent/RemoteSender.h +54 -54
- data/ext/common/agents/SpawnPreparer.cpp +4 -4
- data/ext/common/agents/TempDirToucher.c +2 -2
- data/ext/common/agents/Watchdog/AgentWatcher.cpp +47 -47
- data/ext/common/agents/Watchdog/HelperAgentWatcher.cpp +7 -7
- data/ext/common/agents/Watchdog/LoggingAgentWatcher.cpp +7 -7
- data/ext/common/agents/Watchdog/Main.cpp +22 -22
- data/ext/common/agents/Watchdog/ServerInstanceDirToucher.cpp +9 -9
- data/ext/libeio/eio.c +1 -1
- data/ext/nginx/Configuration.c +30 -30
- data/ext/nginx/Configuration.h +1 -1
- data/ext/nginx/ContentHandler.c +54 -54
- data/ext/nginx/ContentHandler.h +3 -3
- data/ext/nginx/StaticContentHandler.c +2 -2
- data/ext/nginx/ngx_http_passenger_module.c +21 -21
- data/ext/oxt/detail/backtrace_enabled.hpp +1 -1
- data/ext/oxt/detail/context.hpp +1 -1
- data/ext/oxt/detail/spin_lock_darwin.hpp +4 -4
- data/ext/oxt/detail/spin_lock_gcc_x86.hpp +3 -3
- data/ext/oxt/detail/spin_lock_pthreads.hpp +4 -4
- data/ext/oxt/detail/tracable_exception_disabled.hpp +1 -1
- data/ext/oxt/dynamic_thread_group.hpp +18 -18
- data/ext/oxt/implementation.cpp +9 -8
- data/ext/oxt/macros.hpp +2 -2
- data/ext/oxt/system_calls.cpp +11 -11
- data/ext/oxt/system_calls.hpp +13 -13
- data/ext/oxt/thread.hpp +22 -14
- data/ext/ruby/passenger_native_support.c +55 -55
- data/lib/phusion_passenger.rb +24 -24
- data/lib/phusion_passenger/common_library.rb +2 -0
- data/lib/phusion_passenger/loader_shared_helpers.rb +18 -18
- data/lib/phusion_passenger/packaging.rb +9 -4
- data/lib/phusion_passenger/platform_info/apache.rb +45 -31
- data/lib/phusion_passenger/platform_info/compiler.rb +11 -11
- data/lib/phusion_passenger/rack/thread_handler_extension.rb +1 -1
- data/lib/phusion_passenger/request_handler/thread_handler.rb +8 -8
- data/lib/phusion_passenger/standalone/app_finder.rb +16 -16
- data/lib/phusion_passenger/standalone/command.rb +22 -22
- data/packaging/rpm/LICENSE.txt +19 -0
- data/packaging/rpm/Makefile +13 -0
- data/packaging/rpm/README.md +41 -0
- data/packaging/rpm/Vagrantfile +38 -0
- data/{rpm/Vagrantfile → packaging/rpm/Vagrantfile.centos} +0 -0
- data/packaging/rpm/build +170 -0
- data/packaging/rpm/create_project +41 -0
- data/packaging/rpm/git_update +88 -0
- data/packaging/rpm/image/Dockerfile +37 -0
- data/packaging/rpm/image/Gemfile +3 -0
- data/packaging/rpm/image/Gemfile.lock +12 -0
- data/packaging/rpm/image/RPM-GPG-KEY-amazon-ga +19 -0
- data/packaging/rpm/image/amazon2014-i386.cfg +96 -0
- data/packaging/rpm/image/amazon2014-x86_64.cfg +96 -0
- data/packaging/rpm/image/site-defaults.cfg +168 -0
- data/packaging/rpm/internal/build_tasks.rb +238 -0
- data/packaging/rpm/internal/dummygpg +11 -0
- data/packaging/rpm/internal/exec_build +42 -0
- data/packaging/rpm/internal/get_distro_arch +14 -0
- data/packaging/rpm/internal/get_distro_id +10 -0
- data/packaging/rpm/internal/git_update +27 -0
- data/packaging/rpm/internal/inituidgid +17 -0
- data/packaging/rpm/internal/my_init +344 -0
- data/packaging/rpm/internal/python27 +3 -0
- data/packaging/rpm/internal/repo_update +46 -0
- data/packaging/rpm/internal/setuser +26 -0
- data/packaging/rpm/internal/tracking_helper +40 -0
- data/packaging/rpm/jenkins_release +99 -0
- data/packaging/rpm/lib/build_tasks_support.rb +402 -0
- data/packaging/rpm/lib/preprocessor.rb +341 -0
- data/packaging/rpm/nginx_spec/404.html +119 -0
- data/packaging/rpm/nginx_spec/50x.html +119 -0
- data/packaging/rpm/nginx_spec/index.html +116 -0
- data/packaging/rpm/nginx_spec/nginx-auto-cc-gcc.patch +13 -0
- data/packaging/rpm/nginx_spec/nginx-logo.png +0 -0
- data/packaging/rpm/nginx_spec/nginx-upgrade +13 -0
- data/packaging/rpm/nginx_spec/nginx-upgrade.8 +151 -0
- data/packaging/rpm/nginx_spec/nginx.conf +131 -0
- data/packaging/rpm/nginx_spec/nginx.init +144 -0
- data/packaging/rpm/nginx_spec/nginx.logrotate +13 -0
- data/packaging/rpm/nginx_spec/nginx.service +15 -0
- data/packaging/rpm/nginx_spec/nginx.spec.template +559 -0
- data/packaging/rpm/nginx_spec/nginx.sysconfig +4 -0
- data/packaging/rpm/nginx_spec/passenger.conf +9 -0
- data/packaging/rpm/nginx_spec/poweredby.png +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/apache-passenger.conf.in +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/config.json +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/passenger.logrotate +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/passenger.spec.template +58 -31
- data/{rpm → packaging/rpm/passenger_spec}/passenger_dynamic_thread_group.patch +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/passenger_tests_default_config_example.patch +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch +0 -0
- data/packaging/rpm/repo_update +114 -0
- data/packaging/rpm/setup-system +60 -0
- data/packaging/rpm/shell +10 -0
- data/resources/templates/standalone/config.erb +3 -1
- data/test/config.json.rpm-automation +1 -1
- data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +11 -11
- data/test/cxx/ApplicationPool2/OptionsTest.cpp +5 -5
- data/test/cxx/ApplicationPool2/PoolTest.cpp +129 -89
- data/test/cxx/ApplicationPool2/ProcessTest.cpp +15 -15
- data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +22 -22
- data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +11 -11
- data/test/cxx/ScgiRequestParserTest.cpp +75 -61
- data/test/cxx/UtilsTest.cpp +86 -85
- data/test/gdbinit.example +3 -0
- data/test/integration_tests/nginx_tests.rb +3 -3
- data/test/integration_tests/source_packaging_test.rb +3 -1
- data/test/stub/nginx/nginx.conf.erb +8 -1
- data/test/support/nginx_controller.rb +7 -7
- metadata +62 -17
- metadata.gz.asc +7 -7
- data/build/rpm.rb +0 -128
- data/dev/rpmtool +0 -21
- data/dev/test_rpm_packaging.sh +0 -28
- data/rpm/get_distro_id.py +0 -4
@@ -0,0 +1,19 @@
|
|
1
|
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
2
|
+
Version: GnuPG v1.4.5 (GNU/Linux)
|
3
|
+
|
4
|
+
mQENBExJSwMBCACnEqXpleV7jQhOvXnVU+p/hH0gNjA6083uTduA1ZdrCTJZV/Cy
|
5
|
+
xi3xMK4Tnumcu+NOVNDWwY5dOr291SGmDqom+AoGFF5SyveTiYtAtz9vhhbXE1Aq
|
6
|
+
zk6mq+ivd26COSacM6IWsfWrTW/2rM9ydPh6Z4d8psroT+RLhiTZr9R+niQXLnbC
|
7
|
+
yTLQr2+gMjSdVwKtJ5SwABPRG4OtxrMyR+pyEEupD9t2a2dqj4mzy59Se1krl04O
|
8
|
+
8NKMuTs8soyzEuYnFM2NIsjT4IsXVw94IrDLPknpiw5phkDNhYa5UfhLzOkdMIVH
|
9
|
+
+MeUp/MlV4YmQe9QQCW6A1vNBIZrHt5c1UYjABEBAAG0MUFtYXpvbiBMaW51eCBB
|
10
|
+
TUkgKEdBKSA8bGludXgtc2VjdXJpdHlAYW1hem9uLmNvbT6JATwEEwECACYCGwMG
|
11
|
+
CwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCTkHb3AUJC16SWQAKCRC8tKhbIcDznzqe
|
12
|
+
B/42yOjxbm9R1VWFg7xSp/aMtDDbmHuW9OCQQeIzJfheDOqczIEp4XLfMH9WiXEB
|
13
|
+
uxVGFVC6QnwgOg0e9rWoW8c25xPyFHe9mtqfr3Tmv40in1IbROtDoRzHHnxVDSmd
|
14
|
+
1wbzUMGuQ8xcG5GhGRFx+zFcY/GJ/RWsK6daWT0Pv1zhqpG5asQKiFGJdenOj0JO
|
15
|
+
EdY2g1MxeeCe8PJPwuJcV1P4LoXQnVT3Ttd/zDcCuo4aA/Pu4t3lH478f5SzJvsW
|
16
|
+
nM7m471p5YtNWsZt8SvnVTfv+X09wTzSQ2njs87JQWj9+4NsHSQ8slSvTi9Zcqm9
|
17
|
+
AytaW43P8V1JGAfya+74ZDzL
|
18
|
+
=xQTk
|
19
|
+
-----END PGP PUBLIC KEY BLOCK-----
|
@@ -0,0 +1,96 @@
|
|
1
|
+
config_opts['root'] = 'amazon2014-i386'
|
2
|
+
config_opts['target_arch'] = 'i686'
|
3
|
+
config_opts['legal_host_arches'] = ('i386', 'i586', 'i686', 'x86_64')
|
4
|
+
config_opts['chroot_setup_cmd'] = 'groupinstall buildsys-build'
|
5
|
+
config_opts['dist'] = 'el6' # only useful for --resultdir variable subst
|
6
|
+
|
7
|
+
config_opts['yum.conf'] = """
|
8
|
+
[main]
|
9
|
+
cachedir=/var/cache/yum
|
10
|
+
debuglevel=1
|
11
|
+
reposdir=/dev/null
|
12
|
+
logfile=/var/log/yum.log
|
13
|
+
retries=20
|
14
|
+
obsoletes=1
|
15
|
+
gpgcheck=0
|
16
|
+
assumeyes=1
|
17
|
+
syslog_ident=mock
|
18
|
+
syslog_device=
|
19
|
+
|
20
|
+
# repos
|
21
|
+
[amzn-main]
|
22
|
+
name=amzn-main-Base
|
23
|
+
mirrorlist=http://repo.us-west-2.amazonaws.com/latest/main/mirror.list
|
24
|
+
mirror_expire=300
|
25
|
+
metadata_expire=300
|
26
|
+
priority=10
|
27
|
+
failovermethod=priority
|
28
|
+
fastestmirror_enabled=0
|
29
|
+
gpgcheck=1
|
30
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
|
31
|
+
enabled=1
|
32
|
+
retries=5
|
33
|
+
timeout=10
|
34
|
+
report_instanceid=yes
|
35
|
+
|
36
|
+
[amzn-nosrc]
|
37
|
+
name=amzn-nosrc-Base
|
38
|
+
mirrorlist=http://repo.us-west-2.amazonaws.com/latest/nosrc/mirror.list
|
39
|
+
mirror_expire=300
|
40
|
+
metadata_expire=300
|
41
|
+
priority=10
|
42
|
+
failovermethod=priority
|
43
|
+
fastestmirror_enabled=0
|
44
|
+
gpgcheck=0
|
45
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
|
46
|
+
enabled=0
|
47
|
+
retries=5
|
48
|
+
timeout=10
|
49
|
+
report_instanceid=yes
|
50
|
+
|
51
|
+
[amzn-preview]
|
52
|
+
name=amzn-preview-Base
|
53
|
+
mirrorlist=http://repo.us-west-2.amazonaws.com/latest/preview/mirror.list
|
54
|
+
mirror_expire=300
|
55
|
+
metadata_expire=300
|
56
|
+
priority=10
|
57
|
+
failovermethod=priority
|
58
|
+
fastestmirror_enabled=0
|
59
|
+
gpgcheck=1
|
60
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
|
61
|
+
enabled=0
|
62
|
+
retries=5
|
63
|
+
timeout=10
|
64
|
+
report_instanceid=yes
|
65
|
+
|
66
|
+
[amzn-updates]
|
67
|
+
name=amzn-updates-Base
|
68
|
+
mirrorlist=http://repo.us-west-2.amazonaws.com/latest/updates/mirror.list
|
69
|
+
mirror_expire=300
|
70
|
+
metadata_expire=300
|
71
|
+
priority=10
|
72
|
+
failovermethod=priority
|
73
|
+
fastestmirror_enabled=0
|
74
|
+
gpgcheck=1
|
75
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
|
76
|
+
enabled=1
|
77
|
+
retries=5
|
78
|
+
timeout=10
|
79
|
+
report_instanceid=yes
|
80
|
+
|
81
|
+
[epel]
|
82
|
+
name=epel
|
83
|
+
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=i386
|
84
|
+
failovermethod=priority
|
85
|
+
enabled=1
|
86
|
+
gpgcheck=1
|
87
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
|
88
|
+
|
89
|
+
[epel-testing]
|
90
|
+
name=epel-testing
|
91
|
+
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=testing-epel6&arch=i386
|
92
|
+
failovermethod=priority
|
93
|
+
enabled=0
|
94
|
+
gpgcheck=1
|
95
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
|
96
|
+
"""
|
@@ -0,0 +1,96 @@
|
|
1
|
+
config_opts['root'] = 'amazon2014-x86_64'
|
2
|
+
config_opts['target_arch'] = 'x86_64'
|
3
|
+
config_opts['legal_host_arches'] = ('x86_64',)
|
4
|
+
config_opts['chroot_setup_cmd'] = 'groupinstall buildsys-build'
|
5
|
+
config_opts['dist'] = 'el6' # only useful for --resultdir variable subst
|
6
|
+
|
7
|
+
config_opts['yum.conf'] = """
|
8
|
+
[main]
|
9
|
+
cachedir=/var/cache/yum
|
10
|
+
debuglevel=1
|
11
|
+
reposdir=/dev/null
|
12
|
+
logfile=/var/log/yum.log
|
13
|
+
retries=20
|
14
|
+
obsoletes=1
|
15
|
+
gpgcheck=0
|
16
|
+
assumeyes=1
|
17
|
+
syslog_ident=mock
|
18
|
+
syslog_device=
|
19
|
+
|
20
|
+
# repos
|
21
|
+
[amzn-main]
|
22
|
+
name=amzn-main-Base
|
23
|
+
mirrorlist=http://repo.us-west-2.amazonaws.com/latest/main/mirror.list
|
24
|
+
mirror_expire=300
|
25
|
+
metadata_expire=300
|
26
|
+
priority=10
|
27
|
+
failovermethod=priority
|
28
|
+
fastestmirror_enabled=0
|
29
|
+
gpgcheck=1
|
30
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
|
31
|
+
enabled=1
|
32
|
+
retries=5
|
33
|
+
timeout=10
|
34
|
+
report_instanceid=yes
|
35
|
+
|
36
|
+
[amzn-nosrc]
|
37
|
+
name=amzn-nosrc-Base
|
38
|
+
mirrorlist=http://repo.us-west-2.amazonaws.com/latest/nosrc/mirror.list
|
39
|
+
mirror_expire=300
|
40
|
+
metadata_expire=300
|
41
|
+
priority=10
|
42
|
+
failovermethod=priority
|
43
|
+
fastestmirror_enabled=0
|
44
|
+
gpgcheck=0
|
45
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
|
46
|
+
enabled=0
|
47
|
+
retries=5
|
48
|
+
timeout=10
|
49
|
+
report_instanceid=yes
|
50
|
+
|
51
|
+
[amzn-preview]
|
52
|
+
name=amzn-preview-Base
|
53
|
+
mirrorlist=http://repo.us-west-2.amazonaws.com/latest/preview/mirror.list
|
54
|
+
mirror_expire=300
|
55
|
+
metadata_expire=300
|
56
|
+
priority=10
|
57
|
+
failovermethod=priority
|
58
|
+
fastestmirror_enabled=0
|
59
|
+
gpgcheck=1
|
60
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
|
61
|
+
enabled=0
|
62
|
+
retries=5
|
63
|
+
timeout=10
|
64
|
+
report_instanceid=yes
|
65
|
+
|
66
|
+
[amzn-updates]
|
67
|
+
name=amzn-updates-Base
|
68
|
+
mirrorlist=http://repo.us-west-2.amazonaws.com/latest/updates/mirror.list
|
69
|
+
mirror_expire=300
|
70
|
+
metadata_expire=300
|
71
|
+
priority=10
|
72
|
+
failovermethod=priority
|
73
|
+
fastestmirror_enabled=0
|
74
|
+
gpgcheck=1
|
75
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
|
76
|
+
enabled=1
|
77
|
+
retries=5
|
78
|
+
timeout=10
|
79
|
+
report_instanceid=yes
|
80
|
+
|
81
|
+
[epel]
|
82
|
+
name=epel
|
83
|
+
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=x86_64
|
84
|
+
failovermethod=priority
|
85
|
+
enabled=1
|
86
|
+
gpgcheck=1
|
87
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
|
88
|
+
|
89
|
+
[epel-testing]
|
90
|
+
name=epel-testing
|
91
|
+
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=testing-epel6&arch=x86_64
|
92
|
+
failovermethod=priority
|
93
|
+
enabled=0
|
94
|
+
gpgcheck=1
|
95
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
|
96
|
+
"""
|
@@ -0,0 +1,168 @@
|
|
1
|
+
# mock defaults
|
2
|
+
# vim:tw=0:ts=4:sw=4:et:
|
3
|
+
#
|
4
|
+
# This config file is for site-specific default values that apply across all
|
5
|
+
# configurations. Options specified in this config file can be overridden in
|
6
|
+
# the individual mock config files.
|
7
|
+
#
|
8
|
+
# The site-defaults.cfg delivered by default has NO options set. Only set
|
9
|
+
# options here if you want to override the defaults.
|
10
|
+
#
|
11
|
+
# Entries in this file follow the same format as other mock config files.
|
12
|
+
# config_opts['foo'] = bar
|
13
|
+
|
14
|
+
#############################################################################
|
15
|
+
#
|
16
|
+
# Things that we recommend you set in site-defaults.cfg:
|
17
|
+
#
|
18
|
+
# config_opts['basedir'] = '/var/lib/mock/'
|
19
|
+
# config_opts['cache_topdir'] = '/var/cache/mock'
|
20
|
+
# Note: the path pointed to by basedir and cache_topdir must be owned
|
21
|
+
# by group 'mock' and must have mode: g+rws
|
22
|
+
# config_opts['rpmbuild_timeout'] = 0
|
23
|
+
# config_opts['use_host_resolv'] = True
|
24
|
+
|
25
|
+
# You can configure log format to pull from logging.ini formats of these names:
|
26
|
+
# config_opts['build_log_fmt_name'] = "unadorned"
|
27
|
+
# config_opts['root_log_fmt_name'] = "detailed"
|
28
|
+
# config_opts['state_log_fmt_name'] = "state"
|
29
|
+
#
|
30
|
+
# mock will normally set up a minimal chroot /dev.
|
31
|
+
# If you want to use a pre-configured /dev, disable this and use the bind-mount
|
32
|
+
# plugin to mount your special /dev
|
33
|
+
# config_opts['internal_dev_setup'] = True
|
34
|
+
#
|
35
|
+
# internal_setarch defaults to 'True' if the python 'ctypes' package is
|
36
|
+
# available. It is in the python std lib on >= python 2.5. On older versions,
|
37
|
+
# it is available as an addon. On systems w/o ctypes, it will default to 'False'
|
38
|
+
# config_opts['internal_setarch'] = False
|
39
|
+
#
|
40
|
+
# the cleanup_on_* options allow you to automatically clean and remove the
|
41
|
+
# mock build directory, but only take effect if --resultdir is used.
|
42
|
+
# config_opts provides fine-grained control. cmdline only has big hammer
|
43
|
+
#
|
44
|
+
# config_opts['cleanup_on_success'] = 1
|
45
|
+
# config_opts['cleanup_on_failure'] = 1
|
46
|
+
|
47
|
+
# if you want mock to automatically run createrepo on the rpms in your
|
48
|
+
# resultdir.
|
49
|
+
# config_opts['createrepo_on_rpms'] = False
|
50
|
+
# config_opts['createrepo_command'] = '/usr/bin/createrepo -d -q -x *.src.rpm'
|
51
|
+
|
52
|
+
# if you want mock to backup the contents of a result dir before clean
|
53
|
+
# config_opts['backup_on_clean'] = False
|
54
|
+
# config_opts('backup_base_dir'] = config_opts['basedir'] + "backup"
|
55
|
+
|
56
|
+
|
57
|
+
#############################################################################
|
58
|
+
#
|
59
|
+
# plugin related. Below are the defaults. Change to suit your site
|
60
|
+
# policy. site-defaults.cfg is a good place to do this.
|
61
|
+
#
|
62
|
+
# NOTE: Some of the caching options can theoretically affect build
|
63
|
+
# reproducability. Change with care.
|
64
|
+
#
|
65
|
+
# config_opts['plugin_conf']['package_state_enable'] = False
|
66
|
+
# config_opts['plugin_conf']['ccache_enable'] = True
|
67
|
+
# config_opts['plugin_conf']['ccache_opts']['max_cache_size'] = '4G'
|
68
|
+
config_opts['plugin_conf']['ccache_opts']['compress'] = True
|
69
|
+
config_opts['plugin_conf']['ccache_opts']['compress_level'] = 3
|
70
|
+
# config_opts['plugin_conf']['ccache_opts']['dir'] = "%(cache_topdir)s/%(root)s/ccache/"
|
71
|
+
# config_opts['plugin_conf']['yum_cache_enable'] = True
|
72
|
+
# config_opts['plugin_conf']['yum_cache_opts']['max_age_days'] = 30
|
73
|
+
# config_opts['plugin_conf']['yum_cache_opts']['dir'] = "%(cache_topdir)s/%(root)s/yum_cache/"
|
74
|
+
# config_opts['plugin_conf']['root_cache_enable'] = True
|
75
|
+
# config_opts['plugin_conf']['root_cache_opts']['max_age_days'] = 15
|
76
|
+
# config_opts['plugin_conf']['root_cache_opts']['dir'] = "%(cache_topdir)s/%(root)s/root_cache/"
|
77
|
+
# config_opts['plugin_conf']['root_cache_opts']['compress_program'] = "pigz"
|
78
|
+
# config_opts['plugin_conf']['root_cache_opts']['extension'] = ".gz"
|
79
|
+
# config_opts['plugin_conf']['root_cache_opts']['exclude_dirs'] = ["./proc", "./sys", "./dev",
|
80
|
+
# "./tmp/ccache", "./var/cache/yum" ]
|
81
|
+
#
|
82
|
+
# bind mount plugin is enabled by default but has no configured directories to
|
83
|
+
# mount
|
84
|
+
# config_opts['plugin_conf']['bind_mount_enable'] = True
|
85
|
+
# config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/host/path', '/bind/mount/path/in/chroot/' ))
|
86
|
+
#
|
87
|
+
# config_opts['plugin_conf']['tmpfs_enable'] = False
|
88
|
+
# config_opts['plugin_conf']['tmpfs_opts']['required_ram_mb'] = 1024
|
89
|
+
# config_opts['plugin_conf']['tmpfs_opts']['max_fs_size'] = '512m'
|
90
|
+
# config_opts['plugin_conf']['tmpfs_opts']['mode'] = '0755'
|
91
|
+
# config_opts['plugin_conf']['chroot_scan_enable'] = False
|
92
|
+
# config_opts['plugin_conf']['chroot_scan_opts'] = [ "core(\.\d+)?", "\.log$",]
|
93
|
+
|
94
|
+
#############################################################################
|
95
|
+
#
|
96
|
+
# environment for chroot
|
97
|
+
#
|
98
|
+
# config_opts['environment']['TERM'] = 'vt100'
|
99
|
+
# config_opts['environment']['SHELL'] = '/bin/bash'
|
100
|
+
# config_opts['environment']['HOME'] = '/builddir'
|
101
|
+
# config_opts['environment']['HOSTNAME'] = 'mock'
|
102
|
+
# config_opts['environment']['PATH'] = '/usr/bin:/bin:/usr/sbin:/sbin'
|
103
|
+
# config_opts['environment']['PROMPT_COMMAND'] = 'echo -n "<mock-chroot>"'
|
104
|
+
# config_opts['environment']['LANG'] = os.environ.setdefault('LANG', 'en_US.UTF-8')
|
105
|
+
# config_opts['environment']['TZ'] = os.environ.setdefault('TZ', 'EST5EDT')
|
106
|
+
|
107
|
+
#############################################################################
|
108
|
+
#
|
109
|
+
# Things that you can change, but we dont recommend it:
|
110
|
+
# config_opts['chroothome'] = '/builddir'
|
111
|
+
# config_opts['clean'] = True
|
112
|
+
|
113
|
+
#############################################################################
|
114
|
+
#
|
115
|
+
# Things that must be adjusted if SCM integration is used:
|
116
|
+
#
|
117
|
+
# config_opts['scm'] = True
|
118
|
+
# config_opts['scm_opts']['method'] = 'git'
|
119
|
+
# config_opts['scm_opts']['cvs_get'] = 'cvs -d /srv/cvs co SCM_BRN SCM_PKG'
|
120
|
+
# config_opts['scm_opts']['git_get'] = 'git clone SCM_BRN git://localhost/SCM_PKG.git SCM_PKG'
|
121
|
+
# config_opts['scm_opts']['svn_get'] = 'svn co file:///srv/svn/SCM_PKG/SCM_BRN SCM_PKG'
|
122
|
+
# config_opts['scm_opts']['spec'] = 'SCM_PKG.spec'
|
123
|
+
# config_opts['scm_opts']['ext_src_dir'] = '/dev/null'
|
124
|
+
# config_opts['scm_opts']['write_tar'] = True
|
125
|
+
# config_opts['scm_opts']['git_timestamps'] = True
|
126
|
+
# config_opts['scm_opts']['exclude_vcs'] = True
|
127
|
+
|
128
|
+
# These options are also recognized but usually defined in cmd line
|
129
|
+
# with --scm-option package=<pkg> --scm-option branch=<branch>
|
130
|
+
# config_opts['scm_opts']['package'] = 'mypkg'
|
131
|
+
# config_opts['scm_opts']['branch'] = 'master'
|
132
|
+
|
133
|
+
#############################################################################
|
134
|
+
#
|
135
|
+
# Things that are best suited for individual chroot config files:
|
136
|
+
#
|
137
|
+
# MUST SET (in individual chroot cfg file):
|
138
|
+
# config_opts['root'] = 'name-of-yum-build-dir'
|
139
|
+
# config_opts['target_arch'] = 'i386'
|
140
|
+
# config_opts['yum.conf'] = ''
|
141
|
+
# config_opts['yum_common_opts'] = []
|
142
|
+
#
|
143
|
+
# CAN SET, defaults usually work ok:
|
144
|
+
# config_opts['chroot_setup_cmd'] = 'install buildsys-build'
|
145
|
+
# config_opts['log_config_file'] = 'logging.ini'
|
146
|
+
# config_opts['more_buildreqs']['srpm_name-version-release'] = 'dependencies'
|
147
|
+
# config_opts['macros']['%Add_your_macro_name_here'] = "add macro value here"
|
148
|
+
# config_opts['files']['path/name/no/leading/slash'] = "put file contents here."
|
149
|
+
# config_opts['chrootuid'] = os.getuid()
|
150
|
+
# config_opts['releasever'] = '20'
|
151
|
+
|
152
|
+
# If you change chrootgid, you must also change "mock" to the correct group
|
153
|
+
# name in this line of the mock PAM config:
|
154
|
+
# auth sufficient pam_succeed_if.so user ingroup mock use_uid quiet
|
155
|
+
# config_opts['chrootgid'] = grp.getgrnam("mock")[2]
|
156
|
+
|
157
|
+
# config_opts['useradd'] = '/usr/sbin/useradd -m -u %(uid)s -g %(gid)s -d %(home)s -n %(user)s' # Fedora/RedHat
|
158
|
+
#
|
159
|
+
# Security related
|
160
|
+
# config_opts['no_root_shells'] = False
|
161
|
+
#
|
162
|
+
# Proxy settings (https_proxy, ftp_proxy, and no_proxy can also be set)
|
163
|
+
# config_opts['http_proxy'] = 'http://localhost:3128'
|
164
|
+
#
|
165
|
+
# Extra dirs to be created when the chroot is initialized
|
166
|
+
# This is just a list of strings representing chroot paths such as:
|
167
|
+
# [ '/run/lock', ]
|
168
|
+
# config_opts['extra_chroot_dirs'] = []
|
@@ -0,0 +1,238 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../lib/preprocessor')
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/../lib/build_tasks_support')
|
3
|
+
|
4
|
+
DISTROS = get_distros_option
|
5
|
+
ARCHS = get_archs_option
|
6
|
+
PASSENGER_VERSION = detect_passenger_version
|
7
|
+
NGINX_VERSION = detect_nginx_version
|
8
|
+
|
9
|
+
PASSENGER_RPM_NAME = enterprise? ? "passenger-enterprise" : "passenger"
|
10
|
+
PASSENGER_RPM_VERSION = string_option("FORCE_PASSENGER_VERSION", PASSENGER_VERSION)
|
11
|
+
PASSENGER_RPM_RELEASE = enterprise? ? 2 : 1
|
12
|
+
PASSENGER_TARBALL_NAME = enterprise? ? "passenger-enterprise-server" : "passenger"
|
13
|
+
PASSENGER_APACHE_MODULE_RPM_NAME = enterprise? ? "mod_passenger_enterprise" : "mod_passenger"
|
14
|
+
NGINX_RPM_NAME = "nginx"
|
15
|
+
NGINX_RPM_VERSION = NGINX_VERSION
|
16
|
+
NGINX_RPM_RELEASE = enterprise? ? "2.p#{PASSENGER_RPM_VERSION}" : "1.p#{PASSENGER_RPM_VERSION}"
|
17
|
+
SUPPORTED_DISTROS = {
|
18
|
+
"el6" => { :mock_chroot_name => "epel-6", :name => "Enterprise Linux 6" },
|
19
|
+
# We don't support RHEL 7 yet because EPEL 7 hasn't yet packaged rubygem-rack.
|
20
|
+
#"el7" => { :mock_chroot_name => "epel-7", :name => "Enterprise Linux 7" },
|
21
|
+
}
|
22
|
+
|
23
|
+
RPMBUILD_ROOT = ENV['RPMBUILD_ROOT'] || File.expand_path("~/rpmbuild")
|
24
|
+
RPM_SOURCES_DIR = "#{RPMBUILD_ROOT}/SOURCES"
|
25
|
+
RPM_SPECS_DIR = "#{RPMBUILD_ROOT}/SPECS"
|
26
|
+
RPM_SRPMS_DIR = "#{RPMBUILD_ROOT}/SRPMS"
|
27
|
+
MOCK_FLAGS = ""
|
28
|
+
|
29
|
+
initialize_tracking_database!
|
30
|
+
check_distros_supported!
|
31
|
+
check_archs_supported!
|
32
|
+
clean_bundler_env!
|
33
|
+
TrackingDatabase.instance # Initialize singleton.
|
34
|
+
STDOUT.sync = STDERR.sync = true
|
35
|
+
ENV['CACHING'] = 'false'
|
36
|
+
|
37
|
+
|
38
|
+
##### Source tarballs and initialization #####
|
39
|
+
|
40
|
+
SOURCE_TASKS = ['source:passenger', 'source:nginx', 'source:packaging_additions']
|
41
|
+
|
42
|
+
register_tracking_category(:preparation, 'Preparation')
|
43
|
+
|
44
|
+
namespace :source do
|
45
|
+
register_tracking_task(:preparation, 'passenger')
|
46
|
+
desc "Create Passenger source tarball"
|
47
|
+
task :passenger do
|
48
|
+
track_task(:preparation, 'passenger') do |task|
|
49
|
+
task.sh "cd /passenger && rake package:set_official package:tarball PKG_DIR='#{RPM_SOURCES_DIR}'"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
register_tracking_task(:preparation, 'nginx')
|
54
|
+
desc "Create Nginx source tarball"
|
55
|
+
task :nginx do
|
56
|
+
track_task(:preparation, 'nginx') do |task|
|
57
|
+
if File.exist?("/cache/nginx-#{NGINX_VERSION}.tar.gz")
|
58
|
+
task.sh "cp /cache/nginx-#{NGINX_VERSION}.tar.gz #{RPM_SOURCES_DIR}/"
|
59
|
+
else
|
60
|
+
task.sh "curl --fail -L -o #{RPM_SOURCES_DIR}/nginx-#{NGINX_VERSION}.tar.gz " +
|
61
|
+
"http://nginx.org/download/nginx-#{NGINX_VERSION}.tar.gz"
|
62
|
+
task.sh "cp #{RPM_SOURCES_DIR}/nginx-#{NGINX_VERSION}.tar.gz /cache/"
|
63
|
+
end
|
64
|
+
if File.exist?("/cache/nginx-#{NGINX_VERSION}.tar.gz.asc")
|
65
|
+
task.sh "cp /cache/nginx-#{NGINX_VERSION}.tar.gz.asc #{RPM_SOURCES_DIR}/"
|
66
|
+
else
|
67
|
+
task.sh "curl --fail -L -o #{RPM_SOURCES_DIR}/nginx-#{NGINX_VERSION}.tar.gz.asc " +
|
68
|
+
"http://nginx.org/download/nginx-#{NGINX_VERSION}.tar.gz.asc"
|
69
|
+
task.sh "cp #{RPM_SOURCES_DIR}/nginx-#{NGINX_VERSION}.tar.gz.asc /cache/"
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
register_tracking_task(:preparation, 'packaging_additions')
|
75
|
+
desc "Copy over various packaging sources"
|
76
|
+
task :packaging_additions do
|
77
|
+
track_task(:preparation, 'packaging_additions') do |task|
|
78
|
+
task.sh "cp -R /system/passenger_spec/* /system/nginx_spec/* #{RPM_SOURCES_DIR}/"
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
|
84
|
+
##### Source RPMs #####
|
85
|
+
|
86
|
+
register_tracking_category(:srpm, 'Building source RPMs')
|
87
|
+
|
88
|
+
namespace :srpm do
|
89
|
+
### Passenger ###
|
90
|
+
|
91
|
+
desc "Build Passenger SRPMs for all distributions"
|
92
|
+
task "passenger:all"
|
93
|
+
|
94
|
+
DISTROS.each do |distro_id|
|
95
|
+
distro = SUPPORTED_DISTROS[distro_id]
|
96
|
+
|
97
|
+
task "passenger:all" => "passenger:#{distro_id}"
|
98
|
+
|
99
|
+
register_tracking_task(:srpm, "passenger:#{distro_id}")
|
100
|
+
desc "Build Passenger SRPM for #{distro[:name]}"
|
101
|
+
task("passenger:#{distro_id}" => SOURCE_TASKS) do
|
102
|
+
track_task(:srpm, "passenger:#{distro_id}") do |task|
|
103
|
+
spec_target_dir = "#{RPM_SPECS_DIR}/#{distro_id}"
|
104
|
+
spec_target_file = "#{spec_target_dir}/#{PASSENGER_RPM_NAME}.spec"
|
105
|
+
|
106
|
+
task.sh "mkdir -p #{spec_target_dir}"
|
107
|
+
task.log "Preprocessing specfile"
|
108
|
+
begin
|
109
|
+
Preprocessor.new.start("/system/passenger_spec/passenger.spec.template",
|
110
|
+
spec_target_file,
|
111
|
+
:distribution => distro_id)
|
112
|
+
rescue Exception => e
|
113
|
+
task.log "Specfile preprocessing failed"
|
114
|
+
raise e
|
115
|
+
end
|
116
|
+
|
117
|
+
task.sh "rpmbuild -bs #{spec_target_file}"
|
118
|
+
ARCHS.each do |arch|
|
119
|
+
task.sh "mkdir -p /output/#{distro_id}-#{arch}"
|
120
|
+
task.sh "cp #{RPM_SRPMS_DIR}/#{passenger_srpm_name(distro_id)} /output/#{distro_id}-#{arch}/"
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
### Nginx ###
|
127
|
+
|
128
|
+
desc "Build Nginx SRPMs for all distributions"
|
129
|
+
task "nginx:all"
|
130
|
+
|
131
|
+
DISTROS.each do |distro_id|
|
132
|
+
distro = SUPPORTED_DISTROS[distro_id]
|
133
|
+
|
134
|
+
task "nginx:all" => "nginx:#{distro_id}"
|
135
|
+
|
136
|
+
register_tracking_task(:srpm, "nginx:#{distro_id}")
|
137
|
+
desc "Build Nginx SRPM for #{distro[:name]}"
|
138
|
+
task("nginx:#{distro_id}" => SOURCE_TASKS) do
|
139
|
+
track_task(:srpm, "nginx:#{distro_id}") do |task|
|
140
|
+
spec_target_dir = "#{RPM_SPECS_DIR}/#{distro_id}"
|
141
|
+
spec_target_file = "#{spec_target_dir}/#{NGINX_RPM_NAME}.spec"
|
142
|
+
|
143
|
+
task.sh "mkdir -p #{spec_target_dir}"
|
144
|
+
task.log "Preprocessing specfile"
|
145
|
+
begin
|
146
|
+
Preprocessor.new.start("/system/nginx_spec/nginx.spec.template",
|
147
|
+
spec_target_file,
|
148
|
+
:distribution => distro_id)
|
149
|
+
rescue Exception => e
|
150
|
+
task.log "Specfile preprocessing failed"
|
151
|
+
raise e
|
152
|
+
end
|
153
|
+
|
154
|
+
task.sh "rpmbuild -bs #{spec_target_file}"
|
155
|
+
ARCHS.each do |arch|
|
156
|
+
task.sh "mkdir -p /output/#{distro_id}-#{arch}"
|
157
|
+
task.sh "cp #{RPM_SRPMS_DIR}/#{nginx_srpm_name(distro_id)} /output/#{distro_id}-#{arch}/"
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
|
165
|
+
##### Binary RPMs #####
|
166
|
+
|
167
|
+
register_tracking_category(:rpm, 'Building binary RPMs')
|
168
|
+
|
169
|
+
namespace :rpm do
|
170
|
+
desc "Build RPMs for all distributions and all architectures"
|
171
|
+
task :all
|
172
|
+
|
173
|
+
### Passenger ###
|
174
|
+
|
175
|
+
desc "Build Passenger RPMs for all distributions and all architectures"
|
176
|
+
task "passenger:all"
|
177
|
+
|
178
|
+
DISTROS.each do |distro_id|
|
179
|
+
distro = SUPPORTED_DISTROS[distro_id]
|
180
|
+
|
181
|
+
ARCHS.each do |arch|
|
182
|
+
task "all" => "^rpm:passenger:#{distro_id}:#{arch}"
|
183
|
+
task "passenger:all" => "^rpm:passenger:#{distro_id}:#{arch}"
|
184
|
+
register_tracking_task(:rpm, "passenger:#{distro_id}:#{arch}")
|
185
|
+
|
186
|
+
desc "Build Passenger RPM for #{distro[:name]}, #{arch}"
|
187
|
+
task("passenger:#{distro_id}:#{arch}" => ["srpm:passenger:#{distro_id}"]) do
|
188
|
+
track_task(:rpm, "passenger:#{distro_id}:#{arch}") do |task|
|
189
|
+
mock_chroot_name = "#{distro[:mock_chroot_name]}-#{arch}"
|
190
|
+
task.sh "/usr/bin/mock --verbose #{MOCK_FLAGS} " +
|
191
|
+
"-r #{mock_chroot_name} " +
|
192
|
+
"--resultdir '/output/#{distro_id}-#{arch}' " +
|
193
|
+
"--uniqueext passenger-#{distro_id}-#{arch} " +
|
194
|
+
"rebuild /output/#{distro_id}-#{arch}/#{passenger_srpm_name(distro_id)}"
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
### Nginx ###
|
201
|
+
|
202
|
+
desc "Build Nginx RPMs for all distributions and all architectures"
|
203
|
+
task "nginx:all"
|
204
|
+
|
205
|
+
DISTROS.each do |distro_id|
|
206
|
+
distro = SUPPORTED_DISTROS[distro_id]
|
207
|
+
|
208
|
+
ARCHS.each do |arch|
|
209
|
+
task "all" => "^rpm:nginx:#{distro_id}:#{arch}"
|
210
|
+
task "nginx:all" => "^rpm:nginx:#{distro_id}:#{arch}"
|
211
|
+
register_tracking_task(:rpm, "nginx:#{distro_id}:#{arch}")
|
212
|
+
|
213
|
+
desc "Build Nginx RPM for #{distro[:name]}, #{arch}"
|
214
|
+
task("nginx:#{distro_id}:#{arch}" => ["srpm:nginx:#{distro_id}"]) do
|
215
|
+
track_task(:rpm, "nginx:#{distro_id}:#{arch}") do |task|
|
216
|
+
mock_chroot_name = "#{distro[:mock_chroot_name]}-#{arch}"
|
217
|
+
task.sh "/usr/bin/mock --verbose #{MOCK_FLAGS} " +
|
218
|
+
"-r #{mock_chroot_name} " +
|
219
|
+
"--resultdir '/output/#{distro_id}-#{arch}' " +
|
220
|
+
"--uniqueext nginx-#{distro_id}-#{arch} " +
|
221
|
+
"rebuild /output/#{distro_id}-#{arch}/#{nginx_srpm_name(distro_id)}"
|
222
|
+
end
|
223
|
+
end
|
224
|
+
end
|
225
|
+
end
|
226
|
+
end
|
227
|
+
|
228
|
+
|
229
|
+
##### Misc #####
|
230
|
+
|
231
|
+
task :finish do
|
232
|
+
puts
|
233
|
+
puts "Finished"
|
234
|
+
MUTEX.synchronize do
|
235
|
+
TrackingDatabase.instance.set_finished!
|
236
|
+
dump_tracking_database
|
237
|
+
end
|
238
|
+
end
|