blob: d12999b155dc6baca929f52418274b9dde290076 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001# 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
22COMMON_REGEX = "(?P<pver>(\d+[\.\-_]*)+)"
23
24# Generic regex don't match
25REGEX_URI_pn-wireless-tools = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html"
26REGEX_pn-wireless-tools = "wireless_tools\.(?P<pver>(\d+)(\..*|))\.tar\.gz"
27
28REGEX_URI_pn-sqlite3="http://www.sqlite.org/"
29REGEX_pn-sqlite3="releaselog/${COMMON_REGEX}.html"
30
31REGEX_URI_pn-dhcp = "ftp://ftp.isc.org/isc/dhcp/"
32REGEX_pn-dhcp="(?P<pver>\d+\.\d+\.(\d+?))/"
33
34REGEX_pn-foomatic-filters = "foomatic-filters-(?P<pver>((\d|\d\d)\.*)+)\.tar\.gz"
35REGEX_pn-xdg-utils = "xdg-utils-(?P<pver>((\d+[\.\-_]*)+)((rc|alpha|beta)\d+)?)\.(tar\.gz|tgz)"
36REGEX_pn-rpm="rpm-${COMMON_REGEX}-.*$"
37REGEX_pn-libtheora = "libtheora-(?P<pver>\d+(\.\d)+)\.(tar\.gz|tgz)"
38
39REGEX_pn-iputils="iputils-(?P<pver>s\d+).tar"
40REGEX_pn-nettle = "nettle-(?P<pver>\d+(\.\d+)+)\.tar"
41
42REGEX_pn-cairo = "cairo-(?P<pver>\d+(\.\d+)+)\.tar"
43REGEX_pn-cmake = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
44REGEX_pn-libsdl = "SDL-(?P<pver>\d+(\.\d+)+)\.tar"
45REGEX_pn-libxslt = "libxslt-(?P<pver>\d+(\.\d+)+)\.tar"
46
47# Exclude NC versions which lack AES encryption
48REGEX_pn-db = "db-(?P<pver>\d+\.\d+(\.\d+)?).tar"
49
50REGEX_URI_pn-autogen = "http://ftp.gnu.org/gnu/autogen/"
51REGEX_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
55REGEX_pn-python = "[Pp]ython-(?P<pver>2(\.\d+)+).tar"
56REGEX_pn-python3 = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
57
58# exclude betas
59REGEX_pn-tiff = "tiff-(?P<pver>\d+(\.\d+)+).tar"
60
61# exclude version 5.5.2 which triggers a false positive
62REGEX_pn-unzip = "unzip(?P<pver>(?!552).+)\.tgz"
63# similar for zip
64REGEX_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)
68REGEX_URI_pn-dosfstools = "https://github.com/dosfstools/dosfstools/releases"
69REGEX_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"
73REGEX_URI_pn-chrpath = "http://alioth.debian.org/frs/?group_id=31052"
74
75REGEX_URI_pn-powertop = "https://01.org/powertop/downloads"
76REGEX_URI_pn-libsamplerate0 = "http://www.mega-nerd.com/SRC/download.html"
77REGEX_URI_pn-libxkbcommon = "http://xkbcommon.org/"
78REGEX_URI_pn-tslib = "https://github.com/kergoth/tslib/releases"
79REGEX_URI_pn-waffle="http://www.waffle-gl.org/releases.html"
80REGEX_URI_pn-lrzsz = "http://ohse.de/uwe/software/lrzsz.html"
81REGEX_URI_pn-libacpi = "http://www.ngolde.de/libacpi.html"
82REGEX_URI_pn-less = "http://www.greenwoodsoftware.com/less/download.html"
83REGEX_URI_pn-cups = "http://www.cups.org/software.php"
84REGEX_pn-cups = "cups-(?P<pver>\d+\.\d+(\.\d+)?)-source.tar"
85REGEX_URI_pn-bzip2 = "http://www.bzip.org/downloads.html"
86REGEX_URI_pn-minicom = "https://alioth.debian.org/frs/?group_id=30018"
87REGEX_URI_pn-sysstat = "http://sebastien.godard.pagesperso-orange.fr/download.html"
88REGEX_URI_pn-libical = "https://github.com/libical/libical/releases/"
89REGEX_URI_pn-libmpc = "http://www.multiprecision.org/index.php?prog=mpc&page=download"
90REGEX_URI_pn-taglib = "http://github.com/taglib/taglib/releases/"
91REGEX_URI_pn-libevent = "http://libevent.org/"
92REGEX_URI_pn-db = "http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html"
93REGEX_URI_pn-python-smartpm="https://launchpad.net/smart/trunk/"
94REGEX_URI_pn-lsof = "ftp://sunsite.ualberta.ca/pub/Mirror/lsof/"
95REGEX_URI_pn-pbzip2 = "http://compression.ca/pbzip2/"
96REGEX_URI_pn-quicky = "http://qt-apps.org/content/download.php?content=80325&id=1&tan=10417482"
97REGEX_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
100REGEX_URI_pn-intltool = "https://launchpad.net/intltool/trunk/"
101REGEX_URI_pn-libnfsidmap = "http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/"
102REGEX_URI_pn-mpfr = "http://www.mpfr.org/mpfr-current/"
103REGEX_URI_pn-nss = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases"
104REGEX_pn-nss = "NSS_(?P<pver>.+)_release_notes"
105
106REGEX_URI_pn-docbook-sgml-dtd-3.1 = "http://www.docbook.org/sgml/"
107REGEX_pn-docbook-sgml-dtd-3.1 = "(?P<pver>3\..+)/"
108REGEX_URI_pn-docbook-sgml-dtd-4.1 = "http://www.docbook.org/sgml/"
109REGEX_pn-docbook-sgml-dtd-4.1 = "(?P<pver>4\.1(\.\d+)*)/"
110
111# Qt recipes should be kept at 4.x
112REGEX_URI_pn-qt4-embedded = "http://download.qt.io/official_releases/qt/4.8/"
113REGEX_pn-qt4-embedded = "(?P<pver>\d+(\.\d+)+)/"
114REGEX_URI_pn-qt4-x11-free = "http://download.qt.io/official_releases/qt/4.8/"
115REGEX_pn-qt4-x11-free = "(?P<pver>\d+(\.\d+)+)/"
116REGEX_URI_pn-nativesdk-qt4-tools = "http://download.qt.io/official_releases/qt/4.8/"
117REGEX_pn-nativesdk-qt4-tools = "(?P<pver>\d+(\.\d+)+)/"
118REGEX_URI_pn-qt4-native = "http://download.qt.io/official_releases/qt/4.8/"
119REGEX_pn-qt4-native = "(?P<pver>\d+(\.\d+)+)/"
120
121# PyPI sites
122REGEX_URI_pn-python-nose = "https://pypi.python.org/pypi/nose/"
123REGEX_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
126REGEX_URI_pn-python-distribute = "https://pypi.python.org/pypi/distribute/"
127REGEX_pn-python-distribute = "/distribute/(?P<pver>\d+.6.\d+)"
128REGEX_URI_pn-python-gitdb = "https://pypi.python.org/pypi/gitdb/"
129REGEX_URI_pn-python-async = "https://pypi.python.org/pypi/async/"
130REGEX_URI_pn-python-smmap = "https://pypi.python.org/pypi/smmap/"
131REGEX_pn-python-smmap = "/smmap/${COMMON_REGEX}"
132REGEX_URI_pn-python-git = "https://pypi.python.org/pypi/GitPython/"
133REGEX_pn-python-git = "/GitPython/${COMMON_REGEX}"
134REGEX_URI_pn-python-mako = "https://pypi.python.org/pypi/mako/"
135REGEX_pn-python-mako = "/Mako/${COMMON_REGEX}"
136REGEX_URI_pn-python-pexpect = "https://pypi.python.org/pypi/pexpect"
137REGEX_URI_pn-python3-pip = "https://pypi.python.org/pypi/pip"
138REGEX_URI_pn-python3-setuptools = "https://pypi.python.org/pypi/setuptools"
139
140# Sourceforge sites
141REGEX_URI_pn-python-scons = "http://sourceforge.net/projects/scons/files/scons/"
142REGEX_pn-python-scons = "/scons/${COMMON_REGEX}/"
143REGEX_URI_pn-expect = "http://sourceforge.net/projects/expect/files/Expect/"
144REGEX_pn-expect = "/Expect/${COMMON_REGEX}/"
145REGEX_URI_pn-docbook-xsl-stylesheets = "http://sourceforge.net/projects/docbook/files/docbook-xsl/"
146REGEX_pn-docbook-xsl-stylesheets = "/docbook-xsl/${COMMON_REGEX}/"
147REGEX_URI_pn-glew = "http://sourceforge.net/projects/glew/files/glew"
148REGEX_pn-glew = "/glew/${COMMON_REGEX}/"
149REGEX_URI_pn-menu-cache = "http://sourceforge.net/projects/lxde/files/menu-cache/1.0/"
150REGEX_URI_pn-x11vnc = "http://sourceforge.net/projects/libvncserver/files/x11vnc/"
151REGEX_pn-x11vnc = "/x11vnc/${COMMON_REGEX}/"
152REGEX_URI_pn-quota = "http://sourceforge.net/projects/linuxquota/files/quota-tools/"
153REGEX_pn-quota = "/quota-tools/${COMMON_REGEX}/"
154REGEX_URI_pn-lsb = "http://sourceforge.net/projects/lsb/files/lsb_release/"
155REGEX_pn-lsb = "/lsb_release/${COMMON_REGEX}/"
156REGEX_URI_pn-libpcre = "http://sourceforge.net/projects/pcre/files/pcre/"
157REGEX_pn-libpcre = "/pcre/${COMMON_REGEX}/"
158REGEX_URI_pn-libusb-compat = "http://sourceforge.net/projects/libusb/files/libusb-compat-0.1/"
159REGEX_pn-libusb-compat = "/libusb-compat-${COMMON_REGEX}/$"
160REGEX_URI_pn-sysfsutils = "http://sourceforge.net/projects/linux-diag/files/sysfsutils/"
161REGEX_pn-sysfsutils = "/sysfsutils/${COMMON_REGEX}/"
162REGEX_URI_pn-console-tools = "http://sourceforge.net/projects/lct/files/console-tools-devel/"
163REGEX_pn-console-tools = "/console-tools-devel/(?P<pver>(\d\d?\.)+\d\d?)/"
164REGEX_URI_pn-watchdog = "http://sourceforge.net/projects/watchdog/files/watchdog/"
165REGEX_pn-watchdog = "/watchdog/${COMMON_REGEX}/"
166REGEX_URI_pn-cracklib = "http://sourceforge.net/projects/cracklib/files/cracklib/"
167REGEX_pn-cracklib = "/cracklib/${COMMON_REGEX}/"
168REGEX_URI_pn-gptfdisk = "http://sourceforge.net/projects/gptfdisk/files/gptfdisk/"
169REGEX_pn-gptfdisk = "/gptfdisk/${COMMON_REGEX}/"
170REGEX_URI_pn-libpng12 = "http://sourceforge.net/projects/libpng/files/libpng12/"
171REGEX_pn-libpng12 = "/libpng12/${COMMON_REGEX}/"
172REGEX_URI_pn-docbook-dsssl-stylesheets = "http://sourceforge.net/projects/docbook/files/docbook-dsssl/"
173REGEX_pn-docbook-dsssl-stylesheets = "/docbook-dsssl/${COMMON_REGEX}/"
174
175REGEX_URI_pn-openjade = "http://openjade.sourceforge.net/download.html"
176REGEX_URI_pn-libpfm4 = "http://sourceforge.net/projects/perfmon2/files/libpfm4/"
177REGEX_URI_pn-liba52 = "http://liba52.sourceforge.net/downloads.html"
178REGEX_URI_pn-mpeg2dec = "http://libmpeg2.sourceforge.net/downloads.html"
179REGEX_URI_pn-pcmanfm = "http://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/PCManFM/"
180REGEX_URI_pn-libcgroup = "http://sourceforge.net/projects/libcg/files/libcgroup/"
181REGEX_URI_pn-cdrtools = "http://sourceforge.net/projects/cdrtools/files/alpha/"
182
183# GIT
184GITTAGREGEX_COMMON = "(?P<pver>\d+\.\d+(\.\d+)*)"
185
186GITTAGREGEX_pn-linux-yocto = "${GITTAGREGEX_COMMON}"
187GITTAGREGEX_pn-linux-yocto-tiny = "${GITTAGREGEX_COMMON}"
188GITTAGREGEX_pn-linux-yocto-dev = "${GITTAGREGEX_COMMON}"
189GITTAGREGEX_pn-uclibc = "${GITTAGREGEX_COMMON}"
190GITTAGREGEX_pn-glibc = "${GITTAGREGEX_COMMON}"
191GITTAGREGEX_pn-cross-localedef = "${GITTAGREGEX_COMMON}"
192GITTAGREGEX_pn-binutils = "binutils-(?P<pver>\d+_(\d_?)*)"
193GITTAGREGEX_pn-bootchart2 = "${GITTAGREGEX_COMMON}"
194GITTAGREGEX_pn-remake = "(?P<pver>(\d+(\.\d+)+)\+dbg.+)"
195GITTAGREGEX_pn-tcf-agent = "(?P<pver>(\d+(\.\d+)+))"
196GITTAGREGEX_pn-chkconfig-alternatives = "chkconfig-(?P<pver>(\d+(\.\d+)+))"
197GITTAGREGEX_pn-sgmlspl = "(?P<pver>(\d+(\.\d+)+))"
198
199# Exclude x.99.x versions
200GITTAGREGEX_pn-mx-1.0 = "(?P<pver>^\d+(\.(?!99)\d+)+)"
201
202# Blacklist a bogus tag
203GITTAGREGEX_pn-file = "FILE(?P<pver>(?!6_23).+)"
204GITTAGREGEX_pn-xinetd = "xinetd-(?P<pver>(?!20030122).+)"
205
206# Blacklist debian-specific tags
207GITTAGREGEX_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
216GNOME2_STABLE = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)"
217GNOME_STABLE = "(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
218
219REGEX_pn-glib-2.0 = "${GNOME_STABLE}"
220REGEX_pn-atk = "${GNOME_STABLE}"
221REGEX_pn-at-spi2-core = "${GNOME_STABLE}"
222REGEX_pn-at-spi2-atk = "${GNOME_STABLE}"
223REGEX_pn-gdk-pixbuf = "${GNOME_STABLE}"
224REGEX_pn-pango = "${GNOME_STABLE}"
225REGEX_pn-gtk+ = "${GNOME2_STABLE}"
226REGEX_pn-gtk+3 = "${GNOME_STABLE}"
227REGEX_pn-gtk-engines = "${GNOME2_STABLE}"
228REGEX_pn-glib-networking = "${GNOME_STABLE}"
229REGEX_pn-librsvg = "${GNOME_STABLE}"
230REGEX_pn-libsoup-2.4 = "${GNOME_STABLE}"
231REGEX_pn-vala = "${GNOME_STABLE}"
232REGEX_pn-clutter-1.0 = "${GNOME_STABLE}"
233REGEX_pn-clutter-gtk-1.0 = "${GNOME_STABLE}"
234REGEX_pn-clutter-gst-3.0 = "${GNOME_STABLE}"
235REGEX_pn-cogl-1.0 = "${GNOME_STABLE}"
236REGEX_pn-adwaita-icon-theme = "${GNOME_STABLE}"
237REGEX_pn-vte = "${GNOME_STABLE}"
238REGEX_pn-epiphany = "${GNOME_STABLE}"
239REGEX_pn-webkitgtk = "${GNOME_STABLE}"
240REGEX_pn-p11-kit = "${GNOME_STABLE}"
241REGEX_pn-gnome-desktop3 = "${GNOME_STABLE}"
242
243# not GNOME related but uses same even-minor-release-is-stable logic
244REGEX_pn-dbus = "${GNOME_STABLE}"
245REGEX_pn-dbus-test = "${GNOME_STABLE}"
246
247# same logic applies to gstreamer releases
248REGEX_pn-gstreamer1.0 = "${GNOME_STABLE}"
249REGEX_pn-gstreamer1.0-libav = "${GNOME_STABLE}"
250REGEX_pn-gstreamer1.0-plugins-bad = "${GNOME_STABLE}"
251REGEX_pn-gstreamer1.0-plugins-base = "${GNOME_STABLE}"
252REGEX_pn-gstreamer1.0-plugins-good = "${GNOME_STABLE}"
253REGEX_pn-gstreamer1.0-plugins-ugly = "${GNOME_STABLE}"
254REGEX_pn-gstreamer1.0-rtsp-server = "${GNOME_STABLE}"
255
256# and perl
257REGEX_pn-perl = "${GNOME_STABLE}"
258
259# Keep old gcc versions at their major versions
260REGEX_pn-gcc-source-4.9.3 = "gcc-(?P<pver>4\.9\.\d+).tar"
261REGEX_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
265REGEX_URI_pn-apt = "${DEBIAN_MIRROR}/main/a/apt/"
266REGEX_URI_pn-resolvconf = "${DEBIAN_MIRROR}/main/r/resolvconf/"
267REGEX_URI_pn-net-tools = "${DEBIAN_MIRROR}/main/n/net-tools/"
268
269# same for packages from launchpad
270REGEX_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
274DEBIAN_PATCH_REGEX = "(?P<pver>((\d+\.*)+)-((\d+\.*)+))\.(diff|debian\.tar)\.(gz|xz)"
275REGEX_pn-net-tools = "${DEBIAN_PATCH_REGEX}"
276REGEX_pn-apmd = "${DEBIAN_PATCH_REGEX}"
277REGEX_pn-blktool = "${DEBIAN_PATCH_REGEX}"
278REGEX_pn-mailx = "${DEBIAN_PATCH_REGEX}"