Paquet OpenWrt : la variable PKG_MIRROR_MD5SUM
La variable PKG_MIRROR_MD5SUM a été ajoutée lors du commit [26260].
Une petite explication est nécessaire avant d’aborder cette variable. Dans le Makefile d’un paquet OpenWrt, la variable PKG_SOURCE_URL, comme son nom l’indique, spécifie l’URL à partir de laquelle les sources du paquet seront téléchargées. Différentes méthodes sont prises en charge, HTTP, FTP, git, subversion,… Dans les cas HTTP et FTP, c’est une archive (*.tar.bz2, *.tar.gz, *.zip,…) qui sera téléchargée, mais lorsqu’il s’agit d’un dépôt (git, subversion…), c’est un checkout qui sera effectué.
Dans ce dernier cas, OpenWrt va automatiquement créer une archive dans le répertoire dl/ (qui contient toutes les archives téléchargées) à partir du checkout. Cette archive aura le nom défini par la variable PKG_SOURCE.
Prenons un exemple avec le Makefile du paquet hostapd, dont voici un extrait :
PKG_NAME:=hostapd PKG_VERSION:=20110527 PKG_RELEASE:=2 PKG_REV:=ceb34f250af7a7082f18c1e0451dc7fbc0f000f3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=git://w1.fi/srv/git/hostap.git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_VERSION:=$(PKG_REV) PKG_SOURCE_PROTO:=git PKG_MIRROR_MD5SUM:=4b98902d782813b41aca1faff613f677
hostapd est téléchargé à partir du dépôt git://w1.fi/srv/git/hostap.git. OpenWrt va automatiquement créer l’archive hostapd-20110527.tar.bz2 dans le répertoire dl/, qu’on peut mettre sur un miroir, afin qu’OpenWrt télécharge les sources directement sous forme d’archive, plutôt que de faire un checkout.
On peut vérifier, en gardant l’exemple du paquet hostapd, que la somme de contrôle MD5 de l’archive correspond bien à la valeur de PKG_MIRROR_MD5SUM définie dans le Makefile :
$ md5sum dl/hostapd-20110527.tar.bz2 4b98902d782813b41aca1faff613f677 dl/hostapd-20110527.tar.bz2
Voici maintenant comment spécifier un miroir :
$ make menuconfig
Ensuite on sélectionne :
[*] Advanced configuration options (for developers) --->
Puis :
() Local mirror for source packages
Il suffit alors d’entrer l’adresse d’un serveur HTTP ou FTP :
et finalement quitter menuconfig en enregistrant la nouvelle configuration.