Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | # package_regex.inc - This file contains data that tracks |
| 2 | # upstream project associated with a given recipe. This list is needed |
| 3 | # for recipes that version information can not be automagically discovered. |
| 4 | # As we automate this checking, this file will slowly be reduced. |
| 5 | #" |
| 6 | # This data is used by the package reporting system (packages.yoctoproject.org) |
| 7 | #" |
| 8 | # The format is as a bitbake variable override for each recipe |
| 9 | #" |
| 10 | # REGEX_URI_pn-<recipe name> = "recipe_url" |
| 11 | # - This is the url used by the package checking system to |
| 12 | # get the latest version of the package |
| 13 | # REGEX_pn-<recipe name> = "package_regex" |
| 14 | # - This is the regex the package checking system uses to |
| 15 | # parse the page found at REGEX_URI_pn-<recipe name> |
| 16 | # GITTAGREGEX_pn-<recipe name> = "git_tag_regex" |
| 17 | # - When source code is fetched from git, git tags are used to |
| 18 | # determine the upstream release version. This regex can be used |
| 19 | # to filter only relevant tags. |
| 20 | # |
| 21 | |
| 22 | COMMON_REGEX = "(?P<pver>(\d+[\.\-_]*)+)" |
| 23 | |
| 24 | # Generic regex don't match |
| 25 | REGEX_URI_pn-wireless-tools = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html" |
| 26 | REGEX_pn-wireless-tools = "wireless_tools\.(?P<pver>(\d+)(\..*|))\.tar\.gz" |
| 27 | |
| 28 | REGEX_URI_pn-sqlite3="http://www.sqlite.org/" |
| 29 | REGEX_pn-sqlite3="releaselog/${COMMON_REGEX}.html" |
| 30 | |
| 31 | REGEX_URI_pn-dhcp = "ftp://ftp.isc.org/isc/dhcp/" |
| 32 | REGEX_pn-dhcp="(?P<pver>\d+\.\d+\.(\d+?))/" |
| 33 | |
| 34 | REGEX_pn-foomatic-filters = "foomatic-filters-(?P<pver>((\d|\d\d)\.*)+)\.tar\.gz" |
| 35 | REGEX_pn-xdg-utils = "xdg-utils-(?P<pver>((\d+[\.\-_]*)+)((rc|alpha|beta)\d+)?)\.(tar\.gz|tgz)" |
| 36 | REGEX_pn-rpm="rpm-${COMMON_REGEX}-.*$" |
| 37 | REGEX_pn-libtheora = "libtheora-(?P<pver>\d+(\.\d)+)\.(tar\.gz|tgz)" |
| 38 | |
| 39 | REGEX_pn-iputils="iputils-(?P<pver>s\d+).tar" |
| 40 | REGEX_pn-nettle = "nettle-(?P<pver>\d+(\.\d+)+)\.tar" |
| 41 | |
| 42 | REGEX_pn-cairo = "cairo-(?P<pver>\d+(\.\d+)+)\.tar" |
| 43 | REGEX_pn-cmake = "cmake-(?P<pver>\d+(\.\d+)+)\.tar" |
| 44 | REGEX_pn-libsdl = "SDL-(?P<pver>\d+(\.\d+)+)\.tar" |
| 45 | REGEX_pn-libxslt = "libxslt-(?P<pver>\d+(\.\d+)+)\.tar" |
| 46 | |
| 47 | # Exclude NC versions which lack AES encryption |
| 48 | REGEX_pn-db = "db-(?P<pver>\d+\.\d+(\.\d+)?).tar" |
| 49 | |
| 50 | REGEX_URI_pn-autogen = "http://ftp.gnu.org/gnu/autogen/" |
| 51 | REGEX_pn-autogen = "rel(?P<pver>\d+(\.\d+)+)/" |
| 52 | |
| 53 | # python recipe is actually python 2.x |
| 54 | # also, exclude pre-releases for both python 2.x and 3.x |
| 55 | REGEX_pn-python = "[Pp]ython-(?P<pver>2(\.\d+)+).tar" |
| 56 | REGEX_pn-python3 = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" |
| 57 | |
| 58 | # exclude betas |
| 59 | REGEX_pn-tiff = "tiff-(?P<pver>\d+(\.\d+)+).tar" |
| 60 | |
| 61 | # exclude version 5.5.2 which triggers a false positive |
| 62 | REGEX_pn-unzip = "unzip(?P<pver>(?!552).+)\.tgz" |
| 63 | # similar for zip |
| 64 | REGEX_pn-zip = "^zip(?P<pver>(?!232).+)\.tgz" |
| 65 | |
| 66 | # Isn't possible to download with the default URI web server returns |
| 67 | # (403, 404, 550) |
| 68 | REGEX_URI_pn-dosfstools = "https://github.com/dosfstools/dosfstools/releases" |
| 69 | REGEX_pn-json-c = "json-c-(?P<pver>\d+(\.\d+)+).tar" |
| 70 | # json-c releases page is fetching the list of releases in some weird XML format |
| 71 | # from https://s3.amazonaws.com/json-c_releases and processes it with javascript :-/ |
| 72 | #REGEX_URI_pn-json-c = "https://s3.amazonaws.com/json-c_releases/releases/index.html" |
| 73 | REGEX_URI_pn-chrpath = "http://alioth.debian.org/frs/?group_id=31052" |
| 74 | |
| 75 | REGEX_URI_pn-powertop = "https://01.org/powertop/downloads" |
| 76 | REGEX_URI_pn-libsamplerate0 = "http://www.mega-nerd.com/SRC/download.html" |
| 77 | REGEX_URI_pn-libxkbcommon = "http://xkbcommon.org/" |
| 78 | REGEX_URI_pn-tslib = "https://github.com/kergoth/tslib/releases" |
| 79 | REGEX_URI_pn-waffle="http://www.waffle-gl.org/releases.html" |
| 80 | REGEX_URI_pn-lrzsz = "http://ohse.de/uwe/software/lrzsz.html" |
| 81 | REGEX_URI_pn-libacpi = "http://www.ngolde.de/libacpi.html" |
| 82 | REGEX_URI_pn-less = "http://www.greenwoodsoftware.com/less/download.html" |
| 83 | REGEX_URI_pn-cups = "http://www.cups.org/software.php" |
| 84 | REGEX_pn-cups = "cups-(?P<pver>\d+\.\d+(\.\d+)?)-source.tar" |
| 85 | REGEX_URI_pn-bzip2 = "http://www.bzip.org/downloads.html" |
| 86 | REGEX_URI_pn-minicom = "https://alioth.debian.org/frs/?group_id=30018" |
| 87 | REGEX_URI_pn-sysstat = "http://sebastien.godard.pagesperso-orange.fr/download.html" |
| 88 | REGEX_URI_pn-libical = "https://github.com/libical/libical/releases/" |
| 89 | REGEX_URI_pn-libmpc = "http://www.multiprecision.org/index.php?prog=mpc&page=download" |
| 90 | REGEX_URI_pn-taglib = "http://github.com/taglib/taglib/releases/" |
| 91 | REGEX_URI_pn-libevent = "http://libevent.org/" |
| 92 | REGEX_URI_pn-db = "http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html" |
| 93 | REGEX_URI_pn-python-smartpm="https://launchpad.net/smart/trunk/" |
| 94 | REGEX_URI_pn-lsof = "ftp://sunsite.ualberta.ca/pub/Mirror/lsof/" |
| 95 | REGEX_URI_pn-pbzip2 = "http://compression.ca/pbzip2/" |
| 96 | REGEX_URI_pn-quicky = "http://qt-apps.org/content/download.php?content=80325&id=1&tan=10417482" |
| 97 | REGEX_URI_pn-libwebp = "http://downloads.webmproject.org/releases/webp/index.html" |
| 98 | |
| 99 | # The engine tries to use directory versioning but is a false-positive |
| 100 | REGEX_URI_pn-intltool = "https://launchpad.net/intltool/trunk/" |
| 101 | REGEX_URI_pn-libnfsidmap = "http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/" |
| 102 | REGEX_URI_pn-mpfr = "http://www.mpfr.org/mpfr-current/" |
| 103 | REGEX_URI_pn-nss = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases" |
| 104 | REGEX_pn-nss = "NSS_(?P<pver>.+)_release_notes" |
| 105 | |
| 106 | REGEX_URI_pn-docbook-sgml-dtd-3.1 = "http://www.docbook.org/sgml/" |
| 107 | REGEX_pn-docbook-sgml-dtd-3.1 = "(?P<pver>3\..+)/" |
| 108 | REGEX_URI_pn-docbook-sgml-dtd-4.1 = "http://www.docbook.org/sgml/" |
| 109 | REGEX_pn-docbook-sgml-dtd-4.1 = "(?P<pver>4\.1(\.\d+)*)/" |
| 110 | |
| 111 | # Qt recipes should be kept at 4.x |
| 112 | REGEX_URI_pn-qt4-embedded = "http://download.qt.io/official_releases/qt/4.8/" |
| 113 | REGEX_pn-qt4-embedded = "(?P<pver>\d+(\.\d+)+)/" |
| 114 | REGEX_URI_pn-qt4-x11-free = "http://download.qt.io/official_releases/qt/4.8/" |
| 115 | REGEX_pn-qt4-x11-free = "(?P<pver>\d+(\.\d+)+)/" |
| 116 | REGEX_URI_pn-nativesdk-qt4-tools = "http://download.qt.io/official_releases/qt/4.8/" |
| 117 | REGEX_pn-nativesdk-qt4-tools = "(?P<pver>\d+(\.\d+)+)/" |
| 118 | REGEX_URI_pn-qt4-native = "http://download.qt.io/official_releases/qt/4.8/" |
| 119 | REGEX_pn-qt4-native = "(?P<pver>\d+(\.\d+)+)/" |
| 120 | |
| 121 | # PyPI sites |
| 122 | REGEX_URI_pn-python-nose = "https://pypi.python.org/pypi/nose/" |
| 123 | REGEX_pn-python-nose = "/nose/${COMMON_REGEX}" |
| 124 | # python-distribute 0.7.x is a simple compatibility layer that installs Setuptools 0.7+. |
| 125 | # so we stick to 0.6.x series |
| 126 | REGEX_URI_pn-python-distribute = "https://pypi.python.org/pypi/distribute/" |
| 127 | REGEX_pn-python-distribute = "/distribute/(?P<pver>\d+.6.\d+)" |
| 128 | REGEX_URI_pn-python-gitdb = "https://pypi.python.org/pypi/gitdb/" |
| 129 | REGEX_URI_pn-python-async = "https://pypi.python.org/pypi/async/" |
| 130 | REGEX_URI_pn-python-smmap = "https://pypi.python.org/pypi/smmap/" |
| 131 | REGEX_pn-python-smmap = "/smmap/${COMMON_REGEX}" |
| 132 | REGEX_URI_pn-python-git = "https://pypi.python.org/pypi/GitPython/" |
| 133 | REGEX_pn-python-git = "/GitPython/${COMMON_REGEX}" |
| 134 | REGEX_URI_pn-python-mako = "https://pypi.python.org/pypi/mako/" |
| 135 | REGEX_pn-python-mako = "/Mako/${COMMON_REGEX}" |
| 136 | REGEX_URI_pn-python-pexpect = "https://pypi.python.org/pypi/pexpect" |
| 137 | REGEX_URI_pn-python3-pip = "https://pypi.python.org/pypi/pip" |
| 138 | REGEX_URI_pn-python3-setuptools = "https://pypi.python.org/pypi/setuptools" |
| 139 | |
| 140 | # Sourceforge sites |
| 141 | REGEX_URI_pn-python-scons = "http://sourceforge.net/projects/scons/files/scons/" |
| 142 | REGEX_pn-python-scons = "/scons/${COMMON_REGEX}/" |
| 143 | REGEX_URI_pn-expect = "http://sourceforge.net/projects/expect/files/Expect/" |
| 144 | REGEX_pn-expect = "/Expect/${COMMON_REGEX}/" |
| 145 | REGEX_URI_pn-docbook-xsl-stylesheets = "http://sourceforge.net/projects/docbook/files/docbook-xsl/" |
| 146 | REGEX_pn-docbook-xsl-stylesheets = "/docbook-xsl/${COMMON_REGEX}/" |
| 147 | REGEX_URI_pn-glew = "http://sourceforge.net/projects/glew/files/glew" |
| 148 | REGEX_pn-glew = "/glew/${COMMON_REGEX}/" |
| 149 | REGEX_URI_pn-menu-cache = "http://sourceforge.net/projects/lxde/files/menu-cache/1.0/" |
| 150 | REGEX_URI_pn-x11vnc = "http://sourceforge.net/projects/libvncserver/files/x11vnc/" |
| 151 | REGEX_pn-x11vnc = "/x11vnc/${COMMON_REGEX}/" |
| 152 | REGEX_URI_pn-quota = "http://sourceforge.net/projects/linuxquota/files/quota-tools/" |
| 153 | REGEX_pn-quota = "/quota-tools/${COMMON_REGEX}/" |
| 154 | REGEX_URI_pn-lsb = "http://sourceforge.net/projects/lsb/files/lsb_release/" |
| 155 | REGEX_pn-lsb = "/lsb_release/${COMMON_REGEX}/" |
| 156 | REGEX_URI_pn-libpcre = "http://sourceforge.net/projects/pcre/files/pcre/" |
| 157 | REGEX_pn-libpcre = "/pcre/${COMMON_REGEX}/" |
| 158 | REGEX_URI_pn-libusb-compat = "http://sourceforge.net/projects/libusb/files/libusb-compat-0.1/" |
| 159 | REGEX_pn-libusb-compat = "/libusb-compat-${COMMON_REGEX}/$" |
| 160 | REGEX_URI_pn-sysfsutils = "http://sourceforge.net/projects/linux-diag/files/sysfsutils/" |
| 161 | REGEX_pn-sysfsutils = "/sysfsutils/${COMMON_REGEX}/" |
| 162 | REGEX_URI_pn-console-tools = "http://sourceforge.net/projects/lct/files/console-tools-devel/" |
| 163 | REGEX_pn-console-tools = "/console-tools-devel/(?P<pver>(\d\d?\.)+\d\d?)/" |
| 164 | REGEX_URI_pn-watchdog = "http://sourceforge.net/projects/watchdog/files/watchdog/" |
| 165 | REGEX_pn-watchdog = "/watchdog/${COMMON_REGEX}/" |
| 166 | REGEX_URI_pn-cracklib = "http://sourceforge.net/projects/cracklib/files/cracklib/" |
| 167 | REGEX_pn-cracklib = "/cracklib/${COMMON_REGEX}/" |
| 168 | REGEX_URI_pn-gptfdisk = "http://sourceforge.net/projects/gptfdisk/files/gptfdisk/" |
| 169 | REGEX_pn-gptfdisk = "/gptfdisk/${COMMON_REGEX}/" |
| 170 | REGEX_URI_pn-libpng12 = "http://sourceforge.net/projects/libpng/files/libpng12/" |
| 171 | REGEX_pn-libpng12 = "/libpng12/${COMMON_REGEX}/" |
| 172 | REGEX_URI_pn-docbook-dsssl-stylesheets = "http://sourceforge.net/projects/docbook/files/docbook-dsssl/" |
| 173 | REGEX_pn-docbook-dsssl-stylesheets = "/docbook-dsssl/${COMMON_REGEX}/" |
| 174 | |
| 175 | REGEX_URI_pn-openjade = "http://openjade.sourceforge.net/download.html" |
| 176 | REGEX_URI_pn-libpfm4 = "http://sourceforge.net/projects/perfmon2/files/libpfm4/" |
| 177 | REGEX_URI_pn-liba52 = "http://liba52.sourceforge.net/downloads.html" |
| 178 | REGEX_URI_pn-mpeg2dec = "http://libmpeg2.sourceforge.net/downloads.html" |
| 179 | REGEX_URI_pn-pcmanfm = "http://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/PCManFM/" |
| 180 | REGEX_URI_pn-libcgroup = "http://sourceforge.net/projects/libcg/files/libcgroup/" |
| 181 | REGEX_URI_pn-cdrtools = "http://sourceforge.net/projects/cdrtools/files/alpha/" |
| 182 | |
| 183 | # GIT |
| 184 | GITTAGREGEX_COMMON = "(?P<pver>\d+\.\d+(\.\d+)*)" |
| 185 | |
| 186 | GITTAGREGEX_pn-linux-yocto = "${GITTAGREGEX_COMMON}" |
| 187 | GITTAGREGEX_pn-linux-yocto-tiny = "${GITTAGREGEX_COMMON}" |
| 188 | GITTAGREGEX_pn-linux-yocto-dev = "${GITTAGREGEX_COMMON}" |
| 189 | GITTAGREGEX_pn-uclibc = "${GITTAGREGEX_COMMON}" |
| 190 | GITTAGREGEX_pn-glibc = "${GITTAGREGEX_COMMON}" |
| 191 | GITTAGREGEX_pn-cross-localedef = "${GITTAGREGEX_COMMON}" |
| 192 | GITTAGREGEX_pn-binutils = "binutils-(?P<pver>\d+_(\d_?)*)" |
| 193 | GITTAGREGEX_pn-bootchart2 = "${GITTAGREGEX_COMMON}" |
| 194 | GITTAGREGEX_pn-remake = "(?P<pver>(\d+(\.\d+)+)\+dbg.+)" |
| 195 | GITTAGREGEX_pn-tcf-agent = "(?P<pver>(\d+(\.\d+)+))" |
| 196 | GITTAGREGEX_pn-chkconfig-alternatives = "chkconfig-(?P<pver>(\d+(\.\d+)+))" |
| 197 | GITTAGREGEX_pn-sgmlspl = "(?P<pver>(\d+(\.\d+)+))" |
| 198 | |
| 199 | # Exclude x.99.x versions |
| 200 | GITTAGREGEX_pn-mx-1.0 = "(?P<pver>^\d+(\.(?!99)\d+)+)" |
| 201 | |
| 202 | # Blacklist a bogus tag |
| 203 | GITTAGREGEX_pn-file = "FILE(?P<pver>(?!6_23).+)" |
| 204 | GITTAGREGEX_pn-xinetd = "xinetd-(?P<pver>(?!20030122).+)" |
| 205 | |
| 206 | # Blacklist debian-specific tags |
| 207 | GITTAGREGEX_pn-xf86-video-omapfb = "(?P<pver>\d+(\.\d+)+)(?!-)" |
| 208 | |
| 209 | # GNOME related. |
| 210 | # |
| 211 | # GNOME2_STABLE picks stable releases in the 2.x series (so not 2.90 onwards, |
| 212 | # which were GNOME 3 betas. |
| 213 | # |
| 214 | # GNOME_STABLE picks the latest stable release. |
| 215 | |
| 216 | GNOME2_STABLE = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)" |
| 217 | GNOME_STABLE = "(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)" |
| 218 | |
| 219 | REGEX_pn-glib-2.0 = "${GNOME_STABLE}" |
| 220 | REGEX_pn-atk = "${GNOME_STABLE}" |
| 221 | REGEX_pn-at-spi2-core = "${GNOME_STABLE}" |
| 222 | REGEX_pn-at-spi2-atk = "${GNOME_STABLE}" |
| 223 | REGEX_pn-gdk-pixbuf = "${GNOME_STABLE}" |
| 224 | REGEX_pn-pango = "${GNOME_STABLE}" |
| 225 | REGEX_pn-gtk+ = "${GNOME2_STABLE}" |
| 226 | REGEX_pn-gtk+3 = "${GNOME_STABLE}" |
| 227 | REGEX_pn-gtk-engines = "${GNOME2_STABLE}" |
| 228 | REGEX_pn-glib-networking = "${GNOME_STABLE}" |
| 229 | REGEX_pn-librsvg = "${GNOME_STABLE}" |
| 230 | REGEX_pn-libsoup-2.4 = "${GNOME_STABLE}" |
| 231 | REGEX_pn-vala = "${GNOME_STABLE}" |
| 232 | REGEX_pn-clutter-1.0 = "${GNOME_STABLE}" |
| 233 | REGEX_pn-clutter-gtk-1.0 = "${GNOME_STABLE}" |
| 234 | REGEX_pn-clutter-gst-3.0 = "${GNOME_STABLE}" |
| 235 | REGEX_pn-cogl-1.0 = "${GNOME_STABLE}" |
| 236 | REGEX_pn-adwaita-icon-theme = "${GNOME_STABLE}" |
| 237 | REGEX_pn-vte = "${GNOME_STABLE}" |
| 238 | REGEX_pn-epiphany = "${GNOME_STABLE}" |
| 239 | REGEX_pn-webkitgtk = "${GNOME_STABLE}" |
| 240 | REGEX_pn-p11-kit = "${GNOME_STABLE}" |
| 241 | REGEX_pn-gnome-desktop3 = "${GNOME_STABLE}" |
| 242 | |
| 243 | # not GNOME related but uses same even-minor-release-is-stable logic |
| 244 | REGEX_pn-dbus = "${GNOME_STABLE}" |
| 245 | REGEX_pn-dbus-test = "${GNOME_STABLE}" |
| 246 | |
| 247 | # same logic applies to gstreamer releases |
| 248 | REGEX_pn-gstreamer1.0 = "${GNOME_STABLE}" |
| 249 | REGEX_pn-gstreamer1.0-libav = "${GNOME_STABLE}" |
| 250 | REGEX_pn-gstreamer1.0-plugins-bad = "${GNOME_STABLE}" |
| 251 | REGEX_pn-gstreamer1.0-plugins-base = "${GNOME_STABLE}" |
| 252 | REGEX_pn-gstreamer1.0-plugins-good = "${GNOME_STABLE}" |
| 253 | REGEX_pn-gstreamer1.0-plugins-ugly = "${GNOME_STABLE}" |
| 254 | REGEX_pn-gstreamer1.0-rtsp-server = "${GNOME_STABLE}" |
| 255 | |
| 256 | # and perl |
| 257 | REGEX_pn-perl = "${GNOME_STABLE}" |
| 258 | |
| 259 | # Keep old gcc versions at their major versions |
| 260 | REGEX_pn-gcc-source-4.9.3 = "gcc-(?P<pver>4\.9\.\d+).tar" |
| 261 | REGEX_pn-gcc-source-4.8.4 = "gcc-(?P<pver>4\.8\.\d+).tar" |
| 262 | |
| 263 | # these packages are taken from snapshots.debian.org; that source is static and goes stale |
| 264 | # so we check the latest upstream from a directory that does get updated |
| 265 | REGEX_URI_pn-apt = "${DEBIAN_MIRROR}/main/a/apt/" |
| 266 | REGEX_URI_pn-resolvconf = "${DEBIAN_MIRROR}/main/r/resolvconf/" |
| 267 | REGEX_URI_pn-net-tools = "${DEBIAN_MIRROR}/main/n/net-tools/" |
| 268 | |
| 269 | # same for packages from launchpad |
| 270 | REGEX_URI_pn-base-passwd = "${DEBIAN_MIRROR}/main/b/base-passwd/" |
| 271 | |
| 272 | # for these packages we're mostly interested in tracking debian patches, |
| 273 | # and not in the upstream version where all development has effectively stopped |
| 274 | DEBIAN_PATCH_REGEX = "(?P<pver>((\d+\.*)+)-((\d+\.*)+))\.(diff|debian\.tar)\.(gz|xz)" |
| 275 | REGEX_pn-net-tools = "${DEBIAN_PATCH_REGEX}" |
| 276 | REGEX_pn-apmd = "${DEBIAN_PATCH_REGEX}" |
| 277 | REGEX_pn-blktool = "${DEBIAN_PATCH_REGEX}" |
| 278 | REGEX_pn-mailx = "${DEBIAN_PATCH_REGEX}" |