Estou usando o yaourt para compilar automaticamente o Apache a partir do código-fonte sempre que há uma atualização disponível no extra
. Estou fazendo isso para poder ter um docroot suexec personalizado ( /srv/www
em vez do padrão /srv/http
). Isso funcionou perfeitamente em várias atualizações, até agora.
$ yaourt -S apache
==> Building apache from sources.
==> Retrieving PKGBUILD and local sources...
receiving file list ... done
./
PKGBUILD
apache.conf.d
apache.install
apache.tmpfiles.conf
apachectl-confd.patch
arch.layout
httpd
httpd.logrotate
pcre_info.patch
sent 199 bytes received 10416 bytes 7076.67 bytes/sec
total size is 9809 speedup is 0.92
=> removes/replaces '--with-suexec-docroot=\/srv\/http' by '--with-suexec-docroot=\/srv\/www' in global
--- ./PKGBUILD 2012-07-06 00:02:13.000000000 -0400
+++ ./PKGBUILD.custom 2012-07-06 15:49:03.000000000 -0400
@@ -102,7 +102,7 @@
--enable-so \
--enable-suexec \
--with-suexec-caller=http \
- --with-suexec-docroot=/srv/http \
+ --with-suexec-docroot=/srv/www \
--with-suexec-logfile=/var/log/httpd/suexec.log \
--with-suexec-bin=/usr/sbin/suexec \
--with-suexec-uidmin=99 --with-suexec-gidmin=99 \
==> Edit PKGBUILD ? [y/N] ("A" to abort)
==> ------------------------------------
==> n
==> apache dependencies:
- openssl (already installed)
- zlib (already installed)
- apr-util (already installed)
- pcre (already installed)
==> Edit apache.install ? [y/N] ("A" to abort)
==> ------------------------------------------
==> n
==> Continue building apache ? [Y/n]
==> --------------------------------
==>
==> Building and installing package
==> Making package: apache 2.2.22-4 (Thu Jul 5 14:47:33 EDT 2012)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving Sources...
-> Downloading httpd-2.2.22.tar.bz2...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5252k 100 5252k 0 0 93231 0 0:00:57 0:00:57 --:--:-- 93283
-> Downloading httpd-2.2.22.tar.bz2.asc...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 835 100 835 0 0 5191 0 --:--:-- --:--:-- --:--:-- 10437
-> Downloading 02-rename-prefork-to-itk.patch...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:01:06 --:--:-- 0curl: (7) couldn't connect to host
==> ERROR: Failure while downloading 02-rename-prefork-to-itk.patch
Aborting...
==> ERROR: Makepkg was unable to build apache.
==> Restart building apache ? [y/N]
==> -------------------------------
==>
O problema parece ser que curl não consegue encontrar 02-rename-prefork-to-itk.patch
. Não sei em que URL está localizado, em que arquivo está especificado ou como posso encontrar um local alternativo para ele. Alguma ideia do que está acontecendo/como solucionar o problema?
Responder1
curl: (7) couldn't connect to host
De acordo com curl, ele não conseguiu se conectar ao host. Pode haver vários motivos para isso, como o arquivo não estar localizado no servidor. Meu conselho seria tentar novamente mais tarde e, se isso não funcionar, entre em contato com o host de onde o arquivo está sendo baixado.
Responder2
O host onde alguns patches estão localizados está inativo. Mas podemos alterá-lo para outro.
Primeiro. Basta baixar o PKGBUILD com o yaourt:
yaourt -G apache
Altere as seguintes linhas no PKGBUILD:
_itkurl=http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01
Para:
_itkurl=http://distfiles.alpinelinux.org/distfiles/
Além disso, o patch 03-add-mpm-to-build-system.patch tem um md5 diferente, então nós o corrigimos. Basta alterar a 4ª linha do array "md5sums"
'cdfa04985a0efa850976aef01c2a0c40'
Para:
'131408ad4dc7b18547b4e062e7e495ab'
O PKGBUILD funcional está aqui:http://pastebin.com/iK48xx8f
Você pode simplesmente substituí-lo, se quiser. E construa o Apache com:
makepkg -i
Responder3
Espere, por que você está tentando baixar as apache
fontes do AUR? apache
está definitivamente empacotado no Arch.
pierre@bar code % pacman -Si apache
Repository : extra
Name : apache
Version : 2.2.22-4
[...]
Verifique se você tem em /etc/pacman.conf
:
[extra]
Include = /etc/pacman.d/mirrorlist
e pelo menos alguns espelhos descomentados em /etc/pacman.d/mirrorlist
, então:
# pacman -Sy apache
e deve ser instalado perfeitamente.
Responder4
Portanto, não tenho certeza se isso foi devido à minha recente atualização completa do sistema ou à restauração do URL independentemente disso, mas tentar novamente mais tarde pareceu eliminar esse erro específico. No entanto, ainda não consigo construir o Apache, pois agora me deparei com um novo erro, mas isso é umquestão separada.