From 8bebcd533a28d13a7c321bf56624f8f09be91f2f Mon Sep 17 00:00:00 2001 From: Benjamin Hays Date: Fri, 8 Nov 2024 20:12:26 -0500 Subject: [PATCH] minimum viable product --- .gitea/workflows/update-feeds.yml | 33 +++++ generate_feeds.py | 20 +++ lwn-all.xml | 168 +++++++++++++++++++++++ lwn-features.xml | 218 ++++++++++++++++++++++++++++++ 4 files changed, 439 insertions(+) create mode 100644 .gitea/workflows/update-feeds.yml create mode 100644 generate_feeds.py create mode 100644 lwn-all.xml create mode 100644 lwn-features.xml diff --git a/.gitea/workflows/update-feeds.yml b/.gitea/workflows/update-feeds.yml new file mode 100644 index 0000000..604a087 --- /dev/null +++ b/.gitea/workflows/update-feeds.yml @@ -0,0 +1,33 @@ +name: Update RSS Feeds +on: + schedule: + # Every four hours, every day + - cron: '0 0 */4 * * *' +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Copy SSH Key + run: | + mkdir ~/.ssh/ + echo "Host *" > ~/.ssh/config + echo " StrictHostKeyChecking no" >> ~/.ssh/config + echo '${{secrets.SSH_PRIVATE_KEY}}' > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + + - name: Install Prereqs + run: | + apt update -y + apt install python3-requests python3-lxml -y + + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Generate Feeds + run: | + python3 generate_feeds.py + + - name: Deploy to Server + run: | + scp -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -r lwn-*.xml bhays@10.0.0.20:/var/www/html/ \ No newline at end of file diff --git a/generate_feeds.py b/generate_feeds.py new file mode 100644 index 0000000..57cd462 --- /dev/null +++ b/generate_feeds.py @@ -0,0 +1,20 @@ +import requests +from lxml import etree as ET + +def download_feed(s, url, file, remove_premium=False, fulltext=False): + r = s.get(url) + tree = ET.ElementTree(ET.fromstring(r.text)) + root = tree.getroot() + for post in tree.iter('item'): + if remove_premium and "[$]" in post.find('title').text: + root[0].remove(post) + ## TODO: full-text parsing + + tree.write(file) + +s = requests.Session() +s.headers.update({'User-Agent': 'FreshRSS/1.23.1 (Linux; https://freshrss.org)'}) + +download_feed(s, "https://lwn.net/headlines/Features", "lwn-features.xml", remove_premium=True) +download_feed(s, "https://lwn.net/headlines/rss", "lwn-all.xml", remove_premium=True) + diff --git a/lwn-all.xml b/lwn-all.xml new file mode 100644 index 0000000..3e0ed11 --- /dev/null +++ b/lwn-all.xml @@ -0,0 +1,168 @@ + + + LWN.net + https://lwn.net + LWN.net is a comprehensive source of news and opinions from + and about the Linux community. This is the main LWN.net feed, + listing all articles which are posted to the site front page. + + en-us + Sat, 09 Nov 2024 01:00:55 +0000 + Sat, 09 Nov 2024 01:00:55 +0000 + https://www.rssboard.org/rss-specification + lwn@lwn.net + + + Seven more stable kernel updates + https://lwn.net/Articles/997525/ + https://lwn.net/Articles/997525/ + daroc + <p> +Greg Kroah-Hartman has shared another seven stable kernel updates: +<a href="https://lwn.net/Articles/997527/">6.6.60</a>, +<a href="https://lwn.net/Articles/997528/">6.11.7</a>, +<a href="https://lwn.net/Articles/997529/">6.1.116</a>, +<a href="https://lwn.net/Articles/997530/">5.15.171</a>, +<a href="https://lwn.net/Articles/997533/">5.10.229</a>, +<a href="https://lwn.net/Articles/997535/">5.4.285</a>, and +<a href="https://lwn.net/Articles/997536/">4.19.323</a>. +</p> + Fri, 08 Nov 2024 16:53:10 +0000 + + + Cohen: gccrs: An alternative compiler for Rust + https://lwn.net/Articles/997483/ + https://lwn.net/Articles/997483/ + corbet + Arthur Cohen has posted <a +href="https://blog.rust-lang.org/2024/11/07/gccrs-an-alternative-compiler-for-rust.html">a +detailed introduction to the gccrs project</a> on the Rust Blog, seemingly +with the goal of convincing the Rust community about the value of the +project. +<p> +<blockquote class="bq"> + Likewise, many GCC plugins are used for increasing the safety of + critical projects such as the Linux kernel, which has recently + gained support for the Rust programming language. This makes + <tt>gccrs</tt> a useful tool for analyzing unsafe Rust code, and + more generally Rust code which has to interact with existing C + code. We also want <tt>gccrs</tt> to be a useful tool for + <tt>rustc</tt> itself by helping pan out the Rust specification + effort with a unique viewpoint - that of a tool trying to replicate + another's functionality, oftentimes through careful experimentation + and source reading where the existing documentation did not go into + enough detail. +</blockquote> +<p> +(LWN last <a href="https://lwn.net/Articles/991199/">looked at gccrs</a> in October). + Fri, 08 Nov 2024 15:04:37 +0000 + + + Security updates for Friday + https://lwn.net/Articles/997480/ + https://lwn.net/Articles/997480/ + daroc + Security updates have been issued by <b>AlmaLinux</b> (edk2), <b>Debian</b> (webkit2gtk), <b>Fedora</b> (thunderbird), <b>Oracle</b> (bzip2, container-tools:ol8, edk2, go-toolset:ol8, libtiff, python-idna, python3.11, and python3.12), <b>Slackware</b> (expat), and <b>SUSE</b> (apache2, govulncheck-vulndb, grub2, java-1_8_0-openjdk, python3, python39, qemu, xorg-x11-server, and xwayland). + + Fri, 08 Nov 2024 14:17:02 +0000 + + + Security updates for Thursday + https://lwn.net/Articles/997378/ + https://lwn.net/Articles/997378/ + jake + Security updates have been issued by <b>AlmaLinux</b> (bcc, bpftrace, bzip2, container-tools:rhel8, grafana-pcp, haproxy, kernel, kernel-rt, krb5, libtiff, python-gevent, python3.11, python3.11-urllib3, python3.12, python3.12-urllib3, xmlrpc-c, and xorg-x11-server and xorg-x11-server-Xwayland), <b>Debian</b> (puma and pypy3), <b>Fedora</b> (firefox), <b>Gentoo</b> (libgit2), <b>Mageia</b> (libarchive), <b>SUSE</b> (ghostscript, go1.22-openssl, go1.23-openssl, htmldoc, kmail-account-wizard, libarchive, libgsf, libmozjs-128-0, openssl-3, python-jupyterlab, python-mysql-connector-python, python36, and ruby2.1), and <b>Ubuntu</b> (cinder, linux-aws, linux-aws-6.8, linux-oracle, linux-oracle-6.8, linux-aws, linux-azure-5.4, linux-kvm, linux-oracle, linux-xilinx-zynqmp, and linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency). + + Thu, 07 Nov 2024 16:14:36 +0000 + + + Funding restored for man-page maintenance + https://lwn.net/Articles/997193/ + https://lwn.net/Articles/997193/ + corbet + Man pages maintainer Alejandro Colomar <a +href="https://lwn.net/Articles/989215/">announced</a> in September that he was suspending +his work due to a lack of support. He has now <a +href="https://lwn.net/ml/all/nimzecx26lzxo2v64qjazmisbwfeljpto522wlnauktqesmdoc@gv3yrp64cvug">let +it be known</a> that funding has been found for the next year at least: +<p> +<blockquote class="bq"> + We've been talking for a couple of months, and we have already + agreed to sign a contract through the LF [Linux Foundation], where + a number of companies provide the funds for the contract. The + contract will cover the next 12 months for the agreed amount, and + we should sign it in the following days. Since I've already seen a + draft of the contract, and it looks good, I've already started + maintaining the project again, starting on Nov 1st. +</blockquote> + Wed, 06 Nov 2024 15:48:15 +0000 + + + Security updates for Wednesday + https://lwn.net/Articles/997182/ + https://lwn.net/Articles/997182/ + jzb + Security updates have been issued by <b>AlmaLinux</b> (libtiff), <b>Debian</b> (context, libheif, and thunderbird), <b>Fedora</b> (php-tcpdf, syncthing, and thunderbird), <b>Gentoo</b> (EditorConfig core C library, Flatpak, Neat VNC, and Ubiquiti UniFi), <b>Oracle</b> (bcc, bpftrace, grafana-pcp, haproxy, kernel, krb5, libtiff, python-gevent, python3.11-urllib3, python3.12-urllib3, and xmlrpc-c), <b>Red Hat</b> (python3.11-urllib3), <b>SUSE</b> (audacity, curl, govulncheck-vulndb, gradle, htmldoc, libgsf, python310, and qbittorrent), and <b>Ubuntu</b> (linux-aws-5.4, linux-oracle-5.4, mpg123, and python-werkzeug). + + Wed, 06 Nov 2024 14:13:03 +0000 + + + LXQt 2.1.0 released + https://lwn.net/Articles/997034/ + https://lwn.net/Articles/997034/ + jzb + <p><a +href="https://lxqt-project.org/release/2024/11/05/release-lxqt-2-1-0/">Version +2.1.0</a> of the <a href="https://lxqt-project.org/">LXQt</a> +lightweight Qt desktop environment has been released. The highlight of +this release is support for multiple Wayland compositors:</p> + +<blockquote class="bq"> +<p>Through its new component <tt>lxqt-wayland-session</tt>, LXQt 2.1.0 +supports 7 Wayland sessions (with Labwc, KWin, Wayfire, Hyprland, +Sway, River and Niri), has two Wayland back-ends in +<tt>lxqt-panel</tt> (one for <tt>kwin_wayland</tt> and the other +general), and will add more later. All LXQt components that are not +limited to X11 — i.e., most components — work fine on Wayland. [...]</p> + +<p><em><strong>Of course, the X11 session will be supported +indefinitely</strong></em>. Wayland is optional and rather experimental.</p> +</blockquote> + Tue, 05 Nov 2024 15:17:48 +0000 + + + The BPF instruction set architecture is now RFC 9669 + https://lwn.net/Articles/997002/ + https://lwn.net/Articles/997002/ + corbet + After a couple of years of effort, the BPF instruction set architecture has +been accepted as <a href="https://www.rfc-editor.org/rfc/rfc9669.html">RFC +9669</a>, giving it a standard outside of the in-kernel implementation. <a +href="https://lwn.net/ml/all/20241105035101.GD41004@maniforge">This message from David +Vernet</a> (who also contributed <a href="https://lwn.net/Articles/926882/">an article on +the standardization process</a> last year) describes the process and why it +is important: +<p> +<blockquote class="bq"> + Though some vendors have already implemented BPF offloading + capabilities without having a standardized ISA, others are not + quite as risk tolerant. As Christoph [Hellwig] discussed at LSFMM + 2022, certain NVMe vendors have expressed an interest in building + BPF offloading capabilities for various use cases such as eXpress + Resubmission Path (XRP), but they simply can't fund such a project + without certain components of BPF being standardized. Hence, the + effort to standardize BPF was born. +</blockquote> + Tue, 05 Nov 2024 14:43:37 +0000 + + + Security updates for Tuesday + https://lwn.net/Articles/997030/ + https://lwn.net/Articles/997030/ + corbet + Security updates have been issued by <b>AlmaLinux</b> (firefox, openexr, and thunderbird), <b>Fedora</b> (llama-cpp and python-quart), <b>Oracle</b> (firefox, openexr, thunderbird, and xorg-x11-server and xorg-x11-server-Xwayland), <b>SUSE</b> (chromium, govulncheck-vulndb, openssl-1_1, python311, and python312), and <b>Ubuntu</b> (linux-azure, linux-bluefield, linux-azure, linux-gcp, linux-ibm, openjpeg2, and ruby3.0, ruby3.2, ruby3.3). + + Tue, 05 Nov 2024 14:42:28 +0000 + + + \ No newline at end of file diff --git a/lwn-features.xml b/lwn-features.xml new file mode 100644 index 0000000..7f8ea73 --- /dev/null +++ b/lwn-features.xml @@ -0,0 +1,218 @@ + + + LWN.net featured content + https://lwn.net/Articles/ + This feed contains pointers to all feature articles (those +containing LWN original content and posted as standalone items) found on +the site. + + en-us + Sat, 09 Nov 2024 01:01:01 +0000 + Sat, 09 Nov 2024 01:01:01 +0000 + https://www.rssboard.org/rss-specification + lwn@lwn.net + + + LWN.net Weekly Edition for October 31, 2024 + https://lwn.net/Articles/995490/ + https://lwn.net/Articles/995490/ + corbet + The LWN.net Weekly Edition for October 31, 2024 is available. + + Thu, 31 Oct 2024 00:42:27 +0000 + + + An update on Apple M1/M2 GPU drivers + https://lwn.net/Articles/995383/ + https://lwn.net/Articles/995383/ + jake + The kernel graphics driver for the Apple M1 and M2 GPUs is, rather +famously, written in Rust, but it has achieved conformance with +various graphics standards, which is also noteworthy. At the <a +href="https://indico.freedesktop.org/event/6/">X.Org Developers Conference +(XDC)&nbsp;2024</a>, Alyssa Rosenzweig gave an update on the status of the +driver, along with some news about the kinds of games it can support (<a +href="https://www.youtube.com/watch?v=TtLP5sAXYKo">YouTube video</a>, <a href="https://indico.freedesktop.org/event/6/contributions/284/attachments/230/310/slides.pdf ">slides</a>). +There has been lots of progress since her talk at XDC last year (<a +href="https://www.youtube.com/watch?v=O36VFNdQHsE">YouTube video</a>), +with, of course, still more to come. + + Wed, 30 Oct 2024 16:23:29 +0000 + + + A new approach to validating test suites + https://lwn.net/Articles/995276/ + https://lwn.net/Articles/995276/ + daroc + <p> +The first program that Martin Pool ever wrote, he said, had bugs; the ones he's writing +now most likely have bugs too. The talk Pool gave at +<a href="https://rustconf.com/">RustConf</a> this year was about a way to try +to write programs with fewer bugs. He has developed a tool called +<a href="https://mutants.rs/"> +cargo-mutants</a> that highlights gaps in test coverage by identifying +functions that can be broken without causing any tests to fail. +This can be a valuable complement to other testing techniques, +he explained. +</p> + + Tue, 29 Oct 2024 17:01:12 +0000 + + + The performance of the Rust compiler + https://lwn.net/Articles/995125/ + https://lwn.net/Articles/995125/ + daroc + <p> +Sparrow Li presented virtually at +<a href="https://rustconf.com"> +RustConf</a>&nbsp;2024 about the current state of and +future plans for the Rust compiler's performance. The compiler is relatively slow to compile +large programs, although it has been getting better over time. The next big +performance improvement to come will be parallelizing the compiler's parsing, +type-checking, and related operations, but even after that, the project has +several avenues left to explore. +</p> + + Mon, 28 Oct 2024 16:10:27 +0000 + + + AutoFDO and Propeller + https://lwn.net/Articles/995397/ + https://lwn.net/Articles/995397/ + jake + Rong Xu and +Han Shen described the kernel-optimization techniques that Google uses in the <a +href="https://lpc.events/event/18/sessions/180/#20240918">toolchains +track</a> at the <a +href="https://lpc.events/event/18/page/224-lpc-2024-overview">2024 Linux +Plumbers Conference</a>. +They talked about <a +href="https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45290.pdf">automatic +feedback-directed optimization</a> (AutoFDO), which can be used with the <a +href="https://research.google/pubs/propeller-a-profile-guided-relinking-optimizer-for-warehouse-scale-applications/">Propeller</a> +optimizer to produce kernels with better performance using profile +information gathered from real workloads. There is a fair amount of +overlap between these tools and the <a +href="https://github.com/llvm/llvm-project/tree/main/bolt#bolt">BOLT</a> +post-link optimizer, which was the subject of a <a +href="https://lwn.net/Articles/993828/">talk</a> that directly preceded this session. + + Mon, 28 Oct 2024 15:15:19 +0000 + + + OSI readies controversial Open AI definition + https://lwn.net/Articles/995159/ + https://lwn.net/Articles/995159/ + jzb + <p>The <a href="https://opensource.org/">Open Source Initiative</a> +(OSI) has been working on defining <a +href="https://opensource.org/ai">Open Source AI</a>&mdash;that is what +constitutes an AI system that can be used, studied, modified, and +shared for any purpose&mdash;for almost two +years. Its <a +href="https://opensource.org/about/board-of-directors">board</a> will +be voting on the <a href="https://opensource.org/ai/drafts/the-open-source-ai-definition-1-0-rc2">Open Source AI Definition</a> (OSAID) on Sunday, +October&nbsp;27, with the 1.0 version slated to be published on +October&nbsp;28. It is never possible to please <em>everyone</em> in +such an endeavor, and it would be folly to make that a goal. However, +a number of prominent figures in the open-source community have voiced +concerns that OSI is setting the bar too low with the OSAID&mdash;which +will undo decades of community work to cajole vendors into adhering to +or respecting the original <a href="https://opensource.org/osd">Open Source +Definition</a> (OSD).</p> + + Fri, 25 Oct 2024 21:02:36 +0000 + + + Kernel optimization with BOLT + https://lwn.net/Articles/993828/ + https://lwn.net/Articles/993828/ + jake + A pair of talks in the <a +href="https://lpc.events/event/18/sessions/180/#20240918">toolchains +track</a> at the <a +href="https://lpc.events/event/18/page/224-lpc-2024-overview">2024 Linux +Plumbers Conference</a> covered different tools that can be used to +optimize the kernel. First up was Maksim Panchenko to describe the <a +href="https://github.com/llvm/llvm-project/tree/main/bolt#bolt">binary +optimization and layout tool</a> (BOLT) that Meta uses on its production +kernels. It optimizes the kernel binary by rearranging it to improve its +code locality for +better performance. A <a href="https://lwn.net/Articles/995397/">subsequent article</a> will cover the second talk, which +looked at <a +href="https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45290.pdf">automatic +feedback-directed optimization</a> (AutoFDO) and other related techniques +that are used to optimize Google's kernels. + + Fri, 25 Oct 2024 19:39:48 +0000 + + + realloc() and the oversize importance of zero-size objects + https://lwn.net/Articles/995196/ + https://lwn.net/Articles/995196/ + corbet + Small objects can lead to large email threads. In this +case, the GNU C Library (glibc) community has been having an extensive +debate over the handling of zero-byte allocations. Specifically, what +should happen when a program calls <a +href="https://man7.org/linux/man-pages/man3/malloc.3.html"><tt>realloc()</tt></a> +specifying a size of zero? This is, it seems, a topic about which some +people, at least, have strong feelings. + + Thu, 24 Oct 2024 15:36:41 +0000 + + + LWN.net Weekly Edition for October 24, 2024 + https://lwn.net/Articles/994575/ + https://lwn.net/Articles/994575/ + corbet + The LWN.net Weekly Edition for October 24, 2024 is available. + + Thu, 24 Oct 2024 00:42:13 +0000 + + + Toward safe transmutation in Rust + https://lwn.net/Articles/994334/ + https://lwn.net/Articles/994334/ + daroc + <p> +Currently in Rust, there is no efficient and safe way to turn an array of bytes +into a structure that corresponds to the array. Changing that was the topic of +Jack Wrenn's talk this year at +<a href="https://rustconf.com"> +RustConf</a>: +<a href="https://jack.wrenn.fyi/blog/safety-goggles-for-alchemists/"> +"Safety Goggles for Alchemists"</a>. The goal is to be able to "transmute" — +Rust's name for this kind of conversion — values into arbitrary user-defined +types in a safer way. Wrenn justified the approach that the project has taken to +accomplish this, and spoke about the future work required to stabilize it. +</p> + + Wed, 23 Oct 2024 17:40:38 +0000 + + + Free-software foundations face fundraising problems + https://lwn.net/Articles/993665/ + https://lwn.net/Articles/993665/ + jzb + <p>In July, at the GNOME <a +href="https://lwn.net/Articles/983203/">annual general meeting</a> (AGM), +held at <a +href="https://foundation.gnome.org/2023/12/20/guadec-2024-in-denver-colorado/">GUADEC +2024</a>, +the message from the GNOME Foundation board was that all was well, +financially speaking. Not <em>great</em>, but the foundation was on a +break-even budget and expected to go into its next fiscal year with a +similar budget and headcount. On October&nbsp;7, however, the board <a +href="https://foundation.gnome.org/2024/10/07/update-from-the-board-2024-10/">announced</a> +that it had had to make some cuts, including reducing its staff by +two people. This is not, however, strictly a GNOME problem: similar +organizations, such as the Python Software Foundation (PSF), KDE&nbsp;e.V., +and the Free Software Foundation Europe (FSFE) are seeing declines in +fundraising while also being affected by inflation.</p> + + Wed, 23 Oct 2024 14:52:28 +0000 + + + \ No newline at end of file