diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-05-09 12:57:35 +0200 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-05-09 12:57:35 +0200 |
commit | b8b4dfb4969e1baf84a14fb65a5dc153b0f5fae4 (patch) | |
tree | 27e211e26f442efd72a7f34903953ad57b1a9b76 /tests | |
parent | fe0de2ab84a88cb4c742f4f10fd43716934b7282 (diff) |
only make one request for mark all read and mark folder read, fix #171, fix a bug that prevented readding of feeds when its folder was deleted, fix a bug that would not allow mark read for feeds when the app was started for the first time
Diffstat (limited to 'tests')
-rw-r--r-- | tests/acceptance/features/support/env.rb | 4 | ||||
-rw-r--r-- | tests/acceptance/run.sh | 2 | ||||
-rw-r--r-- | tests/acceptance/static/kernel.org.atom | 165 | ||||
-rw-r--r-- | tests/unit/businesslayer/ItemBusinessLayerTest.php | 26 | ||||
-rw-r--r-- | tests/unit/controller/FeedControllerTest.php | 81 | ||||
-rw-r--r-- | tests/unit/controller/FolderControllerTest.php | 52 | ||||
-rw-r--r-- | tests/unit/controller/ItemControllerTest.php | 38 | ||||
-rw-r--r-- | tests/unit/db/ItemMapperTest.php | 44 | ||||
-rw-r--r-- | tests/unit/external/FolderAPITest.php | 86 | ||||
-rw-r--r-- | tests/unit/external/ItemAPITest.php | 28 |
10 files changed, 456 insertions, 70 deletions
diff --git a/tests/acceptance/features/support/env.rb b/tests/acceptance/features/support/env.rb index ab2d6b3c6..cef0d2d92 100644 --- a/tests/acceptance/features/support/env.rb +++ b/tests/acceptance/features/support/env.rb @@ -17,8 +17,12 @@ end # host = ENV['HOST'] host ||= '33.33.33.10' + Capybara.app = host Capybara.run_server = false Capybara.app_host = "http://#{host}" Capybara.default_selector = :css Capybara.default_driver = :selenium + +# serve static files +run Rack::Directory.new Dir.pwd.concat('./static')
\ No newline at end of file diff --git a/tests/acceptance/run.sh b/tests/acceptance/run.sh index 0cdad3ad3..734504e65 100644 --- a/tests/acceptance/run.sh +++ b/tests/acceptance/run.sh @@ -67,7 +67,7 @@ fi # Set the gemset and ruby version rvm install 2.0.0 -rvm use ruby-2.0.0@oc_acceptance --create +rvm use ruby-2.0.0@oc_news_acceptance --create # install dep libraries bundle install diff --git a/tests/acceptance/static/kernel.org.atom b/tests/acceptance/static/kernel.org.atom new file mode 100644 index 000000000..dd89453ec --- /dev/null +++ b/tests/acceptance/static/kernel.org.atom @@ -0,0 +1,165 @@ +<feed xmlns="http://www.w3.org/2005/Atom"> +<title>The Linux Kernel Archives</title> +<link href="https://www.kernel.org/" rel="alternate"/> +<link href="https://www.kernel.org/feeds/all.atom.xml" rel="self"/> +<id>https://www.kernel.org/</id> +<updated>2013-05-07T00:00:00+00:00</updated> +<entry> +<title>Fifty shades of Tux</title> +<link href="https://www.kernel.org/fifty-shades-of-tux.html" rel="alternate"/> +<updated>2013-05-07T00:00:00+00:00</updated> +<author> +<name/> +</author> +<id> +tag:https://www.kernel.org,2013-05-07:fifty-shades-of-tux.html +</id> +<summary type="html"> +<p>Special thanks to Benoît Monin for donating a MIT-licensed CSS theme to the kernel.org project to replace the one we hastily put together. Though the Pelican authors have since obtained a free-license commitment from the copyright owners of the CSS files shipping with Pelican, we wanted to have something that looked a bit less like the default theme anyway.</p> <p>If anyone else wants to participate, full sources of the kernel.org website are available from the <a class="reference external" href="https://git.kernel.org/cgit/docs/kernel/website.git">git repository</a>.</p> +</summary> +</entry> +<entry> +<title>Frequently asked questions</title> +<link href="https://www.kernel.org/faq.html" rel="alternate"/> +<updated>2013-04-02T22:13:02+00:00</updated> +<author> +<name/> +</author> +<id>tag:https://www.kernel.org,2013-04-02:faq.html</id> +<summary type="html"> +<p>If you have questions, comments or concerns about the F.A.Q. please contact us at <a class="reference external" href="mailto:webmaster@kernel.org">webmaster@kernel.org</a>.</p> <div class="section" id="is-linux-kernel-free-software"> <h2>Is Linux Kernel Free Software?</h2> <p>Linux kernel is released under GNU GPL version 2 and is therefore Free Software as defined by the <a class="reference external" href="http://www.fsf.org/">Free Software Foundation</a>. You may read the entire copy of the license in the <a class="reference external" href="/pub/linux/kernel/COPYING">COPYING</a> file distributed with each release of the Linux kernel.</p> </div> <div class="section" id="there-are-a-number-of-kernels-marked-as-stable-which-one-is-stable"> <h2>There are a number of kernels marked as 'stable', which one is stable?</h2> <p>There are a number of reasons there are multiple kernels marked as 'stable'. The stable series kernels stem from a <a class="reference external" href="http://kerneltrap.org/node/4100">conversation that happened in 2004</a>, it has evolved into a number of kernels that are currently being maintained under the 'stable' moniker.</p> <p>These kernels have patches that are backported to them, mainly in the form of driver updates and security fixes. Some of these trees have been declared to have longer life cycles than others.</p> <p>Please check the <a class="reference external" href="https://www.kernel.org/releases.html">Releases</a> page for more info.</p> </div> <div class="section" id="what-does-stable-eol-and-longterm-mean"> <h2>What does "stable/EOL" and "longterm" mean?</h2> <p>As kernels move from the "mainline" into the "stable" category, two things can happen:</p> <ol class="arabic simple"> <li>They can reach "End of Life" after a few bugfix revisions, which means that kernel maintainers will release no more bugfixes for this kernel version, or</li> <li>They can be put into "longterm" maintenance, which means that maintainers will provide bugfixes for this kernel revision for a much longer period of time.</li> </ol> <p>If the kernel version you are using is marked "EOL," you should consider upgrading to the next major version as there will be no more bugfixes provided for the kernel version you are using.</p> <p>Please check the <a class="reference external" href="https://www.kernel.org/releases.html">Releases</a> page for more info.</p> </div> <div class="section" id="is-there-an-rss-feed-for-the-latest-kernel-version"> <h2>Is there an RSS feed for the latest kernel version?</h2> <p>Yes, and you can find it at <a class="reference external" href="https://www.kernel.org/feeds/kdist.xml">https://www.kernel.org/feeds/kdist.xml</a>.</p> <p>We also publish a .json file with the latest release information, which you can pull from here: <a class="reference external" href="https://www.kernel.org/releases.json">https://www.kernel.org/releases.json</a>.</p> </div> <div class="section" id="why-are-there-files-that-are-dated-tomorrow"> <h2>Why are there files that are dated tomorrow?</h2> <p>All timestamps on kernel.org are in UTC (Coordinated Universal Time). If you live in the western hemisphere your local time lags behind UTC. Under Linux/Unix, type <tt class="docutils literal">date <span class="pre">-u</span></tt> to get the current time in UTC.</p> </div> <div class="section" id="can-i-get-an-account-on-kernel-org"> <h2>Can I get an account on kernel.org?</h2> <p>Kernel.org accounts are not given away very often, usually you need to be making some reasonable amount of contributions to the Linux kernel and have a good reason for wanting / needing an account. If you really feel that you should have an account please e-mail the following to <a class="reference external" href="mailto:keys@kernel.org">keys@kernel.org</a>:</p> <ul class="simple"> <li>full name</li> <li>email address</li> <li>desired username</li> <li>reason for account</li> <li>reference to work you've done</li> <li>PGP/GPG public key fingerprint (NOT an ssh key)<ul> <li>Key should be signed by as many kernel developers as you can get</li> <li>Accounts will not issued until key is suffciently signed</li> <li>Key must have been uploaded to public key servers</li> </ul> </li> </ul> <p>The Kernel.org admin team will then review your request and let you know the decision.</p> <p>Please note that The Linux Kernel Organization, Inc. reserves the right to refuse service to anyone, for any reason.</p> </div> <div class="section" id="i-have-cool-project-x-can-you-guys-mirror-it-for-me"> <h2>I have cool project X, can you guys mirror it for me?</h2> <p>Probably not. Kernel.org deals with the Linux kernel, various distributions of the kernel and larger repositories of packages. We do not mirror individual projects, software, etc as we feel there are better places providing mirrors for those kinds of repositories. If you feel that kernel.org should mirror your project, please contact <a class="reference external" href="mailto:ftpadmin@kernel.org">ftpadmin@kernel.org</a> with the following information:</p> <ul class="simple"> <li>name</li> <li>project name</li> <li>project website</li> <li>detailed project description</li> <li>reason for wanting us to mirror</li> </ul> <p>The Kernel.org admin team will then review your request and talk to you about it. As with any kind of account on kernel.org it's up to the discretion of the admin team.</p> </div> <div class="section" id="how-does-kernel-org-provide-its-users-access-to-the-git-trees"> <h2>How does kernel.org provide its users access to the git trees?</h2> <p>We are using an access control system called <a class="reference external" href="https://github.com/sitaramc/gitolite/wiki">gitolite</a>, originally written and maintained by Sitaram Chamarty. We choose gitolite for a number of reasons:</p> <ul class="simple"> <li>Limiting of ssh access to the system</li> <li>Fine grained control over repository access</li> <li>Well maintained and supported code base</li> <li>Responsive development</li> <li>Broad and diverse install base</li> </ul> <p>As well at the time of deployment the code had undergone an external code review.</p> </div> <div class="section" id="how-do-i-create-an-rc-kernel-i-get-reversed-patch-detected"> <h2>How do I create an -rc kernel? I get "Reversed patch detected!"</h2> <p>-rc kernel patches are generated from the base stable release.</p> <p>For example: to create the 2.6.14-rc5 kernel, you must:</p> <ul class="simple"> <li>download 2.6.13 (not 2.6.13.4)</li> <li>and then apply the 2.6.14-rc5 patch.</li> </ul> <p>Yes, you want 2.6.13, not 2.6.14. Remember, that's an -rc kernel, as in, 2.6.14 doesn't exist yet. :)</p> </div> <div class="section" id="where-can-i-find-kernel-2-4-20-3-16"> <h2>Where can I find kernel 2.4.20-3.16?</h2> <p>Kernel version numbers of this form are distribution kernels, meaning they are modified kernels produced by distributions. Please contact the relevant distributor; or check out <a class="reference external" href="http://mirrors.kernel.org/">http://mirrors.kernel.org/</a>.</p> <p>See the <a class="reference external" href="https://www.kernel.org/releases.html">Releases</a> page for more info on distribution kernels.</p> </div> <div class="section" id="i-need-help-building-patching-fixing-linux-kernel-modules-drivers"> <h2>I need help building/patching/fixing Linux kernel/modules/drivers!</h2> <p>Please see the <a class="reference external" href="http://kernelnewbies.org/">Kernel Newbies</a> website.</p> <p>There is also a wealth of knowledge on many topics involving Linux at The Linux Documentation Project (<a class="reference external" href="http://www.tldp.org">http://www.tldp.org</a>)</p> <p>For finding or reporting bugs, look through the archives for the various Linux mailing lists, and if no specific list seems appropriate, try the browsing the Linux Kernel Mailing List.</p> </div> <div class="section" id="when-will-the-next-kernel-be-released"> <h2>When will the next kernel be released?</h2> <p>The next kernel will be released when it is ready. There is no strict timeline for making releases, but if you really need an educated guess, visit the Linux kernel <a class="reference external" href="http://phb-crystal-ball.org/">PHB Crystal Ball</a> -- it tries to provide a ballpark guess based on previous kernel release schedule.</p> </div> <div class="section" id="what-will-go-into-the-next-release"> <h2>What will go into the next release?</h2> <p>It is hard to predict with certainty, but you can either take a peek at <a class="reference external" href="https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/">linux-next</a> or read the <a class="reference external" href="http://www.linuxfoundation.org/news-media/lwf">Linux Weather Forecast</a>, where Jonathan Corbet provides a broad forecast of what will likely be included into the next mainline release.</p> </div> +</summary> +</entry> +<entry> +<title>The Linux Kernel Organization</title> +<link href="https://www.kernel.org/nonprofit.html" rel="alternate"/> +<updated>2013-03-12T19:56:43+00:00</updated> +<author> +<name/> +</author> +<id> +tag:https://www.kernel.org,2013-03-12:nonprofit.html +</id> +<summary type="html"> +<p>The Linux Kernel Organization is a California Public Benefit Corporation established in 2002 to distribute the Linux kernel and other Open Source software to the public without charge. We are recognized by the IRS as a 501(c)3 private operating foundation.</p> <ul class="simple"> <li><a class="reference external" href="https://www.kernel.org/static/corporate/irs-nonprofit-ok-redacted.pdf">IRS determination letter</a></li> <li><a class="reference external" href="https://www.kernel.org/static/corporate/state-nonprofit-ok-redacted.pdf">California determination letter</a></li> </ul> <p>The Linux Kernel Organization is managed by <a class="reference external" href="http://linuxfoundation.org/">The Linux Foundation</a>, which provides full technical, financial and staffing support for running and maintaining the kernel.org infrastructure.</p> <div class="section" id="legal-information"> <h2>Legal information</h2> <p>Due to U.S. Exports Regulations, all cryptographic software on this site is subject to the following legal notice:</p> <blockquote> <strong>This site includes publicly available encryption source code which, together with object code resulting from the compiling of publicly available source code, may be exported from the United States under License Exception "TSU" pursuant to 15 C.F.R. Section 740.13(e).</strong></blockquote> <p>This legal notice applies to cryptographic software only. Please see the <a class="reference external" href="http://www.bis.doc.gov/">Bureau of Industry and Security</a> for more information about current U.S. regulations.</p> <p>Our servers are located in Corvallis, Oregon, USA; Palo Alto and San Francisco, California, USA; Amsterdam, Netherlands; and Umeå, Sweden. Use in violation of any applicable laws is prohibited.</p> <p>Linux is a Registered Trademark of Linus Torvalds. All trademarks are property of their respective owners.</p> </div> +</summary> +</entry> +<entry> +<title>Active kernel releases</title> +<link href="https://www.kernel.org/releases.html" rel="alternate"/> +<updated>2013-03-12T19:56:43+00:00</updated> +<author> +<name/> +</author> +<id> +tag:https://www.kernel.org,2013-03-12:releases.html +</id> +<summary type="html"> +<p>There are several main categories into which kernel releases may fall:</p> <dl class="docutils"> <dt>Prepatch</dt> <dd>Prepatch or "RC" kernels are mainline kernel pre-releases that are mostly aimed at other kernel developers and Linux enthusiasts. They must be compiled from source and usually contain new features that must be tested before they can be put into a stable release. Prepatch kernels are maintained and released by Linus Torvalds.</dd> <dt>Mainline</dt> <dd>Mainline tree is maintained by Linus Torvalds. It's the tree where all new features are introduced and where all the exciting new development happens. New mainline kernels are released every 2-3 months.</dd> <dt>Stable</dt> <dd>After each mainline kernel is released, it is considered "stable." Any bug fixes for a stable kernel are backported from the mainline tree and applied by a designated stable kernel maintainer. There are usually only a few bugfix kernel releases until next mainline kernel becomes available -- unless it is designated a "longterm maintenance kernel." Stable kernel updates are released on as-needed basis, usually 2-3 a month.</dd> <dt>Longterm</dt> <dd>There are usually several "longterm maintenance" kernel releases provided for the purposes of backporting bugfixes for older kernel trees. Only important bugfixes are applied to such kernels and they don't usually see very frequent releases, especially for older trees.</dd> </dl> <table border="1" class="docutils"> <caption>Longterm release kernels</caption> <colgroup> <col width="17%" /> <col width="43%" /> <col width="39%" /> </colgroup> <thead valign="bottom"> <tr><th class="head">Version</th> <th class="head">Maintainer</th> <th class="head">Projected EOL</th> </tr> </thead> <tbody valign="top"> <tr><td>3.4</td> <td>Greg Kroah-Hartman</td> <td>Oct, 2014</td> </tr> <tr><td>3.2</td> <td>Ben Hutchings</td> <td>2016</td> </tr> <tr><td>3.0</td> <td>Greg Kroah-Hartman</td> <td>Oct, 2013</td> </tr> <tr><td>2.6.34</td> <td>Paul Gortmaker</td> <td>Mid-2013</td> </tr> <tr><td>2.6.32</td> <td>Willy Tarreau</td> <td>Mid-2014</td> </tr> </tbody> </table> <div class="section" id="distribution-kernels"> <h2>Distribution kernels</h2> <p>Many Linux distributions provide their own "longterm maintenance" kernels that may or may not be based on those maintained by kernel developers. These kernel releases are not hosted at kernel.org and kernel developers can provide no support for them.</p> <p>It is easy to tell if you are running a distribution kernel. Unless you downloaded, compiled and installed your own version of kernel from kernel.org, you are running a distribution kernel. To find out the version of your kernel, run <cite>uname -r</cite>:</p> <pre class="literal-block"> # uname -r 3.7.5-201.fc18.x86_64 </pre> <p>If you see anything at all after the dash, you are running a distribution kernel. Please use the support channels offered by your distribution vendor to obtain kernel support.</p> </div> +</summary> +</entry> +<entry> +<title>About Linux Kernel</title> +<link href="https://www.kernel.org/linux.html" rel="alternate"/> +<updated>2013-03-12T19:56:43+00:00</updated> +<author> +<name/> +</author> +<id>tag:https://www.kernel.org,2013-03-12:linux.html</id> +<summary type="html"> +<div class="section" id="what-is-linux"> <h2>What is Linux?</h2> <p>Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX and <a class="reference external" href="http://www.unix.org/">Single UNIX Specification</a> compliance.</p> <p>It has all the features you would expect in a modern fully-fledged Unix, including true multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write executables, proper memory management, and multistack networking including IPv4 and IPv6.</p> <p>Although originally developed first for 32-bit x86-based PCs (386 or higher), today Linux also runs on a multitude of other processor architectures, in both 32- and 64-bit variants.</p> </div> <div class="section" id="new-to-linux"> <h2>New to Linux?</h2> <p>If you're new to Linux, you don't want to download the kernel, which is just a component in a working Linux system. Instead, you want what is called a distribution of Linux, which is a complete Linux system. There are numerous distributions available for download on the Internet as well as for purchase from various vendors; some are general-purpose, and some are optimized for specific uses. We currently have mirrors of several distributions available at <a class="reference external" href="http://mirrors.kernel.org/">http://mirrors.kernel.org/</a>.</p> <p>Note, however, that most distributions are very large (several gigabytes), so unless you have a fast Internet link you may want to save yourself some hassle and purchase a CD-ROM with a distribution; such CD-ROMs are available from a number of vendors.</p> </div> <div class="section" id="mailing-lists"> <h2>Mailing lists</h2> <p>The Linux kernel is discussed on the linux-kernel mailing list at <a class="reference external" href="http://vger.kernel.org/">vger.kernel.org</a>. Please read the <a class="reference external" href="http://www.tux.org/lkml/">FAQ</a> before subscribing.</p> <p>Although there is no official archive site, unofficial archives of the list can be found at:</p> <ul class="simple"> <li><a class="reference external" href="http://lkml.org/">http://lkml.org/</a></li> <li><a class="reference external" href="http://marc.info/?l=linux-kernel">http://marc.info/?l=linux-kernel</a></li> </ul> </div> +</summary> +</entry> +<entry> +<title>Contacts</title> +<link href="https://www.kernel.org/contact.html" rel="alternate"/> +<updated>2013-03-12T19:56:43+00:00</updated> +<author> +<name/> +</author> +<id>tag:https://www.kernel.org,2013-03-12:contact.html</id> +<summary type="html"> +<p>Email is the only reliable way of contacting Kernel.org administrators.</p> <div class="section" id="general-contacts"> <h2>General contacts</h2> <dl class="docutils"> <dt><a class="reference external" href="mailto:webmaster@kernel.org">webmaster@kernel.org</a>:</dt> <dd>General requests and comments about kernel.org infrastructure.</dd> <dt><a class="reference external" href="mailto:ftpadmin@kernel.org">ftpadmin@kernel.org</a>:</dt> <dd>Questions or comments about kernel.org mirrors.</dd> <dt><a class="reference external" href="mailto:keys@kernel.org">keys@kernel.org</a>:</dt> <dd>Account requests (see <a class="reference external" href="https://www.kernel.org/faq.html">FAQ</a>)</dd> </dl> <p><strong>Please do not send general Linux questions or bug reports to these addresses. We do not have the resources to reply to them.</strong></p> <p>Please try the following sites for general Linux help:</p> <ul class="simple"> <li><a class="reference external" href="http://superuser.com/">http://superuser.com/</a> - for computer enthusiasts and power users</li> <li><a class="reference external" href="http://serverfault.com/">http://serverfault.com/</a> - for systems administrators</li> <li><a class="reference external" href="http://askubuntu.com/">http://askubuntu.com/</a> - for users of Ubuntu Linux</li> </ul> <p>Linux Foundation also offers training opportunities if you are interested in learning more about Linux, want to become a more proficient Linux systems administrator, or want to know more about how Linux can help your company succeed.</p> <ul class="simple"> <li><a class="reference external" href="http://training.linuxfoundation.org/">http://training.linuxfoundation.org/</a></li> </ul> </div> <div class="section" id="mailing-address"> <h2>Mailing address</h2> <p>Please send any mail correspondence to the Linux Foundation:</p> <blockquote> <div class="line-block"> <div class="line">The Linux Foundation</div> <div class="line">660 York Street, Suite 102</div> <div class="line">San Francisco, CA 94110</div> <div class="line">Phone/Fax: +1 415 723 9709</div> </div> </blockquote> </div> +</summary> +</entry> +<entry> +<title>XZ by default and JSON</title> +<link href="https://www.kernel.org/xz-by-default-and-json.html" rel="alternate"/> +<updated>2013-03-11T00:00:00+00:00</updated> +<author> +<name/> +</author> +<id> +tag:https://www.kernel.org,2013-03-11:xz-by-default-and-json.html +</id> +<summary type="html"> +<p>We've implemented two oft-requested features today:</p> <ol class="arabic simple"> <li>The download links now default to .tar.xz versions of archives</li> <li>There is now a JSON file with the release information located in <a class="reference external" href="https://www.kernel.org/releases.json">https://www.kernel.org/releases.json</a>. If you've been screen-scraping the front page, please use this instead.</li> </ol> <p>If you have any other feature suggestions, please send them to <a class="reference external" href="mailto:webmaster@kernel.org">webmaster@kernel.org</a>.</p> +</summary> +</entry> +<entry> +<title>/pub tree resync-ing</title> +<link href="https://www.kernel.org/pub-tree-resync-ing.html" rel="alternate"/> +<updated>2013-03-08T00:00:00+00:00</updated> +<author> +<name/> +</author> +<id> +tag:https://www.kernel.org,2013-03-08:pub-tree-resync-ing.html +</id> +<summary type="html"> +<p>Due to a failure in one of the rsync scripts during the maintenance window, the mirrors of /pub hierarchy on www.kernel.org got erased. We are resyncing them now from the master storage, but in the meantime you will probably get an occasional "Forbidden". The entirety of the archive should be rsync'ed in a few hours.</p> <p>We apologize profusely for the problem and will fix the script to make sure this doesn't happen again.</p> <p>Contents of git.kernel.org are unaffected.</p> +</summary> +</entry> +<entry> +<title>Cleanroom styles</title> +<link href="https://www.kernel.org/cleanroom-styles.html" rel="alternate"/> +<updated>2013-03-03T00:00:00+00:00</updated> +<author> +<name/> +</author> +<id> +tag:https://www.kernel.org,2013-03-03:cleanroom-styles.html +</id> +<summary type="html"> +<p>You are probably wondering what happened to the site's look. Unfortunately, we've been alerted that the default theme shipped by Pelican (which we largely adapted) has an unclear license. Until this is cleared up, we've put together a quick-and-dirty cleanroom CSS reimplementation that preserves the functional aspects of the site, but sacrifices a lot of the bells and whistles.</p> <p>If you are a CSS designer and would like to donate your own cleanroom style, please let us know at <a class="reference external" href="mailto:webmaster@kernel.org">webmaster@kernel.org</a>.</p> <p>Our apologies, and we promise to keep a keener eye on licensing details of various templates distributed with open-source products.</p> +</summary> +</entry> +<entry> +<title>Pelican</title> +<link href="https://www.kernel.org/pelican.html" rel="alternate"/> +<updated>2013-03-01T00:00:00+00:00</updated> +<author> +<name/> +</author> +<id>tag:https://www.kernel.org,2013-03-01:pelican.html</id> +<summary type="html"> +<p>Welcome to the reworked kernel.org website. We have switched to using <a class="reference external" href="http://docs.getpelican.com/">Pelican</a> in order to statically render our site content, which simplifies mirroring and distribution. You can view the sources used to build this website in its own <a class="reference external" href="http://git.kernel.org/?p=docs/kernel/website.git;a=summary">git repository</a>.</p> <p>Additionally, we have switched from using gitweb-caching to using <a class="reference external" href="http://git.zx2c4.com/cgit/">cgit</a> for <a class="reference external" href="https://git.kernel.org/cgit/">browsing git repositories</a>. There are rewrite rules in place to forward old gitweb URLs to the pages serviced by cgit, so there shouldn't be any broken links, hopefully. If you notice that something that used to work with gitweb no longer works for you with cgit, please drop us a note at <a class="reference external" href="mailto:webmaster@kernel.org">webmaster@kernel.org</a>.</p> +</summary> +</entry> +<entry> +<title>Legal disclaimers and copyright</title> +<link href="https://www.kernel.org/legal.html" rel="alternate"/> +<updated>2013-01-01T00:00:00+00:00</updated> +<author> +<name/> +</author> +<id>tag:https://www.kernel.org,2013-01-01:legal.html</id> +<summary type="html"> +<div class="section" id="copyright"> <h2>Copyright</h2> <p>Copyright 1997-2013 The Linux Kernel Organization, Inc.</p> <p>Distributed software is copyrighted by their respective contributors and are distributed under their own individual licenses.</p> </div> <div class="section" id="legal-disclaimer"> <h2>Legal Disclaimer</h2> <p>This site is provided as a public service by The Linux Kernel Organization Inc., a California <a class="reference external" href="https://www.kernel.org/nonprofit.html">501(c)3 nonprofit corporation</a>. Our servers are located in San Francisco, CA, USA; Palo Alto, CA, USA; Corvallis, OR, USA; Amsterdam, Netherlands; and Umeå, Sweden. Use in violation of any applicable laws is strictly prohibited.</p> <p>Neither the Linux Kernel Organization nor any of its sponsors make any guarantees, explicit or implicit, about the contents of this site. Use at your own risk.</p> </div> <div class="section" id="trademarks"> <h2>Trademarks</h2> <p>Linux is a Registered Trademark of Linus Torvalds. All trademarks are property of their respective owners.</p> </div> +</summary> +</entry> +<entry> +<title>Linux kernel releases PGP signatures</title> +<link href="https://www.kernel.org/signature.html" rel="alternate"/> +<updated>2013-01-01T00:00:00+00:00</updated> +<author> +<name/> +</author> +<id> +tag:https://www.kernel.org,2013-01-01:signature.html +</id> +<summary type="html"> +<p>All kernel releases are cryptographically signed using OpenPGP-compliant signatures. Everyone is strongly encouraged to verify the integrity of downloaded kernel releases by verifying the corresponding signatures.</p> <p><strong>Linux kernel releases and all other files distributed via kernel.org mirrors are no longer signed by one centrally issued key. You will need to rely on the PGP Web of Trust in order to verify the authenticity of downloaded archives.</strong></p> <div class="section" id="basic-concepts"> <h2>Basic concepts</h2> <p>Every kernel release comes with a cryptographic signature from the person making the release. This cryptographic signature allows anyone to verify whether the files have been modified or otherwise tampered with since the developer created and signed them. The signing and verification process uses public-key cryptography and it is next to impossible to forge a PGP signature without first gaining access to the developer's private key. If this does happen, the developers will revoke the compromised key and will re-sign all their previously signed releases with the new key.</p> <p>To learn more about the way PGP works, please consult <a class="reference external" href="https://en.wikipedia.org/wiki/Pretty_Good_Privacy#How_PGP_encryption_works">Wikipedia</a>.</p> </div> <div class="section" id="kernel-org-web-of-trust"> <h2>Kernel.org web of trust</h2> <p>In order for this section to make sense, you should first familiarize yourself with the way PGP Web of Trust works. You can start by reading the <a class="reference external" href="https://en.wikipedia.org/wiki/Web_of_trust">Wikipedia article</a> on the subject.</p> <p>In a few words, <strong>PGP keys used by members of kernel.org are cross-signed by other members of kernel.org</strong> (and, frequently, by many other people). If you wanted to verify the validity of any key belonging to a member of kernel.org, you could review the list of signatures on their public key and then make a decision whether you trust that key or not. This article from the GnuPG manual is a good first step towards understanding how you can use PGP trust relationships to validate keys: <a class="reference external" href="http://www.gnupg.org/gph/en/manual.html#AEN385">Using trust to validate keys</a>.</p> <p>In order to become part of the kernel.org web of trust, you should locate kernel.org members in your geographical area, then verify and sign their keys. To locate members of kernel.org in your area, you can either use the <a class="reference external" href="https://j.mp/kgpgmap">Google Map</a> created for this purpose, or send an email to the <a class="reference external" href="mailto:users@kernel.org">users@kernel.org</a> mailing list, requesting key signing.</p> <p>Once you have verified and signed a few keys, you can use the trust relationship established in the process to verify other keys used in the kernel.org web of trust.</p> </div> <div class="section" id="using-gnupg-to-verify-kernel-signatures"> <h2>Using GnuPG to verify kernel signatures</h2> <p>All software released via kernel.org has corresponding PGP signatures. It should not be possible to upload any files to the kernel.org mirrors without providing a trusted PGP signature to go along with them.</p> <p>To better illustrate the verification process, let's use Linux 3.1.5 release as a walk-through example. First, use "<tt class="docutils literal">wget</tt>" or "<tt class="docutils literal">curl <span class="pre">-O</span></tt>" to download the release and the corresponding signature:</p> <pre class="literal-block"> $ wget https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.5.tar.xz $ wget https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.5.tar.sign </pre> <p>You will notice that the signature is made against the uncompressed version of the archive. This is done so there is only one signature required for .gz, .bz2 and .xz compressed versions of the release. Start by uncompressing the archive, using <tt class="docutils literal">unxz</tt> in our case:</p> <pre class="literal-block"> $ unxz linux-3.1.5.tar.xz </pre> <p>Now verify the .tar archive against the signature:</p> <pre class="literal-block"> $ gpg --verify linux-3.1.5.tar.sign </pre> <p>You can combine these steps into a one-liner:</p> <pre class="literal-block"> $ xz -cd linux-3.1.5.tar.xz | gpg --verify linux-3.1.5.tar.sign - </pre> <p>The likely output will be:</p> <pre class="literal-block"> gpg: Signature made Fri 09 Dec 2011 12:16:46 PM EST using RSA key ID 6092693E gpg: Can't check signature: public key not found </pre> <p>You will need to first download the public key from the PGP keyserver in order to verify the signature. Look at the first line of the output and note the "key ID" listed, which in our example is <tt class="docutils literal">6092693E</tt>. Now download this key from the key servers:</p> <pre class="literal-block"> $ gpg --recv-keys 6092693E gpg: requesting key 6092693E from hkp server subkeys.pgp.net gpg: key 6092693E: public key "Greg Kroah-Hartman (Linux kernel stable release signing key) <greg@kroah.com>" imported gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 3 signed: 1 trust: 0-, 0q, 0n, 0m, 0f, 3u gpg: depth: 1 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 1f, 0u gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) </pre> <p>Let's rerun "<tt class="docutils literal">gpg <span class="pre">--verify</span></tt>":</p> <pre class="literal-block"> $ gpg --verify linux-3.1.5.tar.sign gpg: Signature made Fri 09 Dec 2011 12:16:46 PM EST using RSA key ID 6092693E gpg: Good signature from "Greg Kroah-Hartman (Linux kernel stable release signing key) <greg@kroah.com>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 647F 2865 4894 E3BD 4571 99BE 38DB BDC8 6092 693E </pre> <p>Notice the <strong>WARNING: This key is not certified with a trusted signature!</strong> You will now need to verify that the key used to sign the archive really does belong to the owner (in our example, Greg Kroah-Hartman). There are several ways you can do this:</p> <ol class="arabic simple"> <li>Use the <a class="reference internal" href="#kernel-org-web-of-trust">Kernel.org web of trust</a>. This will require that you first locate the members of kernel.org in your area and sign their keys. <strong>Short of meeting the actual owner of the PGP key in real life, this is your best option to verify the validity of a PGP key signature.</strong></li> <li>Review the list of signatures on the developer's key by using "<tt class="docutils literal">gpg <span class="pre">--list-sigs</span></tt>". Email as many people who have signed the key as possible, preferably at different organizations (or at least different domains). Ask them to confirm that they have signed the key in question. You should attach at best marginal trust to the responses you receive in this manner (if you receive any).</li> </ol> <p>If at any time you see "BAD signature" output from "<tt class="docutils literal">gpg <span class="pre">--verify</span></tt>", please first check that your download is correct and that the downloaded file is not truncated or otherwise corrupted. If you repeatedly get the same "BAD signature" output, email <a class="reference external" href="mailto:ftpadmin@kernel.org">ftpadmin@kernel.org</a> immediately, so we can investigate the problem.</p> </div> <div class="section" id="kernel-org-checksum-autosigner-and-sha256sums-asc"> <h2>Kernel.org checksum autosigner and sha256sums.asc</h2> <p>We have a dedicated off-the-network system that connects directly to our central attached storage and calculates checksums for all uploaded software releases. The generated <tt class="docutils literal">sha256sums.asc</tt> file is then signed with a PGP key generated for this purpose and that doesn't exist outside of that system.</p> <p>These checksums are <strong>NOT</strong> intended to replace the web of trust. It is merely a way for someone to quickly verify whether contents on one of the many kernel.org mirrors match the contents on the master mirror. While you may use them to quickly verify whether what you have downloaded matches what we have on our central storage system, you should still use the GPG web of trust to verify whether the release tarball actually matches what the kernel developer published.</p> </div> <div class="section" id="kernel-releases-prior-to-september-2011"> <h2>Kernel releases prior to September, 2011</h2> <p>Prior to September, 2011 all kernel releases were signed automatically by the same PGP key:</p> <pre class="literal-block"> pub 1024D/517D0F0E 2000-10-10 [revoked: 2011-12-11] Key fingerprint = C75D C40A 11D7 AF88 9981 ED5B C86B A06A 517D 0F0E uid Linux Kernel Archives Verification Key <ftpadmin@kernel.org> </pre> <p>Due to the kernel.org systems compromise, this key has been retired and revoked. <strong>It will no longer be used to sign future releases and you should NOT use this key to verify the integrity of any archives. It is almost certain that this key has fallen into malicious hands.</strong></p> <p>All kernel releases that were previously signed with this key are being cross-checked and will be signed with another key, created specifically for this purpose. Once the process is completed, the new key information will be put on this page.</p> </div> <div class="section" id="revocation-certificates"> <h2>Revocation certificates</h2> <p>The following revocation certificates have been issued for keys used in the past to sign kernel.org software releases:</p> <div class="section |