Skip to content

Commit be0a0f1

Browse files
committed
Add fedora42 files
1 parent 69515c8 commit be0a0f1

2 files changed

Lines changed: 96 additions & 0 deletions

File tree

fedora42/Dockerfile

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
FROM fedora:42
2+
3+
WORKDIR /root
4+
5+
COPY ./patch/ /root/patch/
6+
7+
RUN dnf --setopt=ip_resolve=4 -y install\
8+
distribution-gpg-keys glibc-langpack-en glibc-langpack-ja xz git make cmake gcc clang curl perl perl-core tar zip unzip bzip2 which perl-Unix-Process postfix cyrus-sasl-devel cyrus-sasl-plain\
9+
vim nano\
10+
libomp-devel ImageMagick-perl perl-GD GraphicsMagick-perl netpbm-progs ImageMagick GraphicsMagick giflib-devel libpng-devel libjpeg-devel gd-devel libwebp-devel icc-profiles-openicc\
11+
libxml2-devel expat-devel openssl-devel openssl gmp-devel\
12+
php php-mysqlnd php-gd php-mbstring php-pecl-memcache\
13+
ruby ruby-devel\
14+
mod_ssl vsftpd ftp memcached\
15+
&&\
16+
dnf -y install https://dev.mysql.com/get/mysql84-community-release-fc42-1.noarch.rpm &&\
17+
dnf -y --enablerepo=mysql-8.4-lts-community --setopt=install_weak_deps=false install\
18+
mysql-community-server mysql-community-client mysql-community-libs-compat mysql-community-libs mysql-community-devel\
19+
&& dnf clean --enablerepo=mysql-8.4-lts-community all &&\
20+
dnf -y update --skip-unavailable &&\
21+
dnf clean all && rm -rf /var/cache/dnf &&\
22+
mkdir src && cd src &&\
23+
curl -LO https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.43/GraphicsMagick-1.3.43.tar.xz &&\
24+
tar xf GraphicsMagick-1.3.43.tar.xz && cd GraphicsMagick-1.3.43 &&\
25+
./configure --prefix=/usr --enable-shared --with-perl --disable-opencl --disable-dependency-tracking --without-x --without-ttf --without-wmf --without-magick-plus-plus --without-bzlib --without-zlib --without-dps --without-fpx --without-jpig --without-lcms2 --without-lzma --without-xml --with-quantum-depth=16 && make && make install && cd PerlMagick && perl Makefile.PL && make install && cd ../.. &&\
26+
cd .. && rm -rf src && ldconfig /usr/local/lib &&\
27+
curl -sL https://phar.phpunit.de/phpunit-11.phar > phpunit && chmod +x phpunit &&\
28+
mv phpunit /usr/local/bin/ &&\
29+
(curl -sL https://raw.githubusercontent.com/axllent/mailpit/develop/install.sh | bash) &&\
30+
gem install \
31+
fluentd\
32+
&&\
33+
curl -sL https://cpanmin.us > cpanm && chmod +x cpanm && perl -pi -E 's{http://(www\.cpan\.org|backpan\.perl\.org|cpan\.metacpan\.org|fastapi\.metacpan\.org|cpanmetadb\.plackperl\.org)}{https://$1}g' cpanm && mv cpanm /usr/local/bin &&\
34+
curl -sL --compressed https://git.io/cpm > cpm &&\
35+
chmod +x cpm &&\
36+
mv cpm /usr/local/bin/ &&\
37+
cpanm -v ExtUtils::ParseXS@3.51 &&\
38+
cpanm -n CryptX App::Prove::Plugin::MySQLPool XMLRPC::Lite XML::Atom Net::Server Perl::Critic::Pulp Selenium::Remote::Driver &&\
39+
cpanm -v Archive::Zip@1.65 DBD::mysql@4.050 &&\
40+
cd /root/patch/Test-mysqld-1.0030 && cpanm --installdeps . && cpanm . && cd /root &&\
41+
cd /root/patch/Crypt-DES-2.07 && cpanm --installdeps . && cpanm . && cd /root &&\
42+
rm -rf /root/patch &&\
43+
cpanm -v \
44+
AnyEvent::FTP::Server Class::Method::Modifiers Capture::Tiny Moo File::chdir Net::LDAP Linux::Pid Data::Section::Simple\
45+
pQuery\
46+
JSON::XS Starman Imager::File::WEBP Plack::Middleware::ReverseProxy Devel::CheckLib\
47+
JavaScript::Minifier CSS::Minifier\
48+
Fluent::Logger\
49+
&& curl -sLO https://raw.githubusercontent.com/movabletype/movabletype/develop/t/cpanfile &&\
50+
perl -i -nE 'print unless /(?:YAML::Syck)/' cpanfile &&\
51+
cpanm --installdeps -v . &&\
52+
rm -rf cpanfile /root/.perl-cpm /root/.cpanm /root/.qws
53+
54+
ENV LANG=en_US.UTF-8 \
55+
LC_ALL=en_US.UTF-8
56+
57+
RUN set -ex &&\
58+
perl -i -pe \
59+
's!AllowOverride None!AllowOverride All!g; s!#AddEncoding x-gzip \.gz \.tgz!AddEncoding x-gzip .gz .tgz .svgz!g;' \
60+
/etc/httpd/conf/httpd.conf &&\
61+
perl -e 'my ($inifile) = `php --ini` =~ m!Loaded Configuration File:\s+(/\S+/php.ini)!; my $ini = do { open my $fh, "<", $inifile; local $/; <$fh> }; $ini =~ s!^;\s*date\.timezone =!date\.timezone = "Asia/Tokyo"!m; open my $fh, ">", $inifile; print $fh $ini' &&\
62+
sed -i -E 's/inet_protocols = all/inet_protocols = ipv4/' /etc/postfix/main.cf
63+
64+
RUN cd /usr/bin && ./make-dummy-cert /etc/pki/tls/certs/localhost.crt &&\
65+
perl -i -pe 's!SSLCertificateKeyFile /etc/pki/tls/private/localhost.key!!' \
66+
/etc/httpd/conf.d/ssl.conf && cd $WORKDIR
67+
68+
COPY ./docker-entrypoint.sh /
69+
ENTRYPOINT ["/docker-entrypoint.sh"]

fedora42/docker-entrypoint.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/bin/bash
2+
set -e
3+
4+
echo 'default_authentication_plugin = mysql_native_password' >> /etc/my.cnf.d/mysql-server.cnf
5+
mysqld --initialize-insecure --user=mysql --skip-name-resolve >/dev/null
6+
7+
bash -c "cd /usr; mysqld --datadir='/var/lib/mysql' --user=mysql &"
8+
9+
sleep 1
10+
until mysqladmin ping -h localhost --silent; do
11+
echo 'waiting for mysqld to be connectable...'
12+
sleep 1
13+
done
14+
15+
mysql -e "create database mt_test character set utf8;"
16+
mysql -e "create user mt@localhost;"
17+
mysql -e "grant all privileges on mt_test.* to mt@localhost;"
18+
19+
memcached -d -u root
20+
21+
if [ -f t/cpanfile ]; then
22+
perl -i -nE 'print unless /(?:YAML::Syck)/' t/cpanfile &&\
23+
cpanm --installdeps -n . --cpanfile=t/cpanfile
24+
fi
25+
26+
27+
exec "$@"

0 commit comments

Comments
 (0)