diff --git a/.gitea/workflows/pipelines.yaml b/.gitea/workflows/pipelines.yaml new file mode 100644 index 0000000..02f8686 --- /dev/null +++ b/.gitea/workflows/pipelines.yaml @@ -0,0 +1,25 @@ +name: Build LaTex Document +run-name: ${{ gitea-actor }} is building LaTeX documents +on: + push: + branches: + - 'main' + +jobs: + Build: + runs-on: latex-project-amd64 + steps: + - name: Checking out the repository + uses: actions/checkout@v6 + - name: Building the PDF document + run: | + waf distclean + waf configure + waf build + - name: Release + uses: akkuman/gitea-release-action@v1 + with: + files: |- + build/*.pdf + name: Release ${{ gitea.run_id }}.${{ gitea.run_attempt }} + tag_name: Release_${{ gitea.run_id }}.${{ gitea.run_attempt }} diff --git a/LinuxInformationstag.tex b/LinuxInformationstag.tex new file mode 100644 index 0000000..7c7abc0 --- /dev/null +++ b/LinuxInformationstag.tex @@ -0,0 +1,86 @@ +% Title: Linux - Mehr als nur ein Betriebssystem +% Author: Alexander Noack +% Created On: Mon 20 Apr 2026 +% Summary: Presentation for the talk +% Language: de-DE + +%% preamble + +\documentclass{beamer} + +% use special colour tables for pdf output +\ifpdf +\usepackage{pdfcolmk} +\fi + +% change the theme into something more fancy +\usetheme{Warsaw} + +% all our source code is utf-8 +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +% allow the import of images +\usepackage{graphicx} +\usepackage{caption} +\captionsetup{justification=Centering} + +% set the language to German +\usepackage[ngerman]{babel} + +% we may need some code examples +\usepackage{verbatim} +\usepackage{listings} + +% alllow quotes in the text +\usepackage[autostyle=true]{csquotes} + +% enable strike through text +\usepackage[normalem]{ulem} + +% we need to use advanced tables +\usepackage{multirow} +\usepackage{booktabs} + +% place a logo +\logo{\includegraphics[scale=0.2]{images/ccchb.png}} + +% we want urls to be clickable +\usepackage{hyperref} + +% redefine the caption source for figures to "Quelle" +\addto\captionsngerman{\renewcommand{\figurename}{Quelle}} + +% create header info +\title{Linux - Mehr als ein Betriebssystem} +\subtitle{Wie eine Software aus Versehen die Welt verändert hat} +\author{Alexander Noack \\ \texttt{jali@orca-central.de}} +\institute{Chaos Computer Club Bremen \- CCCHB e.V.} + +% document starts here +\begin{document} +\begin{frame} + \titlepage +\end{frame} + +% import the slides here +\input{slides/01.Introduction} +\input{slides/02.JustForFun} + +% epilogue +\begin{frame} + \frametitle{Fragen?} + \begin{center} + Fragen? \par + Alexander Noack \texttt{} + \end{center} +\end{frame} + +\begin{frame} + \frametitle{Fragen?} + \begin{center} + \includegraphics[scale=1.0]{images/ccchb.png} + \end{center} +\end{frame} + +\end{document} diff --git a/README.md b/README.md index e69de29..9a67d60 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,42 @@ +# Linux - Mehr als ein Betriebssystem + +## Einleitung + +Im Rahmen der Kooperation mit der Stadtbibliothek Bremen, soll es einen +Informationsabend zum Thema Linux geben. Geplant ist eine kurze Einführung in +das Betriebssystem. Dabei geht es vor allem um zwei Dinge: Die Philosophie von +freier und Open-Source Software zu erklären, und den Interessierten die Angst zu +nehmen, ein Linux-Betriebssystem mal auszuprobieren. + +## Struktur + +### 1. Begrüßung + +Enthält eine kurze Einführung, wer wir sind, wer der CCC ist, und was DuT/Di.Day +ist + +### 2. Just for fun + +Ein kurzer Abriss über die Geschichte der Free and Open Source Bewegung (FOSS) +von ITS bis zu Linux. + +### 3. Die Philosophie von FOSS: Vom Konsumenten zum Agenten + +Eine Einführung in die grundlegenden Freiheiten von FOSS, und warum freie +Software zu benutzen ein Akt der Selbstermächtigung ist. Auch wenn man nicht +programmieren kann. + +### 4. Was ist eigentlich ein Betriebssystem? + +Eine kurze Einführung, was ein Betriebssystem in einem Computer tut, und warum +es so wichtig ist. + +### 5. Linux basierte Betriebssysteme: Was ist anders als bei Windows/MacOS, was ist ähnlich? + +Eine Übersicht über die wichtigsten Unterschiede zwischen Windows und Linux aus +Anwendersicht. Eine Einführung über die verschiedenen großen Distributionen. + +### 6. Kurze Demo + +Eine kurze Demo (vielleicht schon anfangen, wenn Teil 5 läuft?), um zu zeigen, +wie leicht es ist Ubuntu zu installieren. diff --git a/codebook.toml b/codebook.toml new file mode 100644 index 0000000..f724904 --- /dev/null +++ b/codebook.toml @@ -0,0 +1,11 @@ +words = [ + "ari", + "ccchb", + "lemmke", + "minix", + "ngerman", + "noack", + "stallman", + "tanenbaum", + "unlizensierte", +] diff --git a/images/Heckert_GNU_white.svg.png b/images/Heckert_GNU_white.svg.png new file mode 100644 index 0000000..8648ac1 Binary files /dev/null and b/images/Heckert_GNU_white.svg.png differ diff --git a/images/PDP-10-wikipedia.jpeg b/images/PDP-10-wikipedia.jpeg new file mode 100644 index 0000000..bb266ab Binary files /dev/null and b/images/PDP-10-wikipedia.jpeg differ diff --git a/images/Torvalds.jpeg b/images/Torvalds.jpeg new file mode 100644 index 0000000..6521de4 Binary files /dev/null and b/images/Torvalds.jpeg differ diff --git a/images/Tux.png b/images/Tux.png new file mode 100644 index 0000000..bdc5b1d Binary files /dev/null and b/images/Tux.png differ diff --git a/images/ccchb.png b/images/ccchb.png new file mode 100644 index 0000000..092eeac Binary files /dev/null and b/images/ccchb.png differ diff --git a/notes.md b/notes.md new file mode 100644 index 0000000..c38c2e6 --- /dev/null +++ b/notes.md @@ -0,0 +1,136 @@ +# Notizen + +## 01. Introduction + +- Kurze Vorstellung, wer ich bin. +- Erklärung Chaos Computer Club +- Was ist der DuT? +- Überleitung: Worum geht es heute? + - Inhaltsverzeichnis einmal durchgehen. + +## 02. Just for fun + +### PDP-10 slide + +Die Geschichte von Linux ist eng verwoben mit der Geschichte der Freien Software +Bewegung, die in den 1980er Jahren ihren Anfang in den USA nahm. Die Geschichte +beginnt, bereits Ende der 1960er Jahre, wie sehr viel in der Entwicklung der +modernen Computergeschichte, im legendären Artificial Intelligence Laboratory am +Massachusets Institute of Technology (MIT). Neben grundlegender Forschung zu +künstlicher Intelligenz und neuronalen Netzen, wurde dort auch Forschung an +Betriebssystemen durchgeführt. In den frühen 1970er Jahren hat dort die +Hacker-Kultur ihren Anfang genommen, als Studenten das *Incompatible Time +Sharing System* entwickelt haben. Einer der Entwickler dort war *Richard +Stallman*. Stallman war schon aus seiner Zeit in Havard, in der Hacker-Kultur +verwurzelt, und schuf in dieser Zeit wichtige Werkzeuge, wie den EMACS +Text-Editor und das LISP-Machine Operating System. Stallman war schon früh ein +ausgesprochener Kritiker der restriktiven Zugangspolitik in den - teilweise von +der DARPA, der Forschungsabteilung des US-Militärs bezahlten Laboratorien. Beim +ITS hatte noch jedermann freien Zugang zu den Ressourcen des Computersystems. +Das änderte sich jedoch in den folgenden Jahren. Stallman reagierte darauf, +indem er einen Weg fand, die verschlüsselten Passworte auf dem System zu +entschlüsseln. Er verschickte die entschlüsselten Passworte an die jeweiligen +Benutzer, verbunden mit der Bitte, die Passwörter in eine leere Zeichenkette zu +ändern. Etwa 20% der Nutzer folgten seinem Aufruf. Ein Sieg mit dem Stallman +noch Jahre später gern angab. + +### GNU + +In späten 1970er und frühen 1980er Jahren begann die Hacker-Kultur in den USA zu +fragmentieren, und viele Firmen wollten nicht, dass ihr Code in die Hände +möglicher Konkurrenten geriet. Zu den heftigsten Verfechtern zählte Bill Gates, +der CEO der damals noch jungen Firma *Microsoft*, die sich mit der Entwicklung +eines leistungsfähigen BASIC-Interpreters einen Namen gemacht hatte. Gates war +schon in den 1970er Jahren damit aufgefallen, dass er die damals verbreitete +Praxis, Quellcode frei zu teilen, scharf verurteilte. + +Als 1979 Brian Reid sog. "Time Bombs" im Code seines Textverarbeitungsprogramms +*Scribe* einbaute, um eine unlizensierte Weitergabe des Quellcodes zu +unterbinden, bezeichnete Stallman dies als ein *Verbrechen gegen die +Menschheit*. In einem Interview im Jahr 2008 stellte er klar, dass er das +Verbrechen nicht darin sehe, Geld für eine Software zu verlangen, sondern darin, +das Wissen, dass mit dem Code verbunden ist, als eine Art *Herrschaftswissen* +unter Verschluss zu halten. Er entwickelte darauf hin die Software *texinfo*, +die lose auf Scribe basiert. + +Im Jahr 1980 wurden Stallman und einigen anderer der Hacker am MIT der Zugriff +auf den Quellcode des neu installierten Laser-Druckers verweigert. Bei früheren +Druckern hatte Stallman die Systemsoftware so erweitert, dass Benutzer eine +Nachricht erhielten, wenn ihr Druckauftrag beendet war, und so wussten, wann sie +zum Drucker gehen mussten, um ihren Ausdruck abzuholen. Die Änderungen +benachrichtigten darüber hinaus, alle Nutzer die einen laufenden Druckauftrag +hatten, wenn im Drucker ein Papierstau auftrat. Diese Erweiterungen wurden von +den Nutzern sehr geschätzt, weil der Drucker sich in einem anderen Gebäudeteil +befand, als die Büros, und diese Funktion viele Laufwege ersparte. Die +Änderungen an dem neuen Drucker nicht mehr durchführen zu können, überzeugte +Stallman, dass es einen Bedarf an Software gab, die jeder frei nutzen und +Verändern kann. + +Richard Greenblatt, ein befreudeter Hacker am MIT, gründete derweil die Firma +*Lisp Machines Inc.*, um due LISP-basierten Computer bauen zu können, die er +zusammen mit Tom Knight im MIT-Lab designed hatte. Greenblatt wollte kein Geld +von aussen annehmen, um möglichst unabhängig zu bleiben. Das führte zu +Spannungen mit einigen Kommilitonen, die lieber Investoren-Geld annehmen +wollten, um die Firma schnell wachsen zu lassen. Daher kam es zum Zerwürfnis, +und die Mitglieder des *Invertorenlagers* gründeten die Firma *Symbolics*. +Allerdings machten die Investoren die Geheimhaltung des Quellcodes zu einer +Bedingung. + +Stallman verbrachte die Jahre 1982 und 1983 damit eine zu Symbolics kompatible +Software zu erstellen, um zu verhindern das diese ein Monopol über die Software +auf den Computern im MIT bekam. Im Februar 1984 kündigte Stallman schließlich +seine Stelle am MIT und startete das GNU Projekt. + +GNU steht ist ein rekursives Akronym und steht für *GNU is not UNIX*. Die Idee +war es, ein eigenes Betriebssystem zu bauen, dass vollständig auf freier +Software basiert, und dass allen zur Verfügung steht. Inklusive des Quellcodes, +sodass jedermann die Software nicht nur nutzen, sondern auch eigenen +Bedürfnissen anpassen kann. Dafür gründete er die gemeinnützige *Free Software +Foundation*, die sich den Zielen der Open-Source-Bewegung verschrieben hat. + +Stallman war bei der Entwicklung verantwortlich für die Toolchain, vor allem den +GNU EMACS Texteditor, den Compiler (GCC), den GNU Debugger und ein +automatisiertes Build-System zum kompilieren der Software namens GNU Make. Ende +der 1980 Jahre hatte die FSF alle Werkzeuge zusammen, die man braucht, um ein +UNIX-artiges Betriebssystem zu erschaffen. Mit einer wichtigen Ausnahme: dem +Kernel. + +### Torvalds + +Ein Kernel ist sozusagen das Herzstück eines Betriebssystems. Es ist der Teil, +der die Kommunikation der Programme die auf einem Computer laufen mit der +physischen Hardware koordiniert, den Speicher verwaltet und Zugriff auf die +Massenspeicher wie Festplatten ermöglicht. + +Hier erschien nun ein junger finnischer Informatik-Student auf der Bühne: Linus +Torvalds. Torvalds hatte sich gerade seinen ersten 80386 basierten PC gekauft, +und war enttäuscht, dass die damals noch üblichen PC-Betriebssysteme, vor allem +MS-DOS, die Fähigkeiten dieser Hardware nicht ansatzweise ausnutzten. + +Torvalds schrieb also seinen eigenen Kernel, der seinen neuen PC besser nutzen +konnte. Er orientierte sich dabei an *Minix* einem UNIX-ähnlichen +Betriebssystem, das von dem legendären Computer-Forscher Andrew S. Tanenbaum für +Lehrzwecke geschrieben worden war. + +### GNU/Linux + +Am 25. August 1991 veröffentlichte Torvalds seine Arbeit im der Usenet-Gruppe +*comp.os.minix*. + +Ursprünglich wollte er sein Projekt *FreaX* nennen, als Kofferwort aus *Freak* +und *Unix*. Ari Lemmke, der damals Administrator der FTP Server and er +Universität in Helsinki war, fand den Namen nicht gut, und schlug stattdessen +*Linux* vor, als Kurzform von *Linus' Unix*. Torvalds gefiel das zunächst nicht, +weil es ihm zu egoistisch vorkam, beugte sich aber den Stimmen der Community, +die Lemmke's Vorschlag allesamt besser fanden. + +Obwohl er, anders als Stallman, nicht politisch motiviert war, wollte Torvalds +seine Arbeit gerne mit so vielen Menschen wie möglich teilen. Darum wählte er +die GNU General Public Licence als Lizenzmodell aus. Dies gab dem GNU Projekt +das letzte fehlende Puzzle-Teil in die Hand: GNU/Linux war geboren. + +Über den Namen dieses Betriebssystems gibt es bis heute übrigens Kontroversen. +Die Free Software Foundation besteht darauf, dass vollständige System GNU/Linux +zu nennen, was technisch richtiger ist (zumal es inzwischen auch Systeme wir +GNU/Mach und GNU/Hurd gibt). In der Öffentlichkeit hat sich die Kurzform *Linux* +weitestgehend durchgesetzt. diff --git a/slides/01.Introduction.tex b/slides/01.Introduction.tex new file mode 100644 index 0000000..b43d04a --- /dev/null +++ b/slides/01.Introduction.tex @@ -0,0 +1,19 @@ +% Title: Linux - Mehr als nur ein Betriebssystem +% Author: Alexander Noack +% Created On: Mon 20 Apr 2026 +% Summary: Presentation for the talk +% Language: de-DE + +\section{Überblick} +\begin{frame} + \frametitle{Überblick} + \begin{figure} + \centering + \includegraphics[scale=0.2]{images/Tux.png} + \caption{\tiny{lewing@isc.tamu.edu Larry Ewing and The GIMP, Attribution,\\ https://commons.wikimedia.org/w/index.php?curid=80930}} + \end{figure} +\end{frame} + +\begin{frame} + \tableofcontents +\end{frame} diff --git a/slides/02.JustForFun.tex b/slides/02.JustForFun.tex new file mode 100644 index 0000000..46eff84 --- /dev/null +++ b/slides/02.JustForFun.tex @@ -0,0 +1,60 @@ +% Title: Linux - Mehr als nur ein Betriebssystem +% Author: Alexander Noack +% Created On: Mon 20 Apr 2026 +% Summary: Presentation for the talk +% Language: de-DE + +\section{Just For Fun} + +\begin{frame} + \frametitle{Die Open-Source-Bewegung} + \begin{figure} + \centering + \includegraphics[scale=0.1]{images/PDP-10-wikipedia.jpeg}\\ + PDP-10 Mainframe Computer + \caption{\tiny{gah4, CC-BY-SA 4.0}} + \end{figure} +\end{frame} + +\begin{frame} + \frametitle{GNU} + \begin{figure} + \centering + \includegraphics[scale=0.1]{images/Heckert_GNU_white.svg.png} + \caption{\tiny{By Aurelio A. Heckert - gnu.org, CC BY-SA 2.0, \\ https://en.wikipedia.org/w/index.php?curid=33285325}} + \end{figure} +\end{frame} + +\begin{frame} + \frametitle{GNU/Linux} + \begin{figure} + \centering + \includegraphics[scale=0.2]{images/Torvalds.jpeg} + \caption{\tiny{Torvalds at LC, Beijing. China, 2018; CC-BY 3.0}} + \end{figure} +\end{frame} + +\begin{frame} + \frametitle{GNU/Linux} + \tiny{ + Hello everybody out there using minix - + + I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for + 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any + feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical + layout of the file-system (due to practical reasons) among other things). + + I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get + something practical within a few months, and I'd like to know what features most people would want. + Any suggestions are welcome, but I won't promise I'll implement them :-) + + \medskip + + Linus (torvalds@kruuna.helsinki.fi) + + \medskip + + PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 + task switching etc), and it probably never will support anything other than AT-harddisks, as that's + all I have :-(.} +\end{frame} diff --git a/wscript b/wscript new file mode 100644 index 0000000..088f388 --- /dev/null +++ b/wscript @@ -0,0 +1,202 @@ +#!/usr/bin/env python +# encoding: utf-8 +# Created On: Tue 28 Aug 2012 11:44:05 CEST +# Last Modified: Tue 21 Mar 2017 08:40:17 pm CET +# MAKEFILE for compiling LaTeX Files + +VERSION='1.0.0' +APPNAME='MAKEFILE FOR LaTeX' + +top='.' +out='build' +chapterpath='./chapters' + +# query the options that are possible outputs +def options(ctx): + ctx.add_option('--form',action='store',default='pdflatex',help='Specify the output format. Allowed values are: pdflatex, latex, htlatex, oolatex, epub, handlatex') + ctx.add_option('--cover',action='store',help='Specify an image as cover for ePubs.\nOnly works with --form=epub') + ctx.add_option('--infile',action='store',help='Specify the tex file to use as input file.\nIf not given, all files in the top level directory will be compiled.') + ctx.add_option('--spellckpath',action='store',help='Specify the path in which to look for the content files for spellcheck.\nDefault is ./chapters',default=chapterpath); + +# configure script +def configure(ctx): + # local functions to configure the selected element + def find_tex_files(path): + import os + ret = [] + for name in os.listdir(path): + if os.path.isfile(os.path.join(path,name)): + if (name.endswith('.tex')) or (name.endswith('.ltx')): + ret.append(name) + return ret + + def conf_tex(ctx): + ctx.load('tex') + + def conf_htlatex(ctx): + ctx.find_program('mk4ht',var='TEX') + ctx.env.TEXINPUT = ctx.path.abspath() + '//' + + def conf_epub(ctx): + ctx.find_program('mk4ht',var='TEX') + ctx.find_program('ebook-convert',var='EPUB') + ctx.env.TEXINPUT = ctx.path.abspath() + '//' + + def conf_handlatex(ctx): + ctx.find_program('handlatex',var='TEX') + ctx.env.TEXINPUT = ctx.path.abspath() + '//' + + # define a structure to assign the functions to the parameters + conf_output = {'pdflatex' : conf_tex, + 'latex' : conf_tex, + 'htlatex' : conf_htlatex, + 'oolatex' : conf_htlatex, + 'epub' : conf_epub, + 'handlatex' : conf_handlatex + + } + + # set the selected mode + if ctx.options.form: + ctx.env.FORM = ctx.options.form + conf_output[ctx.env.FORM](ctx) + else: + ctx.fatal('Output format is not set!') + + # set a cover image + if ctx.options.cover: + ctx.env.COVER = ctx.options.cover + else: + ctx.env.COVER = '' + + # find the aspell program + ctx.find_program('aspell',var='ASPELL') + + # set a default path to look for spellck sources + if ctx.options.spellckpath: + ctx.env.SPELLCK = ctx.options.spellckpath + + # Set a list of all files to use + if ctx.options.infile: + sf = [] + sf.append(ctx.options.infile) + ctx.env.SOURCEFILES = sf + else: + ctx.env.SOURCEFILES = find_tex_files(top) + + +def build(ctx): + # metadata parameters + def build_metadata(fileName,cover): + ret = '--level1-toc \'//*[@class="title"]\' ' + with open(fileName,'r') as in_file: + count = 0 + for line in in_file: + if '% Author' in line: + ret += ' --authors "' + line.split(':')[1].rstrip().lstrip() +'"' + count += 1 + elif '% Title' in line: + ret += ' --title "' + line.split(':')[1].rstrip().lstrip() + '"' + count += 1 + elif count > 1: + break + in_file.close() + + if cover: + ret += ' --cover "' + cover + '"' + + return ret + + # local functions to control the build process + def build_tex(ctx): + import os + for f in ctx.env.SOURCEFILES: + ctx(features = 'tex', + type = ctx.env.FORM, + source = f, + prompt = 0 + ) + if ctx.cmd == 'install': + outExt = '.dvi' + if ctx.env.FORM == 'pdflatex': + outExt = '.pdf' + fileName, fileExt = os.path.splitext(f) + ctx.install_files('${PREFIX}',fileName + outExt) + + def build_htlatex(ctx): + import os + for f in ctx.env.SOURCEFILES: + fileName, fileExt = os.path.splitext(f) + ctx(rule='TEXINPUTS=${TEXINPUT}: ${TEX} ${FORM} ${SRC} >/dev/null',source=f, target=fileName + '.html') + if ctx.cmd == 'install': + fileName, fileExt = os.path.splitext(f) + ctx.install_files('${PREFIX}',fileName + '.html') + + def build_epub(ctx): + import os + for f in ctx.env.SOURCEFILES: + print(ctx.path.find_resource(ctx.env.COVER)) + if ctx.env.COVER : + ctx.env.META = build_metadata(f,ctx.path.find_resource(ctx.env.COVER).abspath()) + else: + ctx.env.META = build_metadata(f,'') + fileName, fileExt = os.path.splitext(f) + ctx(rule='TEXINPUTS=${TEXINPUT}: ${TEX} htlatex ${SRC} >/dev/null',source=f, target=fileName + '.html') + ctx(rule='${EPUB} ${SRC} ${TGT} ${META}',source=fileName + '.html', target=fileName + '.epub') + if ctx.cmd == 'install': + ctx.install_files('${PREFIX}',fileName + '.epub') + + def build_handlatex(ctx): + import os + for f in ctx.env.SOURCEFILES: + ctx(rule='TEXINPUTS=${TEXINPUT}: ${TEX} ${SRC} >/dev/null && rm -f ../*.h*',source=f) + if ctx.cmd == 'install': + fileName, fileExt = os.path.splitext(f) + ctx.install_files('${PREFIX}',fileName + outExt) + + + # define a structure to assign the functions to the parameters + build_output = {'pdflatex' : build_tex, + 'latex' : build_tex, + 'htlatex' : build_htlatex, + 'oolatex' : build_htlatex, + 'epub' : build_epub, + 'handlatex' : build_handlatex + } + + # call the configured build method + build_output[ctx.env.FORM](ctx) + + +# Custom command to spellcheck all +def spellck(ctx): + + # Search for all possible TEX files + def find_tex_files(path): + import os + ret = [] + for root, dirs, files in os.walk(path): + for name in files: + if (name.endswith('.tex')) or (name.endswith('.ltx')): + ret.append(os.path.join(root,name)) + return ret + + # Set a list of input files to use + if ctx.options.infile: + sf = [] + sf.append(ctx.options.infile) + ctx.env.SOURCEFILES = sf + else : + ctx.env.SOURCEFILES = find_tex_files(ctx.env.SPELLCK) + + # run aspell + from os import system + for f in ctx.env.SOURCEFILES : + system(ctx.env.ASPELL + ' -c ' + f) + system('rm ' + f + '.' +'bak') + +# Class declarartion to bind the build context to the spellck command +from waflib.Build import BuildContext +class spck(BuildContext): + cmd='spellck' + fun='spellck'