From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6861966532913659904 X-Received: by 2002:a7b:c954:: with SMTP id i20mr6773980wml.189.1597865749054; Wed, 19 Aug 2020 12:35:49 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:fa8e:: with SMTP id h14ls2250943wrr.0.gmail; Wed, 19 Aug 2020 12:35:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyeEL94KmJc8vwMmJLJpJPsv880P6QR6YQ/rkn1NhOG6QQ1ruQAq1gcx06ldNi6QyJ4+6Th X-Received: by 2002:a5d:6345:: with SMTP id b5mr28609847wrw.204.1597865747470; Wed, 19 Aug 2020 12:35:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597865747; cv=none; d=google.com; s=arc-20160816; b=eL3oyIK8P/mtV0IahbFB7aRgroXcVLAy/RmGH00Ale5DcAgG6o+m7HwF2rfh0wEb0h 8ZO8li7+0pP7Bo+YDMhIKf6/kqS1MorIA3KeSpJKG8ET4TXt4rTmEQ3pplu8VwNnqiDQ L5TQIkyUOfQjGYVD5k+5Nt2GzCHrESw0rvOVgnT6jnlp/vmZaBPe18jfJ7QvMTzTNsvj D39OR7R98cYQ9GceEk8Kge+Q67744Xfm2muxNEEj99ZYo9rsBn4wv6VPLGNrgj6i+T+o zmgxL3aZLbkCed9oDCeueU8VbRXtrxk0LvAwn4MsIjz19B0SiPH6NEUB4an7x3p0SdK5 QLrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date; bh=ou4aHP8NvoAG83212073mMbNexpplTxpZ5bKMyDGsq4=; b=qCL4y5S3MiSc0pIQFtWopZMLgi1kg7sf7/mVltme349TtwlKsKczhhMSdOHNp5DNv3 9hCa16/FhD+r19y5eo+AJoWqCFjtZeikVhvDP3CFKNxiiNjmQPX72KXy7T0StrA17fmt +MUd2jr0S+gYkgLGarJJrBD6FH2bL2OQSoUahbP/BLOVK8KXJYZ/SFVIRfLt/i8Vgb05 skLFwIj+7j6wKRIvOcQUFf2MjatpIJWXW0PylW03tb8e2HaVprux96ur2hz+LOCWqWUF Xj3RmO9/a+UY8J4v+YqAvNGp4PaI8Yh5J9Xmux5OSoSUX59MT+90aKcq2sXSyMd/b8IF srSA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from thoth.sbs.de (thoth.sbs.de. [192.35.17.2]) by gmr-mx.google.com with ESMTPS id y12si16wrt.1.2020.08.19.12.35.47 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Aug 2020 12:35:47 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) client-ip=192.35.17.2; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by thoth.sbs.de (8.15.2/8.15.2) with ESMTPS id 07JJZkHD024818 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 Aug 2020 21:35:46 +0200 Received: from md1za8fc.ad001.siemens.net ([167.87.55.125]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 07JJZhE8014516; Wed, 19 Aug 2020 21:35:43 +0200 Date: Wed, 19 Aug 2020 21:35:40 +0200 From: Henning Schild To: Vijai Kumar K Cc: Subject: Re: [PATCH v2] bitbake: Update to 1.46.2 release Message-ID: <20200819213540.543b6bbe@md1za8fc.ad001.siemens.net> In-Reply-To: <20200817160009.16462-1-Vijaikumar_Kanagarajan@mentor.com> References: <20200817160009.16462-1-Vijaikumar_Kanagarajan@mentor.com> X-Mailer: Claws Mail 3.17.6 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-TUID: iKZxciEgdDRP The mail is almost too big to handle, maybe use a cover letter for potential future discussions leaving the big path in a mail nobody needs to really look into. It is always a good idea to stay up to date with upstream, but maybe you have a reason on why you would like to see the bump. Last time we updated bitbake we inherited some issues around git submodules. And with the long due update of wic we are drifting apart and risk breaking wic. Any reason is fine, but if we get issues we need to know how to deal with them. Maybe if a revert would be ok because the bump was more cosmetic than technically needed. Henning Am Mon, 17 Aug 2020 21:30:09 +0530 schrieb Vijai Kumar K : > Update bitbake to the latest 1.46.2 release. > This release is tagged to the below upstream commit ID: > cc11dfa4eb3616547a8a3909f89da0cc4f35dc57 >=20 > The version in bin/bitbake is not updated to 1.46.2 and still shows > 1.46.0. Please use the above commit ID to validate it is indeed > 1.46.2 release. >=20 > Signed-off-by: Vijai Kumar K > --- > bitbake/bin/bitbake | 2 +- > bitbake/bin/bitbake-layers | 4 +- > bitbake/bin/bitbake-worker | 11 +- > bitbake/bin/toaster | 19 +- > bitbake/classes/base.bbclass | 26 +- > bitbake/conf/bitbake.conf | 3 - > bitbake/contrib/autobuilderlog.json | 13 + > bitbake/contrib/vim/indent/bitbake.vim | 343 +++ > .../bitbake-user-manual-execution.xml | 109 +- > .../bitbake-user-manual-fetching.xml | 2 +- > .../bitbake-user-manual-hello.xml | 14 +- > .../bitbake-user-manual-intro.xml | 27 +- > .../bitbake-user-manual-metadata.xml | 44 +- > .../bitbake-user-manual-ref-variables.xml | 13 +- > bitbake/lib/bb/COW.py | 1 - > bitbake/lib/bb/__init__.py | 14 +- > bitbake/lib/bb/build.py | 28 +- > bitbake/lib/bb/cache.py | 29 +- > bitbake/lib/bb/checksum.py | 6 +- > bitbake/lib/bb/codeparser.py | 26 +- > bitbake/lib/bb/command.py | 102 +- > bitbake/lib/bb/cooker.py | 50 +- > bitbake/lib/bb/data.py | 6 +- > bitbake/lib/bb/data_smart.py | 63 +- > bitbake/lib/bb/event.py | 7 +- > bitbake/lib/bb/fetch2/__init__.py | 276 +- > bitbake/lib/bb/fetch2/bzr.py | 2 - > bitbake/lib/bb/fetch2/clearcase.py | 9 +- > bitbake/lib/bb/fetch2/cvs.py | 1 - > bitbake/lib/bb/fetch2/git.py | 31 +- > bitbake/lib/bb/fetch2/gitannex.py | 2 - > bitbake/lib/bb/fetch2/gitsm.py | 22 +- > bitbake/lib/bb/fetch2/hg.py | 29 +- > bitbake/lib/bb/fetch2/npm.py | 539 ++-- > bitbake/lib/bb/fetch2/npmsw.py | 255 ++ > bitbake/lib/bb/fetch2/osc.py | 4 +- > bitbake/lib/bb/fetch2/perforce.py | 3 +- > bitbake/lib/bb/fetch2/ssh.py | 4 +- > bitbake/lib/bb/fetch2/svn.py | 22 +- > bitbake/lib/bb/fetch2/wget.py | 11 +- > bitbake/lib/bb/monitordisk.py | 2 +- > bitbake/lib/bb/msg.py | 184 +- > bitbake/lib/bb/parse/ast.py | 24 +- > bitbake/lib/bb/parse/parse_py/BBHandler.py | 2 - > bitbake/lib/bb/parse/parse_py/ConfHandler.py | 46 +- > bitbake/lib/bb/persist_data.py | 3 + > bitbake/lib/bb/progress.py | 1 - > bitbake/lib/bb/providers.py | 6 +- > bitbake/lib/bb/pysh/pyshyacc.py | 1 + > bitbake/lib/bb/remotedata.py | 49 +- > bitbake/lib/bb/runqueue.py | 206 +- > bitbake/lib/bb/server/process.py | 25 +- > bitbake/lib/bb/server/xmlrpcclient.py | 3 - > bitbake/lib/bb/server/xmlrpcserver.py | 3 - > bitbake/lib/bb/siggen.py | 194 +- > bitbake/lib/bb/taskdata.py | 2 +- > bitbake/lib/bb/tests/cooker.py | 1 - > bitbake/lib/bb/tests/cow.py | 2 +- > bitbake/lib/bb/tests/data.py | 141 +- > .../tests/fetch-testdata/apple/cups/releases | 2400 > +++++++++++++++++ .../debian/pool/main/d/db5.3/index.html | > 509 ++++ .../downloads/enchant/1.6.0/index.html | 15 + > .../fetch-testdata/files/v2.8/index.html | 774 ++++++ > .../fetch-testdata/files/v3.0/index.html | 209 ++ > .../fetch-testdata/files/v3.1/index.html | 156 ++ > .../fetch-testdata/files/v3.10/index.html | 131 + > .../fetch-testdata/files/v3.11/index.html | 131 + > .../fetch-testdata/files/v3.12/index.html | 118 + > .../fetch-testdata/files/v3.13/index.html | 131 + > .../fetch-testdata/files/v3.14/index.html | 170 ++ > .../fetch-testdata/files/v3.15/index.html | 157 ++ > .../fetch-testdata/files/v3.16/index.html | 86 + > .../fetch-testdata/files/v3.2/index.html | 132 + > .../fetch-testdata/files/v3.3/index.html | 163 ++ > .../fetch-testdata/files/v3.4/index.html | 127 + > .../fetch-testdata/files/v3.5/index.html | 111 + > .../fetch-testdata/files/v3.6/index.html | 159 ++ > .../fetch-testdata/files/v3.7/index.html | 92 + > .../fetch-testdata/files/v3.8/index.html | 105 + > .../fetch-testdata/files/v3.9/index.html | 183 ++ > .../linux/utils/util-linux/v2.23/index.html | 45 + > .../linux/utils/util-linux/v2.24/index.html | 43 + > .../linux/utils/util-linux/v2.25/index.html | 46 + > .../linux/utils/util-linux/v2.26/index.html | 42 + > .../linux/utils/util-linux/v2.27/index.html | 35 + > .../linux/utils/util-linux/v2.28/index.html | 42 + > .../linux/utils/util-linux/v2.29/index.html | 42 + > .../linux/utils/util-linux/v2.30/index.html | 42 + > .../linux/utils/util-linux/v2.31/index.html | 35 + > .../linux/utils/util-linux/v2.32/index.html | 35 + > .../linux/utils/util-linux/v2.33/index.html | 42 + > .../linux/utils/util-linux/v2.34/index.html | 28 + > .../linux/utils/util-linux/v2.35/index.html | 18 + > .../fetch-testdata/releases/eglibc/index.html | 21 + > .../releases/gnu-config/index.html | 9 + > .../releases/individual/xserver/index.html | 609 +++++ > .../software/pulseaudio/releases/index.html | 383 +++ > bitbake/lib/bb/tests/fetch.py | 571 +++- > bitbake/lib/bb/tests/runqueue.py | 3 +- > bitbake/lib/bb/tests/support/httpserver.py | 65 + > bitbake/lib/bb/tests/utils.py | 70 + > bitbake/lib/bb/tinfoil.py | 183 +- > bitbake/lib/bb/ui/buildinfohelper.py | 8 +- > bitbake/lib/bb/ui/knotty.py | 252 +- > bitbake/lib/bb/ui/ncurses.py | 5 +- > bitbake/lib/bb/ui/taskexp.py | 17 +- > bitbake/lib/bb/ui/teamcity.py | 396 +++ > bitbake/lib/bb/ui/toasterui.py | 2 +- > bitbake/lib/bb/ui/uievent.py | 2 +- > bitbake/lib/bb/ui/uihelper.py | 39 +- > bitbake/lib/bb/utils.py | 121 +- > bitbake/lib/bblayers/common.py | 2 +- > bitbake/lib/bblayers/layerindex.py | 17 +- > bitbake/lib/bblayers/query.py | 20 +- > bitbake/lib/bs4/__init__.py | 2 +- > bitbake/lib/bs4/builder/_html5lib.py | 3 +- > bitbake/lib/bs4/dammit.py | 8 - > bitbake/lib/bs4/element.py | 1 - > bitbake/lib/bs4/testing.py | 1 - > bitbake/lib/bs4/tests/test_docs.py | 4 - > bitbake/lib/bs4/tests/test_htmlparser.py | 1 - > bitbake/lib/bs4/tests/test_lxml.py | 8 +- > bitbake/lib/bs4/tests/test_soup.py | 6 +- > bitbake/lib/bs4/tests/test_tree.py | 11 +- > bitbake/lib/hashserv/__init__.py | 22 + > bitbake/lib/hashserv/client.py | 52 +- > bitbake/lib/hashserv/server.py | 137 +- > bitbake/lib/hashserv/tests.py | 23 + > bitbake/lib/layerindexlib/cooker.py | 5 +- > bitbake/lib/layerindexlib/plugin.py | 3 - > bitbake/lib/layerindexlib/tests/cooker.py | 3 - > .../lib/layerindexlib/tests/layerindexobj.py | 6 - > bitbake/lib/layerindexlib/tests/restapi.py | 3 - > bitbake/lib/ply/yacc.py | 6 +- > bitbake/lib/prserv/db.py | 14 +- > bitbake/lib/prserv/serv.py | 38 +- > bitbake/lib/pyinotify.py | 4 +- > bitbake/lib/toaster/bldcollector/urls.py | 2 +- > bitbake/lib/toaster/bldcollector/views.py | 10 +- > bitbake/lib/toaster/bldcontrol/admin.py | 1 - > .../lib/toaster/bldcontrol/bbcontroller.py | 4 +- > .../bldcontrol/localhostbecontroller.py | 11 +- > .../management/commands/checksettings.py | 6 +- > .../management/commands/runbuilds.py | 6 +- > .../bldcontrol/migrations/0001_initial.py | 18 +- > bitbake/lib/toaster/bldcontrol/models.py | 21 +- > bitbake/lib/toaster/orm/fixtures/oe-core.xml | 12 +- > bitbake/lib/toaster/orm/fixtures/poky.xml | 18 +- > .../orm/management/commands/lsupdates.py | 2 +- > .../toaster/orm/migrations/0001_initial.py | 100 +- > .../orm/migrations/0002_customimagerecipe.py | 6 +- > .../orm/migrations/0003_customimagepackage.py | 2 +- > .../toaster/orm/migrations/0004_provides.py | 4 +- > .../0008_refactor_artifact_models.py | 4 +- > .../orm/migrations/0011_delete_layersource.py | 2 +- > .../0012_use_release_instead_of_up_branch.py | 2 +- > .../orm/migrations/0017_distro_clone.py | 2 +- > .../toaster/orm/migrations/0019_django_2_2.py | 23 + > bitbake/lib/toaster/orm/models.py | 102 +- > .../tests/browser/selenium_helpers_base.py | 1 - > .../tests/browser/test_all_builds_page.py | 2 +- > .../tests/browser/test_all_projects_page.py | 2 +- > .../tests/browser/test_builddashboard_page.py | 2 +- > .../test_builddashboard_page_artifacts.py | 2 +- > .../test_builddashboard_page_recipes.py | 2 +- > .../browser/test_builddashboard_page_tasks.py | 2 +- > .../tests/browser/test_js_unit_tests.py | 2 +- > .../tests/browser/test_landing_page.py | 2 +- > .../tests/browser/test_layerdetails_page.py | 2 +- > .../browser/test_most_recent_builds_states.py | 2 +- > .../browser/test_new_custom_image_page.py | 2 +- > .../tests/browser/test_new_project_page.py | 2 +- > .../tests/browser/test_project_builds_page.py | 2 +- > .../tests/browser/test_project_config_page.py | 8 +- > .../tests/browser/test_project_page.py | 2 +- > .../lib/toaster/tests/browser/test_sample.py | 2 +- > .../toaster/tests/browser/test_task_page.py | 2 +- > .../tests/browser/test_toastertable_ui.py | 2 +- > .../tests/functional/test_functional_basic.py | 1 - > bitbake/lib/toaster/tests/views/test_views.py | 2 +- > bitbake/lib/toaster/toastergui/api.py | 5 +- > bitbake/lib/toaster/toastergui/tables.py | 9 +- > .../objects_to_dictionaries_filter.py | 1 - > .../templatetags/project_url_tag.py | 2 +- > .../toastergui/templatetags/projecttags.py | 10 +- > bitbake/lib/toaster/toastergui/typeaheads.py | 2 +- > bitbake/lib/toaster/toastergui/urls.py | 5 +- > bitbake/lib/toaster/toastergui/views.py | 45 +- > bitbake/lib/toaster/toastergui/widgets.py | 2 +- > .../management/commands/builddelete.py | 4 +- > .../management/commands/buildimport.py | 22 +- > .../management/commands/buildslist.py | 3 +- > bitbake/lib/toaster/toastermain/settings.py | 17 +- > bitbake/lib/toaster/toastermain/urls.py | 4 +- > bitbake/toaster-requirements.txt | 2 +- > 195 files changed, 11522 insertions(+), 1792 deletions(-) > create mode 100644 bitbake/contrib/autobuilderlog.json > create mode 100644 bitbake/contrib/vim/indent/bitbake.vim > create mode 100644 bitbake/lib/bb/fetch2/npmsw.py > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/apple/cups/releases create mode > 100644 > bitbake/lib/bb/tests/fetch-testdata/debian/pool/main/d/db5.3/index.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/downloads/enchant/1.6.0/index.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/files/v2.8/index.html create mode > 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.0/index.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/files/v3.1/index.html create mode > 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.10/index.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/files/v3.11/index.html create > mode 100644 > bitbake/lib/bb/tests/fetch-testdata/files/v3.12/index.html create > mode 100644 > bitbake/lib/bb/tests/fetch-testdata/files/v3.13/index.html create > mode 100644 > bitbake/lib/bb/tests/fetch-testdata/files/v3.14/index.html create > mode 100644 > bitbake/lib/bb/tests/fetch-testdata/files/v3.15/index.html create > mode 100644 > bitbake/lib/bb/tests/fetch-testdata/files/v3.16/index.html create > mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.2/index.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/files/v3.3/index.html create mode > 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.4/index.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/files/v3.5/index.html create mode > 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.6/index.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/files/v3.7/index.html create mode > 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.8/index.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/files/v3.9/index.html create mode > 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.23/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.24/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.25/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.26/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.27/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.28/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.29/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.30/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.31/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.32/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.33/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.34/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.35/inde= x.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/releases/eglibc/index.html create > mode 100644 > bitbake/lib/bb/tests/fetch-testdata/releases/gnu-config/index.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/releases/individual/xserver/index.html > create mode 100644 > bitbake/lib/bb/tests/fetch-testdata/software/pulseaudio/releases/index.ht= ml > create mode 100644 bitbake/lib/bb/tests/support/httpserver.py create > mode 100644 bitbake/lib/bb/ui/teamcity.py create mode 100644 > bitbake/lib/toaster/orm/migrations/0019_django_2_2.py >=20 > diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake > index 66d08f8..6c73710 100755 > --- a/bitbake/bin/bitbake > +++ b/bitbake/bin/bitbake > @@ -26,7 +26,7 @@ from bb.main import bitbake_main, > BitBakeConfigParameters, BBMainException if > sys.getfilesystemencoding() !=3D "utf-8": sys.exit("Please use a locale > setting which supports UTF-8 (such as LANG=3Den_US.UTF-8).\nPython > can't change the filesystem locale after loading so we need a UTF-8 > when Python starts or things won't work.") -__version__ =3D "1.44.0" > +__version__ =3D "1.46.0"=20 > if __name__ =3D=3D "__main__": > if __version__ !=3D bb.__version__: > diff --git a/bitbake/bin/bitbake-layers b/bitbake/bin/bitbake-layers > index a884dc1..149f1b1 100755 > --- a/bitbake/bin/bitbake-layers > +++ b/bitbake/bin/bitbake-layers > @@ -52,7 +52,9 @@ def main(): > =20 > # Need to re-run logger_create with color argument > # (will be the same logger since it has the same name) > - bb.msg.logger_create('bitbake-layers', output=3Dsys.stdout, > color=3Dglobal_args.color) > + bb.msg.logger_create('bitbake-layers', output=3Dsys.stdout, > + color=3Dglobal_args.color, > + level=3Dlogger.getEffectiveLevel()) > =20 > plugins =3D [] > tinfoil =3D bb.tinfoil.Tinfoil(tracking=3DTrue) > diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker > index 6776cad..97cc0fd 100755 > --- a/bitbake/bin/bitbake-worker > +++ b/bitbake/bin/bitbake-worker > @@ -65,7 +65,6 @@ if 0: > format_str =3D "%(levelname)s: %(message)s" > conlogformat =3D bb.msg.BBLogFormatter(format_str) > consolelog =3D logging.FileHandler(logfilename) > - bb.msg.addDefaultlogFilter(consolelog) > consolelog.setFormatter(conlogformat) > logger.addHandler(consolelog) > =20 > @@ -195,9 +194,6 @@ def fork_off_task(cfg, data, databuilder, > workerdata, fn, task, taskname, taskha global worker_pipe_lock > pipein.close() > =20 > - signal.signal(signal.SIGTERM, sigterm_handler) > - # Let SIGHUP exit as SIGTERM > - signal.signal(signal.SIGHUP, sigterm_handler) > bb.utils.signal_on_parent_exit("SIGTERM") > =20 > # Save out the PID so that the event can include it the > @@ -212,6 +208,11 @@ def fork_off_task(cfg, data, databuilder, > workerdata, fn, task, taskname, taskha # This ensures signals sent to > the controlling terminal like Ctrl+C # don't stop the child processes. > os.setsid() > + > + signal.signal(signal.SIGTERM, sigterm_handler) > + # Let SIGHUP exit as SIGTERM > + signal.signal(signal.SIGHUP, sigterm_handler) > + > # No stdin > newsi =3D os.open(os.devnull, os.O_RDWR) > os.dup2(newsi, sys.stdin.fileno()) > @@ -412,7 +413,7 @@ class BitbakeWorker(object): > =20 > def handle_workerdata(self, data): > self.workerdata =3D pickle.loads(data) > - bb.msg.loggerDefaultDebugLevel =3D > self.workerdata["logdefaultdebug"] > + bb.msg.loggerDefaultLogLevel =3D > self.workerdata["logdefaultlevel"] bb.msg.loggerDefaultVerbose =3D > self.workerdata["logdefaultverbose"] bb.msg.loggerVerboseLogs =3D > self.workerdata["logdefaultverboselogs"] bb.msg.loggerDefaultDomains > =3D self.workerdata["logdefaultdomain"] diff --git > a/bitbake/bin/toaster b/bitbake/bin/toaster index c3472df..6b90ee1 > 100755 --- a/bitbake/bin/toaster > +++ b/bitbake/bin/toaster > @@ -8,12 +8,13 @@ > # > =20 > HELP=3D" > -Usage: source toaster start|stop [webport=3D] [noweb] > [nobuild] [toasterdir] +Usage 1: source toaster start|stop > [webport=3D] [noweb] [nobuild] [toasterdir] Optional > arguments: [nobuild] Setup the environment for capturing builds with > toaster but disable managed builds [noweb] Setup the environment for > capturing builds with toaster but don't start the web server > [webport] Set the development server (default: localhost:8000) > [toasterdir] Set absolute path to be used as TOASTER_DIR (default: > BUILDDIR/../) +Usage 2: source toaster manage > [createsuperuser|lsupdates|migrate|makemigrations|checksettings|collectst= atic|...] > " custom_extention() > @@ -208,13 +209,21 @@ for param in $*; do > toasterdir=3D*) > TOASTERDIR=3D"${param#*=3D}" > ;; > + manage ) > + CMD=3D$param > + manage_cmd=3D"" > + ;; > --help) > echo "$HELP" > return 0 > ;; > *) > - echo "$HELP" > - return 1 > + if [ "manage" =3D=3D "$CMD" ] ; then > + manage_cmd=3D"$manage_cmd $param" > + else > + echo "$HELP" > + exit 1 > + fi > ;; > =20 > esac > @@ -306,6 +315,10 @@ case $CMD in > stop_system > echo "Successful ${CMD}." > ;; > + manage ) > + cd $BBBASEDIR/lib/toaster > + $MANAGE $manage_cmd > + ;; > esac > custom_extention toaster_postpend $CMD $ADDR_PORT > =20 > diff --git a/bitbake/classes/base.bbclass > b/bitbake/classes/base.bbclass index 08441fe..1809396 100644 > --- a/bitbake/classes/base.bbclass > +++ b/bitbake/classes/base.bbclass > @@ -38,30 +38,30 @@ bbfatal() { > addtask showdata > do_showdata[nostamp] =3D "1" > python do_showdata() { > - import sys > - # emit variables and shell functions > - bb.data.emit_env(sys.__stdout__, d, True) > - # emit the metadata which isnt valid shell > - for e in bb.data.keys(d): > - if d.getVarFlag(e, 'python', False): > - bb.plain("\npython %s () {\n%s}" % (e, > d.getVar(e))) > + import sys > + # emit variables and shell functions > + bb.data.emit_env(sys.__stdout__, d, True) > + # emit the metadata which isn't valid shell > + for e in bb.data.keys(d): > + if d.getVarFlag(e, 'python', False): > + bb.plain("\npython %s () {\n%s}" % (e, d.getVar(e))) > } > =20 > addtask listtasks > do_listtasks[nostamp] =3D "1" > python do_listtasks() { > - import sys > - for e in bb.data.keys(d): > - if d.getVarFlag(e, 'task', False): > - bb.plain("%s" % e) > + import sys > + for e in bb.data.keys(d): > + if d.getVarFlag(e, 'task', False): > + bb.plain("%s" % e) > } > =20 > addtask build > do_build[dirs] =3D "${TOPDIR}" > do_build[nostamp] =3D "1" > python base_do_build () { > - bb.note("The included, default BB base.bbclass does not > define a useful default task.") > - bb.note("Try running the 'listtasks' task against a .bb to > see what tasks are defined.") > + bb.note("The included, default BB base.bbclass does not define a > useful default task.") > + bb.note("Try running the 'listtasks' task against a .bb to see > what tasks are defined.") } > =20 > EXPORT_FUNCTIONS do_clean do_mrproper do_build > diff --git a/bitbake/conf/bitbake.conf b/bitbake/conf/bitbake.conf > index a460df4..b3d5fab 100644 > --- a/bitbake/conf/bitbake.conf > +++ b/bitbake/conf/bitbake.conf > @@ -19,14 +19,12 @@ > # OTHER DEALINGS IN THE SOFTWARE. > =20 > B =3D "${S}" > -CVSDIR =3D "${DL_DIR}/cvs" > DEPENDS =3D "" > DEPLOY_DIR =3D "${TMPDIR}/deploy" > DEPLOY_DIR_IMAGE =3D "${DEPLOY_DIR}/images" > DL_DIR =3D "${TMPDIR}/downloads" > FILESPATH =3D > "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_= DIRNAME}/files:${FILE_DIRNAME}" > FILE_DIRNAME =3D "${@os.path.dirname(d.getVar('FILE', False))}" -GITDIR > =3D "${DL_DIR}/git" IMAGE_CMD =3D "_NO_DEFINED_IMAGE_TYPES_" > IMAGE_ROOTFS =3D "${TMPDIR}/rootfs" > OVERRIDES =3D "local:${MACHINE}:${TARGET_OS}:${TARGET_ARCH}" > @@ -40,7 +38,6 @@ PV =3D > "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] > or '1.0 S =3D "${WORKDIR}/${P}" SRC_URI =3D "file://${FILE}" > STAMP =3D "${TMPDIR}/stamps/${PF}" > -SVNDIR =3D "${DL_DIR}/svn" > T =3D "${WORKDIR}/temp" > TARGET_ARCH =3D "${BUILD_ARCH}" > TMPDIR =3D "${TOPDIR}/tmp" > diff --git a/bitbake/contrib/autobuilderlog.json > b/bitbake/contrib/autobuilderlog.json new file mode 100644 > index 0000000..193a675 > --- /dev/null > +++ b/bitbake/contrib/autobuilderlog.json > @@ -0,0 +1,13 @@ > +{ > + "version": 1, > + "loggers": { > + "BitBake.SigGen.HashEquiv": { > + "level": "VERBOSE", > + "handlers": ["BitBake.verbconsole"] > + }, > + "BitBake.RunQueue.HashEquiv": { > + "level": "VERBOSE", > + "handlers": ["BitBake.verbconsole"] > + } > + } > +} > diff --git a/bitbake/contrib/vim/indent/bitbake.vim > b/bitbake/contrib/vim/indent/bitbake.vim new file mode 100644 > index 0000000..1381034 > --- /dev/null > +++ b/bitbake/contrib/vim/indent/bitbake.vim > @@ -0,0 +1,343 @@ > +" Vim indent file > +" Language: BitBake > +" Copyright: Copyright (C) 2019 Agilent Technologies, Inc. > +" Maintainer: Chris Laplante > +" License: You may redistribute this under the same > terms as Vim itself + > + > +if exists("b:did_indent") > + finish > +endif > + > +if exists("*BitbakeIndent") > + finish > +endif > + > +runtime! indent/sh.vim > +unlet b:did_indent > + > +setlocal indentexpr=3DBitbakeIndent(v:lnum) > +setlocal autoindent nolisp > + > +function s:is_bb_python_func_def(lnum) > + let stack =3D synstack(a:lnum, 1) > + if len(stack) =3D=3D 0 > + return 0 > + endif > + > + let top =3D synIDattr(stack[0], "name") > + echo top > + > + return synIDattr(stack[0], "name") =3D=3D "bbPyFuncDef" > +endfunction > + > +"""" begin modified from indent/python.vim, upstream commit > 7a9bd7c1e0ce1baf5a02daf36eeae3638aa315c7 +"""" This copied code is > licensed the same as Vim itself. +setlocal > indentkeys+=3D<:>,=3Delif,=3Dexcept + > +let s:keepcpo=3D &cpo > +set cpo&vim > + > +let s:maxoff =3D 50 " maximum number of lines to look backwards > for () + > +function GetPythonIndent(lnum) > + > + " If this line is explicitly joined: If the previous line was also > joined, > + " line it up with that one, otherwise add two 'shiftwidth' > + if getline(a:lnum - 1) =3D~ '\\$' > + if a:lnum > 1 && getline(a:lnum - 2) =3D~ '\\$' > + return indent(a:lnum - 1) > + endif > + return indent(a:lnum - 1) + (exists("g:pyindent_continue") ? > eval(g:pyindent_continue) : (shiftwidth() * 2)) > + endif > + > + " If the start of the line is in a string don't change the indent. > + if has('syntax_items') > + \ && synIDattr(synID(a:lnum, 1, 1), "name") =3D~ "String$" > + return -1 > + endif > + > + " Search backwards for the previous non-empty line. > + let plnum =3D prevnonblank(v:lnum - 1) > + > + if plnum =3D=3D 0 > + " This is the first non-empty line, use zero indent. > + return 0 > + endif > + > + call cursor(plnum, 1) > + > + " Identing inside parentheses can be very slow, regardless of the > searchpair() > + " timeout, so let the user disable this feature if he doesn't need > it > + let disable_parentheses_indenting =3D get(g:, > "pyindent_disable_parentheses_indenting", 0) + > + if disable_parentheses_indenting =3D=3D 1 > + let plindent =3D indent(plnum) > + let plnumstart =3D plnum > + else > + " searchpair() can be slow sometimes, limit the time to 150 msec > or what is > + " put in g:pyindent_searchpair_timeout > + let searchpair_stopline =3D 0 > + let searchpair_timeout =3D get(g:, 'pyindent_searchpair_timeout', > 150) + > + " If the previous line is inside parenthesis, use the indent of > the starting > + " line. > + " Trick: use the non-existing "dummy" variable to break out of > the loop when > + " going too far back. > + let parlnum =3D searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW', > + \ "line('.') < " . (plnum - s:maxoff) . " ? dummy :" > + \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" > + \ . " =3D~ '\\(Comment\\|Todo\\|String\\)$'", > + \ searchpair_stopline, searchpair_timeout) > + if parlnum > 0 > + " We may have found the opening brace of a BitBake Python > task, e.g. 'python do_task {' > + " If so, ignore it here - it will be handled later. > + if s:is_bb_python_func_def(parlnum) > + let parlnum =3D 0 > + let plindent =3D indent(plnum) > + let plnumstart =3D plnum > + else > + let plindent =3D indent(parlnum) > + let plnumstart =3D parlnum > + endif > + else > + let plindent =3D indent(plnum) > + let plnumstart =3D plnum > + endif > + > + " When inside parenthesis: If at the first line below the > parenthesis add > + " two 'shiftwidth', otherwise same as previous line. > + " i =3D (a > + " + b > + " + c) > + call cursor(a:lnum, 1) > + let p =3D searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW', > + \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :" > + \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" > + \ . " =3D~ '\\(Comment\\|Todo\\|String\\)$'", > + \ searchpair_stopline, searchpair_timeout) > + if p > 0 > + if s:is_bb_python_func_def(p) > + " Handle first non-empty line inside a BB Python task > + if p =3D=3D plnum > + return shiftwidth() > + endif > + > + " Handle the user actually trying to close a BitBake > Python task > + let line =3D getline(a:lnum) > + if line =3D~ '^\s*}' > + return -2 > + endif > + > + " Otherwise ignore the brace > + let p =3D 0 > + else > + if p =3D=3D plnum > + " When the start is inside parenthesis, only indent one > 'shiftwidth'. > + let pp =3D searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW', > + \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :" > + \ . " synIDattr(synID(line('.'), col('.'), 1), > 'name')" > + \ . " =3D~ '\\(Comment\\|Todo\\|String\\)$'", > + \ searchpair_stopline, searchpair_timeout) > + if pp > 0 > + return indent(plnum) + > (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : > shiftwidth()) > + endif > + return indent(plnum) + (exists("g:pyindent_open_paren") > ? eval(g:pyindent_open_paren) : (shiftwidth() * 2)) > + endif > + if plnumstart =3D=3D p > + return indent(plnum) > + endif > + return plindent > + endif > + endif > + > + endif > + > + > + " Get the line and remove a trailing comment. > + " Use syntax highlighting attributes when possible. > + let pline =3D getline(plnum) > + let pline_len =3D strlen(pline) > + if has('syntax_items') > + " If the last character in the line is a comment, do a binary > search for > + " the start of the comment. synID() is slow, a linear search > would take > + " too long on a long line. > + if synIDattr(synID(plnum, pline_len, 1), "name") =3D~ > "\\(Comment\\|Todo\\)$" > + let min =3D 1 > + let max =3D pline_len > + while min < max > + let col =3D (min + max) / 2 > + if synIDattr(synID(plnum, col, 1), "name") =3D~ > "\\(Comment\\|Todo\\)$" > + let max =3D col > + else > + let min =3D col + 1 > + endif > + endwhile > + let pline =3D strpart(pline, 0, min - 1) > + endif > + else > + let col =3D 0 > + while col < pline_len > + if pline[col] =3D=3D '#' > + let pline =3D strpart(pline, 0, col) > + break > + endif > + let col =3D col + 1 > + endwhile > + endif > + > + " If the previous line ended with a colon, indent this line > + if pline =3D~ ':\s*$' > + return plindent + shiftwidth() > + endif > + > + " If the previous line was a stop-execution statement... > + " TODO: utilize this logic to deindent when ending a bbPyDefRegion > + if getline(plnum) =3D~ > '^\s*\(break\|continue\|raise\|return\|pass\|bb\.fatal\)\>' > + " See if the user has already dedented > + if indent(a:lnum) > indent(plnum) - shiftwidth() > + " If not, recommend one dedent > + return indent(plnum) - shiftwidth() > + endif > + " Otherwise, trust the user > + return -1 > + endif > + > + " If the current line begins with a keyword that lines up with > "try" > + if getline(a:lnum) =3D~ '^\s*\(except\|finally\)\>' > + let lnum =3D a:lnum - 1 > + while lnum >=3D 1 > + if getline(lnum) =3D~ '^\s*\(try\|except\)\>' > + let ind =3D indent(lnum) > + if ind >=3D indent(a:lnum) > + return -1 " indent is already less than this > + endif > + return ind " line up with previous try or except > + endif > + let lnum =3D lnum - 1 > + endwhile > + return -1 " no matching "try"! > + endif > + > + " If the current line begins with a header keyword, dedent > + if getline(a:lnum) =3D~ '^\s*\(elif\|else\)\>' > + > + " Unless the previous line was a one-liner > + if getline(plnumstart) =3D~ '^\s*\(for\|if\|try\)\>' > + return plindent > + endif > + > + " Or the user has already dedented > + if indent(a:lnum) <=3D plindent - shiftwidth() > + return -1 > + endif > + > + return plindent - shiftwidth() > + endif > + > + " When after a () construct we probably want to go back to the > start line. > + " a =3D (b > + " + c) > + " here > + if parlnum > 0 > + return plindent > + endif > + > + return -1 > + > +endfunction > + > +let &cpo =3D s:keepcpo > +unlet s:keepcpo > + > +""" end of stuff from indent/python.vim > + > + > +let b:did_indent =3D 1 > +setlocal indentkeys+=3D0\" > + > + > +function BitbakeIndent(lnum) > + if !has('syntax_items') > + return -1 > + endif > + > + let stack =3D synstack(a:lnum, 1) > + if len(stack) =3D=3D 0 > + return -1 > + endif > + > + let name =3D synIDattr(stack[0], "name") > + > + " TODO: support different styles of indentation for assignments. > For now, > + " we only support like this: > + " VAR =3D " \ > + " value1 \ > + " value2 \ > + " " > + " > + " i.e. each value indented by shiftwidth(), with the final quote > " completely unindented. > + if name =3D=3D "bbVarValue" > + " Quote handling is tricky. kernel.bbclass has this line for > instance: > + " EXTRA_OEMAKE =3D " HOSTCC=3D"${BUILD_CC} ${BUILD_CFLAGS} > ${BUILD_LDFLAGS}" " HOSTCPP=3D"${BUILD_CPP}"" > + " Instead of trying to handle crazy cases like that, just > assume that a > + " double-quote on a line by itself (following an assignment) > means the > + " user is closing the assignment, and de-dent. > + if getline(a:lnum) =3D~ '^\s*"$' > + return 0 > + endif > + > + let prevstack =3D synstack(a:lnum - 1, 1) > + if len(prevstack) =3D=3D 0 > + return -1 > + endif > + > + let prevname =3D synIDattr(prevstack[0], "name") > + > + " Only indent if there was actually a continuation character > on > + " the previous line, to avoid misleading indentation. > + let prevlinelastchar =3D synIDattr(synID(a:lnum - 1, > col([a:lnum - 1, "$"]) - 1, 1), "name") > + let prev_continued =3D prevlinelastchar =3D=3D "bbContinue" > + > + " Did the previous line introduce an assignment? > + if index(["bbVarDef", "bbVarFlagDef"], prevname) !=3D -1 > + if prev_continued > + return shiftwidth() > + endif > + endif > + > + if !prev_continued > + return 0 > + endif > + > + " Autoindent can take it from here > + return -1 > + endif > + > + if index(["bbPyDefRegion", "bbPyFuncRegion"], name) !=3D -1 > + let ret =3D GetPythonIndent(a:lnum) > + " Should normally always be indented by at least one > shiftwidth; but allow > + " return of -1 (defer to autoindent) or -2 (force indent to > 0) > + if ret =3D=3D 0 > + return shiftwidth() > + elseif ret =3D=3D -2 > + return 0 > + endif > + return ret > + endif > + > + " TODO: GetShIndent doesn't detect tasks prepended with > 'fakeroot' > + " Need to submit a patch upstream to Vim to provide an extension > point. > + " Unlike the Python indenter, the Sh indenter is way too large > to copy and > + " modify here. > + if name =3D=3D "bbShFuncRegion" > + return GetShIndent() > + endif > + > + " TODO: > + " + heuristics for de-denting out of a bbPyDefRegion? e.g. > when the user > + " types an obvious BB keyword like addhandler or addtask, > or starts > + " writing a shell task. Maybe too hard to implement... > + > + return -1 > +endfunction > diff --git > a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml > b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml > index 46dafee..e4251df 100644 --- > a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml > +++ > b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml > @@ -113,7 +113,7 @@ > - Prior to parsing configuration files, Bitbake looks > + Prior to parsing configuration files, BitBake looks > at certain variables, including: > > > @@ -339,7 +339,7 @@ > linkend=3D'var-bb-BB_HASHCONFIG_WHITELIST'>BB_HASHCONFIG_WHITEL= IST) > and then checking if the checksum matches. If that checksum matches > what is in the cache and the recipe > - and class files have not changed, Bitbake is able to use > + and class files have not changed, BitBake is able to use > the cache. > BitBake then reloads the cached information about the > recipe instead of reparsing it from scratch. > @@ -429,7 +429,7 @@ > The default > linkend=3D'var-bb-PREFERRED_PROVIDER'>PREFERRED_PROVIDER > is the provider with the same name as the target. > - Bitbake iterates through each target it needs to build > and > + BitBake iterates through each target it needs to build > and resolves them and their dependencies using this process. > > =20 > @@ -618,12 +618,12 @@ > > Tasks can be either a shell task or a Python task. > For shell tasks, BitBake writes a shell script to > - ${ linkend=3D'var-bb-T'>T}/run.do_task= name.pid > + ${ linkend=3D'var-bb-T'>T}/run.do_task= name.pid > and then executes the script. The generated shell script contains all > the exported variables, and the shell functions with all variables > expanded. Output from the shell script goes to the file > - ${T}/log.do_taskname.pid. > + > ${T}/log.do_taskname.pid. > Looking at the expanded shell functions in the run file and the > output in the log files is a useful debugging technique. > @@ -821,7 +821,7 @@ > =20 > > It is worth noting that BitBake's "-S" option lets you > - debug Bitbake's processing of signatures. > + debug BitBake's processing of signatures. > The options passed to -S allow different debugging modes > to be used, either using BitBake's own debug functions > or possibly those defined in the metadata/signature > handler @@ -929,4 +929,101 @@ > section. > > > + > +
> + Logging > + > + In addition to the standard command line option to > control how > + verbose builds are when execute, bitbake also supports > user defined > + configuration of the > + url=3D'https://docs.python.org/3/library/logging.html'>Python > logging > + facilities through the > + linkend=3D"var-bb-BB_LOGCONFIG">BB_LOGCONFIG > + variable. This variable defines a json or yaml > + url=3D'https://docs.python.org/3/library/logging.config.html'>logging > configuration > + that will be intelligently merged into the default > configuration. > + The logging configuration is merged using the following > rules: > + > + > + The user defined configuration will completely > replace the default > + configuration if top level key > + bitbake_merge is set to the > value > + False. In this case, all > other rules > + are ignored. > + > + > + The user configuration must have a top level > + version which must match > the value of > + the default configuration. > + > + > + Any keys defined in the > handlers, > + formatters, or > filters, > + will be merged into the same section in the > default > + configuration, with the user specified keys > taking > + replacing a default one if there is a conflict. > In > + practice, this means that if both the default > configuration > + and user configuration specify a handler named > + myhandler, the user defined > one will > + replace the default. To prevent the user from > inadvertently > + replacing a default handler, formatter, or > filter, all of > + the default ones are named with a prefix of > + "BitBake." > + > + > + If a logger is defined by the user with the key > + bitbake_merge set to > + False, that logger will be > completely > + replaced by user configuration. In this case, no > other > + rules will apply to that logger. > + > + > + All user defined filter and > + handlers properties for a > given logger > + will be merged with corresponding properties > from the > + default logger. For example, if the user > configuration adds > + a filter called myFilter to > the > + BitBake.SigGen, and the > default > + configuration adds a filter called > + BitBake.defaultFilter, both > filters > + will be applied to the logger > + > + > + > + > + > + As an example, consider the following user logging > configuration > + file which logs all Hash Equivalence related messages of > VERBOSE or > + higher to a file called > hashequiv.log > + > + { > + "version": 1, > + "handlers": { > + "autobuilderlog": { > + "class": "logging.FileHandler", > + "formatter": "logfileFormatter", > + "level": "DEBUG", > + "filename": "hashequiv.log", > + "mode": "w" > + } > + }, > + "formatters": { > + "logfileFormatter": { > + "format": "%(name)s: %(levelname)s: %(message)s" > + } > + }, > + "loggers": { > + "BitBake.SigGen.HashEquiv": { > + "level": "VERBOSE", > + "handlers": ["autobuilderlog"] > + }, > + "BitBake.RunQueue.HashEquiv": { > + "level": "VERBOSE", > + "handlers": ["autobuilderlog"] > + } > + } > + } > + > + > +
> > diff --git > a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml > b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml > index 6840408..d1bfc23 100644 --- > a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml > +++ > b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml @@ > -139,7 +139,7 @@
> - Since network accesses are slow, Bitbake maintains a > + Since network accesses are slow, BitBake maintains a > cache of files downloaded from the network. > Any source files that are not local (i.e. > downloaded from the Internet) are placed into the > download diff --git > a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml > b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml index > 39066e4..11eb36a 100644 --- > a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml +++ > b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml @@ > -166,7 +166,7 @@ Having a project directory is a good way to isolate > your project. > - Run Bitbake: > + Run BitBake: > At this point, you have nothing but a project > directory. Run the bitbake command and see what > it does: > @@ -197,7 +197,7 @@ > linkend=3D'var-bb-BBPATH'>BBPATH variable > is what tells BitBake where to look for those files. > BBPATH is not set and you need to set it. > - Without BBPATH, Bitbake cannot > + Without BBPATH, BitBake cannot > find any configuration files > (.conf) or recipe files > (.bb) at all. BitBake also cannot find the > bitbake.conf @@ -225,7 +225,7 @@ > as the shell would. > > > - Run Bitbake: > + Run BitBake: > Now that you have BBPATH > defined, run the bitbake command again: > > @@ -313,7 +313,7 @@ > example, click on the links to take you to the > definitions in the glossary. > > - Run Bitbake: > + Run BitBake: > After making sure that the > conf/bitbake.conf file exists, you can run the > bitbake command again: > @@ -364,7 +364,7 @@ > more depending on which build environments BitBake is > supporting. > > - Run Bitbake: > + Run BitBake: > After making sure that the > classes/base.bbclass file exists, you can run > the bitbake command again: > @@ -434,7 +434,7 @@ > For more information on these variables, follow the > links to the glossary. > > - Run Bitbake With a > Target: > + Run BitBake With a > Target: Now that a BitBake target exists, run the command > and provide that target: > > @@ -468,7 +468,7 @@ > You need to provide your own information for > you in the file. > > - Run Bitbake With a > Target: > + Run BitBake With a > Target: Now that you have supplied the > bblayers.conf file, run the > bitbake command and provide the target: > diff --git > a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml > b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml index > 8f2a960..995c2fa 100644 --- > a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml +++ > b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml @@ > -127,7 +127,7 @@ (e.g. Cygwin, the BSDs, and so forth). > > - Be self contained, rather than tightly > + Be self-contained, rather than tightly > integrated into the build machine's root > filesystem. > > @@ -221,6 +221,8 @@ > them > How to configure and compile the > source code > + How to assemble the generated > artifacts into > + one or more installable > packages Where on the target > machine to install the package or packages created > > @@ -229,7 +231,7 @@ > > Within the context of BitBake, or any project > utilizing BitBake as its build system, files with the > .bb > - extension are referred to as recipes. > + extension are referred to as > recipes. > The term "package" is also commonly used to > describe recipes. However, since the same word is used to describe > packaged @@ -252,9 +254,9 @@ > various configuration variables that govern the > project's build process. > These files fall into several areas that define > - machine configuration options, distribution > configuration > - options, compiler tuning options, general common > - configuration options, and user configuration > options. > + machine configuration, distribution configuration, > + possible compiler tuning, general common > + configuration, and user configuration. > The main configuration file is the sample > bitbake.conf file, which is > located within the BitBake source tree > @@ -292,7 +294,7 @@ > Layers allow you to isolate different types of > customizations from each other. > While you might find it tempting to keep everything > in one layer > - when working on a single project, the more modular > you organize > + when working on a single project, the more modular > your metadata, the easier it is to cope with future > changes. > =20 > @@ -300,8 +302,8 @@ > To illustrate how you can use layers to keep things > modular, consider customizations you might make to support a specific > target machine. These types of customizations typically reside in a > special layer, > - rather than a general layer, called a Board Support > Package (BSP) > - Layer. > + rather than a general layer, called a > Board Support Package (BSP) > + layer. > Furthermore, the machine customizations should be > isolated from recipes and metadata that support a new GUI > environment, for example. > @@ -448,7 +450,7 @@ > Using the BitBake that > Comes With Your Build Checkout: > A final possibility for getting a copy of > BitBake is that it > - already comes with your checkout of a larger > Bitbake-based build > + already comes with your checkout of a larger > BitBake-based build system, such as Poky. > Rather than manually checking out individual > layers and gluing them together yourself, you can check > @@ -692,14 +694,9 @@ > > =20 > > - When you generate a dependency graph, BitBake > writes three files > + When you generate a dependency graph, BitBake > writes two files to the current working directory: > > - > - > recipe-depends.dot: > - Shows dependencies between recipes (i.e. > a collapsed version of > - task-depends.dot). > - > > task-depends.dot: > Shows dependencies between tasks. > diff --git > a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml > b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml > index 421364c..0ca5321 100644 --- > a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml > +++ > b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml @@ > -5,7 +5,7 @@ Syntax and Operators > - Bitbake files have their own syntax. > + BitBake files have their own syntax. > The syntax has similarities to several > other languages but also has some unique features. > This section describes the available syntax and operators > @@ -294,17 +294,20 @@ > rather than when the variable is actually used: > > T =3D "123" > - A :=3D "${B} ${A} test ${T}" > + A :=3D "test ${T}" > T =3D "456" > - B =3D "${T} bval" > + B :=3D "${T} ${C}" > C =3D "cval" > C :=3D "${C}append" > > In this example, A contains > - "test 123" because ${B} and > - ${A} at the time of parsing are > undefined, > - which leaves "test 123". > - And, the variable C > + "test 123", even though the final value of > T > + is "456". > + The variable B will end up > containing "456 cvalappend". > + This is because references to undefined variables > are preserved as is > + during (immediate)expansion. This is in contrast to > GNU Make, where undefined > + variables expand to nothing. > + The variable C > contains "cvalappend" since > ${C} immediately expands to "cval". > > @@ -429,7 +432,7 @@ > The variable FOO becomes > "  789 123456    " > and FOO2 becomes > - > "     jkl  abcdef   &nb= sp;  ". > + > "     abcdef      = ". > =20 > > @@ -1414,7 +1417,7 @@ > > =20 >
id=3D'bitbake-style-python-functions-versus-python-functions'> > - Bitbake-Style Python Functions Versus Python > Functions > + BitBake-Style Python Functions Versus Python > Functions=20 > > Following are some important differences between > @@ -1864,7 +1867,7 @@ > accessing your > $HOME/.ccache directory. > The following command "whitelists" the > environment variable > - CCACHE_DIR causing > BitBack to allow that > + CCACHE_DIR causing > BitBake to allow that variable into the datastore: > > export BB_ENV_EXTRAWHITE=3D"$BB_ENV_EXTRAWHITE CCACHE_DIR" > @@ -1895,7 +1898,7 @@ > > Sometimes, it is useful to be able to obtain > information from the original execution environment. > - Bitbake saves a copy of the original environment into > + BitBake saves a copy of the original environment into > a special variable named > linkend=3D'var-bb-BB_ORIGENV'>BB_ORIGENV. > @@ -2523,6 +2526,9 @@ > In the previous example, the > do_packagedata task of each item in > RDEPENDS must have completed before > do_package_qa can execute. > + Although RDEPENDS contains > entries from the > + runtime dependency namespace, BitBake knows how to > map them back > + to the build-time dependency namespace, in which the > tasks are defined. >
> =20 > @@ -2559,15 +2565,17 @@ >
> =20 > > - You might want to not only have BitBake look for > - dependencies of those tasks, but also have BitBake > look > - for build-time and runtime dependencies of the > dependent > - tasks as well. > - If that is the case, you need to reference the task > name > - itself in the task list: > + BitBake allows a task to recursively depend on > itself by > + referencing itself in the task list: > > do_a[recrdeptask] =3D "do_a do_b" > > + In the same way as before, this means that the > do_a > + and do_b tasks of the current > recipe and all > + recipes reachable (by way of dependencies) from the > recipe > + must run before the do_a task > can run. In this > + case BitBake will ignore the current recipe's > do_a > + task circular dependency on itself. > > > =20 > @@ -2616,7 +2624,7 @@ > > It is often necessary to access variables in the > BitBake datastore using Python functions. > - The Bitbake datastore has an API that allows you this > + The BitBake datastore has an API that allows you this > access. > Here is a list of available operations: > > diff --git > a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml > b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml > index aca6741..c4bd1f2 100644 --- > a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml > +++ > b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml > @@ -539,6 +539,17 @@ =20 > + id=3D'var-bb-BB_LOGCONFIG'>BB_LOGCONFIG > + > + > + Specifies the name of a config file that > contains the user > + logging configuration. See > + Logging for > additional > + information > + > + > + > + > id=3D'var-bb-BB_LOGFMT'>BB_LOGFMT > > @@ -1780,7 +1791,7 @@ > > =20 > > - Bitbake normally issues a warning when building > two > + BitBake normally issues a warning when building > two different recipes where each provides the same output. > This scenario is usually something the user does > not want. > diff --git a/bitbake/lib/bb/COW.py b/bitbake/lib/bb/COW.py > index d26e981..bc20ce3 100644 > --- a/bitbake/lib/bb/COW.py > +++ b/bitbake/lib/bb/COW.py > @@ -10,7 +10,6 @@ > =20 > =20 > import copy > -import types > ImmutableTypes =3D ( > bool, > complex, > diff --git a/bitbake/lib/bb/__init__.py b/bitbake/lib/bb/__init__.py > index c144311..b96466e 100644 > --- a/bitbake/lib/bb/__init__.py > +++ b/bitbake/lib/bb/__init__.py > @@ -9,11 +9,11 @@ > # SPDX-License-Identifier: GPL-2.0-only > # > =20 > -__version__ =3D "1.44.0" > +__version__ =3D "1.46.0" > =20 > import sys > -if sys.version_info < (3, 4, 0): > - raise RuntimeError("Sorry, python 3.4.0 or later is required for > this version of bitbake") +if sys.version_info < (3, 5, 0): > + raise RuntimeError("Sorry, python 3.5.0 or later is required for > this version of bitbake")=20 > =20 > class BBHandledException(Exception): > @@ -43,7 +43,13 @@ class BBLogger(Logger): > Logger.__init__(self, name) > =20 > def bbdebug(self, level, msg, *args, **kwargs): > - return self.log(logging.DEBUG - level + 1, msg, *args, > **kwargs) > + loglevel =3D logging.DEBUG - level + 1 > + if not bb.event.worker_pid: > + if self.name in bb.msg.loggerDefaultDomains and loglevel > > (bb.msg.loggerDefaultDomains[self.name]): > + return > + if loglevel > bb.msg.loggerDefaultLogLevel: > + return > + return self.log(loglevel, msg, *args, **kwargs) > =20 > def plain(self, msg, *args, **kwargs): > return self.log(logging.INFO + 1, msg, *args, **kwargs) > diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py > index 30a2ba2..23b6ee4 100644 > --- a/bitbake/lib/bb/build.py > +++ b/bitbake/lib/bb/build.py > @@ -15,7 +15,6 @@ > import os > import sys > import logging > -import shlex > import glob > import time > import stat > @@ -57,14 +56,17 @@ builtins['os'] =3D os > class TaskBase(event.Event): > """Base class for task events""" > =20 > - def __init__(self, t, logfile, d): > + def __init__(self, t, fn, logfile, d): > self._task =3D t > + self._fn =3D fn > self._package =3D d.getVar("PF") > self._mc =3D d.getVar("BB_CURRENT_MC") > self.taskfile =3D d.getVar("FILE") > self.taskname =3D self._task > self.logfile =3D logfile > self.time =3D time.time() > + self.pn =3D d.getVar("PN") > + self.pv =3D d.getVar("PV") > event.Event.__init__(self) > self._message =3D "recipe %s: task %s: %s" % (d.getVar("PF"), > t, self.getDisplayName())=20 > @@ -81,8 +83,8 @@ class TaskBase(event.Event): > =20 > class TaskStarted(TaskBase): > """Task execution started""" > - def __init__(self, t, logfile, taskflags, d): > - super(TaskStarted, self).__init__(t, logfile, d) > + def __init__(self, t, fn, logfile, taskflags, d): > + super(TaskStarted, self).__init__(t, fn, logfile, d) > self.taskflags =3D taskflags > =20 > class TaskSucceeded(TaskBase): > @@ -91,9 +93,9 @@ class TaskSucceeded(TaskBase): > class TaskFailed(TaskBase): > """Task execution failed""" > =20 > - def __init__(self, task, logfile, metadata, errprinted =3D False): > + def __init__(self, task, fn, logfile, metadata, errprinted =3D > False): self.errprinted =3D errprinted > - super(TaskFailed, self).__init__(task, logfile, metadata) > + super(TaskFailed, self).__init__(task, fn, logfile, metadata) > =20 > class TaskFailedSilent(TaskBase): > """Task execution failed (silently)""" > @@ -103,8 +105,8 @@ class TaskFailedSilent(TaskBase): > =20 > class TaskInvalid(TaskBase): > =20 > - def __init__(self, task, metadata): > - super(TaskInvalid, self).__init__(task, None, metadata) > + def __init__(self, task, fn, metadata): > + super(TaskInvalid, self).__init__(task, fn, None, metadata) > self._message =3D "No such task '%s'" % task > =20 > class TaskProgress(event.Event): > @@ -572,7 +574,7 @@ def _exec_task(fn, task, d, quieterr): > =20 > try: > try: > - event.fire(TaskStarted(task, logfn, flags, localdata), > localdata) > + event.fire(TaskStarted(task, fn, logfn, flags, > localdata), localdata) except (bb.BBHandledException, SystemExit): > return 1 > =20 > @@ -583,15 +585,15 @@ def _exec_task(fn, task, d, quieterr): > for func in (postfuncs or '').split(): > exec_func(func, localdata) > except bb.BBHandledException: > - event.fire(TaskFailed(task, logfn, localdata, True), > localdata) > + event.fire(TaskFailed(task, fn, logfn, localdata, True), > localdata) return 1 > except Exception as exc: > if quieterr: > - event.fire(TaskFailedSilent(task, logfn, localdata), > localdata) > + event.fire(TaskFailedSilent(task, fn, logfn, > localdata), localdata) else: > errprinted =3D errchk.triggered > logger.error(str(exc)) > - event.fire(TaskFailed(task, logfn, localdata, > errprinted), localdata) > + event.fire(TaskFailed(task, fn, logfn, localdata, > errprinted), localdata) return 1 > finally: > sys.stdout.flush() > @@ -614,7 +616,7 @@ def _exec_task(fn, task, d, quieterr): > logger.debug(2, "Zero size logfn %s, removing", logfn) > bb.utils.remove(logfn) > bb.utils.remove(loglink) > - event.fire(TaskSucceeded(task, logfn, localdata), localdata) > + event.fire(TaskSucceeded(task, fn, logfn, localdata), localdata) > =20 > if not localdata.getVarFlag(task, 'nostamp', False) and not > localdata.getVarFlag(task, 'selfstamp', False): make_stamp(task, > localdata) diff --git a/bitbake/lib/bb/cache.py > b/bitbake/lib/bb/cache.py index b6f7da5..d1be836 100644 > --- a/bitbake/lib/bb/cache.py > +++ b/bitbake/lib/bb/cache.py > @@ -17,11 +17,11 @@ > # > =20 > import os > -import sys > import logging > import pickle > from collections import defaultdict > import bb.utils > +import re > =20 > logger =3D logging.getLogger("BitBake.Cache") > =20 > @@ -208,10 +208,10 @@ class CoreRecipeInfo(RecipeInfoCommon): > =20 > # Collect files we may need for possible world-dep > # calculations > - if self.not_world: > - logger.debug(1, "EXCLUDE FROM WORLD: %s", fn) > - else: > + if not self.not_world: > cachedata.possible_world.append(fn) > + #else: > + # logger.debug(2, "EXCLUDE FROM WORLD: %s", fn) > =20 > # create a collection of all targets for sanity checking > # tasks, such as upstream versions, license, and tools for > @@ -370,6 +370,7 @@ class Cache(NoCache): > self.data_fn =3D None > self.cacheclean =3D True > self.data_hash =3D data_hash > + self.filelist_regex =3D > re.compile(r'(?:(?<=3D:True)|(?<=3D:False))\s+')=20 > if self.cachedir in [None, '']: > self.has_cache =3D False > @@ -608,20 +609,12 @@ class Cache(NoCache): > if hasattr(info_array[0], 'file_checksums'): > for _, fl in info_array[0].file_checksums.items(): > fl =3D fl.strip() > - while fl: > - # A .split() would be simpler but means spaces > or colons in filenames would break > - a =3D fl.find(":True") > - b =3D fl.find(":False") > - if ((a < 0) and b) or ((b > 0) and (b < a)): > - f =3D fl[:b+6] > - fl =3D fl[b+7:] > - elif ((b < 0) and a) or ((a > 0) and (a < b)): > - f =3D fl[:a+5] > - fl =3D fl[a+6:] > - else: > - break > - fl =3D fl.strip() > - if "*" in f: > + if not fl: > + continue > + # Have to be careful about spaces and colons in > filenames > + flist =3D self.filelist_regex.split(fl) > + for f in flist: > + if not f or "*" in f: > continue > f, exist =3D f.split(":") > if (exist =3D=3D "True" and not os.path.exists(f)) > or (exist =3D=3D "False" and os.path.exists(f)): diff --git > a/bitbake/lib/bb/checksum.py b/bitbake/lib/bb/checksum.py index > 5bc8a8f..1d50a26 100644 --- a/bitbake/lib/bb/checksum.py > +++ b/bitbake/lib/bb/checksum.py > @@ -9,7 +9,6 @@ import glob > import operator > import os > import stat > -import pickle > import bb.utils > import logging > from bb.cache import MultiProcessCache > @@ -74,7 +73,7 @@ class FileChecksumCache(MultiProcessCache): > else: > dest[0][h] =3D source[0][h] > =20 > - def get_checksums(self, filelist, pn): > + def get_checksums(self, filelist, pn, localdirsexclude): > """Get checksums for a list of files""" > =20 > def checksum_file(f): > @@ -90,7 +89,8 @@ class FileChecksumCache(MultiProcessCache): > if pth =3D=3D "/": > bb.fatal("Refusing to checksum /") > dirchecksums =3D [] > - for root, dirs, files in os.walk(pth): > + for root, dirs, files in os.walk(pth, topdown=3DTrue): > + [dirs.remove(d) for d in list(dirs) if d in > localdirsexclude] for name in files: > fullpth =3D os.path.join(root, name) > checksum =3D checksum_file(fullpth) > diff --git a/bitbake/lib/bb/codeparser.py > b/bitbake/lib/bb/codeparser.py index fd2c473..25a7ac6 100644 > --- a/bitbake/lib/bb/codeparser.py > +++ b/bitbake/lib/bb/codeparser.py > @@ -25,13 +25,11 @@ import ast > import sys > import codegen > import logging > -import pickle > import bb.pysh as pysh > -import os.path > import bb.utils, bb.data > import hashlib > from itertools import chain > -from bb.pysh import pyshyacc, pyshlex, sherrors > +from bb.pysh import pyshyacc, pyshlex > from bb.cache import MultiProcessCache > =20 > logger =3D logging.getLogger('BitBake.CodeParser') > @@ -58,30 +56,10 @@ def check_indent(codestr): > =20 > return codestr > =20 > - > -# Basically pickle, in python 2.7.3 at least, does badly with data > duplication -# upon pickling and unpickling. Combine this with > duplicate objects and things -# are a mess. > -# > -# When the sets are originally created, python calls intern() on the > set keys -# which significantly improves memory usage. Sadly the > pickle/unpickle process -# doesn't call intern() on the keys and > results in the same strings being duplicated -# in memory. This also > means pickle will save the same string multiple times in -# the cache > file. -# > -# By having shell and python cacheline objects with > setstate/getstate, we force -# the object creation through our own > routine where we can call intern (via internSet). -# > -# We also use hashable frozensets and ensure we use references to > these so that -# duplicates can be removed, both in memory and in the > resulting pickled data. -# > -# By playing these games, the size of the cache file shrinks > dramatically -# meaning faster load times and the reloaded cache > files also consume much less -# memory. Smaller cache files, faster > load times and lower memory usage is good. -# > # A custom getstate/setstate using tuples is actually worth 15% > cachesize by # avoiding duplication of the attribute names! > =20 > + > class SetCache(object): > def __init__(self): > self.setcache =3D {} > diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py > index 378f389..6abf386 100644 > --- a/bitbake/lib/bb/command.py > +++ b/bitbake/lib/bb/command.py > @@ -65,7 +65,7 @@ class Command: > # Can run synchronous commands straight away > command_method =3D getattr(self.cmds_sync, command) > if ro_only: > - if not hasattr(command_method, 'readonly') or False > =3D=3D getattr(command_method, 'readonly'): > + if not hasattr(command_method, 'readonly') or not > getattr(command_method, 'readonly'): return None, "Not able to > execute not readonly commands in readonly mode" try: > self.cooker.process_inotify_updates() > @@ -414,7 +414,11 @@ class CommandsSync: > getAllAppends.readonly =3D True > =20 > def findProviders(self, command, params): > - return command.cooker.findProviders() > + try: > + mc =3D params[0] > + except IndexError: > + mc =3D '' > + return command.cooker.findProviders(mc) > findProviders.readonly =3D True > =20 > def findBestProvider(self, command, params): > @@ -446,54 +450,38 @@ class CommandsSync: > return all_p, best > getRuntimeProviders.readonly =3D True > =20 > - def dataStoreConnectorFindVar(self, command, params): > + def dataStoreConnectorCmd(self, command, params): > dsindex =3D params[0] > - name =3D params[1] > - datastore =3D command.remotedatastores[dsindex] > - value, overridedata =3D datastore._findVar(name) > - > - if value: > - content =3D value.get('_content', None) > - if isinstance(content, bb.data_smart.DataSmart): > - # Value is a datastore (e.g. BB_ORIGENV) - need to > handle this carefully > - idx =3D command.remotedatastores.check_store(content, > True) > - return {'_content': DataStoreConnectionHandle(idx), > - '_connector_origtype': > 'DataStoreConnectionHandle', > - '_connector_overrides': overridedata} > - elif isinstance(content, set): > - return {'_content': list(content), > - '_connector_origtype': 'set', > - '_connector_overrides': overridedata} > - else: > - value['_connector_overrides'] =3D overridedata > - else: > - value =3D {} > - value['_connector_overrides'] =3D overridedata > - return value > - dataStoreConnectorFindVar.readonly =3D True > + method =3D params[1] > + args =3D params[2] > + kwargs =3D params[3] > =20 > - def dataStoreConnectorGetKeys(self, command, params): > - dsindex =3D params[0] > - datastore =3D command.remotedatastores[dsindex] > - return list(datastore.keys()) > - dataStoreConnectorGetKeys.readonly =3D True > + d =3D command.remotedatastores[dsindex] > + ret =3D getattr(d, method)(*args, **kwargs) > + > + if isinstance(ret, bb.data_smart.DataSmart): > + idx =3D command.remotedatastores.store(ret) > + return DataStoreConnectionHandle(idx) > + > + return ret > =20 > - def dataStoreConnectorGetVarHistory(self, command, params): > + def dataStoreConnectorVarHistCmd(self, command, params): > dsindex =3D params[0] > - name =3D params[1] > - datastore =3D command.remotedatastores[dsindex] > - return datastore.varhistory.variable(name) > - dataStoreConnectorGetVarHistory.readonly =3D True > + method =3D params[1] > + args =3D params[2] > + kwargs =3D params[3] > =20 > - def dataStoreConnectorExpandPythonRef(self, command, params): > - config_data_dict =3D params[0] > - varname =3D params[1] > - expr =3D params[2] > + d =3D command.remotedatastores[dsindex].varhistory > + return getattr(d, method)(*args, **kwargs) > =20 > - config_data =3D > command.remotedatastores.receive_datastore(config_data_dict) > + def dataStoreConnectorIncHistCmd(self, command, params): > + dsindex =3D params[0] > + method =3D params[1] > + args =3D params[2] > + kwargs =3D params[3] > =20 > - varparse =3D bb.data_smart.VariableParse(varname, config_data) > - return varparse.python_sub(expr) > + d =3D command.remotedatastores[dsindex].inchistory > + return getattr(d, method)(*args, **kwargs) > =20 > def dataStoreConnectorRelease(self, command, params): > dsindex =3D params[0] > @@ -501,31 +489,6 @@ class CommandsSync: > raise CommandError('dataStoreConnectorRelease: invalid > index %d' % dsindex) command.remotedatastores.release(dsindex) > =20 > - def dataStoreConnectorSetVarFlag(self, command, params): > - dsindex =3D params[0] > - name =3D params[1] > - flag =3D params[2] > - value =3D params[3] > - datastore =3D command.remotedatastores[dsindex] > - datastore.setVarFlag(name, flag, value) > - > - def dataStoreConnectorDelVar(self, command, params): > - dsindex =3D params[0] > - name =3D params[1] > - datastore =3D command.remotedatastores[dsindex] > - if len(params) > 2: > - flag =3D params[2] > - datastore.delVarFlag(name, flag) > - else: > - datastore.delVar(name) > - > - def dataStoreConnectorRenameVar(self, command, params): > - dsindex =3D params[0] > - name =3D params[1] > - newname =3D params[2] > - datastore =3D command.remotedatastores[dsindex] > - datastore.renameVar(name, newname) > - > def parseRecipeFile(self, command, params): > """ > Parse the specified recipe file (with or without bbappends) > @@ -536,8 +499,7 @@ class CommandsSync: > appends =3D params[1] > appendlist =3D params[2] > if len(params) > 3: > - config_data_dict =3D params[3] > - config_data =3D > command.remotedatastores.receive_datastore(config_data_dict) > + config_data =3D command.remotedatastores[params[3]] > else: > config_data =3D None > =20 > diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py > index 20ef04d..d90bd39 100644 > --- a/bitbake/lib/bb/cooker.py > +++ b/bitbake/lib/bb/cooker.py > @@ -10,7 +10,6 @@ > # > =20 > import sys, os, glob, os.path, re, time > -import atexit > import itertools > import logging > import multiprocessing > @@ -18,14 +17,11 @@ import sre_constants > import threading > from io import StringIO, UnsupportedOperation > from contextlib import closing > -from functools import wraps > from collections import defaultdict, namedtuple > import bb, bb.exceptions, bb.command > from bb import utils, data, parse, event, cache, providers, > taskdata, runqueue, build import queue > import signal > -import subprocess > -import errno > import prserv.serv > import pyinotify > import json > @@ -169,8 +165,8 @@ class BBCooker: > bb.debug(1, "BBCooker pyinotify1 %s" % time.time()) > sys.stdout.flush() > =20 > - self.configwatcher.bbseen =3D [] > - self.configwatcher.bbwatchedfiles =3D [] > + self.configwatcher.bbseen =3D set() > + self.configwatcher.bbwatchedfiles =3D set() > self.confignotifier =3D pyinotify.Notifier(self.configwatcher, > self.config_notifications) bb.debug(1, "BBCooker pyinotify2 %s" % > time.time()) sys.stdout.flush() > @@ -180,8 +176,8 @@ class BBCooker: > self.watcher =3D pyinotify.WatchManager() > bb.debug(1, "BBCooker pyinotify3 %s" % time.time()) > sys.stdout.flush() > - self.watcher.bbseen =3D [] > - self.watcher.bbwatchedfiles =3D [] > + self.watcher.bbseen =3D set() > + self.watcher.bbwatchedfiles =3D set() > self.notifier =3D pyinotify.Notifier(self.watcher, > self.notifications)=20 > bb.debug(1, "BBCooker pyinotify complete %s" % time.time()) > @@ -278,14 +274,14 @@ class BBCooker: > if not watcher: > watcher =3D self.watcher > for i in deps: > - watcher.bbwatchedfiles.append(i[0]) > + watcher.bbwatchedfiles.add(i[0]) > if dirs: > f =3D i[0] > else: > f =3D os.path.dirname(i[0]) > if f in watcher.bbseen: > continue > - watcher.bbseen.append(f) > + watcher.bbseen.add(f) > watchtarget =3D None > while True: > # We try and add watches for files that don't exist > but if they did, would influence @@ -294,7 +290,7 @@ class BBCooker: > try: > watcher.add_watch(f, self.watchmask, quiet=3DFalse) > if watchtarget: > - watcher.bbwatchedfiles.append(watchtarget) > + watcher.bbwatchedfiles.add(watchtarget) > break > except pyinotify.WatchManagerError as e: > if 'ENOENT' in str(e): > @@ -302,7 +298,7 @@ class BBCooker: > f =3D os.path.dirname(f) > if f in watcher.bbseen: > break > - watcher.bbseen.append(f) > + watcher.bbseen.add(f) > continue > if 'ENOSPC' in str(e): > providerlog.error("No space left on device > or exceeds fs.inotify.max_user_watches?") @@ -371,10 +367,6 @@ class > BBCooker:=20 > self.data.setVar('BB_CMDLINE', self.ui_cmdline) > =20 > - # > - # Copy of the data store which has been expanded. > - # Used for firing events and accessing variables where > expansion needs to be accounted for > - # > if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset: > self.disableDataTracking() > =20 > @@ -1031,16 +1023,16 @@ class BBCooker: > bb.event.fire(bb.event.FilesMatchingFound(filepattern, > matches), self.data)=20 > def findProviders(self, mc=3D''): > - return bb.providers.findProviders(self.data, > self.recipecaches[mc], self.recipecaches[mc].pkg_pn) > + return > bb.providers.findProviders(self.databuilder.mcdata[mc], > self.recipecaches[mc], self.recipecaches[mc].pkg_pn) def > findBestProvider(self, pn, mc=3D''): if pn in > self.recipecaches[mc].providers: filenames =3D > self.recipecaches[mc].providers[pn] > - eligible, foundUnique =3D > bb.providers.filterProviders(filenames, pn, self.data, > self.recipecaches[mc]) > + eligible, foundUnique =3D > bb.providers.filterProviders(filenames, pn, > self.databuilder.mcdata[mc], self.recipecaches[mc]) filename =3D > eligible[0] return None, None, None, filename elif pn in > self.recipecaches[mc].pkg_pn: > - return bb.providers.findBestProvider(pn, self.data, > self.recipecaches[mc], self.recipecaches[mc].pkg_pn) > + return bb.providers.findBestProvider(pn, > self.databuilder.mcdata[mc], self.recipecaches[mc], > self.recipecaches[mc].pkg_pn) else: return None, None, None, None > =20 > @@ -1212,7 +1204,7 @@ class BBCooker: > for c in collection_list: > calc_layer_priority(c) > regex =3D self.data.getVar("BBFILE_PATTERN_%s" % c) > - if regex =3D=3D None: > + if regex is None: > parselog.error("BBFILE_PATTERN_%s not defined" % > c) errors =3D True > continue > @@ -1318,7 +1310,7 @@ class BBCooker: > self.parseConfiguration() > =20 > # If we are told to do the None task then query the default > task > - if (task =3D=3D None): > + if task is None: > task =3D self.configuration.cmd > if not task.startswith("do_"): > task =3D "do_%s" % task > @@ -1462,7 +1454,7 @@ class BBCooker: > self.buildSetVars() > =20 > # If we are told to do the None task then query the default > task > - if (task =3D=3D None): > + if task is None: > task =3D self.configuration.cmd > =20 > if not task.startswith("do_"): > @@ -1600,7 +1592,7 @@ class BBCooker: > raise NothingToBuild > =20 > ignore =3D (self.data.getVar("ASSUME_PROVIDED") or "").split() > - for pkg in pkgs_to_build: > + for pkg in pkgs_to_build.copy(): > if pkg in ignore: > parselog.warning("Explicit target \"%s\" is in > ASSUME_PROVIDED, ignoring" % pkg) if pkg.startswith("multiconfig:"): > @@ -1673,6 +1665,8 @@ class BBCooker: > self.command.reset() > self.databuilder.reset() > self.data =3D self.databuilder.data > + self.parsecache_valid =3D False > + self.baseconfig_valid =3D False > =20 > =20 > class CookerExit(bb.event.Event): > @@ -1695,7 +1689,7 @@ class CookerCollectFiles(object): > def calc_bbfile_priority( self, filename, matched =3D None ): > for _, _, regex, pri in self.bbfile_config_priorities: > if regex.match(filename): > - if matched !=3D None: > + if matched is not None: > if not regex in matched: > matched.add(regex) > return pri > @@ -1792,7 +1786,7 @@ class CookerCollectFiles(object): > # When constructing an older style single regex, > it's possible for BBMASK # to end up beginning with '|', which > matches and masks _everything_. if mask.startswith("|"): > - collectlog.warn("BBMASK contains regular > expression beginning with '|', fixing: %s" % mask) > + collectlog.warning("BBMASK contains regular > expression beginning with '|', fixing: %s" % mask) mask =3D mask[1:] > try: > re.compile(mask) > @@ -1948,7 +1942,8 @@ class Parser(multiprocessing.Process): > except IndexError: > break > result =3D self.parse(*job) > - > + # Clear the siggen cache after parsing to control > memory usage, its huge > + bb.parse.siggen.postparsing_clean_cache() > try: > self.results.put(result, timeout=3D0.25) > except queue.Full: > @@ -1956,6 +1951,7 @@ class Parser(multiprocessing.Process): > =20 > def parse(self, filename, appends): > try: > + origfilter =3D bb.event.LogHandler.filter > # Record the filename we're parsing into any events > generated def parse_filter(self, record): > record.taskpid =3D bb.event.worker_pid > @@ -1978,6 +1974,8 @@ class Parser(multiprocessing.Process): > # a SystemExit event for example. > except BaseException as exc: > return True, ParsingFailure(exc, filename) > + finally: > + bb.event.LogHandler.filter =3D origfilter > =20 > class CookerParser(object): > def __init__(self, cooker, filelist, masked): > diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py > index 0d75d0c..b0683c5 100644 > --- a/bitbake/lib/bb/data.py > +++ b/bitbake/lib/bb/data.py > @@ -79,7 +79,7 @@ def expand(s, d, varname =3D None): > return d.expand(s, varname) > =20 > def expandKeys(alterdata, readdata =3D None): > - if readdata =3D=3D None: > + if readdata is None: > readdata =3D alterdata > =20 > todolist =3D {} > @@ -365,7 +365,7 @@ def build_dependencies(key, keys, shelldeps, > varflagsexcl, d): #bb.note("Variable %s references %s and calls %s" % > (key, str(deps), str(execs))) #d.setVarFlag(key, "vardeps", deps) > =20 > -def generate_dependencies(d): > +def generate_dependencies(d, whitelist): > =20 > keys =3D set(key for key in d if not key.startswith("__")) > shelldeps =3D set(key for key in d.getVar("__exportlist", False) > if d.getVarFlag(key, "export", False) and not d.getVarFlag(key, > "unexport", False)) @@ -380,7 +380,7 @@ def generate_dependencies(d): > newdeps =3D deps[task] seen =3D set() > while newdeps: > - nextdeps =3D newdeps > + nextdeps =3D newdeps - whitelist > seen |=3D nextdeps > newdeps =3D set() > for dep in nextdeps: > diff --git a/bitbake/lib/bb/data_smart.py > b/bitbake/lib/bb/data_smart.py index dd5c618..7f1b6dc 100644 > --- a/bitbake/lib/bb/data_smart.py > +++ b/bitbake/lib/bb/data_smart.py > @@ -107,10 +107,6 @@ class VariableParse: > else: > code =3D match.group()[3:-1] > =20 > - if "_remote_data" in self.d: > - connector =3D self.d["_remote_data"] > - return connector.expandPythonRef(self.varname, code, > self.d) - > if self.varname: > varname =3D 'Var <%s>' % self.varname > else: > @@ -268,12 +264,7 @@ class VariableHistory(object): > self.variables[newvar].append(i.copy()) > =20 > def variable(self, var): > - remote_connector =3D self.dataroot.getVar('_remote_data', > False) > - if remote_connector: > - varhistory =3D remote_connector.getVarHistory(var) > - else: > - varhistory =3D [] > - > + varhistory =3D [] > if var in self.variables: > varhistory.extend(self.variables[var]) > return varhistory > @@ -338,11 +329,12 @@ class VariableHistory(object): > lines.append(line) > return lines > =20 > - def get_variable_items_files(self, var, d): > + def get_variable_items_files(self, var): > """ > Use variable history to map items added to a list variable > and the files in which they were added. > """ > + d =3D self.dataroot > history =3D self.variable(var) > finalitems =3D (d.getVar(var) or '').split() > filemap =3D {} > @@ -470,10 +462,6 @@ class DataSmart(MutableMapping): > if var in dest: > return dest[var], self.overridedata.get(var, None) > =20 > - if "_remote_data" in dest: > - connector =3D dest["_remote_data"]["_content"] > - return connector.getVar(var) > - > if "_data" not in dest: > break > dest =3D dest["_data"] > @@ -498,12 +486,6 @@ class DataSmart(MutableMapping): > if 'parsing' in loginfo: > parsing=3DTrue > =20 > - if '_remote_data' in self.dict: > - connector =3D self.dict["_remote_data"]["_content"] > - res =3D connector.setVar(var, value) > - if not res: > - return > - > if 'op' not in loginfo: > loginfo['op'] =3D "set" > =20 > @@ -607,11 +589,9 @@ class DataSmart(MutableMapping): > """ > Rename the variable key to newkey > """ > - if '_remote_data' in self.dict: > - connector =3D self.dict["_remote_data"]["_content"] > - res =3D connector.renameVar(key, newkey) > - if not res: > - return > + if key =3D=3D newkey: > + bb.warn("Calling renameVar with equivalent keys (%s) is > invalid" % key) > + return > =20 > val =3D self.getVar(key, 0, parsing=3DTrue) > if val is not None: > @@ -658,11 +638,6 @@ class DataSmart(MutableMapping): > =20 > def delVar(self, var, **loginfo): > self.expand_cache =3D {} > - if '_remote_data' in self.dict: > - connector =3D self.dict["_remote_data"]["_content"] > - res =3D connector.delVar(var) > - if not res: > - return > =20 > loginfo['detail'] =3D "" > loginfo['op'] =3D 'del' > @@ -690,11 +665,6 @@ class DataSmart(MutableMapping): > =20 > def setVarFlag(self, var, flag, value, **loginfo): > self.expand_cache =3D {} > - if '_remote_data' in self.dict: > - connector =3D self.dict["_remote_data"]["_content"] > - res =3D connector.setVarFlag(var, flag, value) > - if not res: > - return > =20 > if 'op' not in loginfo: > loginfo['op'] =3D "set" > @@ -845,11 +815,6 @@ class DataSmart(MutableMapping): > =20 > def delVarFlag(self, var, flag, **loginfo): > self.expand_cache =3D {} > - if '_remote_data' in self.dict: > - connector =3D self.dict["_remote_data"]["_content"] > - res =3D connector.delVarFlag(var, flag) > - if not res: > - return > =20 > local_var, _ =3D self._findVar(var) > if not local_var: > @@ -967,7 +932,7 @@ class DataSmart(MutableMapping): > =20 > def localkeys(self): > for key in self.dict: > - if key not in ['_data', '_remote_data']: > + if key not in ['_data']: > yield key > =20 > def __iter__(self): > @@ -976,7 +941,7 @@ class DataSmart(MutableMapping): > def keylist(d): =20 > klist =3D set() > for key in d: > - if key in ["_data", "_remote_data"]: > + if key in ["_data"]: > continue > if key in deleted: > continue > @@ -990,13 +955,6 @@ class DataSmart(MutableMapping): > if "_data" in d: > klist |=3D keylist(d["_data"]) > =20 > - if "_remote_data" in d: > - connector =3D d["_remote_data"]["_content"] > - for key in connector.getKeys(): > - if key in deleted: > - continue > - klist.add(key) > - > return klist > =20 > self.need_overrides() > @@ -1042,7 +1000,10 @@ class DataSmart(MutableMapping): > continue > =20 > value =3D d.getVar(key, False) or "" > - data.update({key:value}) > + if type(value) is type(self): > + data.update({key:value.get_hash()}) > + else: > + data.update({key:value}) > =20 > varflags =3D d.getVarFlags(key, internalflags =3D True) > if not varflags: > diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py > index d44621e..d1359f0 100644 > --- a/bitbake/lib/bb/event.py > +++ b/bitbake/lib/bb/event.py > @@ -10,8 +10,7 @@ BitBake build tools. > # SPDX-License-Identifier: GPL-2.0-only > # > =20 > -import os, sys > -import warnings > +import sys > import pickle > import logging > import atexit > @@ -347,7 +346,7 @@ def set_UIHmask(handlerNum, level, debug_domains, > mask):=20 > def getName(e): > """Returns the name of a class or class instance""" > - if getattr(e, "__name__", None) =3D=3D None: > + if getattr(e, "__name__", None) is None: > return e.__class__.__name__ > else: > return e.__name__ > @@ -509,7 +508,7 @@ class NoProvider(Event): > extra =3D '' > if not self._reasons: > if self._close_matches: > - extra =3D ". Close matches:\n %s" % '\n > '.join(self._close_matches) > + extra =3D ". Close matches:\n %s" % '\n > '.join(sorted(set(self._close_matches)))=20 > if self._dependees: > msg =3D "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or > otherwise requires it)%s" % (r, self._item, ", > ".join(self._dependees), r, extra) diff --git > a/bitbake/lib/bb/fetch2/__init__.py > b/bitbake/lib/bb/fetch2/__init__.py index 1f5f8f1..eb112f0 100644 --- > a/bitbake/lib/bb/fetch2/__init__.py +++ > b/bitbake/lib/bb/fetch2/__init__.py @@ -33,6 +33,9 @@ _checksum_cache > =3D bb.checksum.FileChecksumCache() logger =3D > logging.getLogger("BitBake.Fetcher")=20 > +CHECKSUM_LIST =3D [ "md5", "sha256", "sha1", "sha384", "sha512" ] > +SHOWN_CHECKSUM_LIST =3D ["sha256"] > + > class BBFetchException(Exception): > """Class all fetch exceptions inherit from""" > def __init__(self, message): > @@ -131,10 +134,9 @@ class NonLocalMethod(Exception): > Exception.__init__(self) > =20 > class MissingChecksumEvent(bb.event.Event): > - def __init__(self, url, md5sum, sha256sum): > + def __init__(self, url, **checksums): > self.url =3D url > - self.checksums =3D {'md5sum': md5sum, > - 'sha256sum': sha256sum} > + self.checksums =3D checksums > bb.event.Event.__init__(self) > =20 > =20 > @@ -484,17 +486,22 @@ def fetcher_init(d): > Called to initialize the fetchers once the configuration data is > known. Calls before this must not hit the cache. > """ > + > + revs =3D bb.persist_data.persist('BB_URI_HEADREVS', d) > + try: > + # fetcher_init is called multiple times, so make sure we > only save the > + # revs the first time it is called. > + if not bb.fetch2.saved_headrevs: > + bb.fetch2.saved_headrevs =3D dict(revs) > + except: > + pass > + > # When to drop SCM head revisions controlled by user policy > srcrev_policy =3D d.getVar('BB_SRCREV_POLICY') or "clear" > if srcrev_policy =3D=3D "cache": > logger.debug(1, "Keeping SRCREV cache due to cache policy > of: %s", srcrev_policy) elif srcrev_policy =3D=3D "clear": > logger.debug(1, "Clearing SRCREV cache due to cache policy > of: %s", srcrev_policy) > - revs =3D bb.persist_data.persist('BB_URI_HEADREVS', d) > - try: > - bb.fetch2.saved_headrevs =3D revs.items() > - except: > - pass > revs.clear() > else: > raise FetchError("Invalid SRCREV cache policy of: %s" % > srcrev_policy) @@ -513,22 +520,12 @@ def fetcher_parse_done(): > =20 > def fetcher_compare_revisions(d): > """ > - Compare the revisions in the persistant cache with current > values and > - return true/false on whether they've changed. > + Compare the revisions in the persistent cache with the saved > values from > + when bitbake was started and return true if they have changed. > """ > =20 > - data =3D bb.persist_data.persist('BB_URI_HEADREVS', d).items() > - data2 =3D bb.fetch2.saved_headrevs > - > - changed =3D False > - for key in data: > - if key not in data2 or data2[key] !=3D data[key]: > - logger.debug(1, "%s changed", key) > - changed =3D True > - return True > - else: > - logger.debug(2, "%s did not change", key) > - return False > + headrevs =3D dict(bb.persist_data.persist('BB_URI_HEADREVS', d)) > + return headrevs !=3D bb.fetch2.saved_headrevs > =20 > def mirror_from_string(data): > mirrors =3D (data or "").replace('\\n',' ').split() > @@ -552,71 +549,84 @@ def verify_checksum(ud, d, precomputed=3D{}): > downloading. See > https://bugzilla.yoctoproject.org/show_bug.cgi?id=3D5571. """ > =20 > - _MD5_KEY =3D "md5" > - _SHA256_KEY =3D "sha256" > - > if ud.ignore_checksums or not ud.method.supports_checksum(ud): > return {} > =20 > - if _MD5_KEY in precomputed: > - md5data =3D precomputed[_MD5_KEY] > - else: > - md5data =3D bb.utils.md5_file(ud.localpath) > + def compute_checksum_info(checksum_id): > + checksum_name =3D getattr(ud, "%s_name" % checksum_id) > =20 > - if _SHA256_KEY in precomputed: > - sha256data =3D precomputed[_SHA256_KEY] > - else: > - sha256data =3D bb.utils.sha256_file(ud.localpath) > + if checksum_id in precomputed: > + checksum_data =3D precomputed[checksum_id] > + else: > + checksum_data =3D getattr(bb.utils, "%s_file" % > checksum_id)(ud.localpath)=20 > - if ud.method.recommends_checksum(ud) and not ud.md5_expected and > not ud.sha256_expected: > - # If strict checking enabled and neither sum defined, raise > error > + checksum_expected =3D getattr(ud, "%s_expected" % checksum_id) > + > + return { > + "id": checksum_id, > + "name": checksum_name, > + "data": checksum_data, > + "expected": checksum_expected > + } > + > + checksum_infos =3D [] > + for checksum_id in CHECKSUM_LIST: > + checksum_infos.append(compute_checksum_info(checksum_id)) > + > + checksum_dict =3D {ci["id"] : ci["data"] for ci in checksum_infos} > + checksum_event =3D {"%ssum" % ci["id"] : ci["data"] for ci in > checksum_infos} + > + for ci in checksum_infos: > + if ci["id"] in SHOWN_CHECKSUM_LIST: > + checksum_lines =3D ["SRC_URI[%s] =3D \"%s\"" % (ci["name"], > ci["data"])] + > + # If no checksum has been provided > + if ud.method.recommends_checksum(ud) and all(ci["expected"] is > None for ci in checksum_infos): > + messages =3D [] > strict =3D d.getVar("BB_STRICT_CHECKSUM") or "0" > + > + # If strict checking enabled and neither sum defined, raise > error if strict =3D=3D "1": > - logger.error('No checksum specified for %s, please add > at least one to the recipe:\n' > - 'SRC_URI[%s] =3D "%s"\nSRC_URI[%s] =3D > "%s"' % > - (ud.localpath, ud.md5_name, md5data, > - ud.sha256_name, sha256data)) > - raise NoChecksumError('Missing SRC_URI checksum', ud.url) > + messages.append("No checksum specified for '%s', please > add at " \ > + "least one to the recipe:" % > ud.localpath) > + messages.extend(checksum_lines) > + logger.error("\n".join(messages)) > + raise NoChecksumError("Missing SRC_URI checksum", ud.url) > =20 > - bb.event.fire(MissingChecksumEvent(ud.url, md5data, > sha256data), d) > + bb.event.fire(MissingChecksumEvent(ud.url, > **checksum_event), d)=20 > if strict =3D=3D "ignore": > - return { > - _MD5_KEY: md5data, > - _SHA256_KEY: sha256data > - } > + return checksum_dict > =20 > # Log missing sums so user can more easily add them > - logger.warning('Missing md5 SRC_URI checksum for %s, > consider adding to the recipe:\n' > - 'SRC_URI[%s] =3D "%s"', > - ud.localpath, ud.md5_name, md5data) > - logger.warning('Missing sha256 SRC_URI checksum for %s, > consider adding to the recipe:\n' > - 'SRC_URI[%s] =3D "%s"', > - ud.localpath, ud.sha256_name, sha256data) > + messages.append("Missing checksum for '%s', consider adding > at " \ > + "least one to the recipe:" % ud.localpath) > + messages.extend(checksum_lines) > + logger.warning("\n".join(messages)) > =20 > # We want to alert the user if a checksum is defined in the > recipe but # it does not match. > - msg =3D "" > - mismatch =3D False > - if ud.md5_expected and ud.md5_expected !=3D md5data: > - msg =3D msg + "\nFile: '%s' has %s checksum %s when %s was > expected" % (ud.localpath, 'md5', md5data, ud.md5_expected) > - mismatch =3D True; > - > - if ud.sha256_expected and ud.sha256_expected !=3D sha256data: > - msg =3D msg + "\nFile: '%s' has %s checksum %s when %s was > expected" % (ud.localpath, 'sha256', sha256data, ud.sha256_expected) > - mismatch =3D True; > - > - if mismatch: > - msg =3D msg + '\nIf this change is expected (e.g. you have > upgraded to a new version without updating the checksums) then you > can use these lines within the recipe:\nSRC_URI[%s] =3D > "%s"\nSRC_URI[%s] =3D "%s"\nOtherwise you should retry the download > and/or check with upstream to determine if the file has become > corrupted or otherwise unexpectedly modified.\n' % (ud.md5_name, > md5data, ud.sha256_name, sha256data) - > - if len(msg): > - raise ChecksumError('Checksum mismatch!%s' % msg, ud.url, > md5data) - > - return { > - _MD5_KEY: md5data, > - _SHA256_KEY: sha256data > - } > - > + messages =3D [] > + messages.append("Checksum mismatch!") > + bad_checksum =3D None > + > + for ci in checksum_infos: > + if ci["expected"] and ci["expected"] !=3D ci["data"]: > + messages.append("File: '%s' has %s checksum %s when %s > was " \ > + "expected" % (ud.localpath, ci["id"], > ci["data"], ci["expected"])) > + bad_checksum =3D ci["data"] > + > + if bad_checksum: > + messages.append("If this change is expected (e.g. you have > upgraded " \ > + "to a new version without updating the > checksums) " \ > + "then you can use these lines within the > recipe:") > + messages.extend(checksum_lines) > + messages.append("Otherwise you should retry the download > and/or " \ > + "check with upstream to determine if the > file has " \ > + "become corrupted or otherwise unexpectedly > modified.") > + raise ChecksumError("\n".join(messages), ud.url, > bad_checksum) + > + return checksum_dict > =20 > def verify_donestamp(ud, d, origud=3DNone): > """ > @@ -1081,7 +1091,7 @@ def try_mirrors(fetch, d, origud, mirrors, > check =3D False):=20 > for index, uri in enumerate(uris): > ret =3D try_mirror_url(fetch, origud, uds[index], ld, check) > - if ret !=3D False: > + if ret: > return ret > return None > =20 > @@ -1197,14 +1207,14 @@ def get_checksum_file_list(d): > =20 > return " ".join(filelist) > =20 > -def get_file_checksums(filelist, pn): > +def get_file_checksums(filelist, pn, localdirsexclude): > """Get a list of the checksums for a list of local files > =20 > Returns the checksums for a list of local files, caching the > results as it proceeds > =20 > """ > - return _checksum_cache.get_checksums(filelist, pn) > + return _checksum_cache.get_checksums(filelist, pn, > localdirsexclude)=20 > =20 > class FetchData(object): > @@ -1230,24 +1240,26 @@ class FetchData(object): > self.pswd =3D self.parm["pswd"] > self.setup =3D False > =20 > - if "name" in self.parm: > - self.md5_name =3D "%s.md5sum" % self.parm["name"] > - self.sha256_name =3D "%s.sha256sum" % self.parm["name"] > - else: > - self.md5_name =3D "md5sum" > - self.sha256_name =3D "sha256sum" > - if self.md5_name in self.parm: > - self.md5_expected =3D self.parm[self.md5_name] > - elif self.type not in ["http", "https", "ftp", "ftps", > "sftp", "s3"]: > - self.md5_expected =3D None > - else: > - self.md5_expected =3D d.getVarFlag("SRC_URI", > self.md5_name) > - if self.sha256_name in self.parm: > - self.sha256_expected =3D self.parm[self.sha256_name] > - elif self.type not in ["http", "https", "ftp", "ftps", > "sftp", "s3"]: > - self.sha256_expected =3D None > - else: > - self.sha256_expected =3D d.getVarFlag("SRC_URI", > self.sha256_name) > + def configure_checksum(checksum_id): > + if "name" in self.parm: > + checksum_name =3D "%s.%ssum" % (self.parm["name"], > checksum_id) > + else: > + checksum_name =3D "%ssum" % checksum_id > + > + setattr(self, "%s_name" % checksum_id, checksum_name) > + > + if checksum_name in self.parm: > + checksum_expected =3D self.parm[checksum_name] > + elif self.type not in ["http", "https", "ftp", "ftps", > "sftp", "s3"]: > + checksum_expected =3D None > + else: > + checksum_expected =3D d.getVarFlag("SRC_URI", > checksum_name) + > + setattr(self, "%s_expected" % checksum_id, > checksum_expected) + > + for checksum_id in CHECKSUM_LIST: > + configure_checksum(checksum_id) > + > self.ignore_checksums =3D False > =20 > self.names =3D self.parm.get("name",'default').split(',') > @@ -1351,7 +1363,7 @@ class FetchMethod(object): > """ > =20 > # We cannot compute checksums for directories > - if os.path.isdir(urldata.localpath) =3D=3D True: > + if os.path.isdir(urldata.localpath): > return False > if urldata.localpath.find("*") !=3D -1: > return False > @@ -1365,6 +1377,18 @@ class FetchMethod(object): > """ > return False > =20 > + def verify_donestamp(self, ud, d): > + """ > + Verify the donestamp file > + """ > + return verify_donestamp(ud, d) > + > + def update_donestamp(self, ud, d): > + """ > + Update the donestamp file > + """ > + update_stamp(ud, d) > + > def _strip_leading_slashes(self, relpath): > """ > Remove leading slash as os.path.join can't cope > @@ -1539,6 +1563,12 @@ class FetchMethod(object): > """ > return True > =20 > + def try_mirrors(self, fetch, urldata, d, mirrors, check=3DFalse): > + """ > + Try to use a mirror > + """ > + return bool(try_mirrors(fetch, d, urldata, mirrors, check)) > + > def checkstatus(self, fetch, urldata, d): > """ > Check the status of a URL > @@ -1567,8 +1597,7 @@ class FetchMethod(object): > return True, str(latest_rev) > =20 > def generate_revision_key(self, ud, d, name): > - key =3D self._revision_key(ud, d, name) > - return "%s-%s" % (key, d.getVar("PN") or "") > + return self._revision_key(ud, d, name) > =20 > def latest_versionstring(self, ud, d): > """ > @@ -1578,6 +1607,16 @@ class FetchMethod(object): > """ > return ('', '') > =20 > + def done(self, ud, d): > + """ > + Is the download done ? > + """ > + if os.path.exists(ud.localpath): > + return True > + if ud.localpath.find("*") !=3D -1: > + return True > + return False > + > class Fetch(object): > def __init__(self, urls, d, cache =3D True, localonly =3D False, > connection_cache =3D None): if localonly and cache: > @@ -1592,8 +1631,11 @@ class Fetch(object): > =20 > fn =3D d.getVar('FILE') > mc =3D d.getVar('__BBMULTICONFIG') or "" > - if cache and fn and mc + fn in urldata_cache: > - self.ud =3D urldata_cache[mc + fn] > + key =3D None > + if cache and fn: > + key =3D mc + fn + str(id(d)) > + if key in urldata_cache: > + self.ud =3D urldata_cache[key] > =20 > for url in urls: > if url not in self.ud: > @@ -1604,8 +1646,8 @@ class Fetch(object): > self.ud[url] =3D None > pass > =20 > - if fn and cache: > - urldata_cache[mc + fn] =3D self.ud > + if key: > + urldata_cache[key] =3D self.ud > =20 > def localpath(self, url): > if url not in self.urls: > @@ -1641,7 +1683,7 @@ class Fetch(object): > ud =3D self.ud[u] > ud.setup_localpath(self.d) > m =3D ud.method > - localpath =3D "" > + done =3D False > =20 > if ud.lockfile: > lf =3D bb.utils.lockfile(ud.lockfile) > @@ -1649,28 +1691,28 @@ class Fetch(object): > try: > self.d.setVar("BB_NO_NETWORK", network) > =20 > - if verify_donestamp(ud, self.d) and not > m.need_update(ud, self.d): > - localpath =3D ud.localpath > + if m.verify_donestamp(ud, self.d) and not > m.need_update(ud, self.d): > + done =3D True > elif m.try_premirror(ud, self.d): > logger.debug(1, "Trying PREMIRRORS") > mirrors =3D > mirror_from_string(self.d.getVar('PREMIRRORS')) > - localpath =3D try_mirrors(self, self.d, ud, > mirrors, False) > - if localpath: > + done =3D m.try_mirrors(self, ud, self.d, mirrors) > + if done: > try: > # early checksum verification so that if > the checksum of the premirror # contents mismatch the fetcher can > still try upstream and mirrors > - update_stamp(ud, self.d) > + m.update_donestamp(ud, self.d) > except ChecksumError as e: > logger.warning("Checksum failure > encountered with premirror download of %s - will attempt other > sources." % u) logger.debug(1, str(e)) > - localpath =3D "" > + done =3D False > =20 > if premirroronly: > self.d.setVar("BB_NO_NETWORK", "1") > =20 > firsterr =3D None > - verified_stamp =3D verify_donestamp(ud, self.d) > - if not localpath and (not verified_stamp or > m.need_update(ud, self.d)): > + verified_stamp =3D m.verify_donestamp(ud, self.d) > + if not done and (not verified_stamp or > m.need_update(ud, self.d)): try: > if not trusted_network(self.d, ud.url): > raise UntrustedUrl(ud.url) > @@ -1678,10 +1720,10 @@ class Fetch(object): > m.download(ud, self.d) > if hasattr(m, "build_mirror_data"): > m.build_mirror_data(ud, self.d) > - localpath =3D ud.localpath > + done =3D True > # early checksum verify, so that if checksum > mismatched, # fetcher still have chance to fetch from mirror > - update_stamp(ud, self.d) > + m.update_donestamp(ud, self.d) > =20 > except bb.fetch2.NetworkAccess: > raise > @@ -1703,14 +1745,14 @@ class Fetch(object): > m.clean(ud, self.d) > logger.debug(1, "Trying MIRRORS") > mirrors =3D > mirror_from_string(self.d.getVar('MIRRORS')) > - localpath =3D try_mirrors(self, self.d, ud, > mirrors) > + done =3D m.try_mirrors(self, ud, self.d, > mirrors)=20 > - if not localpath or ((not os.path.exists(localpath)) > and localpath.find("*") =3D=3D -1): > + if not done or not m.done(ud, self.d): > if firsterr: > logger.error(str(firsterr)) > raise FetchError("Unable to fetch URL from any > source.", u)=20 > - update_stamp(ud, self.d) > + m.update_donestamp(ud, self.d) > =20 > except IOError as e: > if e.errno in [errno.ESTALE]: > @@ -1741,14 +1783,14 @@ class Fetch(object): > logger.debug(1, "Testing URL %s", u) > # First try checking uri, u, from PREMIRRORS > mirrors =3D mirror_from_string(self.d.getVar('PREMIRRORS')) > - ret =3D try_mirrors(self, self.d, ud, mirrors, True) > + ret =3D m.try_mirrors(self, ud, self.d, mirrors, True) > if not ret: > # Next try checking from the original uri, u > ret =3D m.checkstatus(self, ud, self.d) > if not ret: > # Finally, try checking uri, u, from MIRRORS > mirrors =3D > mirror_from_string(self.d.getVar('MIRRORS')) > - ret =3D try_mirrors(self, self.d, ud, mirrors, > True) > + ret =3D m.try_mirrors(self, ud, self.d, mirrors, > True)=20 > if not ret: > raise FetchError("URL %s doesn't work" % u, u) > @@ -1853,6 +1895,7 @@ from . import osc > from . import repo > from . import clearcase > from . import npm > +from . import npmsw > =20 > methods.append(local.Local()) > methods.append(wget.Wget()) > @@ -1871,3 +1914,4 @@ methods.append(osc.Osc()) > methods.append(repo.Repo()) > methods.append(clearcase.ClearCase()) > methods.append(npm.Npm()) > +methods.append(npmsw.NpmShrinkWrap()) > diff --git a/bitbake/lib/bb/fetch2/bzr.py > b/bitbake/lib/bb/fetch2/bzr.py index c56d875..566ace9 100644 > --- a/bitbake/lib/bb/fetch2/bzr.py > +++ b/bitbake/lib/bb/fetch2/bzr.py > @@ -14,8 +14,6 @@ BitBake 'Fetch' implementation for bzr. > # > =20 > import os > -import sys > -import logging > import bb > from bb.fetch2 import FetchMethod > from bb.fetch2 import FetchError > diff --git a/bitbake/lib/bb/fetch2/clearcase.py > b/bitbake/lib/bb/fetch2/clearcase.py index 3dd93ad..49d7ae1 100644 > --- a/bitbake/lib/bb/fetch2/clearcase.py > +++ b/bitbake/lib/bb/fetch2/clearcase.py > @@ -49,7 +49,6 @@ User credentials: > # > =20 > import os > -import sys > import shutil > import bb > from bb.fetch2 import FetchMethod > @@ -145,18 +144,18 @@ class ClearCase(FetchMethod): > =20 > basecmd =3D "%s %s" % (ud.basecmd, command) > =20 > - if command is 'mkview': > + if command =3D=3D 'mkview': > if not "rcleartool" in ud.basecmd: > # Cleartool needs a -snapshot view > options.append("-snapshot") > options.append("-tag %s" % ud.viewname) > options.append(ud.viewdir) > =20 > - elif command is 'rmview': > + elif command =3D=3D 'rmview': > options.append("-force") > options.append("%s" % ud.viewdir) > =20 > - elif command is 'setcs': > + elif command =3D=3D 'setcs': > options.append("-overwrite") > options.append(ud.configspecfile) > =20 > @@ -238,7 +237,7 @@ class ClearCase(FetchMethod): > =20 > # Clean clearcase meta-data before tar > =20 > - runfetchcmd('tar -czf "%s" .' % (ud.localpath), d, cleanup =3D > [ud.localpath]) > + runfetchcmd('tar -czf "%s" .' % (ud.localpath), d, cleanup =3D > [ud.localpath], workdir =3D ud.viewdir)=20 > # Clean up so we can create a new view next time > self.clean(ud, d); > diff --git a/bitbake/lib/bb/fetch2/cvs.py > b/bitbake/lib/bb/fetch2/cvs.py index 1b35ba4..29123a4 100644 > --- a/bitbake/lib/bb/fetch2/cvs.py > +++ b/bitbake/lib/bb/fetch2/cvs.py > @@ -14,7 +14,6 @@ BitBake build tools. > # > =20 > import os > -import logging > import bb > from bb.fetch2 import FetchMethod, FetchError, > MissingParameterError, logger from bb.fetch2 import runfetchcmd > diff --git a/bitbake/lib/bb/fetch2/git.py > b/bitbake/lib/bb/fetch2/git.py index 2d1d2ca..2ce9395 100644 > --- a/bitbake/lib/bb/fetch2/git.py > +++ b/bitbake/lib/bb/fetch2/git.py > @@ -292,11 +292,21 @@ class Git(FetchMethod): > def clonedir_need_update(self, ud, d): > if not os.path.exists(ud.clonedir): > return True > + if ud.shallow and ud.write_shallow_tarballs and > self.clonedir_need_shallow_revs(ud, d): > + return True > for name in ud.names: > if not self._contains_ref(ud, d, name, ud.clonedir): > return True > return False > =20 > + def clonedir_need_shallow_revs(self, ud, d): > + for rev in ud.shallow_revs: > + try: > + runfetchcmd('%s rev-parse -q --verify %s' % > (ud.basecmd, rev), d, quiet=3DTrue, workdir=3Dud.clonedir) > + except bb.fetch2.FetchError: > + return rev > + return None > + > def shallow_tarball_need_update(self, ud): > return ud.shallow and ud.write_shallow_tarballs and not > os.path.exists(ud.fullshallow)=20 > @@ -339,19 +349,13 @@ class Git(FetchMethod): > runfetchcmd(clone_cmd, d, log=3Dprogresshandler) > =20 > # Update the checkout if needed > - needupdate =3D False > - for name in ud.names: > - if not self._contains_ref(ud, d, name, ud.clonedir): > - needupdate =3D True > - break > - > - if needupdate: > + if self.clonedir_need_update(ud, d): > output =3D runfetchcmd("%s remote" % ud.basecmd, d, > quiet=3DTrue, workdir=3Dud.clonedir) if "origin" in output: > runfetchcmd("%s remote rm origin" % ud.basecmd, d, > workdir=3Dud.clonedir)=20 > runfetchcmd("%s remote add --mirror=3Dfetch origin %s" % > (ud.basecmd, repourl), d, workdir=3Dud.clonedir) > - fetch_cmd =3D "LANG=3DC %s fetch -f --prune --progress %s > refs/*:refs/*" % (ud.basecmd, repourl) > + fetch_cmd =3D "LANG=3DC %s fetch -f --progress %s > refs/*:refs/*" % (ud.basecmd, repourl) if ud.proto.lower() !=3D 'file': > bb.fetch2.check_network_access(d, fetch_cmd, ud.url) > progresshandler =3D GitProgressHandler(d) > @@ -369,6 +373,11 @@ class Git(FetchMethod): > if not self._contains_ref(ud, d, name, ud.clonedir): > raise bb.fetch2.FetchError("Unable to find revision > %s in branch %s even from upstream" % (ud.revisions[name], > ud.branches[name]))=20 > + if ud.shallow and ud.write_shallow_tarballs: > + missing_rev =3D self.clonedir_need_shallow_revs(ud, d) > + if missing_rev: > + raise bb.fetch2.FetchError("Unable to find revision > %s even from upstream" % missing_rev) + > def build_mirror_data(self, ud, d): > if ud.shallow and ud.write_shallow_tarballs: > if not os.path.exists(ud.fullshallow): > @@ -585,7 +594,9 @@ class Git(FetchMethod): > """ > Return a unique key for the url > """ > - return "git:" + ud.host + ud.path.replace('/', '.') + > ud.unresolvedrev[name] > + # Collapse adjacent slashes > + slash_re =3D re.compile(r"/+") > + return "git:" + ud.host + slash_re.sub(".", ud.path) + > ud.unresolvedrev[name]=20 > def _lsremote(self, ud, d, search): > """ > @@ -662,7 +673,7 @@ class Git(FetchMethod): > =20 > # search for version in the line > tag =3D tagregex.search(tag_head) > - if tag =3D=3D None: > + if tag is None: > continue > =20 > tag =3D tag.group('pver') > diff --git a/bitbake/lib/bb/fetch2/gitannex.py > b/bitbake/lib/bb/fetch2/gitannex.py index 1d497dc..80a808d 100644 > --- a/bitbake/lib/bb/fetch2/gitannex.py > +++ b/bitbake/lib/bb/fetch2/gitannex.py > @@ -8,11 +8,9 @@ BitBake 'Fetch' git annex implementation > # SPDX-License-Identifier: GPL-2.0-only > # > =20 > -import os > import bb > from bb.fetch2.git import Git > from bb.fetch2 import runfetchcmd > -from bb.fetch2 import logger > =20 > class GitANNEX(Git): > def supports(self, ud, d): > diff --git a/bitbake/lib/bb/fetch2/gitsm.py > b/bitbake/lib/bb/fetch2/gitsm.py index c622771..e708300 100644 > --- a/bitbake/lib/bb/fetch2/gitsm.py > +++ b/bitbake/lib/bb/fetch2/gitsm.py > @@ -20,11 +20,12 @@ NOTE: Switching a SRC_URI from "git://" to > "gitsm://" requires a clean of your r import os > import bb > import copy > +import shutil > +import tempfile > from bb.fetch2.git import Git > from bb.fetch2 import runfetchcmd > from bb.fetch2 import logger > from bb.fetch2 import Fetch > -from bb.fetch2 import BBFetchException > =20 > class GitSM(Git): > def supports(self, ud, d): > @@ -131,7 +132,7 @@ class GitSM(Git): > ld.setVar('SRCPV', d.getVar('SRCPV')) > ld.setVar('SRCREV_FORMAT', module) > =20 > - function(ud, url, module, paths[module], ld) > + function(ud, url, module, paths[module], workdir, ld) > =20 > return submodules !=3D [] > =20 > @@ -153,7 +154,7 @@ class GitSM(Git): > return False > =20 > def download(self, ud, d): > - def download_submodule(ud, url, module, modpath, d): > + def download_submodule(ud, url, module, modpath, workdir, d): > url +=3D ";bareclone=3D1;nobranch=3D1" > =20 > # Is the following still needed? > @@ -164,16 +165,25 @@ class GitSM(Git): > newfetch.download() > # Drop a nugget to add each of the srcrevs we've > fetched (used by need_update) runfetchcmd("%s config --add > bitbake.srcrev %s" % \ > - (ud.basecmd, ud.revisions[ud.names[0]]), > d, workdir=3Dud.clonedir) > + (ud.basecmd, ud.revisions[ud.names[0]]), > d, workdir=3Dworkdir) except Exception as e: > logger.error('gitsm: submodule download failed: %s > %s' % (type(e).__name__, str(e))) raise > =20 > Git.download(self, ud, d) > - self.process_submodules(ud, ud.clonedir, download_submodule, > d) + > + # If we're using a shallow mirror tarball it needs to be > unpacked > + # temporarily so that we can examine the .gitmodules file > + if ud.shallow and os.path.exists(ud.fullshallow) and > self.need_update(ud, d): > + tmpdir =3D tempfile.mkdtemp(dir=3Dd.getVar("DL_DIR")) > + runfetchcmd("tar -xzf %s" % ud.fullshallow, d, > workdir=3Dtmpdir) > + self.process_submodules(ud, tmpdir, download_submodule, > d) > + shutil.rmtree(tmpdir) > + else: > + self.process_submodules(ud, ud.clonedir, > download_submodule, d)=20 > def unpack(self, ud, destdir, d): > - def unpack_submodules(ud, url, module, modpath, d): > + def unpack_submodules(ud, url, module, modpath, workdir, d): > url +=3D ";bareclone=3D1;nobranch=3D1" > =20 > # Figure out where we clone over the bare submodules... > diff --git a/bitbake/lib/bb/fetch2/hg.py b/bitbake/lib/bb/fetch2/hg.py > index 15d729e..8f50370 100644 > --- a/bitbake/lib/bb/fetch2/hg.py > +++ b/bitbake/lib/bb/fetch2/hg.py > @@ -13,8 +13,6 @@ BitBake 'Fetch' implementation for mercurial DRCS > (hg). # > =20 > import os > -import sys > -import logging > import bb > import errno > from bb.fetch2 import FetchMethod > @@ -54,13 +52,6 @@ class Hg(FetchMethod): > else: > ud.proto =3D "hg" > =20 > - ud.setup_revisions(d) > - > - if 'rev' in ud.parm: > - ud.revision =3D ud.parm['rev'] > - elif not ud.revision: > - ud.revision =3D self.latest_revision(ud, d) > - > # Create paths to mercurial checkouts > hgsrcname =3D '%s_%s_%s' % (ud.module.replace('/', '.'), \ > ud.host, ud.path.replace('/', '.')) > @@ -74,6 +65,13 @@ class Hg(FetchMethod): > ud.localfile =3D ud.moddir > ud.basecmd =3D d.getVar("FETCHCMD_hg") or "/usr/bin/env hg" > =20 > + ud.setup_revisions(d) > + > + if 'rev' in ud.parm: > + ud.revision =3D ud.parm['rev'] > + elif not ud.revision: > + ud.revision =3D self.latest_revision(ud, d) > + > ud.write_tarballs =3D d.getVar("BB_GENERATE_MIRROR_TARBALLS") > =20 > def need_update(self, ud, d): > @@ -139,7 +137,7 @@ class Hg(FetchMethod): > cmd =3D "%s --config auth.default.prefix=3D* --config > auth.default.username=3D%s --config auth.default.password=3D%s --config > \"auth.default.schemes=3D%s\" pull" % (ud.basecmd, ud.user, ud.pswd, > proto) else: cmd =3D "%s pull" % (ud.basecmd) > - elif command =3D=3D "update": > + elif command =3D=3D "update" or command =3D=3D "up": > if ud.user and ud.pswd: > cmd =3D "%s --config auth.default.prefix=3D* --config > auth.default.username=3D%s --config auth.default.password=3D%s --config > \"auth.default.schemes=3D%s\" update -C %s" % (ud.basecmd, ud.user, > ud.pswd, proto, " ".join(options)) else: @@ -247,12 +245,19 @@ class > Hg(FetchMethod): scmdata =3D ud.parm.get("scmdata", "") > if scmdata !=3D "nokeep": > + proto =3D ud.parm.get('protocol', 'http') > if not os.access(os.path.join(codir, '.hg'), os.R_OK): > logger.debug(2, "Unpack: creating new hg repository > in '" + codir + "'") runfetchcmd("%s init %s" % (ud.basecmd, codir), > d) logger.debug(2, "Unpack: updating source in '" + codir + "'") > - runfetchcmd("%s pull %s" % (ud.basecmd, ud.moddir), d, > workdir=3Dcodir) > - runfetchcmd("%s up -C %s" % (ud.basecmd, revflag), d, > workdir=3Dcodir) > + if ud.user and ud.pswd: > + runfetchcmd("%s --config auth.default.prefix=3D* > --config auth.default.username=3D%s --config auth.default.password=3D%s > --config \"auth.default.schemes=3D%s\" pull %s" % (ud.basecmd, ud.user, > ud.pswd, proto, ud.moddir), d, workdir=3Dcodir) > + else: > + runfetchcmd("%s pull %s" % (ud.basecmd, ud.moddir), > d, workdir=3Dcodir) > + if ud.user and ud.pswd: > + runfetchcmd("%s --config auth.default.prefix=3D* > --config auth.default.username=3D%s --config auth.default.password=3D%s > --config \"auth.default.schemes=3D%s\" up -C %s" % (ud.basecmd, > ud.user, ud.pswd, proto, revflag), d, workdir=3Dcodir) > + else: > + runfetchcmd("%s up -C %s" % (ud.basecmd, revflag), > d, workdir=3Dcodir) else: > logger.debug(2, "Unpack: extracting source to '" + codir > + "'") runfetchcmd("%s archive -t files %s %s" % (ud.basecmd, > revflag, codir), d, workdir=3Dud.moddir) diff --git > a/bitbake/lib/bb/fetch2/npm.py b/bitbake/lib/bb/fetch2/npm.py index > 9700e61..4789850 100644 --- a/bitbake/lib/bb/fetch2/npm.py > +++ b/bitbake/lib/bb/fetch2/npm.py > @@ -1,301 +1,296 @@ > +# Copyright (C) 2020 Savoir-Faire Linux > # > # SPDX-License-Identifier: GPL-2.0-only > # > """ > -BitBake 'Fetch' NPM implementation > +BitBake 'Fetch' npm implementation > =20 > -The NPM fetcher is used to retrieve files from the npmjs repository > +npm fetcher support the SRC_URI with format of: > +SRC_URI =3D "npm://some.registry.url;OptionA=3Dxxx;OptionB=3Dxxx;..." > =20 > -Usage in the recipe: > +Supported SRC_URI options are: > =20 > - SRC_URI =3D "npm://registry.npmjs.org/;name=3D${PN};version=3D${PV}" > - Suported SRC_URI options are: > +- package > + The npm package name. This is a mandatory parameter. > =20 > - - name > - - version > +- version > + The npm package version. This is a mandatory parameter. > =20 > - npm://registry.npmjs.org/${PN}/-/${PN}-${PV}.tgz would become > npm://registry.npmjs.org;name=3D${PN};version=3D${PV} > - The fetcher all triggers off the existence of ud.localpath. If > that exists and has the ".done" stamp, its assumed the fetch is > good/done +- downloadfilename > + Specifies the filename used when storing the downloaded file. > =20 > +- destsuffix > + Specifies the directory to use to unpack the package (default: > npm). """ > =20 > -import os > -import sys > -import urllib.request, urllib.parse, urllib.error > +import base64 > import json > -import subprocess > -import signal > +import os > +import re > +import shlex > +import tempfile > import bb > -from bb.fetch2 import FetchMethod > -from bb.fetch2 import FetchError > -from bb.fetch2 import ChecksumError > -from bb.fetch2 import runfetchcmd > -from bb.fetch2 import logger > -from bb.fetch2 import UnpackError > -from bb.fetch2 import ParameterError > - > -def subprocess_setup(): > - # Python installs a SIGPIPE handler by default. This is usually > not what > - # non-Python subprocesses expect. > - # SIGPIPE errors are known issues with gzip/bash > - signal.signal(signal.SIGPIPE, signal.SIG_DFL) > +from bb.fetch2 import Fetch > +from bb.fetch2 import FetchError > +from bb.fetch2 import FetchMethod > +from bb.fetch2 import MissingParameterError > +from bb.fetch2 import ParameterError > +from bb.fetch2 import URI > +from bb.fetch2 import check_network_access > +from bb.fetch2 import runfetchcmd > +from bb.utils import is_semver > + > +def npm_package(package): > + """Convert the npm package name to remove unsupported > character""" > + # Scoped package names (with the @) use the same naming > convention > + # as the 'npm pack' command. > + if package.startswith("@"): > + return re.sub("/", "-", package[1:]) > + return package > + > +def npm_filename(package, version): > + """Get the filename of a npm package""" > + return npm_package(package) + "-" + version + ".tgz" > + > +def npm_localfile(package, version): > + """Get the local filename of a npm package""" > + return os.path.join("npm2", npm_filename(package, version)) > + > +def npm_integrity(integrity): > + """ > + Get the checksum name and expected value from the subresource > integrity > + https://www.w3.org/TR/SRI/ > + """ > + algo, value =3D integrity.split("-", maxsplit=3D1) > + return "%ssum" % algo, base64.b64decode(value).hex() > + > +def npm_unpack(tarball, destdir, d): > + """Unpack a npm tarball""" > + bb.utils.mkdirhier(destdir) > + cmd =3D "tar --extract --gzip --file=3D%s" % shlex.quote(tarball) > + cmd +=3D " --no-same-owner" > + cmd +=3D " --strip-components=3D1" > + runfetchcmd(cmd, d, workdir=3Ddestdir) > + > +class NpmEnvironment(object): > + """ > + Using a npm config file seems more reliable than using cli > arguments. > + This class allows to create a controlled environment for npm > commands. > + """ > + def __init__(self, d, configs=3DNone): > + self.d =3D d > + self.configs =3D configs > + > + def run(self, cmd, args=3DNone, configs=3DNone, workdir=3DNone): > + """Run npm command in a controlled environment""" > + with tempfile.TemporaryDirectory() as tmpdir: > + d =3D bb.data.createCopy(self.d) > + d.setVar("HOME", tmpdir) > + > + cfgfile =3D os.path.join(tmpdir, "npmrc") > + > + if not workdir: > + workdir =3D tmpdir > + > + def _run(cmd): > + cmd =3D "NPM_CONFIG_USERCONFIG=3D%s " % cfgfile + cmd > + cmd =3D "NPM_CONFIG_GLOBALCONFIG=3D%s " % cfgfile + cmd > + return runfetchcmd(cmd, d, workdir=3Dworkdir) > + > + if self.configs: > + for key, value in self.configs: > + _run("npm config set %s %s" % (key, > shlex.quote(value))) + > + if configs: > + for key, value in configs: > + _run("npm config set %s %s" % (key, > shlex.quote(value))) + > + if args: > + for key, value in args: > + cmd +=3D " --%s=3D%s" % (key, shlex.quote(value)) > + > + return _run(cmd) > =20 > class Npm(FetchMethod): > - > - """Class to fetch urls via 'npm'""" > - def init(self, d): > - pass > + """Class to fetch a package from a npm registry""" > =20 > def supports(self, ud, d): > - """ > - Check to see if a given url can be fetched with npm > - """ > - return ud.type in ['npm'] > + """Check if a given url can be fetched with npm""" > + return ud.type in ["npm"] > + > + def urldata_init(self, ud, d): > + """Init npm specific variables within url data""" > + ud.package =3D None > + ud.version =3D None > + ud.registry =3D None > =20 > - def debug(self, msg): > - logger.debug(1, "NpmFetch: %s", msg) > + # Get the 'package' parameter > + if "package" in ud.parm: > + ud.package =3D ud.parm.get("package") > =20 > - def clean(self, ud, d): > - logger.debug(2, "Calling cleanup %s" % ud.pkgname) > - bb.utils.remove(ud.localpath, False) > - bb.utils.remove(ud.pkgdatadir, True) > - bb.utils.remove(ud.fullmirror, False) > + if not ud.package: > + raise MissingParameterError("Parameter 'package' > required", ud.url) + > + # Get the 'version' parameter > + if "version" in ud.parm: > + ud.version =3D ud.parm.get("version") > =20 > - def urldata_init(self, ud, d): > - """ > - init NPM specific variable within url data > - """ > - if 'downloadfilename' in ud.parm: > - ud.basename =3D ud.parm['downloadfilename'] > - else: > - ud.basename =3D os.path.basename(ud.path) > - > - # can't call it ud.name otherwise fetcher base class will > start doing sha1stuff > - # TODO: find a way to get an sha1/sha256 manifest of pkg & > all deps > - ud.pkgname =3D ud.parm.get("name", None) > - if not ud.pkgname: > - raise ParameterError("NPM fetcher requires a name > parameter", ud.url) > - ud.version =3D ud.parm.get("version", None) > if not ud.version: > - raise ParameterError("NPM fetcher requires a version > parameter", ud.url) > - ud.bbnpmmanifest =3D "%s-%s.deps.json" % (ud.pkgname, > ud.version) > - ud.bbnpmmanifest =3D ud.bbnpmmanifest.replace('/', '-') > - ud.registry =3D "http://%s" % (ud.url.replace('npm://', '', > 1).split(';'))[0] > - prefixdir =3D "npm/%s" % ud.pkgname > - ud.pkgdatadir =3D d.expand("${DL_DIR}/%s" % prefixdir) > - if not os.path.exists(ud.pkgdatadir): > - bb.utils.mkdirhier(ud.pkgdatadir) > - ud.localpath =3D d.expand("${DL_DIR}/npm/%s" % > ud.bbnpmmanifest) - > - self.basecmd =3D d.getVar("FETCHCMD_wget") or "/usr/bin/env > wget -O -t 2 -T 30 -nv --passive-ftp --no-check-certificate " > - ud.prefixdir =3D prefixdir > - > - ud.write_tarballs =3D > ((d.getVar("BB_GENERATE_MIRROR_TARBALLS") or "0") !=3D "0") > - mirrortarball =3D 'npm_%s-%s.tar.xz' % (ud.pkgname, ud.version) > - mirrortarball =3D mirrortarball.replace('/', '-') > - ud.fullmirror =3D os.path.join(d.getVar("DL_DIR"), > mirrortarball) > - ud.mirrortarballs =3D [mirrortarball] > + raise MissingParameterError("Parameter 'version' > required", ud.url)=20 > - def need_update(self, ud, d): > - if os.path.exists(ud.localpath): > - return False > - return True > - > - def _runpack(self, ud, d, pkgfullname: str, quiet=3DFalse) -> str: > - """ > - Runs npm pack on a full package name. > - Returns the filename of the downloaded package > - """ > - bb.fetch2.check_network_access(d, pkgfullname, ud.registry) > - dldir =3D d.getVar("DL_DIR") > - dldir =3D os.path.join(dldir, ud.prefixdir) > - > - command =3D "npm pack {} --registry {}".format(pkgfullname, > ud.registry) > - logger.debug(2, "Fetching {} using command '{}' in > {}".format(pkgfullname, command, dldir)) > - filename =3D runfetchcmd(command, d, quiet, workdir=3Ddldir) > - return filename.rstrip() > - > - def _unpackdep(self, ud, pkg, data, destdir, dldir, d): > - file =3D data[pkg]['tgz'] > - logger.debug(2, "file to extract is %s" % file) > - if file.endswith('.tgz') or file.endswith('.tar.gz') or > file.endswith('.tar.Z'): > - cmd =3D 'tar xz --strip 1 --no-same-owner > --warning=3Dno-unknown-keyword -f %s/%s' % (dldir, file) > - else: > - bb.fatal("NPM package %s downloaded not a tarball!" % > file) - > - # Change to subdir before executing command > - if not os.path.exists(destdir): > - os.makedirs(destdir) > - path =3D d.getVar('PATH') > - if path: > - cmd =3D "PATH=3D\"%s\" %s" % (path, cmd) > - bb.note("Unpacking %s to %s/" % (file, destdir)) > - ret =3D subprocess.call(cmd, preexec_fn=3Dsubprocess_setup, > shell=3DTrue, cwd=3Ddestdir) - > - if ret !=3D 0: > - raise UnpackError("Unpack command %s failed with return > value %s" % (cmd, ret), ud.url) - > - if 'deps' not in data[pkg]: > - return > - for dep in data[pkg]['deps']: > - self._unpackdep(ud, dep, data[pkg]['deps'], > "%s/node_modules/%s" % (destdir, dep), dldir, d) - > - > - def unpack(self, ud, destdir, d): > - dldir =3D d.getVar("DL_DIR") > - with open("%s/npm/%s" % (dldir, ud.bbnpmmanifest)) as > datafile: > - workobj =3D json.load(datafile) > - dldir =3D "%s/%s" % (os.path.dirname(ud.localpath), ud.pkgname) > - > - if 'subdir' in ud.parm: > - unpackdir =3D '%s/%s' % (destdir, ud.parm.get('subdir')) > + if not is_semver(ud.version) and not ud.version =3D=3D "latest": > + raise ParameterError("Invalid 'version' parameter", > ud.url) + > + # Extract the 'registry' part of the url > + ud.registry =3D re.sub(r"^npm://", "http://", > ud.url.split(";")[0]) + > + # Using the 'downloadfilename' parameter as local filename > + # or the npm package name. > + if "downloadfilename" in ud.parm: > + ud.localfile =3D d.expand(ud.parm["downloadfilename"]) > else: > - unpackdir =3D '%s/npmpkg' % destdir > - > - self._unpackdep(ud, ud.pkgname, workobj, unpackdir, dldir, d) > - > - def _parse_view(self, output): > - ''' > - Parse the output of npm view --json; the last JSON result > - is assumed to be the one that we're interested in. > - ''' > - pdata =3D json.loads(output); > - try: > - return pdata[-1] > - except: > - return pdata > - > - def _getdependencies(self, pkg, data, version, d, ud, > optional=3DFalse, fetchedlist=3DNone): > - if fetchedlist is None: > - fetchedlist =3D [] > - pkgfullname =3D pkg > - if version !=3D '*' and not '/' in version: > - pkgfullname +=3D "@'%s'" % version > - if pkgfullname in fetchedlist: > - return > - > - logger.debug(2, "Calling getdeps on %s" % pkg) > - fetchcmd =3D "npm view %s --json --registry %s" % > (pkgfullname, ud.registry) > - output =3D runfetchcmd(fetchcmd, d, True) > - pdata =3D self._parse_view(output) > - if not pdata: > - raise FetchError("The command '%s' returned no output" % > fetchcmd) > - if optional: > - pkg_os =3D pdata.get('os', None) > - if pkg_os: > - if not isinstance(pkg_os, list): > - pkg_os =3D [pkg_os] > - blacklist =3D False > - for item in pkg_os: > - if item.startswith('!'): > - blacklist =3D True > - break > - if (not blacklist and 'linux' not in pkg_os) or > '!linux' in pkg_os: > - logger.debug(2, "Skipping %s since it's > incompatible with Linux" % pkg) > - return > - filename =3D self._runpack(ud, d, pkgfullname) > - data[pkg] =3D {} > - data[pkg]['tgz'] =3D filename > - fetchedlist.append(pkgfullname) > - > - dependencies =3D pdata.get('dependencies', {}) > - optionalDependencies =3D pdata.get('optionalDependencies', {}) > - dependencies.update(optionalDependencies) > - depsfound =3D {} > - optdepsfound =3D {} > - data[pkg]['deps'] =3D {} > - for dep in dependencies: > - if dep in optionalDependencies: > - optdepsfound[dep] =3D dependencies[dep] > + ud.localfile =3D npm_localfile(ud.package, ud.version) > + > + # Get the base 'npm' command > + ud.basecmd =3D d.getVar("FETCHCMD_npm") or "npm" > + > + # This fetcher resolves a URI from a npm package name and > version and > + # then forwards it to a proxy fetcher. A resolve file > containing the > + # resolved URI is created to avoid unwanted network access > (if the file > + # already exists). The management of the donestamp file, the > lockfile > + # and the checksums are forwarded to the proxy fetcher. > + ud.proxy =3D None > + ud.needdonestamp =3D False > + ud.resolvefile =3D self.localpath(ud, d) + ".resolved" > + > + def _resolve_proxy_url(self, ud, d): > + def _npm_view(): > + configs =3D [] > + configs.append(("json", "true")) > + configs.append(("registry", ud.registry)) > + pkgver =3D shlex.quote(ud.package + "@" + ud.version) > + cmd =3D ud.basecmd + " view %s" % pkgver > + env =3D NpmEnvironment(d) > + check_network_access(d, cmd, ud.registry) > + view_string =3D env.run(cmd, configs=3Dconfigs) > + > + if not view_string: > + raise FetchError("Unavailable package %s" % pkgver, > ud.url) + > + try: > + view =3D json.loads(view_string) > + > + error =3D view.get("error") > + if error is not None: > + raise FetchError(error.get("summary"), ud.url) > + > + if ud.version =3D=3D "latest": > + bb.warn("The npm package %s is using the latest > " \ > + "version available. This could lead to " > \ > + "non-reproducible builds." % pkgver) > + elif ud.version !=3D view.get("version"): > + raise ParameterError("Invalid 'version' > parameter", ud.url) + > + return view > + > + except Exception as e: > + raise FetchError("Invalid view from npm: %s" % > str(e), ud.url) + > + def _get_url(view): > + tarball_url =3D view.get("dist", {}).get("tarball") > + > + if tarball_url is None: > + raise FetchError("Invalid 'dist.tarball' in view", > ud.url) + > + uri =3D URI(tarball_url) > + uri.params["downloadfilename"] =3D ud.localfile > + > + integrity =3D view.get("dist", {}).get("integrity") > + shasum =3D view.get("dist", {}).get("shasum") > + > + if integrity is not None: > + checksum_name, checksum_expected =3D > npm_integrity(integrity) > + uri.params[checksum_name] =3D checksum_expected > + elif shasum is not None: > + uri.params["sha1sum"] =3D shasum > else: > - depsfound[dep] =3D dependencies[dep] > - for dep, version in optdepsfound.items(): > - self._getdependencies(dep, data[pkg]['deps'], version, > d, ud, optional=3DTrue, fetchedlist=3Dfetchedlist) > - for dep, version in depsfound.items(): > - self._getdependencies(dep, data[pkg]['deps'], version, > d, ud, fetchedlist=3Dfetchedlist) - > - def _getshrinkeddependencies(self, pkg, data, version, d, ud, > lockdown, manifest, toplevel=3DTrue): > - logger.debug(2, "NPM shrinkwrap file is %s" % data) > - if toplevel: > - name =3D data.get('name', None) > - if name and name !=3D pkg: > - for obj in data.get('dependencies', []): > - if obj =3D=3D pkg: > - self._getshrinkeddependencies(obj, > data['dependencies'][obj], data['dependencies'][obj]['version'], d, > ud, lockdown, manifest, False) > - return > - > - pkgnameWithVersion =3D "{}@{}".format(pkg, version) > - logger.debug(2, "Get dependencies for > {}".format(pkgnameWithVersion)) > - filename =3D self._runpack(ud, d, pkgnameWithVersion) > - manifest[pkg] =3D {} > - manifest[pkg]['tgz'] =3D filename > - manifest[pkg]['deps'] =3D {} > - > - if pkg in lockdown: > - sha1_expected =3D lockdown[pkg][version] > - sha1_data =3D bb.utils.sha1_file("npm/%s/%s" % > (ud.pkgname, manifest[pkg]['tgz'])) > - if sha1_expected !=3D sha1_data: > - msg =3D "\nFile: '%s' has %s checksum %s when %s was > expected" % (manifest[pkg]['tgz'], 'sha1', sha1_data, sha1_expected) > - raise ChecksumError('Checksum mismatch!%s' % msg) > - else: > - logger.debug(2, "No lockdown data for %s@%s" % (pkg, > version)) > + raise FetchError("Invalid 'dist.integrity' in view", > ud.url)=20 > - if 'dependencies' in data: > - for obj in data['dependencies']: > - logger.debug(2, "Found dep is %s" % str(obj)) > - self._getshrinkeddependencies(obj, > data['dependencies'][obj], data['dependencies'][obj]['version'], d, > ud, lockdown, manifest[pkg]['deps'], False) > + return str(uri) > + > + url =3D _get_url(_npm_view()) > + > + bb.utils.mkdirhier(os.path.dirname(ud.resolvefile)) > + with open(ud.resolvefile, "w") as f: > + f.write(url) > + > + def _setup_proxy(self, ud, d): > + if ud.proxy is None: > + if not os.path.exists(ud.resolvefile): > + self._resolve_proxy_url(ud, d) > + > + with open(ud.resolvefile, "r") as f: > + url =3D f.read() > + > + # Avoid conflicts between the environment data and: > + # - the proxy url checksum > + data =3D bb.data.createCopy(d) > + data.delVarFlags("SRC_URI") > + ud.proxy =3D Fetch([url], data) > + > + def _get_proxy_method(self, ud, d): > + self._setup_proxy(ud, d) > + proxy_url =3D ud.proxy.urls[0] > + proxy_ud =3D ud.proxy.ud[proxy_url] > + proxy_d =3D ud.proxy.d > + proxy_ud.setup_localpath(proxy_d) > + return proxy_ud.method, proxy_ud, proxy_d > + > + def verify_donestamp(self, ud, d): > + """Verify the donestamp file""" > + proxy_m, proxy_ud, proxy_d =3D self._get_proxy_method(ud, d) > + return proxy_m.verify_donestamp(proxy_ud, proxy_d) > + > + def update_donestamp(self, ud, d): > + """Update the donestamp file""" > + proxy_m, proxy_ud, proxy_d =3D self._get_proxy_method(ud, d) > + proxy_m.update_donestamp(proxy_ud, proxy_d) > + > + def need_update(self, ud, d): > + """Force a fetch, even if localpath exists ?""" > + if not os.path.exists(ud.resolvefile): > + return True > + if ud.version =3D=3D "latest": > + return True > + proxy_m, proxy_ud, proxy_d =3D self._get_proxy_method(ud, d) > + return proxy_m.need_update(proxy_ud, proxy_d) > + > + def try_mirrors(self, fetch, ud, d, mirrors): > + """Try to use a mirror""" > + proxy_m, proxy_ud, proxy_d =3D self._get_proxy_method(ud, d) > + return proxy_m.try_mirrors(fetch, proxy_ud, proxy_d, mirrors) > =20 > def download(self, ud, d): > """Fetch url""" > - jsondepobj =3D {} > - shrinkobj =3D {} > - lockdown =3D {} > - > - if not os.listdir(ud.pkgdatadir) and > os.path.exists(ud.fullmirror): > - dest =3D d.getVar("DL_DIR") > - bb.utils.mkdirhier(dest) > - runfetchcmd("tar -xJf %s" % (ud.fullmirror), d, > workdir=3Ddest) > - return > - > - if ud.parm.get("noverify", None) !=3D '1': > - shwrf =3D d.getVar('NPM_SHRINKWRAP') > - logger.debug(2, "NPM shrinkwrap file is %s" % shwrf) > - if shwrf: > - try: > - with open(shwrf) as datafile: > - shrinkobj =3D json.load(datafile) > - except Exception as e: > - raise FetchError('Error loading NPM_SHRINKWRAP > file "%s" for %s: %s' % (shwrf, ud.pkgname, str(e))) > - elif not ud.ignore_checksums: > - logger.warning('Missing shrinkwrap file in > NPM_SHRINKWRAP for %s, this will lead to unreliable builds!' % > ud.pkgname) > - lckdf =3D d.getVar('NPM_LOCKDOWN') > - logger.debug(2, "NPM lockdown file is %s" % lckdf) > - if lckdf: > - try: > - with open(lckdf) as datafile: > - lockdown =3D json.load(datafile) > - except Exception as e: > - raise FetchError('Error loading NPM_LOCKDOWN > file "%s" for %s: %s' % (lckdf, ud.pkgname, str(e))) > - elif not ud.ignore_checksums: > - logger.warning('Missing lockdown file in > NPM_LOCKDOWN for %s, this will lead to unreproducible builds!' % > ud.pkgname) - > - if ('name' not in shrinkobj): > - self._getdependencies(ud.pkgname, jsondepobj, > ud.version, d, ud) > - else: > - self._getshrinkeddependencies(ud.pkgname, shrinkobj, > ud.version, d, ud, lockdown, jsondepobj) - > - with open(ud.localpath, 'w') as outfile: > - json.dump(jsondepobj, outfile) > - > - def build_mirror_data(self, ud, d): > - # Generate a mirror tarball if needed > - if ud.write_tarballs and not os.path.exists(ud.fullmirror): > - # it's possible that this symlink points to read-only > filesystem with PREMIRROR > - if os.path.islink(ud.fullmirror): > - os.unlink(ud.fullmirror) > - > - dldir =3D d.getVar("DL_DIR") > - logger.info("Creating tarball of npm data") > - runfetchcmd("tar -cJf %s npm/%s npm/%s" % > (ud.fullmirror, ud.bbnpmmanifest, ud.pkgname), d, > - workdir=3Ddldir) > - runfetchcmd("touch %s.done" % (ud.fullmirror), d, > workdir=3Ddldir) > + self._setup_proxy(ud, d) > + ud.proxy.download() > + > + def unpack(self, ud, rootdir, d): > + """Unpack the downloaded archive""" > + destsuffix =3D ud.parm.get("destsuffix", "npm") > + destdir =3D os.path.join(rootdir, destsuffix) > + npm_unpack(ud.localpath, destdir, d) > + > + def clean(self, ud, d): > + """Clean any existing full or partial download""" > + if os.path.exists(ud.resolvefile): > + self._setup_proxy(ud, d) > + ud.proxy.clean() > + bb.utils.remove(ud.resolvefile) > + > + def done(self, ud, d): > + """Is the download done ?""" > + if not os.path.exists(ud.resolvefile): > + return False > + proxy_m, proxy_ud, proxy_d =3D self._get_proxy_method(ud, d) > + return proxy_m.done(proxy_ud, proxy_d) > diff --git a/bitbake/lib/bb/fetch2/npmsw.py > b/bitbake/lib/bb/fetch2/npmsw.py new file mode 100644 > index 0000000..0c3511d > --- /dev/null > +++ b/bitbake/lib/bb/fetch2/npmsw.py > @@ -0,0 +1,255 @@ > +# Copyright (C) 2020 Savoir-Faire Linux > +# > +# SPDX-License-Identifier: GPL-2.0-only > +# > +""" > +BitBake 'Fetch' npm shrinkwrap implementation > + > +npm fetcher support the SRC_URI with format of: > +SRC_URI =3D "npmsw://some.registry.url;OptionA=3Dxxx;OptionB=3Dxxx;..." > + > +Supported SRC_URI options are: > + > +- dev > + Set to 1 to also install devDependencies. > + > +- destsuffix > + Specifies the directory to use to unpack the dependencies > (default: ${S}). +""" > + > +import json > +import os > +import re > +import bb > +from bb.fetch2 import Fetch > +from bb.fetch2 import FetchMethod > +from bb.fetch2 import ParameterError > +from bb.fetch2 import URI > +from bb.fetch2.npm import npm_integrity > +from bb.fetch2.npm import npm_localfile > +from bb.fetch2.npm import npm_unpack > +from bb.utils import is_semver > + > +def foreach_dependencies(shrinkwrap, callback=3DNone, dev=3DFalse): > + """ > + Run a callback for each dependencies of a shrinkwrap file. > + The callback is using the format: > + callback(name, params, deptree) > + with: > + name =3D the package name (string) > + params =3D the package parameters (dictionary) > + deptree =3D the package dependency tree (array of strings) > + """ > + def _walk_deps(deps, deptree): > + for name in deps: > + subtree =3D [*deptree, name] > + _walk_deps(deps[name].get("dependencies", {}), subtree) > + if callback is not None: > + if deps[name].get("dev", False) and not dev: > + continue > + elif deps[name].get("bundled", False): > + continue > + callback(name, deps[name], subtree) > + > + _walk_deps(shrinkwrap.get("dependencies", {}), []) > + > +class NpmShrinkWrap(FetchMethod): > + """Class to fetch all package from a shrinkwrap file""" > + > + def supports(self, ud, d): > + """Check if a given url can be fetched with npmsw""" > + return ud.type in ["npmsw"] > + > + def urldata_init(self, ud, d): > + """Init npmsw specific variables within url data""" > + > + # Get the 'shrinkwrap' parameter > + ud.shrinkwrap_file =3D re.sub(r"^npmsw://", "", > ud.url.split(";")[0]) + > + # Get the 'dev' parameter > + ud.dev =3D bb.utils.to_boolean(ud.parm.get("dev"), False) > + > + # Resolve the dependencies > + ud.deps =3D [] > + > + def _resolve_dependency(name, params, deptree): > + url =3D None > + localpath =3D None > + extrapaths =3D [] > + destsubdirs =3D [os.path.join("node_modules", dep) for dep > in deptree] > + destsuffix =3D os.path.join(*destsubdirs) > + > + integrity =3D params.get("integrity", None) > + resolved =3D params.get("resolved", None) > + version =3D params.get("version", None) > + > + # Handle registry sources > + if is_semver(version) and resolved and integrity: > + localfile =3D npm_localfile(name, version) > + > + uri =3D URI(resolved) > + uri.params["downloadfilename"] =3D localfile > + > + checksum_name, checksum_expected =3D > npm_integrity(integrity) > + uri.params[checksum_name] =3D checksum_expected > + > + url =3D str(uri) > + > + localpath =3D os.path.join(d.getVar("DL_DIR"), > localfile) + > + # Create a resolve file to mimic the npm fetcher and > allow > + # re-usability of the downloaded file. > + resolvefile =3D localpath + ".resolved" > + > + bb.utils.mkdirhier(os.path.dirname(resolvefile)) > + with open(resolvefile, "w") as f: > + f.write(url) > + > + extrapaths.append(resolvefile) > + > + # Handle http tarball sources > + elif version.startswith("http") and integrity: > + localfile =3D os.path.join("npm2", > os.path.basename(version)) + > + uri =3D URI(version) > + uri.params["downloadfilename"] =3D localfile > + > + checksum_name, checksum_expected =3D > npm_integrity(integrity) > + uri.params[checksum_name] =3D checksum_expected > + > + url =3D str(uri) > + > + localpath =3D os.path.join(d.getVar("DL_DIR"), > localfile) + > + # Handle git sources > + elif version.startswith("git"): > + regex =3D re.compile(r""" > + ^ > + git\+ > + (?P[a-z]+) > + :// > + (?P[^#]+) > + \# > + (?P[0-9a-f]+) > + $ > + """, re.VERBOSE) > + > + match =3D regex.match(version) > + > + if not match: > + raise ParameterError("Invalid git url: %s" % > version, ud.url) + > + groups =3D match.groupdict() > + > + uri =3D URI("git://" + str(groups["url"])) > + uri.params["protocol"] =3D str(groups["protocol"]) > + uri.params["rev"] =3D str(groups["rev"]) > + uri.params["destsuffix"] =3D destsuffix > + > + url =3D str(uri) > + > + # local tarball sources and local link sources are > unsupported > + else: > + raise ParameterError("Unsupported dependency: %s" % > name, ud.url) + > + ud.deps.append({ > + "url": url, > + "localpath": localpath, > + "extrapaths": extrapaths, > + "destsuffix": destsuffix, > + }) > + > + try: > + with open(ud.shrinkwrap_file, "r") as f: > + shrinkwrap =3D json.load(f) > + except Exception as e: > + raise ParameterError("Invalid shrinkwrap file: %s" % > str(e), ud.url) + > + foreach_dependencies(shrinkwrap, _resolve_dependency, ud.dev) > + > + # Avoid conflicts between the environment data and: > + # - the proxy url revision > + # - the proxy url checksum > + data =3D bb.data.createCopy(d) > + data.delVar("SRCREV") > + data.delVarFlags("SRC_URI") > + > + # This fetcher resolves multiple URIs from a shrinkwrap file > and then > + # forwards it to a proxy fetcher. The management of the > donestamp file, > + # the lockfile and the checksums are forwarded to the proxy > fetcher. > + ud.proxy =3D Fetch([dep["url"] for dep in ud.deps], data) > + ud.needdonestamp =3D False > + > + @staticmethod > + def _foreach_proxy_method(ud, handle): > + returns =3D [] > + for proxy_url in ud.proxy.urls: > + proxy_ud =3D ud.proxy.ud[proxy_url] > + proxy_d =3D ud.proxy.d > + proxy_ud.setup_localpath(proxy_d) > + returns.append(handle(proxy_ud.method, proxy_ud, > proxy_d)) > + return returns > + > + def verify_donestamp(self, ud, d): > + """Verify the donestamp file""" > + def _handle(m, ud, d): > + return m.verify_donestamp(ud, d) > + return all(self._foreach_proxy_method(ud, _handle)) > + > + def update_donestamp(self, ud, d): > + """Update the donestamp file""" > + def _handle(m, ud, d): > + m.update_donestamp(ud, d) > + self._foreach_proxy_method(ud, _handle) > + > + def need_update(self, ud, d): > + """Force a fetch, even if localpath exists ?""" > + def _handle(m, ud, d): > + return m.need_update(ud, d) > + return all(self._foreach_proxy_method(ud, _handle)) > + > + def try_mirrors(self, fetch, ud, d, mirrors): > + """Try to use a mirror""" > + def _handle(m, ud, d): > + return m.try_mirrors(fetch, ud, d, mirrors) > + return all(self._foreach_proxy_method(ud, _handle)) > + > + def download(self, ud, d): > + """Fetch url""" > + ud.proxy.download() > + > + def unpack(self, ud, rootdir, d): > + """Unpack the downloaded dependencies""" > + destdir =3D d.getVar("S") > + destsuffix =3D ud.parm.get("destsuffix") > + if destsuffix: > + destdir =3D os.path.join(rootdir, destsuffix) > + > + bb.utils.mkdirhier(destdir) > + bb.utils.copyfile(ud.shrinkwrap_file, > + os.path.join(destdir, > "npm-shrinkwrap.json")) + > + auto =3D [dep["url"] for dep in ud.deps if not > dep["localpath"]] > + manual =3D [dep for dep in ud.deps if dep["localpath"]] > + > + if auto: > + ud.proxy.unpack(destdir, auto) > + > + for dep in manual: > + depdestdir =3D os.path.join(destdir, dep["destsuffix"]) > + npm_unpack(dep["localpath"], depdestdir, d) > + > + def clean(self, ud, d): > + """Clean any existing full or partial download""" > + ud.proxy.clean() > + > + # Clean extra files > + for dep in ud.deps: > + for path in dep["extrapaths"]: > + bb.utils.remove(path) > + > + def done(self, ud, d): > + """Is the download done ?""" > + def _handle(m, ud, d): > + return m.done(ud, d) > + return all(self._foreach_proxy_method(ud, _handle)) > diff --git a/bitbake/lib/bb/fetch2/osc.py > b/bitbake/lib/bb/fetch2/osc.py index 3e56715..8f091ef 100644 > --- a/bitbake/lib/bb/fetch2/osc.py > +++ b/bitbake/lib/bb/fetch2/osc.py > @@ -7,8 +7,6 @@ Based on the svn "Fetch" implementation. > =20 > """ > =20 > -import os > -import sys > import logging > import bb > from bb.fetch2 import FetchMethod > @@ -43,7 +41,7 @@ class Osc(FetchMethod): > else: > pv =3D d.getVar("PV", False) > rev =3D bb.fetch2.srcrev_internal_helper(ud, d) > - if rev and rev !=3D True: > + if rev: > ud.revision =3D rev > else: > ud.revision =3D "" > diff --git a/bitbake/lib/bb/fetch2/perforce.py > b/bitbake/lib/bb/fetch2/perforce.py index 54d001e..f57c2a4 100644 > --- a/bitbake/lib/bb/fetch2/perforce.py > +++ b/bitbake/lib/bb/fetch2/perforce.py > @@ -11,7 +11,6 @@ BitBake 'Fetch' implementation for perforce > # Based on functions from the base bb module, Copyright 2003 Holger > Schurig=20 > import os > -import logging > import bb > from bb.fetch2 import FetchMethod > from bb.fetch2 import FetchError > @@ -105,7 +104,7 @@ class Perforce(FetchMethod): > if command =3D=3D 'changes': > p4cmd =3D '%s%s changes -m 1 //%s' % (ud.basecmd, p4opt, > pathnrev) elif command =3D=3D 'print': > - if depot_filename !=3D None: > + if depot_filename is not None: > p4cmd =3D '%s%s print -o "p4/%s" "%s"' % (ud.basecmd, > p4opt, filename, depot_filename) else: > raise FetchError('No depot file name provided to p4 > %s' % command, ud.url) diff --git a/bitbake/lib/bb/fetch2/ssh.py > b/bitbake/lib/bb/fetch2/ssh.py index f5be060..5e982ec 100644 > --- a/bitbake/lib/bb/fetch2/ssh.py > +++ b/bitbake/lib/bb/fetch2/ssh.py > @@ -32,8 +32,6 @@ IETF secsh internet draft: > =20 > import re, os > from bb.fetch2 import FetchMethod > -from bb.fetch2 import FetchError > -from bb.fetch2 import logger > from bb.fetch2 import runfetchcmd > =20 > =20 > @@ -60,7 +58,7 @@ class SSH(FetchMethod): > '''Class to fetch a module or modules via Secure Shell''' > =20 > def supports(self, urldata, d): > - return __pattern__.match(urldata.url) !=3D None > + return __pattern__.match(urldata.url) is not None > =20 > def supports_checksum(self, urldata): > return False > diff --git a/bitbake/lib/bb/fetch2/svn.py > b/bitbake/lib/bb/fetch2/svn.py index 96d666b..971a5ad 100644 > --- a/bitbake/lib/bb/fetch2/svn.py > +++ b/bitbake/lib/bb/fetch2/svn.py > @@ -11,8 +11,6 @@ BitBake 'Fetch' implementation for svn. > # Based on functions from the base bb module, Copyright 2003 Holger > Schurig=20 > import os > -import sys > -import logging > import bb > import re > from bb.fetch2 import FetchMethod > @@ -49,7 +47,7 @@ class Svn(FetchMethod): > svndir =3D d.getVar("SVNDIR") or (d.getVar("DL_DIR") + "/svn") > relpath =3D self._strip_leading_slashes(ud.path) > ud.pkgdir =3D os.path.join(svndir, ud.host, relpath) > - ud.moddir =3D os.path.join(ud.pkgdir, ud.module) > + ud.moddir =3D os.path.join(ud.pkgdir, ud.path_spec) > # Protects the repository from concurrent updates, e.g. from > two # recipes fetching different revisions at the same time > ud.svnlock =3D os.path.join(ud.pkgdir, "svn.lock") > @@ -124,30 +122,30 @@ class Svn(FetchMethod): > =20 > try: > if os.access(os.path.join(ud.moddir, '.svn'), os.R_OK): > - svnupdatecmd =3D self._buildsvncommand(ud, d, "update") > + svncmd =3D self._buildsvncommand(ud, d, "update") > logger.info("Update " + ud.url) > # We need to attempt to run svn upgrade first in > case its an older working format try: > runfetchcmd(ud.basecmd + " upgrade", d, > workdir=3Dud.moddir) except FetchError: > pass > - logger.debug(1, "Running %s", svnupdatecmd) > - bb.fetch2.check_network_access(d, svnupdatecmd, > ud.url) > - runfetchcmd(svnupdatecmd, d, workdir=3Dud.moddir) > + logger.debug(1, "Running %s", svncmd) > + bb.fetch2.check_network_access(d, svncmd, ud.url) > + runfetchcmd(svncmd, d, workdir=3Dud.moddir) > else: > - svnfetchcmd =3D self._buildsvncommand(ud, d, "fetch") > + svncmd =3D self._buildsvncommand(ud, d, "fetch") > logger.info("Fetch " + ud.url) > # check out sources there > bb.utils.mkdirhier(ud.pkgdir) > - logger.debug(1, "Running %s", svnfetchcmd) > - bb.fetch2.check_network_access(d, svnfetchcmd, > ud.url) > - runfetchcmd(svnfetchcmd, d, workdir=3Dud.pkgdir) > + logger.debug(1, "Running %s", svncmd) > + bb.fetch2.check_network_access(d, svncmd, ud.url) > + runfetchcmd(svncmd, d, workdir=3Dud.pkgdir) > =20 > if not ("externals" in ud.parm and ud.parm["externals"] > =3D=3D "nowarn"): # Warn the user if this had externals (won't catch them > all) output =3D runfetchcmd("svn propget svn:externals || true", d, > workdir=3Dud.moddir) if output: > - if "--ignore-externals" in svnfetchcmd.split(): > + if "--ignore-externals" in svncmd.split(): > bb.warn("%s contains svn:externals." % > ud.url) bb.warn("These should be added to the recipe SRC_URI as > necessary.") bb.warn("svn fetch has ignored externals:\n%s" % output) > diff --git a/bitbake/lib/bb/fetch2/wget.py > b/bitbake/lib/bb/fetch2/wget.py index 725586d..f7d1de2 100644 > --- a/bitbake/lib/bb/fetch2/wget.py > +++ b/bitbake/lib/bb/fetch2/wget.py > @@ -12,11 +12,10 @@ BitBake build tools. > # > # Based on functions from the base bb module, Copyright 2003 Holger > Schurig=20 > +import shlex > import re > import tempfile > -import subprocess > import os > -import logging > import errno > import bb > import bb.progress > @@ -27,7 +26,6 @@ from bb.fetch2 import FetchMethod > from bb.fetch2 import FetchError > from bb.fetch2 import logger > from bb.fetch2 import runfetchcmd > -from bb.fetch2 import FetchConnectionCache > from bb.utils import export_proxies > from bs4 import BeautifulSoup > from bs4 import SoupStrainer > @@ -94,9 +92,9 @@ class Wget(FetchMethod): > fetchcmd =3D self.basecmd > =20 > if 'downloadfilename' in ud.parm: > - dldir =3D d.getVar("DL_DIR") > - bb.utils.mkdirhier(os.path.dirname(dldir + os.sep + > ud.localfile)) > - fetchcmd +=3D " -O " + dldir + os.sep + ud.localfile > + localpath =3D os.path.join(d.getVar("DL_DIR"), > ud.localfile) > + bb.utils.mkdirhier(os.path.dirname(localpath)) > + fetchcmd +=3D " -O %s" % shlex.quote(localpath) > =20 > if ud.user and ud.pswd: > fetchcmd +=3D " --user=3D%s --password=3D%s > --auth-no-challenge" % (ud.user, ud.pswd) @@ -302,6 +300,7 @@ class > Wget(FetchMethod): # Some servers (FusionForge, as used on Alioth) > require that the # optional Accept header is set. > r.add_header("Accept", "*/*") > + r.add_header("User-Agent", "Mozilla/5.0 (X11; U; Linux > i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) > Firefox/3.6.12") def add_basic_auth(login_str, request): '''Adds > Basic auth to http request, pass in login:password as string''' > import base64 diff --git a/bitbake/lib/bb/monitordisk.py > b/bitbake/lib/bb/monitordisk.py index 1a25b00..e7c0726 100644 > --- a/bitbake/lib/bb/monitordisk.py > +++ b/bitbake/lib/bb/monitordisk.py > @@ -4,7 +4,7 @@ > # SPDX-License-Identifier: GPL-2.0-only > # > =20 > -import os, logging, re, sys > +import os, logging, re > import bb > logger =3D logging.getLogger("BitBake.Monitor") > =20 > diff --git a/bitbake/lib/bb/msg.py b/bitbake/lib/bb/msg.py > index 6216eb3..2d88c4e 100644 > --- a/bitbake/lib/bb/msg.py > +++ b/bitbake/lib/bb/msg.py > @@ -13,9 +13,8 @@ Message handling infrastructure for bitbake > import sys > import copy > import logging > -import collections > +import logging.config > from itertools import groupby > -import warnings > import bb > import bb.event > =20 > @@ -100,6 +99,9 @@ class BBLogFormatter(logging.Formatter): > def enable_color(self): > self.color_enabled =3D True > =20 > + def __repr__(self): > + return "%s fmt=3D'%s' color=3D%s" % (self.__class__.__name__, > self._fmt, "True" if self.color_enabled else "False") + > class BBLogFilter(object): > def __init__(self, handler, level, debug_domains): > self.stdlevel =3D level > @@ -118,60 +120,59 @@ class BBLogFilter(object): > return True > return False > =20 > -class BBLogFilterStdErr(BBLogFilter): > +class LogFilterGEQLevel(logging.Filter): > + def __init__(self, level): > + self.strlevel =3D str(level) > + self.level =3D stringToLevel(level) > + > + def __repr__(self): > + return "%s level >=3D %s (%d)" % (self.__class__.__name__, > self.strlevel, self.level) + > def filter(self, record): > - if not BBLogFilter.filter(self, record): > - return False > - if record.levelno >=3D logging.ERROR: > - return True > - return False > + return (record.levelno >=3D self.level) > + > +class LogFilterLTLevel(logging.Filter): > + def __init__(self, level): > + self.strlevel =3D str(level) > + self.level =3D stringToLevel(level) > + > + def __repr__(self): > + return "%s level < %s (%d)" % (self.__class__.__name__, > self.strlevel, self.level)=20 > -class BBLogFilterStdOut(BBLogFilter): > def filter(self, record): > - if not BBLogFilter.filter(self, record): > - return False > - if record.levelno < logging.ERROR: > - return True > - return False > + return (record.levelno < self.level) > =20 > # Message control functions > # > =20 > -loggerDefaultDebugLevel =3D 0 > +loggerDefaultLogLevel =3D BBLogFormatter.NOTE > loggerDefaultVerbose =3D False > loggerVerboseLogs =3D False > -loggerDefaultDomains =3D [] > +loggerDefaultDomains =3D {} > =20 > def init_msgconfig(verbose, debug, debug_domains=3DNone): > """ > Set default verbosity and debug levels config the logger > """ > - bb.msg.loggerDefaultDebugLevel =3D debug > bb.msg.loggerDefaultVerbose =3D verbose > if verbose: > bb.msg.loggerVerboseLogs =3D True > - if debug_domains: > - bb.msg.loggerDefaultDomains =3D debug_domains > - else: > - bb.msg.loggerDefaultDomains =3D [] > - > -def constructLogOptions(): > - debug =3D loggerDefaultDebugLevel > - verbose =3D loggerDefaultVerbose > - domains =3D loggerDefaultDomains > =20 > if debug: > - level =3D BBLogFormatter.DEBUG - debug + 1 > + bb.msg.loggerDefaultLogLevel =3D BBLogFormatter.DEBUG - debug > + 1 elif verbose: > - level =3D BBLogFormatter.VERBOSE > + bb.msg.loggerDefaultLogLevel =3D BBLogFormatter.VERBOSE > else: > - level =3D BBLogFormatter.NOTE > + bb.msg.loggerDefaultLogLevel =3D BBLogFormatter.NOTE > =20 > - debug_domains =3D {} > - for (domainarg, iterator) in groupby(domains): > - dlevel =3D len(tuple(iterator)) > - debug_domains["BitBake.%s" % domainarg] =3D logging.DEBUG - > dlevel + 1 > - return level, debug_domains > + bb.msg.loggerDefaultDomains =3D {} > + if debug_domains: > + for (domainarg, iterator) in groupby(debug_domains): > + dlevel =3D len(tuple(iterator)) > + bb.msg.loggerDefaultDomains["BitBake.%s" % domainarg] =3D > logging.DEBUG - dlevel + 1 + > +def constructLogOptions(): > + return loggerDefaultLogLevel, loggerDefaultDomains > =20 > def addDefaultlogFilter(handler, cls =3D BBLogFilter, forcelevel=3DNone): > level, debug_domains =3D constructLogOptions() > @@ -181,6 +182,19 @@ def addDefaultlogFilter(handler, cls =3D > BBLogFilter, forcelevel=3DNone):=20 > cls(handler, level, debug_domains) > =20 > +def stringToLevel(level): > + try: > + return int(level) > + except ValueError: > + pass > + > + try: > + return getattr(logging, level) > + except AttributeError: > + pass > + > + return getattr(BBLogFormatter, level) > + > # > # Message handling functions > # > @@ -214,3 +228,105 @@ def has_console_handler(logger): > if handler.stream in [sys.stderr, sys.stdout]: > return True > return False > + > +def mergeLoggingConfig(logconfig, userconfig): > + logconfig =3D copy.deepcopy(logconfig) > + userconfig =3D copy.deepcopy(userconfig) > + > + # Merge config with the default config > + if userconfig.get('version') !=3D logconfig['version']: > + raise BaseException("Bad user configuration version. > Expected %r, got %r" % (logconfig['version'], > userconfig.get('version'))) + > + # Set some defaults to make merging easier > + userconfig.setdefault("loggers", {}) > + > + # If a handler, formatter, or filter is defined in the user > + # config, it will replace an existing one in the default config > + for k in ("handlers", "formatters", "filters"): > + logconfig.setdefault(k, {}).update(userconfig.get(k, {})) > + > + seen_loggers =3D set() > + for name, l in logconfig["loggers"].items(): > + # If the merge option is set, merge the handlers and > + # filters. Otherwise, if it is False, this logger won't get > + # add to the set of seen loggers and will replace the > + # existing one > + if l.get('bitbake_merge', True): > + ulogger =3D userconfig["loggers"].setdefault(name, {}) > + ulogger.setdefault("handlers", []) > + ulogger.setdefault("filters", []) > + > + # Merge lists > + l.setdefault("handlers", []).extend(ulogger["handlers"]) > + l.setdefault("filters", []).extend(ulogger["filters"]) > + > + # Replace other properties if present > + if "level" in ulogger: > + l["level"] =3D ulogger["level"] > + > + if "propagate" in ulogger: > + l["propagate"] =3D ulogger["propagate"] > + > + seen_loggers.add(name) > + > + # Add all loggers present in the user config, but not any that > + # have already been processed > + for name in set(userconfig["loggers"].keys()) - seen_loggers: > + logconfig["loggers"][name] =3D userconfig["loggers"][name] > + > + return logconfig > + > +def setLoggingConfig(defaultconfig, userconfigfile=3DNone): > + logconfig =3D copy.deepcopy(defaultconfig) > + > + if userconfigfile: > + with open(os.path.normpath(userconfigfile), 'r') as f: > + if userconfigfile.endswith('.yml') or > userconfigfile.endswith('.yaml'): > + import yaml > + userconfig =3D yaml.load(f) > + elif userconfigfile.endswith('.json') or > userconfigfile.endswith('.cfg'): > + import json > + userconfig =3D json.load(f) > + else: > + raise BaseException("Unrecognized file format: %s" % > userconfigfile) + > + if userconfig.get('bitbake_merge', True): > + logconfig =3D mergeLoggingConfig(logconfig, userconfig) > + else: > + # Replace the entire default config > + logconfig =3D userconfig > + > + # Convert all level parameters to integers in case users want to > use the > + # bitbake defined level names > + for h in logconfig["handlers"].values(): > + if "level" in h: > + h["level"] =3D bb.msg.stringToLevel(h["level"]) > + > + for l in logconfig["loggers"].values(): > + if "level" in l: > + l["level"] =3D bb.msg.stringToLevel(l["level"]) > + > + conf =3D logging.config.dictConfigClass(logconfig) > + conf.configure() > + > + # The user may have specified logging domains they want at a > higher debug > + # level than the standard. > + for name, l in logconfig["loggers"].items(): > + if not name.startswith("BitBake."): > + continue > + > + if not "level" in l: > + continue > + > + curlevel =3D bb.msg.loggerDefaultDomains.get(name) > + # Note: level parameter should already be a int because of > conversion > + # above > + newlevel =3D int(l["level"]) > + if curlevel is None or newlevel < curlevel: > + bb.msg.loggerDefaultDomains[name] =3D newlevel > + > + # TODO: I don't think that setting the global log level > should be necessary > + #if newlevel < bb.msg.loggerDefaultLogLevel: > + # bb.msg.loggerDefaultLogLevel =3D newlevel > + > + return conf > diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py > index f0911e6..eb8cfa2 100644 > --- a/bitbake/lib/bb/parse/ast.py > +++ b/bitbake/lib/bb/parse/ast.py > @@ -9,11 +9,7 @@ > # SPDX-License-Identifier: GPL-2.0-only > # > =20 > -import re > -import string > -import logging > import bb > -import itertools > from bb import methodpool > from bb.parse import logger > =20 > @@ -93,7 +89,7 @@ class DataNode(AstNode): > self.groupd =3D groupd > =20 > def getFunc(self, key, data): > - if 'flag' in self.groupd and self.groupd['flag'] !=3D None: > + if 'flag' in self.groupd and self.groupd['flag'] is not None: > return data.getVarFlag(key, self.groupd['flag'], > expand=3DFalse, noweakdefault=3DTrue) else: > return data.getVar(key, False, noweakdefault=3DTrue, > parsing=3DTrue) @@ -106,36 +102,36 @@ class DataNode(AstNode): > 'file': self.filename, > 'line': self.lineno, > } > - if "exp" in groupd and groupd["exp"] !=3D None: > + if "exp" in groupd and groupd["exp"] is not None: > data.setVarFlag(key, "export", 1, op =3D 'exported', > **loginfo)=20 > op =3D "set" > - if "ques" in groupd and groupd["ques"] !=3D None: > + if "ques" in groupd and groupd["ques"] is not None: > val =3D self.getFunc(key, data) > op =3D "set?" > - if val =3D=3D None: > + if val is None: > val =3D groupd["value"] > - elif "colon" in groupd and groupd["colon"] !=3D None: > + elif "colon" in groupd and groupd["colon"] is not None: > e =3D data.createCopy() > op =3D "immediate" > val =3D e.expand(groupd["value"], key + "[:=3D]") > - elif "append" in groupd and groupd["append"] !=3D None: > + elif "append" in groupd and groupd["append"] is not None: > op =3D "append" > val =3D "%s %s" % ((self.getFunc(key, data) or ""), > groupd["value"]) > - elif "prepend" in groupd and groupd["prepend"] !=3D None: > + elif "prepend" in groupd and groupd["prepend"] is not None: > op =3D "prepend" > val =3D "%s %s" % (groupd["value"], (self.getFunc(key, > data) or "")) > - elif "postdot" in groupd and groupd["postdot"] !=3D None: > + elif "postdot" in groupd and groupd["postdot"] is not None: > op =3D "postdot" > val =3D "%s%s" % ((self.getFunc(key, data) or ""), > groupd["value"]) > - elif "predot" in groupd and groupd["predot"] !=3D None: > + elif "predot" in groupd and groupd["predot"] is not None: > op =3D "predot" > val =3D "%s%s" % (groupd["value"], (self.getFunc(key, > data) or "")) else: > val =3D groupd["value"] > =20 > flag =3D None > - if 'flag' in groupd and groupd['flag'] !=3D None: > + if 'flag' in groupd and groupd['flag'] is not None: > flag =3D groupd['flag'] > elif groupd["lazyques"]: > flag =3D "_defaultval" > diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py > b/bitbake/lib/bb/parse/parse_py/BBHandler.py index 6f7cf82..6e216ef > 100644 --- a/bitbake/lib/bb/parse/parse_py/BBHandler.py > +++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py > @@ -13,9 +13,7 @@ > # > =20 > import re, bb, os > -import logging > import bb.build, bb.utils > -from bb import data > =20 > from . import ConfHandler > from .. import resolve_file, ast, logger, ParseError > diff --git a/bitbake/lib/bb/parse/parse_py/ConfHandler.py > b/bitbake/lib/bb/parse/parse_py/ConfHandler.py index 2e84b91..af64d34 > 100644 --- a/bitbake/lib/bb/parse/parse_py/ConfHandler.py > +++ b/bitbake/lib/bb/parse/parse_py/ConfHandler.py > @@ -119,30 +119,30 @@ def handle(fn, data, include): > oldfile =3D data.getVar('FILE', False) > =20 > abs_fn =3D resolve_file(fn, data) > - f =3D open(abs_fn, 'r') > - > - statements =3D ast.StatementGroup() > - lineno =3D 0 > - while True: > - lineno =3D lineno + 1 > - s =3D f.readline() > - if not s: > - break > - w =3D s.strip() > - # skip empty lines > - if not w: > - continue > - s =3D s.rstrip() > - while s[-1] =3D=3D '\\': > - s2 =3D f.readline().rstrip() > + with open(abs_fn, 'r') as f: > + > + statements =3D ast.StatementGroup() > + lineno =3D 0 > + while True: > lineno =3D lineno + 1 > - if (not s2 or s2 and s2[0] !=3D "#") and s[0] =3D=3D "#" : > - bb.fatal("There is a confusing multiline, partially > commented expression on line %s of file %s (%s).\nPlease clarify > whether this is all a comment or should be parsed." % (lineno, fn, s)) > - s =3D s[:-1] + s2 > - # skip comments > - if s[0] =3D=3D '#': > - continue > - feeder(lineno, s, abs_fn, statements) > + s =3D f.readline() > + if not s: > + break > + w =3D s.strip() > + # skip empty lines > + if not w: > + continue > + s =3D s.rstrip() > + while s[-1] =3D=3D '\\': > + s2 =3D f.readline().rstrip() > + lineno =3D lineno + 1 > + if (not s2 or s2 and s2[0] !=3D "#") and s[0] =3D=3D "#"= : > + bb.fatal("There is a confusing multiline, > partially commented expression on line %s of file %s (%s).\nPlease > clarify whether this is all a comment or should be parsed." % > (lineno, fn, s)) > + s =3D s[:-1] + s2 > + # skip comments > + if s[0] =3D=3D '#': > + continue > + feeder(lineno, s, abs_fn, statements) > =20 > # DONE WITH PARSING... time to evaluate > data.setVar('FILE', abs_fn) > diff --git a/bitbake/lib/bb/persist_data.py > b/bitbake/lib/bb/persist_data.py index de8f87a..7357ab2 100644 > --- a/bitbake/lib/bb/persist_data.py > +++ b/bitbake/lib/bb/persist_data.py > @@ -179,6 +179,9 @@ class SQLTable(collections.MutableMapping): > elif not isinstance(value, str): > raise TypeError('Only string values are supported') > =20 > + # Ensure the entire transaction (including SELECT) executes > under write lock > + cursor.execute("BEGIN EXCLUSIVE") > + > cursor.execute("SELECT * from %s where key=3D?;" % self.table, > [key]) row =3D cursor.fetchone() > if row is not None: > diff --git a/bitbake/lib/bb/progress.py b/bitbake/lib/bb/progress.py > index 4022caa..9c755b7 100644 > --- a/bitbake/lib/bb/progress.py > +++ b/bitbake/lib/bb/progress.py > @@ -7,7 +7,6 @@ BitBake progress handling code > # SPDX-License-Identifier: GPL-2.0-only > # > =20 > -import sys > import re > import time > import inspect > diff --git a/bitbake/lib/bb/providers.py b/bitbake/lib/bb/providers.py > index f80963c..81459c3 100644 > --- a/bitbake/lib/bb/providers.py > +++ b/bitbake/lib/bb/providers.py > @@ -92,11 +92,11 @@ def preferredVersionMatch(pe, pv, pr, > preferred_e, preferred_v, preferred_r): Check if the version pe,pv,pr > is the preferred one. If there is preferred version defined and ends > with '%', then pv has to start with that version after removing the > '%' """ > - if (pr =3D=3D preferred_r or preferred_r =3D=3D None): > - if (pe =3D=3D preferred_e or preferred_e =3D=3D None): > + if pr =3D=3D preferred_r or preferred_r is None: > + if pe =3D=3D preferred_e or preferred_e is None: > if preferred_v =3D=3D pv: > return True > - if preferred_v !=3D None and preferred_v.endswith('%') and > pv.startswith(preferred_v[:len(preferred_v)-1]): > + if preferred_v is not None and preferred_v.endswith('%') > and pv.startswith(preferred_v[:len(preferred_v)-1]): return True > return False > =20 > diff --git a/bitbake/lib/bb/pysh/pyshyacc.py > b/bitbake/lib/bb/pysh/pyshyacc.py index de565dc..924860a 100644 > --- a/bitbake/lib/bb/pysh/pyshyacc.py > +++ b/bitbake/lib/bb/pysh/pyshyacc.py > @@ -570,6 +570,7 @@ def p_linebreak(p): > =20 > def p_separator_op(p): =20 > """separator_op : COMMA > + | COMMA COMMA > | AMP""" > p[0] =3D p[1] > =20 > diff --git a/bitbake/lib/bb/remotedata.py > b/bitbake/lib/bb/remotedata.py index 7391e1b..6c9864d 100644 > --- a/bitbake/lib/bb/remotedata.py > +++ b/bitbake/lib/bb/remotedata.py > @@ -17,16 +17,16 @@ class RemoteDatastores: > self.cooker =3D cooker > self.datastores =3D {} > self.locked =3D [] > + self.datastores[0] =3D self.cooker.data > self.nextindex =3D 1 > =20 > def __len__(self): > return len(self.datastores) > =20 > def __getitem__(self, key): > - if key is None: > - return self.cooker.data > - else: > - return self.datastores[key] > + # Cooker could have changed its datastore from under us > + self.datastores[0] =3D self.cooker.data > + return self.datastores[key] > =20 > def items(self): > return self.datastores.items() > @@ -63,44 +63,3 @@ class RemoteDatastores: > raise Exception('Tried to release locked datastore %d' % > idx) del self.datastores[idx] > =20 > - def receive_datastore(self, remote_data): > - """Receive a datastore object sent from the client (as > prepared by transmit_datastore())""" > - dct =3D dict(remote_data) > - d =3D bb.data_smart.DataSmart() > - d.dict =3D dct > - while True: > - if '_remote_data' in dct: > - dsindex =3D dct['_remote_data']['_content'] > - del dct['_remote_data'] > - if dsindex is None: > - dct['_data'] =3D self.cooker.data.dict > - else: > - dct['_data'] =3D self.datastores[dsindex].dict > - break > - elif '_data' in dct: > - idct =3D dict(dct['_data']) > - dct['_data'] =3D idct > - dct =3D idct > - else: > - break > - return d > - > - @staticmethod > - def transmit_datastore(d): > - """Prepare a datastore object for sending over IPC from the > client end""" > - # FIXME content might be a dict, need to turn that into a > list as well > - def copy_dicts(dct): > - if '_remote_data' in dct: > - dsindex =3D dct['_remote_data']['_content'].dsindex > - newdct =3D dct.copy() > - newdct['_remote_data'] =3D {'_content': dsindex} > - return list(newdct.items()) > - elif '_data' in dct: > - newdct =3D dct.copy() > - newdata =3D copy_dicts(dct['_data']) > - if newdata: > - newdct['_data'] =3D newdata > - return list(newdct.items()) > - return None > - main_dict =3D copy_dicts(d.dict) > - return main_dict > diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py > index 1804943..30cab53 100644 > --- a/bitbake/lib/bb/runqueue.py > +++ b/bitbake/lib/bb/runqueue.py > @@ -12,14 +12,12 @@ Handles preparation and execution of a queue of > tasks import copy > import os > import sys > -import signal > import stat > -import fcntl > import errno > import logging > import re > import bb > -from bb import msg, data, event > +from bb import msg, event > from bb import monitordisk > import subprocess > import pickle > @@ -29,6 +27,7 @@ import pprint > =20 > bblogger =3D logging.getLogger("BitBake") > logger =3D logging.getLogger("BitBake.RunQueue") > +hashequiv_logger =3D logging.getLogger("BitBake.RunQueue.HashEquiv") > =20 > __find_sha256__ =3D re.compile( > r'(?i)(? @@ -148,8 +147,9 @@ class RunQueueScheduler(object): > """ > Return the id of the first task we find that is buildable > """ > + # Once tasks are running we don't need to worry about them > again > + self.buildable.difference_update(self.rq.runq_running) > buildable =3D set(self.buildable) > - buildable.difference_update(self.rq.runq_running) > buildable.difference_update(self.rq.holdoff_tasks) > buildable.intersection_update(self.rq.tasks_covered | > self.rq.tasks_notcovered) if not buildable: > @@ -207,8 +207,6 @@ class RunQueueScheduler(object): > =20 > def newbuildable(self, task): > self.buildable.add(task) > - # Once tasks are running we don't need to worry about them > again > - self.buildable.difference_update(self.rq.runq_running) > =20 > def removebuildable(self, task): > self.buildable.remove(task) > @@ -923,9 +921,11 @@ class RunQueueData: > runq_build =3D {} > =20 > for task in self.cooker.configuration.runall: > + if not task.startswith("do_"): > + task =3D "do_{0}".format(task) > runall_tids =3D set() > for tid in list(self.runtaskentries): > - wanttid =3D fn_from_tid(tid) + ":do_%s" % task > + wanttid =3D "{0}:{1}".format(fn_from_tid(tid), > task) if wanttid in delcount: > self.runtaskentries[wanttid] =3D > delcount[wanttid] if wanttid in self.runtaskentries: > @@ -952,7 +952,9 @@ class RunQueueData: > runq_build =3D {} > =20 > for task in self.cooker.configuration.runonly: > - runonly_tids =3D { k: v for k, v in > self.runtaskentries.items() if taskname_from_tid(k) =3D=3D "do_%s" % task > } > + if not task.startswith("do_"): > + task =3D "do_{0}".format(task) > + runonly_tids =3D { k: v for k, v in > self.runtaskentries.items() if taskname_from_tid(k) =3D=3D task }=20 > for tid in list(runonly_tids): > mark_active(tid,1) > @@ -1125,14 +1127,14 @@ class RunQueueData: > self.init_progress_reporter.next_stage() > =20 > # Iterate over the task list looking for tasks with a > 'setscene' function > - self.runq_setscene_tids =3D [] > + self.runq_setscene_tids =3D set() > if not self.cooker.configuration.nosetscene: > for tid in self.runtaskentries: > (mc, fn, taskname, _) =3D split_tid_mcfn(tid) > setscenetid =3D tid + "_setscene" > if setscenetid not in taskData[mc].taskentries: > continue > - self.runq_setscene_tids.append(tid) > + self.runq_setscene_tids.add(tid) > =20 > self.init_progress_reporter.next_stage() > =20 > @@ -1182,10 +1184,8 @@ class RunQueueData: > return len(self.runtaskentries) > =20 > def prepare_task_hash(self, tid): > - procdep =3D [] > - for dep in self.runtaskentries[tid].depends: > - procdep.append(dep) > - self.runtaskentries[tid].hash =3D > bb.parse.siggen.get_taskhash(tid, procdep, > self.dataCaches[mc_from_tid(tid)]) > + bb.parse.siggen.prep_taskhash(tid, > self.runtaskentries[tid].depends, self.dataCaches[mc_from_tid(tid)]) > + self.runtaskentries[tid].hash =3D > bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, > self.dataCaches[mc_from_tid(tid)]) self.runtaskentries[tid].unihash =3D > bb.parse.siggen.get_unihash(tid) def dump_data(self): > @@ -1255,7 +1255,7 @@ class RunQueue: > "fakerootdirs" : self.rqdata.dataCaches[mc].fakerootdirs, > "fakerootnoenv" : > self.rqdata.dataCaches[mc].fakerootnoenv, "sigdata" : > bb.parse.siggen.get_taskdata(), > - "logdefaultdebug" : bb.msg.loggerDefaultDebugLevel, > + "logdefaultlevel" : bb.msg.loggerDefaultLogLevel, > "logdefaultverbose" : bb.msg.loggerDefaultVerbose, > "logdefaultverboselogs" : bb.msg.loggerVerboseLogs, > "logdefaultdomain" : bb.msg.loggerDefaultDomains, > @@ -1397,7 +1397,7 @@ class RunQueue: > cache[tid] =3D iscurrent > return iscurrent > =20 > - def validate_hashes(self, tocheck, data, currentcount=3D0, > siginfo=3DFalse): > + def validate_hashes(self, tocheck, data, currentcount=3D0, > siginfo=3DFalse, summary=3DTrue): valid =3D set() > if self.hashvalidate: > sq_data =3D {} > @@ -1410,15 +1410,15 @@ class RunQueue: > sq_data['hashfn'][tid] =3D > self.rqdata.dataCaches[mc].hashfn[taskfn] sq_data['unihash'][tid] =3D > self.rqdata.runtaskentries[tid].unihash=20 > - valid =3D self.validate_hash(sq_data, data, siginfo, > currentcount) > + valid =3D self.validate_hash(sq_data, data, siginfo, > currentcount, summary)=20 > return valid > =20 > - def validate_hash(self, sq_data, d, siginfo, currentcount): > - locs =3D {"sq_data" : sq_data, "d" : d, "siginfo" : siginfo, > "currentcount" : currentcount} > + def validate_hash(self, sq_data, d, siginfo, currentcount, > summary): > + locs =3D {"sq_data" : sq_data, "d" : d, "siginfo" : siginfo, > "currentcount" : currentcount, "summary" : summary}=20 > # Metadata has **kwargs so args can be added, sq_data can > also gain new fields > - call =3D self.hashvalidate + "(sq_data, d, siginfo=3Dsiginfo, > currentcount=3Dcurrentcount)" > + call =3D self.hashvalidate + "(sq_data, d, siginfo=3Dsiginfo, > currentcount=3Dcurrentcount, summary=3Dsummary)"=20 > return bb.utils.better_eval(call, locs) > =20 > @@ -1605,7 +1605,7 @@ class RunQueue: > =20 > tocheck.add(tid) > =20 > - valid_new =3D self.validate_hashes(tocheck, self.cooker.data, > 0, True) > + valid_new =3D self.validate_hashes(tocheck, self.cooker.data, > 0, True, summary=3DFalse)=20 > # Tasks which are both setscene and noexec never care about > dependencies # We therefore find tasks which are setscene and noexec > and mark their @@ -1711,6 +1711,7 @@ class RunQueueExecute: > self.runq_buildable =3D set() > self.runq_running =3D set() > self.runq_complete =3D set() > + self.runq_tasksrun =3D set() > =20 > self.build_stamps =3D {} > self.build_stamps2 =3D [] > @@ -1896,6 +1897,7 @@ class RunQueueExecute: > self.stats.taskCompleted() > bb.event.fire(runQueueTaskCompleted(task, self.stats, > self.rq), self.cfgData) self.task_completeoutright(task) > + self.runq_tasksrun.add(task) > =20 > def task_fail(self, task, exitcode): > """ > @@ -1962,12 +1964,17 @@ class RunQueueExecute: > """ > =20 > self.rq.read_workers() > - self.process_possible_migrations() > + if self.updated_taskhash_queue or self.pending_migrations: > + self.process_possible_migrations() > + > + if not hasattr(self, "sorted_setscene_tids"): > + # Don't want to sort this set every execution > + self.sorted_setscene_tids =3D > sorted(self.rqdata.runq_setscene_tids)=20 > task =3D None > if not self.sqdone and self.can_start_task(): > # Find the next setscene to run > - for nexttask in sorted(self.rqdata.runq_setscene_tids): > + for nexttask in self.sorted_setscene_tids: > if nexttask in self.sq_buildable and nexttask not in > self.sq_running and self.sqdata.stamps[nexttask] not in > self.build_stamps.values(): if nexttask not in > self.sqdata.unskippable and len(self.sqdata.sq_revdeps[nexttask]) > 0 > and > self.sqdata.sq_revdeps[nexttask].issubset(self.scenequeue_covered) > and self.check_dependencies(nexttask, > self.sqdata.sq_revdeps[nexttask]): if nexttask not in > self.rqdata.target_tids: @@ -1986,7 +1993,7 @@ class RunQueueExecute: > continue logger.debug(1, "Task %s no longer deferred" % nexttask) del > self.sq_deferred[nexttask] > - valid =3D > self.rq.validate_hashes(set([nexttask]), self.cooker.data, 0, False) > + valid =3D > self.rq.validate_hashes(set([nexttask]), self.cooker.data, 0, False, > summary=3DFalse) if not valid: logger.debug(1, "%s didn't become valid, > skipping setscene" % nexttask) self.sq_task_failoutright(nexttask) > @@ -2052,7 +2059,7 @@ class RunQueueExecute: > self.update_holdofftasks() > =20 > if not self.sq_live and not self.sqdone and not > self.sq_deferred and not self.updated_taskhash_queue and not > self.holdoff_tasks: > - logger.info("Setscene tasks completed") > + hashequiv_logger.verbose("Setscene tasks completed") > =20 > err =3D self.summarise_scenequeue_errors() > if err: > @@ -2090,6 +2097,7 @@ class RunQueueExecute: > logger.debug(2, "Stamp current task %s", task) > =20 > self.task_skip(task, "existing") > + self.runq_tasksrun.add(task) > return True > =20 > taskdep =3D self.rqdata.dataCaches[mc].task_deps[taskfn] > @@ -2248,6 +2256,7 @@ class RunQueueExecute: > def process_possible_migrations(self): > =20 > changed =3D set() > + toprocess =3D set() > for tid, unihash in self.updated_taskhash_queue.copy(): > if tid in self.runq_running and tid not in > self.runq_complete: continue > @@ -2255,42 +2264,63 @@ class RunQueueExecute: > self.updated_taskhash_queue.remove((tid, unihash)) > =20 > if unihash !=3D self.rqdata.runtaskentries[tid].unihash: > - logger.info("Task %s unihash changed to %s" % (tid, > unihash)) > + hashequiv_logger.verbose("Task %s unihash changed to > %s" % (tid, unihash)) self.rqdata.runtaskentries[tid].unihash =3D > unihash bb.parse.siggen.set_unihash(tid, unihash) > + toprocess.add(tid) > =20 > - # Work out all tasks which depend on this one > - total =3D set() > - next =3D set(self.rqdata.runtaskentries[tid].revdeps) > - while next: > - current =3D next.copy() > - total =3D total |next > - next =3D set() > - for ntid in current: > - next |=3D > self.rqdata.runtaskentries[ntid].revdeps > - next.difference_update(total) > - > - # Now iterate those tasks in dependency order to > regenerate their taskhash/unihash > - done =3D set() > - next =3D set(self.rqdata.runtaskentries[tid].revdeps) > - while next: > - current =3D next.copy() > - next =3D set() > - for tid in current: > - if not > self.rqdata.runtaskentries[tid].depends.isdisjoint(total): > - continue > - procdep =3D [] > - for dep in > self.rqdata.runtaskentries[tid].depends: > - procdep.append(dep) > - orighash =3D > self.rqdata.runtaskentries[tid].hash > - self.rqdata.runtaskentries[tid].hash =3D > bb.parse.siggen.get_taskhash(tid, procdep, > self.rqdata.dataCaches[mc_from_tid(tid)]) > - origuni =3D > self.rqdata.runtaskentries[tid].unihash > - self.rqdata.runtaskentries[tid].unihash =3D > bb.parse.siggen.get_unihash(tid) > - logger.debug(1, "Task %s hash changes: > %s->%s %s->%s" % (tid, orighash, > self.rqdata.runtaskentries[tid].hash, origuni, > self.rqdata.runtaskentries[tid].unihash)) > - next |=3D > self.rqdata.runtaskentries[tid].revdeps > - changed.add(tid) > - total.remove(tid) > - next.intersection_update(total) > + # Work out all tasks which depend upon these > + total =3D set() > + next =3D set() > + for p in toprocess: > + next |=3D self.rqdata.runtaskentries[p].revdeps > + while next: > + current =3D next.copy() > + total =3D total | next > + next =3D set() > + for ntid in current: > + next |=3D self.rqdata.runtaskentries[ntid].revdeps > + next.difference_update(total) > + > + # Now iterate those tasks in dependency order to regenerate > their taskhash/unihash > + next =3D set() > + for p in total: > + if len(self.rqdata.runtaskentries[p].depends) =3D=3D 0: > + next.add(p) > + elif > self.rqdata.runtaskentries[p].depends.isdisjoint(total): > + next.add(p) > + > + # When an item doesn't have dependencies in total, we can > process it. Drop items from total when handled > + while next: > + current =3D next.copy() > + next =3D set() > + for tid in current: > + if len(self.rqdata.runtaskentries[p].depends) and > not self.rqdata.runtaskentries[tid].depends.isdisjoint(total): > + continue > + orighash =3D self.rqdata.runtaskentries[tid].hash > + newhash =3D bb.parse.siggen.get_taskhash(tid, > self.rqdata.runtaskentries[tid].depends, > self.rqdata.dataCaches[mc_from_tid(tid)]) > + origuni =3D self.rqdata.runtaskentries[tid].unihash > + newuni =3D bb.parse.siggen.get_unihash(tid) > + # FIXME, need to check it can come from sstate at > all for determinism? > + remapped =3D False > + if newuni =3D=3D origuni: > + # Nothing to do, we match, skip code below > + remapped =3D True > + elif tid in self.scenequeue_covered or tid in > self.sq_live: > + # Already ran this setscene task or it running. > Report the new taskhash > + bb.parse.siggen.report_unihash_equiv(tid, > newhash, origuni, newuni, self.rqdata.dataCaches) > + hashequiv_logger.verbose("Already covered > setscene for %s so ignoring rehash (remap)" % (tid)) > + remapped =3D True > + > + if not remapped: > + #logger.debug(1, "Task %s hash changes: %s->%s > %s->%s" % (tid, orighash, newhash, origuni, newuni)) > + self.rqdata.runtaskentries[tid].hash =3D newhash > + self.rqdata.runtaskentries[tid].unihash =3D newuni > + changed.add(tid) > + > + next |=3D self.rqdata.runtaskentries[tid].revdeps > + total.remove(tid) > + next.intersection_update(total) > =20 > if changed: > for mc in self.rq.worker: > @@ -2298,26 +2328,26 @@ class RunQueueExecute: > for mc in self.rq.fakeworker: > self.rq.fakeworker[mc].process.stdin.write(b"" > + pickle.dumps(bb.parse.siggen.get_taskhashes()) + > b"")=20 > - logger.debug(1, pprint.pformat("Tasks changed:\n%s" % > (changed))) > + hashequiv_logger.debug(1, pprint.pformat("Tasks > changed:\n%s" % (changed)))=20 > for tid in changed: > if tid not in self.rqdata.runq_setscene_tids: > continue > - if tid in self.runq_running: > - continue > - if tid in self.scenequeue_covered: > - # Potentially risky, should we report this hash as a > match? > - logger.info("Already covered setscene for %s so > ignoring rehash" % (tid)) > - continue > if tid not in self.pending_migrations: > self.pending_migrations.add(tid) > =20 > + update_tasks =3D [] > for tid in self.pending_migrations.copy(): > + if tid in self.runq_running or tid in self.sq_live: > + # Too late, task already running, not much we can do > now > + self.pending_migrations.remove(tid) > + continue > + > valid =3D True > # Check no tasks this covers are running > for dep in self.sqdata.sq_covered_tasks[tid]: > if dep in self.runq_running and dep not in > self.runq_complete: > - logger.debug(2, "Task %s is running which blocks > setscene for %s from running" % (dep, tid)) > + hashequiv_logger.debug(2, "Task %s is running > which blocks setscene for %s from running" % (dep, tid)) valid =3D False > break > if not valid: > @@ -2329,6 +2359,12 @@ class RunQueueExecute: > if tid in self.tasks_scenequeue_done: > self.tasks_scenequeue_done.remove(tid) > for dep in self.sqdata.sq_covered_tasks[tid]: > + if dep in self.runq_complete and dep not in > self.runq_tasksrun: > + bb.error("Task %s marked as completed but now > needing to rerun? Aborting build." % dep) > + self.failed_tids.append(tid) > + self.rq.state =3D runQueueCleanUp > + return > + > if dep not in self.runq_complete: > if dep in self.tasks_scenequeue_done and dep not > in self.sqdata.unskippable: self.tasks_scenequeue_done.remove(dep) > @@ -2337,7 +2373,12 @@ class RunQueueExecute: > self.sq_buildable.remove(tid) > if tid in self.sq_running: > self.sq_running.remove(tid) > - if > self.sqdata.sq_revdeps[tid].issubset(self.scenequeue_covered | > self.scenequeue_notcovered): > + harddepfail =3D False > + for t in self.sqdata.sq_harddeps: > + if tid in self.sqdata.sq_harddeps[t] and t in > self.scenequeue_notcovered: > + harddepfail =3D True > + break > + if not harddepfail and > self.sqdata.sq_revdeps[tid].issubset(self.scenequeue_covered | > self.scenequeue_notcovered): if tid not in self.sq_buildable: > self.sq_buildable.add(tid) if len(self.sqdata.sq_revdeps[tid]) =3D=3D 0: > @@ -2361,9 +2402,17 @@ class RunQueueExecute: > if tid in self.build_stamps: > del self.build_stamps[tid] > =20 > - logger.info("Setscene task %s now valid and being rerun" > % tid) > + update_tasks.append((tid, harddepfail, tid in > self.sqdata.valid)) + > + if update_tasks: > self.sqdone =3D False > - update_scenequeue_data([tid], self.sqdata, self.rqdata, > self.rq, self.cooker, self.stampcache, self) > + update_scenequeue_data([t[0] for t in update_tasks], > self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, > self, summary=3DFalse) + > + for (tid, harddepfail, origvalid) in update_tasks: > + if tid in self.sqdata.valid and not origvalid: > + hashequiv_logger.verbose("Setscene task %s became > valid" % tid) > + if harddepfail: > + self.sq_task_failoutright(tid) > =20 > if changed: > self.holdoff_need_update =3D True > @@ -2500,6 +2549,8 @@ class RunQueueExecute: > msg =3D 'Task %s.%s attempted to execute unexpectedly > and should have been setscened' % (pn, taskname) else: > msg =3D 'Task %s.%s attempted to execute unexpectedly' > % (pn, taskname) > + for t in self.scenequeue_notcovered: > + msg =3D msg + "\nTask %s, unihash %s, taskhash %s" % > (t, self.rqdata.runtaskentries[t].unihash, > self.rqdata.runtaskentries[t].hash) logger.error(msg + '\nThis is > usually due to missing setscene tasks. Those missing in this build > were: %s' % pprint.pformat(self.scenequeue_notcovered)) return True > return False @@ -2692,9 +2743,9 @@ def build_scenequeue_data(sqdata, > rqdata, rq, cooker, stampcache, sqrq): sqdata.stamppresent =3D set() > sqdata.valid =3D set()=20 > - update_scenequeue_data(sqdata.sq_revdeps, sqdata, rqdata, rq, > cooker, stampcache, sqrq) > + update_scenequeue_data(sqdata.sq_revdeps, sqdata, rqdata, rq, > cooker, stampcache, sqrq, summary=3DTrue)=20 > -def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, > stampcache, sqrq): +def update_scenequeue_data(tids, sqdata, rqdata, > rq, cooker, stampcache, sqrq, summary=3DTrue):=20 > tocheck =3D set() > =20 > @@ -2728,7 +2779,7 @@ def update_scenequeue_data(tids, sqdata, > rqdata, rq, cooker, stampcache, sqrq):=20 > tocheck.add(tid) > =20 > - sqdata.valid |=3D rq.validate_hashes(tocheck, cooker.data, > len(sqdata.stamppresent), False) > + sqdata.valid |=3D rq.validate_hashes(tocheck, cooker.data, > len(sqdata.stamppresent), False, summary=3Dsummary)=20 > sqdata.hashes =3D {} > for mc in sorted(sqdata.multiconfigs): > @@ -2750,7 +2801,7 @@ def update_scenequeue_data(tids, sqdata, > rqdata, rq, cooker, stampcache, sqrq): sqdata.hashes[h] =3D tid > else: > sqrq.sq_deferred[tid] =3D sqdata.hashes[h] > - bb.warn("Deferring %s after %s" % (tid, > sqdata.hashes[h])) > + bb.note("Deferring %s after %s" % (tid, > sqdata.hashes[h]))=20 > =20 > class TaskFailure(Exception): > @@ -2907,7 +2958,12 @@ class runQueuePipe(): > while index !=3D -1 and self.queue.startswith(b""): > try: > event =3D pickle.loads(self.queue[7:index]) > - except ValueError as e: > + except (ValueError, pickle.UnpicklingError, > AttributeError, IndexError) as e: > + if isinstance(e, pickle.UnpicklingError) and > "truncated" in str(e): > + # The pickled data could contain "" > so search for the next occurance > + # unpickling again, this should be the only > way an unpickle error could occur > + index =3D self.queue.find(b"", index + > 1) > + continue > bb.msg.fatal("RunQueue", "failed load pickle > '%s': '%s'" % (e, self.queue[7:index])) > bb.event.fire_from_worker(event, self.d) if isinstance(event, > taskUniHashUpdate): @@ -2919,7 +2975,7 @@ class runQueuePipe(): > while index !=3D -1 and > self.queue.startswith(b""): try: > task, status =3D pickle.loads(self.queue[10:index]) > - except ValueError as e: > + except (ValueError, pickle.UnpicklingError, > AttributeError, IndexError) as e: bb.msg.fatal("RunQueue", "failed > load pickle '%s': '%s'" % (e, self.queue[10:index])) > self.rqexec.runqueue_process_waitpid(task, status) found =3D True > diff --git a/bitbake/lib/bb/server/process.py > b/bitbake/lib/bb/server/process.py index 69aae62..9ec79f5 100644 > --- a/bitbake/lib/bb/server/process.py > +++ b/bitbake/lib/bb/server/process.py > @@ -48,7 +48,7 @@ class ProcessServer(multiprocessing.Process): > =20 > self.event_handle =3D None > self.haveui =3D False > - self.lastui =3D False > + self.maxuiwait =3D 30 > self.xmlrpc =3D False > =20 > self._idlefuns =3D {} > @@ -155,6 +155,7 @@ class ProcessServer(multiprocessing.Process): > print("No timeout, exiting.") > self.quit =3D True > =20 > + self.lastui =3D time.time() > while not self.quit: > if self.sock in ready: > while select.select([self.sock],[],[],0)[0]: > @@ -191,11 +192,18 @@ class ProcessServer(multiprocessing.Process): > except (EOFError, OSError): > disconnect_client(self, fds) > =20 > - if not self.timeout =3D=3D -1.0 and not self.haveui and > self.lastui and self.timeout and \ > + if not self.timeout =3D=3D -1.0 and not self.haveui and > self.timeout and \ (self.lastui + self.timeout) < time.time(): > print("Server timeout, exiting.") > self.quit =3D True > =20 > + # If we don't see a UI connection within maxuiwait, its > unlikely we're going to see > + # one. We have had issue with processes hanging > indefinitely so timing out UI-less > + # servers is useful. > + if not self.haveui and not self.timeout and (self.lastui > + self.maxuiwait) < time.time(): > + print("No UI connection within max timeout, exiting > to avoid infinite loop.") > + self.quit =3D True > + > if self.command_channel in ready: > try: > command =3D self.command_channel.get() > @@ -220,10 +228,13 @@ class ProcessServer(multiprocessing.Process): > =20 > print("Exiting") > # Remove the socket file so we don't get any more > connections to avoid races > - os.unlink(self.sockname) > + try: > + os.unlink(self.sockname) > + except: > + pass > self.sock.close() > =20 > - try:=20 > + try: > self.cooker.shutdown(True) > self.cooker.notifier.stop() > self.cooker.confignotifier.stop() > @@ -243,7 +254,7 @@ class ProcessServer(multiprocessing.Process): > lock =3D bb.utils.lockfile(lockfile, shared=3DFalse, > retry=3DFalse, block=3DTrue) if lock: > # We hold the lock so we can remove the file > (hide stale pid data) > - bb.utils.remove(lockfile) > + # via unlockfile. > bb.utils.unlockfile(lock) > return > =20 > @@ -331,7 +342,9 @@ class ServerCommunicator(): > def runCommand(self, command): > self.connection.send(command) > if not self.recv.poll(30): > - raise ProcessTimeout("Timeout while waiting for a reply > from the bitbake server") > + logger.info("No reply from server in 30s") > + if not self.recv.poll(30): > + raise ProcessTimeout("Timeout while waiting for a > reply from the bitbake server (60s)") return self.recv.get() > =20 > def updateFeatureSet(self, featureset): > diff --git a/bitbake/lib/bb/server/xmlrpcclient.py > b/bitbake/lib/bb/server/xmlrpcclient.py index c054c3c..442ea7b 100644 > --- a/bitbake/lib/bb/server/xmlrpcclient.py > +++ b/bitbake/lib/bb/server/xmlrpcclient.py > @@ -7,9 +7,6 @@ > # SPDX-License-Identifier: GPL-2.0-only > # > =20 > -import os > -import sys > - > import socket > import http.client > import xmlrpc.client > diff --git a/bitbake/lib/bb/server/xmlrpcserver.py > b/bitbake/lib/bb/server/xmlrpcserver.py index 54fa32f..2fa71be 100644 > --- a/bitbake/lib/bb/server/xmlrpcserver.py > +++ b/bitbake/lib/bb/server/xmlrpcserver.py > @@ -7,9 +7,6 @@ > # SPDX-License-Identifier: GPL-2.0-only > # > =20 > -import os > -import sys > - > import hashlib > import time > import inspect > diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py > index a4bb1ff..94d1762 100644 > --- a/bitbake/lib/bb/siggen.py > +++ b/bitbake/lib/bb/siggen.py > @@ -14,8 +14,10 @@ import simplediff > from bb.checksum import FileChecksumCache > from bb import runqueue > import hashserv > +import hashserv.client > =20 > logger =3D logging.getLogger('BitBake.SigGen') > +hashequiv_logger =3D logging.getLogger('BitBake.SigGen.HashEquiv') > =20 > def init(d): > siggens =3D [obj for obj in globals().values() > @@ -40,18 +42,26 @@ class SignatureGenerator(object): > def __init__(self, data): > self.basehash =3D {} > self.taskhash =3D {} > + self.unihash =3D {} > self.runtaskdeps =3D {} > self.file_checksum_values =3D {} > self.taints =3D {} > self.unitaskhashes =3D {} > - self.setscenetasks =3D {} > + self.tidtopn =3D {} > + self.setscenetasks =3D set() > =20 > def finalise(self, fn, d, varient): > return > =20 > + def postparsing_clean_cache(self): > + return > + > def get_unihash(self, tid): > return self.taskhash[tid] > =20 > + def prep_taskhash(self, tid, deps, dataCache): > + return > + > def get_taskhash(self, tid, deps, dataCache): > self.taskhash[tid] =3D > hashlib.sha256(tid.encode("utf-8")).hexdigest() return > self.taskhash[tid] @@ -76,19 +86,19 @@ class > SignatureGenerator(object): return > =20 > def get_taskdata(self): > - return (self.runtaskdeps, self.taskhash, > self.file_checksum_values, self.taints, self.basehash, > self.unitaskhashes, self.setscenetasks) > + return (self.runtaskdeps, self.taskhash, self.unihash, > self.file_checksum_values, self.taints, self.basehash, > self.unitaskhashes, self.tidtopn, self.setscenetasks) def > set_taskdata(self, data): > - self.runtaskdeps, self.taskhash, self.file_checksum_values, > self.taints, self.basehash, self.unitaskhashes, self.setscenetasks =3D > data > + self.runtaskdeps, self.taskhash, self.unihash, > self.file_checksum_values, self.taints, self.basehash, > self.unitaskhashes, self.tidtopn, self.setscenetasks =3D data def > reset(self, data): self.__init__(data) > =20 > def get_taskhashes(self): > - return self.taskhash, self.unitaskhashes > + return self.taskhash, self.unihash, self.unitaskhashes, > self.tidtopn=20 > def set_taskhashes(self, hashes): > - self.taskhash, self.unitaskhashes =3D hashes > + self.taskhash, self.unihash, self.unitaskhashes, > self.tidtopn =3D hashes=20 > def save_unitaskhashes(self): > return > @@ -104,13 +114,14 @@ class > SignatureGeneratorBasic(SignatureGenerator): def __init__(self, data): > self.basehash =3D {} > self.taskhash =3D {} > + self.unihash =3D {} > self.taskdeps =3D {} > self.runtaskdeps =3D {} > self.file_checksum_values =3D {} > self.taints =3D {} > self.gendeps =3D {} > self.lookupcache =3D {} > - self.setscenetasks =3D {} > + self.setscenetasks =3D set() > self.basewhitelist =3D > set((data.getVar("BB_HASHBASE_WHITELIST") or "").split()) > self.taskwhitelist =3D None self.init_rundepcheck(data) > @@ -121,8 +132,10 @@ class > SignatureGeneratorBasic(SignatureGenerator): else: > self.checksum_cache =3D None > =20 > - self.unihash_cache =3D bb.cache.SimpleCache("1") > + self.unihash_cache =3D bb.cache.SimpleCache("3") > self.unitaskhashes =3D self.unihash_cache.init_cache(data, > "bb_unihashes.dat", {}) > + self.localdirsexclude =3D > (data.getVar("BB_SIGNATURE_LOCAL_DIRS_EXCLUDE") or "CVS .bzr .git .hg > .osc .p4 .repo .svn").split() > + self.tidtopn =3D {} > =20 > def init_rundepcheck(self, data): > self.taskwhitelist =3D data.getVar("BB_HASHTASK_WHITELIST") or > None @@ -134,7 +147,7 @@ class > SignatureGeneratorBasic(SignatureGenerator): def _build_data(self, > fn, d):=20 > ignore_mismatch =3D ((d.getVar("BB_HASH_IGNORE_MISMATCH") or > '') =3D=3D '1') > - tasklist, gendeps, lookupcache =3D > bb.data.generate_dependencies(d) > + tasklist, gendeps, lookupcache =3D > bb.data.generate_dependencies(d, self.basewhitelist)=20 > taskdeps, basehash =3D > bb.data.generate_dependency_hash(tasklist, gendeps, lookupcache, > self.basewhitelist, fn) @@ -157,7 +170,7 @@ class > SignatureGeneratorBasic(SignatureGenerator): return taskdeps > =20 > def set_setscene_tasks(self, setscene_tasks): > - self.setscenetasks =3D setscene_tasks > + self.setscenetasks =3D set(setscene_tasks) > =20 > def finalise(self, fn, d, variant): > =20 > @@ -180,6 +193,14 @@ class > SignatureGeneratorBasic(SignatureGenerator): for task in taskdeps: > d.setVar("BB_BASEHASH_task-%s" % task, self.basehash[fn > + ":" + task])=20 > + def postparsing_clean_cache(self): > + # > + # After parsing we can remove some things from memory to > reduce our memory footprint > + # > + self.gendeps =3D {} > + self.lookupcache =3D {} > + self.taskdeps =3D {} > + > def rundep_check(self, fn, recipename, task, dep, depname, > dataCache): # Return True if we should keep the dependency, False to > drop it # We only manipulate the dependencies for packages not in the > whitelist @@ -198,15 +219,17 @@ class > SignatureGeneratorBasic(SignatureGenerator): pass > return taint > =20 > - def get_taskhash(self, tid, deps, dataCache): > + def prep_taskhash(self, tid, deps, dataCache): > =20 > (mc, _, task, fn) =3D bb.runqueue.split_tid_mcfn(tid) > =20 > - data =3D dataCache.basetaskhash[tid] > - self.basehash[tid] =3D data > + self.basehash[tid] =3D dataCache.basetaskhash[tid] > self.runtaskdeps[tid] =3D [] > self.file_checksum_values[tid] =3D [] > recipename =3D dataCache.pkg_fn[fn] > + > + self.tidtopn[tid] =3D recipename > + > for dep in sorted(deps, key=3Dclean_basepath): > (depmc, _, deptaskname, depfn) =3D > bb.runqueue.split_tid_mcfn(dep) if mc !=3D depmc: > @@ -216,33 +239,56 @@ class > SignatureGeneratorBasic(SignatureGenerator): continue > if dep not in self.taskhash: > bb.fatal("%s is not in taskhash, caller isn't > calling in dependency order?" % dep) > - data =3D data + self.get_unihash(dep) > self.runtaskdeps[tid].append(dep) > =20 > if task in dataCache.file_checksums[fn]: > if self.checksum_cache: > - checksums =3D > self.checksum_cache.get_checksums(dataCache.file_checksums[fn][task], > recipename) > + checksums =3D > self.checksum_cache.get_checksums(dataCache.file_checksums[fn][task], > recipename, self.localdirsexclude) else: > - checksums =3D > bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], > recipename) > + checksums =3D > bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], > recipename, self.localdirsexclude) for (f,cs) in checksums: > self.file_checksum_values[tid].append((f,cs)) > - if cs: > - data =3D data + cs > =20 > taskdep =3D dataCache.task_deps[fn] > if 'nostamp' in taskdep and task in taskdep['nostamp']: > # Nostamp tasks need an implicit taint so that they > force any dependent tasks to run > - import uuid > - taint =3D str(uuid.uuid4()) > - data =3D data + taint > - self.taints[tid] =3D "nostamp:" + taint > + if tid in self.taints and > self.taints[tid].startswith("nostamp:"): > + # Don't reset taint value upon every call > + pass > + else: > + import uuid > + taint =3D str(uuid.uuid4()) > + self.taints[tid] =3D "nostamp:" + taint > =20 > taint =3D self.read_taint(fn, task, dataCache.stamp[fn]) > if taint: > - data =3D data + taint > self.taints[tid] =3D taint > logger.warning("%s is tainted from a forced run" % tid) > =20 > + return > + > + def get_taskhash(self, tid, deps, dataCache): > + > + data =3D self.basehash[tid] > + for dep in self.runtaskdeps[tid]: > + if dep in self.unihash: > + if self.unihash[dep] is None: > + data =3D data + self.taskhash[dep] > + else: > + data =3D data + self.unihash[dep] > + else: > + data =3D data + self.get_unihash(dep) > + > + for (f, cs) in self.file_checksum_values[tid]: > + if cs: > + data =3D data + cs > + > + if tid in self.taints: > + if self.taints[tid].startswith("nostamp:"): > + data =3D data + self.taints[tid][8:] > + else: > + data =3D data + self.taints[tid] > + > h =3D hashlib.sha256(data.encode("utf-8")).hexdigest() > self.taskhash[tid] =3D h > #d.setVar("BB_TASKHASH_task-%s" % task, taskhash[task]) > @@ -371,50 +417,66 @@ class > SignatureGeneratorBasicHash(SignatureGeneratorBasic): > bb.build.write_taint(task, d, fn)=20 > class SignatureGeneratorUniHashMixIn(object): > + def __init__(self, data): > + self.extramethod =3D {} > + super().__init__(data) > + > def get_taskdata(self): > - return (self.server, self.method) + super().get_taskdata() > + return (self.server, self.method, self.extramethod) + > super().get_taskdata()=20 > def set_taskdata(self, data): > - self.server, self.method =3D data[:2] > - super().set_taskdata(data[2:]) > + self.server, self.method, self.extramethod =3D data[:3] > + super().set_taskdata(data[3:]) > =20 > def client(self): > if getattr(self, '_client', None) is None: > self._client =3D hashserv.create_client(self.server) > return self._client > =20 > - def __get_task_unihash_key(self, tid): > - # TODO: The key only *needs* to be the taskhash, the tid is > just > - # convenient > - return '%s:%s' % (tid.rsplit("/", 1)[1], self.taskhash[tid]) > - > def get_stampfile_hash(self, tid): > if tid in self.taskhash: > # If a unique hash is reported, use it as the stampfile > hash. This # ensures that if a task won't be re-run if the taskhash > changes, # but it would result in the same output hash > - unihash =3D > self.unitaskhashes.get(self.__get_task_unihash_key(tid), None) > + unihash =3D self._get_unihash(tid) > if unihash is not None: > return unihash > =20 > return super().get_stampfile_hash(tid) > =20 > def set_unihash(self, tid, unihash): > - self.unitaskhashes[self.__get_task_unihash_key(tid)] =3D > unihash > + (mc, fn, taskname, taskfn) =3D bb.runqueue.split_tid_mcfn(tid) > + key =3D mc + ":" + self.tidtopn[tid] + ":" + taskname > + self.unitaskhashes[key] =3D (self.taskhash[tid], unihash) > + self.unihash[tid] =3D unihash > + > + def _get_unihash(self, tid, checkkey=3DNone): > + if tid not in self.tidtopn: > + return None > + (mc, fn, taskname, taskfn) =3D bb.runqueue.split_tid_mcfn(tid) > + key =3D mc + ":" + self.tidtopn[tid] + ":" + taskname > + if key not in self.unitaskhashes: > + return None > + if not checkkey: > + checkkey =3D self.taskhash[tid] > + (key, unihash) =3D self.unitaskhashes[key] > + if key !=3D checkkey: > + return None > + return unihash > =20 > def get_unihash(self, tid): > taskhash =3D self.taskhash[tid] > =20 > # If its not a setscene task we can return > if self.setscenetasks and tid not in self.setscenetasks: > + self.unihash[tid] =3D None > return taskhash > =20 > - key =3D self.__get_task_unihash_key(tid) > - > # TODO: This cache can grow unbounded. It probably only > needs to keep # for each task > - unihash =3D self.unitaskhashes.get(key, None) > + unihash =3D self._get_unihash(tid) > if unihash is not None: > + self.unihash[tid] =3D unihash > return unihash > =20 > # In the absence of being able to discover a unique hash > from the @@ -433,19 +495,23 @@ class > SignatureGeneratorUniHashMixIn(object): unihash =3D taskhash > =20 > try: > - data =3D self.client().get_unihash(self.method, > self.taskhash[tid]) > + method =3D self.method > + if tid in self.extramethod: > + method =3D method + self.extramethod[tid] > + data =3D self.client().get_unihash(method, > self.taskhash[tid]) if data: > unihash =3D data > # A unique hash equal to the taskhash is not very > interesting, # so it is reported it at debug level 2. If they differ, > that # is much more interesting, so it is reported at debug level 1 > - bb.debug((1, 2)[unihash =3D=3D taskhash], 'Found unihash > %s in place of %s for %s from %s' % (unihash, taskhash, tid, > self.server)) > + hashequiv_logger.debug((1, 2)[unihash =3D=3D taskhash], > 'Found unihash %s in place of %s for %s from %s' % (unihash, > taskhash, tid, self.server)) else: > - bb.debug(2, 'No reported unihash for %s:%s from %s' > % (tid, taskhash, self.server)) > + hashequiv_logger.debug(2, 'No reported unihash for > %s:%s from %s' % (tid, taskhash, self.server)) except > hashserv.client.HashConnectionError as e: bb.warn('Error contacting > Hash Equivalence Server %s: %s' % (self.server, str(e)))=20 > - self.unitaskhashes[key] =3D unihash > + self.set_unihash(tid, unihash) > + self.unihash[tid] =3D unihash > return unihash > =20 > def report_unihash(self, path, task, d): > @@ -457,13 +523,17 @@ class SignatureGeneratorUniHashMixIn(object): > tempdir =3D d.getVar('T') > fn =3D d.getVar('BB_FILENAME') > tid =3D fn + ':do_' + task > - key =3D tid.rsplit("/", 1)[1] + ':' + taskhash > + key =3D tid + ':' + taskhash > =20 > if self.setscenetasks and tid not in self.setscenetasks: > return > =20 > + # This can happen if locked sigs are in action. Detect and > just abort > + if taskhash !=3D self.taskhash[tid]: > + return > + > # Sanity checks > - cache_unihash =3D self.unitaskhashes.get(key, None) > + cache_unihash =3D self._get_unihash(tid, checkkey=3Dtaskhash) > if cache_unihash is None: > bb.fatal('%s not in unihash cache. Please report this > error' % key)=20 > @@ -502,14 +572,20 @@ class SignatureGeneratorUniHashMixIn(object): > extra_data['task'] =3D task > extra_data['outhash_siginfo'] =3D > sigfile.read().decode('utf-8')=20 > - data =3D self.client().report_unihash(taskhash, > self.method, outhash, unihash, extra_data) > + method =3D self.method > + if tid in self.extramethod: > + method =3D method + self.extramethod[tid] > + > + data =3D self.client().report_unihash(taskhash, > method, outhash, unihash, extra_data) new_unihash =3D data['unihash'] > =20 > if new_unihash !=3D unihash: > - bb.debug(1, 'Task %s unihash changed %s -> %s by > server %s' % (taskhash, unihash, new_unihash, self.server)) > + hashequiv_logger.debug(1, 'Task %s unihash > changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, > self.server)) bb.event.fire(bb.runqueue.taskUniHashUpdate(fn + ':do_' > + task, new_unihash), d) > + self.set_unihash(tid, new_unihash) > + d.setVar('BB_UNIHASH', new_unihash) > else: > - bb.debug(1, 'Reported task %s as unihash %s to > %s' % (taskhash, unihash, self.server)) > + hashequiv_logger.debug(1, 'Reported task %s as > unihash %s to %s' % (taskhash, unihash, self.server)) except > hashserv.client.HashConnectionError as e: bb.warn('Error contacting > Hash Equivalence Server %s: %s' % (self.server, str(e))) finally: > @@ -524,6 +600,36 @@ class SignatureGeneratorUniHashMixIn(object): > except OSError: > pass > =20 > + def report_unihash_equiv(self, tid, taskhash, wanted_unihash, > current_unihash, datacaches): > + try: > + extra_data =3D {} > + method =3D self.method > + if tid in self.extramethod: > + method =3D method + self.extramethod[tid] > + > + data =3D self.client().report_unihash_equiv(taskhash, > method, wanted_unihash, extra_data) > + hashequiv_logger.verbose('Reported task %s as unihash %s > to %s (%s)' % (tid, wanted_unihash, self.server, str(data))) + > + if data is None: > + bb.warn("Server unable to handle unihash report") > + return False > + > + finalunihash =3D data['unihash'] > + > + if finalunihash =3D=3D current_unihash: > + hashequiv_logger.verbose('Task %s unihash %s > unchanged by server' % (tid, finalunihash)) > + elif finalunihash =3D=3D wanted_unihash: > + hashequiv_logger.verbose('Task %s unihash changed %s > -> %s as wanted' % (tid, current_unihash, finalunihash)) > + self.set_unihash(tid, finalunihash) > + return True > + else: > + # TODO: What to do here? > + hashequiv_logger.verbose('Task %s unihash reported > as unwanted hash %s' % (tid, finalunihash)) + > + except hashserv.client.HashConnectionError as e: > + bb.warn('Error contacting Hash Equivalence Server %s: > %s' % (self.server, str(e))) + > + return False > =20 > # > # Dummy class used for bitbake-selftest > diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py > index 8c25e09..d13a124 100644 > --- a/bitbake/lib/bb/taskdata.py > +++ b/bitbake/lib/bb/taskdata.py > @@ -362,7 +362,7 @@ class TaskData: > bb.event.fire(bb.event.NoProvider(item, > dependees=3Dself.get_dependees(item), reasons=3D["No eligible PROVIDERs > exist for '%s'" % item]), cfgData) raise > bb.providers.NoProvider(item)=20 > - if len(eligible) > 1 and foundUnique =3D=3D False: > + if len(eligible) > 1 and not foundUnique: > if item not in self.consider_msgs_cache: > providers_list =3D [] > for fn in eligible: > diff --git a/bitbake/lib/bb/tests/cooker.py > b/bitbake/lib/bb/tests/cooker.py index 090916e..74c903f 100644 > --- a/bitbake/lib/bb/tests/cooker.py > +++ b/bitbake/lib/bb/tests/cooker.py > @@ -5,7 +5,6 @@ > # > =20 > import unittest > -import tempfile > import os > import bb, bb.cooker > import re > diff --git a/bitbake/lib/bb/tests/cow.py b/bitbake/lib/bb/tests/cow.py > index b4af4bb..bf6e79f 100644 > --- a/bitbake/lib/bb/tests/cow.py > +++ b/bitbake/lib/bb/tests/cow.py > @@ -7,7 +7,7 @@ > # > =20 > import unittest > -import os > + > =20 > class COWTestCase(unittest.TestCase): > """ > diff --git a/bitbake/lib/bb/tests/data.py > b/bitbake/lib/bb/tests/data.py index 3e49984..5f19504 100644 > --- a/bitbake/lib/bb/tests/data.py > +++ b/bitbake/lib/bb/tests/data.py > @@ -476,7 +476,7 @@ class Contains(unittest.TestCase): > class TaskHash(unittest.TestCase): > def test_taskhashes(self): > def gettask_bashhash(taskname, d): > - tasklist, gendeps, lookupcache =3D > bb.data.generate_dependencies(d) > + tasklist, gendeps, lookupcache =3D > bb.data.generate_dependencies(d, set()) taskdeps, basehash =3D > bb.data.generate_dependency_hash(tasklist, gendeps, lookupcache, > set(), "somefile") bb.warn(str(lookupcache)) return > basehash["somefile:" + taskname] @@ -544,142 +544,3 @@ class > Serialize(unittest.TestCase): > self.assertEqual(newd.getVarFlag('HELLO', 'other'), 'planet')=20 > =20 > -# Remote datastore tests > -# These really only test the interface, since in actual usage we > have a -# tinfoil connector that does everything over RPC, and this > doesn't test -# that. > - > -class TestConnector: > - d =3D None > - def __init__(self, d): > - self.d =3D d > - def getVar(self, name): > - return self.d._findVar(name) > - def getKeys(self): > - return set(self.d.keys()) > - def getVarHistory(self, name): > - return self.d.varhistory.variable(name) > - def expandPythonRef(self, varname, expr, d): > - localdata =3D self.d.createCopy() > - for key in d.localkeys(): > - localdata.setVar(d.getVar(key)) > - varparse =3D bb.data_smart.VariableParse(varname, localdata) > - return varparse.python_sub(expr) > - def setVar(self, name, value): > - self.d.setVar(name, value) > - def setVarFlag(self, name, flag, value): > - self.d.setVarFlag(name, flag, value) > - def delVar(self, name): > - self.d.delVar(name) > - return False > - def delVarFlag(self, name, flag): > - self.d.delVarFlag(name, flag) > - return False > - def renameVar(self, name, newname): > - self.d.renameVar(name, newname) > - return False > - > -class Remote(unittest.TestCase): > - def test_remote(self): > - > - d1 =3D bb.data.init() > - d1.enableTracking() > - d2 =3D bb.data.init() > - d2.enableTracking() > - connector =3D TestConnector(d1) > - > - d2.setVar('_remote_data', connector) > - > - d1.setVar('HELLO', 'world') > - d1.setVarFlag('OTHER', 'flagname', 'flagvalue') > - self.assertEqual(d2.getVar('HELLO'), 'world') > - self.assertEqual(d2.expand('${HELLO}'), 'world') > - self.assertEqual(d2.expand('${@d.getVar("HELLO")}'), 'world') > - self.assertIn('flagname', d2.getVarFlags('OTHER')) > - self.assertEqual(d2.getVarFlag('OTHER', 'flagname'), > 'flagvalue') > - self.assertEqual(d1.varhistory.variable('HELLO'), > d2.varhistory.variable('HELLO')) > - # Test setVar on client side affects server > - d2.setVar('HELLO', 'other-world') > - self.assertEqual(d1.getVar('HELLO'), 'other-world') > - # Test setVarFlag on client side affects server > - d2.setVarFlag('HELLO', 'flagname', 'flagvalue') > - self.assertEqual(d1.getVarFlag('HELLO', 'flagname'), > 'flagvalue') > - # Test client side data is incorporated in python expansion > (which is done on server) > - d2.setVar('FOO', 'bar') > - self.assertEqual(d2.expand('${@d.getVar("FOO")}'), 'bar') > - # Test overrides work > - d1.setVar('FOO_test', 'baz') > - d1.appendVar('OVERRIDES', ':test') > - self.assertEqual(d2.getVar('FOO'), 'baz') > - > - > -# Remote equivalents of local test classes > -# Note that these aren't perfect since we only test in one direction > - > -class RemoteDataExpansions(DataExpansions): > - def setUp(self): > - self.d1 =3D bb.data.init() > - self.d =3D bb.data.init() > - self.d1["foo"] =3D "value_of_foo" > - self.d1["bar"] =3D "value_of_bar" > - self.d1["value_of_foo"] =3D "value_of_'value_of_foo'" > - connector =3D TestConnector(self.d1) > - self.d.setVar('_remote_data', connector) > - > -class TestRemoteNestedExpansions(TestNestedExpansions): > - def setUp(self): > - self.d1 =3D bb.data.init() > - self.d =3D bb.data.init() > - self.d1["foo"] =3D "foo" > - self.d1["bar"] =3D "bar" > - self.d1["value_of_foobar"] =3D "187" > - connector =3D TestConnector(self.d1) > - self.d.setVar('_remote_data', connector) > - > -class TestRemoteConcat(TestConcat): > - def setUp(self): > - self.d1 =3D bb.data.init() > - self.d =3D bb.data.init() > - self.d1.setVar("FOO", "foo") > - self.d1.setVar("VAL", "val") > - self.d1.setVar("BAR", "bar") > - connector =3D TestConnector(self.d1) > - self.d.setVar('_remote_data', connector) > - > -class TestRemoteConcatOverride(TestConcatOverride): > - def setUp(self): > - self.d1 =3D bb.data.init() > - self.d =3D bb.data.init() > - self.d1.setVar("FOO", "foo") > - self.d1.setVar("VAL", "val") > - self.d1.setVar("BAR", "bar") > - connector =3D TestConnector(self.d1) > - self.d.setVar('_remote_data', connector) > - > -class TestRemoteOverrides(TestOverrides): > - def setUp(self): > - self.d1 =3D bb.data.init() > - self.d =3D bb.data.init() > - self.d1.setVar("OVERRIDES", "foo:bar:local") > - self.d1.setVar("TEST", "testvalue") > - connector =3D TestConnector(self.d1) > - self.d.setVar('_remote_data', connector) > - > -class TestRemoteKeyExpansion(TestKeyExpansion): > - def setUp(self): > - self.d1 =3D bb.data.init() > - self.d =3D bb.data.init() > - self.d1.setVar("FOO", "foo") > - self.d1.setVar("BAR", "foo") > - connector =3D TestConnector(self.d1) > - self.d.setVar('_remote_data', connector) > - > -class TestRemoteFlags(TestFlags): > - def setUp(self): > - self.d1 =3D bb.data.init() > - self.d =3D bb.data.init() > - self.d1.setVar("foo", "value of foo") > - self.d1.setVarFlag("foo", "flag1", "value of flag1") > - self.d1.setVarFlag("foo", "flag2", "value of flag2") > - connector =3D TestConnector(self.d1) > - self.d.setVar('_remote_data', connector) > diff --git a/bitbake/lib/bb/tests/fetch-testdata/apple/cups/releases > b/bitbake/lib/bb/tests/fetch-testdata/apple/cups/releases new file > mode 100644 index 0000000..f8934f5 > --- /dev/null > +++ b/bitbake/lib/bb/tests/fetch-testdata/apple/cups/releases > @@ -0,0 +1,2400 @@ > + > + > + > + > + > + > + > + > + > + > + > + href=3D"https://avatars0.githubusercontent.com"> > + href=3D"https://avatars1.githubusercontent.com"> > + href=3D"https://avatars2.githubusercontent.com"> > + href=3D"https://avatars3.githubusercontent.com"> > + href=3D"https://github-cloud.s3.amazonaws.com"> > + href=3D"https://user-images.githubusercontent.com/"> + > + > + > + integrity=3D"sha512-7mtunHqp/Bw0ND9akjJME8XCh0WPm3HAXOSeX7skL0qGAhpdfzkQv= YcujYcwNPTpWKeKMFUGZGtvnEkcczFgwQ=3D=3D" > rel=3D"stylesheet" > href=3D"https://github.githubassets.com/assets/frameworks-9b5314213e37056= ed87b0418056c4f2c.css" > /> > + integrity=3D"sha512-CmoegizWCUR1jC94Y2eukVQIFxJ9GxYerz9q7dBwImLlx8ODwYkXA= MIhCfTnA45Ep6++rcO/ZtKVLvFBM8dapA=3D=3D" > rel=3D"stylesheet" > href=3D"https://github.githubassets.com/assets/site-4e9f27fa33341743f730a= e7b0e33eff5.css" > /> > + integrity=3D"sha512-BvnICKFjIvT69o61dyYllXtaOnGVb7Ifj5c3lk3wj7tkjat2ICuN+= XRwyk8tqP3dj7IFhEQzxDdxSHaJ3xj3Mw=3D=3D" > rel=3D"stylesheet" > href=3D"https://github.githubassets.com/assets/github-ff986874cf7e28cbcd5= d448cdca7245d.css" > /> > + =20 > + =20 > + =20 > + =20 > + > + > + > + =20 > + Releases =C2=B7 apple/cups =C2=B7 GitHub > + Contribute to apple/cups development by creating an account on > GitHub."> > + href=3D"/opensearch.xml" title=3D"GitHub"> > + title=3D"GitHub"> > + > + > + content=3D"https://avatars2.githubusercontent.com/u/10639145?s=3D400&= v=3D4" > /> name=3D"twitter:card" content=3D"summary" /> content=3D"apple/cups" /> content=3D"Official CUPS Sources. Contribute to apple/cups development > by creating an account on GitHub." /> > + content=3D"https://avatars2.githubusercontent.com/u/10639145?s=3D400&= v=3D4" > /> property=3D"og:type" content=3D"object" /> content=3D"apple/cups" /> content=3D"https://github.com/apple/cups" /> property=3D"og:description" content=3D"Official CUPS Sources. Contribute > to apple/cups development by creating an account on GitHub." /> + > + > + =20 > + =20 > + > + content=3D"E0CB:22348:508D9B:74D7B0:5DFA43C4" data-pjax-transient> + > + > + > + =20 > + > + data-pjax-transient> + > + content=3D"KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> > + content=3D"ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> > + content=3D"GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> + > + /> name=3D"octolytics-event-url" > content=3D"https://collector.githubapp.com/github-external/browser_event" > /> content=3D"E0CB:22348:508D9B:74D7B0:5DFA43C4" /> name=3D"octolytics-dimension-region_edge" content=3D"ams" /> name=3D"octolytics-dimension-region_render" content=3D"iad" /> name=3D"octolytics-dimension-ga_id" content=3D"" class=3D"js-octo-ga-id" > /> content=3D"3868440108365136837" /> + + content=3D"/<user-name>/<repo-name>/releases/index" > data-pjax-transient=3D"true" /> + + + > + > + > + > + > + > + > + > + =20 > + > + > + > + > + > + > + content=3D"NmQ3M2FjYmZiNDJmZTg4YjgzZmRkOWJlNjQzYjU2MGFmNDQ5OTM4ZGVmMjcyMT= NmMGZjOGVlODg1NWM0NGJmOHx7InJlbW90ZV9hZGRyZXNzIjoiODcuODEuMjQ0LjE2MSIsInJlc= XVlc3RfaWQiOiJFMENCOjIyMzQ4OjUwOEQ5Qjo3NEQ3QjA6NURGQTQzQzQiLCJ0aW1lc3RhbXAi= OjE1NzY2ODI0MzcsImhvc3QiOiJnaXRodWIuY29tIn0=3D"> > + > + content=3D"MARKETPLACE_FEATURED_BLOG_POSTS,MARKETPLACE_INVOICED_BILLING,M= ARKETPLACE_SOCIAL_PROOF_CUSTOMERS,MARKETPLACE_TRENDING_SOCIAL_PROOF,MARKETP= LACE_RECOMMENDATIONS,MARKETPLACE_PENDING_INSTALLATIONS"> > + > + content=3D"99799050425011fe6bc71791e860bd50b46cc6a7"> + > + content=3D"2d29eb011c4e56b5682393d6f45c86b9"> > + =20 > + > + Release Notes" href=3D"https://github.com/apple/cups/releases.atom" /> > + Tags" href=3D"https://github.com/apple/cups/tags.atom" /> > + rel=3D"alternate" title=3D"Recent Commits to cups:master" > type=3D"application/atom+xml"> + > + https://github.com/apple/cups.git"> + > + /> /> /> content=3D"apple/cups" /> name=3D"octolytics-dimension-repository_public" content=3D"true" /> name=3D"octolytics-dimension-repository_is_fork" content=3D"false" > /> content=3D"44137852" /> name=3D"octolytics-dimension-repository_network_root_nwo" > content=3D"apple/cups" /> name=3D"octolytics-dimension-repository_explore_github_marketplace_ci_cta= _shown" > content=3D"false" /> + + + + > + content=3D"https://api.github.com/_private/browser/stats"> + > + content=3D"https://api.github.com/_private/browser/errors"> + > + href=3D"https://github.githubassets.com/pinned-octocat.svg" > color=3D"#000000"> > + href=3D"https://github.githubassets.com/favicon.ico"> + > + > + > + > + > + > + > + crossOrigin=3D"use-credentials"> + > + > + > + > + =20 > + > +
> + bg-blue text-white show-on-focus js-skip-to-content">Skip to > content > + width-full js-pjax-loader-bar"> > + style=3D"width: 0%;"> > + > + > + =20 > + =20 > + =20 > + > + > +
js-details-container Details position-relative f4 py-2" role=3D"banner"> > +
> +
> + aria-label=3D"Homepage" data-ga-click=3D"(Logged out) Header, go to > homepage, icon:logo-wordmark"> > + text-white" viewBox=3D"0 0 16 16" version=3D"1.1" width=3D"32" > aria-hidden=3D"true"> 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 > 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13= -.28-.15-.68-.52-.01-.53.63-.01 > 1.08.58 1.23.82.72 1.21 1.87.87 > 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 > 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 > 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 > 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 > 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 > .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/> > + > + > +
width-fit p-2"> > + =20 > + version=3D"1.1" width=3D"12" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M4 > 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 > 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 > 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/> > + apple > + / > + cups > + > + > +
> + > + > +
> + > +
top-0 right-0 bottom-0 height-fit position-lg-relative d-lg-flex > flex-justify-between flex-items-center flex-auto"> > +
bg-gray-light p-3"> > + > +
> + > + > + > +
text-center text-lg-left"> > +
> + > + > +
> + > + + class=3D"HeaderMenu-link no-underline mr-3" > + > data-hydro-click=3D"{"event_type":"authentication.click&qu= ot;,"payload":{"location_in_page":"site > header > menu","repository_id":null,"auth_type":"SIG= N_UP","client_id":null,"originating_request_id":&q= uot;E0CB:22348:508D9B:74D7B0:5DFA43C4","originating_url":&qu= ot;https://github.com/apple/cups/releases","referrer":null,&= quot;user_id":null}}" > data-hydro-click-hmac=3D"e4e34255c8485d6915d1448a86ea9723c3b2e92e9576e718= 45af735870da8d70" > + data-ga-click=3D"(Logged out) Header, clicked Sign in, > text:sign-in"> > + Sign in > + > + href=3D"/join?source=3Dheader-repo&source_repo=3Dapple%2Fcups" > + class=3D"HeaderMenu-link d-inline-block no-underline > border border-gray-dark rounded-1 px-2 py-1" > + > data-hydro-click=3D"{"event_type":"authentication.click&qu= ot;,"payload":{"location_in_page":"site > header > menu","repository_id":null,"auth_type":"SIG= N_UP","client_id":null,"originating_request_id":&q= uot;E0CB:22348:508D9B:74D7B0:5DFA43C4","originating_url":&qu= ot;https://github.com/apple/cups/releases","referrer":null,&= quot;user_id":null}}" > data-hydro-click-hmac=3D"e4e34255c8485d6915d1448a86ea9723c3b2e92e9576e718= 45af735870da8d70" > + data-ga-click=3D"(Logged out) Header, clicked Sign up, > text:sign-up"> > + Sign up > + > +
> +
> +
> +
> + > +
> + > +
> + > + > +
> + > +
> + > + > + > +
> +
itemtype=3D"http://schema.org/SoftwareSourceCode" class=3D""> > +
> + =20 > + > + > + =20 > + > + > + > + =20 > + > + > + > + > + > + > + > + > + > +
experiment-repo-nav pt-0 pt-lg-4 "> > +
p-responsive d-none d-lg-block"> + > + > + > +

> + version=3D"1.1" width=3D"12" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M4 > 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 > 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 > 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/> > + rel=3D"author" data-hovercard-type=3D"organization" > data-hovercard-url=3D"/orgs/apple/hovercard" > href=3D"/apple">apple class=3D"path-divider">/ data-pjax=3D"#js-repo-pjax-container" > href=3D"/apple/cups">cups > + =20 > + > +

> + > +
> + =20 > + > + > + > + > + > +
> +
experiment-repo-nav p-responsive"> > +
> + > + =20 > + =20 > +
> +
> +
> +
accept-charset=3D"UTF-8" method=3D"post"> value=3D"✓" /> /> value=3D"kDaX/sF3AoSg/3mGTg7Nw4EgGoxBCvoq8adl0rdW8QfpUQnmpOeq3ExSYkQYQl6U= fiRGGQlay9HzoVVnV9pjaQ=3D=3D" > /> > + > +

Be notified of new releases

> +

Create your free GitHub account > today to subscribe to this repository for new releases and build > software alongside 40 million developers.

> + data-hydro-click=3D"{"event_type":"authentication.click&qu= ot;,"payload":{"location_in_page":"releases > signup > prompt","repository_id":null,"auth_type":"S= IGN_UP","client_id":null,"originating_request_id":= "E0CB:22348:508D9B:74D7B0:5DFA43C4","originating_url":&= quot;https://github.com/apple/cups/releases","referrer":null= ,"user_id":null}}" > data-hydro-click-hmac=3D"c2a9f870ddf9968cc69782464c68391f9e6ae7646501d13b= cfcce68458bf82e5" > data-ga-click=3D"(Logged out) Sign up prompt, clicked Sign up, > text:sign-up" href=3D"/join?source=3Dprompt-releases">Sign up > +
> +
> +
> + > + > + > + > +
> + > + > + > +
> + =20 > +
> + > + > +
release-main-section commit open float-left"> > +
> +
> +
> + v2.3.1 > +
> + > + Label Label--outline Label--outline-green"> > + href=3D"/apple/cups/releases/latest">Latest release > + > + > +
> + > + =20 > +

> + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" href=3D"/michaelrsweet"> class=3D"avatar" > src=3D"https://avatars3.githubusercontent.com/u/488103?s=3D40&v=3D4" > width=3D"20" height=3D"20" alt=3D"@michaelrsweet" /> > + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" > href=3D"/michaelrsweet">michaelrsweet > + released this > + class=3D"no-wrap">Dec 13, 2019 +

> +
> + > + =20 > + > +
> +

CUPS 2.3.1 is a general bug fix release, including a fix for > CVE-2019-2228. Changes include:

+ > +

Enjoy!

> +
> + > + > +
+ class=3D"details-reset Details-element border-top pt-3 mt-4 mb-2 > mb-md-4" > + open > + =20 > + > > + > +
> + class=3D"octicon octicon-triangle-right" viewBox=3D"0 0 6 16" > version=3D"1.1" width=3D"6" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M0 14l6-6-6-6v12z"/> > + octicon-triangle-down" viewBox=3D"0 0 12 16" version=3D"1.1" width=3D"12" > height=3D"16" aria-hidden=3D"true"> 6-6H0z"/> > + Assets > + 4 > +
> +
> +
> +
> + > + > + > + > + > + > +
> +
> +
> + > + > +
> +
> + > +
> + > + > + > +
> + =20 > +
> + > + > +
release-main-section commit open float-left"> > +
> +
> +
> + v2.2.13 > +
> + > + > +
> + > + =20 > +

> + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" href=3D"/michaelrsweet"> class=3D"avatar" > src=3D"https://avatars3.githubusercontent.com/u/488103?s=3D40&v=3D4" > width=3D"20" height=3D"20" alt=3D"@michaelrsweet" /> > + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" > href=3D"/michaelrsweet">michaelrsweet > + released this > + class=3D"no-wrap">Dec 13, 2019 > + · > + > + 793 commits > + to master > + since this release > +

> +
> + > + =20 > + > +
> +

CUPS 2.2.13 is the last general bug fix release in the 2.2.x > series and includes
+a fix for CVE-2019-2228. Changes > include:

+ +

Enjoy!

> +
> + > + > +
+ class=3D"details-reset Details-element border-top pt-3 mt-4 mb-2 > mb-md-4" > + =20 > + =20 > + > > + > +
> + class=3D"octicon octicon-triangle-right" viewBox=3D"0 0 6 16" > version=3D"1.1" width=3D"6" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M0 14l6-6-6-6v12z"/> > + octicon-triangle-down" viewBox=3D"0 0 12 16" version=3D"1.1" width=3D"12" > height=3D"16" aria-hidden=3D"true"> 6-6H0z"/> > + Assets > + 4 > +
> +
> +
> +
> + > + > + > + > + > + > +
> +
> +
> + > + > +
> +
> + > +
> + > + > + > +
> + =20 > +
> + > + > +
release-main-section commit open float-left"> > +
> +
> +
> + v2.3.0 > +
> + > + > +
> + > + =20 > +

> + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" href=3D"/michaelrsweet"> class=3D"avatar" > src=3D"https://avatars3.githubusercontent.com/u/488103?s=3D40&v=3D4" > width=3D"20" height=3D"20" alt=3D"@michaelrsweet" /> > + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" > href=3D"/michaelrsweet">michaelrsweet > + released this > + class=3D"no-wrap">Aug 23, 2019 > + · > + > + 65 commits > + to master > + since this release > +

> +
> + > + =20 > + > +
> +

CUPS 2.3.0 is now available for download, which adopts the > new CUPS license, adds support for IPP presets and finishing > templates, fixes a number of bugs and "polish" issues, and includes > the new ippeveprinter utility. Changes include:

+ +

Enjoy!

> +
> + > + > +
+ class=3D"details-reset Details-element border-top pt-3 mt-4 mb-2 > mb-md-4" > + =20 > + =20 > + > > + > +
> + class=3D"octicon octicon-triangle-right" viewBox=3D"0 0 6 16" > version=3D"1.1" width=3D"6" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M0 14l6-6-6-6v12z"/> > + octicon-triangle-down" viewBox=3D"0 0 12 16" version=3D"1.1" width=3D"12" > height=3D"16" aria-hidden=3D"true"> 6-6H0z"/> > + Assets > + 4 > +
> +
> +
> +
> + > + > + > + > + > + > +
> +
> +
> + > + > +
> +
> + > +
> + > + > + > +
> + =20 > +
> + > + > +
release-main-section commit open float-left"> > +
> +
> +
> + v2.2.12 > +
> + > + > +
> + > + =20 > +

> + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" href=3D"/michaelrsweet"> class=3D"avatar" > src=3D"https://avatars3.githubusercontent.com/u/488103?s=3D40&v=3D4" > width=3D"20" height=3D"20" alt=3D"@michaelrsweet" /> > + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" > href=3D"/michaelrsweet">michaelrsweet > + released this > + class=3D"no-wrap">Aug 15, 2019 > + · > + > + 793 commits > + to master > + since this release > +

> +
> + > + =20 > + > +
> +

CUPS 2.2.12 is now available and includes security, > compatibility, and general bug fixes. Changes include:

+ +

Enjoy!

> +
> + > + > +
+ class=3D"details-reset Details-element border-top pt-3 mt-4 mb-2 > mb-md-4" > + =20 > + =20 > + > > + > +
> + class=3D"octicon octicon-triangle-right" viewBox=3D"0 0 6 16" > version=3D"1.1" width=3D"6" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M0 14l6-6-6-6v12z"/> > + octicon-triangle-down" viewBox=3D"0 0 12 16" version=3D"1.1" width=3D"12" > height=3D"16" aria-hidden=3D"true"> 6-6H0z"/> > + Assets > + 4 > +
> +
> +
> +
> + > + > + > + > + > + > +
> +
> +
> + > + > +
> +
> + > +
> + > + > + > +
> + =20 > +
label-prerelease"> > + > + > +
release-main-section commit open float-left"> > +
> +
> +
> + v2.3rc1 > +
> + > + Label Label--outline Label--prerelease"> > + Pre-release > + > + > +
> + > + =20 > +

> + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" href=3D"/michaelrsweet"> class=3D"avatar" > src=3D"https://avatars3.githubusercontent.com/u/488103?s=3D40&v=3D4" > width=3D"20" height=3D"20" alt=3D"@michaelrsweet" /> > + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" > href=3D"/michaelrsweet">michaelrsweet > + released this > + class=3D"no-wrap">May 21, 2019 > + · > + > + 122 commits > + to master > + since this release > +

> +
> + > + =20 > + > +
> +

CUPS 2.3rc1 is now available for download. This is the first > release candidate for CUPS 2.3.0 which adopts the new CUPS license, > adds support for IPP presets and finishing templates, and fixes a > number of bugs and "polish" issues. This beta also includes the new > ippeveprinter utility. Changes include:

+ > +

Enjoy!

> +
> + > + > +
+ class=3D"details-reset Details-element border-top pt-3 mt-4 mb-2 > mb-md-4" > + =20 > + =20 > + > > + > +
> + class=3D"octicon octicon-triangle-right" viewBox=3D"0 0 6 16" > version=3D"1.1" width=3D"6" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M0 14l6-6-6-6v12z"/> > + octicon-triangle-down" viewBox=3D"0 0 12 16" version=3D"1.1" width=3D"12" > height=3D"16" aria-hidden=3D"true"> 6-6H0z"/> > + Assets > + 4 > +
> +
> +
> +
> + > + > + > + > + > + > +
> +
> +
> + > + > +
> +
> + > +
> + > + > + > +
> + =20 > +
label-prerelease"> > + > + > +
release-main-section commit open float-left"> > +
> +
> +
> + v2.3b8 > +
> + > + Label Label--outline Label--prerelease"> > + Pre-release > + > + > +
> + > + =20 > +

> + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" href=3D"/michaelrsweet"> class=3D"avatar" > src=3D"https://avatars3.githubusercontent.com/u/488103?s=3D40&v=3D4" > width=3D"20" height=3D"20" alt=3D"@michaelrsweet" /> > + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" > href=3D"/michaelrsweet">michaelrsweet > + released this > + class=3D"no-wrap">May 2, 2019 > + · > + > + 165 commits > + to master > + since this release > +

> +
> + > + =20 > + > +
> +

CUPS 2.3b8 is now available for download. This is the eighth > beta of the CUPS 2.3 series which adopts the new CUPS license, adds > support for IPP presets and finishing templates, and fixes a number > of bugs and "polish" issues. This beta also includes the new > ippeveprinter utility. Changes include:

+ +

Enjoy!

> +
> + > + > +
+ class=3D"details-reset Details-element border-top pt-3 mt-4 mb-2 > mb-md-4" > + =20 > + =20 > + > > + > +
> + class=3D"octicon octicon-triangle-right" viewBox=3D"0 0 6 16" > version=3D"1.1" width=3D"6" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M0 14l6-6-6-6v12z"/> > + octicon-triangle-down" viewBox=3D"0 0 12 16" version=3D"1.1" width=3D"12" > height=3D"16" aria-hidden=3D"true"> 6-6H0z"/> > + Assets > + 4 > +
> +
> +
> +
> + > + > + > + > + > + > +
> +
> +
> + > + > +
> +
> + > +
> + > + > + > +
> + =20 > +
> + > + > +
release-main-section commit open float-left"> > +
> +
> +
> + v2.2.11 > +
> + > + > +
> + > + =20 > +

> + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" href=3D"/michaelrsweet"> class=3D"avatar" > src=3D"https://avatars3.githubusercontent.com/u/488103?s=3D40&v=3D4" > width=3D"20" height=3D"20" alt=3D"@michaelrsweet" /> > + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" > href=3D"/michaelrsweet">michaelrsweet > + released this > + class=3D"no-wrap">Mar 22, 2019 > + · > + > + 793 commits > + to master > + since this release > +

> +
> + > + =20 > + > +
> +

CUPS 2.2.11 is a bug fix release that addresses issues in the > scheduler,
+IPP Everywhere support, CUPS library, and USB printer > support. Changes include:

+ > +

Enjoy!

> +
> + > + > +
+ class=3D"details-reset Details-element border-top pt-3 mt-4 mb-2 > mb-md-4" > + =20 > + =20 > + > > + > +
> + class=3D"octicon octicon-triangle-right" viewBox=3D"0 0 6 16" > version=3D"1.1" width=3D"6" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M0 14l6-6-6-6v12z"/> > + octicon-triangle-down" viewBox=3D"0 0 12 16" version=3D"1.1" width=3D"12" > height=3D"16" aria-hidden=3D"true"> 6-6H0z"/> > + Assets > + 4 > +
> +
> +
> +
> + > + > + > + > + > + > +
> +
> +
> + > + > +
> +
> + > +
> + > + > + > +
> + =20 > +
label-prerelease"> > + > + > +
release-main-section commit open float-left"> > +
> +
> +
> + v2.3b7 > +
> + > + Label Label--outline Label--prerelease"> > + Pre-release > + > + > +
> + > + =20 > +

> + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" href=3D"/michaelrsweet"> class=3D"avatar" > src=3D"https://avatars3.githubusercontent.com/u/488103?s=3D40&v=3D4" > width=3D"20" height=3D"20" alt=3D"@michaelrsweet" /> > + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" > href=3D"/michaelrsweet">michaelrsweet > + released this > + class=3D"no-wrap">Dec 14, 2018 > + · > + > + 350 commits > + to master > + since this release > +

> +
> + > + =20 > + > + > + > + > +
+ class=3D"details-reset Details-element border-top pt-3 mt-4 mb-2 > mb-md-4" > + =20 > + =20 > + > > + > +
> + class=3D"octicon octicon-triangle-right" viewBox=3D"0 0 6 16" > version=3D"1.1" width=3D"6" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M0 14l6-6-6-6v12z"/> > + octicon-triangle-down" viewBox=3D"0 0 12 16" version=3D"1.1" width=3D"12" > height=3D"16" aria-hidden=3D"true"> 6-6H0z"/> > + Assets > + 4 > +
> +
> +
> +
> + > + > + > + > + > + > +
> +
> +
> + > + > +
> +
> + > +
> + > + > + > +
> + =20 > +
label-prerelease"> > + > + > +
release-main-section commit open float-left"> > +
> +
> +
> + v2.3b6 > +
> + > + Label Label--outline Label--prerelease"> > + Pre-release > + > + > +
> + > + =20 > +

> + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" href=3D"/michaelrsweet"> class=3D"avatar" > src=3D"https://avatars3.githubusercontent.com/u/488103?s=3D40&v=3D4" > width=3D"20" height=3D"20" alt=3D"@michaelrsweet" /> > + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" > href=3D"/michaelrsweet">michaelrsweet > + released this > + class=3D"no-wrap">Dec 7, 2018 > + · > + > + 358 commits > + to master > + since this release > +

> +
> + > + =20 > + > +
> +

CUPS 2.3b6 is now available for download. This is the sixth > beta of the CUPS 2.3 series which adopts the new CUPS license, adds > support for IPP presets and finishing templates, and fixes a number > of bugs and =E2=80=9Cpolish=E2=80=9D issues. Changes include:

+ +

Enjoy!

> +
> + > + > +
+ class=3D"details-reset Details-element border-top pt-3 mt-4 mb-2 > mb-md-4" > + =20 > + =20 > + > > + > +
> + class=3D"octicon octicon-triangle-right" viewBox=3D"0 0 6 16" > version=3D"1.1" width=3D"6" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M0 14l6-6-6-6v12z"/> > + octicon-triangle-down" viewBox=3D"0 0 12 16" version=3D"1.1" width=3D"12" > height=3D"16" aria-hidden=3D"true"> 6-6H0z"/> > + Assets > + 4 > +
> +
> +
> +
> + > + > + > + > + > + > +
> +
> +
> + > + > +
> +
> + > +
> + > + > + > +
> + =20 > +
> + > + > +
release-main-section commit open float-left"> > +
> +
> +
> + v2.2.10 > +
> + > + > +
> + > + =20 > +

> + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" href=3D"/michaelrsweet"> class=3D"avatar" > src=3D"https://avatars3.githubusercontent.com/u/488103?s=3D40&v=3D4" > width=3D"20" height=3D"20" alt=3D"@michaelrsweet" /> > + data-hovercard-url=3D"/users/michaelrsweet/hovercard" > data-octo-click=3D"hovercard-link-click" > data-octo-dimensions=3D"link_type:self" > href=3D"/michaelrsweet">michaelrsweet > + released this > + class=3D"no-wrap">Dec 7, 2018 > + · > + > + 793 commits > + to master > + since this release > +

> +
> + > + =20 > + > +
> +

CUPS 2.2.10 is a bug fix release that addresses issues in the > scheduler, IPP Everywhere support, CUPS library, and USB printer > support. Changes include:

+ +

Enjoy!

> +
> + > + > +
+ class=3D"details-reset Details-element border-top pt-3 mt-4 mb-2 > mb-md-4" > + =20 > + =20 > + > > + > +
> + class=3D"octicon octicon-triangle-right" viewBox=3D"0 0 6 16" > version=3D"1.1" width=3D"6" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M0 14l6-6-6-6v12z"/> > + octicon-triangle-down" viewBox=3D"0 0 12 16" version=3D"1.1" width=3D"12" > height=3D"16" aria-hidden=3D"true"> 6-6H0z"/> > + Assets > + 4 > +
> +
> +
> +
> + > + > + > + > + > + > +
> +
> +
> + > + > +
> +
> + > +
> + > +
> + > + > +
> + > +
> +
> + =20 > + > +
> + > + =20 > +
role=3D"contentinfo"> > +
flex-wrap flex-lg-nowrap flex-justify-center flex-lg-justify-between > pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light "> > + > + > + d-none d-lg-block mx-lg-4" href=3D"https://github.com"> > + viewBox=3D"0 0 16 16" version=3D"1.1" width=3D"24" aria-hidden=3D"true"><= path > fill-rule=3D"evenodd" d=3D"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 > 7.59.4.07.55-.17.55-.38 > 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13= -.28-.15-.68-.52-.01-.53.63-.01 > 1.08.58 1.23.82.72 1.21 1.87.87 > 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 > 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 > 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 > 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 > 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 > .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/> + > + > +
> +
> + > +
> +
> + > + > + > +
flash-error"> > + version=3D"1.1" width=3D"16" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M8.893 > 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 000 > 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 > 0 00.01-1.002L8.893 1.5zm.133 > 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/> > + > + You can=E2=80=99t perform that action at this time. > +
> + > + > + > + > + =20 > + =20 > + =20 > +
hidden > + > > + version=3D"1.1" width=3D"16" height=3D"16" aria-hidden=3D"true"> fill-rule=3D"evenodd" d=3D"M8.893 > 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 000 > 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 > 0 00.01-1.002L8.893 1.5zm.133 > 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/> > + > + > +
> + > + > +
style=3D"display: none; outline: none;" tabindex=3D"0"> > +
Popover-message--large Box box-shadow-large" style=3D"width:360px;"> > +
> +
> + > +
sr-only">
+ > + > + > + > diff --git > a/bitbake/lib/bb/tests/fetch-testdata/debian/pool/main/d/db5.3/index.html > b/bitbake/lib/bb/tests/fetch-testdata/debian/pool/main/d/db5.3/index.html > new file mode 100644 index 0000000..a5a6f48 --- /dev/null > +++ > b/bitbake/lib/bb/tests/fetch-testdata/debian/pool/main/d/db5.3/index.html > @@ -0,0 +1,509 @@ + Final//EN"> + > + > + Index of /debian/pool/main/d/db5.3 > + > + > +

Index of /debian/pool/main/d/db5.3

> + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > +
alt=3D"[ICO]">Name href=3D"?C=3DM;O=3DA">Last modified href=3D"?C=3DS;O=3DA">Size

alt=3D"[PARENTDIR]">Parent > Directory  -
3D"[ ]"> href=3D"db5.3-doc_5.3.28+dfsg1-0.5_all.deb">db5.3-doc_5.3.28+dfsg1-0.5_al= l.deb align=3D"right">2019-02-26 10:57 15M
3D"[ ]"> href=3D"db5.3-doc_5.3.28+dfsg1-0.6_all.deb">db5.3-doc_5.3.28+dfsg1-0.6_al= l.deb align=3D"right">2019-03-12 05:28 15M
3D"[ ]"> href=3D"db5.3-doc_5.3.28-9+deb8u1_all.deb">db5.3-doc_5.3.28-9+deb8u1_all.= deb align=3D"right">2017-11-18 20:15 18M
3D"[ ]"> href=3D"db5.3-doc_5.3.28-12+deb9u1_all.deb">db5.3-doc_5.3.28-12+deb9u1_al= l.deb align=3D"right">2017-09-28 09:42 18M
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.5_amd64.deb">db5.3-sql-util_5.3.28+= dfsg1-0.5_amd64.deb align=3D"right">2019-02-26 10:11 21K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.5_arm64.deb">db5.3-sql-util_5.3.28+= dfsg1-0.5_arm64.deb align=3D"right">2019-02-26 09:56 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.5_armel.deb">db5.3-sql-util_5.3.28+= dfsg1-0.5_armel.deb align=3D"right">2019-02-26 10:57 20K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.5_armhf.deb">db5.3-sql-util_5.3.28+= dfsg1-0.5_armhf.deb align=3D"right">2019-02-26 10:57 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.5_i386.deb">db5.3-sql-util_5.3.28+d= fsg1-0.5_i386.deb align=3D"right">2019-02-26 09:46 22K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.5_mips.deb">db5.3-sql-util_5.3.28+d= fsg1-0.5_mips.deb align=3D"right">2019-02-26 10:57 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.5_mips64el.deb">db5.3-sql-util_5.3.= 28+dfsg1-0.5_mips64el.deb align=3D"right">2019-02-26 12:42 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.5_mipsel.deb">db5.3-sql-util_5.3.28= +dfsg1-0.5_mipsel.deb align=3D"right">2019-02-26 12:42 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.5_ppc64el.deb">db5.3-sql-util_5.3.2= 8+dfsg1-0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 23K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.5_s390x.deb">db5.3-sql-util_5.3.28+= dfsg1-0.5_s390x.deb align=3D"right">2019-02-26 09:56 20K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.6_amd64.deb">db5.3-sql-util_5.3.28+= dfsg1-0.6_amd64.deb align=3D"right">2019-03-12 05:28 21K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.6_arm64.deb">db5.3-sql-util_5.3.28+= dfsg1-0.6_arm64.deb align=3D"right">2019-03-12 05:28 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.6_armel.deb">db5.3-sql-util_5.3.28+= dfsg1-0.6_armel.deb align=3D"right">2019-03-12 06:29 20K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.6_armhf.deb">db5.3-sql-util_5.3.28+= dfsg1-0.6_armhf.deb align=3D"right">2019-03-12 06:14 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.6_i386.deb">db5.3-sql-util_5.3.28+d= fsg1-0.6_i386.deb align=3D"right">2019-03-12 05:43 22K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.6_mips64el.deb">db5.3-sql-util_5.3.= 28+dfsg1-0.6_mips64el.deb align=3D"right">2019-03-12 06:29 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.6_mipsel.deb">db5.3-sql-util_5.3.28= +dfsg1-0.6_mipsel.deb align=3D"right">2019-03-12 07:30 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.6_ppc64el.deb">db5.3-sql-util_5.3.2= 8+dfsg1-0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 23K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28+dfsg1-0.6_s390x.deb">db5.3-sql-util_5.3.28+= dfsg1-0.6_s390x.deb align=3D"right">2019-03-12 05:13 20K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-9+deb8u1_amd64.deb">db5.3-sql-util_5.3.28-9= +deb8u1_amd64.deb align=3D"right">2017-11-20 03:40 21K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-9+deb8u1_armel.deb">db5.3-sql-util_5.3.28-9= +deb8u1_armel.deb align=3D"right">2017-11-20 04:26 20K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-9+deb8u1_armhf.deb">db5.3-sql-util_5.3.28-9= +deb8u1_armhf.deb align=3D"right">2017-12-02 16:26 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-9+deb8u1_i386.deb">db5.3-sql-util_5.3.28-9+= deb8u1_i386.deb align=3D"right">2017-11-20 03:25 22K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-12+deb9u1_amd64.deb">db5.3-sql-util_5.3.28-= 12+deb9u1_amd64.deb align=3D"right">2017-09-28 09:42 20K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-12+deb9u1_arm64.deb">db5.3-sql-util_5.3.28-= 12+deb9u1_arm64.deb align=3D"right">2017-09-28 09:42 18K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-12+deb9u1_armel.deb">db5.3-sql-util_5.3.28-= 12+deb9u1_armel.deb align=3D"right">2017-09-28 10:28 20K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-12+deb9u1_armhf.deb">db5.3-sql-util_5.3.28-= 12+deb9u1_armhf.deb align=3D"right">2017-09-28 10:28 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-12+deb9u1_i386.deb">db5.3-sql-util_5.3.28-1= 2+deb9u1_i386.deb align=3D"right">2017-09-28 09:27 22K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-12+deb9u1_mips.deb">db5.3-sql-util_5.3.28-1= 2+deb9u1_mips.deb align=3D"right">2017-09-29 16:10 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-12+deb9u1_mips64el.deb">db5.3-sql-util_5.3.= 28-12+deb9u1_mips64el.deb align=3D"right">2017-09-28 11:29 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-12+deb9u1_mipsel.deb">db5.3-sql-util_5.3.28= -12+deb9u1_mipsel.deb align=3D"right">2017-09-28 11:14 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-12+deb9u1_ppc64el.deb">db5.3-sql-util_5.3.2= 8-12+deb9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 19K
3D"[ ]"> href=3D"db5.3-sql-util_5.3.28-12+deb9u1_s390x.deb">db5.3-sql-util_5.3.28-= 12+deb9u1_s390x.deb align=3D"right">2017-09-28 09:42 20K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.5_amd64.deb">db5.3-util_5.3.28+dfsg1-0.= 5_amd64.deb align=3D"right">2019-02-26 10:11 63K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.5_arm64.deb">db5.3-util_5.3.28+dfsg1-0.= 5_arm64.deb align=3D"right">2019-02-26 09:56 63K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.5_armel.deb">db5.3-util_5.3.28+dfsg1-0.= 5_armel.deb align=3D"right">2019-02-26 10:57 58K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.5_armhf.deb">db5.3-util_5.3.28+dfsg1-0.= 5_armhf.deb align=3D"right">2019-02-26 10:57 59K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.5_i386.deb">db5.3-util_5.3.28+dfsg1-0.5= _i386.deb align=3D"right">2019-02-26 09:46 65K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.5_mips.deb">db5.3-util_5.3.28+dfsg1-0.5= _mips.deb align=3D"right">2019-02-26 10:57 62K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.5_mips64el.deb">db5.3-util_5.3.28+dfsg1= -0.5_mips64el.deb align=3D"right">2019-02-26 12:42 64K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.5_mipsel.deb">db5.3-util_5.3.28+dfsg1-0= .5_mipsel.deb align=3D"right">2019-02-26 12:42 63K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.5_ppc64el.deb">db5.3-util_5.3.28+dfsg1-= 0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 69K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.5_s390x.deb">db5.3-util_5.3.28+dfsg1-0.= 5_s390x.deb align=3D"right">2019-02-26 09:56 64K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.6_amd64.deb">db5.3-util_5.3.28+dfsg1-0.= 6_amd64.deb align=3D"right">2019-03-12 05:28 63K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.6_arm64.deb">db5.3-util_5.3.28+dfsg1-0.= 6_arm64.deb align=3D"right">2019-03-12 05:28 63K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.6_armel.deb">db5.3-util_5.3.28+dfsg1-0.= 6_armel.deb align=3D"right">2019-03-12 06:29 58K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.6_armhf.deb">db5.3-util_5.3.28+dfsg1-0.= 6_armhf.deb align=3D"right">2019-03-12 06:14 59K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.6_i386.deb">db5.3-util_5.3.28+dfsg1-0.6= _i386.deb align=3D"right">2019-03-12 05:43 65K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.6_mips64el.deb">db5.3-util_5.3.28+dfsg1= -0.6_mips64el.deb align=3D"right">2019-03-12 06:29 64K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.6_mipsel.deb">db5.3-util_5.3.28+dfsg1-0= .6_mipsel.deb align=3D"right">2019-03-12 07:30 63K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.6_ppc64el.deb">db5.3-util_5.3.28+dfsg1-= 0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 69K
3D"[ ]"> href=3D"db5.3-util_5.3.28+dfsg1-0.6_s390x.deb">db5.3-util_5.3.28+dfsg1-0.= 6_s390x.deb align=3D"right">2019-03-12 05:13 64K
3D"[ ]"> href=3D"db5.3-util_5.3.28-9+deb8u1_amd64.deb">db5.3-util_5.3.28-9+deb8u1_= amd64.deb align=3D"right">2017-11-20 03:40 63K
3D"[ ]"> href=3D"db5.3-util_5.3.28-9+deb8u1_armel.deb">db5.3-util_5.3.28-9+deb8u1_= armel.deb align=3D"right">2017-11-20 04:26 60K
3D"[ ]"> href=3D"db5.3-util_5.3.28-9+deb8u1_armhf.deb">db5.3-util_5.3.28-9+deb8u1_= armhf.deb align=3D"right">2017-12-02 16:26 61K
3D"[ ]"> href=3D"db5.3-util_5.3.28-9+deb8u1_i386.deb">db5.3-util_5.3.28-9+deb8u1_i= 386.deb align=3D"right">2017-11-20 03:25 65K
3D"[ ]"> href=3D"db5.3-util_5.3.28-12+deb9u1_amd64.deb">db5.3-util_5.3.28-12+deb9u= 1_amd64.deb align=3D"right">2017-09-28 09:42 63K
3D"[ ]"> href=3D"db5.3-util_5.3.28-12+deb9u1_arm64.deb">db5.3-util_5.3.28-12+deb9u= 1_arm64.deb align=3D"right">2017-09-28 09:42 60K
3D"[ ]"> href=3D"db5.3-util_5.3.28-12+deb9u1_armel.deb">db5.3-util_5.3.28-12+deb9u= 1_armel.deb align=3D"right">2017-09-28 10:28 60K
3D"[ ]"> href=3D"db5.3-util_5.3.28-12+deb9u1_armhf.deb">db5.3-util_5.3.28-12+deb9u= 1_armhf.deb align=3D"right">2017-09-28 10:28 61K
3D"[ ]"> href=3D"db5.3-util_5.3.28-12+deb9u1_i386.deb">db5.3-util_5.3.28-12+deb9u1= _i386.deb align=3D"right">2017-09-28 09:27 66K
3D"[ ]"> href=3D"db5.3-util_5.3.28-12+deb9u1_mips.deb">db5.3-util_5.3.28-12+deb9u1= _mips.deb align=3D"right">2017-09-29 16:10 62K
3D"[ ]"> href=3D"db5.3-util_5.3.28-12+deb9u1_mips64el.deb">db5.3-util_5.3.28-12+de= b9u1_mips64el.deb align=3D"right">2017-09-28 11:29 64K
3D"[ ]"> href=3D"db5.3-util_5.3.28-12+deb9u1_mipsel.deb">db5.3-util_5.3.28-12+deb9= u1_mipsel.deb align=3D"right">2017-09-28 11:14 63K
3D"[ ]"> href=3D"db5.3-util_5.3.28-12+deb9u1_ppc64el.deb">db5.3-util_5.3.28-12+deb= 9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 60K
3D"[ ]"> href=3D"db5.3-util_5.3.28-12+deb9u1_s390x.deb">db5.3-util_5.3.28-12+deb9u= 1_s390x.deb align=3D"right">2017-09-28 09:42 64K
3D"[ ]"> href=3D"db5.3_5.3.28+dfsg1-0.5.debian.tar.xz">db5.3_5.3.28+dfsg1-0.5.debi= an.tar.xz align=3D"right">2019-02-26 08:51 28K
3D"[ ]"> href=3D"db5.3_5.3.28+dfsg1-0.5.dsc">db5.3_5.3.28+dfsg1-0.5.dsc align=3D"right">2019-02-26 08:51 2.7K
3D"[ ]"> href=3D"db5.3_5.3.28+dfsg1-0.6.debian.tar.xz">db5.3_5.3.28+dfsg1-0.6.debi= an.tar.xz align=3D"right">2019-03-12 04:27 29K
3D"[ ]"> href=3D"db5.3_5.3.28+dfsg1-0.6.dsc">db5.3_5.3.28+dfsg1-0.6.dsc align=3D"right">2019-03-12 04:27 3.1K
3D"[ ]"> href=3D"db5.3_5.3.28+dfsg1.orig.tar.xz">db5.3_5.3.28+dfsg1.orig.tar.xz align=3D"right">2018-08-09 01:52 19M
3D"[ ]"> href=3D"db5.3_5.3.28-9+deb8u1.debian.tar.xz">db5.3_5.3.28-9+deb8u1.debian= .tar.xz align=3D"right">2017-11-18 20:15 28K
3D"[ ]"> href=3D"db5.3_5.3.28-9+deb8u1.dsc">db5.3_5.3.28-9+deb8u1.dsc align=3D"right">2017-11-18 20:15 3.2K
3D"[ ]"> href=3D"db5.3_5.3.28-12+deb9u1.debian.tar.xz">db5.3_5.3.28-12+deb9u1.debi= an.tar.xz align=3D"right">2017-09-24 16:26 28K
3D"[ ]"> href=3D"db5.3_5.3.28-12+deb9u1.dsc">db5.3_5.3.28-12+deb9u1.dsc align=3D"right">2017-09-24 16:26 3.2K
3D"[ ]"> href=3D"db5.3_5.3.28.orig.tar.xz">db5.3_5.3.28.orig.tar.xz align=3D"right">2013-10-27 14:01 23M
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3++-dev_5.3.28+= dfsg1-0.5_amd64.deb align=3D"right">2019-02-26 10:11 760K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3++-dev_5.3.28+= dfsg1-0.5_arm64.deb align=3D"right">2019-02-26 09:56 722K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.5_armel.deb">libdb5.3++-dev_5.3.28+= dfsg1-0.5_armel.deb align=3D"right">2019-02-26 10:57 668K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3++-dev_5.3.28+= dfsg1-0.5_armhf.deb align=3D"right">2019-02-26 10:57 692K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.5_i386.deb">libdb5.3++-dev_5.3.28+d= fsg1-0.5_i386.deb align=3D"right">2019-02-26 09:46 842K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.5_mips.deb">libdb5.3++-dev_5.3.28+d= fsg1-0.5_mips.deb align=3D"right">2019-02-26 10:57 773K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3++-dev_5.3.= 28+dfsg1-0.5_mips64el.deb align=3D"right">2019-02-26 12:42 801K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3++-dev_5.3.28= +dfsg1-0.5_mipsel.deb align=3D"right">2019-02-26 12:42 789K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3++-dev_5.3.2= 8+dfsg1-0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 816K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3++-dev_5.3.28+= dfsg1-0.5_s390x.deb align=3D"right">2019-02-26 09:56 693K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3++-dev_5.3.28+= dfsg1-0.6_amd64.deb align=3D"right">2019-03-12 05:28 759K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3++-dev_5.3.28+= dfsg1-0.6_arm64.deb align=3D"right">2019-03-12 05:28 722K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.6_armel.deb">libdb5.3++-dev_5.3.28+= dfsg1-0.6_armel.deb align=3D"right">2019-03-12 06:29 668K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3++-dev_5.3.28+= dfsg1-0.6_armhf.deb align=3D"right">2019-03-12 06:14 692K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.6_i386.deb">libdb5.3++-dev_5.3.28+d= fsg1-0.6_i386.deb align=3D"right">2019-03-12 05:43 842K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3++-dev_5.3.= 28+dfsg1-0.6_mips64el.deb align=3D"right">2019-03-12 06:29 801K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3++-dev_5.3.28= +dfsg1-0.6_mipsel.deb align=3D"right">2019-03-12 07:30 789K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3++-dev_5.3.2= 8+dfsg1-0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 816K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3++-dev_5.3.28+= dfsg1-0.6_s390x.deb align=3D"right">2019-03-12 05:13 693K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-9+deb8u1_amd64.deb">libdb5.3++-dev_5.3.28-9= +deb8u1_amd64.deb align=3D"right">2017-11-20 03:40 740K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-9+deb8u1_armel.deb">libdb5.3++-dev_5.3.28-9= +deb8u1_armel.deb align=3D"right">2017-11-20 04:26 643K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-9+deb8u1_armhf.deb">libdb5.3++-dev_5.3.28-9= +deb8u1_armhf.deb align=3D"right">2017-12-02 16:26 672K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-9+deb8u1_i386.deb">libdb5.3++-dev_5.3.28-9+= deb8u1_i386.deb align=3D"right">2017-11-20 03:25 780K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-12+deb9u1_amd64.deb">libdb5.3++-dev_5.3.28-= 12+deb9u1_amd64.deb align=3D"right">2017-09-28 09:42 757K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-12+deb9u1_arm64.deb">libdb5.3++-dev_5.3.28-= 12+deb9u1_arm64.deb align=3D"right">2017-09-28 09:42 663K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-12+deb9u1_armel.deb">libdb5.3++-dev_5.3.28-= 12+deb9u1_armel.deb align=3D"right">2017-09-28 10:28 676K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-12+deb9u1_armhf.deb">libdb5.3++-dev_5.3.28-= 12+deb9u1_armhf.deb align=3D"right">2017-09-28 10:28 690K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-12+deb9u1_i386.deb">libdb5.3++-dev_5.3.28-1= 2+deb9u1_i386.deb align=3D"right">2017-09-28 09:27 836K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-12+deb9u1_mips.deb">libdb5.3++-dev_5.3.28-1= 2+deb9u1_mips.deb align=3D"right">2017-09-29 16:10 768K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-12+deb9u1_mips64el.deb">libdb5.3++-dev_5.3.= 28-12+deb9u1_mips64el.deb align=3D"right">2017-09-28 11:29 795K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-12+deb9u1_mipsel.deb">libdb5.3++-dev_5.3.28= -12+deb9u1_mipsel.deb align=3D"right">2017-09-28 11:14 786K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3++-dev_5.3.2= 8-12+deb9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 701K
3D"[ ]"> href=3D"libdb5.3++-dev_5.3.28-12+deb9u1_s390x.deb">libdb5.3++-dev_5.3.28-= 12+deb9u1_s390x.deb align=3D"right">2017-09-28 09:42 714K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3++_5.3.28+dfsg1-0.= 5_amd64.deb align=3D"right">2019-02-26 10:11 690K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3++_5.3.28+dfsg1-0.= 5_arm64.deb align=3D"right">2019-02-26 09:56 628K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.5_armel.deb">libdb5.3++_5.3.28+dfsg1-0.= 5_armel.deb align=3D"right">2019-02-26 10:57 576K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3++_5.3.28+dfsg1-0.= 5_armhf.deb align=3D"right">2019-02-26 10:57 600K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.5_i386.deb">libdb5.3++_5.3.28+dfsg1-0.5= _i386.deb align=3D"right">2019-02-26 09:46 755K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.5_mips.deb">libdb5.3++_5.3.28+dfsg1-0.5= _mips.deb align=3D"right">2019-02-26 10:57 595K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3++_5.3.28+dfsg1= -0.5_mips64el.deb align=3D"right">2019-02-26 12:42 604K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3++_5.3.28+dfsg1-0= .5_mipsel.deb align=3D"right">2019-02-26 12:42 604K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3++_5.3.28+dfsg1-= 0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 723K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3++_5.3.28+dfsg1-0.= 5_s390x.deb align=3D"right">2019-02-26 09:56 619K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3++_5.3.28+dfsg1-0.= 6_amd64.deb align=3D"right">2019-03-12 05:28 690K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3++_5.3.28+dfsg1-0.= 6_arm64.deb align=3D"right">2019-03-12 05:28 629K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.6_armel.deb">libdb5.3++_5.3.28+dfsg1-0.= 6_armel.deb align=3D"right">2019-03-12 06:29 574K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3++_5.3.28+dfsg1-0.= 6_armhf.deb align=3D"right">2019-03-12 06:14 600K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.6_i386.deb">libdb5.3++_5.3.28+dfsg1-0.6= _i386.deb align=3D"right">2019-03-12 05:43 755K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3++_5.3.28+dfsg1= -0.6_mips64el.deb align=3D"right">2019-03-12 06:29 604K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3++_5.3.28+dfsg1-0= .6_mipsel.deb align=3D"right">2019-03-12 07:30 604K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3++_5.3.28+dfsg1-= 0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 724K
3D"[ ]"> href=3D"libdb5.3++_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3++_5.3.28+dfsg1-0.= 6_s390x.deb align=3D"right">2019-03-12 05:13 620K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-9+deb8u1_amd64.deb">libdb5.3++_5.3.28-9+deb8u1_= amd64.deb align=3D"right">2017-11-20 03:40 691K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-9+deb8u1_armel.deb">libdb5.3++_5.3.28-9+deb8u1_= armel.deb align=3D"right">2017-11-20 04:26 580K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-9+deb8u1_armhf.deb">libdb5.3++_5.3.28-9+deb8u1_= armhf.deb align=3D"right">2017-12-02 16:26 606K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-9+deb8u1_i386.deb">libdb5.3++_5.3.28-9+deb8u1_i= 386.deb align=3D"right">2017-11-20 03:25 749K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-12+deb9u1_amd64.deb">libdb5.3++_5.3.28-12+deb9u= 1_amd64.deb align=3D"right">2017-09-28 09:42 687K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-12+deb9u1_arm64.deb">libdb5.3++_5.3.28-12+deb9u= 1_arm64.deb align=3D"right">2017-09-28 09:42 574K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-12+deb9u1_armel.deb">libdb5.3++_5.3.28-12+deb9u= 1_armel.deb align=3D"right">2017-09-28 10:28 575K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-12+deb9u1_armhf.deb">libdb5.3++_5.3.28-12+deb9u= 1_armhf.deb align=3D"right">2017-09-28 10:28 600K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-12+deb9u1_i386.deb">libdb5.3++_5.3.28-12+deb9u1= _i386.deb align=3D"right">2017-09-28 09:27 751K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-12+deb9u1_mips.deb">libdb5.3++_5.3.28-12+deb9u1= _mips.deb align=3D"right">2017-09-29 16:10 593K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-12+deb9u1_mips64el.deb">libdb5.3++_5.3.28-12+de= b9u1_mips64el.deb align=3D"right">2017-09-28 11:29 601K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-12+deb9u1_mipsel.deb">libdb5.3++_5.3.28-12+deb9= u1_mipsel.deb align=3D"right">2017-09-28 11:14 602K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3++_5.3.28-12+deb= 9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 618K
3D"[ ]"> href=3D"libdb5.3++_5.3.28-12+deb9u1_s390x.deb">libdb5.3++_5.3.28-12+deb9u= 1_s390x.deb align=3D"right">2017-09-28 09:42 637K
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-dbg_5.3.28+dfsg= 1-0.5_amd64.deb align=3D"right">2019-02-26 10:11 43M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-dbg_5.3.28+dfsg= 1-0.5_arm64.deb align=3D"right">2019-02-26 09:56 42M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-dbg_5.3.28+dfsg= 1-0.5_armel.deb align=3D"right">2019-02-26 10:57 42M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-dbg_5.3.28+dfsg= 1-0.5_armhf.deb align=3D"right">2019-02-26 10:57 42M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-dbg_5.3.28+dfsg1= -0.5_i386.deb align=3D"right">2019-02-26 09:46 41M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-dbg_5.3.28+dfsg1= -0.5_mips.deb align=3D"right">2019-02-26 10:57 43M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-dbg_5.3.28+d= fsg1-0.5_mips64el.deb align=3D"right">2019-02-26 12:42 43M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-dbg_5.3.28+dfs= g1-0.5_mipsel.deb align=3D"right">2019-02-26 12:42 42M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-dbg_5.3.28+df= sg1-0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 42M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-dbg_5.3.28+dfsg= 1-0.5_s390x.deb align=3D"right">2019-02-26 09:56 44M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-dbg_5.3.28+dfsg= 1-0.6_amd64.deb align=3D"right">2019-03-12 05:28 43M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-dbg_5.3.28+dfsg= 1-0.6_arm64.deb align=3D"right">2019-03-12 05:28 42M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-dbg_5.3.28+dfsg= 1-0.6_armel.deb align=3D"right">2019-03-12 06:29 42M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-dbg_5.3.28+dfsg= 1-0.6_armhf.deb align=3D"right">2019-03-12 06:14 42M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-dbg_5.3.28+dfsg1= -0.6_i386.deb align=3D"right">2019-03-12 05:43 41M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-dbg_5.3.28+d= fsg1-0.6_mips64el.deb align=3D"right">2019-03-12 06:29 43M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-dbg_5.3.28+dfs= g1-0.6_mipsel.deb align=3D"right">2019-03-12 07:30 42M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-dbg_5.3.28+df= sg1-0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 42M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-dbg_5.3.28+dfsg= 1-0.6_s390x.deb align=3D"right">2019-03-12 05:13 44M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-9+deb8u1_amd64.deb">libdb5.3-dbg_5.3.28-9+deb= 8u1_amd64.deb align=3D"right">2017-11-20 03:40 34M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-9+deb8u1_armel.deb">libdb5.3-dbg_5.3.28-9+deb= 8u1_armel.deb align=3D"right">2017-11-20 04:26 35M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-9+deb8u1_armhf.deb">libdb5.3-dbg_5.3.28-9+deb= 8u1_armhf.deb align=3D"right">2017-12-02 16:26 35M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-9+deb8u1_i386.deb">libdb5.3-dbg_5.3.28-9+deb8= u1_i386.deb align=3D"right">2017-11-20 03:25 32M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-12+deb9u1_amd64.deb">libdb5.3-dbg_5.3.28-12+d= eb9u1_amd64.deb align=3D"right">2017-09-28 09:42 40M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-12+deb9u1_arm64.deb">libdb5.3-dbg_5.3.28-12+d= eb9u1_arm64.deb align=3D"right">2017-09-28 09:42 40M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-12+deb9u1_armel.deb">libdb5.3-dbg_5.3.28-12+d= eb9u1_armel.deb align=3D"right">2017-09-28 10:28 39M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-12+deb9u1_armhf.deb">libdb5.3-dbg_5.3.28-12+d= eb9u1_armhf.deb align=3D"right">2017-09-28 10:28 39M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-12+deb9u1_i386.deb">libdb5.3-dbg_5.3.28-12+de= b9u1_i386.deb align=3D"right">2017-09-28 09:27 38M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-12+deb9u1_mips.deb">libdb5.3-dbg_5.3.28-12+de= b9u1_mips.deb align=3D"right">2017-09-29 16:10 41M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-dbg_5.3.28-1= 2+deb9u1_mips64el.deb align=3D"right">2017-09-28 11:29 40M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-dbg_5.3.28-12+= deb9u1_mipsel.deb align=3D"right">2017-09-28 11:14 39M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-dbg_5.3.28-12= +deb9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 40M
3D"[ ]"> href=3D"libdb5.3-dbg_5.3.28-12+deb9u1_s390x.deb">libdb5.3-dbg_5.3.28-12+d= eb9u1_s390x.deb align=3D"right">2017-09-28 09:42 42M
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-dev_5.3.28+dfsg= 1-0.5_amd64.deb align=3D"right">2019-02-26 10:11 743K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-dev_5.3.28+dfsg= 1-0.5_arm64.deb align=3D"right">2019-02-26 09:56 707K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-dev_5.3.28+dfsg= 1-0.5_armel.deb align=3D"right">2019-02-26 10:57 654K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-dev_5.3.28+dfsg= 1-0.5_armhf.deb align=3D"right">2019-02-26 10:57 677K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-dev_5.3.28+dfsg1= -0.5_i386.deb align=3D"right">2019-02-26 09:46 822K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-dev_5.3.28+dfsg1= -0.5_mips.deb align=3D"right">2019-02-26 10:57 753K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-dev_5.3.28+d= fsg1-0.5_mips64el.deb align=3D"right">2019-02-26 12:42 780K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-dev_5.3.28+dfs= g1-0.5_mipsel.deb align=3D"right">2019-02-26 12:42 769K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-dev_5.3.28+df= sg1-0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 797K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-dev_5.3.28+dfsg= 1-0.5_s390x.deb align=3D"right">2019-02-26 09:56 679K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-dev_5.3.28+dfsg= 1-0.6_amd64.deb align=3D"right">2019-03-12 05:28 743K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-dev_5.3.28+dfsg= 1-0.6_arm64.deb align=3D"right">2019-03-12 05:28 707K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-dev_5.3.28+dfsg= 1-0.6_armel.deb align=3D"right">2019-03-12 06:29 654K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-dev_5.3.28+dfsg= 1-0.6_armhf.deb align=3D"right">2019-03-12 06:14 677K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-dev_5.3.28+dfsg1= -0.6_i386.deb align=3D"right">2019-03-12 05:43 822K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-dev_5.3.28+d= fsg1-0.6_mips64el.deb align=3D"right">2019-03-12 06:29 780K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-dev_5.3.28+dfs= g1-0.6_mipsel.deb align=3D"right">2019-03-12 07:30 769K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-dev_5.3.28+df= sg1-0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 797K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-dev_5.3.28+dfsg= 1-0.6_s390x.deb align=3D"right">2019-03-12 05:13 679K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-9+deb8u1_amd64.deb">libdb5.3-dev_5.3.28-9+deb= 8u1_amd64.deb align=3D"right">2017-11-20 03:40 725K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-9+deb8u1_armel.deb">libdb5.3-dev_5.3.28-9+deb= 8u1_armel.deb align=3D"right">2017-11-20 04:26 630K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-9+deb8u1_armhf.deb">libdb5.3-dev_5.3.28-9+deb= 8u1_armhf.deb align=3D"right">2017-12-02 16:26 659K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-9+deb8u1_i386.deb">libdb5.3-dev_5.3.28-9+deb8= u1_i386.deb align=3D"right">2017-11-20 03:25 766K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-12+deb9u1_amd64.deb">libdb5.3-dev_5.3.28-12+d= eb9u1_amd64.deb align=3D"right">2017-09-28 09:42 742K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-12+deb9u1_arm64.deb">libdb5.3-dev_5.3.28-12+d= eb9u1_arm64.deb align=3D"right">2017-09-28 09:42 648K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-12+deb9u1_armel.deb">libdb5.3-dev_5.3.28-12+d= eb9u1_armel.deb align=3D"right">2017-09-28 10:28 660K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-12+deb9u1_armhf.deb">libdb5.3-dev_5.3.28-12+d= eb9u1_armhf.deb align=3D"right">2017-09-28 10:28 676K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-12+deb9u1_i386.deb">libdb5.3-dev_5.3.28-12+de= b9u1_i386.deb align=3D"right">2017-09-28 09:27 817K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-12+deb9u1_mips.deb">libdb5.3-dev_5.3.28-12+de= b9u1_mips.deb align=3D"right">2017-09-29 16:10 748K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-dev_5.3.28-1= 2+deb9u1_mips64el.deb align=3D"right">2017-09-28 11:29 774K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-dev_5.3.28-12+= deb9u1_mipsel.deb align=3D"right">2017-09-28 11:14 765K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-dev_5.3.28-12= +deb9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 682K
3D"[ ]"> href=3D"libdb5.3-dev_5.3.28-12+deb9u1_s390x.deb">libdb5.3-dev_5.3.28-12+d= eb9u1_s390x.deb align=3D"right">2017-09-28 09:42 699K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-java-dev_5= .3.28+dfsg1-0.5_amd64.deb align=3D"right">2019-02-26 10:11 757K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-java-dev_5= .3.28+dfsg1-0.5_arm64.deb align=3D"right">2019-02-26 09:56 720K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-java-dev_5= .3.28+dfsg1-0.5_armel.deb align=3D"right">2019-02-26 10:57 662K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-java-dev_5= .3.28+dfsg1-0.5_armhf.deb align=3D"right">2019-02-26 10:57 688K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-java-dev_5.= 3.28+dfsg1-0.5_i386.deb align=3D"right">2019-02-26 09:46 840K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-java-dev_5.= 3.28+dfsg1-0.5_mips.deb align=3D"right">2019-02-26 10:57 768K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-java-de= v_5.3.28+dfsg1-0.5_mips64el.deb align=3D"right">2019-02-26 12:42 795K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-java-dev_= 5.3.28+dfsg1-0.5_mipsel.deb align=3D"right">2019-02-26 12:42 784K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-java-dev= _5.3.28+dfsg1-0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 814K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-java-dev_5= .3.28+dfsg1-0.5_s390x.deb align=3D"right">2019-02-26 09:56 688K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-java-dev_5= .3.28+dfsg1-0.6_amd64.deb align=3D"right">2019-03-12 05:28 756K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-java-dev_5= .3.28+dfsg1-0.6_arm64.deb align=3D"right">2019-03-12 05:28 721K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-java-dev_5= .3.28+dfsg1-0.6_armel.deb align=3D"right">2019-03-12 06:29 663K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-java-dev_5= .3.28+dfsg1-0.6_armhf.deb align=3D"right">2019-03-12 06:14 688K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-java-dev_5.= 3.28+dfsg1-0.6_i386.deb align=3D"right">2019-03-12 05:43 840K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-java-de= v_5.3.28+dfsg1-0.6_mips64el.deb align=3D"right">2019-03-12 06:29 796K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-java-dev_= 5.3.28+dfsg1-0.6_mipsel.deb align=3D"right">2019-03-12 07:30 785K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-java-dev= _5.3.28+dfsg1-0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 814K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-java-dev_5= .3.28+dfsg1-0.6_s390x.deb align=3D"right">2019-03-12 05:13 688K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-9+deb8u1_amd64.deb">libdb5.3-java-dev_5.= 3.28-9+deb8u1_amd64.deb align=3D"right">2017-11-20 03:40 737K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-9+deb8u1_armel.deb">libdb5.3-java-dev_5.= 3.28-9+deb8u1_armel.deb align=3D"right">2017-11-20 04:26 637K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-9+deb8u1_armhf.deb">libdb5.3-java-dev_5.= 3.28-9+deb8u1_armhf.deb align=3D"right">2017-12-02 16:26 666K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-9+deb8u1_i386.deb">libdb5.3-java-dev_5.3= .28-9+deb8u1_i386.deb align=3D"right">2017-11-20 03:25 781K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-12+deb9u1_amd64.deb">libdb5.3-java-dev_5= .3.28-12+deb9u1_amd64.deb align=3D"right">2017-09-28 09:42 756K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-12+deb9u1_arm64.deb">libdb5.3-java-dev_5= .3.28-12+deb9u1_arm64.deb align=3D"right">2017-09-28 09:42 657K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-12+deb9u1_armel.deb">libdb5.3-java-dev_5= .3.28-12+deb9u1_armel.deb align=3D"right">2017-09-28 10:28 670K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-12+deb9u1_armhf.deb">libdb5.3-java-dev_5= .3.28-12+deb9u1_armhf.deb align=3D"right">2017-09-28 10:28 686K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-12+deb9u1_i386.deb">libdb5.3-java-dev_5.= 3.28-12+deb9u1_i386.deb align=3D"right">2017-09-28 09:27 836K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-12+deb9u1_mips.deb">libdb5.3-java-dev_5.= 3.28-12+deb9u1_mips.deb align=3D"right">2017-09-29 16:10 763K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-java-de= v_5.3.28-12+deb9u1_mips64el.deb align=3D"right">2017-09-28 11:29 789K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-java-dev_= 5.3.28-12+deb9u1_mipsel.deb align=3D"right">2017-09-28 11:14 780K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-java-dev= _5.3.28-12+deb9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 691K
3D"[ ]"> href=3D"libdb5.3-java-dev_5.3.28-12+deb9u1_s390x.deb">libdb5.3-java-dev_5= .3.28-12+deb9u1_s390x.deb align=3D"right">2017-09-28 09:42 711K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-9+deb8u1_amd64.deb">libdb5.3-java-gcj_5.= 3.28-9+deb8u1_amd64.deb align=3D"right">2017-11-20 03:40 602K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-9+deb8u1_armel.deb">libdb5.3-java-gcj_5.= 3.28-9+deb8u1_armel.deb align=3D"right">2017-11-20 04:26 455K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-9+deb8u1_armhf.deb">libdb5.3-java-gcj_5.= 3.28-9+deb8u1_armhf.deb align=3D"right">2017-12-02 16:26 450K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-9+deb8u1_i386.deb">libdb5.3-java-gcj_5.3= .28-9+deb8u1_i386.deb align=3D"right">2017-11-20 03:25 503K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-12+deb9u1_amd64.deb">libdb5.3-java-gcj_5= .3.28-12+deb9u1_amd64.deb align=3D"right">2017-09-28 09:42 602K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-12+deb9u1_arm64.deb">libdb5.3-java-gcj_5= .3.28-12+deb9u1_arm64.deb align=3D"right">2017-09-28 09:42 595K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-12+deb9u1_armel.deb">libdb5.3-java-gcj_5= .3.28-12+deb9u1_armel.deb align=3D"right">2017-09-28 10:28 453K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-12+deb9u1_armhf.deb">libdb5.3-java-gcj_5= .3.28-12+deb9u1_armhf.deb align=3D"right">2017-09-28 10:28 447K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-12+deb9u1_i386.deb">libdb5.3-java-gcj_5.= 3.28-12+deb9u1_i386.deb align=3D"right">2017-09-28 09:27 518K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-12+deb9u1_mips.deb">libdb5.3-java-gcj_5.= 3.28-12+deb9u1_mips.deb align=3D"right">2017-09-29 16:10 463K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-java-gc= j_5.3.28-12+deb9u1_mips64el.deb align=3D"right">2017-09-28 11:29 474K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-java-gcj_= 5.3.28-12+deb9u1_mipsel.deb align=3D"right">2017-09-28 11:14 471K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-java-gcj= _5.3.28-12+deb9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 611K
3D"[ ]"> href=3D"libdb5.3-java-gcj_5.3.28-12+deb9u1_s390x.deb">libdb5.3-java-gcj_5= .3.28-12+deb9u1_s390x.deb align=3D"right">2017-09-28 09:42 578K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-java-jni_5= .3.28+dfsg1-0.5_amd64.deb align=3D"right">2019-02-26 10:11 696K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-java-jni_5= .3.28+dfsg1-0.5_arm64.deb align=3D"right">2019-02-26 09:56 635K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-java-jni_5= .3.28+dfsg1-0.5_armel.deb align=3D"right">2019-02-26 10:57 580K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-java-jni_5= .3.28+dfsg1-0.5_armhf.deb align=3D"right">2019-02-26 10:57 606K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-java-jni_5.= 3.28+dfsg1-0.5_i386.deb align=3D"right">2019-02-26 09:46 763K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-java-jni_5.= 3.28+dfsg1-0.5_mips.deb align=3D"right">2019-02-26 10:57 596K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-java-jn= i_5.3.28+dfsg1-0.5_mips64el.deb align=3D"right">2019-02-26 12:42 603K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-java-jni_= 5.3.28+dfsg1-0.5_mipsel.deb align=3D"right">2019-02-26 12:42 605K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-java-jni= _5.3.28+dfsg1-0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 732K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-java-jni_5= .3.28+dfsg1-0.5_s390x.deb align=3D"right">2019-02-26 09:56 624K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-java-jni_5= .3.28+dfsg1-0.6_amd64.deb align=3D"right">2019-03-12 05:28 696K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-java-jni_5= .3.28+dfsg1-0.6_arm64.deb align=3D"right">2019-03-12 05:28 636K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-java-jni_5= .3.28+dfsg1-0.6_armel.deb align=3D"right">2019-03-12 06:29 581K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-java-jni_5= .3.28+dfsg1-0.6_armhf.deb align=3D"right">2019-03-12 06:14 606K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-java-jni_5.= 3.28+dfsg1-0.6_i386.deb align=3D"right">2019-03-12 05:43 762K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-java-jn= i_5.3.28+dfsg1-0.6_mips64el.deb align=3D"right">2019-03-12 06:29 603K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-java-jni_= 5.3.28+dfsg1-0.6_mipsel.deb align=3D"right">2019-03-12 07:30 605K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-java-jni= _5.3.28+dfsg1-0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 733K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-java-jni_5= .3.28+dfsg1-0.6_s390x.deb align=3D"right">2019-03-12 05:13 625K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-9+deb8u1_amd64.deb">libdb5.3-java-jni_5.= 3.28-9+deb8u1_amd64.deb align=3D"right">2017-11-20 03:40 696K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-9+deb8u1_armel.deb">libdb5.3-java-jni_5.= 3.28-9+deb8u1_armel.deb align=3D"right">2017-11-20 04:26 583K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-9+deb8u1_armhf.deb">libdb5.3-java-jni_5.= 3.28-9+deb8u1_armhf.deb align=3D"right">2017-12-02 16:26 612K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-9+deb8u1_i386.deb">libdb5.3-java-jni_5.3= .28-9+deb8u1_i386.deb align=3D"right">2017-11-20 03:25 754K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-12+deb9u1_amd64.deb">libdb5.3-java-jni_5= .3.28-12+deb9u1_amd64.deb align=3D"right">2017-09-28 09:42 695K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-12+deb9u1_arm64.deb">libdb5.3-java-jni_5= .3.28-12+deb9u1_arm64.deb align=3D"right">2017-09-28 09:42 574K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-12+deb9u1_armel.deb">libdb5.3-java-jni_5= .3.28-12+deb9u1_armel.deb align=3D"right">2017-09-28 10:28 580K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-12+deb9u1_armhf.deb">libdb5.3-java-jni_5= .3.28-12+deb9u1_armhf.deb align=3D"right">2017-09-28 10:28 606K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-12+deb9u1_i386.deb">libdb5.3-java-jni_5.= 3.28-12+deb9u1_i386.deb align=3D"right">2017-09-28 09:27 758K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-12+deb9u1_mips.deb">libdb5.3-java-jni_5.= 3.28-12+deb9u1_mips.deb align=3D"right">2017-09-29 16:10 593K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-java-jn= i_5.3.28-12+deb9u1_mips64el.deb align=3D"right">2017-09-28 11:29 600K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-java-jni_= 5.3.28-12+deb9u1_mipsel.deb align=3D"right">2017-09-28 11:14 603K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-java-jni= _5.3.28-12+deb9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 618K
3D"[ ]"> href=3D"libdb5.3-java-jni_5.3.28-12+deb9u1_s390x.deb">libdb5.3-java-jni_5= .3.28-12+deb9u1_s390x.deb align=3D"right">2017-09-28 09:42 641K
3D"[ ]"> href=3D"libdb5.3-java_5.3.28+dfsg1-0.5_all.deb">libdb5.3-java_5.3.28+dfsg= 1-0.5_all.deb align=3D"right">2019-02-26 10:57 575K
3D"[ ]"> href=3D"libdb5.3-java_5.3.28+dfsg1-0.6_all.deb">libdb5.3-java_5.3.28+dfsg= 1-0.6_all.deb align=3D"right">2019-03-12 05:28 575K
3D"[ ]"> href=3D"libdb5.3-java_5.3.28-9+deb8u1_all.deb">libdb5.3-java_5.3.28-9+deb= 8u1_all.deb align=3D"right">2017-11-18 20:15 543K
3D"[ ]"> href=3D"libdb5.3-java_5.3.28-12+deb9u1_all.deb">libdb5.3-java_5.3.28-12+d= eb9u1_all.deb align=3D"right">2017-09-28 09:42 548K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-sql-dev_5.3= .28+dfsg1-0.5_amd64.deb align=3D"right">2019-02-26 10:11 1.0M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-sql-dev_5.3= .28+dfsg1-0.5_arm64.deb align=3D"right">2019-02-26 09:56 968K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-sql-dev_5.3= .28+dfsg1-0.5_armel.deb align=3D"right">2019-02-26 10:57 901K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-sql-dev_5.3= .28+dfsg1-0.5_armhf.deb align=3D"right">2019-02-26 10:57 929K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-sql-dev_5.3.= 28+dfsg1-0.5_i386.deb align=3D"right">2019-02-26 09:46 1.1M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-sql-dev_5.3.= 28+dfsg1-0.5_mips.deb align=3D"right">2019-02-26 10:57 1.0M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-sql-dev_= 5.3.28+dfsg1-0.5_mips64el.deb align=3D"right">2019-02-26 12:42 1.1M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-sql-dev_5.= 3.28+dfsg1-0.5_mipsel.deb align=3D"right">2019-02-26 12:42 1.0M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-sql-dev_5= .3.28+dfsg1-0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 1.1M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-sql-dev_5.3= .28+dfsg1-0.5_s390x.deb align=3D"right">2019-02-26 09:56 938K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-sql-dev_5.3= .28+dfsg1-0.6_amd64.deb align=3D"right">2019-03-12 05:28 1.0M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-sql-dev_5.3= .28+dfsg1-0.6_arm64.deb align=3D"right">2019-03-12 05:28 968K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-sql-dev_5.3= .28+dfsg1-0.6_armel.deb align=3D"right">2019-03-12 06:29 901K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-sql-dev_5.3= .28+dfsg1-0.6_armhf.deb align=3D"right">2019-03-12 06:14 929K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-sql-dev_5.3.= 28+dfsg1-0.6_i386.deb align=3D"right">2019-03-12 05:43 1.1M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-sql-dev_= 5.3.28+dfsg1-0.6_mips64el.deb align=3D"right">2019-03-12 06:29 1.1M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-sql-dev_5.= 3.28+dfsg1-0.6_mipsel.deb align=3D"right">2019-03-12 07:30 1.0M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-sql-dev_5= .3.28+dfsg1-0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 1.1M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-sql-dev_5.3= .28+dfsg1-0.6_s390x.deb align=3D"right">2019-03-12 05:13 938K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-9+deb8u1_amd64.deb">libdb5.3-sql-dev_5.3.= 28-9+deb8u1_amd64.deb align=3D"right">2017-11-20 03:40 1.0M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-9+deb8u1_armel.deb">libdb5.3-sql-dev_5.3.= 28-9+deb8u1_armel.deb align=3D"right">2017-11-20 04:26 869K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-9+deb8u1_armhf.deb">libdb5.3-sql-dev_5.3.= 28-9+deb8u1_armhf.deb align=3D"right">2017-12-02 16:26 906K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-9+deb8u1_i386.deb">libdb5.3-sql-dev_5.3.2= 8-9+deb8u1_i386.deb align=3D"right">2017-11-20 03:25 1.0M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-12+deb9u1_amd64.deb">libdb5.3-sql-dev_5.3= .28-12+deb9u1_amd64.deb align=3D"right">2017-09-28 09:42 1.0M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-12+deb9u1_arm64.deb">libdb5.3-sql-dev_5.3= .28-12+deb9u1_arm64.deb align=3D"right">2017-09-28 09:42 891K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-12+deb9u1_armel.deb">libdb5.3-sql-dev_5.3= .28-12+deb9u1_armel.deb align=3D"right">2017-09-28 10:28 910K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-12+deb9u1_armhf.deb">libdb5.3-sql-dev_5.3= .28-12+deb9u1_armhf.deb align=3D"right">2017-09-28 10:28 929K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-12+deb9u1_i386.deb">libdb5.3-sql-dev_5.3.= 28-12+deb9u1_i386.deb align=3D"right">2017-09-28 09:27 1.1M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-12+deb9u1_mips.deb">libdb5.3-sql-dev_5.3.= 28-12+deb9u1_mips.deb align=3D"right">2017-09-29 16:10 1.0M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-sql-dev_= 5.3.28-12+deb9u1_mips64el.deb align=3D"right">2017-09-28 11:29 1.0M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-sql-dev_5.= 3.28-12+deb9u1_mipsel.deb align=3D"right">2017-09-28 11:14 1.0M
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-sql-dev_5= .3.28-12+deb9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 939K
3D"[ ]"> href=3D"libdb5.3-sql-dev_5.3.28-12+deb9u1_s390x.deb">libdb5.3-sql-dev_5.3= .28-12+deb9u1_s390x.deb align=3D"right">2017-09-28 09:42 965K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-sql_5.3.28+dfsg= 1-0.5_amd64.deb align=3D"right">2019-02-26 10:11 885K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-sql_5.3.28+dfsg= 1-0.5_arm64.deb align=3D"right">2019-02-26 09:56 808K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-sql_5.3.28+dfsg= 1-0.5_armel.deb align=3D"right">2019-02-26 10:57 737K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-sql_5.3.28+dfsg= 1-0.5_armhf.deb align=3D"right">2019-02-26 10:57 766K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-sql_5.3.28+dfsg1= -0.5_i386.deb align=3D"right">2019-02-26 09:46 963K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-sql_5.3.28+dfsg1= -0.5_mips.deb align=3D"right">2019-02-26 10:57 777K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-sql_5.3.28+d= fsg1-0.5_mips64el.deb align=3D"right">2019-02-26 12:42 789K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-sql_5.3.28+dfs= g1-0.5_mipsel.deb align=3D"right">2019-02-26 12:42 788K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-sql_5.3.28+df= sg1-0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 928K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-sql_5.3.28+dfsg= 1-0.5_s390x.deb align=3D"right">2019-02-26 09:56 794K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-sql_5.3.28+dfsg= 1-0.6_amd64.deb align=3D"right">2019-03-12 05:28 883K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-sql_5.3.28+dfsg= 1-0.6_arm64.deb align=3D"right">2019-03-12 05:28 808K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-sql_5.3.28+dfsg= 1-0.6_armel.deb align=3D"right">2019-03-12 06:29 739K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-sql_5.3.28+dfsg= 1-0.6_armhf.deb align=3D"right">2019-03-12 06:14 766K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-sql_5.3.28+dfsg1= -0.6_i386.deb align=3D"right">2019-03-12 05:43 963K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-sql_5.3.28+d= fsg1-0.6_mips64el.deb align=3D"right">2019-03-12 06:29 789K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-sql_5.3.28+dfs= g1-0.6_mipsel.deb align=3D"right">2019-03-12 07:30 788K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-sql_5.3.28+df= sg1-0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 927K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-sql_5.3.28+dfsg= 1-0.6_s390x.deb align=3D"right">2019-03-12 05:13 794K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-9+deb8u1_amd64.deb">libdb5.3-sql_5.3.28-9+deb= 8u1_amd64.deb align=3D"right">2017-11-20 03:40 882K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-9+deb8u1_armel.deb">libdb5.3-sql_5.3.28-9+deb= 8u1_armel.deb align=3D"right">2017-11-20 04:26 742K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-9+deb8u1_armhf.deb">libdb5.3-sql_5.3.28-9+deb= 8u1_armhf.deb align=3D"right">2017-12-02 16:26 774K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-9+deb8u1_i386.deb">libdb5.3-sql_5.3.28-9+deb8= u1_i386.deb align=3D"right">2017-11-20 03:25 954K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-12+deb9u1_amd64.deb">libdb5.3-sql_5.3.28-12+d= eb9u1_amd64.deb align=3D"right">2017-09-28 09:42 879K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-12+deb9u1_arm64.deb">libdb5.3-sql_5.3.28-12+d= eb9u1_arm64.deb align=3D"right">2017-09-28 09:42 733K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-12+deb9u1_armel.deb">libdb5.3-sql_5.3.28-12+d= eb9u1_armel.deb align=3D"right">2017-09-28 10:28 737K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-12+deb9u1_armhf.deb">libdb5.3-sql_5.3.28-12+d= eb9u1_armhf.deb align=3D"right">2017-09-28 10:28 766K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-12+deb9u1_i386.deb">libdb5.3-sql_5.3.28-12+de= b9u1_i386.deb align=3D"right">2017-09-28 09:27 958K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-12+deb9u1_mips.deb">libdb5.3-sql_5.3.28-12+de= b9u1_mips.deb align=3D"right">2017-09-29 16:10 776K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-sql_5.3.28-1= 2+deb9u1_mips64el.deb align=3D"right">2017-09-28 11:29 786K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-sql_5.3.28-12+= deb9u1_mipsel.deb align=3D"right">2017-09-28 11:14 788K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-sql_5.3.28-12= +deb9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 786K
3D"[ ]"> href=3D"libdb5.3-sql_5.3.28-12+deb9u1_s390x.deb">libdb5.3-sql_5.3.28-12+d= eb9u1_s390x.deb align=3D"right">2017-09-28 09:42 817K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-stl-dev_5.3= .28+dfsg1-0.5_amd64.deb align=3D"right">2019-02-26 10:11 842K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-stl-dev_5.3= .28+dfsg1-0.5_arm64.deb align=3D"right">2019-02-26 09:56 804K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-stl-dev_5.3= .28+dfsg1-0.5_armel.deb align=3D"right">2019-02-26 10:57 751K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-stl-dev_5.3= .28+dfsg1-0.5_armhf.deb align=3D"right">2019-02-26 10:57 774K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-stl-dev_5.3.= 28+dfsg1-0.5_i386.deb align=3D"right">2019-02-26 09:46 927K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-stl-dev_5.3.= 28+dfsg1-0.5_mips.deb align=3D"right">2019-02-26 10:57 856K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-stl-dev_= 5.3.28+dfsg1-0.5_mips64el.deb align=3D"right">2019-02-26 12:42 885K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-stl-dev_5.= 3.28+dfsg1-0.5_mipsel.deb align=3D"right">2019-02-26 12:42 874K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-stl-dev_5= .3.28+dfsg1-0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 900K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-stl-dev_5.3= .28+dfsg1-0.5_s390x.deb align=3D"right">2019-02-26 09:56 773K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-stl-dev_5.3= .28+dfsg1-0.6_amd64.deb align=3D"right">2019-03-12 05:28 842K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-stl-dev_5.3= .28+dfsg1-0.6_arm64.deb align=3D"right">2019-03-12 05:28 804K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-stl-dev_5.3= .28+dfsg1-0.6_armel.deb align=3D"right">2019-03-12 06:29 751K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-stl-dev_5.3= .28+dfsg1-0.6_armhf.deb align=3D"right">2019-03-12 06:14 774K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-stl-dev_5.3.= 28+dfsg1-0.6_i386.deb align=3D"right">2019-03-12 05:43 927K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-stl-dev_= 5.3.28+dfsg1-0.6_mips64el.deb align=3D"right">2019-03-12 06:29 886K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-stl-dev_5.= 3.28+dfsg1-0.6_mipsel.deb align=3D"right">2019-03-12 07:30 874K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-stl-dev_5= .3.28+dfsg1-0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 900K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-stl-dev_5.3= .28+dfsg1-0.6_s390x.deb align=3D"right">2019-03-12 05:13 774K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-9+deb8u1_amd64.deb">libdb5.3-stl-dev_5.3.= 28-9+deb8u1_amd64.deb align=3D"right">2017-11-20 03:40 826K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-9+deb8u1_armel.deb">libdb5.3-stl-dev_5.3.= 28-9+deb8u1_armel.deb align=3D"right">2017-11-20 04:26 727K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-9+deb8u1_armhf.deb">libdb5.3-stl-dev_5.3.= 28-9+deb8u1_armhf.deb align=3D"right">2017-12-02 16:26 757K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-9+deb8u1_i386.deb">libdb5.3-stl-dev_5.3.2= 8-9+deb8u1_i386.deb align=3D"right">2017-11-20 03:25 868K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-12+deb9u1_amd64.deb">libdb5.3-stl-dev_5.3= .28-12+deb9u1_amd64.deb align=3D"right">2017-09-28 09:42 838K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-12+deb9u1_arm64.deb">libdb5.3-stl-dev_5.3= .28-12+deb9u1_arm64.deb align=3D"right">2017-09-28 09:42 745K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-12+deb9u1_armel.deb">libdb5.3-stl-dev_5.3= .28-12+deb9u1_armel.deb align=3D"right">2017-09-28 10:28 759K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-12+deb9u1_armhf.deb">libdb5.3-stl-dev_5.3= .28-12+deb9u1_armhf.deb align=3D"right">2017-09-28 10:28 773K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-12+deb9u1_i386.deb">libdb5.3-stl-dev_5.3.= 28-12+deb9u1_i386.deb align=3D"right">2017-09-28 09:27 920K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-12+deb9u1_mips.deb">libdb5.3-stl-dev_5.3.= 28-12+deb9u1_mips.deb align=3D"right">2017-09-29 16:10 852K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-stl-dev_= 5.3.28-12+deb9u1_mips64el.deb align=3D"right">2017-09-28 11:29 880K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-stl-dev_5.= 3.28-12+deb9u1_mipsel.deb align=3D"right">2017-09-28 11:14 870K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-stl-dev_5= .3.28-12+deb9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 783K
3D"[ ]"> href=3D"libdb5.3-stl-dev_5.3.28-12+deb9u1_s390x.deb">libdb5.3-stl-dev_5.3= .28-12+deb9u1_s390x.deb align=3D"right">2017-09-28 09:42 795K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-stl_5.3.28+dfsg= 1-0.5_amd64.deb align=3D"right">2019-02-26 10:11 711K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-stl_5.3.28+dfsg= 1-0.5_arm64.deb align=3D"right">2019-02-26 09:56 650K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-stl_5.3.28+dfsg= 1-0.5_armel.deb align=3D"right">2019-02-26 10:57 592K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-stl_5.3.28+dfsg= 1-0.5_armhf.deb align=3D"right">2019-02-26 10:57 618K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-stl_5.3.28+dfsg1= -0.5_i386.deb align=3D"right">2019-02-26 09:46 779K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-stl_5.3.28+dfsg1= -0.5_mips.deb align=3D"right">2019-02-26 10:57 614K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-stl_5.3.28+d= fsg1-0.5_mips64el.deb align=3D"right">2019-02-26 12:42 623K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-stl_5.3.28+dfs= g1-0.5_mipsel.deb align=3D"right">2019-02-26 12:42 623K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-stl_5.3.28+df= sg1-0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 746K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-stl_5.3.28+dfsg= 1-0.5_s390x.deb align=3D"right">2019-02-26 09:56 639K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-stl_5.3.28+dfsg= 1-0.6_amd64.deb align=3D"right">2019-03-12 05:28 712K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-stl_5.3.28+dfsg= 1-0.6_arm64.deb align=3D"right">2019-03-12 05:28 649K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-stl_5.3.28+dfsg= 1-0.6_armel.deb align=3D"right">2019-03-12 06:29 592K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-stl_5.3.28+dfsg= 1-0.6_armhf.deb align=3D"right">2019-03-12 06:14 618K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-stl_5.3.28+dfsg1= -0.6_i386.deb align=3D"right">2019-03-12 05:43 779K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-stl_5.3.28+d= fsg1-0.6_mips64el.deb align=3D"right">2019-03-12 06:29 623K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-stl_5.3.28+dfs= g1-0.6_mipsel.deb align=3D"right">2019-03-12 07:30 624K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-stl_5.3.28+df= sg1-0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 746K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-stl_5.3.28+dfsg= 1-0.6_s390x.deb align=3D"right">2019-03-12 05:13 639K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-9+deb8u1_amd64.deb">libdb5.3-stl_5.3.28-9+deb= 8u1_amd64.deb align=3D"right">2017-11-20 03:40 714K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-9+deb8u1_armel.deb">libdb5.3-stl_5.3.28-9+deb= 8u1_armel.deb align=3D"right">2017-11-20 04:26 599K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-9+deb8u1_armhf.deb">libdb5.3-stl_5.3.28-9+deb= 8u1_armhf.deb align=3D"right">2017-12-02 16:26 627K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-9+deb8u1_i386.deb">libdb5.3-stl_5.3.28-9+deb8= u1_i386.deb align=3D"right">2017-11-20 03:25 774K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-12+deb9u1_amd64.deb">libdb5.3-stl_5.3.28-12+d= eb9u1_amd64.deb align=3D"right">2017-09-28 09:42 707K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-12+deb9u1_arm64.deb">libdb5.3-stl_5.3.28-12+d= eb9u1_arm64.deb align=3D"right">2017-09-28 09:42 594K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-12+deb9u1_armel.deb">libdb5.3-stl_5.3.28-12+d= eb9u1_armel.deb align=3D"right">2017-09-28 10:28 591K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-12+deb9u1_armhf.deb">libdb5.3-stl_5.3.28-12+d= eb9u1_armhf.deb align=3D"right">2017-09-28 10:28 617K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-12+deb9u1_i386.deb">libdb5.3-stl_5.3.28-12+de= b9u1_i386.deb align=3D"right">2017-09-28 09:27 774K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-12+deb9u1_mips.deb">libdb5.3-stl_5.3.28-12+de= b9u1_mips.deb align=3D"right">2017-09-29 16:10 612K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-stl_5.3.28-1= 2+deb9u1_mips64el.deb align=3D"right">2017-09-28 11:29 620K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-stl_5.3.28-12+= deb9u1_mipsel.deb align=3D"right">2017-09-28 11:14 622K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-stl_5.3.28-12= +deb9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 639K
3D"[ ]"> href=3D"libdb5.3-stl_5.3.28-12+deb9u1_s390x.deb">libdb5.3-stl_5.3.28-12+d= eb9u1_s390x.deb align=3D"right">2017-09-28 09:42 657K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-tcl_5.3.28+dfsg= 1-0.5_amd64.deb align=3D"right">2019-02-26 10:11 954K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-tcl_5.3.28+dfsg= 1-0.5_arm64.deb align=3D"right">2019-02-26 09:56 894K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-tcl_5.3.28+dfsg= 1-0.5_armel.deb align=3D"right">2019-02-26 10:57 805K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-tcl_5.3.28+dfsg= 1-0.5_armhf.deb align=3D"right">2019-02-26 10:57 826K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-tcl_5.3.28+dfsg1= -0.5_i386.deb align=3D"right">2019-02-26 09:46 1.0M
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-tcl_5.3.28+dfsg1= -0.5_mips.deb align=3D"right">2019-02-26 10:57 921K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-tcl_5.3.28+d= fsg1-0.5_mips64el.deb align=3D"right">2019-02-26 12:42 952K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-tcl_5.3.28+dfs= g1-0.5_mipsel.deb align=3D"right">2019-02-26 12:42 941K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-tcl_5.3.28+df= sg1-0.5_ppc64el.deb align=3D"right">2019-02-26 09:56 1.0M
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-tcl_5.3.28+dfsg= 1-0.5_s390x.deb align=3D"right">2019-02-26 09:56 854K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-tcl_5.3.28+dfsg= 1-0.6_amd64.deb align=3D"right">2019-03-12 05:28 954K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-tcl_5.3.28+dfsg= 1-0.6_arm64.deb align=3D"right">2019-03-12 05:28 894K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-tcl_5.3.28+dfsg= 1-0.6_armel.deb align=3D"right">2019-03-12 06:29 803K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-tcl_5.3.28+dfsg= 1-0.6_armhf.deb align=3D"right">2019-03-12 06:14 825K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-tcl_5.3.28+dfsg1= -0.6_i386.deb align=3D"right">2019-03-12 05:43 1.0M
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-tcl_5.3.28+d= fsg1-0.6_mips64el.deb align=3D"right">2019-03-12 06:29 952K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-tcl_5.3.28+dfs= g1-0.6_mipsel.deb align=3D"right">2019-03-12 07:30 942K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-tcl_5.3.28+df= sg1-0.6_ppc64el.deb align=3D"right">2019-03-12 05:28 1.0M
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-tcl_5.3.28+dfsg= 1-0.6_s390x.deb align=3D"right">2019-03-12 05:13 853K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-9+deb8u1_amd64.deb">libdb5.3-tcl_5.3.28-9+deb= 8u1_amd64.deb align=3D"right">2017-11-20 03:40 1.1M
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-9+deb8u1_armel.deb">libdb5.3-tcl_5.3.28-9+deb= 8u1_armel.deb align=3D"right">2017-11-20 04:26 971K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-9+deb8u1_armhf.deb">libdb5.3-tcl_5.3.28-9+deb= 8u1_armhf.deb align=3D"right">2017-12-02 16:26 1.0M
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-9+deb8u1_i386.deb">libdb5.3-tcl_5.3.28-9+deb8= u1_i386.deb align=3D"right">2017-11-20 03:25 1.3M
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-12+deb9u1_amd64.deb">libdb5.3-tcl_5.3.28-12+d= eb9u1_amd64.deb align=3D"right">2017-09-28 09:42 949K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-12+deb9u1_arm64.deb">libdb5.3-tcl_5.3.28-12+d= eb9u1_arm64.deb align=3D"right">2017-09-28 09:42 809K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-12+deb9u1_armel.deb">libdb5.3-tcl_5.3.28-12+d= eb9u1_armel.deb align=3D"right">2017-09-28 10:28 808K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-12+deb9u1_armhf.deb">libdb5.3-tcl_5.3.28-12+d= eb9u1_armhf.deb align=3D"right">2017-09-28 10:28 823K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-12+deb9u1_i386.deb">libdb5.3-tcl_5.3.28-12+de= b9u1_i386.deb align=3D"right">2017-09-28 09:27 1.0M
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-12+deb9u1_mips.deb">libdb5.3-tcl_5.3.28-12+de= b9u1_mips.deb align=3D"right">2017-09-29 16:10 915K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-tcl_5.3.28-1= 2+deb9u1_mips64el.deb align=3D"right">2017-09-28 11:29 943K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-tcl_5.3.28-12+= deb9u1_mipsel.deb align=3D"right">2017-09-28 11:14 936K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-tcl_5.3.28-12= +deb9u1_ppc64el.deb align=3D"right">2017-09-28 09:27 871K
3D"[ ]"> href=3D"libdb5.3-tcl_5.3.28-12+deb9u1_s390x.deb">libdb5.3-tcl_5.3.28-12+d= eb9u1_s390x.deb align=3D"right">2017-09-28 09:42 885K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3_5.3.28+dfsg1-0.5_am= d64.deb align=3D"right">2019-02-26 10:11 667K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3_5.3.28+dfsg1-0.5_ar= m64.deb align=3D"right">2019-02-26 09:56 607K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.5_armel.deb">libdb5.3_5.3.28+dfsg1-0.5_ar= mel.deb align=3D"right">2019-02-26 10:57 558K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3_5.3.28+dfsg1-0.5_ar= mhf.deb align=3D"right">2019-02-26 10:57 583K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.5_i386.deb">libdb5.3_5.3.28+dfsg1-0.5_i38= 6.deb align=3D"right">2019-02-26 09:46 730K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.5_mips.deb">libdb5.3_5.3.28+dfsg1-0.5_mip= s.deb align=3D"right">2019-02-26 10:57 575K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3_5.3.28+dfsg1-0.5= _mips64el.deb align=3D"right">2019-02-26 12:42 583K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3_5.3.28+dfsg1-0.5_m= ipsel.deb align=3D"right">2019-02-26 12:42 584K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3_5.3.28+dfsg1-0.5_= ppc64el.deb align=3D"right">2019-02-26 09:56 701K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3_5.3.28+dfsg1-0.5_s3= 90x.deb align=3D"right">2019-02-26 09:56 599K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3_5.3.28+dfsg1-0.6_am= d64.deb align=3D"right">2019-03-12 05:28 667K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3_5.3.28+dfsg1-0.6_ar= m64.deb align=3D"right">2019-03-12 05:28 607K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.6_armel.deb">libdb5.3_5.3.28+dfsg1-0.6_ar= mel.deb align=3D"right">2019-03-12 06:29 559K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3_5.3.28+dfsg1-0.6_ar= mhf.deb align=3D"right">2019-03-12 06:14 583K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.6_i386.deb">libdb5.3_5.3.28+dfsg1-0.6_i38= 6.deb align=3D"right">2019-03-12 05:43 730K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3_5.3.28+dfsg1-0.6= _mips64el.deb align=3D"right">2019-03-12 06:29 583K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3_5.3.28+dfsg1-0.6_m= ipsel.deb align=3D"right">2019-03-12 07:30 584K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3_5.3.28+dfsg1-0.6_= ppc64el.deb align=3D"right">2019-03-12 05:28 701K
3D"[ ]"> href=3D"libdb5.3_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3_5.3.28+dfsg1-0.6_s3= 90x.deb align=3D"right">2019-03-12 05:13 598K
3D"[ ]"> href=3D"libdb5.3_5.3.28-9+deb8u1_amd64.deb">libdb5.3_5.3.28-9+deb8u1_amd6= 4.deb align=3D"right">2017-11-20 03:40 664K
3D"[ ]"> href=3D"libdb5.3_5.3.28-9+deb8u1_armel.deb">libdb5.3_5.3.28-9+deb8u1_arme= l.deb align=3D"right">2017-11-20 04:26 561K
3D"[ ]"> href=3D"libdb5.3_5.3.28-9+deb8u1_armhf.deb">libdb5.3_5.3.28-9+deb8u1_armh= f.deb align=3D"right">2017-12-02 16:26 587K
3D"[ ]"> href=3D"libdb5.3_5.3.28-9+deb8u1_i386.deb">libdb5.3_5.3.28-9+deb8u1_i386.= deb align=3D"right">2017-11-20 03:25 721K
3D"[ ]"> href=3D"libdb5.3_5.3.28-12+deb9u1_amd64.deb">libdb5.3_5.3.28-12+deb9u1_am= d64.deb align=3D"right">2017-09-28 09:42 663K
3D"[ ]"> href=3D"libdb5.3_5.3.28-12+deb9u1_arm64.deb">libdb5.3_5.3.28-12+deb9u1_ar= m64.deb align=3D"right">2017-09-28 09:42 550K
3D"[ ]"> href=3D"libdb5.3_5.3.28-12+deb9u1_armel.deb">libdb5.3_5.3.28-12+deb9u1_ar= mel.deb align=3D"right">2017-09-28 10:28 556K
3D"[ ]"> href=3D"libdb5.3_5.3.28-12+deb9u1_armhf.deb">libdb5.3_5.3.28-12+deb9u1_ar= mhf.deb align=3D"right">2017-09-28 10:28 581K
3D"[ ]"> href=3D"libdb5.3_5.3.28-12+deb9u1_i386.deb">libdb5.3_5.3.28-12+deb9u1_i38= 6.deb align=3D"right">2017-09-28 09:27 725K
3D"[ ]"> href=3D"libdb5.3_5.3.28-12+deb9u1_mips.deb">libdb5.3_5.3.28-12+deb9u1_mip= s.deb align=3D"right">2017-09-29 16:10 572K
3D"[ ]"> href=3D"libdb5.3_5.3.28-12+deb9u1_mips64el.deb">libdb5.3_5.3.28-12+deb9u1= _mips64el.deb align=3D"right">2017-09-28 11:29 579K
3D"[ ]"> href=3D"libdb5.3_5.3.28-12+deb9u1_mipsel.deb">libdb5.3_5.3.28-12+deb9u1_m= ipsel.deb align=3D"right">2017-09-28 11:14 581K
3D"[ ]"> href=3D"libdb5.3_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3_5.3.28-12+deb9u1_= ppc64el.deb align=3D"right">2017-09-28 09:27 594K
3D"[ ]"> href=3D"libdb5.3_5.3.28-12+deb9u1_s390x.deb">libdb5.3_5.3.28-12+deb9u1_s3= 90x.deb align=3D"right">2017-09-28 09:42 615K

> +
Apache Server at ftp.debian.org Port 80
> + > diff --git > a/bitbake/lib/bb/tests/fetch-testdata/downloads/enchant/1.6.0/index.html > b/bitbake/lib/bb/tests/fetch-testdata/downloads/enchant/1.6.0/index.html > new file mode 100644 index 0000000..b7bfb1e --- /dev/null > +++ > b/bitbake/lib/bb/tests/fetch-testdata/downloads/enchant/1.6.0/index.html > @@ -0,0 +1,15 @@ + Final//EN"> + > + > + Index of /downloads/enchant/1.6.0 > + > + > +

Index of /downloads/enchant/1.6.0

> + + + + + +
3D"[ICO]" href=3D"?C=3DN;O=3DD">NameLast > modifiedSize href=3D"?C=3DD;O=3DA">Description
colspan=3D"5">
src=3D"/icons/back.gif" alt=3D"[DIR]"> href=3D"/downloads/enchant/">Parent > Directory  - >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"MD5SUM">MD5SUM01-Apr-2010 23:03 > 55  
valign=3D"top">3D"[= href=3D"enchant-1.6.0.tar.gz">enchant-1.6.0.tar.gz align=3D"right">01-Apr-2010 23:02 align=3D"right">593K 
colspan=3D"5">
+
Apache/2.2.15 (Fedora) > Server at www.abisource.com Port 443
+ diff > --git a/bitbake/lib/bb/tests/fetch-testdata/files/v2.8/index.html > b/bitbake/lib/bb/tests/fetch-testdata/files/v2.8/index.html new file > mode 100644 index 0000000..9ea077d --- /dev/null +++ > b/bitbake/lib/bb/tests/fetch-testdata/files/v2.8/index.html @@ -0,0 > +1,774 @@ + > + > + > + Index of /files/v2.8 > + > + > +

Index of /files/v2.8

> + > + > + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + += + + + + + + + + + + + + + + + += + + + + + + + + += + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + > + > +
alt=3D"[ICO]">Name href=3D"?C=3DM;O=3DA">Last modified href=3D"?C=3DS;O=3DA">Size href=3D"?C=3DD;O=3DA">Description

alt=3D"[PARENTDIR]">Parent > Directory  - >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"-*">-*2012-06-07 12:08 align=3D"right"> 0  
valign=3D"top">3D"[ href=3D"CMakeChangeLog-2.8.0">CMakeChangeLog-2.8.0 align=3D"right">2009-11-13 15:41 > 13K 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"CMakeChangeLog-2.8.1">CMakeChangeLog-2.8.1 align=3D"right">2010-03-17 14:37 > 17K 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"CMakeChangeLog-2.8.2">CMakeChangeLog-2.8.2 align=3D"right">2010-06-28 14:37 > 23K 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"CMakeChangeLog-2.8.3">CMakeChangeLog-2.8.3 align=3D"right">2010-11-03 17:21 > 41K 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"CMakeChangeLog-2.8.4">CMakeChangeLog-2.8.4 align=3D"right">2011-02-16 09:15 > 61K 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"CMakeChangeLog-2.8.5">CMakeChangeLog-2.8.5 align=3D"right">2011-07-08 10:49 > 81K 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"CMakeChangeLog-2.8.6">CMakeChangeLog-2.8.6 align=3D"right">2011-12-30 15:30 align=3D"right">100K 
valign=3D"top">3D"[ href=3D"CMakeChangeLog-2.8.7">CMakeChangeLog-2.8.7 align=3D"right">2011-12-30 15:31 align=3D"right">115K 
valign=3D"top">3D"[ href=3D"CMakeChangeLog-2.8.8">CMakeChangeLog-2.8.8 align=3D"right">2012-04-18 17:47 align=3D"right">144K 
valign=3D"top">3D"[ href=3D"CMakeChangeLog-2.8.9">CMakeChangeLog-2.8.9 align=3D"right">2012-08-09 16:29 align=3D"right">163K 
valign=3D"top">3D"[ href=3D"CMakeChangeLog-2.8.10">CMakeChangeLog-2.8.10 align=3D"right">2012-10-31 15:09 align=3D"right">185K 
valign=3D"top">3D"[ href=3D"CMakeChangeLog-2.8.10.1">CMakeChangeLog-2.8.10.1 align=3D"right">2012-11-07 11:52 align=3D"right">186K 
valign=3D"top">3D"[ href=3D"CMakeChangeLog-2.8.10.2">CMakeChangeLog-2.8.10.2 align=3D"right">2012-11-27 15:15 align=3D"right">186K 
valign=3D"top">3D"[ href=3D"CMakeChangeLog-2.8.11">CMakeChangeLog-2.8.11 align=3D"right">2013-05-16 09:39 align=3D"right">218K 
valign=3D"top">3D"[ href=3D"CMakeChangeLog-2.8.12">CMakeChangeLog-2.8.12 align=3D"right">2013-10-11 08:57 align=3D"right">247K 
valign=3D"top">3D"[ href=3D"CMakeChangeLog-2.8.12.1">CMakeChangeLog-2.8.12.1 align=3D"right">2013-11-08 14:33 align=3D"right">248K 
valign=3D"top">3D"[ href=3D"CMakeVS10FindMake.cmake">CMakeVS10FindMake.cmake align=3D"right">2010-05-27 09:45 align=3D"right">1.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.0-AIX-powerpc.sh">cmake-2.8.0-AIX-powerpc.sh align=3D"right">2010-02-08 10:44 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-AIX-powerpc.tar.Z">cmake-2.8.0-AIX-powerpc.tar.Z<= /td> align=3D"right">2010-02-08 10:44 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-AIX-powerpc.tar.gz">cmake-2.8.0-AIX-powerpc.tar.gz align=3D"right">2010-02-08 10:44 > 17M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-Darwin-universal.dmg">cmake-2.8.0-Darwin-universal.dm= g align=3D"right">2009-11-13 15:32 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-Darwin-universal.tar.Z">cmake-2.8.0-Darwin-universal.= tar.Z align=3D"right">2009-11-13 15:32 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-Darwin-universal.tar.gz">cmake-2.8.0-Darwin-universal= .tar.gz align=3D"right">2009-11-13 15:33 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.0-HP-UX-9000_785.sh">cmake-2.8.0-HP-UX-9000_785.sh<= /td> align=3D"right">2009-11-13 15:32 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-HP-UX-9000_785.tar.Z">cmake-2.8.0-HP-UX-9000_785.tar.= Z align=3D"right">2009-11-13 15:32 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-HP-UX-9000_785.tar.gz">cmake-2.8.0-HP-UX-9000_785.tar= .gz align=3D"right">2009-11-13 15:32 > 14M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.0-IRIX64-64.sh">cmake-2.8.0-IRIX64-64.sh align=3D"right">2009-11-13 15:32 align=3D"right">9.0M 
valign=3D"top">3D"[= href=3D"cmake-2.8.0-IRIX64-64.tar.Z">cmake-2.8.0-IRIX64-64.tar.Z align=3D"right">2009-11-13 15:32 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-IRIX64-64.tar.gz">cmake-2.8.0-IRIX64-64.tar.gz align=3D"right">2009-11-13 15:32 align=3D"right">9.0M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.0-IRIX64-n32.sh">cmake-2.8.0-IRIX64-n32.sh align=3D"right">2009-11-13 15:32 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.0-IRIX64-n32.tar.Z">cmake-2.8.0-IRIX64-n32.tar.Z align=3D"right">2009-11-13 15:32 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-IRIX64-n32.tar.gz">cmake-2.8.0-IRIX64-n32.tar.gz<= /td> align=3D"right">2009-11-13 15:32 align=3D"right">8.8M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.0-Linux-i386.sh">cmake-2.8.0-Linux-i386.sh align=3D"right">2009-11-13 15:32 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-Linux-i386.tar.Z">cmake-2.8.0-Linux-i386.tar.Z align=3D"right">2009-11-13 15:32 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-Linux-i386.tar.gz">cmake-2.8.0-Linux-i386.tar.gz<= /td> align=3D"right">2009-11-13 15:32 > 15M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.0-SunOS-sparc.sh">cmake-2.8.0-SunOS-sparc.sh align=3D"right">2009-11-13 15:32 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-SunOS-sparc.tar.Z">cmake-2.8.0-SunOS-sparc.tar.Z<= /td> align=3D"right">2009-11-13 15:32 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-SunOS-sparc.tar.gz">cmake-2.8.0-SunOS-sparc.tar.gz align=3D"right">2009-11-13 15:32 > 10M 
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.0-win32-x86.exe">cmake-2.8.0-win32-x86.exe align=3D"right">2009-11-13 15:32 align=3D"right">7.4M 
valign=3D"top">3D"[= href=3D"cmake-2.8.0-win32-x86.zip">cmake-2.8.0-win32-x86.zip align=3D"right">2009-11-13 15:32 align=3D"right">9.3M 
valign=3D"top">3D"[= href=3D"cmake-2.8.0.tar.Z">cmake-2.8.0.tar.Z align=3D"right">2009-11-13 15:32 align=3D"right">5.4M 
valign=3D"top">3D"[= href=3D"cmake-2.8.0.tar.gz">cmake-2.8.0.tar.gz align=3D"right">2009-11-13 15:32 align=3D"right">3.4M 
valign=3D"top">3D"[= href=3D"cmake-2.8.0.zip">cmake-2.8.0.zip align=3D"right">2009-11-13 15:32 align=3D"right">4.6M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.1-AIX-powerpc.sh">cmake-2.8.1-AIX-powerpc.sh align=3D"right">2010-04-06 14:37 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-AIX-powerpc.tar.Z">cmake-2.8.1-AIX-powerpc.tar.Z<= /td> align=3D"right">2010-04-06 14:37 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-AIX-powerpc.tar.gz">cmake-2.8.1-AIX-powerpc.tar.gz align=3D"right">2010-04-06 14:37 > 17M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-Darwin-universal.dmg">cmake-2.8.1-Darwin-universal.dm= g align=3D"right">2010-04-06 14:37 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-Darwin-universal.tar.Z">cmake-2.8.1-Darwin-universal.= tar.Z align=3D"right">2010-04-06 14:37 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-Darwin-universal.tar.gz">cmake-2.8.1-Darwin-universal= .tar.gz align=3D"right">2010-04-06 14:37 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.1-HP-UX-9000_785.sh">cmake-2.8.1-HP-UX-9000_785.sh<= /td> align=3D"right">2010-04-06 14:37 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-HP-UX-9000_785.tar.Z">cmake-2.8.1-HP-UX-9000_785.tar.= Z align=3D"right">2010-04-06 14:37 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-HP-UX-9000_785.tar.gz">cmake-2.8.1-HP-UX-9000_785.tar= .gz align=3D"right">2010-04-06 14:37 > 14M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.1-IRIX64-64.sh">cmake-2.8.1-IRIX64-64.sh align=3D"right">2010-04-06 14:37 align=3D"right">9.1M 
valign=3D"top">3D"[= href=3D"cmake-2.8.1-IRIX64-64.tar.Z">cmake-2.8.1-IRIX64-64.tar.Z align=3D"right">2010-04-06 14:37 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-IRIX64-64.tar.gz">cmake-2.8.1-IRIX64-64.tar.gz align=3D"right">2010-04-06 14:37 align=3D"right">9.1M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.1-IRIX64-n32.sh">cmake-2.8.1-IRIX64-n32.sh align=3D"right">2010-04-06 14:37 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.1-IRIX64-n32.tar.Z">cmake-2.8.1-IRIX64-n32.tar.Z align=3D"right">2010-04-06 14:37 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-IRIX64-n32.tar.gz">cmake-2.8.1-IRIX64-n32.tar.gz<= /td> align=3D"right">2010-04-06 14:37 align=3D"right">8.8M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.1-Linux-i386.sh">cmake-2.8.1-Linux-i386.sh align=3D"right">2010-04-06 14:37 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-Linux-i386.tar.Z">cmake-2.8.1-Linux-i386.tar.Z align=3D"right">2010-04-06 14:37 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-Linux-i386.tar.gz">cmake-2.8.1-Linux-i386.tar.gz<= /td> align=3D"right">2010-04-06 14:37 > 15M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.1-SunOS-sparc.sh">cmake-2.8.1-SunOS-sparc.sh align=3D"right">2010-04-06 14:37 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-SunOS-sparc.tar.Z">cmake-2.8.1-SunOS-sparc.tar.Z<= /td> align=3D"right">2010-04-06 14:37 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-SunOS-sparc.tar.gz">cmake-2.8.1-SunOS-sparc.tar.gz align=3D"right">2010-04-06 14:37 > 10M 
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.1-win32-x86.exe">cmake-2.8.1-win32-x86.exe align=3D"right">2010-04-06 14:37 align=3D"right">7.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.1-win32-x86.zip">cmake-2.8.1-win32-x86.zip align=3D"right">2010-04-06 14:37 align=3D"right">9.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.1.tar.Z">cmake-2.8.1.tar.Z align=3D"right">2010-04-06 14:37 align=3D"right">5.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.1.tar.gz">cmake-2.8.1.tar.gz align=3D"right">2010-04-06 14:37 align=3D"right">3.4M 
valign=3D"top">3D"[= href=3D"cmake-2.8.1.zip">cmake-2.8.1.zip align=3D"right">2010-04-06 14:37 align=3D"right">4.6M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.2-AIX-powerpc.sh">cmake-2.8.2-AIX-powerpc.sh align=3D"right">2010-06-28 14:10 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-AIX-powerpc.tar.Z">cmake-2.8.2-AIX-powerpc.tar.Z<= /td> align=3D"right">2010-06-28 14:09 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-AIX-powerpc.tar.gz">cmake-2.8.2-AIX-powerpc.tar.gz align=3D"right">2010-06-28 14:09 > 17M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-Darwin-universal.dmg">cmake-2.8.2-Darwin-universal.dm= g align=3D"right">2010-06-28 14:10 > 27M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-Darwin-universal.tar.Z">cmake-2.8.2-Darwin-universal.= tar.Z align=3D"right">2010-06-28 14:10 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-Darwin-universal.tar.gz">cmake-2.8.2-Darwin-universal= .tar.gz align=3D"right">2010-06-28 14:09 > 27M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.2-HP-UX-9000_785.sh">cmake-2.8.2-HP-UX-9000_785.sh<= /td> align=3D"right">2010-06-28 14:09 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-HP-UX-9000_785.tar.Z">cmake-2.8.2-HP-UX-9000_785.tar.= Z align=3D"right">2010-06-28 14:10 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-HP-UX-9000_785.tar.gz">cmake-2.8.2-HP-UX-9000_785.tar= .gz align=3D"right">2010-06-28 14:10 > 15M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.2-IRIX64-64.sh">cmake-2.8.2-IRIX64-64.sh align=3D"right">2010-06-28 14:10 align=3D"right">9.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.2-IRIX64-64.tar.Z">cmake-2.8.2-IRIX64-64.tar.Z align=3D"right">2010-06-28 14:09 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-IRIX64-64.tar.gz">cmake-2.8.2-IRIX64-64.tar.gz align=3D"right">2010-06-28 14:10 align=3D"right">9.6M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.2-IRIX64-n32.sh">cmake-2.8.2-IRIX64-n32.sh align=3D"right">2010-06-28 14:10 align=3D"right">9.4M 
valign=3D"top">3D"[= href=3D"cmake-2.8.2-IRIX64-n32.tar.Z">cmake-2.8.2-IRIX64-n32.tar.Z align=3D"right">2010-06-28 14:09 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-IRIX64-n32.tar.gz">cmake-2.8.2-IRIX64-n32.tar.gz<= /td> align=3D"right">2010-06-28 14:10 align=3D"right">9.3M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.2-Linux-i386.sh">cmake-2.8.2-Linux-i386.sh align=3D"right">2010-06-28 14:10 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-Linux-i386.tar.Z">cmake-2.8.2-Linux-i386.tar.Z align=3D"right">2010-06-28 14:09 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-Linux-i386.tar.gz">cmake-2.8.2-Linux-i386.tar.gz<= /td> align=3D"right">2010-06-28 14:10 > 15M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.2-SunOS-sparc.sh">cmake-2.8.2-SunOS-sparc.sh align=3D"right">2010-06-28 14:09 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-SunOS-sparc.tar.Z">cmake-2.8.2-SunOS-sparc.tar.Z<= /td> align=3D"right">2010-06-28 14:10 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-SunOS-sparc.tar.gz">cmake-2.8.2-SunOS-sparc.tar.gz align=3D"right">2010-06-28 14:10 > 10M 
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.2-win32-x86.exe">cmake-2.8.2-win32-x86.exe align=3D"right">2010-06-28 14:09 align=3D"right">7.7M 
valign=3D"top">3D"[= href=3D"cmake-2.8.2-win32-x86.zip">cmake-2.8.2-win32-x86.zip align=3D"right">2010-06-28 14:09 align=3D"right">9.7M 
valign=3D"top">3D"[= href=3D"cmake-2.8.2.tar.Z">cmake-2.8.2.tar.Z align=3D"right">2010-06-28 14:10 align=3D"right">8.1M 
valign=3D"top">3D"[= href=3D"cmake-2.8.2.tar.gz">cmake-2.8.2.tar.gz align=3D"right">2010-06-28 14:09 align=3D"right">5.1M 
valign=3D"top">3D"[= href=3D"cmake-2.8.2.zip">cmake-2.8.2.zip align=3D"right">2010-06-28 14:10 align=3D"right">6.8M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.3-AIX-powerpc.sh">cmake-2.8.3-AIX-powerpc.sh align=3D"right">2010-11-03 17:11 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.3-AIX-powerpc.tar.Z">cmake-2.8.3-AIX-powerpc.tar.Z<= /td> align=3D"right">2010-11-03 17:11 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.3-AIX-powerpc.tar.gz">cmake-2.8.3-AIX-powerpc.tar.gz align=3D"right">2010-11-03 17:10 > 17M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.3-Darwin-universal.dmg">cmake-2.8.3-Darwin-universal.dm= g align=3D"right">2010-11-03 17:11 > 27M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.3-Darwin-universal.tar.Z">cmake-2.8.3-Darwin-universal.= tar.Z align=3D"right">2010-11-03 17:11 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.3-Darwin-universal.tar.gz">cmake-2.8.3-Darwin-universal= .tar.gz align=3D"right">2010-11-03 17:11 > 27M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.3-IRIX64-64.sh">cmake-2.8.3-IRIX64-64.sh align=3D"right">2010-11-03 17:11 align=3D"right">9.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.3-IRIX64-64.tar.Z">cmake-2.8.3-IRIX64-64.tar.Z align=3D"right">2010-11-03 17:11 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.3-IRIX64-64.tar.gz">cmake-2.8.3-IRIX64-64.tar.gz align=3D"right">2010-11-03 17:11 align=3D"right">9.8M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.3-IRIX64-n32.sh">cmake-2.8.3-IRIX64-n32.sh align=3D"right">2010-11-03 17:10 align=3D"right">9.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.3-IRIX64-n32.tar.Z">cmake-2.8.3-IRIX64-n32.tar.Z align=3D"right">2010-11-03 17:11 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.3-IRIX64-n32.tar.gz">cmake-2.8.3-IRIX64-n32.tar.gz<= /td> align=3D"right">2010-11-03 17:10 align=3D"right">9.5M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.3-Linux-i386.sh">cmake-2.8.3-Linux-i386.sh align=3D"right">2010-11-03 17:11 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.3-Linux-i386.tar.Z">cmake-2.8.3-Linux-i386.tar.Z align=3D"right">2010-11-03 17:11 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.3-Linux-i386.tar.gz">cmake-2.8.3-Linux-i386.tar.gz<= /td> align=3D"right">2010-11-03 17:10 > 16M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.3-SunOS-sparc.sh">cmake-2.8.3-SunOS-sparc.sh align=3D"right">2010-11-03 17:10 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.3-SunOS-sparc.tar.Z">cmake-2.8.3-SunOS-sparc.tar.Z<= /td> align=3D"right">2010-11-03 17:11 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.3-SunOS-sparc.tar.gz">cmake-2.8.3-SunOS-sparc.tar.gz align=3D"right">2010-11-03 17:11 > 11M 
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.3-win32-x86.exe">cmake-2.8.3-win32-x86.exe align=3D"right">2010-11-03 17:11 align=3D"right">7.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.3-win32-x86.zip">cmake-2.8.3-win32-x86.zip align=3D"right">2010-11-03 17:11 align=3D"right">9.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.3.tar.Z">cmake-2.8.3.tar.Z align=3D"right">2010-11-03 17:11 align=3D"right">8.1M 
valign=3D"top">3D"[= href=3D"cmake-2.8.3.tar.gz">cmake-2.8.3.tar.gz align=3D"right">2010-11-03 17:11 align=3D"right">5.2M 
valign=3D"top">3D"[= href=3D"cmake-2.8.3.zip">cmake-2.8.3.zip align=3D"right">2010-11-03 17:11 align=3D"right">6.9M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.4-AIX-powerpc.sh">cmake-2.8.4-AIX-powerpc.sh align=3D"right">2011-02-15 15:54 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4-AIX-powerpc.tar.Z">cmake-2.8.4-AIX-powerpc.tar.Z<= /td> align=3D"right">2011-02-15 15:54 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4-AIX-powerpc.tar.gz">cmake-2.8.4-AIX-powerpc.tar.gz align=3D"right">2011-02-15 15:53 > 17M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4-Darwin-universal.dmg">cmake-2.8.4-Darwin-universal.dm= g align=3D"right">2011-02-15 15:53 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4-Darwin-universal.tar.Z">cmake-2.8.4-Darwin-universal.= tar.Z align=3D"right">2011-02-15 15:54 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4-Darwin-universal.tar.gz">cmake-2.8.4-Darwin-universal= .tar.gz align=3D"right">2011-02-15 15:54 > 27M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.4-IRIX64-64.sh">cmake-2.8.4-IRIX64-64.sh align=3D"right">2011-02-15 15:53 align=3D"right">9.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.4-IRIX64-64.tar.Z">cmake-2.8.4-IRIX64-64.tar.Z align=3D"right">2011-02-15 15:54 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4-IRIX64-64.tar.gz">cmake-2.8.4-IRIX64-64.tar.gz align=3D"right">2011-02-15 15:54 align=3D"right">9.9M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.4-IRIX64-n32.sh">cmake-2.8.4-IRIX64-n32.sh align=3D"right">2011-02-15 15:53 align=3D"right">9.7M 
valign=3D"top">3D"[= href=3D"cmake-2.8.4-IRIX64-n32.tar.Z">cmake-2.8.4-IRIX64-n32.tar.Z align=3D"right">2011-02-15 15:55 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4-IRIX64-n32.tar.gz">cmake-2.8.4-IRIX64-n32.tar.gz<= /td> align=3D"right">2011-02-15 15:54 align=3D"right">9.7M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.4-Linux-i386.sh">cmake-2.8.4-Linux-i386.sh align=3D"right">2011-02-15 15:54 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4-Linux-i386.tar.Z">cmake-2.8.4-Linux-i386.tar.Z align=3D"right">2011-02-15 15:54 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4-Linux-i386.tar.gz">cmake-2.8.4-Linux-i386.tar.gz<= /td> align=3D"right">2011-02-15 15:54 > 16M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.4-SunOS-sparc.sh">cmake-2.8.4-SunOS-sparc.sh align=3D"right">2011-02-15 15:54 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4-SunOS-sparc.tar.Z">cmake-2.8.4-SunOS-sparc.tar.Z<= /td> align=3D"right">2011-02-15 15:54 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4-SunOS-sparc.tar.gz">cmake-2.8.4-SunOS-sparc.tar.gz align=3D"right">2011-02-15 15:54 > 11M 
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4-win32-x86.exe">cmake-2.8.4-win32-x86.exe align=3D"right">2011-02-15 15:54 align=3D"right">7.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.4-win32-x86.zip">cmake-2.8.4-win32-x86.zip align=3D"right">2011-02-15 15:54 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.4.tar.Z">cmake-2.8.4.tar.Z align=3D"right">2011-02-15 15:54 align=3D"right">8.3M 
valign=3D"top">3D"[= href=3D"cmake-2.8.4.tar.gz">cmake-2.8.4.tar.gz align=3D"right">2011-02-15 15:54 align=3D"right">5.2M 
valign=3D"top">3D"[= href=3D"cmake-2.8.4.zip">cmake-2.8.4.zip align=3D"right">2011-02-15 15:54 align=3D"right">7.0M 
valign=3D"top">3D"[ href=3D"cmake-2.8.5-1-src.tar.bz2">cmake-2.8.5-1-src.tar.bz2 align=3D"right">2011-07-08 10:34 align=3D"right">4.1M 
valign=3D"top">3D"[ href=3D"cmake-2.8.5-1.tar.bz2">cmake-2.8.5-1.tar.bz2 align=3D"right">2011-07-08 10:34 align=3D"right">6.3M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.5-AIX-powerpc.sh">cmake-2.8.5-AIX-powerpc.sh align=3D"right">2011-07-08 10:34 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-AIX-powerpc.tar.Z">cmake-2.8.5-AIX-powerpc.tar.Z<= /td> align=3D"right">2011-07-08 10:34 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-AIX-powerpc.tar.gz">cmake-2.8.5-AIX-powerpc.tar.gz align=3D"right">2011-07-08 10:34 > 17M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-Darwin-universal.dmg">cmake-2.8.5-Darwin-universal.dm= g align=3D"right">2011-07-08 10:34 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-Darwin-universal.tar.Z">cmake-2.8.5-Darwin-universal.= tar.Z align=3D"right">2011-07-08 10:34 > 40M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-Darwin-universal.tar.gz">cmake-2.8.5-Darwin-universal= .tar.gz align=3D"right">2011-07-08 10:34 > 28M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.5-IRIX64-64.sh">cmake-2.8.5-IRIX64-64.sh align=3D"right">2011-07-08 10:34 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-IRIX64-64.tar.Z">cmake-2.8.5-IRIX64-64.tar.Z align=3D"right">2011-07-08 10:34 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-IRIX64-64.tar.gz">cmake-2.8.5-IRIX64-64.tar.gz align=3D"right">2011-07-08 10:34 > 10M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.5-IRIX64-n32.sh">cmake-2.8.5-IRIX64-n32.sh align=3D"right">2011-07-08 10:34 align=3D"right">9.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.5-IRIX64-n32.tar.Z">cmake-2.8.5-IRIX64-n32.tar.Z align=3D"right">2011-07-08 10:34 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-IRIX64-n32.tar.gz">cmake-2.8.5-IRIX64-n32.tar.gz<= /td> align=3D"right">2011-07-08 10:34 align=3D"right">9.8M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.5-Linux-i386.sh">cmake-2.8.5-Linux-i386.sh align=3D"right">2011-07-08 10:34 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-Linux-i386.tar.Z">cmake-2.8.5-Linux-i386.tar.Z align=3D"right">2011-07-08 10:34 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-Linux-i386.tar.gz">cmake-2.8.5-Linux-i386.tar.gz<= /td> align=3D"right">2011-07-08 10:34 > 16M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.5-SunOS-sparc.sh">cmake-2.8.5-SunOS-sparc.sh align=3D"right">2011-07-08 10:34 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-SunOS-sparc.tar.Z">cmake-2.8.5-SunOS-sparc.tar.Z<= /td> align=3D"right">2011-07-08 10:34 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-SunOS-sparc.tar.gz">cmake-2.8.5-SunOS-sparc.tar.gz align=3D"right">2011-07-08 10:34 > 11M 
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5-win32-x86.exe">cmake-2.8.5-win32-x86.exe align=3D"right">2011-07-08 10:34 align=3D"right">8.0M 
valign=3D"top">3D"[= href=3D"cmake-2.8.5-win32-x86.zip">cmake-2.8.5-win32-x86.zip align=3D"right">2011-07-08 10:34 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.5.tar.Z">cmake-2.8.5.tar.Z align=3D"right">2011-07-08 10:34 align=3D"right">8.3M 
valign=3D"top">3D"[= href=3D"cmake-2.8.5.tar.gz">cmake-2.8.5.tar.gz align=3D"right">2011-07-08 10:34 align=3D"right">5.3M 
valign=3D"top">3D"[= href=3D"cmake-2.8.5.zip">cmake-2.8.5.zip align=3D"right">2011-07-08 10:34 align=3D"right">7.0M 
valign=3D"top">3D"[ href=3D"cmake-2.8.6-1-src.tar.bz2">cmake-2.8.6-1-src.tar.bz2 align=3D"right">2011-10-04 13:59 align=3D"right">4.1M 
valign=3D"top">3D"[ href=3D"cmake-2.8.6-1.tar.bz2">cmake-2.8.6-1.tar.bz2 align=3D"right">2011-10-04 13:59 align=3D"right">6.4M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.6-AIX-powerpc.sh">cmake-2.8.6-AIX-powerpc.sh align=3D"right">2011-10-04 13:59 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-AIX-powerpc.tar.Z">cmake-2.8.6-AIX-powerpc.tar.Z<= /td> align=3D"right">2011-10-04 13:59 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-AIX-powerpc.tar.gz">cmake-2.8.6-AIX-powerpc.tar.gz align=3D"right">2011-10-04 13:59 > 17M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-Darwin-universal.dmg">cmake-2.8.6-Darwin-universal.dm= g align=3D"right">2011-10-04 13:59 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-Darwin-universal.tar.Z">cmake-2.8.6-Darwin-universal.= tar.Z align=3D"right">2011-10-04 13:59 > 40M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-Darwin-universal.tar.gz">cmake-2.8.6-Darwin-universal= .tar.gz align=3D"right">2011-10-04 13:59 > 28M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-Darwin64-universal.dmg">cmake-2.8.6-Darwin64-universa= l.dmg align=3D"right">2011-10-04 13:59 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-Darwin64-universal.tar.Z">cmake-2.8.6-Darwin64-univer= sal.tar.Z align=3D"right">2011-10-04 13:59 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-Darwin64-universal.tar.gz">cmake-2.8.6-Darwin64-unive= rsal.tar.gz align=3D"right">2011-10-04 13:59 > 29M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.6-IRIX64-64.sh">cmake-2.8.6-IRIX64-64.sh align=3D"right">2011-10-04 13:59 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-IRIX64-64.tar.Z">cmake-2.8.6-IRIX64-64.tar.Z align=3D"right">2011-10-04 13:59 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-IRIX64-64.tar.gz">cmake-2.8.6-IRIX64-64.tar.gz align=3D"right">2011-10-04 13:59 > 10M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.6-IRIX64-n32.sh">cmake-2.8.6-IRIX64-n32.sh align=3D"right">2011-10-04 13:59 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-IRIX64-n32.tar.Z">cmake-2.8.6-IRIX64-n32.tar.Z align=3D"right">2011-10-04 13:59 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-IRIX64-n32.tar.gz">cmake-2.8.6-IRIX64-n32.tar.gz<= /td> align=3D"right">2011-10-04 13:59 > 10M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.6-Linux-i386.sh">cmake-2.8.6-Linux-i386.sh align=3D"right">2011-10-04 13:59 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-Linux-i386.tar.Z">cmake-2.8.6-Linux-i386.tar.Z align=3D"right">2011-10-04 13:59 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-Linux-i386.tar.gz">cmake-2.8.6-Linux-i386.tar.gz<= /td> align=3D"right">2011-10-04 13:58 > 16M 
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6-win32-x86.exe">cmake-2.8.6-win32-x86.exe align=3D"right">2011-10-04 13:58 align=3D"right">8.2M 
valign=3D"top">3D"[= href=3D"cmake-2.8.6-win32-x86.zip">cmake-2.8.6-win32-x86.zip align=3D"right">2011-10-04 13:58 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.6.tar.Z">cmake-2.8.6.tar.Z align=3D"right">2011-10-04 13:58 align=3D"right">8.4M 
valign=3D"top">3D"[= href=3D"cmake-2.8.6.tar.gz">cmake-2.8.6.tar.gz align=3D"right">2011-10-04 13:58 align=3D"right">5.3M 
valign=3D"top">3D"[= href=3D"cmake-2.8.6.zip">cmake-2.8.6.zip align=3D"right">2011-10-04 13:58 align=3D"right">7.1M 
valign=3D"top">3D"[ href=3D"cmake-2.8.7-1-src.tar.bz2">cmake-2.8.7-1-src.tar.bz2 align=3D"right">2011-12-30 14:14 align=3D"right">4.2M 
valign=3D"top">3D"[ href=3D"cmake-2.8.7-1.tar.bz2">cmake-2.8.7-1.tar.bz2 align=3D"right">2011-12-30 14:14 align=3D"right">6.5M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.7-AIX-powerpc.sh">cmake-2.8.7-AIX-powerpc.sh align=3D"right">2012-01-03 16:51 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-AIX-powerpc.tar.Z">cmake-2.8.7-AIX-powerpc.tar.Z<= /td> align=3D"right">2012-01-03 16:51 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-AIX-powerpc.tar.gz">cmake-2.8.7-AIX-powerpc.tar.gz align=3D"right">2012-01-03 16:51 > 17M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-Darwin-universal.dmg">cmake-2.8.7-Darwin-universal.dm= g align=3D"right">2011-12-30 14:14 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-Darwin-universal.tar.Z">cmake-2.8.7-Darwin-universal.= tar.Z align=3D"right">2011-12-30 14:14 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-Darwin-universal.tar.gz">cmake-2.8.7-Darwin-universal= .tar.gz align=3D"right">2011-12-30 14:14 > 28M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-Darwin64-universal.dmg">cmake-2.8.7-Darwin64-universa= l.dmg align=3D"right">2011-12-30 14:14 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-Darwin64-universal.tar.Z">cmake-2.8.7-Darwin64-univer= sal.tar.Z align=3D"right">2011-12-30 14:13 > 42M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-Darwin64-universal.tar.gz">cmake-2.8.7-Darwin64-unive= rsal.tar.gz align=3D"right">2011-12-30 14:13 > 30M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.7-IRIX64-64.sh">cmake-2.8.7-IRIX64-64.sh align=3D"right">2011-12-30 14:13 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-IRIX64-64.tar.Z">cmake-2.8.7-IRIX64-64.tar.Z align=3D"right">2011-12-30 14:13 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-IRIX64-64.tar.gz">cmake-2.8.7-IRIX64-64.tar.gz align=3D"right">2011-12-30 14:13 > 10M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.7-IRIX64-n32.sh">cmake-2.8.7-IRIX64-n32.sh align=3D"right">2011-12-30 14:13 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-IRIX64-n32.tar.Z">cmake-2.8.7-IRIX64-n32.tar.Z align=3D"right">2011-12-30 14:13 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-IRIX64-n32.tar.gz">cmake-2.8.7-IRIX64-n32.tar.gz<= /td> align=3D"right">2011-12-30 14:13 > 10M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.7-Linux-i386.sh">cmake-2.8.7-Linux-i386.sh align=3D"right">2011-12-30 14:13 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-Linux-i386.tar.Z">cmake-2.8.7-Linux-i386.tar.Z align=3D"right">2011-12-30 14:13 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-Linux-i386.tar.gz">cmake-2.8.7-Linux-i386.tar.gz<= /td> align=3D"right">2011-12-30 14:13 > 16M 
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7-win32-x86.exe">cmake-2.8.7-win32-x86.exe align=3D"right">2011-12-30 14:13 align=3D"right">8.2M 
valign=3D"top">3D"[= href=3D"cmake-2.8.7-win32-x86.zip">cmake-2.8.7-win32-x86.zip align=3D"right">2011-12-30 14:13 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.7.tar.Z">cmake-2.8.7.tar.Z align=3D"right">2011-12-30 14:13 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.7.tar.gz">cmake-2.8.7.tar.gz align=3D"right">2011-12-30 14:13 align=3D"right">5.4M 
valign=3D"top">3D"[= href=3D"cmake-2.8.7.zip">cmake-2.8.7.zip align=3D"right">2011-12-30 14:13 align=3D"right">7.2M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.8-AIX-powerpc.sh">cmake-2.8.8-AIX-powerpc.sh align=3D"right">2012-04-18 15:23 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-AIX-powerpc.tar.Z">cmake-2.8.8-AIX-powerpc.tar.Z<= /td> align=3D"right">2012-04-18 15:23 > 27M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-AIX-powerpc.tar.gz">cmake-2.8.8-AIX-powerpc.tar.gz align=3D"right">2012-04-18 15:23 > 19M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-Darwin-universal.dmg">cmake-2.8.8-Darwin-universal.dm= g align=3D"right">2012-04-18 15:23 > 34M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-Darwin-universal.tar.Z">cmake-2.8.8-Darwin-universal.= tar.Z align=3D"right">2012-04-18 15:23 > 49M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-Darwin-universal.tar.gz">cmake-2.8.8-Darwin-universal= .tar.gz align=3D"right">2012-04-18 15:23 > 34M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-Darwin64-universal.dmg">cmake-2.8.8-Darwin64-universa= l.dmg align=3D"right">2012-04-18 15:22 > 32M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-Darwin64-universal.tar.Z">cmake-2.8.8-Darwin64-univer= sal.tar.Z align=3D"right">2012-04-18 15:22 > 44M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-Darwin64-universal.tar.gz">cmake-2.8.8-Darwin64-unive= rsal.tar.gz align=3D"right">2012-04-18 15:22 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.8-IRIX64-64.sh">cmake-2.8.8-IRIX64-64.sh align=3D"right">2012-04-18 15:22 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-IRIX64-64.tar.Z">cmake-2.8.8-IRIX64-64.tar.Z align=3D"right">2012-04-18 15:22 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-IRIX64-64.tar.gz">cmake-2.8.8-IRIX64-64.tar.gz align=3D"right">2012-04-18 15:22 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.8-IRIX64-n32.sh">cmake-2.8.8-IRIX64-n32.sh align=3D"right">2012-04-18 15:22 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-IRIX64-n32.tar.Z">cmake-2.8.8-IRIX64-n32.tar.Z align=3D"right">2012-04-18 15:22 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-IRIX64-n32.tar.gz">cmake-2.8.8-IRIX64-n32.tar.gz<= /td> align=3D"right">2012-04-18 15:22 > 11M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.8-Linux-i386.sh">cmake-2.8.8-Linux-i386.sh align=3D"right">2012-04-18 15:22 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-Linux-i386.tar.Z">cmake-2.8.8-Linux-i386.tar.Z align=3D"right">2012-04-18 15:22 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-Linux-i386.tar.gz">cmake-2.8.8-Linux-i386.tar.gz<= /td> align=3D"right">2012-04-18 15:22 > 18M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.8-SHA-256.txt">cmake-2.8.8-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.1K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.8-SHA-256.txt.asc">cmake-2.8.8-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8-win32-x86.exe">cmake-2.8.8-win32-x86.exe align=3D"right">2012-04-18 15:22 align=3D"right">8.7M 
valign=3D"top">3D"[= href=3D"cmake-2.8.8-win32-x86.zip">cmake-2.8.8-win32-x86.zip align=3D"right">2012-04-18 15:22 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.8.tar.Z">cmake-2.8.8.tar.Z align=3D"right">2012-04-18 15:22 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.8.tar.gz">cmake-2.8.8.tar.gz align=3D"right">2012-04-18 15:22 align=3D"right">5.4M 
valign=3D"top">3D"[= href=3D"cmake-2.8.8.zip">cmake-2.8.8.zip align=3D"right">2012-04-18 15:22 align=3D"right">7.2M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.9-AIX-powerpc.sh">cmake-2.8.9-AIX-powerpc.sh align=3D"right">2012-08-09 15:36 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-AIX-powerpc.tar.Z">cmake-2.8.9-AIX-powerpc.tar.Z<= /td> align=3D"right">2012-08-09 15:36 > 27M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-AIX-powerpc.tar.gz">cmake-2.8.9-AIX-powerpc.tar.gz align=3D"right">2012-08-09 15:36 > 19M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-Darwin-universal.dmg">cmake-2.8.9-Darwin-universal.dm= g align=3D"right">2012-08-09 15:36 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-Darwin-universal.tar.Z">cmake-2.8.9-Darwin-universal.= tar.Z align=3D"right">2012-08-09 15:36 > 50M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-Darwin-universal.tar.gz">cmake-2.8.9-Darwin-universal= .tar.gz align=3D"right">2012-08-09 15:36 > 35M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-Darwin64-universal.dmg">cmake-2.8.9-Darwin64-universa= l.dmg align=3D"right">2012-08-09 15:36 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-Darwin64-universal.tar.Z">cmake-2.8.9-Darwin64-univer= sal.tar.Z align=3D"right">2012-08-09 15:35 > 45M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-Darwin64-universal.tar.gz">cmake-2.8.9-Darwin64-unive= rsal.tar.gz align=3D"right">2012-08-09 15:35 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.9-IRIX64-64.sh">cmake-2.8.9-IRIX64-64.sh align=3D"right">2012-08-09 15:35 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-IRIX64-64.tar.Z">cmake-2.8.9-IRIX64-64.tar.Z align=3D"right">2012-08-09 15:35 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-IRIX64-64.tar.gz">cmake-2.8.9-IRIX64-64.tar.gz align=3D"right">2012-08-09 15:35 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.9-IRIX64-n32.sh">cmake-2.8.9-IRIX64-n32.sh align=3D"right">2012-08-09 15:35 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-IRIX64-n32.tar.Z">cmake-2.8.9-IRIX64-n32.tar.Z align=3D"right">2012-08-09 15:35 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-IRIX64-n32.tar.gz">cmake-2.8.9-IRIX64-n32.tar.gz<= /td> align=3D"right">2012-08-09 15:35 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.9-Linux-i386.sh">cmake-2.8.9-Linux-i386.sh align=3D"right">2012-08-09 15:35 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-Linux-i386.tar.Z">cmake-2.8.9-Linux-i386.tar.Z align=3D"right">2012-08-09 15:35 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-Linux-i386.tar.gz">cmake-2.8.9-Linux-i386.tar.gz<= /td> align=3D"right">2012-08-09 15:35 > 19M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.9-SHA-256.txt">cmake-2.8.9-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.1K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.9-SHA-256.txt.asc">cmake-2.8.9-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9-win32-x86.exe">cmake-2.8.9-win32-x86.exe align=3D"right">2012-08-09 15:35 align=3D"right">8.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.9-win32-x86.zip">cmake-2.8.9-win32-x86.zip align=3D"right">2012-08-09 15:35 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.9.tar.Z">cmake-2.8.9.tar.Z align=3D"right">2012-08-09 15:35 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.9.tar.gz">cmake-2.8.9.tar.gz align=3D"right">2012-08-09 15:35 align=3D"right">5.4M 
valign=3D"top">3D"[= href=3D"cmake-2.8.9.zip">cmake-2.8.9.zip align=3D"right">2012-08-09 15:35 align=3D"right">7.2M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.10-AIX-powerpc.sh">cmake-2.8.10-AIX-powerpc.sh align=3D"right">2012-10-31 13:05 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-AIX-powerpc.tar.Z">cmake-2.8.10-AIX-powerpc.tar.Z align=3D"right">2012-10-31 13:05 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-AIX-powerpc.tar.gz">cmake-2.8.10-AIX-powerpc.tar.gz<= /a> align=3D"right">2012-10-31 13:05 > 20M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-Darwin-universal.dmg">cmake-2.8.10-Darwin-universal.= dmg align=3D"right">2012-10-31 13:04 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-Darwin-universal.tar.Z">cmake-2.8.10-Darwin-universa= l.tar.Z align=3D"right">2012-10-31 13:04 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-Darwin-universal.tar.gz">cmake-2.8.10-Darwin-univers= al.tar.gz align=3D"right">2012-10-31 13:04 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-Darwin64-universal.dmg">cmake-2.8.10-Darwin64-univer= sal.dmg align=3D"right">2012-10-31 13:04 > 38M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-Darwin64-universal.tar.Z">cmake-2.8.10-Darwin64-univ= ersal.tar.Z align=3D"right">2012-10-31 13:04 > 53M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-Darwin64-universal.tar.gz">cmake-2.8.10-Darwin64-uni= versal.tar.gz align=3D"right">2012-10-31 13:04 > 38M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-IRIX64-64.sh">cmake-2.8.10-IRIX64-64.sh align=3D"right">2012-10-31 13:04 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-IRIX64-64.tar.Z">cmake-2.8.10-IRIX64-64.tar.Z align=3D"right">2012-10-31 13:04 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-IRIX64-64.tar.gz">cmake-2.8.10-IRIX64-64.tar.gz<= /td> align=3D"right">2012-10-31 13:04 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-IRIX64-n32.sh">cmake-2.8.10-IRIX64-n32.sh align=3D"right">2012-10-31 13:04 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-IRIX64-n32.tar.Z">cmake-2.8.10-IRIX64-n32.tar.Z<= /td> align=3D"right">2012-10-31 13:04 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-IRIX64-n32.tar.gz">cmake-2.8.10-IRIX64-n32.tar.gz align=3D"right">2012-10-31 13:04 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-Linux-i386.sh">cmake-2.8.10-Linux-i386.sh align=3D"right">2012-10-31 13:04 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-Linux-i386.tar.Z">cmake-2.8.10-Linux-i386.tar.Z<= /td> align=3D"right">2012-10-31 13:04 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-Linux-i386.tar.gz">cmake-2.8.10-Linux-i386.tar.gz align=3D"right">2012-10-31 13:04 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-SHA-256.txt">cmake-2.8.10-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.1K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.10-SHA-256.txt.asc">cmake-2.8.10-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc1-AIX-powerpc.sh">cmake-2.8.10-rc1-AIX-powerpc.sh<= /a> align=3D"right">2012-10-02 13:28 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-AIX-powerpc.tar.Z">cmake-2.8.10-rc1-AIX-powerpc.= tar.Z align=3D"right">2012-10-02 13:28 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-AIX-powerpc.tar.gz">cmake-2.8.10-rc1-AIX-powerpc= .tar.gz align=3D"right">2012-10-02 13:28 > 20M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-Darwin-universal.dmg">cmake-2.8.10-rc1-Darwin-un= iversal.dmg align=3D"right">2012-10-02 13:28 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-Darwin-universal.tar.Z">cmake-2.8.10-rc1-Darwin-= universal.tar.Z align=3D"right">2012-10-02 13:28 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-Darwin-universal.tar.gz">cmake-2.8.10-rc1-Darwin= -universal.tar.gz align=3D"right">2012-10-02 13:28 > 40M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-Darwin64-universal.dmg">cmake-2.8.10-rc1-Darwin6= 4-universal.dmg align=3D"right">2012-10-02 13:28 > 38M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-Darwin64-universal.tar.Z">cmake-2.8.10-rc1-Darwi= n64-universal.tar.Z align=3D"right">2012-10-02 13:28 > 53M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-Darwin64-universal.tar.gz">cmake-2.8.10-rc1-Darw= in64-universal.tar.gz align=3D"right">2012-10-02 13:28 > 38M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc1-IRIX64-64.sh">cmake-2.8.10-rc1-IRIX64-64.sh<= /td> align=3D"right">2012-10-02 13:27 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-IRIX64-64.tar.Z">cmake-2.8.10-rc1-IRIX64-64.tar.= Z align=3D"right">2012-10-02 13:27 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-IRIX64-64.tar.gz">cmake-2.8.10-rc1-IRIX64-64.tar= .gz align=3D"right">2012-10-02 13:27 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc1-IRIX64-n32.sh">cmake-2.8.10-rc1-IRIX64-n32.sh align=3D"right">2012-10-02 13:27 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-IRIX64-n32.tar.Z">cmake-2.8.10-rc1-IRIX64-n32.ta= r.Z align=3D"right">2012-10-02 13:27 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-IRIX64-n32.tar.gz">cmake-2.8.10-rc1-IRIX64-n32.t= ar.gz align=3D"right">2012-10-02 13:27 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc1-Linux-i386.sh">cmake-2.8.10-rc1-Linux-i386.sh align=3D"right">2012-10-02 13:27 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-Linux-i386.tar.Z">cmake-2.8.10-rc1-Linux-i386.ta= r.Z align=3D"right">2012-10-02 13:27 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-Linux-i386.tar.gz">cmake-2.8.10-rc1-Linux-i386.t= ar.gz align=3D"right">2012-10-02 13:27 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc1-SHA-256.txt">cmake-2.8.10-rc1-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.10-rc1-SHA-256.txt.asc">cmake-2.8.10-rc1-SHA-256.txt.as= c align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1-win32-x86.exe">cmake-2.8.10-rc1-win32-x86.exe align=3D"right">2012-10-02 13:27 align=3D"right">9.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10-rc1-win32-x86.zip">cmake-2.8.10-rc1-win32-x86.zip align=3D"right">2012-10-02 13:27 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc1.tar.Z">cmake-2.8.10-rc1.tar.Z align=3D"right">2012-10-02 13:27 align=3D"right">8.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10-rc1.tar.gz">cmake-2.8.10-rc1.tar.gz align=3D"right">2012-10-02 13:27 align=3D"right">5.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10-rc1.zip">cmake-2.8.10-rc1.zip align=3D"right">2012-10-02 13:27 align=3D"right">7.4M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.10-rc2-AIX-powerpc.sh">cmake-2.8.10-rc2-AIX-powerpc.sh<= /a> align=3D"right">2012-10-19 09:26 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-AIX-powerpc.tar.Z">cmake-2.8.10-rc2-AIX-powerpc.= tar.Z align=3D"right">2012-10-19 09:26 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-AIX-powerpc.tar.gz">cmake-2.8.10-rc2-AIX-powerpc= .tar.gz align=3D"right">2012-10-19 09:26 > 20M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-Darwin-universal.dmg">cmake-2.8.10-rc2-Darwin-un= iversal.dmg align=3D"right">2012-10-19 09:26 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-Darwin-universal.tar.Z">cmake-2.8.10-rc2-Darwin-= universal.tar.Z align=3D"right">2012-10-19 09:26 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-Darwin-universal.tar.gz">cmake-2.8.10-rc2-Darwin= -universal.tar.gz align=3D"right">2012-10-19 09:26 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-Darwin64-universal.dmg">cmake-2.8.10-rc2-Darwin6= 4-universal.dmg align=3D"right">2012-10-19 09:25 > 38M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-Darwin64-universal.tar.Z">cmake-2.8.10-rc2-Darwi= n64-universal.tar.Z align=3D"right">2012-10-19 09:25 > 53M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-Darwin64-universal.tar.gz">cmake-2.8.10-rc2-Darw= in64-universal.tar.gz align=3D"right">2012-10-19 09:25 > 38M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc2-IRIX64-64.sh">cmake-2.8.10-rc2-IRIX64-64.sh<= /td> align=3D"right">2012-10-19 09:25 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-IRIX64-64.tar.Z">cmake-2.8.10-rc2-IRIX64-64.tar.= Z align=3D"right">2012-10-19 09:25 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-IRIX64-64.tar.gz">cmake-2.8.10-rc2-IRIX64-64.tar= .gz align=3D"right">2012-10-19 09:25 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc2-IRIX64-n32.sh">cmake-2.8.10-rc2-IRIX64-n32.sh align=3D"right">2012-10-19 09:25 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-IRIX64-n32.tar.Z">cmake-2.8.10-rc2-IRIX64-n32.ta= r.Z align=3D"right">2012-10-19 09:25 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-IRIX64-n32.tar.gz">cmake-2.8.10-rc2-IRIX64-n32.t= ar.gz align=3D"right">2012-10-19 09:25 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc2-Linux-i386.sh">cmake-2.8.10-rc2-Linux-i386.sh align=3D"right">2012-10-19 09:25 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-Linux-i386.tar.Z">cmake-2.8.10-rc2-Linux-i386.ta= r.Z align=3D"right">2012-10-19 09:24 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-Linux-i386.tar.gz">cmake-2.8.10-rc2-Linux-i386.t= ar.gz align=3D"right">2012-10-19 09:24 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc2-SHA-256.txt">cmake-2.8.10-rc2-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.10-rc2-SHA-256.txt.asc">cmake-2.8.10-rc2-SHA-256.txt.as= c align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2-win32-x86.exe">cmake-2.8.10-rc2-win32-x86.exe align=3D"right">2012-10-19 09:24 align=3D"right">9.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10-rc2-win32-x86.zip">cmake-2.8.10-rc2-win32-x86.zip align=3D"right">2012-10-19 09:24 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc2.tar.Z">cmake-2.8.10-rc2.tar.Z align=3D"right">2012-10-19 09:24 align=3D"right">8.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10-rc2.tar.gz">cmake-2.8.10-rc2.tar.gz align=3D"right">2012-10-19 09:24 align=3D"right">5.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10-rc2.zip">cmake-2.8.10-rc2.zip align=3D"right">2012-10-19 09:24 align=3D"right">7.4M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.10-rc3-AIX-powerpc.sh">cmake-2.8.10-rc3-AIX-powerpc.sh<= /a> align=3D"right">2012-10-24 15:11 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-AIX-powerpc.tar.Z">cmake-2.8.10-rc3-AIX-powerpc.= tar.Z align=3D"right">2012-10-24 15:11 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-AIX-powerpc.tar.gz">cmake-2.8.10-rc3-AIX-powerpc= .tar.gz align=3D"right">2012-10-24 15:10 > 20M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-Darwin-universal.dmg">cmake-2.8.10-rc3-Darwin-un= iversal.dmg align=3D"right">2012-10-24 15:10 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-Darwin-universal.tar.Z">cmake-2.8.10-rc3-Darwin-= universal.tar.Z align=3D"right">2012-10-24 15:10 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-Darwin-universal.tar.gz">cmake-2.8.10-rc3-Darwin= -universal.tar.gz align=3D"right">2012-10-24 15:10 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-Darwin64-universal.dmg">cmake-2.8.10-rc3-Darwin6= 4-universal.dmg align=3D"right">2012-10-24 15:10 > 38M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-Darwin64-universal.tar.Z">cmake-2.8.10-rc3-Darwi= n64-universal.tar.Z align=3D"right">2012-10-24 15:10 > 53M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-Darwin64-universal.tar.gz">cmake-2.8.10-rc3-Darw= in64-universal.tar.gz align=3D"right">2012-10-24 15:10 > 38M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc3-IRIX64-64.sh">cmake-2.8.10-rc3-IRIX64-64.sh<= /td> align=3D"right">2012-10-24 15:10 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-IRIX64-64.tar.Z">cmake-2.8.10-rc3-IRIX64-64.tar.= Z align=3D"right">2012-10-24 15:10 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-IRIX64-64.tar.gz">cmake-2.8.10-rc3-IRIX64-64.tar= .gz align=3D"right">2012-10-24 15:10 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc3-IRIX64-n32.sh">cmake-2.8.10-rc3-IRIX64-n32.sh align=3D"right">2012-10-24 15:10 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-IRIX64-n32.tar.Z">cmake-2.8.10-rc3-IRIX64-n32.ta= r.Z align=3D"right">2012-10-24 15:10 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-IRIX64-n32.tar.gz">cmake-2.8.10-rc3-IRIX64-n32.t= ar.gz align=3D"right">2012-10-24 15:10 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc3-Linux-i386.sh">cmake-2.8.10-rc3-Linux-i386.sh align=3D"right">2012-10-24 15:10 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-Linux-i386.tar.Z">cmake-2.8.10-rc3-Linux-i386.ta= r.Z align=3D"right">2012-10-24 15:10 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-Linux-i386.tar.gz">cmake-2.8.10-rc3-Linux-i386.t= ar.gz align=3D"right">2012-10-24 15:10 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10-rc3-SHA-256.txt">cmake-2.8.10-rc3-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.10-rc3-SHA-256.txt.asc">cmake-2.8.10-rc3-SHA-256.txt.as= c align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3-win32-x86.exe">cmake-2.8.10-rc3-win32-x86.exe align=3D"right">2012-10-24 15:10 align=3D"right">9.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10-rc3-win32-x86.zip">cmake-2.8.10-rc3-win32-x86.zip align=3D"right">2012-10-24 15:09 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10-rc3.tar.Z">cmake-2.8.10-rc3.tar.Z align=3D"right">2012-10-24 15:09 align=3D"right">8.7M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10-rc3.tar.gz">cmake-2.8.10-rc3.tar.gz align=3D"right">2012-10-24 15:09 align=3D"right">5.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10-rc3.zip">cmake-2.8.10-rc3.zip align=3D"right">2012-10-24 15:09 align=3D"right">7.4M 
valign=3D"top">3D"[ href=3D"cmake-2.8.10-win32-x86.exe">cmake-2.8.10-win32-x86.exe align=3D"right">2012-10-31 13:04 align=3D"right">9.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10-win32-x86.zip">cmake-2.8.10-win32-x86.zip align=3D"right">2012-10-31 13:04 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10.1-AIX-powerpc.sh">cmake-2.8.10.1-AIX-powerpc.sh<= /td> align=3D"right">2012-11-07 11:48 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-AIX-powerpc.tar.Z">cmake-2.8.10.1-AIX-powerpc.tar.= Z align=3D"right">2012-11-07 11:48 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-AIX-powerpc.tar.gz">cmake-2.8.10.1-AIX-powerpc.tar= .gz align=3D"right">2012-11-07 11:48 > 20M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-Darwin-universal.dmg">cmake-2.8.10.1-Darwin-univer= sal.dmg align=3D"right">2012-11-07 11:48 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-Darwin-universal.tar.Z">cmake-2.8.10.1-Darwin-univ= ersal.tar.Z align=3D"right">2012-11-07 11:48 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-Darwin-universal.tar.gz">cmake-2.8.10.1-Darwin-uni= versal.tar.gz align=3D"right">2012-11-07 11:48 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-Darwin64-universal.dmg">cmake-2.8.10.1-Darwin64-un= iversal.dmg align=3D"right">2012-11-07 11:48 > 38M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-Darwin64-universal.tar.Z">cmake-2.8.10.1-Darwin64-= universal.tar.Z align=3D"right">2012-11-07 11:48 > 53M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-Darwin64-universal.tar.gz">cmake-2.8.10.1-Darwin64= -universal.tar.gz align=3D"right">2012-11-07 11:48 > 38M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10.1-IRIX64-64.sh">cmake-2.8.10.1-IRIX64-64.sh align=3D"right">2012-11-07 11:48 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-IRIX64-64.tar.Z">cmake-2.8.10.1-IRIX64-64.tar.Z align=3D"right">2012-11-07 11:48 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-IRIX64-64.tar.gz">cmake-2.8.10.1-IRIX64-64.tar.gz<= /a> align=3D"right">2012-11-07 11:48 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10.1-IRIX64-n32.sh">cmake-2.8.10.1-IRIX64-n32.sh align=3D"right">2012-11-07 11:47 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-IRIX64-n32.tar.Z">cmake-2.8.10.1-IRIX64-n32.tar.Z<= /a> align=3D"right">2012-11-07 11:47 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-IRIX64-n32.tar.gz">cmake-2.8.10.1-IRIX64-n32.tar.g= z align=3D"right">2012-11-07 11:47 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10.1-Linux-i386.sh">cmake-2.8.10.1-Linux-i386.sh align=3D"right">2012-11-07 11:47 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-Linux-i386.tar.Z">cmake-2.8.10.1-Linux-i386.tar.Z<= /a> align=3D"right">2012-11-07 11:47 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-Linux-i386.tar.gz">cmake-2.8.10.1-Linux-i386.tar.g= z align=3D"right">2012-11-07 11:47 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10.1-SHA-256.txt">cmake-2.8.10.1-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.10.1-SHA-256.txt.asc">cmake-2.8.10.1-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1-win32-x86.exe">cmake-2.8.10.1-win32-x86.exe align=3D"right">2012-11-07 11:47 align=3D"right">9.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10.1-win32-x86.zip">cmake-2.8.10.1-win32-x86.zip align=3D"right">2012-11-07 11:47 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.1.tar.Z">cmake-2.8.10.1.tar.Z align=3D"right">2012-11-07 11:47 align=3D"right">8.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10.1.tar.gz">cmake-2.8.10.1.tar.gz align=3D"right">2012-11-07 11:47 align=3D"right">5.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10.1.zip">cmake-2.8.10.1.zip align=3D"right">2012-11-07 11:47 align=3D"right">7.4M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.10.2-AIX-powerpc.sh">cmake-2.8.10.2-AIX-powerpc.sh<= /td> align=3D"right">2012-11-27 15:05 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-AIX-powerpc.tar.Z">cmake-2.8.10.2-AIX-powerpc.tar.= Z align=3D"right">2012-11-27 15:05 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-AIX-powerpc.tar.gz">cmake-2.8.10.2-AIX-powerpc.tar= .gz align=3D"right">2012-11-27 15:04 > 20M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-Darwin-universal.dmg">cmake-2.8.10.2-Darwin-univer= sal.dmg align=3D"right">2012-11-27 15:04 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-Darwin-universal.tar.Z">cmake-2.8.10.2-Darwin-univ= ersal.tar.Z align=3D"right">2012-11-27 15:04 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-Darwin-universal.tar.gz">cmake-2.8.10.2-Darwin-uni= versal.tar.gz align=3D"right">2012-11-27 15:04 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-Darwin64-universal.dmg">cmake-2.8.10.2-Darwin64-un= iversal.dmg align=3D"right">2012-11-27 15:04 > 38M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-Darwin64-universal.tar.Z">cmake-2.8.10.2-Darwin64-= universal.tar.Z align=3D"right">2012-11-27 15:04 > 53M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-Darwin64-universal.tar.gz">cmake-2.8.10.2-Darwin64= -universal.tar.gz align=3D"right">2012-11-27 15:04 > 38M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10.2-IRIX64-64.sh">cmake-2.8.10.2-IRIX64-64.sh align=3D"right">2012-11-27 15:04 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-IRIX64-64.tar.Z">cmake-2.8.10.2-IRIX64-64.tar.Z align=3D"right">2012-11-27 15:04 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-IRIX64-64.tar.gz">cmake-2.8.10.2-IRIX64-64.tar.gz<= /a> align=3D"right">2012-11-27 15:04 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10.2-IRIX64-n32.sh">cmake-2.8.10.2-IRIX64-n32.sh align=3D"right">2012-11-27 15:04 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-IRIX64-n32.tar.Z">cmake-2.8.10.2-IRIX64-n32.tar.Z<= /a> align=3D"right">2012-11-27 15:04 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-IRIX64-n32.tar.gz">cmake-2.8.10.2-IRIX64-n32.tar.g= z align=3D"right">2012-11-27 15:04 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10.2-Linux-i386.sh">cmake-2.8.10.2-Linux-i386.sh align=3D"right">2012-11-27 15:04 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-Linux-i386.tar.Z">cmake-2.8.10.2-Linux-i386.tar.Z<= /a> align=3D"right">2012-11-27 15:04 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-Linux-i386.tar.gz">cmake-2.8.10.2-Linux-i386.tar.g= z align=3D"right">2012-11-27 15:04 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.10.2-SHA-256.txt">cmake-2.8.10.2-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.10.2-SHA-256.txt.asc">cmake-2.8.10.2-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2-win32-x86.exe">cmake-2.8.10.2-win32-x86.exe align=3D"right">2012-11-27 15:04 align=3D"right">9.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10.2-win32-x86.zip">cmake-2.8.10.2-win32-x86.zip align=3D"right">2012-11-27 15:03 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.10.2.tar.Z">cmake-2.8.10.2.tar.Z align=3D"right">2012-11-27 15:03 align=3D"right">8.7M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10.2.tar.gz">cmake-2.8.10.2.tar.gz align=3D"right">2012-11-27 15:03 align=3D"right">5.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10.2.zip">cmake-2.8.10.2.zip align=3D"right">2012-11-27 15:03 align=3D"right">7.4M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10.tar.Z">cmake-2.8.10.tar.Z align=3D"right">2012-10-31 13:03 align=3D"right">8.7M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10.tar.gz">cmake-2.8.10.tar.gz align=3D"right">2012-10-31 13:03 align=3D"right">5.5M 
valign=3D"top">3D"[= href=3D"cmake-2.8.10.zip">cmake-2.8.10.zip align=3D"right">2012-10-31 13:03 align=3D"right">7.4M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.11-AIX-powerpc.sh">cmake-2.8.11-AIX-powerpc.sh align=3D"right">2013-06-07 14:42 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-AIX-powerpc.tar.Z">cmake-2.8.11-AIX-powerpc.tar.Z align=3D"right">2013-06-07 14:42 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-AIX-powerpc.tar.gz">cmake-2.8.11-AIX-powerpc.tar.gz<= /a> align=3D"right">2013-06-07 14:42 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-Darwin-universal.dmg">cmake-2.8.11-Darwin-universal.= dmg align=3D"right">2013-05-15 15:54 > 42M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-Darwin-universal.tar.Z">cmake-2.8.11-Darwin-universa= l.tar.Z align=3D"right">2013-05-15 15:54 > 59M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-Darwin-universal.tar.gz">cmake-2.8.11-Darwin-univers= al.tar.gz align=3D"right">2013-05-15 15:54 > 42M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-Darwin64-universal.dmg">cmake-2.8.11-Darwin64-univer= sal.dmg align=3D"right">2013-05-15 15:54 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-Darwin64-universal.tar.Z">cmake-2.8.11-Darwin64-univ= ersal.tar.Z align=3D"right">2013-05-15 15:54 > 55M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-Darwin64-universal.tar.gz">cmake-2.8.11-Darwin64-uni= versal.tar.gz align=3D"right">2013-05-15 15:54 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-IRIX64-64.sh">cmake-2.8.11-IRIX64-64.sh align=3D"right">2013-05-15 15:53 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-IRIX64-64.tar.Z">cmake-2.8.11-IRIX64-64.tar.Z align=3D"right">2013-05-15 15:53 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-IRIX64-64.tar.gz">cmake-2.8.11-IRIX64-64.tar.gz<= /td> align=3D"right">2013-05-15 15:53 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-IRIX64-n32.sh">cmake-2.8.11-IRIX64-n32.sh align=3D"right">2013-05-15 15:53 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-IRIX64-n32.tar.Z">cmake-2.8.11-IRIX64-n32.tar.Z<= /td> align=3D"right">2013-05-15 15:53 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-IRIX64-n32.tar.gz">cmake-2.8.11-IRIX64-n32.tar.gz align=3D"right">2013-05-15 15:53 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-Linux-i386.sh">cmake-2.8.11-Linux-i386.sh align=3D"right">2013-05-15 15:53 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-Linux-i386.tar.Z">cmake-2.8.11-Linux-i386.tar.Z<= /td> align=3D"right">2013-05-15 15:53 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-Linux-i386.tar.gz">cmake-2.8.11-Linux-i386.tar.gz align=3D"right">2013-05-15 15:53 > 23M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-SHA-256.txt">cmake-2.8.11-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.4K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.11-SHA-256.txt.asc">cmake-2.8.11-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc1-AIX-powerpc.sh">cmake-2.8.11-rc1-AIX-powerpc.sh<= /a> align=3D"right">2013-03-14 17:16 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-AIX-powerpc.tar.Z">cmake-2.8.11-rc1-AIX-powerpc.= tar.Z align=3D"right">2013-03-14 17:16 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-AIX-powerpc.tar.gz">cmake-2.8.11-rc1-AIX-powerpc= .tar.gz align=3D"right">2013-03-14 17:16 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-Darwin-universal.dmg">cmake-2.8.11-rc1-Darwin-un= iversal.dmg align=3D"right">2013-03-14 17:16 > 42M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-Darwin-universal.tar.Z">cmake-2.8.11-rc1-Darwin-= universal.tar.Z align=3D"right">2013-03-14 17:16 > 59M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-Darwin-universal.tar.gz">cmake-2.8.11-rc1-Darwin= -universal.tar.gz align=3D"right">2013-03-14 17:16 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-Darwin64-universal.dmg">cmake-2.8.11-rc1-Darwin6= 4-universal.dmg align=3D"right">2013-03-14 17:15 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-Darwin64-universal.tar.Z">cmake-2.8.11-rc1-Darwi= n64-universal.tar.Z align=3D"right">2013-03-14 17:15 > 55M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-Darwin64-universal.tar.gz">cmake-2.8.11-rc1-Darw= in64-universal.tar.gz align=3D"right">2013-03-14 17:15 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc1-IRIX64-64.sh">cmake-2.8.11-rc1-IRIX64-64.sh<= /td> align=3D"right">2013-03-14 17:15 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-IRIX64-64.tar.Z">cmake-2.8.11-rc1-IRIX64-64.tar.= Z align=3D"right">2013-03-14 17:15 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-IRIX64-64.tar.gz">cmake-2.8.11-rc1-IRIX64-64.tar= .gz align=3D"right">2013-03-14 17:15 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc1-IRIX64-n32.sh">cmake-2.8.11-rc1-IRIX64-n32.sh align=3D"right">2013-03-14 17:15 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-IRIX64-n32.tar.Z">cmake-2.8.11-rc1-IRIX64-n32.ta= r.Z align=3D"right">2013-03-14 17:15 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-IRIX64-n32.tar.gz">cmake-2.8.11-rc1-IRIX64-n32.t= ar.gz align=3D"right">2013-03-14 17:15 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc1-Linux-i386.sh">cmake-2.8.11-rc1-Linux-i386.sh align=3D"right">2013-03-14 17:15 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-Linux-i386.tar.Z">cmake-2.8.11-rc1-Linux-i386.ta= r.Z align=3D"right">2013-03-14 17:15 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-Linux-i386.tar.gz">cmake-2.8.11-rc1-Linux-i386.t= ar.gz align=3D"right">2013-03-14 17:15 > 23M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc1-SHA-256.txt">cmake-2.8.11-rc1-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.11-rc1-SHA-256.txt.asc">cmake-2.8.11-rc1-SHA-256.txt.as= c align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1-win32-x86.exe">cmake-2.8.11-rc1-win32-x86.exe align=3D"right">2013-03-14 17:15 align=3D"right">9.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-rc1-win32-x86.zip">cmake-2.8.11-rc1-win32-x86.zip align=3D"right">2013-03-14 17:14 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc1.tar.Z">cmake-2.8.11-rc1.tar.Z align=3D"right">2013-03-14 17:14 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-rc1.tar.gz">cmake-2.8.11-rc1.tar.gz align=3D"right">2013-03-14 17:14 align=3D"right">5.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-rc1.zip">cmake-2.8.11-rc1.zip align=3D"right">2013-03-14 17:14 align=3D"right">7.6M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.11-rc2-AIX-powerpc.sh">cmake-2.8.11-rc2-AIX-powerpc.sh<= /a> align=3D"right">2013-04-05 18:01 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-AIX-powerpc.tar.Z">cmake-2.8.11-rc2-AIX-powerpc.= tar.Z align=3D"right">2013-04-05 18:01 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-AIX-powerpc.tar.gz">cmake-2.8.11-rc2-AIX-powerpc= .tar.gz align=3D"right">2013-04-05 18:01 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-Darwin-universal.dmg">cmake-2.8.11-rc2-Darwin-un= iversal.dmg align=3D"right">2013-04-05 18:01 > 42M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-Darwin-universal.tar.Z">cmake-2.8.11-rc2-Darwin-= universal.tar.Z align=3D"right">2013-04-05 18:01 > 59M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-Darwin-universal.tar.gz">cmake-2.8.11-rc2-Darwin= -universal.tar.gz align=3D"right">2013-04-05 18:01 > 42M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-Darwin64-universal.dmg">cmake-2.8.11-rc2-Darwin6= 4-universal.dmg align=3D"right">2013-04-05 18:01 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-Darwin64-universal.tar.Z">cmake-2.8.11-rc2-Darwi= n64-universal.tar.Z align=3D"right">2013-04-05 18:01 > 55M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-Darwin64-universal.tar.gz">cmake-2.8.11-rc2-Darw= in64-universal.tar.gz align=3D"right">2013-04-05 18:01 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc2-IRIX64-64.sh">cmake-2.8.11-rc2-IRIX64-64.sh<= /td> align=3D"right">2013-04-05 18:01 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-IRIX64-64.tar.Z">cmake-2.8.11-rc2-IRIX64-64.tar.= Z align=3D"right">2013-04-05 18:01 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-IRIX64-64.tar.gz">cmake-2.8.11-rc2-IRIX64-64.tar= .gz align=3D"right">2013-04-05 18:01 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc2-IRIX64-n32.sh">cmake-2.8.11-rc2-IRIX64-n32.sh align=3D"right">2013-04-05 18:01 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-IRIX64-n32.tar.Z">cmake-2.8.11-rc2-IRIX64-n32.ta= r.Z align=3D"right">2013-04-05 18:01 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-IRIX64-n32.tar.gz">cmake-2.8.11-rc2-IRIX64-n32.t= ar.gz align=3D"right">2013-04-05 18:00 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc2-Linux-i386.sh">cmake-2.8.11-rc2-Linux-i386.sh align=3D"right">2013-04-05 18:00 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-Linux-i386.tar.Z">cmake-2.8.11-rc2-Linux-i386.ta= r.Z align=3D"right">2013-04-05 18:00 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-Linux-i386.tar.gz">cmake-2.8.11-rc2-Linux-i386.t= ar.gz align=3D"right">2013-04-05 18:00 > 23M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc2-SHA-256.txt">cmake-2.8.11-rc2-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.11-rc2-SHA-256.txt.asc">cmake-2.8.11-rc2-SHA-256.txt.as= c align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2-win32-x86.exe">cmake-2.8.11-rc2-win32-x86.exe align=3D"right">2013-04-05 18:00 align=3D"right">9.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-rc2-win32-x86.zip">cmake-2.8.11-rc2-win32-x86.zip align=3D"right">2013-04-05 18:00 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc2.tar.Z">cmake-2.8.11-rc2.tar.Z align=3D"right">2013-04-05 18:00 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-rc2.tar.gz">cmake-2.8.11-rc2.tar.gz align=3D"right">2013-04-05 18:00 align=3D"right">5.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-rc2.zip">cmake-2.8.11-rc2.zip align=3D"right">2013-04-05 18:00 align=3D"right">7.6M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.11-rc3-AIX-powerpc.sh">cmake-2.8.11-rc3-AIX-powerpc.sh<= /a> align=3D"right">2013-04-18 17:33 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-AIX-powerpc.tar.Z">cmake-2.8.11-rc3-AIX-powerpc.= tar.Z align=3D"right">2013-04-18 17:33 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-AIX-powerpc.tar.gz">cmake-2.8.11-rc3-AIX-powerpc= .tar.gz align=3D"right">2013-04-18 17:33 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-Darwin-universal.dmg">cmake-2.8.11-rc3-Darwin-un= iversal.dmg align=3D"right">2013-04-18 17:33 > 42M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-Darwin-universal.tar.Z">cmake-2.8.11-rc3-Darwin-= universal.tar.Z align=3D"right">2013-04-18 17:33 > 59M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-Darwin-universal.tar.gz">cmake-2.8.11-rc3-Darwin= -universal.tar.gz align=3D"right">2013-04-18 17:33 > 42M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-Darwin64-universal.dmg">cmake-2.8.11-rc3-Darwin6= 4-universal.dmg align=3D"right">2013-04-18 17:33 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-Darwin64-universal.tar.Z">cmake-2.8.11-rc3-Darwi= n64-universal.tar.Z align=3D"right">2013-04-18 17:33 > 55M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-Darwin64-universal.tar.gz">cmake-2.8.11-rc3-Darw= in64-universal.tar.gz align=3D"right">2013-04-18 17:33 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc3-IRIX64-64.sh">cmake-2.8.11-rc3-IRIX64-64.sh<= /td> align=3D"right">2013-04-18 17:33 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-IRIX64-64.tar.Z">cmake-2.8.11-rc3-IRIX64-64.tar.= Z align=3D"right">2013-04-18 17:33 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-IRIX64-64.tar.gz">cmake-2.8.11-rc3-IRIX64-64.tar= .gz align=3D"right">2013-04-18 17:33 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc3-IRIX64-n32.sh">cmake-2.8.11-rc3-IRIX64-n32.sh align=3D"right">2013-04-18 17:33 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-IRIX64-n32.tar.Z">cmake-2.8.11-rc3-IRIX64-n32.ta= r.Z align=3D"right">2013-04-18 17:33 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-IRIX64-n32.tar.gz">cmake-2.8.11-rc3-IRIX64-n32.t= ar.gz align=3D"right">2013-04-18 17:33 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc3-Linux-i386.sh">cmake-2.8.11-rc3-Linux-i386.sh align=3D"right">2013-04-18 17:32 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-Linux-i386.tar.Z">cmake-2.8.11-rc3-Linux-i386.ta= r.Z align=3D"right">2013-04-18 17:32 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-Linux-i386.tar.gz">cmake-2.8.11-rc3-Linux-i386.t= ar.gz align=3D"right">2013-04-18 17:32 > 23M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc3-SHA-256.txt">cmake-2.8.11-rc3-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.11-rc3-SHA-256.txt.asc">cmake-2.8.11-rc3-SHA-256.txt.as= c align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3-win32-x86.exe">cmake-2.8.11-rc3-win32-x86.exe align=3D"right">2013-04-18 17:32 align=3D"right">9.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-rc3-win32-x86.zip">cmake-2.8.11-rc3-win32-x86.zip align=3D"right">2013-04-18 17:32 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc3.tar.Z">cmake-2.8.11-rc3.tar.Z align=3D"right">2013-04-18 17:32 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-rc3.tar.gz">cmake-2.8.11-rc3.tar.gz align=3D"right">2013-04-18 17:32 align=3D"right">5.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-rc3.zip">cmake-2.8.11-rc3.zip align=3D"right">2013-04-18 17:32 align=3D"right">7.6M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.11-rc4-AIX-powerpc.sh">cmake-2.8.11-rc4-AIX-powerpc.sh<= /a> align=3D"right">2013-05-08 09:54 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-AIX-powerpc.tar.Z">cmake-2.8.11-rc4-AIX-powerpc.= tar.Z align=3D"right">2013-05-08 09:54 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-AIX-powerpc.tar.gz">cmake-2.8.11-rc4-AIX-powerpc= .tar.gz align=3D"right">2013-05-08 09:54 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-Darwin-universal.dmg">cmake-2.8.11-rc4-Darwin-un= iversal.dmg align=3D"right">2013-05-08 09:54 > 42M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-Darwin-universal.tar.Z">cmake-2.8.11-rc4-Darwin-= universal.tar.Z align=3D"right">2013-05-08 09:54 > 59M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-Darwin-universal.tar.gz">cmake-2.8.11-rc4-Darwin= -universal.tar.gz align=3D"right">2013-05-08 09:54 > 42M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-Darwin64-universal.dmg">cmake-2.8.11-rc4-Darwin6= 4-universal.dmg align=3D"right">2013-05-08 09:54 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-Darwin64-universal.tar.Z">cmake-2.8.11-rc4-Darwi= n64-universal.tar.Z align=3D"right">2013-05-08 09:54 > 55M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-Darwin64-universal.tar.gz">cmake-2.8.11-rc4-Darw= in64-universal.tar.gz align=3D"right">2013-05-08 09:54 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc4-IRIX64-64.sh">cmake-2.8.11-rc4-IRIX64-64.sh<= /td> align=3D"right">2013-05-08 09:54 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-IRIX64-64.tar.Z">cmake-2.8.11-rc4-IRIX64-64.tar.= Z align=3D"right">2013-05-08 09:54 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-IRIX64-64.tar.gz">cmake-2.8.11-rc4-IRIX64-64.tar= .gz align=3D"right">2013-05-08 09:53 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc4-IRIX64-n32.sh">cmake-2.8.11-rc4-IRIX64-n32.sh align=3D"right">2013-05-08 09:53 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-IRIX64-n32.tar.Z">cmake-2.8.11-rc4-IRIX64-n32.ta= r.Z align=3D"right">2013-05-08 09:53 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-IRIX64-n32.tar.gz">cmake-2.8.11-rc4-IRIX64-n32.t= ar.gz align=3D"right">2013-05-08 09:53 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc4-Linux-i386.sh">cmake-2.8.11-rc4-Linux-i386.sh align=3D"right">2013-05-08 09:53 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-Linux-i386.tar.Z">cmake-2.8.11-rc4-Linux-i386.ta= r.Z align=3D"right">2013-05-08 09:53 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-Linux-i386.tar.gz">cmake-2.8.11-rc4-Linux-i386.t= ar.gz align=3D"right">2013-05-08 09:53 > 23M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11-rc4-SHA-256.txt">cmake-2.8.11-rc4-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.11-rc4-SHA-256.txt.asc">cmake-2.8.11-rc4-SHA-256.txt.as= c align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4-win32-x86.exe">cmake-2.8.11-rc4-win32-x86.exe align=3D"right">2013-05-08 09:53 align=3D"right">9.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-rc4-win32-x86.zip">cmake-2.8.11-rc4-win32-x86.zip align=3D"right">2013-05-08 09:53 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11-rc4.tar.Z">cmake-2.8.11-rc4.tar.Z align=3D"right">2013-05-08 09:53 align=3D"right">8.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-rc4.tar.gz">cmake-2.8.11-rc4.tar.gz align=3D"right">2013-05-08 09:53 align=3D"right">5.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-rc4.zip">cmake-2.8.11-rc4.zip align=3D"right">2013-05-08 09:53 align=3D"right">7.6M 
valign=3D"top">3D"[ href=3D"cmake-2.8.11-win32-x86.exe">cmake-2.8.11-win32-x86.exe align=3D"right">2013-05-15 15:53 align=3D"right">9.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11-win32-x86.zip">cmake-2.8.11-win32-x86.zip align=3D"right">2013-05-15 15:53 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11.1-AIX-powerpc.sh">cmake-2.8.11.1-AIX-powerpc.sh<= /td> align=3D"right">2013-06-07 14:41 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-AIX-powerpc.tar.Z">cmake-2.8.11.1-AIX-powerpc.tar.= Z align=3D"right">2013-06-07 14:41 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-AIX-powerpc.tar.gz">cmake-2.8.11.1-AIX-powerpc.tar= .gz align=3D"right">2013-06-07 14:41 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-Darwin-universal.dmg">cmake-2.8.11.1-Darwin-univer= sal.dmg align=3D"right">2013-06-07 14:41 > 42M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-Darwin-universal.tar.Z">cmake-2.8.11.1-Darwin-univ= ersal.tar.Z align=3D"right">2013-06-07 14:41 > 59M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-Darwin-universal.tar.gz">cmake-2.8.11.1-Darwin-uni= versal.tar.gz align=3D"right">2013-06-07 14:41 > 42M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-Darwin64-universal.dmg">cmake-2.8.11.1-Darwin64-un= iversal.dmg align=3D"right">2013-06-07 14:41 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-Darwin64-universal.tar.Z">cmake-2.8.11.1-Darwin64-= universal.tar.Z align=3D"right">2013-06-07 14:41 > 55M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-Darwin64-universal.tar.gz">cmake-2.8.11.1-Darwin64= -universal.tar.gz align=3D"right">2013-06-07 14:41 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11.1-IRIX64-64.sh">cmake-2.8.11.1-IRIX64-64.sh align=3D"right">2013-06-07 14:41 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-IRIX64-64.tar.Z">cmake-2.8.11.1-IRIX64-64.tar.Z align=3D"right">2013-06-07 14:41 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-IRIX64-64.tar.gz">cmake-2.8.11.1-IRIX64-64.tar.gz<= /a> align=3D"right">2013-06-07 14:41 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11.1-IRIX64-n32.sh">cmake-2.8.11.1-IRIX64-n32.sh align=3D"right">2013-06-07 14:41 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-IRIX64-n32.tar.Z">cmake-2.8.11.1-IRIX64-n32.tar.Z<= /a> align=3D"right">2013-06-07 14:41 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-IRIX64-n32.tar.gz">cmake-2.8.11.1-IRIX64-n32.tar.g= z align=3D"right">2013-06-07 14:41 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11.1-Linux-i386.sh">cmake-2.8.11.1-Linux-i386.sh align=3D"right">2013-06-07 14:41 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-Linux-i386.tar.Z">cmake-2.8.11.1-Linux-i386.tar.Z<= /a> align=3D"right">2013-06-07 14:40 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-Linux-i386.tar.gz">cmake-2.8.11.1-Linux-i386.tar.g= z align=3D"right">2013-06-07 14:40 > 23M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11.1-SHA-256.txt">cmake-2.8.11.1-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.11.1-SHA-256.txt.asc">cmake-2.8.11.1-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1-win32-x86.exe">cmake-2.8.11.1-win32-x86.exe align=3D"right">2013-06-07 14:40 align=3D"right">9.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11.1-win32-x86.zip">cmake-2.8.11.1-win32-x86.zip align=3D"right">2013-06-07 14:40 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.1.tar.Z">cmake-2.8.11.1.tar.Z align=3D"right">2013-06-07 14:40 align=3D"right">8.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11.1.tar.gz">cmake-2.8.11.1.tar.gz align=3D"right">2013-06-07 14:40 align=3D"right">5.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11.1.zip">cmake-2.8.11.1.zip align=3D"right">2013-06-07 14:40 align=3D"right">7.6M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.11.2-AIX-powerpc.sh">cmake-2.8.11.2-AIX-powerpc.sh<= /td> align=3D"right">2013-07-03 11:53 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-AIX-powerpc.tar.Z">cmake-2.8.11.2-AIX-powerpc.tar.= Z align=3D"right">2013-07-03 11:53 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-AIX-powerpc.tar.gz">cmake-2.8.11.2-AIX-powerpc.tar= .gz align=3D"right">2013-07-03 11:53 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-Darwin-universal.dmg">cmake-2.8.11.2-Darwin-univer= sal.dmg align=3D"right">2013-07-03 11:53 > 42M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-Darwin-universal.tar.Z">cmake-2.8.11.2-Darwin-univ= ersal.tar.Z align=3D"right">2013-07-03 11:53 > 59M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-Darwin-universal.tar.gz">cmake-2.8.11.2-Darwin-uni= versal.tar.gz align=3D"right">2013-07-03 11:53 > 42M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-Darwin64-universal.dmg">cmake-2.8.11.2-Darwin64-un= iversal.dmg align=3D"right">2013-07-03 11:53 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-Darwin64-universal.tar.Z">cmake-2.8.11.2-Darwin64-= universal.tar.Z align=3D"right">2013-07-03 11:53 > 55M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-Darwin64-universal.tar.gz">cmake-2.8.11.2-Darwin64= -universal.tar.gz align=3D"right">2013-07-03 11:53 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11.2-IRIX64-64.sh">cmake-2.8.11.2-IRIX64-64.sh align=3D"right">2013-07-03 11:53 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-IRIX64-64.tar.Z">cmake-2.8.11.2-IRIX64-64.tar.Z align=3D"right">2013-07-03 11:53 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-IRIX64-64.tar.gz">cmake-2.8.11.2-IRIX64-64.tar.gz<= /a> align=3D"right">2013-07-03 11:52 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11.2-IRIX64-n32.sh">cmake-2.8.11.2-IRIX64-n32.sh align=3D"right">2013-07-03 11:52 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-IRIX64-n32.tar.Z">cmake-2.8.11.2-IRIX64-n32.tar.Z<= /a> align=3D"right">2013-07-03 11:52 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-IRIX64-n32.tar.gz">cmake-2.8.11.2-IRIX64-n32.tar.g= z align=3D"right">2013-07-03 11:52 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11.2-Linux-i386.sh">cmake-2.8.11.2-Linux-i386.sh align=3D"right">2013-07-03 11:52 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-Linux-i386.tar.Z">cmake-2.8.11.2-Linux-i386.tar.Z<= /a> align=3D"right">2013-07-03 11:52 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-Linux-i386.tar.gz">cmake-2.8.11.2-Linux-i386.tar.g= z align=3D"right">2013-07-03 11:52 > 23M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.11.2-SHA-256.txt">cmake-2.8.11.2-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.11.2-SHA-256.txt.asc">cmake-2.8.11.2-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2-win32-x86.exe">cmake-2.8.11.2-win32-x86.exe align=3D"right">2013-07-03 11:52 align=3D"right">9.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11.2-win32-x86.zip">cmake-2.8.11.2-win32-x86.zip align=3D"right">2013-07-03 11:52 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.11.2.tar.Z">cmake-2.8.11.2.tar.Z align=3D"right">2013-07-03 11:52 align=3D"right">8.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11.2.tar.gz">cmake-2.8.11.2.tar.gz align=3D"right">2013-07-03 11:52 align=3D"right">5.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11.2.zip">cmake-2.8.11.2.zip align=3D"right">2013-07-03 11:52 align=3D"right">7.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11.tar.Z">cmake-2.8.11.tar.Z align=3D"right">2013-05-15 15:53 align=3D"right">8.9M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11.tar.gz">cmake-2.8.11.tar.gz align=3D"right">2013-05-15 15:53 align=3D"right">5.6M 
valign=3D"top">3D"[= href=3D"cmake-2.8.11.zip">cmake-2.8.11.zip align=3D"right">2013-05-15 15:53 align=3D"right">7.6M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.12-AIX-powerpc.sh">cmake-2.8.12-AIX-powerpc.sh align=3D"right">2013-10-07 14:34 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-AIX-powerpc.tar.Z">cmake-2.8.12-AIX-powerpc.tar.Z align=3D"right">2013-10-07 14:34 > 32M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-AIX-powerpc.tar.gz">cmake-2.8.12-AIX-powerpc.tar.gz<= /a> align=3D"right">2013-10-07 14:34 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-Darwin-universal.dmg">cmake-2.8.12-Darwin-universal.= dmg align=3D"right">2013-10-07 14:34 > 43M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-Darwin-universal.tar.Z">cmake-2.8.12-Darwin-universa= l.tar.Z align=3D"right">2013-10-07 14:33 > 61M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-Darwin-universal.tar.gz">cmake-2.8.12-Darwin-univers= al.tar.gz align=3D"right">2013-10-07 14:33 > 43M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-Darwin64-universal.dmg">cmake-2.8.12-Darwin64-univer= sal.dmg align=3D"right">2013-10-07 14:33 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-Darwin64-universal.tar.Z">cmake-2.8.12-Darwin64-univ= ersal.tar.Z align=3D"right">2013-10-07 14:33 > 57M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-Darwin64-universal.tar.gz">cmake-2.8.12-Darwin64-uni= versal.tar.gz align=3D"right">2013-10-07 14:33 > 40M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-IRIX64-64.sh">cmake-2.8.12-IRIX64-64.sh align=3D"right">2013-10-07 14:33 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-IRIX64-64.tar.Z">cmake-2.8.12-IRIX64-64.tar.Z align=3D"right">2013-10-07 14:33 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-IRIX64-64.tar.gz">cmake-2.8.12-IRIX64-64.tar.gz<= /td> align=3D"right">2013-10-07 14:33 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-IRIX64-n32.sh">cmake-2.8.12-IRIX64-n32.sh align=3D"right">2013-10-07 14:33 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-IRIX64-n32.tar.Z">cmake-2.8.12-IRIX64-n32.tar.Z<= /td> align=3D"right">2013-10-07 14:33 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-IRIX64-n32.tar.gz">cmake-2.8.12-IRIX64-n32.tar.gz align=3D"right">2013-10-07 14:33 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-Linux-i386.sh">cmake-2.8.12-Linux-i386.sh align=3D"right">2013-10-07 14:33 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-Linux-i386.tar.Z">cmake-2.8.12-Linux-i386.tar.Z<= /td> align=3D"right">2013-10-07 14:33 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-Linux-i386.tar.gz">cmake-2.8.12-Linux-i386.tar.gz align=3D"right">2013-10-07 14:33 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-SHA-256.txt">cmake-2.8.12-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.1K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.12-SHA-256.txt.asc">cmake-2.8.12-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc1-AIX-powerpc.sh">cmake-2.8.12-rc1-AIX-powerpc.sh<= /a> align=3D"right">2013-08-19 08:54 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-AIX-powerpc.tar.Z">cmake-2.8.12-rc1-AIX-powerpc.= tar.Z align=3D"right">2013-08-19 08:54 > 32M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-AIX-powerpc.tar.gz">cmake-2.8.12-rc1-AIX-powerpc= .tar.gz align=3D"right">2013-08-19 08:54 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-Darwin-universal.dmg">cmake-2.8.12-rc1-Darwin-un= iversal.dmg align=3D"right">2013-08-19 08:54 > 43M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-Darwin-universal.tar.Z">cmake-2.8.12-rc1-Darwin-= universal.tar.Z align=3D"right">2013-08-19 08:53 > 61M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-Darwin-universal.tar.gz">cmake-2.8.12-rc1-Darwin= -universal.tar.gz align=3D"right">2013-08-19 08:53 > 43M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-Darwin64-universal.dmg">cmake-2.8.12-rc1-Darwin6= 4-universal.dmg align=3D"right">2013-08-19 08:53 > 40M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-Darwin64-universal.tar.Z">cmake-2.8.12-rc1-Darwi= n64-universal.tar.Z align=3D"right">2013-08-19 08:53 > 57M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-Darwin64-universal.tar.gz">cmake-2.8.12-rc1-Darw= in64-universal.tar.gz align=3D"right">2013-08-19 08:53 > 40M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc1-IRIX64-64.sh">cmake-2.8.12-rc1-IRIX64-64.sh<= /td> align=3D"right">2013-08-19 08:53 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-IRIX64-64.tar.Z">cmake-2.8.12-rc1-IRIX64-64.tar.= Z align=3D"right">2013-08-19 08:53 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-IRIX64-64.tar.gz">cmake-2.8.12-rc1-IRIX64-64.tar= .gz align=3D"right">2013-08-19 08:53 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc1-IRIX64-n32.sh">cmake-2.8.12-rc1-IRIX64-n32.sh align=3D"right">2013-08-19 08:53 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-IRIX64-n32.tar.Z">cmake-2.8.12-rc1-IRIX64-n32.ta= r.Z align=3D"right">2013-08-19 08:53 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-IRIX64-n32.tar.gz">cmake-2.8.12-rc1-IRIX64-n32.t= ar.gz align=3D"right">2013-08-19 08:53 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc1-Linux-i386.sh">cmake-2.8.12-rc1-Linux-i386.sh align=3D"right">2013-08-19 08:52 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-Linux-i386.tar.Z">cmake-2.8.12-rc1-Linux-i386.ta= r.Z align=3D"right">2013-08-19 08:52 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-Linux-i386.tar.gz">cmake-2.8.12-rc1-Linux-i386.t= ar.gz align=3D"right">2013-08-19 08:52 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc1-SHA-256.txt">cmake-2.8.12-rc1-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.12-rc1-SHA-256.txt.asc">cmake-2.8.12-rc1-SHA-256.txt.as= c align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-win32-x86.exe">cmake-2.8.12-rc1-win32-x86.exe align=3D"right">2013-08-19 08:52 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1-win32-x86.zip">cmake-2.8.12-rc1-win32-x86.zip align=3D"right">2013-08-19 08:52 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc1.tar.Z">cmake-2.8.12-rc1.tar.Z align=3D"right">2013-08-19 08:52 align=3D"right">9.1M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12-rc1.tar.gz">cmake-2.8.12-rc1.tar.gz align=3D"right">2013-08-19 08:52 align=3D"right">5.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12-rc1.zip">cmake-2.8.12-rc1.zip align=3D"right">2013-08-19 08:52 align=3D"right">8.0M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.12-rc2-AIX-powerpc.sh">cmake-2.8.12-rc2-AIX-powerpc.sh<= /a> align=3D"right">2013-08-30 15:59 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-AIX-powerpc.tar.Z">cmake-2.8.12-rc2-AIX-powerpc.= tar.Z align=3D"right">2013-08-30 15:59 > 32M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-AIX-powerpc.tar.gz">cmake-2.8.12-rc2-AIX-powerpc= .tar.gz align=3D"right">2013-08-30 15:59 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-Darwin-universal.dmg">cmake-2.8.12-rc2-Darwin-un= iversal.dmg align=3D"right">2013-08-30 15:59 > 43M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-Darwin-universal.tar.Z">cmake-2.8.12-rc2-Darwin-= universal.tar.Z align=3D"right">2013-08-30 15:59 > 61M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-Darwin-universal.tar.gz">cmake-2.8.12-rc2-Darwin= -universal.tar.gz align=3D"right">2013-08-30 15:59 > 43M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-Darwin64-universal.dmg">cmake-2.8.12-rc2-Darwin6= 4-universal.dmg align=3D"right">2013-08-30 15:59 > 40M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-Darwin64-universal.tar.Z">cmake-2.8.12-rc2-Darwi= n64-universal.tar.Z align=3D"right">2013-08-30 15:59 > 57M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-Darwin64-universal.tar.gz">cmake-2.8.12-rc2-Darw= in64-universal.tar.gz align=3D"right">2013-08-30 15:58 > 40M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-IRIX64-64.tar.Z">cmake-2.8.12-rc2-IRIX64-64.tar.= Z align=3D"right">2013-08-30 15:58 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-IRIX64-64.tar.gz">cmake-2.8.12-rc2-IRIX64-64.tar= .gz align=3D"right">2013-08-30 15:58 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc2-IRIX64-n32.sh">cmake-2.8.12-rc2-IRIX64-n32.sh align=3D"right">2013-08-30 15:58 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-IRIX64-n32.tar.Z">cmake-2.8.12-rc2-IRIX64-n32.ta= r.Z align=3D"right">2013-08-30 15:58 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-IRIX64-n32.tar.gz">cmake-2.8.12-rc2-IRIX64-n32.t= ar.gz align=3D"right">2013-08-30 15:58 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc2-Linux-i386.sh">cmake-2.8.12-rc2-Linux-i386.sh align=3D"right">2013-08-30 15:58 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-Linux-i386.tar.Z">cmake-2.8.12-rc2-Linux-i386.ta= r.Z align=3D"right">2013-08-30 15:58 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-Linux-i386.tar.gz">cmake-2.8.12-rc2-Linux-i386.t= ar.gz align=3D"right">2013-08-30 15:58 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc2-SHA-256.txt">cmake-2.8.12-rc2-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.1K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.12-rc2-SHA-256.txt.asc">cmake-2.8.12-rc2-SHA-256.txt.as= c align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-win32-x86.exe">cmake-2.8.12-rc2-win32-x86.exe align=3D"right">2013-08-30 15:58 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2-win32-x86.zip">cmake-2.8.12-rc2-win32-x86.zip align=3D"right">2013-08-30 15:58 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc2.tar.Z">cmake-2.8.12-rc2.tar.Z align=3D"right">2013-08-30 15:58 align=3D"right">9.2M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12-rc2.tar.gz">cmake-2.8.12-rc2.tar.gz align=3D"right">2013-08-30 15:58 align=3D"right">5.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12-rc2.zip">cmake-2.8.12-rc2.zip align=3D"right">2013-08-30 15:58 align=3D"right">8.0M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.12-rc3-AIX-powerpc.sh">cmake-2.8.12-rc3-AIX-powerpc.sh<= /a> align=3D"right">2013-09-10 15:39 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3-AIX-powerpc.tar.Z">cmake-2.8.12-rc3-AIX-powerpc.= tar.Z align=3D"right">2013-09-10 15:39 > 32M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3-AIX-powerpc.tar.gz">cmake-2.8.12-rc3-AIX-powerpc= .tar.gz align=3D"right">2013-09-10 15:39 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3-Darwin-universal.dmg">cmake-2.8.12-rc3-Darwin-un= iversal.dmg align=3D"right">2013-09-10 15:39 > 43M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3-Darwin-universal.tar.Z">cmake-2.8.12-rc3-Darwin-= universal.tar.Z align=3D"right">2013-09-10 15:39 > 61M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3-Darwin-universal.tar.gz">cmake-2.8.12-rc3-Darwin= -universal.tar.gz align=3D"right">2013-09-10 15:39 > 43M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3-Darwin64-universal.dmg">cmake-2.8.12-rc3-Darwin6= 4-universal.dmg align=3D"right">2013-09-10 15:39 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3-Darwin64-universal.tar.Z">cmake-2.8.12-rc3-Darwi= n64-universal.tar.Z align=3D"right">2013-09-10 15:39 > 57M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3-Darwin64-universal.tar.gz">cmake-2.8.12-rc3-Darw= in64-universal.tar.gz align=3D"right">2013-09-10 15:39 > 40M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc3-Linux-i386.sh">cmake-2.8.12-rc3-Linux-i386.sh align=3D"right">2013-09-10 15:39 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3-Linux-i386.tar.Z">cmake-2.8.12-rc3-Linux-i386.ta= r.Z align=3D"right">2013-09-10 15:39 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3-Linux-i386.tar.gz">cmake-2.8.12-rc3-Linux-i386.t= ar.gz align=3D"right">2013-09-10 15:39 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc3-SHA-256.txt">cmake-2.8.12-rc3-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.7K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.12-rc3-SHA-256.txt.asc">cmake-2.8.12-rc3-SHA-256.txt.as= c align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3-win32-x86.exe">cmake-2.8.12-rc3-win32-x86.exe align=3D"right">2013-09-10 15:39 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3-win32-x86.zip">cmake-2.8.12-rc3-win32-x86.zip align=3D"right">2013-09-10 15:38 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc3.tar.Z">cmake-2.8.12-rc3.tar.Z align=3D"right">2013-09-10 15:38 align=3D"right">9.1M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12-rc3.tar.gz">cmake-2.8.12-rc3.tar.gz align=3D"right">2013-09-10 15:38 align=3D"right">5.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12-rc3.zip">cmake-2.8.12-rc3.zip align=3D"right">2013-09-10 15:38 align=3D"right">8.0M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.12-rc4-AIX-powerpc.sh">cmake-2.8.12-rc4-AIX-powerpc.sh<= /a> align=3D"right">2013-10-01 16:23 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-AIX-powerpc.tar.Z">cmake-2.8.12-rc4-AIX-powerpc.= tar.Z align=3D"right">2013-10-01 16:23 > 32M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-AIX-powerpc.tar.gz">cmake-2.8.12-rc4-AIX-powerpc= .tar.gz align=3D"right">2013-10-01 16:23 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-Darwin-universal.dmg">cmake-2.8.12-rc4-Darwin-un= iversal.dmg align=3D"right">2013-10-01 16:23 > 43M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-Darwin-universal.tar.Z">cmake-2.8.12-rc4-Darwin-= universal.tar.Z align=3D"right">2013-10-01 16:23 > 61M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-Darwin-universal.tar.gz">cmake-2.8.12-rc4-Darwin= -universal.tar.gz align=3D"right">2013-10-01 16:23 > 43M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-Darwin64-universal.dmg">cmake-2.8.12-rc4-Darwin6= 4-universal.dmg align=3D"right">2013-10-01 16:23 > 40M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-Darwin64-universal.tar.Z">cmake-2.8.12-rc4-Darwi= n64-universal.tar.Z align=3D"right">2013-10-01 16:23 > 57M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-Darwin64-universal.tar.gz">cmake-2.8.12-rc4-Darw= in64-universal.tar.gz align=3D"right">2013-10-01 16:23 > 40M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc4-IRIX64-64.sh">cmake-2.8.12-rc4-IRIX64-64.sh<= /td> align=3D"right">2013-10-01 16:23 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-IRIX64-64.tar.Z">cmake-2.8.12-rc4-IRIX64-64.tar.= Z align=3D"right">2013-10-01 16:23 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-IRIX64-64.tar.gz">cmake-2.8.12-rc4-IRIX64-64.tar= .gz align=3D"right">2013-10-01 16:23 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc4-IRIX64-n32.sh">cmake-2.8.12-rc4-IRIX64-n32.sh align=3D"right">2013-10-01 16:23 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-IRIX64-n32.tar.Z">cmake-2.8.12-rc4-IRIX64-n32.ta= r.Z align=3D"right">2013-10-01 16:23 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-IRIX64-n32.tar.gz">cmake-2.8.12-rc4-IRIX64-n32.t= ar.gz align=3D"right">2013-10-01 16:23 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc4-Linux-i386.sh">cmake-2.8.12-rc4-Linux-i386.sh align=3D"right">2013-10-01 16:23 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-Linux-i386.tar.Z">cmake-2.8.12-rc4-Linux-i386.ta= r.Z align=3D"right">2013-10-01 16:23 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-Linux-i386.tar.gz">cmake-2.8.12-rc4-Linux-i386.t= ar.gz align=3D"right">2013-10-01 16:23 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12-rc4-SHA-256.txt">cmake-2.8.12-rc4-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.12-rc4-SHA-256.txt.asc">cmake-2.8.12-rc4-SHA-256.txt.as= c align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-win32-x86.exe">cmake-2.8.12-rc4-win32-x86.exe align=3D"right">2013-10-01 16:22 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4-win32-x86.zip">cmake-2.8.12-rc4-win32-x86.zip align=3D"right">2013-10-01 16:22 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-rc4.tar.Z">cmake-2.8.12-rc4.tar.Z align=3D"right">2013-10-01 16:22 align=3D"right">9.1M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12-rc4.tar.gz">cmake-2.8.12-rc4.tar.gz align=3D"right">2013-10-01 16:22 align=3D"right">5.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12-rc4.zip">cmake-2.8.12-rc4.zip align=3D"right">2013-10-01 16:22 align=3D"right">8.0M 
valign=3D"top">3D"[ href=3D"cmake-2.8.12-win32-x86.exe">cmake-2.8.12-win32-x86.exe align=3D"right">2013-10-07 14:33 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12-win32-x86.zip">cmake-2.8.12-win32-x86.zip align=3D"right">2013-10-07 14:33 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12.1-AIX-powerpc.sh">cmake-2.8.12.1-AIX-powerpc.sh<= /td> align=3D"right">2013-11-06 10:48 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-AIX-powerpc.tar.Z">cmake-2.8.12.1-AIX-powerpc.tar.= Z align=3D"right">2013-11-06 10:47 > 32M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-AIX-powerpc.tar.gz">cmake-2.8.12.1-AIX-powerpc.tar= .gz align=3D"right">2013-11-06 10:47 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-Darwin-universal.dmg">cmake-2.8.12.1-Darwin-univer= sal.dmg align=3D"right">2013-11-06 10:47 > 43M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-Darwin-universal.tar.Z">cmake-2.8.12.1-Darwin-univ= ersal.tar.Z align=3D"right">2013-11-06 10:47 > 61M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-Darwin-universal.tar.gz">cmake-2.8.12.1-Darwin-uni= versal.tar.gz align=3D"right">2013-11-06 10:47 > 43M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-Darwin64-universal.dmg">cmake-2.8.12.1-Darwin64-un= iversal.dmg align=3D"right">2013-11-06 10:47 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-Darwin64-universal.tar.Z">cmake-2.8.12.1-Darwin64-= universal.tar.Z align=3D"right">2013-11-06 10:46 > 57M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-Darwin64-universal.tar.gz">cmake-2.8.12.1-Darwin64= -universal.tar.gz align=3D"right">2013-11-06 10:46 > 41M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12.1-IRIX64-64.sh">cmake-2.8.12.1-IRIX64-64.sh align=3D"right">2013-11-06 10:46 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-IRIX64-64.tar.Z">cmake-2.8.12.1-IRIX64-64.tar.Z align=3D"right">2013-11-06 10:46 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-IRIX64-64.tar.gz">cmake-2.8.12.1-IRIX64-64.tar.gz<= /a> align=3D"right">2013-11-06 10:46 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12.1-IRIX64-n32.sh">cmake-2.8.12.1-IRIX64-n32.sh align=3D"right">2013-11-06 10:46 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-IRIX64-n32.tar.Z">cmake-2.8.12.1-IRIX64-n32.tar.Z<= /a> align=3D"right">2013-11-06 10:46 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-IRIX64-n32.tar.gz">cmake-2.8.12.1-IRIX64-n32.tar.g= z align=3D"right">2013-11-06 10:46 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12.1-Linux-i386.sh">cmake-2.8.12.1-Linux-i386.sh align=3D"right">2013-11-06 10:46 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-Linux-i386.tar.Z">cmake-2.8.12.1-Linux-i386.tar.Z<= /a> align=3D"right">2013-11-06 10:46 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-Linux-i386.tar.gz">cmake-2.8.12.1-Linux-i386.tar.g= z align=3D"right">2013-11-06 10:46 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12.1-SHA-256.txt">cmake-2.8.12.1-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.12.1-SHA-256.txt.asc">cmake-2.8.12.1-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-win32-x86.exe">cmake-2.8.12.1-win32-x86.exe align=3D"right">2013-11-06 10:46 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1-win32-x86.zip">cmake-2.8.12.1-win32-x86.zip align=3D"right">2013-11-06 10:46 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.1.tar.Z">cmake-2.8.12.1.tar.Z align=3D"right">2013-11-06 10:45 align=3D"right">9.1M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12.1.tar.gz">cmake-2.8.12.1.tar.gz align=3D"right">2013-11-06 10:45 align=3D"right">5.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12.1.zip">cmake-2.8.12.1.zip align=3D"right">2013-11-06 10:45 align=3D"right">8.0M 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.12.2-AIX-powerpc.sh">cmake-2.8.12.2-AIX-powerpc.sh<= /td> align=3D"right">2014-01-16 14:49 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-AIX-powerpc.tar.Z">cmake-2.8.12.2-AIX-powerpc.tar.= Z align=3D"right">2014-01-16 14:49 > 32M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-AIX-powerpc.tar.gz">cmake-2.8.12.2-AIX-powerpc.tar= .gz align=3D"right">2014-01-16 14:49 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-Darwin-universal.dmg">cmake-2.8.12.2-Darwin-univer= sal.dmg align=3D"right">2014-01-16 14:48 > 43M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-Darwin-universal.tar.Z">cmake-2.8.12.2-Darwin-univ= ersal.tar.Z align=3D"right">2014-01-16 14:48 > 61M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-Darwin-universal.tar.gz">cmake-2.8.12.2-Darwin-uni= versal.tar.gz align=3D"right">2014-01-16 14:48 > 43M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-Darwin64-universal.dmg">cmake-2.8.12.2-Darwin64-un= iversal.dmg align=3D"right">2014-01-16 14:48 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-Darwin64-universal.tar.Z">cmake-2.8.12.2-Darwin64-= universal.tar.Z align=3D"right">2014-01-16 14:48 > 57M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-Darwin64-universal.tar.gz">cmake-2.8.12.2-Darwin64= -universal.tar.gz align=3D"right">2014-01-16 14:48 > 41M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12.2-IRIX64-64.sh">cmake-2.8.12.2-IRIX64-64.sh align=3D"right">2014-01-16 14:48 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-IRIX64-64.tar.Z">cmake-2.8.12.2-IRIX64-64.tar.Z align=3D"right">2014-01-16 14:48 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-IRIX64-64.tar.gz">cmake-2.8.12.2-IRIX64-64.tar.gz<= /a> align=3D"right">2014-01-16 14:48 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12.2-IRIX64-n32.sh">cmake-2.8.12.2-IRIX64-n32.sh align=3D"right">2014-01-16 14:48 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-IRIX64-n32.tar.Z">cmake-2.8.12.2-IRIX64-n32.tar.Z<= /a> align=3D"right">2014-01-16 14:48 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-IRIX64-n32.tar.gz">cmake-2.8.12.2-IRIX64-n32.tar.g= z align=3D"right">2014-01-16 14:48 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12.2-Linux-i386.sh">cmake-2.8.12.2-Linux-i386.sh align=3D"right">2014-01-16 14:48 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-Linux-i386.tar.Z">cmake-2.8.12.2-Linux-i386.tar.Z<= /a> align=3D"right">2014-01-16 14:48 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-Linux-i386.tar.gz">cmake-2.8.12.2-Linux-i386.tar.g= z align=3D"right">2014-01-16 14:48 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-2.8.12.2-SHA-256.txt">cmake-2.8.12.2-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-2.8.12.2-SHA-256.txt.asc">cmake-2.8.12.2-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-win32-x86.exe">cmake-2.8.12.2-win32-x86.exe align=3D"right">2014-01-16 14:48 > 10M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2-win32-x86.zip">cmake-2.8.12.2-win32-x86.zip align=3D"right">2014-01-16 14:48 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-2.8.12.2.tar.Z">cmake-2.8.12.2.tar.Z align=3D"right">2014-01-16 14:48 align=3D"right">9.2M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12.2.tar.gz">cmake-2.8.12.2.tar.gz align=3D"right">2014-01-16 14:48 align=3D"right">5.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12.2.zip">cmake-2.8.12.2.zip align=3D"right">2014-01-16 14:48 align=3D"right">8.0M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12.tar.Z">cmake-2.8.12.tar.Z align=3D"right">2013-10-07 14:32 align=3D"right">9.2M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12.tar.gz">cmake-2.8.12.tar.gz align=3D"right">2013-10-07 14:32 align=3D"right">5.8M 
valign=3D"top">3D"[= href=3D"cmake-2.8.12.zip">cmake-2.8.12.zip align=3D"right">2013-10-07 14:32 align=3D"right">8.0M 

> + > diff --git > a/bitbake/lib/bb/tests/fetch-testdata/files/v3.0/index.html > b/bitbake/lib/bb/tests/fetch-testdata/files/v3.0/index.html new file > mode 100644 index 0000000..2583dcd --- /dev/null > +++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.0/index.html > @@ -0,0 +1,209 @@ > + > + > + > + Index of /files/v3.0 > + > + > +

Index of /files/v3.0

> + > + > + > + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + += + + + + + > + > +
alt=3D"[ICO]">Name href=3D"?C=3DM;O=3DA">Last modified href=3D"?C=3DS;O=3DA">Size href=3D"?C=3DD;O=3DA">Description

alt=3D"[PARENTDIR]">Parent > Directory  - >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-1-src.tar.bz2">cmake-3.0.0-1-src.tar.bz2 align=3D"right">2014-06-10 13:28 align=3D"right">4.2M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-1.tar.bz2">cmake-3.0.0-1.tar.bz2 align=3D"right">2014-06-10 13:28 align=3D"right">8.0M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-Darwin-universal.dmg">cmake-3.0.0-Darwin-universal.dm= g align=3D"right">2014-06-10 13:28 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-Darwin-universal.tar.Z">cmake-3.0.0-Darwin-universal.= tar.Z align=3D"right">2014-06-10 13:27 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-Darwin-universal.tar.gz">cmake-3.0.0-Darwin-universal= .tar.gz align=3D"right">2014-06-10 13:27 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-Darwin64-universal.dmg">cmake-3.0.0-Darwin64-universa= l.dmg align=3D"right">2014-06-10 13:27 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-Darwin64-universal.tar.Z">cmake-3.0.0-Darwin64-univer= sal.tar.Z align=3D"right">2014-06-10 13:27 > 54M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-Darwin64-universal.tar.gz">cmake-3.0.0-Darwin64-unive= rsal.tar.gz align=3D"right">2014-06-10 13:27 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-Linux-i386.sh">cmake-3.0.0-Linux-i386.sh align=3D"right">2014-06-10 13:27 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-Linux-i386.tar.Z">cmake-3.0.0-Linux-i386.tar.Z align=3D"right">2014-06-10 13:27 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-Linux-i386.tar.gz">cmake-3.0.0-Linux-i386.tar.gz<= /td> align=3D"right">2014-06-10 13:27 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-SHA-256.txt">cmake-3.0.0-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.3K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.0-SHA-256.txt.asc">cmake-3.0.0-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-1-src.tar.bz2">cmake-3.0.0-rc1-1-src.tar.bz2<= /td> align=3D"right">2014-02-28 13:54 align=3D"right">4.2M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc1-1.tar.bz2">cmake-3.0.0-rc1-1.tar.bz2 align=3D"right">2014-02-28 13:54 align=3D"right">8.0M 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.0-rc1-AIX-powerpc.sh">cmake-3.0.0-rc1-AIX-powerpc.sh align=3D"right">2014-02-28 13:54 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-AIX-powerpc.tar.Z">cmake-3.0.0-rc1-AIX-powerpc.ta= r.Z align=3D"right">2014-02-28 13:54 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-AIX-powerpc.tar.gz">cmake-3.0.0-rc1-AIX-powerpc.t= ar.gz align=3D"right">2014-02-28 13:54 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-Darwin-universal.dmg">cmake-3.0.0-rc1-Darwin-univ= ersal.dmg align=3D"right">2014-02-28 13:54 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-Darwin-universal.tar.Z">cmake-3.0.0-rc1-Darwin-un= iversal.tar.Z align=3D"right">2014-02-28 13:54 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-Darwin-universal.tar.gz">cmake-3.0.0-rc1-Darwin-u= niversal.tar.gz align=3D"right">2014-02-28 13:54 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-Darwin64-universal.dmg">cmake-3.0.0-rc1-Darwin64-= universal.dmg align=3D"right">2014-02-28 13:54 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-Darwin64-universal.tar.Z">cmake-3.0.0-rc1-Darwin6= 4-universal.tar.Z align=3D"right">2014-02-28 13:54 > 54M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-Darwin64-universal.tar.gz">cmake-3.0.0-rc1-Darwin= 64-universal.tar.gz align=3D"right">2014-02-28 13:54 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc1-IRIX64-64.sh">cmake-3.0.0-rc1-IRIX64-64.sh align=3D"right">2014-02-28 13:54 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-IRIX64-64.tar.Z">cmake-3.0.0-rc1-IRIX64-64.tar.Z<= /a> align=3D"right">2014-02-28 13:54 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-IRIX64-64.tar.gz">cmake-3.0.0-rc1-IRIX64-64.tar.g= z align=3D"right">2014-02-28 13:54 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc1-IRIX64-n32.sh">cmake-3.0.0-rc1-IRIX64-n32.sh<= /td> align=3D"right">2014-02-28 13:54 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-IRIX64-n32.tar.Z">cmake-3.0.0-rc1-IRIX64-n32.tar.= Z align=3D"right">2014-02-28 13:54 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-IRIX64-n32.tar.gz">cmake-3.0.0-rc1-IRIX64-n32.tar= .gz align=3D"right">2014-02-28 13:54 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc1-Linux-i386.sh">cmake-3.0.0-rc1-Linux-i386.sh<= /td> align=3D"right">2014-02-28 13:54 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-Linux-i386.tar.Z">cmake-3.0.0-rc1-Linux-i386.tar.= Z align=3D"right">2014-02-28 13:54 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-Linux-i386.tar.gz">cmake-3.0.0-rc1-Linux-i386.tar= .gz align=3D"right">2014-02-28 13:53 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc1-SHA-256.txt">cmake-3.0.0-rc1-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.0-rc1-SHA-256.txt.asc">cmake-3.0.0-rc1-SHA-256.txt.asc<= /a> align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-win32-x86.exe">cmake-3.0.0-rc1-win32-x86.exe<= /td> align=3D"right">2014-02-28 13:53 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1-win32-x86.zip">cmake-3.0.0-rc1-win32-x86.zip<= /td> align=3D"right">2014-02-28 13:53 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc1.tar.Z">cmake-3.0.0-rc1.tar.Z align=3D"right">2014-02-28 13:53 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0-rc1.tar.gz">cmake-3.0.0-rc1.tar.gz align=3D"right">2014-02-28 13:53 align=3D"right">5.2M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0-rc1.zip">cmake-3.0.0-rc1.zip align=3D"right">2014-02-28 13:53 align=3D"right">8.0M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc2-1-src.tar.bz2">cmake-3.0.0-rc2-1-src.tar.bz2<= /td> align=3D"right">2014-03-19 10:29 align=3D"right">4.2M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc2-1.tar.bz2">cmake-3.0.0-rc2-1.tar.bz2 align=3D"right">2014-03-19 10:28 align=3D"right">8.0M 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.0-rc2-AIX-powerpc.sh">cmake-3.0.0-rc2-AIX-powerpc.sh align=3D"right">2014-03-19 10:28 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-AIX-powerpc.tar.Z">cmake-3.0.0-rc2-AIX-powerpc.ta= r.Z align=3D"right">2014-03-19 10:28 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-AIX-powerpc.tar.gz">cmake-3.0.0-rc2-AIX-powerpc.t= ar.gz align=3D"right">2014-03-19 10:28 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-Darwin-universal.dmg">cmake-3.0.0-rc2-Darwin-univ= ersal.dmg align=3D"right">2014-03-19 10:28 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-Darwin-universal.tar.Z">cmake-3.0.0-rc2-Darwin-un= iversal.tar.Z align=3D"right">2014-03-19 10:28 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-Darwin-universal.tar.gz">cmake-3.0.0-rc2-Darwin-u= niversal.tar.gz align=3D"right">2014-03-19 10:28 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-Darwin64-universal.dmg">cmake-3.0.0-rc2-Darwin64-= universal.dmg align=3D"right">2014-03-19 10:28 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-Darwin64-universal.tar.Z">cmake-3.0.0-rc2-Darwin6= 4-universal.tar.Z align=3D"right">2014-03-19 10:28 > 54M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-Darwin64-universal.tar.gz">cmake-3.0.0-rc2-Darwin= 64-universal.tar.gz align=3D"right">2014-03-19 10:28 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc2-IRIX64-64.sh">cmake-3.0.0-rc2-IRIX64-64.sh align=3D"right">2014-03-19 10:28 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-IRIX64-64.tar.Z">cmake-3.0.0-rc2-IRIX64-64.tar.Z<= /a> align=3D"right">2014-03-19 10:28 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-IRIX64-64.tar.gz">cmake-3.0.0-rc2-IRIX64-64.tar.g= z align=3D"right">2014-03-19 10:28 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc2-IRIX64-n32.sh">cmake-3.0.0-rc2-IRIX64-n32.sh<= /td> align=3D"right">2014-03-19 10:28 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-IRIX64-n32.tar.Z">cmake-3.0.0-rc2-IRIX64-n32.tar.= Z align=3D"right">2014-03-19 10:28 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-IRIX64-n32.tar.gz">cmake-3.0.0-rc2-IRIX64-n32.tar= .gz align=3D"right">2014-03-19 10:28 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc2-Linux-i386.sh">cmake-3.0.0-rc2-Linux-i386.sh<= /td> align=3D"right">2014-03-19 10:28 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-Linux-i386.tar.Z">cmake-3.0.0-rc2-Linux-i386.tar.= Z align=3D"right">2014-03-19 10:28 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-Linux-i386.tar.gz">cmake-3.0.0-rc2-Linux-i386.tar= .gz align=3D"right">2014-03-19 10:28 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc2-SHA-256.txt">cmake-3.0.0-rc2-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.0-rc2-SHA-256.txt.asc">cmake-3.0.0-rc2-SHA-256.txt.asc<= /a> align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-win32-x86.exe">cmake-3.0.0-rc2-win32-x86.exe<= /td> align=3D"right">2014-03-19 10:28 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2-win32-x86.zip">cmake-3.0.0-rc2-win32-x86.zip<= /td> align=3D"right">2014-03-19 10:27 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc2.tar.Z">cmake-3.0.0-rc2.tar.Z align=3D"right">2014-03-19 10:27 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0-rc2.tar.gz">cmake-3.0.0-rc2.tar.gz align=3D"right">2014-03-19 10:27 align=3D"right">5.2M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0-rc2.zip">cmake-3.0.0-rc2.zip align=3D"right">2014-03-19 10:27 align=3D"right">8.0M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc3-1-src.tar.bz2">cmake-3.0.0-rc3-1-src.tar.bz2<= /td> align=3D"right">2014-03-26 13:00 align=3D"right">4.2M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc3-1.tar.bz2">cmake-3.0.0-rc3-1.tar.bz2 align=3D"right">2014-03-26 13:00 align=3D"right">8.0M 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.0-rc3-AIX-powerpc.sh">cmake-3.0.0-rc3-AIX-powerpc.sh align=3D"right">2014-03-26 13:00 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-AIX-powerpc.tar.Z">cmake-3.0.0-rc3-AIX-powerpc.ta= r.Z align=3D"right">2014-03-26 13:00 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-AIX-powerpc.tar.gz">cmake-3.0.0-rc3-AIX-powerpc.t= ar.gz align=3D"right">2014-03-26 13:00 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-Darwin-universal.dmg">cmake-3.0.0-rc3-Darwin-univ= ersal.dmg align=3D"right">2014-03-26 13:00 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-Darwin-universal.tar.Z">cmake-3.0.0-rc3-Darwin-un= iversal.tar.Z align=3D"right">2014-03-26 13:00 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-Darwin-universal.tar.gz">cmake-3.0.0-rc3-Darwin-u= niversal.tar.gz align=3D"right">2014-03-26 13:00 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-Darwin64-universal.dmg">cmake-3.0.0-rc3-Darwin64-= universal.dmg align=3D"right">2014-03-26 12:59 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-Darwin64-universal.tar.Z">cmake-3.0.0-rc3-Darwin6= 4-universal.tar.Z align=3D"right">2014-03-26 12:59 > 54M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-Darwin64-universal.tar.gz">cmake-3.0.0-rc3-Darwin= 64-universal.tar.gz align=3D"right">2014-03-26 12:59 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc3-IRIX64-64.sh">cmake-3.0.0-rc3-IRIX64-64.sh align=3D"right">2014-03-26 12:59 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-IRIX64-64.tar.Z">cmake-3.0.0-rc3-IRIX64-64.tar.Z<= /a> align=3D"right">2014-03-26 12:59 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-IRIX64-64.tar.gz">cmake-3.0.0-rc3-IRIX64-64.tar.g= z align=3D"right">2014-03-26 12:59 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc3-IRIX64-n32.sh">cmake-3.0.0-rc3-IRIX64-n32.sh<= /td> align=3D"right">2014-03-26 12:59 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-IRIX64-n32.tar.Z">cmake-3.0.0-rc3-IRIX64-n32.tar.= Z align=3D"right">2014-03-26 12:59 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-IRIX64-n32.tar.gz">cmake-3.0.0-rc3-IRIX64-n32.tar= .gz align=3D"right">2014-03-26 12:59 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc3-SHA-256.txt">cmake-3.0.0-rc3-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.9K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.0-rc3-SHA-256.txt.asc">cmake-3.0.0-rc3-SHA-256.txt.asc<= /a> align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-win32-x86.exe">cmake-3.0.0-rc3-win32-x86.exe<= /td> align=3D"right">2014-03-26 12:59 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3-win32-x86.zip">cmake-3.0.0-rc3-win32-x86.zip<= /td> align=3D"right">2014-03-26 12:59 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc3.tar.Z">cmake-3.0.0-rc3.tar.Z align=3D"right">2014-03-26 12:59 align=3D"right">8.4M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0-rc3.tar.gz">cmake-3.0.0-rc3.tar.gz align=3D"right">2014-03-26 12:59 align=3D"right">5.2M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0-rc3.zip">cmake-3.0.0-rc3.zip align=3D"right">2014-03-26 12:59 align=3D"right">8.0M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc4-1-src.tar.bz2">cmake-3.0.0-rc4-1-src.tar.bz2<= /td> align=3D"right">2014-04-18 09:52 align=3D"right">4.2M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc4-1.tar.bz2">cmake-3.0.0-rc4-1.tar.bz2 align=3D"right">2014-04-18 09:52 align=3D"right">8.0M 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.0-rc4-AIX-powerpc.sh">cmake-3.0.0-rc4-AIX-powerpc.sh align=3D"right">2014-04-18 09:52 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-AIX-powerpc.tar.Z">cmake-3.0.0-rc4-AIX-powerpc.ta= r.Z align=3D"right">2014-04-18 09:52 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-AIX-powerpc.tar.gz">cmake-3.0.0-rc4-AIX-powerpc.t= ar.gz align=3D"right">2014-04-18 09:52 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-Darwin-universal.dmg">cmake-3.0.0-rc4-Darwin-univ= ersal.dmg align=3D"right">2014-04-18 09:52 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-Darwin-universal.tar.Z">cmake-3.0.0-rc4-Darwin-un= iversal.tar.Z align=3D"right">2014-04-18 09:52 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-Darwin-universal.tar.gz">cmake-3.0.0-rc4-Darwin-u= niversal.tar.gz align=3D"right">2014-04-18 09:51 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-Darwin64-universal.dmg">cmake-3.0.0-rc4-Darwin64-= universal.dmg align=3D"right">2014-04-18 09:51 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-Darwin64-universal.tar.Z">cmake-3.0.0-rc4-Darwin6= 4-universal.tar.Z align=3D"right">2014-04-18 09:51 > 54M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-Darwin64-universal.tar.gz">cmake-3.0.0-rc4-Darwin= 64-universal.tar.gz align=3D"right">2014-04-18 09:51 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc4-IRIX64-64.sh">cmake-3.0.0-rc4-IRIX64-64.sh align=3D"right">2014-04-18 09:51 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-IRIX64-64.tar.Z">cmake-3.0.0-rc4-IRIX64-64.tar.Z<= /a> align=3D"right">2014-04-18 09:51 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-IRIX64-64.tar.gz">cmake-3.0.0-rc4-IRIX64-64.tar.g= z align=3D"right">2014-04-18 09:51 > 13M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc4-IRIX64-n32.sh">cmake-3.0.0-rc4-IRIX64-n32.sh<= /td> align=3D"right">2014-04-18 09:51 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-IRIX64-n32.tar.Z">cmake-3.0.0-rc4-IRIX64-n32.tar.= Z align=3D"right">2014-04-18 09:51 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-IRIX64-n32.tar.gz">cmake-3.0.0-rc4-IRIX64-n32.tar= .gz align=3D"right">2014-04-18 09:51 > 12M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc4-Linux-i386.sh">cmake-3.0.0-rc4-Linux-i386.sh<= /td> align=3D"right">2014-04-18 09:51 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-Linux-i386.tar.Z">cmake-3.0.0-rc4-Linux-i386.tar.= Z align=3D"right">2014-04-18 09:51 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-Linux-i386.tar.gz">cmake-3.0.0-rc4-Linux-i386.tar= .gz align=3D"right">2014-04-18 09:51 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc4-SHA-256.txt">cmake-3.0.0-rc4-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">2.2K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.0-rc4-SHA-256.txt.asc">cmake-3.0.0-rc4-SHA-256.txt.asc<= /a> align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-win32-x86.exe">cmake-3.0.0-rc4-win32-x86.exe<= /td> align=3D"right">2014-04-18 09:51 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4-win32-x86.zip">cmake-3.0.0-rc4-win32-x86.zip<= /td> align=3D"right">2014-04-18 09:51 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc4.tar.Z">cmake-3.0.0-rc4.tar.Z align=3D"right">2014-04-18 09:51 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0-rc4.tar.gz">cmake-3.0.0-rc4.tar.gz align=3D"right">2014-04-18 09:51 align=3D"right">5.2M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0-rc4.zip">cmake-3.0.0-rc4.zip align=3D"right">2014-04-18 09:51 align=3D"right">8.0M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc5-1-src.tar.bz2">cmake-3.0.0-rc5-1-src.tar.bz2<= /td> align=3D"right">2014-05-13 14:25 align=3D"right">4.2M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc5-1.tar.bz2">cmake-3.0.0-rc5-1.tar.bz2 align=3D"right">2014-05-13 14:25 align=3D"right">8.0M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc5-Darwin-universal.dmg">cmake-3.0.0-rc5-Darwin-univ= ersal.dmg align=3D"right">2014-05-13 14:25 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc5-Darwin-universal.tar.Z">cmake-3.0.0-rc5-Darwin-un= iversal.tar.Z align=3D"right">2014-05-13 14:24 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc5-Darwin-universal.tar.gz">cmake-3.0.0-rc5-Darwin-u= niversal.tar.gz align=3D"right">2014-05-13 14:24 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc5-Darwin64-universal.dmg">cmake-3.0.0-rc5-Darwin64-= universal.dmg align=3D"right">2014-05-13 14:24 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc5-Darwin64-universal.tar.Z">cmake-3.0.0-rc5-Darwin6= 4-universal.tar.Z align=3D"right">2014-05-13 14:24 > 54M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc5-Darwin64-universal.tar.gz">cmake-3.0.0-rc5-Darwin= 64-universal.tar.gz align=3D"right">2014-05-13 14:24 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc5-Linux-i386.sh">cmake-3.0.0-rc5-Linux-i386.sh<= /td> align=3D"right">2014-05-13 14:24 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc5-Linux-i386.tar.Z">cmake-3.0.0-rc5-Linux-i386.tar.= Z align=3D"right">2014-05-13 14:24 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc5-Linux-i386.tar.gz">cmake-3.0.0-rc5-Linux-i386.tar= .gz align=3D"right">2014-05-13 14:24 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc5-SHA-256.txt">cmake-3.0.0-rc5-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.4K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.0-rc5-SHA-256.txt.asc">cmake-3.0.0-rc5-SHA-256.txt.asc<= /a> align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc5-win32-x86.exe">cmake-3.0.0-rc5-win32-x86.exe<= /td> align=3D"right">2014-05-13 14:24 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc5-win32-x86.zip">cmake-3.0.0-rc5-win32-x86.zip<= /td> align=3D"right">2014-05-13 14:24 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc5.tar.Z">cmake-3.0.0-rc5.tar.Z align=3D"right">2014-05-13 14:24 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0-rc5.tar.gz">cmake-3.0.0-rc5.tar.gz align=3D"right">2014-05-13 14:24 align=3D"right">5.2M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0-rc5.zip">cmake-3.0.0-rc5.zip align=3D"right">2014-05-13 14:24 align=3D"right">8.0M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc6-1-src.tar.bz2">cmake-3.0.0-rc6-1-src.tar.bz2<= /td> align=3D"right">2014-05-22 14:57 align=3D"right">4.2M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc6-1.tar.bz2">cmake-3.0.0-rc6-1.tar.bz2 align=3D"right">2014-05-22 14:57 align=3D"right">8.0M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-rc6-Darwin-universal.dmg">cmake-3.0.0-rc6-Darwin-univ= ersal.dmg align=3D"right">2014-05-22 14:57 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc6-Darwin-universal.tar.Z">cmake-3.0.0-rc6-Darwin-un= iversal.tar.Z align=3D"right">2014-05-22 14:56 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc6-Darwin-universal.tar.gz">cmake-3.0.0-rc6-Darwin-u= niversal.tar.gz align=3D"right">2014-05-22 14:56 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc6-Darwin64-universal.dmg">cmake-3.0.0-rc6-Darwin64-= universal.dmg align=3D"right">2014-05-22 14:56 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc6-Darwin64-universal.tar.Z">cmake-3.0.0-rc6-Darwin6= 4-universal.tar.Z align=3D"right">2014-05-22 14:56 > 54M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc6-Darwin64-universal.tar.gz">cmake-3.0.0-rc6-Darwin= 64-universal.tar.gz align=3D"right">2014-05-22 14:56 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc6-Linux-i386.sh">cmake-3.0.0-rc6-Linux-i386.sh<= /td> align=3D"right">2014-05-22 14:56 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc6-Linux-i386.tar.Z">cmake-3.0.0-rc6-Linux-i386.tar.= Z align=3D"right">2014-05-22 14:56 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc6-Linux-i386.tar.gz">cmake-3.0.0-rc6-Linux-i386.tar= .gz align=3D"right">2014-05-22 14:56 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.0-rc6-SHA-256.txt">cmake-3.0.0-rc6-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.4K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.0-rc6-SHA-256.txt.asc">cmake-3.0.0-rc6-SHA-256.txt.asc<= /a> align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc6-win32-x86.exe">cmake-3.0.0-rc6-win32-x86.exe<= /td> align=3D"right">2014-05-22 14:56 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc6-win32-x86.zip">cmake-3.0.0-rc6-win32-x86.zip<= /td> align=3D"right">2014-05-22 14:56 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-rc6.tar.Z">cmake-3.0.0-rc6.tar.Z align=3D"right">2014-05-22 14:56 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0-rc6.tar.gz">cmake-3.0.0-rc6.tar.gz align=3D"right">2014-05-22 14:56 align=3D"right">5.2M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0-rc6.zip">cmake-3.0.0-rc6.zip align=3D"right">2014-05-22 14:56 align=3D"right">8.0M 
valign=3D"top">3D"[ href=3D"cmake-3.0.0-win32-x86.exe">cmake-3.0.0-win32-x86.exe align=3D"right">2014-06-10 13:27 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0-win32-x86.zip">cmake-3.0.0-win32-x86.zip align=3D"right">2014-06-10 13:27 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.0.tar.Z">cmake-3.0.0.tar.Z align=3D"right">2014-06-10 13:27 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0.tar.gz">cmake-3.0.0.tar.gz align=3D"right">2014-06-10 13:27 align=3D"right">5.2M 
valign=3D"top">3D"[= href=3D"cmake-3.0.0.zip">cmake-3.0.0.zip align=3D"right">2014-06-10 13:27 align=3D"right">7.9M 
valign=3D"top">3D"[ href=3D"cmake-3.0.1-1-src.tar.bz2">cmake-3.0.1-1-src.tar.bz2 align=3D"right">2014-09-11 09:19 align=3D"right">4.2M 
valign=3D"top">3D"[ href=3D"cmake-3.0.1-1.tar.bz2">cmake-3.0.1-1.tar.bz2 align=3D"right">2014-09-11 09:19 align=3D"right">8.0M 
valign=3D"top">3D"[ href=3D"cmake-3.0.1-Darwin-universal.dmg">cmake-3.0.1-Darwin-universal.dm= g align=3D"right">2014-09-11 09:19 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.1-Darwin-universal.tar.Z">cmake-3.0.1-Darwin-universal.= tar.Z align=3D"right">2014-09-11 09:19 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.1-Darwin-universal.tar.gz">cmake-3.0.1-Darwin-universal= .tar.gz align=3D"right">2014-09-11 09:19 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.1-Darwin64-universal.dmg">cmake-3.0.1-Darwin64-universa= l.dmg align=3D"right">2014-09-11 09:18 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.1-Darwin64-universal.tar.Z">cmake-3.0.1-Darwin64-univer= sal.tar.Z align=3D"right">2014-09-11 09:18 > 54M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.1-Darwin64-universal.tar.gz">cmake-3.0.1-Darwin64-unive= rsal.tar.gz align=3D"right">2014-09-11 09:18 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.1-Linux-i386.sh">cmake-3.0.1-Linux-i386.sh align=3D"right">2014-09-11 09:18 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.1-Linux-i386.tar.Z">cmake-3.0.1-Linux-i386.tar.Z align=3D"right">2014-09-11 09:18 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.1-Linux-i386.tar.gz">cmake-3.0.1-Linux-i386.tar.gz<= /td> align=3D"right">2014-09-11 09:18 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.1-SHA-256.txt">cmake-3.0.1-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.3K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.1-SHA-256.txt.asc">cmake-3.0.1-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.0.1-win32-x86.exe">cmake-3.0.1-win32-x86.exe align=3D"right">2014-09-11 09:18 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.1-win32-x86.zip">cmake-3.0.1-win32-x86.zip align=3D"right">2014-09-11 09:18 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.1.tar.Z">cmake-3.0.1.tar.Z align=3D"right">2014-09-11 09:18 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-3.0.1.tar.gz">cmake-3.0.1.tar.gz align=3D"right">2014-09-11 09:18 align=3D"right">5.2M 
valign=3D"top">3D"[= href=3D"cmake-3.0.1.zip">cmake-3.0.1.zip align=3D"right">2014-09-11 09:18 align=3D"right">7.9M 
valign=3D"top">3D"[ href=3D"cmake-3.0.2-1-src.tar.bz2">cmake-3.0.2-1-src.tar.bz2 align=3D"right">2014-09-11 12:19 align=3D"right">4.2M 
valign=3D"top">3D"[ href=3D"cmake-3.0.2-1.tar.bz2">cmake-3.0.2-1.tar.bz2 align=3D"right">2014-09-11 12:19 align=3D"right">8.0M 
valign=3D"top">3D"[ href=3D"cmake-3.0.2-Darwin-universal.dmg">cmake-3.0.2-Darwin-universal.dm= g align=3D"right">2014-09-11 12:19 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.2-Darwin-universal.tar.Z">cmake-3.0.2-Darwin-universal.= tar.Z align=3D"right">2014-09-11 12:19 > 58M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.2-Darwin-universal.tar.gz">cmake-3.0.2-Darwin-universal= .tar.gz align=3D"right">2014-09-11 12:19 > 41M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.0.2-Darwin64-universal.dmg">cmake-3.0.2-Darwin64-universa= l.dmg align=3D"right">2014-09-11 12:19 > 39M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.2-Darwin64-universal.tar.Z">cmake-3.0.2-Darwin64-univer= sal.tar.Z align=3D"right">2014-09-11 12:19 > 54M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.2-Darwin64-universal.tar.gz">cmake-3.0.2-Darwin64-unive= rsal.tar.gz align=3D"right">2014-09-11 12:18 > 39M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.2-Linux-i386.sh">cmake-3.0.2-Linux-i386.sh align=3D"right">2014-09-11 12:18 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.2-Linux-i386.tar.Z">cmake-3.0.2-Linux-i386.tar.Z align=3D"right">2014-09-11 12:18 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.2-Linux-i386.tar.gz">cmake-3.0.2-Linux-i386.tar.gz<= /td> align=3D"right">2014-09-11 12:18 > 22M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.0.2-SHA-256.txt">cmake-3.0.2-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.3K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.0.2-SHA-256.txt.asc">cmake-3.0.2-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.0.2-win32-x86.exe">cmake-3.0.2-win32-x86.exe align=3D"right">2014-09-11 12:18 > 11M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.2-win32-x86.zip">cmake-3.0.2-win32-x86.zip align=3D"right">2014-09-11 12:18 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.0.2.tar.Z">cmake-3.0.2.tar.Z align=3D"right">2014-09-11 12:18 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-3.0.2.tar.gz">cmake-3.0.2.tar.gz align=3D"right">2014-09-11 12:18 align=3D"right">5.2M 
valign=3D"top">3D"[= href=3D"cmake-3.0.2.zip">cmake-3.0.2.zip align=3D"right">2014-09-11 12:18 align=3D"right">7.9M 

> + > diff --git > a/bitbake/lib/bb/tests/fetch-testdata/files/v3.1/index.html > b/bitbake/lib/bb/tests/fetch-testdata/files/v3.1/index.html new file > mode 100644 index 0000000..635d34c --- /dev/null > +++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.1/index.html > @@ -0,0 +1,156 @@ > + > + > + > + Index of /files/v3.1 > + > + > +

Index of /files/v3.1

> + > + > + > + + + + + + + + + + + += + + + += + + + += + + + + + + + + + + + += + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + += + + + + + + + + + + + + + + + + + + + + + + += + + + += + + + + + + + + + + + + + + += + + + += + + + + + + + + + + + + + + + + += + + + += + + + + + > + > +
alt=3D"[ICO]">Name href=3D"?C=3DM;O=3DA">Last modified href=3D"?C=3DS;O=3DA">Size href=3D"?C=3DD;O=3DA">Description

alt=3D"[PARENTDIR]">Parent > Directory  - >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-1-src.tar.bz2">cmake-3.1.0-1-src.tar.bz2 align=3D"right">2014-12-17 13:10 align=3D"right">4.5M 
valign=3D"top">3D"[ href=3D"cmake-3.1.0-1.tar.bz2">cmake-3.1.0-1.tar.bz2 align=3D"right">2014-12-17 13:10 align=3D"right">9.0M 
valign=3D"top">3D"[ href=3D"cmake-3.1.0-Darwin-universal.dmg">cmake-3.1.0-Darwin-universal.dm= g align=3D"right">2014-12-17 13:10 > 45M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-Darwin-universal.tar.Z">cmake-3.1.0-Darwin-universal.= tar.Z align=3D"right">2014-12-17 13:10 > 63M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-Darwin-universal.tar.gz">cmake-3.1.0-Darwin-universal= .tar.gz align=3D"right">2014-12-17 13:10 > 44M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-Darwin64-universal.dmg">cmake-3.1.0-Darwin64-universa= l.dmg align=3D"right">2014-12-17 13:10 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-Darwin64-universal.tar.Z">cmake-3.1.0-Darwin64-univer= sal.tar.Z align=3D"right">2014-12-17 13:10 > 40M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-Darwin64-universal.tar.gz">cmake-3.1.0-Darwin64-unive= rsal.tar.gz align=3D"right">2014-12-17 13:10 > 28M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-Darwin64.dmg">cmake-3.1.0-Darwin64.dmg align=3D"right">2014-12-19 11:38 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-Darwin64.tar.Z">cmake-3.1.0-Darwin64.tar.Z align=3D"right">2014-12-19 11:38 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-Darwin64.tar.gz">cmake-3.1.0-Darwin64.tar.gz align=3D"right">2014-12-19 11:38 > 29M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.0-Linux-i386.sh">cmake-3.1.0-Linux-i386.sh align=3D"right">2014-12-17 13:10 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-Linux-i386.tar.Z">cmake-3.1.0-Linux-i386.tar.Z align=3D"right">2014-12-17 13:10 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-Linux-i386.tar.gz">cmake-3.1.0-Linux-i386.tar.gz<= /td> align=3D"right">2014-12-17 13:10 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.0-Linux-x86_64.sh">cmake-3.1.0-Linux-x86_64.sh align=3D"right">2014-12-17 13:10 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-Linux-x86_64.tar.Z">cmake-3.1.0-Linux-x86_64.tar.Z align=3D"right">2014-12-17 13:10 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-Linux-x86_64.tar.gz">cmake-3.1.0-Linux-x86_64.tar.gz<= /a> align=3D"right">2014-12-17 13:10 > 25M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.0-SHA-256.txt">cmake-3.1.0-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.9K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.1.0-SHA-256.txt.asc">cmake-3.1.0-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc1-1-src.tar.bz2">cmake-3.1.0-rc1-1-src.tar.bz2<= /td> align=3D"right">2014-10-28 14:09 align=3D"right">4.5M 
valign=3D"top">3D"[ href=3D"cmake-3.1.0-rc1-1.tar.bz2">cmake-3.1.0-rc1-1.tar.bz2 align=3D"right">2014-10-28 14:09 align=3D"right">9.0M 
valign=3D"top">3D"[ href=3D"cmake-3.1.0-rc1-Darwin-universal.dmg">cmake-3.1.0-rc1-Darwin-univ= ersal.dmg align=3D"right">2014-10-28 14:09 > 45M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc1-Darwin-universal.tar.Z">cmake-3.1.0-rc1-Darwin-un= iversal.tar.Z align=3D"right">2014-10-28 14:09 > 63M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc1-Darwin-universal.tar.gz">cmake-3.1.0-rc1-Darwin-u= niversal.tar.gz align=3D"right">2014-10-28 14:09 > 44M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc1-Darwin64-universal.dmg">cmake-3.1.0-rc1-Darwin64-= universal.dmg align=3D"right">2014-10-28 14:09 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc1-Darwin64-universal.tar.Z">cmake-3.1.0-rc1-Darwin6= 4-universal.tar.Z align=3D"right">2014-10-28 14:09 > 40M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc1-Darwin64-universal.tar.gz">cmake-3.1.0-rc1-Darwin= 64-universal.tar.gz align=3D"right">2014-10-28 14:08 > 28M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.0-rc1-Linux-i386.sh">cmake-3.1.0-rc1-Linux-i386.sh<= /td> align=3D"right">2014-10-28 14:08 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc1-Linux-i386.tar.Z">cmake-3.1.0-rc1-Linux-i386.tar.= Z align=3D"right">2014-10-28 14:08 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc1-Linux-i386.tar.gz">cmake-3.1.0-rc1-Linux-i386.tar= .gz align=3D"right">2014-10-28 14:08 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.0-rc1-SHA-256.txt">cmake-3.1.0-rc1-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.4K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.1.0-rc1-SHA-256.txt.asc">cmake-3.1.0-rc1-SHA-256.txt.asc<= /a> align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc1-win32-x86.exe">cmake-3.1.0-rc1-win32-x86.exe<= /td> align=3D"right">2014-10-28 14:08 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc1-win32-x86.zip">cmake-3.1.0-rc1-win32-x86.zip<= /td> align=3D"right">2014-10-28 14:08 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc1.tar.Z">cmake-3.1.0-rc1.tar.Z align=3D"right">2014-10-28 14:08 align=3D"right">9.2M 
valign=3D"top">3D"[= href=3D"cmake-3.1.0-rc1.tar.gz">cmake-3.1.0-rc1.tar.gz align=3D"right">2014-10-28 14:08 align=3D"right">5.7M 
valign=3D"top">3D"[= href=3D"cmake-3.1.0-rc1.zip">cmake-3.1.0-rc1.zip align=3D"right">2014-10-28 14:08 align=3D"right">9.0M 
valign=3D"top">3D"[ href=3D"cmake-3.1.0-rc2-1-src.tar.bz2">cmake-3.1.0-rc2-1-src.tar.bz2<= /td> align=3D"right">2014-11-13 11:51 align=3D"right">4.5M 
valign=3D"top">3D"[ href=3D"cmake-3.1.0-rc2-1.tar.bz2">cmake-3.1.0-rc2-1.tar.bz2 align=3D"right">2014-11-13 11:51 align=3D"right">9.0M 
valign=3D"top">3D"[ href=3D"cmake-3.1.0-rc2-Darwin-universal.dmg">cmake-3.1.0-rc2-Darwin-univ= ersal.dmg align=3D"right">2014-11-13 11:51 > 45M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc2-Darwin-universal.tar.Z">cmake-3.1.0-rc2-Darwin-un= iversal.tar.Z align=3D"right">2014-11-13 11:51 > 63M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc2-Darwin-universal.tar.gz">cmake-3.1.0-rc2-Darwin-u= niversal.tar.gz align=3D"right">2014-11-13 11:50 > 44M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc2-Darwin64-universal.dmg">cmake-3.1.0-rc2-Darwin64-= universal.dmg align=3D"right">2014-11-13 11:50 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc2-Darwin64-universal.tar.Z">cmake-3.1.0-rc2-Darwin6= 4-universal.tar.Z align=3D"right">2014-11-13 11:50 > 40M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc2-Darwin64-universal.tar.gz">cmake-3.1.0-rc2-Darwin= 64-universal.tar.gz align=3D"right">2014-11-13 11:50 > 28M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.0-rc2-Linux-i386.sh">cmake-3.1.0-rc2-Linux-i386.sh<= /td> align=3D"right">2014-11-13 11:50 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc2-Linux-i386.tar.Z">cmake-3.1.0-rc2-Linux-i386.tar.= Z align=3D"right">2014-11-13 11:50 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc2-Linux-i386.tar.gz">cmake-3.1.0-rc2-Linux-i386.tar= .gz align=3D"right">2014-11-13 11:50 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.0-rc2-SHA-256.txt">cmake-3.1.0-rc2-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.4K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.1.0-rc2-SHA-256.txt.asc">cmake-3.1.0-rc2-SHA-256.txt.asc<= /a> align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc2-win32-x86.exe">cmake-3.1.0-rc2-win32-x86.exe<= /td> align=3D"right">2014-11-13 11:50 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc2-win32-x86.zip">cmake-3.1.0-rc2-win32-x86.zip<= /td> align=3D"right">2014-11-13 11:50 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc2.tar.Z">cmake-3.1.0-rc2.tar.Z align=3D"right">2014-11-13 11:50 align=3D"right">9.2M 
valign=3D"top">3D"[= href=3D"cmake-3.1.0-rc2.tar.gz">cmake-3.1.0-rc2.tar.gz align=3D"right">2014-11-13 11:50 align=3D"right">5.7M 
valign=3D"top">3D"[= href=3D"cmake-3.1.0-rc2.zip">cmake-3.1.0-rc2.zip align=3D"right">2014-11-13 11:50 align=3D"right">9.0M 
valign=3D"top">3D"[ href=3D"cmake-3.1.0-rc3-1-src.tar.bz2">cmake-3.1.0-rc3-1-src.tar.bz2<= /td> align=3D"right">2014-12-09 16:53 align=3D"right">4.5M 
valign=3D"top">3D"[ href=3D"cmake-3.1.0-rc3-1.tar.bz2">cmake-3.1.0-rc3-1.tar.bz2 align=3D"right">2014-12-09 16:53 align=3D"right">9.0M 
valign=3D"top">3D"[ href=3D"cmake-3.1.0-rc3-Darwin-universal.dmg">cmake-3.1.0-rc3-Darwin-univ= ersal.dmg align=3D"right">2014-12-09 16:53 > 45M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc3-Darwin-universal.tar.Z">cmake-3.1.0-rc3-Darwin-un= iversal.tar.Z align=3D"right">2014-12-09 16:52 > 63M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc3-Darwin-universal.tar.gz">cmake-3.1.0-rc3-Darwin-u= niversal.tar.gz align=3D"right">2014-12-09 16:52 > 44M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc3-Darwin64-universal.dmg">cmake-3.1.0-rc3-Darwin64-= universal.dmg align=3D"right">2014-12-09 16:52 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc3-Darwin64-universal.tar.Z">cmake-3.1.0-rc3-Darwin6= 4-universal.tar.Z align=3D"right">2014-12-09 16:52 > 40M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc3-Darwin64-universal.tar.gz">cmake-3.1.0-rc3-Darwin= 64-universal.tar.gz align=3D"right">2014-12-09 16:52 > 28M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.0-rc3-Linux-i386.sh">cmake-3.1.0-rc3-Linux-i386.sh<= /td> align=3D"right">2014-12-09 16:52 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc3-Linux-i386.tar.Z">cmake-3.1.0-rc3-Linux-i386.tar.= Z align=3D"right">2014-12-09 16:52 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc3-Linux-i386.tar.gz">cmake-3.1.0-rc3-Linux-i386.tar= .gz align=3D"right">2014-12-09 16:52 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.0-rc3-Linux-x86_64.sh">cmake-3.1.0-rc3-Linux-x86_64.sh<= /a> align=3D"right">2014-12-09 16:52 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc3-Linux-x86_64.tar.Z">cmake-3.1.0-rc3-Linux-x86_64.= tar.Z align=3D"right">2014-12-09 16:52 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc3-Linux-x86_64.tar.gz">cmake-3.1.0-rc3-Linux-x86_64= .tar.gz align=3D"right">2014-12-09 16:52 > 25M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.0-rc3-SHA-256.txt">cmake-3.1.0-rc3-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.6K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.1.0-rc3-SHA-256.txt.asc">cmake-3.1.0-rc3-SHA-256.txt.asc<= /a> align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc3-win32-x86.exe">cmake-3.1.0-rc3-win32-x86.exe<= /td> align=3D"right">2014-12-09 16:52 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc3-win32-x86.zip">cmake-3.1.0-rc3-win32-x86.zip<= /td> align=3D"right">2014-12-09 16:52 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-rc3.tar.Z">cmake-3.1.0-rc3.tar.Z align=3D"right">2014-12-09 16:52 align=3D"right">9.2M 
valign=3D"top">3D"[= href=3D"cmake-3.1.0-rc3.tar.gz">cmake-3.1.0-rc3.tar.gz align=3D"right">2014-12-09 16:52 align=3D"right">5.7M 
valign=3D"top">3D"[= href=3D"cmake-3.1.0-rc3.zip">cmake-3.1.0-rc3.zip align=3D"right">2014-12-09 16:52 align=3D"right">9.0M 
valign=3D"top">3D"[ href=3D"cmake-3.1.0-win32-x86.exe">cmake-3.1.0-win32-x86.exe align=3D"right">2014-12-17 13:10 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0-win32-x86.zip">cmake-3.1.0-win32-x86.zip align=3D"right">2014-12-17 13:10 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.0.tar.Z">cmake-3.1.0.tar.Z align=3D"right">2014-12-17 13:10 align=3D"right">9.2M 
valign=3D"top">3D"[= href=3D"cmake-3.1.0.tar.gz">cmake-3.1.0.tar.gz align=3D"right">2014-12-17 13:10 align=3D"right">5.7M 
valign=3D"top">3D"[= href=3D"cmake-3.1.0.zip">cmake-3.1.0.zip align=3D"right">2014-12-17 13:10 align=3D"right">9.0M 
valign=3D"top">3D"[ href=3D"cmake-3.1.1-1-src.tar.bz2">cmake-3.1.1-1-src.tar.bz2 align=3D"right">2015-01-22 16:49 align=3D"right">4.5M 
valign=3D"top">3D"[ href=3D"cmake-3.1.1-1.tar.bz2">cmake-3.1.1-1.tar.bz2 align=3D"right">2015-01-22 16:49 align=3D"right">9.1M 
valign=3D"top">3D"[ href=3D"cmake-3.1.1-Darwin-universal.dmg">cmake-3.1.1-Darwin-universal.dm= g align=3D"right">2015-01-22 16:49 > 45M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.1-Darwin-universal.tar.Z">cmake-3.1.1-Darwin-universal.= tar.Z align=3D"right">2015-01-22 16:49 > 64M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.1-Darwin-universal.tar.gz">cmake-3.1.1-Darwin-universal= .tar.gz align=3D"right">2015-01-22 16:49 > 44M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.1.1-Darwin-x86_64.dmg">cmake-3.1.1-Darwin-x86_64.dmg<= /td> align=3D"right">2015-01-22 16:48 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.1-Darwin-x86_64.tar.Z">cmake-3.1.1-Darwin-x86_64.tar.Z<= /a> align=3D"right">2015-01-22 16:48 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.1-Darwin-x86_64.tar.gz">cmake-3.1.1-Darwin-x86_64.tar.g= z align=3D"right">2015-01-22 16:48 > 29M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.1-Linux-i386.sh">cmake-3.1.1-Linux-i386.sh align=3D"right">2015-01-22 16:48 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.1-Linux-i386.tar.Z">cmake-3.1.1-Linux-i386.tar.Z align=3D"right">2015-01-22 16:48 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.1-Linux-i386.tar.gz">cmake-3.1.1-Linux-i386.tar.gz<= /td> align=3D"right">2015-01-22 16:48 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.1-Linux-x86_64.sh">cmake-3.1.1-Linux-x86_64.sh align=3D"right">2015-01-22 16:48 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.1-Linux-x86_64.tar.Z">cmake-3.1.1-Linux-x86_64.tar.Z align=3D"right">2015-01-22 16:48 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.1-Linux-x86_64.tar.gz">cmake-3.1.1-Linux-x86_64.tar.gz<= /a> align=3D"right">2015-01-22 16:48 > 25M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.1-SHA-256.txt">cmake-3.1.1-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.6K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.1.1-SHA-256.txt.asc">cmake-3.1.1-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.1.1-win32-x86.exe">cmake-3.1.1-win32-x86.exe align=3D"right">2015-01-22 16:48 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.1-win32-x86.zip">cmake-3.1.1-win32-x86.zip align=3D"right">2015-01-22 16:48 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.1.tar.Z">cmake-3.1.1.tar.Z align=3D"right">2015-01-22 16:48 align=3D"right">9.2M 
valign=3D"top">3D"[= href=3D"cmake-3.1.1.tar.gz">cmake-3.1.1.tar.gz align=3D"right">2015-01-22 16:48 align=3D"right">5.7M 
valign=3D"top">3D"[= href=3D"cmake-3.1.1.zip">cmake-3.1.1.zip align=3D"right">2015-01-22 16:48 align=3D"right">9.0M 
valign=3D"top">3D"[ href=3D"cmake-3.1.2-Darwin-universal.dmg">cmake-3.1.2-Darwin-universal.dm= g align=3D"right">2015-02-05 10:06 > 45M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.2-Darwin-universal.tar.Z">cmake-3.1.2-Darwin-universal.= tar.Z align=3D"right">2015-02-05 10:06 > 64M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.2-Darwin-universal.tar.gz">cmake-3.1.2-Darwin-universal= .tar.gz align=3D"right">2015-02-05 10:06 > 44M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.1.2-Darwin-x86_64.dmg">cmake-3.1.2-Darwin-x86_64.dmg<= /td> align=3D"right">2015-02-05 10:06 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.2-Darwin-x86_64.tar.Z">cmake-3.1.2-Darwin-x86_64.tar.Z<= /a> align=3D"right">2015-02-05 10:06 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.2-Darwin-x86_64.tar.gz">cmake-3.1.2-Darwin-x86_64.tar.g= z align=3D"right">2015-02-05 10:06 > 29M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.2-Linux-i386.sh">cmake-3.1.2-Linux-i386.sh align=3D"right">2015-02-05 10:06 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.2-Linux-i386.tar.Z">cmake-3.1.2-Linux-i386.tar.Z align=3D"right">2015-02-05 10:06 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.2-Linux-i386.tar.gz">cmake-3.1.2-Linux-i386.tar.gz<= /td> align=3D"right">2015-02-05 10:05 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.2-Linux-x86_64.sh">cmake-3.1.2-Linux-x86_64.sh align=3D"right">2015-02-05 10:05 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.2-Linux-x86_64.tar.Z">cmake-3.1.2-Linux-x86_64.tar.Z align=3D"right">2015-02-05 10:05 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.2-Linux-x86_64.tar.gz">cmake-3.1.2-Linux-x86_64.tar.gz<= /a> align=3D"right">2015-02-05 10:05 > 25M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.2-SHA-256.txt">cmake-3.1.2-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.6K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.1.2-SHA-256.txt.asc">cmake-3.1.2-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.1.2-win32-x86.exe">cmake-3.1.2-win32-x86.exe align=3D"right">2015-02-05 10:05 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.2-win32-x86.zip">cmake-3.1.2-win32-x86.zip align=3D"right">2015-02-05 10:05 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.2.tar.Z">cmake-3.1.2.tar.Z align=3D"right">2015-02-05 10:05 align=3D"right">9.2M 
valign=3D"top">3D"[= href=3D"cmake-3.1.2.tar.gz">cmake-3.1.2.tar.gz align=3D"right">2015-02-05 10:05 align=3D"right">5.7M 
valign=3D"top">3D"[= href=3D"cmake-3.1.2.zip">cmake-3.1.2.zip align=3D"right">2015-02-05 10:05 align=3D"right">9.0M 
valign=3D"top">3D"[ href=3D"cmake-3.1.3-1-src.tar.bz2">cmake-3.1.3-1-src.tar.bz2 align=3D"right">2015-02-12 17:40 align=3D"right">4.5M 
valign=3D"top">3D"[ href=3D"cmake-3.1.3-1.tar.bz2">cmake-3.1.3-1.tar.bz2 align=3D"right">2015-02-12 17:40 align=3D"right">9.0M 
valign=3D"top">3D"[ href=3D"cmake-3.1.3-Darwin-universal.dmg">cmake-3.1.3-Darwin-universal.dm= g align=3D"right">2015-02-12 17:40 > 45M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.3-Darwin-universal.tar.Z">cmake-3.1.3-Darwin-universal.= tar.Z align=3D"right">2015-02-12 17:40 > 64M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.3-Darwin-universal.tar.gz">cmake-3.1.3-Darwin-universal= .tar.gz align=3D"right">2015-02-12 17:40 > 44M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.1.3-Darwin-x86_64.dmg">cmake-3.1.3-Darwin-x86_64.dmg<= /td> align=3D"right">2015-02-12 17:40 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.3-Darwin-x86_64.tar.Z">cmake-3.1.3-Darwin-x86_64.tar.Z<= /a> align=3D"right">2015-02-12 17:40 > 41M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.3-Darwin-x86_64.tar.gz">cmake-3.1.3-Darwin-x86_64.tar.g= z align=3D"right">2015-02-12 17:39 > 29M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.3-Linux-i386.sh">cmake-3.1.3-Linux-i386.sh align=3D"right">2015-02-12 17:39 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.3-Linux-i386.tar.Z">cmake-3.1.3-Linux-i386.tar.Z align=3D"right">2015-02-12 17:39 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.3-Linux-i386.tar.gz">cmake-3.1.3-Linux-i386.tar.gz<= /td> align=3D"right">2015-02-12 17:39 > 24M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.3-Linux-x86_64.sh">cmake-3.1.3-Linux-x86_64.sh align=3D"right">2015-02-12 17:39 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.3-Linux-x86_64.tar.Z">cmake-3.1.3-Linux-x86_64.tar.Z align=3D"right">2015-02-12 17:39 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.3-Linux-x86_64.tar.gz">cmake-3.1.3-Linux-x86_64.tar.gz<= /a> align=3D"right">2015-02-12 17:39 > 25M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.1.3-SHA-256.txt">cmake-3.1.3-SHA-256.txt align=3D"right">2016-04-13 12:48 align=3D"right">1.6K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.1.3-SHA-256.txt.asc">cmake-3.1.3-SHA-256.txt.asc align=3D"right">2016-04-13 12:48 819 >  
src=3D"/icons/binary.gif" alt=3D"[ ]"> href=3D"cmake-3.1.3-win32-x86.exe">cmake-3.1.3-win32-x86.exe align=3D"right">2015-02-12 17:39 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.3-win32-x86.zip">cmake-3.1.3-win32-x86.zip align=3D"right">2015-02-12 17:39 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.1.3.tar.Z">cmake-3.1.3.tar.Z align=3D"right">2015-02-12 17:39 align=3D"right">9.2M 
valign=3D"top">3D"[= href=3D"cmake-3.1.3.tar.gz">cmake-3.1.3.tar.gz align=3D"right">2015-02-12 17:39 align=3D"right">5.7M 
valign=3D"top">3D"[= href=3D"cmake-3.1.3.zip">cmake-3.1.3.zip align=3D"right">2015-02-12 17:39 align=3D"right">9.0M 

> + > diff --git > a/bitbake/lib/bb/tests/fetch-testdata/files/v3.10/index.html > b/bitbake/lib/bb/tests/fetch-testdata/files/v3.10/index.html new file > mode 100644 index 0000000..df654a3 --- /dev/null > +++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.10/index.html > @@ -0,0 +1,131 @@ > + > + > + > + Index of /files/v3.10 > + > + > +

Index of /files/v3.10

> + > + > + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + > + > +
alt=3D"[ICO]">Name href=3D"?C=3DM;O=3DA">Last modified href=3D"?C=3DS;O=3DA">Size href=3D"?C=3DD;O=3DA">Description

alt=3D"[PARENTDIR]">Parent > Directory  - >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-Darwin-x86_64.dmg">cmake-3.10.0-Darwin-x86_64.dmg align=3D"right">2017-11-20 16:00 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-Darwin-x86_64.tar.gz">cmake-3.10.0-Darwin-x86_64.tar= .gz align=3D"right">2017-11-20 16:00 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.0-Linux-x86_64.sh">cmake-3.10.0-Linux-x86_64.sh align=3D"right">2017-11-20 16:00 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-Linux-x86_64.tar.gz">cmake-3.10.0-Linux-x86_64.tar.g= z align=3D"right">2017-11-20 16:00 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.0-SHA-256.txt">cmake-3.10.0-SHA-256.txt align=3D"right">2017-11-20 16:00 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.10.0-SHA-256.txt.asc">cmake-3.10.0-SHA-256.txt.asc align=3D"right">2017-11-20 16:00 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc1-Darwin-x86_64.dmg">cmake-3.10.0-rc1-Darwin-x86_6= 4.dmg align=3D"right">2017-10-05 15:50 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc1-Darwin-x86_64.tar.gz">cmake-3.10.0-rc1-Darwin-x8= 6_64.tar.gz align=3D"right">2017-10-05 15:50 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.0-rc1-Linux-x86_64.sh">cmake-3.10.0-rc1-Linux-x86_64.s= h align=3D"right">2017-10-05 15:50 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc1-Linux-x86_64.tar.gz">cmake-3.10.0-rc1-Linux-x86_= 64.tar.gz align=3D"right">2017-10-05 15:50 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.0-rc1-SHA-256.txt">cmake-3.10.0-rc1-SHA-256.txt align=3D"right">2017-10-05 15:50 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.10.0-rc1-SHA-256.txt.asc">cmake-3.10.0-rc1-SHA-256.txt.as= c align=3D"right">2017-10-05 15:50 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc1-win32-x86.msi">cmake-3.10.0-rc1-win32-x86.msi align=3D"right">2017-10-05 15:50 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc1-win32-x86.zip">cmake-3.10.0-rc1-win32-x86.zip align=3D"right">2017-10-05 15:50 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc1-win64-x64.msi">cmake-3.10.0-rc1-win64-x64.msi align=3D"right">2017-10-05 15:50 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc1-win64-x64.zip">cmake-3.10.0-rc1-win64-x64.zip align=3D"right">2017-10-05 15:50 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc1.tar.Z">cmake-3.10.0-rc1.tar.Z align=3D"right">2017-10-05 15:50 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc1.tar.gz">cmake-3.10.0-rc1.tar.gz align=3D"right">2017-10-05 15:50 align=3D"right">7.4M 
valign=3D"top">3D"[= href=3D"cmake-3.10.0-rc1.zip">cmake-3.10.0-rc1.zip align=3D"right">2017-10-05 15:50 > 12M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc2-Darwin-x86_64.dmg">cmake-3.10.0-rc2-Darwin-x86_6= 4.dmg align=3D"right">2017-10-12 12:07 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc2-Darwin-x86_64.tar.gz">cmake-3.10.0-rc2-Darwin-x8= 6_64.tar.gz align=3D"right">2017-10-12 12:07 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.0-rc2-Linux-x86_64.sh">cmake-3.10.0-rc2-Linux-x86_64.s= h align=3D"right">2017-10-12 12:07 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc2-Linux-x86_64.tar.gz">cmake-3.10.0-rc2-Linux-x86_= 64.tar.gz align=3D"right">2017-10-12 12:07 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.0-rc2-SHA-256.txt">cmake-3.10.0-rc2-SHA-256.txt align=3D"right">2017-10-12 12:07 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.10.0-rc2-SHA-256.txt.asc">cmake-3.10.0-rc2-SHA-256.txt.as= c align=3D"right">2017-10-12 12:06 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc2-win32-x86.msi">cmake-3.10.0-rc2-win32-x86.msi align=3D"right">2017-10-12 12:06 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc2-win32-x86.zip">cmake-3.10.0-rc2-win32-x86.zip align=3D"right">2017-10-12 12:06 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc2-win64-x64.msi">cmake-3.10.0-rc2-win64-x64.msi align=3D"right">2017-10-12 12:06 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc2-win64-x64.zip">cmake-3.10.0-rc2-win64-x64.zip align=3D"right">2017-10-12 12:06 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc2.tar.Z">cmake-3.10.0-rc2.tar.Z align=3D"right">2017-10-12 12:06 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc2.tar.gz">cmake-3.10.0-rc2.tar.gz align=3D"right">2017-10-12 12:06 align=3D"right">7.5M 
valign=3D"top">3D"[= href=3D"cmake-3.10.0-rc2.zip">cmake-3.10.0-rc2.zip align=3D"right">2017-10-12 12:06 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc3-Darwin-x86_64.dmg">cmake-3.10.0-rc3-Darwin-x86_6= 4.dmg align=3D"right">2017-10-19 13:24 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc3-Darwin-x86_64.tar.gz">cmake-3.10.0-rc3-Darwin-x8= 6_64.tar.gz align=3D"right">2017-10-19 13:24 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.0-rc3-Linux-x86_64.sh">cmake-3.10.0-rc3-Linux-x86_64.s= h align=3D"right">2017-10-19 13:24 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc3-Linux-x86_64.tar.gz">cmake-3.10.0-rc3-Linux-x86_= 64.tar.gz align=3D"right">2017-10-19 13:24 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.0-rc3-SHA-256.txt">cmake-3.10.0-rc3-SHA-256.txt align=3D"right">2017-10-19 13:24 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.10.0-rc3-SHA-256.txt.asc">cmake-3.10.0-rc3-SHA-256.txt.as= c align=3D"right">2017-10-19 13:24 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc3-win32-x86.msi">cmake-3.10.0-rc3-win32-x86.msi align=3D"right">2017-10-19 13:24 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc3-win32-x86.zip">cmake-3.10.0-rc3-win32-x86.zip align=3D"right">2017-10-19 13:24 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc3-win64-x64.msi">cmake-3.10.0-rc3-win64-x64.msi align=3D"right">2017-10-19 13:24 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc3-win64-x64.zip">cmake-3.10.0-rc3-win64-x64.zip align=3D"right">2017-10-19 13:24 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc3.tar.Z">cmake-3.10.0-rc3.tar.Z align=3D"right">2017-10-19 13:24 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc3.tar.gz">cmake-3.10.0-rc3.tar.gz align=3D"right">2017-10-19 13:24 align=3D"right">7.5M 
valign=3D"top">3D"[= href=3D"cmake-3.10.0-rc3.zip">cmake-3.10.0-rc3.zip align=3D"right">2017-10-19 13:24 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc4-Darwin-x86_64.dmg">cmake-3.10.0-rc4-Darwin-x86_6= 4.dmg align=3D"right">2017-11-01 15:37 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc4-Darwin-x86_64.tar.gz">cmake-3.10.0-rc4-Darwin-x8= 6_64.tar.gz align=3D"right">2017-11-01 15:37 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.0-rc4-Linux-x86_64.sh">cmake-3.10.0-rc4-Linux-x86_64.s= h align=3D"right">2017-11-01 15:37 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc4-Linux-x86_64.tar.gz">cmake-3.10.0-rc4-Linux-x86_= 64.tar.gz align=3D"right">2017-11-01 15:37 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.0-rc4-SHA-256.txt">cmake-3.10.0-rc4-SHA-256.txt align=3D"right">2017-11-01 15:37 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.10.0-rc4-SHA-256.txt.asc">cmake-3.10.0-rc4-SHA-256.txt.as= c align=3D"right">2017-11-01 15:37 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc4-win32-x86.msi">cmake-3.10.0-rc4-win32-x86.msi align=3D"right">2017-11-01 15:37 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc4-win32-x86.zip">cmake-3.10.0-rc4-win32-x86.zip align=3D"right">2017-11-01 15:37 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc4-win64-x64.msi">cmake-3.10.0-rc4-win64-x64.msi align=3D"right">2017-11-01 15:37 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc4-win64-x64.zip">cmake-3.10.0-rc4-win64-x64.zip align=3D"right">2017-11-01 15:37 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc4.tar.Z">cmake-3.10.0-rc4.tar.Z align=3D"right">2017-11-01 15:37 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc4.tar.gz">cmake-3.10.0-rc4.tar.gz align=3D"right">2017-11-01 15:37 align=3D"right">7.5M 
valign=3D"top">3D"[= href=3D"cmake-3.10.0-rc4.zip">cmake-3.10.0-rc4.zip align=3D"right">2017-11-01 15:37 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc5-Darwin-x86_64.dmg">cmake-3.10.0-rc5-Darwin-x86_6= 4.dmg align=3D"right">2017-11-10 14:01 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc5-Darwin-x86_64.tar.gz">cmake-3.10.0-rc5-Darwin-x8= 6_64.tar.gz align=3D"right">2017-11-10 14:01 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.0-rc5-Linux-x86_64.sh">cmake-3.10.0-rc5-Linux-x86_64.s= h align=3D"right">2017-11-10 14:01 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc5-Linux-x86_64.tar.gz">cmake-3.10.0-rc5-Linux-x86_= 64.tar.gz align=3D"right">2017-11-10 14:01 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.0-rc5-SHA-256.txt">cmake-3.10.0-rc5-SHA-256.txt align=3D"right">2017-11-10 14:01 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.10.0-rc5-SHA-256.txt.asc">cmake-3.10.0-rc5-SHA-256.txt.as= c align=3D"right">2017-11-10 14:01 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc5-win32-x86.msi">cmake-3.10.0-rc5-win32-x86.msi align=3D"right">2017-11-10 14:01 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc5-win32-x86.zip">cmake-3.10.0-rc5-win32-x86.zip align=3D"right">2017-11-10 14:01 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc5-win64-x64.msi">cmake-3.10.0-rc5-win64-x64.msi align=3D"right">2017-11-10 14:01 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc5-win64-x64.zip">cmake-3.10.0-rc5-win64-x64.zip align=3D"right">2017-11-10 14:01 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc5.tar.Z">cmake-3.10.0-rc5.tar.Z align=3D"right">2017-11-10 14:01 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-rc5.tar.gz">cmake-3.10.0-rc5.tar.gz align=3D"right">2017-11-10 14:01 align=3D"right">7.5M 
valign=3D"top">3D"[= href=3D"cmake-3.10.0-rc5.zip">cmake-3.10.0-rc5.zip align=3D"right">2017-11-10 14:00 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-win32-x86.msi">cmake-3.10.0-win32-x86.msi align=3D"right">2017-11-20 16:00 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-win32-x86.zip">cmake-3.10.0-win32-x86.zip align=3D"right">2017-11-20 16:00 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-win64-x64.msi">cmake-3.10.0-win64-x64.msi align=3D"right">2017-11-20 16:00 > 17M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0-win64-x64.zip">cmake-3.10.0-win64-x64.zip align=3D"right">2017-11-20 16:00 > 24M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0.tar.Z">cmake-3.10.0.tar.Z align=3D"right">2017-11-20 16:00 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.0.tar.gz">cmake-3.10.0.tar.gz align=3D"right">2017-11-20 16:00 align=3D"right">7.5M 
valign=3D"top">3D"[= href=3D"cmake-3.10.0.zip">cmake-3.10.0.zip align=3D"right">2017-11-20 16:00 > 12M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.1-Darwin-x86_64.dmg">cmake-3.10.1-Darwin-x86_64.dmg align=3D"right">2017-12-14 09:10 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.1-Darwin-x86_64.tar.gz">cmake-3.10.1-Darwin-x86_64.tar= .gz align=3D"right">2017-12-14 09:10 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.1-Linux-x86_64.sh">cmake-3.10.1-Linux-x86_64.sh align=3D"right">2017-12-14 09:10 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.1-Linux-x86_64.tar.gz">cmake-3.10.1-Linux-x86_64.tar.g= z align=3D"right">2017-12-14 09:10 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.1-SHA-256.txt">cmake-3.10.1-SHA-256.txt align=3D"right">2017-12-14 09:10 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.10.1-SHA-256.txt.asc">cmake-3.10.1-SHA-256.txt.asc align=3D"right">2017-12-14 09:10 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.1-win32-x86.msi">cmake-3.10.1-win32-x86.msi align=3D"right">2017-12-14 09:10 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.1-win32-x86.zip">cmake-3.10.1-win32-x86.zip align=3D"right">2017-12-14 09:10 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.1-win64-x64.msi">cmake-3.10.1-win64-x64.msi align=3D"right">2017-12-14 09:10 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.1-win64-x64.zip">cmake-3.10.1-win64-x64.zip align=3D"right">2017-12-14 09:09 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.1.tar.Z">cmake-3.10.1.tar.Z align=3D"right">2017-12-14 09:09 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.1.tar.gz">cmake-3.10.1.tar.gz align=3D"right">2017-12-14 09:09 align=3D"right">7.5M 
valign=3D"top">3D"[= href=3D"cmake-3.10.1.zip">cmake-3.10.1.zip align=3D"right">2017-12-14 09:09 > 12M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.2-Darwin-x86_64.dmg">cmake-3.10.2-Darwin-x86_64.dmg align=3D"right">2018-01-18 12:09 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.2-Darwin-x86_64.tar.gz">cmake-3.10.2-Darwin-x86_64.tar= .gz align=3D"right">2018-01-18 12:09 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.2-Linux-x86_64.sh">cmake-3.10.2-Linux-x86_64.sh align=3D"right">2018-01-18 12:09 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.2-Linux-x86_64.tar.gz">cmake-3.10.2-Linux-x86_64.tar.g= z align=3D"right">2018-01-18 12:09 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.2-SHA-256.txt">cmake-3.10.2-SHA-256.txt align=3D"right">2018-01-18 12:09 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.10.2-SHA-256.txt.asc">cmake-3.10.2-SHA-256.txt.asc align=3D"right">2018-01-18 12:09 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.2-win32-x86.msi">cmake-3.10.2-win32-x86.msi align=3D"right">2018-01-18 12:09 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.2-win32-x86.zip">cmake-3.10.2-win32-x86.zip align=3D"right">2018-01-18 12:09 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.2-win64-x64.msi">cmake-3.10.2-win64-x64.msi align=3D"right">2018-01-18 12:09 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.2-win64-x64.zip">cmake-3.10.2-win64-x64.zip align=3D"right">2018-01-18 12:09 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.2.tar.Z">cmake-3.10.2.tar.Z align=3D"right">2018-01-18 12:09 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.2.tar.gz">cmake-3.10.2.tar.gz align=3D"right">2018-01-18 12:09 align=3D"right">7.5M 
valign=3D"top">3D"[= href=3D"cmake-3.10.2.zip">cmake-3.10.2.zip align=3D"right">2018-01-18 12:08 > 12M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.3-Darwin-x86_64.dmg">cmake-3.10.3-Darwin-x86_64.dmg align=3D"right">2018-03-16 09:38 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.3-Darwin-x86_64.tar.gz">cmake-3.10.3-Darwin-x86_64.tar= .gz align=3D"right">2018-03-16 09:38 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.3-Linux-x86_64.sh">cmake-3.10.3-Linux-x86_64.sh align=3D"right">2018-03-16 09:38 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.3-Linux-x86_64.tar.gz">cmake-3.10.3-Linux-x86_64.tar.g= z align=3D"right">2018-03-16 09:38 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.10.3-SHA-256.txt">cmake-3.10.3-SHA-256.txt align=3D"right">2018-03-16 09:38 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.10.3-SHA-256.txt.asc">cmake-3.10.3-SHA-256.txt.asc align=3D"right">2018-03-16 09:38 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.3-win32-x86.msi">cmake-3.10.3-win32-x86.msi align=3D"right">2018-03-16 09:38 > 15M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.3-win32-x86.zip">cmake-3.10.3-win32-x86.zip align=3D"right">2018-03-16 09:38 > 21M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.10.3-win64-x64.msi">cmake-3.10.3-win64-x64.msi align=3D"right">2018-03-16 09:38 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.3-win64-x64.zip">cmake-3.10.3-win64-x64.zip align=3D"right">2018-03-16 09:38 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.3.tar.Z">cmake-3.10.3.tar.Z align=3D"right">2018-03-16 09:38 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.10.3.tar.gz">cmake-3.10.3.tar.gz align=3D"right">2018-03-16 09:38 align=3D"right">7.5M 
valign=3D"top">3D"[= href=3D"cmake-3.10.3.zip">cmake-3.10.3.zip align=3D"right">2018-03-16 09:38 > 12M 

> + > diff --git > a/bitbake/lib/bb/tests/fetch-testdata/files/v3.11/index.html > b/bitbake/lib/bb/tests/fetch-testdata/files/v3.11/index.html new file > mode 100644 index 0000000..869d742 --- /dev/null > +++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.11/index.html > @@ -0,0 +1,131 @@ > + > + > + > + Index of /files/v3.11 > + > + > +

Index of /files/v3.11

> + > + > + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + > + > +
alt=3D"[ICO]">Name href=3D"?C=3DM;O=3DA">Last modified href=3D"?C=3DS;O=3DA">Size href=3D"?C=3DD;O=3DA">Description

alt=3D"[PARENTDIR]">Parent > Directory  - >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-Darwin-x86_64.dmg">cmake-3.11.0-Darwin-x86_64.dmg align=3D"right">2018-03-28 13:40 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-Darwin-x86_64.tar.gz">cmake-3.11.0-Darwin-x86_64.tar= .gz align=3D"right">2018-03-28 13:40 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.0-Linux-x86_64.sh">cmake-3.11.0-Linux-x86_64.sh align=3D"right">2018-03-28 13:40 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-Linux-x86_64.tar.gz">cmake-3.11.0-Linux-x86_64.tar.g= z align=3D"right">2018-03-28 13:40 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.0-SHA-256.txt">cmake-3.11.0-SHA-256.txt align=3D"right">2018-03-28 13:40 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.11.0-SHA-256.txt.asc">cmake-3.11.0-SHA-256.txt.asc align=3D"right">2018-03-28 13:40 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc1-Darwin-x86_64.dmg">cmake-3.11.0-rc1-Darwin-x86_6= 4.dmg align=3D"right">2018-02-15 11:53 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc1-Darwin-x86_64.tar.gz">cmake-3.11.0-rc1-Darwin-x8= 6_64.tar.gz align=3D"right">2018-02-15 11:53 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.0-rc1-Linux-x86_64.sh">cmake-3.11.0-rc1-Linux-x86_64.s= h align=3D"right">2018-02-15 11:53 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc1-Linux-x86_64.tar.gz">cmake-3.11.0-rc1-Linux-x86_= 64.tar.gz align=3D"right">2018-02-15 11:53 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.0-rc1-SHA-256.txt">cmake-3.11.0-rc1-SHA-256.txt align=3D"right">2018-02-15 11:53 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.11.0-rc1-SHA-256.txt.asc">cmake-3.11.0-rc1-SHA-256.txt.as= c align=3D"right">2018-02-15 11:53 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc1-win32-x86.msi">cmake-3.11.0-rc1-win32-x86.msi align=3D"right">2018-02-15 11:53 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc1-win32-x86.zip">cmake-3.11.0-rc1-win32-x86.zip align=3D"right">2018-02-15 11:53 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc1-win64-x64.msi">cmake-3.11.0-rc1-win64-x64.msi align=3D"right">2018-02-15 11:53 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc1-win64-x64.zip">cmake-3.11.0-rc1-win64-x64.zip align=3D"right">2018-02-15 11:53 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc1.tar.Z">cmake-3.11.0-rc1.tar.Z align=3D"right">2018-02-15 11:52 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc1.tar.gz">cmake-3.11.0-rc1.tar.gz align=3D"right">2018-02-15 11:52 align=3D"right">7.6M 
valign=3D"top">3D"[= href=3D"cmake-3.11.0-rc1.zip">cmake-3.11.0-rc1.zip align=3D"right">2018-02-15 11:52 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc2-Darwin-x86_64.dmg">cmake-3.11.0-rc2-Darwin-x86_6= 4.dmg align=3D"right">2018-02-27 11:09 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc2-Darwin-x86_64.tar.gz">cmake-3.11.0-rc2-Darwin-x8= 6_64.tar.gz align=3D"right">2018-02-27 11:09 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.0-rc2-Linux-x86_64.sh">cmake-3.11.0-rc2-Linux-x86_64.s= h align=3D"right">2018-02-27 11:09 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc2-Linux-x86_64.tar.gz">cmake-3.11.0-rc2-Linux-x86_= 64.tar.gz align=3D"right">2018-02-27 11:09 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.0-rc2-SHA-256.txt">cmake-3.11.0-rc2-SHA-256.txt align=3D"right">2018-02-27 11:09 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.11.0-rc2-SHA-256.txt.asc">cmake-3.11.0-rc2-SHA-256.txt.as= c align=3D"right">2018-02-27 11:09 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc2-win32-x86.msi">cmake-3.11.0-rc2-win32-x86.msi align=3D"right">2018-02-27 11:09 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc2-win32-x86.zip">cmake-3.11.0-rc2-win32-x86.zip align=3D"right">2018-02-27 11:09 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc2-win64-x64.msi">cmake-3.11.0-rc2-win64-x64.msi align=3D"right">2018-02-27 11:09 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc2-win64-x64.zip">cmake-3.11.0-rc2-win64-x64.zip align=3D"right">2018-02-27 11:09 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc2.tar.Z">cmake-3.11.0-rc2.tar.Z align=3D"right">2018-02-27 11:09 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc2.tar.gz">cmake-3.11.0-rc2.tar.gz align=3D"right">2018-02-27 11:09 align=3D"right">7.6M 
valign=3D"top">3D"[= href=3D"cmake-3.11.0-rc2.zip">cmake-3.11.0-rc2.zip align=3D"right">2018-02-27 11:09 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc3-Darwin-x86_64.dmg">cmake-3.11.0-rc3-Darwin-x86_6= 4.dmg align=3D"right">2018-03-09 13:46 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc3-Darwin-x86_64.tar.gz">cmake-3.11.0-rc3-Darwin-x8= 6_64.tar.gz align=3D"right">2018-03-09 13:46 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.0-rc3-Linux-x86_64.sh">cmake-3.11.0-rc3-Linux-x86_64.s= h align=3D"right">2018-03-09 13:46 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc3-Linux-x86_64.tar.gz">cmake-3.11.0-rc3-Linux-x86_= 64.tar.gz align=3D"right">2018-03-09 13:46 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.0-rc3-SHA-256.txt">cmake-3.11.0-rc3-SHA-256.txt align=3D"right">2018-03-09 13:46 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.11.0-rc3-SHA-256.txt.asc">cmake-3.11.0-rc3-SHA-256.txt.as= c align=3D"right">2018-03-09 13:46 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc3-win32-x86.msi">cmake-3.11.0-rc3-win32-x86.msi align=3D"right">2018-03-09 13:46 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc3-win32-x86.zip">cmake-3.11.0-rc3-win32-x86.zip align=3D"right">2018-03-09 13:45 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc3-win64-x64.msi">cmake-3.11.0-rc3-win64-x64.msi align=3D"right">2018-03-09 13:45 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc3-win64-x64.zip">cmake-3.11.0-rc3-win64-x64.zip align=3D"right">2018-03-09 13:45 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc3.tar.Z">cmake-3.11.0-rc3.tar.Z align=3D"right">2018-03-09 13:45 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc3.tar.gz">cmake-3.11.0-rc3.tar.gz align=3D"right">2018-03-09 13:45 align=3D"right">7.6M 
valign=3D"top">3D"[= href=3D"cmake-3.11.0-rc3.zip">cmake-3.11.0-rc3.zip align=3D"right">2018-03-09 13:45 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc4-Darwin-x86_64.dmg">cmake-3.11.0-rc4-Darwin-x86_6= 4.dmg align=3D"right">2018-03-19 11:07 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc4-Darwin-x86_64.tar.gz">cmake-3.11.0-rc4-Darwin-x8= 6_64.tar.gz align=3D"right">2018-03-19 11:07 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.0-rc4-Linux-x86_64.sh">cmake-3.11.0-rc4-Linux-x86_64.s= h align=3D"right">2018-03-19 11:06 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc4-Linux-x86_64.tar.gz">cmake-3.11.0-rc4-Linux-x86_= 64.tar.gz align=3D"right">2018-03-19 11:06 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.0-rc4-SHA-256.txt">cmake-3.11.0-rc4-SHA-256.txt align=3D"right">2018-03-19 11:06 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.11.0-rc4-SHA-256.txt.asc">cmake-3.11.0-rc4-SHA-256.txt.as= c align=3D"right">2018-03-19 11:06 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc4-win32-x86.msi">cmake-3.11.0-rc4-win32-x86.msi align=3D"right">2018-03-19 11:06 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc4-win32-x86.zip">cmake-3.11.0-rc4-win32-x86.zip align=3D"right">2018-03-19 11:06 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc4-win64-x64.msi">cmake-3.11.0-rc4-win64-x64.msi align=3D"right">2018-03-19 11:06 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc4-win64-x64.zip">cmake-3.11.0-rc4-win64-x64.zip align=3D"right">2018-03-19 11:06 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc4.tar.Z">cmake-3.11.0-rc4.tar.Z align=3D"right">2018-03-19 11:06 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-rc4.tar.gz">cmake-3.11.0-rc4.tar.gz align=3D"right">2018-03-19 11:06 align=3D"right">7.6M 
valign=3D"top">3D"[= href=3D"cmake-3.11.0-rc4.zip">cmake-3.11.0-rc4.zip align=3D"right">2018-03-19 11:06 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-win32-x86.msi">cmake-3.11.0-win32-x86.msi align=3D"right">2018-03-28 13:40 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-win32-x86.zip">cmake-3.11.0-win32-x86.zip align=3D"right">2018-03-28 13:40 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-win64-x64.msi">cmake-3.11.0-win64-x64.msi align=3D"right">2018-03-28 13:40 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0-win64-x64.zip">cmake-3.11.0-win64-x64.zip align=3D"right">2018-03-28 13:40 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0.tar.Z">cmake-3.11.0.tar.Z align=3D"right">2018-03-28 13:40 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.0.tar.gz">cmake-3.11.0.tar.gz align=3D"right">2018-03-28 13:40 align=3D"right">7.6M 
valign=3D"top">3D"[= href=3D"cmake-3.11.0.zip">cmake-3.11.0.zip align=3D"right">2018-03-28 13:40 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.1-Darwin-x86_64.dmg">cmake-3.11.1-Darwin-x86_64.dmg align=3D"right">2018-04-17 11:33 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.1-Darwin-x86_64.tar.gz">cmake-3.11.1-Darwin-x86_64.tar= .gz align=3D"right">2018-04-17 11:32 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.1-Linux-x86_64.sh">cmake-3.11.1-Linux-x86_64.sh align=3D"right">2018-04-17 11:32 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.1-Linux-x86_64.tar.gz">cmake-3.11.1-Linux-x86_64.tar.g= z align=3D"right">2018-04-17 11:32 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.1-SHA-256.txt">cmake-3.11.1-SHA-256.txt align=3D"right">2018-04-17 11:32 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.11.1-SHA-256.txt.asc">cmake-3.11.1-SHA-256.txt.asc align=3D"right">2018-04-17 11:32 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.1-win32-x86.msi">cmake-3.11.1-win32-x86.msi align=3D"right">2018-04-17 11:32 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.1-win32-x86.zip">cmake-3.11.1-win32-x86.zip align=3D"right">2018-04-17 11:32 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.1-win64-x64.msi">cmake-3.11.1-win64-x64.msi align=3D"right">2018-04-17 11:32 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.1-win64-x64.zip">cmake-3.11.1-win64-x64.zip align=3D"right">2018-04-17 11:32 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.1.tar.Z">cmake-3.11.1.tar.Z align=3D"right">2018-04-17 11:32 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.1.tar.gz">cmake-3.11.1.tar.gz align=3D"right">2018-04-17 11:32 align=3D"right">7.6M 
valign=3D"top">3D"[= href=3D"cmake-3.11.1.zip">cmake-3.11.1.zip align=3D"right">2018-04-17 11:32 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.2-Darwin-x86_64.dmg">cmake-3.11.2-Darwin-x86_64.dmg align=3D"right">2018-05-17 12:45 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.2-Darwin-x86_64.tar.gz">cmake-3.11.2-Darwin-x86_64.tar= .gz align=3D"right">2018-05-17 12:45 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.2-Linux-x86_64.sh">cmake-3.11.2-Linux-x86_64.sh align=3D"right">2018-05-17 12:45 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.2-Linux-x86_64.tar.gz">cmake-3.11.2-Linux-x86_64.tar.g= z align=3D"right">2018-05-17 12:45 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.2-SHA-256.txt">cmake-3.11.2-SHA-256.txt align=3D"right">2018-05-17 12:45 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.11.2-SHA-256.txt.asc">cmake-3.11.2-SHA-256.txt.asc align=3D"right">2018-05-17 12:45 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.2-win32-x86.msi">cmake-3.11.2-win32-x86.msi align=3D"right">2018-05-17 12:45 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.2-win32-x86.zip">cmake-3.11.2-win32-x86.zip align=3D"right">2018-05-17 12:45 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.2-win64-x64.msi">cmake-3.11.2-win64-x64.msi align=3D"right">2018-05-17 12:45 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.2-win64-x64.zip">cmake-3.11.2-win64-x64.zip align=3D"right">2018-05-17 12:44 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.2.tar.Z">cmake-3.11.2.tar.Z align=3D"right">2018-05-17 12:44 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.2.tar.gz">cmake-3.11.2.tar.gz align=3D"right">2018-05-17 12:44 align=3D"right">7.6M 
valign=3D"top">3D"[= href=3D"cmake-3.11.2.zip">cmake-3.11.2.zip align=3D"right">2018-05-17 12:44 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.3-Darwin-x86_64.dmg">cmake-3.11.3-Darwin-x86_64.dmg align=3D"right">2018-05-31 15:53 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.3-Darwin-x86_64.tar.gz">cmake-3.11.3-Darwin-x86_64.tar= .gz align=3D"right">2018-05-31 15:53 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.3-Linux-x86_64.sh">cmake-3.11.3-Linux-x86_64.sh align=3D"right">2018-05-31 15:53 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.3-Linux-x86_64.tar.gz">cmake-3.11.3-Linux-x86_64.tar.g= z align=3D"right">2018-05-31 15:52 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.3-SHA-256.txt">cmake-3.11.3-SHA-256.txt align=3D"right">2018-05-31 15:52 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.11.3-SHA-256.txt.asc">cmake-3.11.3-SHA-256.txt.asc align=3D"right">2018-05-31 15:52 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.3-win32-x86.msi">cmake-3.11.3-win32-x86.msi align=3D"right">2018-05-31 15:52 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.3-win32-x86.zip">cmake-3.11.3-win32-x86.zip align=3D"right">2018-05-31 15:52 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.3-win64-x64.msi">cmake-3.11.3-win64-x64.msi align=3D"right">2018-05-31 15:52 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.3-win64-x64.zip">cmake-3.11.3-win64-x64.zip align=3D"right">2018-05-31 15:52 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.3.tar.Z">cmake-3.11.3.tar.Z align=3D"right">2018-05-31 15:52 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.3.tar.gz">cmake-3.11.3.tar.gz align=3D"right">2018-05-31 15:52 align=3D"right">7.6M 
valign=3D"top">3D"[= href=3D"cmake-3.11.3.zip">cmake-3.11.3.zip align=3D"right">2018-05-31 15:52 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.4-Darwin-x86_64.dmg">cmake-3.11.4-Darwin-x86_64.dmg align=3D"right">2018-06-14 13:50 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.4-Darwin-x86_64.tar.gz">cmake-3.11.4-Darwin-x86_64.tar= .gz align=3D"right">2018-06-14 13:50 > 26M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.4-Linux-x86_64.sh">cmake-3.11.4-Linux-x86_64.sh align=3D"right">2018-06-14 13:50 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.4-Linux-x86_64.tar.gz">cmake-3.11.4-Linux-x86_64.tar.g= z align=3D"right">2018-06-14 13:50 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.11.4-SHA-256.txt">cmake-3.11.4-SHA-256.txt align=3D"right">2018-06-14 13:50 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.11.4-SHA-256.txt.asc">cmake-3.11.4-SHA-256.txt.asc align=3D"right">2018-06-14 13:50 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.4-win32-x86.msi">cmake-3.11.4-win32-x86.msi align=3D"right">2018-06-14 13:50 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.4-win32-x86.zip">cmake-3.11.4-win32-x86.zip align=3D"right">2018-06-14 13:50 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.11.4-win64-x64.msi">cmake-3.11.4-win64-x64.msi align=3D"right">2018-06-14 13:50 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.4-win64-x64.zip">cmake-3.11.4-win64-x64.zip align=3D"right">2018-06-14 13:50 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.4.tar.Z">cmake-3.11.4.tar.Z align=3D"right">2018-06-14 13:50 > 12M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.11.4.tar.gz">cmake-3.11.4.tar.gz align=3D"right">2018-06-14 13:50 align=3D"right">7.6M 
valign=3D"top">3D"[= href=3D"cmake-3.11.4.zip">cmake-3.11.4.zip align=3D"right">2018-06-14 13:50 > 13M 

> + > diff --git > a/bitbake/lib/bb/tests/fetch-testdata/files/v3.12/index.html > b/bitbake/lib/bb/tests/fetch-testdata/files/v3.12/index.html new file > mode 100644 index 0000000..1977e7e --- /dev/null > +++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.12/index.html > @@ -0,0 +1,118 @@ > + > + > + > + Index of /files/v3.12 > + > + > +

Index of /files/v3.12

> + > + > + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + > + > +
alt=3D"[ICO]">Name href=3D"?C=3DM;O=3DA">Last modified href=3D"?C=3DS;O=3DA">Size href=3D"?C=3DD;O=3DA">Description

alt=3D"[PARENTDIR]">Parent > Directory  - >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-Darwin-x86_64.dmg">cmake-3.12.0-Darwin-x86_64.dmg align=3D"right">2018-07-17 09:58 > 27M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-Darwin-x86_64.tar.gz">cmake-3.12.0-Darwin-x86_64.tar= .gz align=3D"right">2018-07-17 09:58 > 27M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.0-Linux-x86_64.sh">cmake-3.12.0-Linux-x86_64.sh align=3D"right">2018-07-17 09:58 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-Linux-x86_64.tar.gz">cmake-3.12.0-Linux-x86_64.tar.g= z align=3D"right">2018-07-17 09:58 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.0-SHA-256.txt">cmake-3.12.0-SHA-256.txt align=3D"right">2018-07-17 09:58 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.12.0-SHA-256.txt.asc">cmake-3.12.0-SHA-256.txt.asc align=3D"right">2018-07-17 09:58 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc1-Darwin-x86_64.dmg">cmake-3.12.0-rc1-Darwin-x86_6= 4.dmg align=3D"right">2018-06-14 15:01 > 27M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc1-Darwin-x86_64.tar.gz">cmake-3.12.0-rc1-Darwin-x8= 6_64.tar.gz align=3D"right">2018-06-14 15:01 > 27M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.0-rc1-Linux-x86_64.sh">cmake-3.12.0-rc1-Linux-x86_64.s= h align=3D"right">2018-06-14 15:01 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc1-Linux-x86_64.tar.gz">cmake-3.12.0-rc1-Linux-x86_= 64.tar.gz align=3D"right">2018-06-14 15:01 > 29M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.0-rc1-SHA-256.txt">cmake-3.12.0-rc1-SHA-256.txt align=3D"right">2018-06-14 15:01 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.12.0-rc1-SHA-256.txt.asc">cmake-3.12.0-rc1-SHA-256.txt.as= c align=3D"right">2018-06-14 15:01 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc1-win32-x86.msi">cmake-3.12.0-rc1-win32-x86.msi align=3D"right">2018-06-14 15:01 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc1-win32-x86.zip">cmake-3.12.0-rc1-win32-x86.zip align=3D"right">2018-06-14 15:01 > 23M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc1-win64-x64.msi">cmake-3.12.0-rc1-win64-x64.msi align=3D"right">2018-06-14 15:01 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc1-win64-x64.zip">cmake-3.12.0-rc1-win64-x64.zip align=3D"right">2018-06-14 15:01 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc1.tar.Z">cmake-3.12.0-rc1.tar.Z align=3D"right">2018-06-14 15:01 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc1.tar.gz">cmake-3.12.0-rc1.tar.gz align=3D"right">2018-06-14 15:01 align=3D"right">7.7M 
valign=3D"top">3D"[= href=3D"cmake-3.12.0-rc1.zip">cmake-3.12.0-rc1.zip align=3D"right">2018-06-14 15:01 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc2-Darwin-x86_64.dmg">cmake-3.12.0-rc2-Darwin-x86_6= 4.dmg align=3D"right">2018-06-29 13:57 > 27M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc2-Darwin-x86_64.tar.gz">cmake-3.12.0-rc2-Darwin-x8= 6_64.tar.gz align=3D"right">2018-06-29 13:57 > 27M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.0-rc2-Linux-x86_64.sh">cmake-3.12.0-rc2-Linux-x86_64.s= h align=3D"right">2018-06-29 13:57 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc2-Linux-x86_64.tar.gz">cmake-3.12.0-rc2-Linux-x86_= 64.tar.gz align=3D"right">2018-06-29 13:57 > 29M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.0-rc2-SHA-256.txt">cmake-3.12.0-rc2-SHA-256.txt align=3D"right">2018-06-29 13:57 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.12.0-rc2-SHA-256.txt.asc">cmake-3.12.0-rc2-SHA-256.txt.as= c align=3D"right">2018-06-29 13:57 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc2-win32-x86.msi">cmake-3.12.0-rc2-win32-x86.msi align=3D"right">2018-06-29 13:56 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc2-win32-x86.zip">cmake-3.12.0-rc2-win32-x86.zip align=3D"right">2018-06-29 13:56 > 23M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc2-win64-x64.msi">cmake-3.12.0-rc2-win64-x64.msi align=3D"right">2018-06-29 13:56 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc2-win64-x64.zip">cmake-3.12.0-rc2-win64-x64.zip align=3D"right">2018-06-29 13:56 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc2.tar.Z">cmake-3.12.0-rc2.tar.Z align=3D"right">2018-06-29 13:56 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc2.tar.gz">cmake-3.12.0-rc2.tar.gz align=3D"right">2018-06-29 13:56 align=3D"right">7.7M 
valign=3D"top">3D"[= href=3D"cmake-3.12.0-rc2.zip">cmake-3.12.0-rc2.zip align=3D"right">2018-06-29 13:56 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc3-Darwin-x86_64.dmg">cmake-3.12.0-rc3-Darwin-x86_6= 4.dmg align=3D"right">2018-07-09 11:38 > 27M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc3-Darwin-x86_64.tar.gz">cmake-3.12.0-rc3-Darwin-x8= 6_64.tar.gz align=3D"right">2018-07-09 11:38 > 27M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.0-rc3-Linux-x86_64.sh">cmake-3.12.0-rc3-Linux-x86_64.s= h align=3D"right">2018-07-09 11:38 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc3-Linux-x86_64.tar.gz">cmake-3.12.0-rc3-Linux-x86_= 64.tar.gz align=3D"right">2018-07-09 11:38 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.0-rc3-SHA-256.txt">cmake-3.12.0-rc3-SHA-256.txt align=3D"right">2018-07-09 11:38 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.12.0-rc3-SHA-256.txt.asc">cmake-3.12.0-rc3-SHA-256.txt.as= c align=3D"right">2018-07-09 11:38 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc3-win32-x86.msi">cmake-3.12.0-rc3-win32-x86.msi align=3D"right">2018-07-09 11:38 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc3-win32-x86.zip">cmake-3.12.0-rc3-win32-x86.zip align=3D"right">2018-07-09 11:38 > 23M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc3-win64-x64.msi">cmake-3.12.0-rc3-win64-x64.msi align=3D"right">2018-07-09 11:37 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc3-win64-x64.zip">cmake-3.12.0-rc3-win64-x64.zip align=3D"right">2018-07-09 11:37 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc3.tar.Z">cmake-3.12.0-rc3.tar.Z align=3D"right">2018-07-09 11:37 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-rc3.tar.gz">cmake-3.12.0-rc3.tar.gz align=3D"right">2018-07-09 11:37 align=3D"right">7.7M 
valign=3D"top">3D"[= href=3D"cmake-3.12.0-rc3.zip">cmake-3.12.0-rc3.zip align=3D"right">2018-07-09 11:37 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-win32-x86.msi">cmake-3.12.0-win32-x86.msi align=3D"right">2018-07-17 09:58 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-win32-x86.zip">cmake-3.12.0-win32-x86.zip align=3D"right">2018-07-17 09:58 > 23M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-win64-x64.msi">cmake-3.12.0-win64-x64.msi align=3D"right">2018-07-17 09:58 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0-win64-x64.zip">cmake-3.12.0-win64-x64.zip align=3D"right">2018-07-17 09:58 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0.tar.Z">cmake-3.12.0.tar.Z align=3D"right">2018-07-17 09:58 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.0.tar.gz">cmake-3.12.0.tar.gz align=3D"right">2018-07-17 09:58 align=3D"right">7.7M 
valign=3D"top">3D"[= href=3D"cmake-3.12.0.zip">cmake-3.12.0.zip align=3D"right">2018-07-17 09:57 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.1-Darwin-x86_64.dmg">cmake-3.12.1-Darwin-x86_64.dmg align=3D"right">2018-08-09 11:21 > 27M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.1-Darwin-x86_64.tar.gz">cmake-3.12.1-Darwin-x86_64.tar= .gz align=3D"right">2018-08-09 11:21 > 27M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.1-Linux-x86_64.sh">cmake-3.12.1-Linux-x86_64.sh align=3D"right">2018-08-09 11:21 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.1-Linux-x86_64.tar.gz">cmake-3.12.1-Linux-x86_64.tar.g= z align=3D"right">2018-08-09 11:21 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.1-SHA-256.txt">cmake-3.12.1-SHA-256.txt align=3D"right">2018-08-09 11:20 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.12.1-SHA-256.txt.asc">cmake-3.12.1-SHA-256.txt.asc align=3D"right">2018-08-09 11:20 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.1-win32-x86.msi">cmake-3.12.1-win32-x86.msi align=3D"right">2018-08-09 11:20 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.1-win32-x86.zip">cmake-3.12.1-win32-x86.zip align=3D"right">2018-08-09 11:20 > 23M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.1-win64-x64.msi">cmake-3.12.1-win64-x64.msi align=3D"right">2018-08-09 11:20 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.1-win64-x64.zip">cmake-3.12.1-win64-x64.zip align=3D"right">2018-08-09 11:20 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.1.tar.Z">cmake-3.12.1.tar.Z align=3D"right">2018-08-09 11:20 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.1.tar.gz">cmake-3.12.1.tar.gz align=3D"right">2018-08-09 11:20 align=3D"right">7.7M 
valign=3D"top">3D"[= href=3D"cmake-3.12.1.zip">cmake-3.12.1.zip align=3D"right">2018-08-09 11:20 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.2-Darwin-x86_64.dmg">cmake-3.12.2-Darwin-x86_64.dmg align=3D"right">2018-09-07 12:51 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.2-Darwin-x86_64.tar.gz">cmake-3.12.2-Darwin-x86_64.tar= .gz align=3D"right">2018-09-07 12:51 > 28M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.2-Linux-x86_64.sh">cmake-3.12.2-Linux-x86_64.sh align=3D"right">2018-09-07 12:51 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.2-Linux-x86_64.tar.gz">cmake-3.12.2-Linux-x86_64.tar.g= z align=3D"right">2018-09-07 12:51 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.2-SHA-256.txt">cmake-3.12.2-SHA-256.txt align=3D"right">2018-09-07 12:51 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.12.2-SHA-256.txt.asc">cmake-3.12.2-SHA-256.txt.asc align=3D"right">2018-09-07 12:51 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.2-win32-x86.msi">cmake-3.12.2-win32-x86.msi align=3D"right">2018-09-07 12:51 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.2-win32-x86.zip">cmake-3.12.2-win32-x86.zip align=3D"right">2018-09-07 12:51 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.2-win64-x64.msi">cmake-3.12.2-win64-x64.msi align=3D"right">2018-09-07 12:51 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.2-win64-x64.zip">cmake-3.12.2-win64-x64.zip align=3D"right">2018-09-07 12:51 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.2.tar.Z">cmake-3.12.2.tar.Z align=3D"right">2018-09-07 12:51 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.2.tar.gz">cmake-3.12.2.tar.gz align=3D"right">2018-09-07 12:51 align=3D"right">8.0M 
valign=3D"top">3D"[= href=3D"cmake-3.12.2.zip">cmake-3.12.2.zip align=3D"right">2018-09-07 12:51 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.3-Darwin-x86_64.dmg">cmake-3.12.3-Darwin-x86_64.dmg align=3D"right">2018-10-03 10:46 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.3-Darwin-x86_64.tar.gz">cmake-3.12.3-Darwin-x86_64.tar= .gz align=3D"right">2018-10-03 10:46 > 28M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.3-Linux-x86_64.sh">cmake-3.12.3-Linux-x86_64.sh align=3D"right">2018-10-03 10:45 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.3-Linux-x86_64.tar.gz">cmake-3.12.3-Linux-x86_64.tar.g= z align=3D"right">2018-10-03 10:45 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.3-SHA-256.txt">cmake-3.12.3-SHA-256.txt align=3D"right">2018-10-03 10:45 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.12.3-SHA-256.txt.asc">cmake-3.12.3-SHA-256.txt.asc align=3D"right">2018-10-03 10:45 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.3-win32-x86.msi">cmake-3.12.3-win32-x86.msi align=3D"right">2018-10-03 10:45 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.3-win32-x86.zip">cmake-3.12.3-win32-x86.zip align=3D"right">2018-10-03 10:45 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.3-win64-x64.msi">cmake-3.12.3-win64-x64.msi align=3D"right">2018-10-03 10:45 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.3-win64-x64.zip">cmake-3.12.3-win64-x64.zip align=3D"right">2018-10-03 10:45 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.3.tar.Z">cmake-3.12.3.tar.Z align=3D"right">2018-10-03 10:45 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.3.tar.gz">cmake-3.12.3.tar.gz align=3D"right">2018-10-03 10:45 align=3D"right">8.0M 
valign=3D"top">3D"[= href=3D"cmake-3.12.3.zip">cmake-3.12.3.zip align=3D"right">2018-10-03 10:45 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.4-Darwin-x86_64.dmg">cmake-3.12.4-Darwin-x86_64.dmg align=3D"right">2018-11-02 13:51 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.4-Darwin-x86_64.tar.gz">cmake-3.12.4-Darwin-x86_64.tar= .gz align=3D"right">2018-11-02 13:51 > 28M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.4-Linux-x86_64.sh">cmake-3.12.4-Linux-x86_64.sh align=3D"right">2018-11-02 13:51 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.4-Linux-x86_64.tar.gz">cmake-3.12.4-Linux-x86_64.tar.g= z align=3D"right">2018-11-02 13:51 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.12.4-SHA-256.txt">cmake-3.12.4-SHA-256.txt align=3D"right">2018-11-02 13:51 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.12.4-SHA-256.txt.asc">cmake-3.12.4-SHA-256.txt.asc align=3D"right">2018-11-02 13:51 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.4-win32-x86.msi">cmake-3.12.4-win32-x86.msi align=3D"right">2018-11-02 13:51 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.4-win32-x86.zip">cmake-3.12.4-win32-x86.zip align=3D"right">2018-11-02 13:51 > 22M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.12.4-win64-x64.msi">cmake-3.12.4-win64-x64.msi align=3D"right">2018-11-02 13:51 > 18M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.4-win64-x64.zip">cmake-3.12.4-win64-x64.zip align=3D"right">2018-11-02 13:51 > 25M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.4.tar.Z">cmake-3.12.4.tar.Z align=3D"right">2018-11-02 13:51 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.12.4.tar.gz">cmake-3.12.4.tar.gz align=3D"right">2018-11-02 13:51 align=3D"right">8.0M 
valign=3D"top">3D"[= href=3D"cmake-3.12.4.zip">cmake-3.12.4.zip align=3D"right">2018-11-02 13:51 > 13M 

> + > diff --git > a/bitbake/lib/bb/tests/fetch-testdata/files/v3.13/index.html > b/bitbake/lib/bb/tests/fetch-testdata/files/v3.13/index.html new file > mode 100644 index 0000000..b50a791 --- /dev/null > +++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.13/index.html > @@ -0,0 +1,131 @@ > + > + > + > + Index of /files/v3.13 > + > + > +

Index of /files/v3.13

> + > + > + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + > + > +
alt=3D"[ICO]">Name href=3D"?C=3DM;O=3DA">Last modified href=3D"?C=3DS;O=3DA">Size href=3D"?C=3DD;O=3DA">Description

alt=3D"[PARENTDIR]">Parent > Directory  - >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-Darwin-x86_64.dmg">cmake-3.13.0-Darwin-x86_64.dmg align=3D"right">2018-11-20 14:05 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-Darwin-x86_64.tar.gz">cmake-3.13.0-Darwin-x86_64.tar= .gz align=3D"right">2018-11-20 14:05 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.0-Linux-x86_64.sh">cmake-3.13.0-Linux-x86_64.sh align=3D"right">2018-11-20 14:05 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-Linux-x86_64.tar.gz">cmake-3.13.0-Linux-x86_64.tar.g= z align=3D"right">2018-11-20 14:05 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.0-SHA-256.txt">cmake-3.13.0-SHA-256.txt align=3D"right">2018-11-20 14:05 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.13.0-SHA-256.txt.asc">cmake-3.13.0-SHA-256.txt.asc align=3D"right">2018-11-20 14:05 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc1-Darwin-x86_64.dmg">cmake-3.13.0-rc1-Darwin-x86_6= 4.dmg align=3D"right">2018-10-09 11:32 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc1-Darwin-x86_64.tar.gz">cmake-3.13.0-rc1-Darwin-x8= 6_64.tar.gz align=3D"right">2018-10-09 11:32 > 28M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.0-rc1-Linux-x86_64.sh">cmake-3.13.0-rc1-Linux-x86_64.s= h align=3D"right">2018-10-09 11:32 > 34M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc1-Linux-x86_64.tar.gz">cmake-3.13.0-rc1-Linux-x86_= 64.tar.gz align=3D"right">2018-10-09 11:32 > 34M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.0-rc1-SHA-256.txt">cmake-3.13.0-rc1-SHA-256.txt align=3D"right">2018-10-09 11:32 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.13.0-rc1-SHA-256.txt.asc">cmake-3.13.0-rc1-SHA-256.txt.as= c align=3D"right">2018-10-09 11:32 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc1-win32-x86.msi">cmake-3.13.0-rc1-win32-x86.msi align=3D"right">2018-10-09 11:32 > 16M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc1-win32-x86.zip">cmake-3.13.0-rc1-win32-x86.zip align=3D"right">2018-10-09 11:32 > 23M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc1-win64-x64.msi">cmake-3.13.0-rc1-win64-x64.msi align=3D"right">2018-10-09 11:32 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc1-win64-x64.zip">cmake-3.13.0-rc1-win64-x64.zip align=3D"right">2018-10-09 11:32 > 26M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc1.tar.Z">cmake-3.13.0-rc1.tar.Z align=3D"right">2018-10-09 11:32 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc1.tar.gz">cmake-3.13.0-rc1.tar.gz align=3D"right">2018-10-09 11:32 align=3D"right">8.2M 
valign=3D"top">3D"[= href=3D"cmake-3.13.0-rc1.zip">cmake-3.13.0-rc1.zip align=3D"right">2018-10-09 11:32 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc2-Darwin-x86_64.dmg">cmake-3.13.0-rc2-Darwin-x86_6= 4.dmg align=3D"right">2018-10-25 10:28 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc2-Darwin-x86_64.tar.gz">cmake-3.13.0-rc2-Darwin-x8= 6_64.tar.gz align=3D"right">2018-10-25 10:28 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.0-rc2-Linux-x86_64.sh">cmake-3.13.0-rc2-Linux-x86_64.s= h align=3D"right">2018-10-25 10:27 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc2-Linux-x86_64.tar.gz">cmake-3.13.0-rc2-Linux-x86_= 64.tar.gz align=3D"right">2018-10-25 10:27 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.0-rc2-SHA-256.txt">cmake-3.13.0-rc2-SHA-256.txt align=3D"right">2018-10-25 10:27 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.13.0-rc2-SHA-256.txt.asc">cmake-3.13.0-rc2-SHA-256.txt.as= c align=3D"right">2018-10-25 10:27 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc2-win32-x86.msi">cmake-3.13.0-rc2-win32-x86.msi align=3D"right">2018-10-25 10:27 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc2-win32-x86.zip">cmake-3.13.0-rc2-win32-x86.zip align=3D"right">2018-10-25 10:27 > 25M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc2-win64-x64.msi">cmake-3.13.0-rc2-win64-x64.msi align=3D"right">2018-10-25 10:27 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc2-win64-x64.zip">cmake-3.13.0-rc2-win64-x64.zip align=3D"right">2018-10-25 10:27 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc2.tar.Z">cmake-3.13.0-rc2.tar.Z align=3D"right">2018-10-25 10:27 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc2.tar.gz">cmake-3.13.0-rc2.tar.gz align=3D"right">2018-10-25 10:27 align=3D"right">8.2M 
valign=3D"top">3D"[= href=3D"cmake-3.13.0-rc2.zip">cmake-3.13.0-rc2.zip align=3D"right">2018-10-25 10:27 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc3-Darwin-x86_64.dmg">cmake-3.13.0-rc3-Darwin-x86_6= 4.dmg align=3D"right">2018-11-07 12:11 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc3-Darwin-x86_64.tar.gz">cmake-3.13.0-rc3-Darwin-x8= 6_64.tar.gz align=3D"right">2018-11-07 12:11 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.0-rc3-Linux-x86_64.sh">cmake-3.13.0-rc3-Linux-x86_64.s= h align=3D"right">2018-11-07 12:11 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc3-Linux-x86_64.tar.gz">cmake-3.13.0-rc3-Linux-x86_= 64.tar.gz align=3D"right">2018-11-07 12:11 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.0-rc3-SHA-256.txt">cmake-3.13.0-rc3-SHA-256.txt align=3D"right">2018-11-07 12:11 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.13.0-rc3-SHA-256.txt.asc">cmake-3.13.0-rc3-SHA-256.txt.as= c align=3D"right">2018-11-07 12:11 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc3-win32-x86.msi">cmake-3.13.0-rc3-win32-x86.msi align=3D"right">2018-11-07 12:11 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc3-win32-x86.zip">cmake-3.13.0-rc3-win32-x86.zip align=3D"right">2018-11-07 12:11 > 25M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc3-win64-x64.msi">cmake-3.13.0-rc3-win64-x64.msi align=3D"right">2018-11-07 12:11 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc3-win64-x64.zip">cmake-3.13.0-rc3-win64-x64.zip align=3D"right">2018-11-07 12:11 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc3.tar.Z">cmake-3.13.0-rc3.tar.Z align=3D"right">2018-11-07 12:11 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-rc3.tar.gz">cmake-3.13.0-rc3.tar.gz align=3D"right">2018-11-07 12:11 align=3D"right">8.2M 
valign=3D"top">3D"[= href=3D"cmake-3.13.0-rc3.zip">cmake-3.13.0-rc3.zip align=3D"right">2018-11-07 12:11 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-win32-x86.msi">cmake-3.13.0-win32-x86.msi align=3D"right">2018-11-20 14:05 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-win32-x86.zip">cmake-3.13.0-win32-x86.zip align=3D"right">2018-11-20 14:05 > 25M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-win64-x64.msi">cmake-3.13.0-win64-x64.msi align=3D"right">2018-11-20 14:05 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0-win64-x64.zip">cmake-3.13.0-win64-x64.zip align=3D"right">2018-11-20 14:05 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0.tar.Z">cmake-3.13.0.tar.Z align=3D"right">2018-11-20 14:04 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.0.tar.gz">cmake-3.13.0.tar.gz align=3D"right">2018-11-20 14:04 align=3D"right">8.2M 
valign=3D"top">3D"[= href=3D"cmake-3.13.0.zip">cmake-3.13.0.zip align=3D"right">2018-11-20 14:04 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.1-Darwin-x86_64.dmg">cmake-3.13.1-Darwin-x86_64.dmg align=3D"right">2018-11-28 08:50 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.1-Darwin-x86_64.tar.gz">cmake-3.13.1-Darwin-x86_64.tar= .gz align=3D"right">2018-11-28 08:50 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.1-Linux-x86_64.sh">cmake-3.13.1-Linux-x86_64.sh align=3D"right">2018-11-28 08:50 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.1-Linux-x86_64.tar.gz">cmake-3.13.1-Linux-x86_64.tar.g= z align=3D"right">2018-11-28 08:50 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.1-SHA-256.txt">cmake-3.13.1-SHA-256.txt align=3D"right">2018-11-28 08:50 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.13.1-SHA-256.txt.asc">cmake-3.13.1-SHA-256.txt.asc align=3D"right">2018-11-28 08:50 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.1-win32-x86.msi">cmake-3.13.1-win32-x86.msi align=3D"right">2018-11-28 08:50 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.1-win32-x86.zip">cmake-3.13.1-win32-x86.zip align=3D"right">2018-11-28 08:50 > 25M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.1-win64-x64.msi">cmake-3.13.1-win64-x64.msi align=3D"right">2018-11-28 08:50 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.1-win64-x64.zip">cmake-3.13.1-win64-x64.zip align=3D"right">2018-11-28 08:50 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.1.tar.Z">cmake-3.13.1.tar.Z align=3D"right">2018-11-28 08:50 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.1.tar.gz">cmake-3.13.1.tar.gz align=3D"right">2018-11-28 08:50 align=3D"right">8.2M 
valign=3D"top">3D"[= href=3D"cmake-3.13.1.zip">cmake-3.13.1.zip align=3D"right">2018-11-28 08:50 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.2-Darwin-x86_64.dmg">cmake-3.13.2-Darwin-x86_64.dmg align=3D"right">2018-12-13 08:41 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.2-Darwin-x86_64.tar.gz">cmake-3.13.2-Darwin-x86_64.tar= .gz align=3D"right">2018-12-13 08:41 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.2-Linux-x86_64.sh">cmake-3.13.2-Linux-x86_64.sh align=3D"right">2018-12-13 08:41 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.2-Linux-x86_64.tar.gz">cmake-3.13.2-Linux-x86_64.tar.g= z align=3D"right">2018-12-13 08:41 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.2-SHA-256.txt">cmake-3.13.2-SHA-256.txt align=3D"right">2018-12-13 08:41 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.13.2-SHA-256.txt.asc">cmake-3.13.2-SHA-256.txt.asc align=3D"right">2018-12-13 08:41 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.2-win32-x86.msi">cmake-3.13.2-win32-x86.msi align=3D"right">2018-12-13 08:41 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.2-win32-x86.zip">cmake-3.13.2-win32-x86.zip align=3D"right">2018-12-13 08:41 > 25M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.2-win64-x64.msi">cmake-3.13.2-win64-x64.msi align=3D"right">2018-12-13 08:41 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.2-win64-x64.zip">cmake-3.13.2-win64-x64.zip align=3D"right">2018-12-13 08:41 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.2.tar.Z">cmake-3.13.2.tar.Z align=3D"right">2018-12-13 08:41 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.2.tar.gz">cmake-3.13.2.tar.gz align=3D"right">2018-12-13 08:41 align=3D"right">8.2M 
valign=3D"top">3D"[= href=3D"cmake-3.13.2.zip">cmake-3.13.2.zip align=3D"right">2018-12-13 08:41 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.3-Darwin-x86_64.dmg">cmake-3.13.3-Darwin-x86_64.dmg align=3D"right">2019-01-14 09:26 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.3-Darwin-x86_64.tar.gz">cmake-3.13.3-Darwin-x86_64.tar= .gz align=3D"right">2019-01-14 09:26 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.3-Linux-x86_64.sh">cmake-3.13.3-Linux-x86_64.sh align=3D"right">2019-01-14 09:25 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.3-Linux-x86_64.tar.gz">cmake-3.13.3-Linux-x86_64.tar.g= z align=3D"right">2019-01-14 09:25 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.3-SHA-256.txt">cmake-3.13.3-SHA-256.txt align=3D"right">2019-01-14 09:25 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.13.3-SHA-256.txt.asc">cmake-3.13.3-SHA-256.txt.asc align=3D"right">2019-01-14 09:25 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.3-win32-x86.msi">cmake-3.13.3-win32-x86.msi align=3D"right">2019-01-14 09:25 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.3-win32-x86.zip">cmake-3.13.3-win32-x86.zip align=3D"right">2019-01-14 09:25 > 25M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.3-win64-x64.msi">cmake-3.13.3-win64-x64.msi align=3D"right">2019-01-14 09:25 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.3-win64-x64.zip">cmake-3.13.3-win64-x64.zip align=3D"right">2019-01-14 09:25 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.3.tar.Z">cmake-3.13.3.tar.Z align=3D"right">2019-01-14 09:25 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.3.tar.gz">cmake-3.13.3.tar.gz align=3D"right">2019-01-14 09:25 align=3D"right">8.2M 
valign=3D"top">3D"[= href=3D"cmake-3.13.3.zip">cmake-3.13.3.zip align=3D"right">2019-01-14 09:25 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.4-Darwin-x86_64.dmg">cmake-3.13.4-Darwin-x86_64.dmg align=3D"right">2019-02-01 13:20 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.4-Darwin-x86_64.tar.gz">cmake-3.13.4-Darwin-x86_64.tar= .gz align=3D"right">2019-02-01 13:20 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.4-Linux-x86_64.sh">cmake-3.13.4-Linux-x86_64.sh align=3D"right">2019-02-01 13:20 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.4-Linux-x86_64.tar.gz">cmake-3.13.4-Linux-x86_64.tar.g= z align=3D"right">2019-02-01 13:20 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.4-SHA-256.txt">cmake-3.13.4-SHA-256.txt align=3D"right">2019-02-01 13:20 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.13.4-SHA-256.txt.asc">cmake-3.13.4-SHA-256.txt.asc align=3D"right">2019-02-01 13:20 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.4-win32-x86.msi">cmake-3.13.4-win32-x86.msi align=3D"right">2019-02-01 13:20 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.4-win32-x86.zip">cmake-3.13.4-win32-x86.zip align=3D"right">2019-02-01 13:20 > 25M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.4-win64-x64.msi">cmake-3.13.4-win64-x64.msi align=3D"right">2019-02-01 13:20 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.4-win64-x64.zip">cmake-3.13.4-win64-x64.zip align=3D"right">2019-02-01 13:20 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.4.tar.Z">cmake-3.13.4.tar.Z align=3D"right">2019-02-01 13:20 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.4.tar.gz">cmake-3.13.4.tar.gz align=3D"right">2019-02-01 13:20 align=3D"right">8.2M 
valign=3D"top">3D"[= href=3D"cmake-3.13.4.zip">cmake-3.13.4.zip align=3D"right">2019-02-01 13:20 > 13M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.5-Darwin-x86_64.dmg">cmake-3.13.5-Darwin-x86_64.dmg align=3D"right">2019-05-14 12:44 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.5-Darwin-x86_64.tar.gz">cmake-3.13.5-Darwin-x86_64.tar= .gz align=3D"right">2019-05-14 12:44 > 31M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.5-Linux-x86_64.sh">cmake-3.13.5-Linux-x86_64.sh align=3D"right">2019-05-14 12:44 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.5-Linux-x86_64.tar.gz">cmake-3.13.5-Linux-x86_64.tar.g= z align=3D"right">2019-05-14 12:44 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.13.5-SHA-256.txt">cmake-3.13.5-SHA-256.txt align=3D"right">2019-05-14 12:43 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.13.5-SHA-256.txt.asc">cmake-3.13.5-SHA-256.txt.asc align=3D"right">2019-05-14 12:43 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.5-win32-x86.msi">cmake-3.13.5-win32-x86.msi align=3D"right">2019-05-14 12:43 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.5-win32-x86.zip">cmake-3.13.5-win32-x86.zip align=3D"right">2019-05-14 12:43 > 25M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.13.5-win64-x64.msi">cmake-3.13.5-win64-x64.msi align=3D"right">2019-05-14 12:43 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.5-win64-x64.zip">cmake-3.13.5-win64-x64.zip align=3D"right">2019-05-14 12:43 > 28M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.5.tar.Z">cmake-3.13.5.tar.Z align=3D"right">2019-05-14 12:43 > 13M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.13.5.tar.gz">cmake-3.13.5.tar.gz align=3D"right">2019-05-14 12:43 align=3D"right">8.2M 
valign=3D"top">3D"[= href=3D"cmake-3.13.5.zip">cmake-3.13.5.zip align=3D"right">2019-05-14 12:43 > 13M 

> + > diff --git > a/bitbake/lib/bb/tests/fetch-testdata/files/v3.14/index.html > b/bitbake/lib/bb/tests/fetch-testdata/files/v3.14/index.html new file > mode 100644 index 0000000..bec9c14 --- /dev/null > +++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.14/index.html > @@ -0,0 +1,170 @@ > + > + > + > + Index of /files/v3.14 > + > + > +

Index of /files/v3.14

> + > + > + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + > + > +
alt=3D"[ICO]">Name href=3D"?C=3DM;O=3DA">Last modified href=3D"?C=3DS;O=3DA">Size href=3D"?C=3DD;O=3DA">Description

alt=3D"[PARENTDIR]">Parent > Directory  - >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-Darwin-x86_64.dmg">cmake-3.14.0-Darwin-x86_64.dmg align=3D"right">2019-03-14 11:37 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-Darwin-x86_64.tar.gz">cmake-3.14.0-Darwin-x86_64.tar= .gz align=3D"right">2019-03-14 11:37 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.0-Linux-x86_64.sh">cmake-3.14.0-Linux-x86_64.sh align=3D"right">2019-03-14 11:37 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-Linux-x86_64.tar.gz">cmake-3.14.0-Linux-x86_64.tar.g= z align=3D"right">2019-03-14 11:37 > 35M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.0-SHA-256.txt">cmake-3.14.0-SHA-256.txt align=3D"right">2019-03-22 11:03 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.14.0-SHA-256.txt.asc">cmake-3.14.0-SHA-256.txt.asc align=3D"right">2019-03-22 11:03 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc1-Darwin-x86_64.dmg">cmake-3.14.0-rc1-Darwin-x86_6= 4.dmg align=3D"right">2019-02-07 10:36 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc1-Darwin-x86_64.tar.gz">cmake-3.14.0-rc1-Darwin-x8= 6_64.tar.gz align=3D"right">2019-02-07 10:36 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.0-rc1-Linux-x86_64.sh">cmake-3.14.0-rc1-Linux-x86_64.s= h align=3D"right">2019-02-07 10:36 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc1-Linux-x86_64.tar.gz">cmake-3.14.0-rc1-Linux-x86_= 64.tar.gz align=3D"right">2019-02-07 10:36 > 35M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.0-rc1-SHA-256.txt">cmake-3.14.0-rc1-SHA-256.txt align=3D"right">2019-02-07 10:36 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.14.0-rc1-SHA-256.txt.asc">cmake-3.14.0-rc1-SHA-256.txt.as= c align=3D"right">2019-02-07 10:36 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc1-win32-x86.msi">cmake-3.14.0-rc1-win32-x86.msi align=3D"right">2019-02-07 10:36 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc1-win32-x86.zip">cmake-3.14.0-rc1-win32-x86.zip align=3D"right">2019-02-07 10:36 > 26M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc1-win64-x64.msi">cmake-3.14.0-rc1-win64-x64.msi align=3D"right">2019-02-07 10:36 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc1-win64-x64.zip">cmake-3.14.0-rc1-win64-x64.zip align=3D"right">2019-02-07 10:36 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc1.tar.Z">cmake-3.14.0-rc1.tar.Z align=3D"right">2019-02-07 10:36 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc1.tar.gz">cmake-3.14.0-rc1.tar.gz align=3D"right">2019-02-07 10:35 align=3D"right">8.4M 
valign=3D"top">3D"[= href=3D"cmake-3.14.0-rc1.zip">cmake-3.14.0-rc1.zip align=3D"right">2019-02-07 10:35 > 14M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc2-Darwin-x86_64.dmg">cmake-3.14.0-rc2-Darwin-x86_6= 4.dmg align=3D"right">2019-02-15 10:04 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc2-Darwin-x86_64.tar.gz">cmake-3.14.0-rc2-Darwin-x8= 6_64.tar.gz align=3D"right">2019-02-15 10:04 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.0-rc2-Linux-x86_64.sh">cmake-3.14.0-rc2-Linux-x86_64.s= h align=3D"right">2019-02-15 10:04 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc2-Linux-x86_64.tar.gz">cmake-3.14.0-rc2-Linux-x86_= 64.tar.gz align=3D"right">2019-02-15 10:04 > 35M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.0-rc2-SHA-256.txt">cmake-3.14.0-rc2-SHA-256.txt align=3D"right">2019-02-15 10:04 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.14.0-rc2-SHA-256.txt.asc">cmake-3.14.0-rc2-SHA-256.txt.as= c align=3D"right">2019-02-15 10:04 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc2-win32-x86.msi">cmake-3.14.0-rc2-win32-x86.msi align=3D"right">2019-02-15 10:04 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc2-win32-x86.zip">cmake-3.14.0-rc2-win32-x86.zip align=3D"right">2019-02-15 10:04 > 26M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc2-win64-x64.msi">cmake-3.14.0-rc2-win64-x64.msi align=3D"right">2019-02-15 10:03 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc2-win64-x64.zip">cmake-3.14.0-rc2-win64-x64.zip align=3D"right">2019-02-15 10:03 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc2.tar.Z">cmake-3.14.0-rc2.tar.Z align=3D"right">2019-02-15 10:03 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc2.tar.gz">cmake-3.14.0-rc2.tar.gz align=3D"right">2019-02-15 10:03 align=3D"right">8.4M 
valign=3D"top">3D"[= href=3D"cmake-3.14.0-rc2.zip">cmake-3.14.0-rc2.zip align=3D"right">2019-02-15 10:03 > 14M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc3-Darwin-x86_64.dmg">cmake-3.14.0-rc3-Darwin-x86_6= 4.dmg align=3D"right">2019-03-01 11:20 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc3-Darwin-x86_64.tar.gz">cmake-3.14.0-rc3-Darwin-x8= 6_64.tar.gz align=3D"right">2019-03-01 11:20 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.0-rc3-Linux-x86_64.sh">cmake-3.14.0-rc3-Linux-x86_64.s= h align=3D"right">2019-03-01 11:20 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc3-Linux-x86_64.tar.gz">cmake-3.14.0-rc3-Linux-x86_= 64.tar.gz align=3D"right">2019-03-01 11:20 > 35M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.0-rc3-SHA-256.txt">cmake-3.14.0-rc3-SHA-256.txt align=3D"right">2019-03-01 11:20 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.14.0-rc3-SHA-256.txt.asc">cmake-3.14.0-rc3-SHA-256.txt.as= c align=3D"right">2019-03-01 11:20 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc3-win32-x86.msi">cmake-3.14.0-rc3-win32-x86.msi align=3D"right">2019-03-01 11:20 > 19M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc3-win32-x86.zip">cmake-3.14.0-rc3-win32-x86.zip align=3D"right">2019-03-01 11:20 > 26M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc3-win64-x64.msi">cmake-3.14.0-rc3-win64-x64.msi align=3D"right">2019-03-01 11:20 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc3-win64-x64.zip">cmake-3.14.0-rc3-win64-x64.zip align=3D"right">2019-03-01 11:20 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc3.tar.Z">cmake-3.14.0-rc3.tar.Z align=3D"right">2019-03-01 11:20 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc3.tar.gz">cmake-3.14.0-rc3.tar.gz align=3D"right">2019-03-01 11:19 align=3D"right">8.4M 
valign=3D"top">3D"[= href=3D"cmake-3.14.0-rc3.zip">cmake-3.14.0-rc3.zip align=3D"right">2019-03-01 11:19 > 14M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc4-Darwin-x86_64.dmg">cmake-3.14.0-rc4-Darwin-x86_6= 4.dmg align=3D"right">2019-03-08 11:09 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc4-Darwin-x86_64.tar.gz">cmake-3.14.0-rc4-Darwin-x8= 6_64.tar.gz align=3D"right">2019-03-08 11:09 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.0-rc4-Linux-x86_64.sh">cmake-3.14.0-rc4-Linux-x86_64.s= h align=3D"right">2019-03-08 11:09 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc4-Linux-x86_64.tar.gz">cmake-3.14.0-rc4-Linux-x86_= 64.tar.gz align=3D"right">2019-03-08 11:09 > 35M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.0-rc4-SHA-256.txt">cmake-3.14.0-rc4-SHA-256.txt align=3D"right">2019-03-08 11:09 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.14.0-rc4-SHA-256.txt.asc">cmake-3.14.0-rc4-SHA-256.txt.as= c align=3D"right">2019-03-08 11:09 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc4-win32-x86.msi">cmake-3.14.0-rc4-win32-x86.msi align=3D"right">2019-03-08 11:08 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc4-win32-x86.zip">cmake-3.14.0-rc4-win32-x86.zip align=3D"right">2019-03-08 11:08 > 26M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc4-win64-x64.msi">cmake-3.14.0-rc4-win64-x64.msi align=3D"right">2019-03-08 11:08 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc4-win64-x64.zip">cmake-3.14.0-rc4-win64-x64.zip align=3D"right">2019-03-08 11:08 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc4.tar.Z">cmake-3.14.0-rc4.tar.Z align=3D"right">2019-03-08 11:08 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-rc4.tar.gz">cmake-3.14.0-rc4.tar.gz align=3D"right">2019-03-08 11:08 align=3D"right">8.4M 
valign=3D"top">3D"[= href=3D"cmake-3.14.0-rc4.zip">cmake-3.14.0-rc4.zip align=3D"right">2019-03-08 11:08 > 14M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-win32-x86.msi">cmake-3.14.0-win32-x86.msi align=3D"right">2019-03-14 11:36 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-win32-x86.zip">cmake-3.14.0-win32-x86.zip align=3D"right">2019-03-14 11:36 > 26M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-win64-x64.msi">cmake-3.14.0-win64-x64.msi align=3D"right">2019-03-22 11:03 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0-win64-x64.zip">cmake-3.14.0-win64-x64.zip align=3D"right">2019-03-22 11:03 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0.tar.Z">cmake-3.14.0.tar.Z align=3D"right">2019-03-14 11:36 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.0.tar.gz">cmake-3.14.0.tar.gz align=3D"right">2019-03-14 11:36 align=3D"right">8.4M 
valign=3D"top">3D"[= href=3D"cmake-3.14.0.zip">cmake-3.14.0.zip align=3D"right">2019-03-14 11:36 > 14M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.1-Darwin-x86_64.dmg">cmake-3.14.1-Darwin-x86_64.dmg align=3D"right">2019-03-29 12:20 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.1-Darwin-x86_64.tar.gz">cmake-3.14.1-Darwin-x86_64.tar= .gz align=3D"right">2019-03-29 12:20 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.1-Linux-x86_64.sh">cmake-3.14.1-Linux-x86_64.sh align=3D"right">2019-03-29 12:20 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.1-Linux-x86_64.tar.gz">cmake-3.14.1-Linux-x86_64.tar.g= z align=3D"right">2019-03-29 12:19 > 35M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.1-SHA-256.txt">cmake-3.14.1-SHA-256.txt align=3D"right">2019-03-29 12:19 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.14.1-SHA-256.txt.asc">cmake-3.14.1-SHA-256.txt.asc align=3D"right">2019-03-29 12:19 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.1-win32-x86.msi">cmake-3.14.1-win32-x86.msi align=3D"right">2019-03-29 12:19 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.1-win32-x86.zip">cmake-3.14.1-win32-x86.zip align=3D"right">2019-03-29 12:19 > 26M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.1-win64-x64.msi">cmake-3.14.1-win64-x64.msi align=3D"right">2019-03-29 12:19 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.1-win64-x64.zip">cmake-3.14.1-win64-x64.zip align=3D"right">2019-03-29 12:19 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.1.tar.Z">cmake-3.14.1.tar.Z align=3D"right">2019-03-29 12:19 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.1.tar.gz">cmake-3.14.1.tar.gz align=3D"right">2019-03-29 12:19 align=3D"right">8.4M 
valign=3D"top">3D"[= href=3D"cmake-3.14.1.zip">cmake-3.14.1.zip align=3D"right">2019-03-29 12:19 > 14M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.2-Darwin-x86_64.dmg">cmake-3.14.2-Darwin-x86_64.dmg align=3D"right">2019-04-12 10:19 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.2-Darwin-x86_64.tar.gz">cmake-3.14.2-Darwin-x86_64.tar= .gz align=3D"right">2019-04-12 10:19 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.2-Linux-x86_64.sh">cmake-3.14.2-Linux-x86_64.sh align=3D"right">2019-04-12 10:19 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.2-Linux-x86_64.tar.gz">cmake-3.14.2-Linux-x86_64.tar.g= z align=3D"right">2019-04-12 10:19 > 35M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.2-SHA-256.txt">cmake-3.14.2-SHA-256.txt align=3D"right">2019-04-12 10:19 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.14.2-SHA-256.txt.asc">cmake-3.14.2-SHA-256.txt.asc align=3D"right">2019-04-12 10:19 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.2-win32-x86.msi">cmake-3.14.2-win32-x86.msi align=3D"right">2019-04-12 10:19 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.2-win32-x86.zip">cmake-3.14.2-win32-x86.zip align=3D"right">2019-04-12 10:19 > 26M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.2-win64-x64.msi">cmake-3.14.2-win64-x64.msi align=3D"right">2019-04-12 10:19 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.2-win64-x64.zip">cmake-3.14.2-win64-x64.zip align=3D"right">2019-04-12 10:19 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.2.tar.Z">cmake-3.14.2.tar.Z align=3D"right">2019-04-12 10:19 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.2.tar.gz">cmake-3.14.2.tar.gz align=3D"right">2019-04-12 10:19 align=3D"right">8.4M 
valign=3D"top">3D"[= href=3D"cmake-3.14.2.zip">cmake-3.14.2.zip align=3D"right">2019-04-12 10:19 > 14M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.3-Darwin-x86_64.dmg">cmake-3.14.3-Darwin-x86_64.dmg align=3D"right">2019-04-22 10:40 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.3-Darwin-x86_64.tar.gz">cmake-3.14.3-Darwin-x86_64.tar= .gz align=3D"right">2019-04-22 10:39 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.3-Linux-x86_64.sh">cmake-3.14.3-Linux-x86_64.sh align=3D"right">2019-04-22 10:39 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.3-Linux-x86_64.tar.gz">cmake-3.14.3-Linux-x86_64.tar.g= z align=3D"right">2019-04-22 10:39 > 35M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.3-SHA-256.txt">cmake-3.14.3-SHA-256.txt align=3D"right">2019-04-22 10:39 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.14.3-SHA-256.txt.asc">cmake-3.14.3-SHA-256.txt.asc align=3D"right">2019-04-22 10:39 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.3-win32-x86.msi">cmake-3.14.3-win32-x86.msi align=3D"right">2019-04-22 10:39 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.3-win32-x86.zip">cmake-3.14.3-win32-x86.zip align=3D"right">2019-04-22 10:39 > 26M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.3-win64-x64.msi">cmake-3.14.3-win64-x64.msi align=3D"right">2019-04-22 10:39 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.3-win64-x64.zip">cmake-3.14.3-win64-x64.zip align=3D"right">2019-04-22 10:39 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.3.tar.Z">cmake-3.14.3.tar.Z align=3D"right">2019-04-22 10:39 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.3.tar.gz">cmake-3.14.3.tar.gz align=3D"right">2019-04-22 10:39 align=3D"right">8.4M 
valign=3D"top">3D"[= href=3D"cmake-3.14.3.zip">cmake-3.14.3.zip align=3D"right">2019-04-22 10:39 > 14M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.4-Darwin-x86_64.dmg">cmake-3.14.4-Darwin-x86_64.dmg align=3D"right">2019-05-14 14:00 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.4-Darwin-x86_64.tar.gz">cmake-3.14.4-Darwin-x86_64.tar= .gz align=3D"right">2019-05-14 14:00 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.4-Linux-x86_64.sh">cmake-3.14.4-Linux-x86_64.sh align=3D"right">2019-05-14 14:00 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.4-Linux-x86_64.tar.gz">cmake-3.14.4-Linux-x86_64.tar.g= z align=3D"right">2019-05-14 13:59 > 35M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.4-SHA-256.txt">cmake-3.14.4-SHA-256.txt align=3D"right">2019-05-14 13:59 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.14.4-SHA-256.txt.asc">cmake-3.14.4-SHA-256.txt.asc align=3D"right">2019-05-14 13:59 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.4-win32-x86.msi">cmake-3.14.4-win32-x86.msi align=3D"right">2019-05-14 13:59 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.4-win32-x86.zip">cmake-3.14.4-win32-x86.zip align=3D"right">2019-05-14 13:59 > 26M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.4-win64-x64.msi">cmake-3.14.4-win64-x64.msi align=3D"right">2019-05-14 13:59 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.4-win64-x64.zip">cmake-3.14.4-win64-x64.zip align=3D"right">2019-05-14 13:59 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.4.tar.Z">cmake-3.14.4.tar.Z align=3D"right">2019-05-14 13:59 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.4.tar.gz">cmake-3.14.4.tar.gz align=3D"right">2019-05-14 13:59 align=3D"right">8.4M 
valign=3D"top">3D"[= href=3D"cmake-3.14.4.zip">cmake-3.14.4.zip align=3D"right">2019-05-14 13:59 > 14M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.5-Darwin-x86_64.dmg">cmake-3.14.5-Darwin-x86_64.dmg align=3D"right">2019-05-31 12:39 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.5-Darwin-x86_64.tar.gz">cmake-3.14.5-Darwin-x86_64.tar= .gz align=3D"right">2019-05-31 12:39 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.5-Linux-x86_64.sh">cmake-3.14.5-Linux-x86_64.sh align=3D"right">2019-05-31 12:39 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.5-Linux-x86_64.tar.gz">cmake-3.14.5-Linux-x86_64.tar.g= z align=3D"right">2019-05-31 12:39 > 35M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.5-SHA-256.txt">cmake-3.14.5-SHA-256.txt align=3D"right">2019-05-31 12:39 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.14.5-SHA-256.txt.asc">cmake-3.14.5-SHA-256.txt.asc align=3D"right">2019-05-31 12:39 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.5-win32-x86.msi">cmake-3.14.5-win32-x86.msi align=3D"right">2019-05-31 12:39 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.5-win32-x86.zip">cmake-3.14.5-win32-x86.zip align=3D"right">2019-05-31 12:39 > 26M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.5-win64-x64.msi">cmake-3.14.5-win64-x64.msi align=3D"right">2019-05-31 12:39 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.5-win64-x64.zip">cmake-3.14.5-win64-x64.zip align=3D"right">2019-05-31 12:39 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.5.tar.Z">cmake-3.14.5.tar.Z align=3D"right">2019-05-31 12:39 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.5.tar.gz">cmake-3.14.5.tar.gz align=3D"right">2019-05-31 12:39 align=3D"right">8.4M 
valign=3D"top">3D"[= href=3D"cmake-3.14.5.zip">cmake-3.14.5.zip align=3D"right">2019-05-31 12:40 > 14M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.6-Darwin-x86_64.dmg">cmake-3.14.6-Darwin-x86_64.dmg align=3D"right">2019-07-16 09:33 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.6-Darwin-x86_64.tar.gz">cmake-3.14.6-Darwin-x86_64.tar= .gz align=3D"right">2019-07-16 09:33 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.6-Linux-x86_64.sh">cmake-3.14.6-Linux-x86_64.sh align=3D"right">2019-07-16 09:33 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.6-Linux-x86_64.tar.gz">cmake-3.14.6-Linux-x86_64.tar.g= z align=3D"right">2019-07-16 09:33 > 35M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.6-SHA-256.txt">cmake-3.14.6-SHA-256.txt align=3D"right">2019-07-16 09:33 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.14.6-SHA-256.txt.asc">cmake-3.14.6-SHA-256.txt.asc align=3D"right">2019-07-16 09:33 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.6-win32-x86.msi">cmake-3.14.6-win32-x86.msi align=3D"right">2019-07-16 09:34 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.6-win32-x86.zip">cmake-3.14.6-win32-x86.zip align=3D"right">2019-07-16 09:34 > 26M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.6-win64-x64.msi">cmake-3.14.6-win64-x64.msi align=3D"right">2019-07-16 09:34 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.6-win64-x64.zip">cmake-3.14.6-win64-x64.zip align=3D"right">2019-07-16 09:34 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.6.tar.Z">cmake-3.14.6.tar.Z align=3D"right">2019-07-16 09:34 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.6.tar.gz">cmake-3.14.6.tar.gz align=3D"right">2019-07-16 09:34 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-3.14.6.zip">cmake-3.14.6.zip align=3D"right">2019-07-16 09:34 > 14M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.7-Darwin-x86_64.dmg">cmake-3.14.7-Darwin-x86_64.dmg align=3D"right">2019-10-02 10:48 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.7-Darwin-x86_64.tar.gz">cmake-3.14.7-Darwin-x86_64.tar= .gz align=3D"right">2019-10-02 10:48 > 32M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.7-Linux-x86_64.sh">cmake-3.14.7-Linux-x86_64.sh align=3D"right">2019-10-02 10:48 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.7-Linux-x86_64.tar.gz">cmake-3.14.7-Linux-x86_64.tar.g= z align=3D"right">2019-10-02 10:48 > 35M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.14.7-SHA-256.txt">cmake-3.14.7-SHA-256.txt align=3D"right">2019-10-02 10:48 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.14.7-SHA-256.txt.asc">cmake-3.14.7-SHA-256.txt.asc align=3D"right">2019-10-02 10:48 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.7-win32-x86.msi">cmake-3.14.7-win32-x86.msi align=3D"right">2019-10-02 10:48 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.7-win32-x86.zip">cmake-3.14.7-win32-x86.zip align=3D"right">2019-10-02 10:48 > 26M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.14.7-win64-x64.msi">cmake-3.14.7-win64-x64.msi align=3D"right">2019-10-02 10:48 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.7-win64-x64.zip">cmake-3.14.7-win64-x64.zip align=3D"right">2019-10-02 10:48 > 29M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.7.tar.Z">cmake-3.14.7.tar.Z align=3D"right">2019-10-02 10:48 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.14.7.tar.gz">cmake-3.14.7.tar.gz align=3D"right">2019-10-02 10:48 align=3D"right">8.5M 
valign=3D"top">3D"[= href=3D"cmake-3.14.7.zip">cmake-3.14.7.zip align=3D"right">2019-10-02 10:48 > 14M 

> + > diff --git > a/bitbake/lib/bb/tests/fetch-testdata/files/v3.15/index.html > b/bitbake/lib/bb/tests/fetch-testdata/files/v3.15/index.html new file > mode 100644 index 0000000..9272676 --- /dev/null > +++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.15/index.html > @@ -0,0 +1,157 @@ > + > + > + > + Index of /files/v3.15 > + > + > +

Index of /files/v3.15

> + > + > + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + > + > +
alt=3D"[ICO]">Name href=3D"?C=3DM;O=3DA">Last modified href=3D"?C=3DS;O=3DA">Size href=3D"?C=3DD;O=3DA">Description

alt=3D"[PARENTDIR]">Parent > Directory  - >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-Darwin-x86_64.dmg">cmake-3.15.0-Darwin-x86_64.dmg align=3D"right">2019-07-17 10:38 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-Darwin-x86_64.tar.gz">cmake-3.15.0-Darwin-x86_64.tar= .gz align=3D"right">2019-07-17 10:38 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.0-Linux-x86_64.sh">cmake-3.15.0-Linux-x86_64.sh align=3D"right">2019-07-17 10:38 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-Linux-x86_64.tar.gz">cmake-3.15.0-Linux-x86_64.tar.g= z align=3D"right">2019-07-17 10:38 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.0-SHA-256.txt">cmake-3.15.0-SHA-256.txt align=3D"right">2019-07-17 10:38 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.15.0-SHA-256.txt.asc">cmake-3.15.0-SHA-256.txt.asc align=3D"right">2019-07-17 10:38 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc1-Darwin-x86_64.dmg">cmake-3.15.0-rc1-Darwin-x86_6= 4.dmg align=3D"right">2019-06-04 14:22 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc1-Darwin-x86_64.tar.gz">cmake-3.15.0-rc1-Darwin-x8= 6_64.tar.gz align=3D"right">2019-06-04 14:22 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.0-rc1-Linux-x86_64.sh">cmake-3.15.0-rc1-Linux-x86_64.s= h align=3D"right">2019-06-04 14:22 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc1-Linux-x86_64.tar.gz">cmake-3.15.0-rc1-Linux-x86_= 64.tar.gz align=3D"right">2019-06-04 14:22 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.0-rc1-SHA-256.txt">cmake-3.15.0-rc1-SHA-256.txt align=3D"right">2019-06-04 14:22 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.15.0-rc1-SHA-256.txt.asc">cmake-3.15.0-rc1-SHA-256.txt.as= c align=3D"right">2019-06-04 14:22 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc1-win32-x86.msi">cmake-3.15.0-rc1-win32-x86.msi align=3D"right">2019-06-04 14:23 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc1-win32-x86.zip">cmake-3.15.0-rc1-win32-x86.zip align=3D"right">2019-06-04 14:23 > 28M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc1-win64-x64.msi">cmake-3.15.0-rc1-win64-x64.msi align=3D"right">2019-06-04 14:23 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc1-win64-x64.zip">cmake-3.15.0-rc1-win64-x64.zip align=3D"right">2019-06-04 14:23 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc1.tar.Z">cmake-3.15.0-rc1.tar.Z align=3D"right">2019-06-04 14:23 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc1.tar.gz">cmake-3.15.0-rc1.tar.gz align=3D"right">2019-06-04 14:22 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-3.15.0-rc1.zip">cmake-3.15.0-rc1.zip align=3D"right">2019-06-04 14:23 > 15M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc2-Darwin-x86_64.dmg">cmake-3.15.0-rc2-Darwin-x86_6= 4.dmg align=3D"right">2019-06-19 10:04 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc2-Darwin-x86_64.tar.gz">cmake-3.15.0-rc2-Darwin-x8= 6_64.tar.gz align=3D"right">2019-06-19 10:04 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.0-rc2-Linux-x86_64.sh">cmake-3.15.0-rc2-Linux-x86_64.s= h align=3D"right">2019-06-19 10:04 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc2-Linux-x86_64.tar.gz">cmake-3.15.0-rc2-Linux-x86_= 64.tar.gz align=3D"right">2019-06-19 10:04 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.0-rc2-SHA-256.txt">cmake-3.15.0-rc2-SHA-256.txt align=3D"right">2019-06-19 10:04 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.15.0-rc2-SHA-256.txt.asc">cmake-3.15.0-rc2-SHA-256.txt.as= c align=3D"right">2019-06-19 10:04 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc2-win32-x86.msi">cmake-3.15.0-rc2-win32-x86.msi align=3D"right">2019-06-19 10:04 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc2-win32-x86.zip">cmake-3.15.0-rc2-win32-x86.zip align=3D"right">2019-06-19 10:04 > 28M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc2-win64-x64.msi">cmake-3.15.0-rc2-win64-x64.msi align=3D"right">2019-06-19 10:04 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc2-win64-x64.zip">cmake-3.15.0-rc2-win64-x64.zip align=3D"right">2019-06-19 10:04 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc2.tar.Z">cmake-3.15.0-rc2.tar.Z align=3D"right">2019-06-19 10:04 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc2.tar.gz">cmake-3.15.0-rc2.tar.gz align=3D"right">2019-06-19 10:04 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-3.15.0-rc2.zip">cmake-3.15.0-rc2.zip align=3D"right">2019-06-19 10:04 > 15M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc3-Darwin-x86_64.dmg">cmake-3.15.0-rc3-Darwin-x86_6= 4.dmg align=3D"right">2019-06-27 11:33 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc3-Darwin-x86_64.tar.gz">cmake-3.15.0-rc3-Darwin-x8= 6_64.tar.gz align=3D"right">2019-06-27 11:33 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.0-rc3-Linux-x86_64.sh">cmake-3.15.0-rc3-Linux-x86_64.s= h align=3D"right">2019-06-27 11:33 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc3-Linux-x86_64.tar.gz">cmake-3.15.0-rc3-Linux-x86_= 64.tar.gz align=3D"right">2019-06-27 11:33 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.0-rc3-SHA-256.txt">cmake-3.15.0-rc3-SHA-256.txt align=3D"right">2019-06-27 11:33 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.15.0-rc3-SHA-256.txt.asc">cmake-3.15.0-rc3-SHA-256.txt.as= c align=3D"right">2019-06-27 11:33 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc3-win32-x86.msi">cmake-3.15.0-rc3-win32-x86.msi align=3D"right">2019-06-27 11:33 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc3-win32-x86.zip">cmake-3.15.0-rc3-win32-x86.zip align=3D"right">2019-06-27 11:33 > 28M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc3-win64-x64.msi">cmake-3.15.0-rc3-win64-x64.msi align=3D"right">2019-06-27 11:33 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc3-win64-x64.zip">cmake-3.15.0-rc3-win64-x64.zip align=3D"right">2019-06-27 11:33 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc3.tar.Z">cmake-3.15.0-rc3.tar.Z align=3D"right">2019-06-27 11:33 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc3.tar.gz">cmake-3.15.0-rc3.tar.gz align=3D"right">2019-06-27 11:33 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-3.15.0-rc3.zip">cmake-3.15.0-rc3.zip align=3D"right">2019-06-27 11:33 > 15M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc4-Darwin-x86_64.dmg">cmake-3.15.0-rc4-Darwin-x86_6= 4.dmg align=3D"right">2019-07-10 15:06 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc4-Darwin-x86_64.tar.gz">cmake-3.15.0-rc4-Darwin-x8= 6_64.tar.gz align=3D"right">2019-07-10 15:07 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.0-rc4-Linux-x86_64.sh">cmake-3.15.0-rc4-Linux-x86_64.s= h align=3D"right">2019-07-10 15:07 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc4-Linux-x86_64.tar.gz">cmake-3.15.0-rc4-Linux-x86_= 64.tar.gz align=3D"right">2019-07-10 15:07 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.0-rc4-SHA-256.txt">cmake-3.15.0-rc4-SHA-256.txt align=3D"right">2019-07-10 15:07 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.15.0-rc4-SHA-256.txt.asc">cmake-3.15.0-rc4-SHA-256.txt.as= c align=3D"right">2019-07-10 15:07 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc4-win32-x86.msi">cmake-3.15.0-rc4-win32-x86.msi align=3D"right">2019-07-10 15:07 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc4-win32-x86.zip">cmake-3.15.0-rc4-win32-x86.zip align=3D"right">2019-07-10 15:07 > 28M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc4-win64-x64.msi">cmake-3.15.0-rc4-win64-x64.msi align=3D"right">2019-07-10 15:07 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc4-win64-x64.zip">cmake-3.15.0-rc4-win64-x64.zip align=3D"right">2019-07-10 15:07 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc4.tar.Z">cmake-3.15.0-rc4.tar.Z align=3D"right">2019-07-10 15:07 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-rc4.tar.gz">cmake-3.15.0-rc4.tar.gz align=3D"right">2019-07-10 15:07 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-3.15.0-rc4.zip">cmake-3.15.0-rc4.zip align=3D"right">2019-07-10 15:07 > 15M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-win32-x86.msi">cmake-3.15.0-win32-x86.msi align=3D"right">2019-07-17 10:38 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-win32-x86.zip">cmake-3.15.0-win32-x86.zip align=3D"right">2019-07-17 10:38 > 27M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-win64-x64.msi">cmake-3.15.0-win64-x64.msi align=3D"right">2019-07-17 10:38 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0-win64-x64.zip">cmake-3.15.0-win64-x64.zip align=3D"right">2019-07-17 10:38 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0.tar.Z">cmake-3.15.0.tar.Z align=3D"right">2019-07-17 10:38 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.0.tar.gz">cmake-3.15.0.tar.gz align=3D"right">2019-07-17 10:38 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-3.15.0.zip">cmake-3.15.0.zip align=3D"right">2019-07-17 10:38 > 15M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.1-Darwin-x86_64.dmg">cmake-3.15.1-Darwin-x86_64.dmg align=3D"right">2019-07-26 10:14 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.1-Darwin-x86_64.tar.gz">cmake-3.15.1-Darwin-x86_64.tar= .gz align=3D"right">2019-07-26 10:14 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.1-Linux-x86_64.sh">cmake-3.15.1-Linux-x86_64.sh align=3D"right">2019-07-26 10:14 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.1-Linux-x86_64.tar.gz">cmake-3.15.1-Linux-x86_64.tar.g= z align=3D"right">2019-07-26 10:14 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.1-SHA-256.txt">cmake-3.15.1-SHA-256.txt align=3D"right">2019-07-26 10:14 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.15.1-SHA-256.txt.asc">cmake-3.15.1-SHA-256.txt.asc align=3D"right">2019-07-26 10:14 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.1-win32-x86.msi">cmake-3.15.1-win32-x86.msi align=3D"right">2019-07-26 10:14 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.1-win32-x86.zip">cmake-3.15.1-win32-x86.zip align=3D"right">2019-07-26 10:14 > 27M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.1-win64-x64.msi">cmake-3.15.1-win64-x64.msi align=3D"right">2019-07-26 10:14 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.1-win64-x64.zip">cmake-3.15.1-win64-x64.zip align=3D"right">2019-07-26 10:14 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.1.tar.Z">cmake-3.15.1.tar.Z align=3D"right">2019-07-26 10:14 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.1.tar.gz">cmake-3.15.1.tar.gz align=3D"right">2019-07-26 10:14 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-3.15.1.zip">cmake-3.15.1.zip align=3D"right">2019-07-26 10:15 > 15M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.2-Darwin-x86_64.dmg">cmake-3.15.2-Darwin-x86_64.dmg align=3D"right">2019-08-07 15:05 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.2-Darwin-x86_64.tar.gz">cmake-3.15.2-Darwin-x86_64.tar= .gz align=3D"right">2019-08-07 15:05 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.2-Linux-x86_64.sh">cmake-3.15.2-Linux-x86_64.sh align=3D"right">2019-08-07 15:05 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.2-Linux-x86_64.tar.gz">cmake-3.15.2-Linux-x86_64.tar.g= z align=3D"right">2019-08-07 15:05 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.2-SHA-256.txt">cmake-3.15.2-SHA-256.txt align=3D"right">2019-08-07 15:05 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.15.2-SHA-256.txt.asc">cmake-3.15.2-SHA-256.txt.asc align=3D"right">2019-08-07 15:05 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.2-win32-x86.msi">cmake-3.15.2-win32-x86.msi align=3D"right">2019-08-07 15:05 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.2-win32-x86.zip">cmake-3.15.2-win32-x86.zip align=3D"right">2019-08-07 15:05 > 27M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.2-win64-x64.msi">cmake-3.15.2-win64-x64.msi align=3D"right">2019-08-07 15:05 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.2-win64-x64.zip">cmake-3.15.2-win64-x64.zip align=3D"right">2019-08-07 15:05 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.2.tar.Z">cmake-3.15.2.tar.Z align=3D"right">2019-08-07 15:05 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.2.tar.gz">cmake-3.15.2.tar.gz align=3D"right">2019-08-07 15:05 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-3.15.2.zip">cmake-3.15.2.zip align=3D"right">2019-08-07 15:05 > 15M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.3-Darwin-x86_64.dmg">cmake-3.15.3-Darwin-x86_64.dmg align=3D"right">2019-09-04 11:13 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.3-Darwin-x86_64.tar.gz">cmake-3.15.3-Darwin-x86_64.tar= .gz align=3D"right">2019-09-04 11:13 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.3-Linux-x86_64.sh">cmake-3.15.3-Linux-x86_64.sh align=3D"right">2019-09-04 11:13 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.3-Linux-x86_64.tar.gz">cmake-3.15.3-Linux-x86_64.tar.g= z align=3D"right">2019-09-04 11:13 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.3-SHA-256.txt">cmake-3.15.3-SHA-256.txt align=3D"right">2019-09-04 11:13 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.15.3-SHA-256.txt.asc">cmake-3.15.3-SHA-256.txt.asc align=3D"right">2019-09-04 11:13 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.3-win32-x86.msi">cmake-3.15.3-win32-x86.msi align=3D"right">2019-09-04 11:13 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.3-win32-x86.zip">cmake-3.15.3-win32-x86.zip align=3D"right">2019-09-04 11:13 > 27M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.3-win64-x64.msi">cmake-3.15.3-win64-x64.msi align=3D"right">2019-09-04 11:13 > 23M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.3-win64-x64.zip">cmake-3.15.3-win64-x64.zip align=3D"right">2019-09-04 11:13 > 31M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.3.tar.Z">cmake-3.15.3.tar.Z align=3D"right">2019-09-04 11:13 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.3.tar.gz">cmake-3.15.3.tar.gz align=3D"right">2019-09-04 11:13 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-3.15.3.zip">cmake-3.15.3.zip align=3D"right">2019-09-04 11:13 > 15M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.4-Darwin-x86_64.dmg">cmake-3.15.4-Darwin-x86_64.dmg align=3D"right">2019-10-02 10:45 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.4-Darwin-x86_64.tar.gz">cmake-3.15.4-Darwin-x86_64.tar= .gz align=3D"right">2019-10-02 10:45 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.4-Linux-x86_64.sh">cmake-3.15.4-Linux-x86_64.sh align=3D"right">2019-10-02 10:45 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.4-Linux-x86_64.tar.gz">cmake-3.15.4-Linux-x86_64.tar.g= z align=3D"right">2019-10-02 10:45 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.4-SHA-256.txt">cmake-3.15.4-SHA-256.txt align=3D"right">2019-10-02 10:45 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.15.4-SHA-256.txt.asc">cmake-3.15.4-SHA-256.txt.asc align=3D"right">2019-10-02 10:45 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.4-win32-x86.msi">cmake-3.15.4-win32-x86.msi align=3D"right">2019-10-02 10:45 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.4-win32-x86.zip">cmake-3.15.4-win32-x86.zip align=3D"right">2019-10-02 10:45 > 27M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.4-win64-x64.msi">cmake-3.15.4-win64-x64.msi align=3D"right">2019-10-02 10:45 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.4-win64-x64.zip">cmake-3.15.4-win64-x64.zip align=3D"right">2019-10-02 10:45 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.4.tar.Z">cmake-3.15.4.tar.Z align=3D"right">2019-10-02 10:45 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.4.tar.gz">cmake-3.15.4.tar.gz align=3D"right">2019-10-02 10:45 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-3.15.4.zip">cmake-3.15.4.zip align=3D"right">2019-10-02 10:45 > 15M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.5-Darwin-x86_64.dmg">cmake-3.15.5-Darwin-x86_64.dmg align=3D"right">2019-10-30 10:49 > 33M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.5-Darwin-x86_64.tar.gz">cmake-3.15.5-Darwin-x86_64.tar= .gz align=3D"right">2019-10-30 10:49 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.5-Linux-x86_64.sh">cmake-3.15.5-Linux-x86_64.sh align=3D"right">2019-10-30 10:49 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.5-Linux-x86_64.tar.gz">cmake-3.15.5-Linux-x86_64.tar.g= z align=3D"right">2019-10-30 10:49 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.5-SHA-256.txt">cmake-3.15.5-SHA-256.txt align=3D"right">2019-10-30 10:49 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.15.5-SHA-256.txt.asc">cmake-3.15.5-SHA-256.txt.asc align=3D"right">2019-10-30 10:49 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.5-win32-x86.msi">cmake-3.15.5-win32-x86.msi align=3D"right">2019-10-30 10:49 > 20M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.5-win32-x86.zip">cmake-3.15.5-win32-x86.zip align=3D"right">2019-10-30 10:49 > 27M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.5-win64-x64.msi">cmake-3.15.5-win64-x64.msi align=3D"right">2019-10-30 10:49 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.5-win64-x64.zip">cmake-3.15.5-win64-x64.zip align=3D"right">2019-10-30 10:49 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.5.tar.Z">cmake-3.15.5.tar.Z align=3D"right">2019-10-30 10:49 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.5.tar.gz">cmake-3.15.5.tar.gz align=3D"right">2019-10-30 10:49 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-3.15.5.zip">cmake-3.15.5.zip align=3D"right">2019-10-30 10:49 > 15M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.6-Darwin-x86_64.dmg">cmake-3.15.6-Darwin-x86_64.dmg align=3D"right">2019-12-16 11:30 > 34M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.6-Darwin-x86_64.tar.gz">cmake-3.15.6-Darwin-x86_64.tar= .gz align=3D"right">2019-12-16 11:30 > 33M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.6-Linux-x86_64.sh">cmake-3.15.6-Linux-x86_64.sh align=3D"right">2019-12-16 11:30 > 37M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.6-Linux-x86_64.tar.gz">cmake-3.15.6-Linux-x86_64.tar.g= z align=3D"right">2019-12-16 11:30 > 37M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.15.6-SHA-256.txt">cmake-3.15.6-SHA-256.txt align=3D"right">2019-12-16 11:30 align=3D"right">1.0K 
valign=3D"top">3D"[TXT]" href=3D"cmake-3.15.6-SHA-256.txt.asc">cmake-3.15.6-SHA-256.txt.asc align=3D"right">2019-12-16 11:30 833 >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.6-win32-x86.msi">cmake-3.15.6-win32-x86.msi align=3D"right">2019-12-16 11:30 > 21M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.6-win32-x86.zip">cmake-3.15.6-win32-x86.zip align=3D"right">2019-12-16 11:30 > 28M 
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.15.6-win64-x64.msi">cmake-3.15.6-win64-x64.msi align=3D"right">2019-12-16 11:30 > 22M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.6-win64-x64.zip">cmake-3.15.6-win64-x64.zip align=3D"right">2019-12-16 11:30 > 30M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.6.tar.Z">cmake-3.15.6.tar.Z align=3D"right">2019-12-16 11:30 > 14M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.15.6.tar.gz">cmake-3.15.6.tar.gz align=3D"right">2019-12-16 11:30 align=3D"right">8.8M 
valign=3D"top">3D"[= href=3D"cmake-3.15.6.zip">cmake-3.15.6.zip align=3D"right">2019-12-16 11:30 > 15M 

> + > diff --git > a/bitbake/lib/bb/tests/fetch-testdata/files/v3.16/index.html > b/bitbake/lib/bb/tests/fetch-testdata/files/v3.16/index.html new file > mode 100644 index 0000000..74f9b40 --- /dev/null > +++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.16/index.html > @@ -0,0 +1,86 @@ > + > + > + > + Index of /files/v3.16 > + > + > +

Index of /files/v3.16

> + > + > + > + + + + + + +
alt=3D"[ICO]">Name href=3D"?C=3DM;O=3DA">Last modified href=3D"?C=3DS;O=3DA">Size href=3D"?C=3DD;O=3DA">Description

alt=3D"[PARENTDIR]">Parent > Directory  - >  
src=3D"/icons/unknown.gif" alt=3D"[ ]"> href=3D"cmake-3.16.0-Darwin-x86_64.dmg">cmake-3.16.0-Darwin-x86_64.dmg align=3D"right">2019-11-26 10:27 > 35M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.16.0-Darwin-x86_64.tar.gz">cmake-3.16.0-Darwin-x86_64.tar= .gz align=3D"right">2019-11-26 10:27 > 34M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.16.0-Linux-x86_64.sh">cmake-3.16.0-Linux-x86_64.sh align=3D"right">2019-11-26 10:27 > 38M 
src=3D"/icons/compressed.gif" alt=3D"[ ]"> href=3D"cmake-3.16.0-Linux-x86_64.tar.gz">cmake-3.16.0-Linux-x86_64.tar.g= z align=3D"right">2019-11-26 10:27 > 38M 
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.16.0-SHA-256.txt">cmake-3.16.0-SHA-256.txt align=3D"right">2019-11-26 10:27 932 >  
src=3D"/icons/text.gif" alt=3D"[TXT]"> href=3D"cmake-3.16.0-SHA-256.txt.asc">cmake-3.16.0-SHA-256.txt.asc align=3D"right">2019-11-26 10:27 833 >