Release: extensive makeover of Build and Debian documentation
On the Website, there is a set of interconnected pages related to compiling from source, the Debian package and our DEB depot. Although these pages have always been superficially kept up-to-date, the overall presentation feels dated and generally not well organized. During the last weeks, I have almost entirely rewritten all those pages, added information about the (now reworked) DEB package, explained the alternate ways to build from a Debian source package (notably the `mk-build-deps` for handling the build dependencies, which effectively the only method which always worked during the last years, since our DEB package was totally outdated) Furthermore, I have tested most of the build steps with the current source trees, repositories and package definition, and finally I have also updated and polished the front-page of our DEB-Depot (-> see commit on the depot-Branch) Wheew ... quite some work done!
This commit is contained in:
parent
eb4c49e1b2
commit
797174ef19
5 changed files with 1051 additions and 296 deletions
|
|
@ -1,107 +1,151 @@
|
|||
The Lumiera Debian Package
|
||||
==========================
|
||||
:Author: Hermann Voßeler deb@ichthyostega.de
|
||||
:Date: 11/2011
|
||||
:Date: 11/2011 · 11/2025
|
||||
|
||||
//Menu: label Debian Package
|
||||
|
||||
Since several of the Lumiera core developers run a Debian flavour as their primary development platform,
|
||||
it seems natural to care for the debian packaging of Lumiera ourselves. Moreover, we've declared
|
||||
Debian/Stable to be our *reference platform* -- we'll provide any additionally required, more recent
|
||||
packages through our own link:http://Lumiera.org/debian[Debian Apt-Repository] (Debian depot).
|
||||
it seems obvious also to care for the Debian packaging of Lumiera. Furthermore, we have declared
|
||||
Debian/Stable to be our *reference platform* -- and we will provide any required additional
|
||||
packages through our own link:/debian[Debian DEB depot] (for the Apt package manager).
|
||||
|
||||
TIP: readers new to Debian packages may want to have a look into our
|
||||
link:{ldoc}/user/tutorials/DebianBuilding.html[Debian build tutorial],
|
||||
link:{ldoc}/user/tutorials/DebianBuilding.html[Debian Build Tutorial],
|
||||
where we describe the commands for building and explain the structure
|
||||
of a Debian (source) package in general
|
||||
|
||||
|
||||
Package build process
|
||||
---------------------
|
||||
As our whole infrastructure relies heavily on the Git version management tool, it's only natural
|
||||
also to organise the (debian) packaging with the help of Git. Fortunately, there is a nifty tool
|
||||
As our whole infrastructure relies heavily on the Git version management tool, it seems natural
|
||||
to organise also the (Debian) packaging with the help of Git. Fortunately, there is a nifty tool
|
||||
called link:https://honk.sigxcpu.org/piki/projects/git-buildpackage/[git-buildpackage], written
|
||||
by Guido Günther exactly for this purpose: It treats the _debianisation_ as a branch in the
|
||||
Git repository, forking off the mainline at the release point.
|
||||
~ -> see also https://wiki.debian.org/PackagingWithGit[Debian packaging with Git (Debian Wiki)]~
|
||||
|
||||
For Lumiera, this _debianisation branch_ is called 'deb' and can be found in the
|
||||
link:http://git.lumiera.org/gitweb?p=debian/lumiera;a=summary[git:/git.lumiera.org/debian/lumiera] repository.
|
||||
For Lumiera, this _debianisation branch_ is called 'deb' and can be found in the Repository
|
||||
https://git.lumiera.org/gitweb?p=debian/lumiera;a=summary[git://git.lumiera.org/debian/lumiera].
|
||||
|
||||
Installing Lumiera
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
The link:SCons.html[SCons build] generates a relocatable distribution directory structure,
|
||||
holding the main executable, additional tools and utilities, plus the core libraries and resources.
|
||||
The link:SCons.html[SCons build] generates a distribution directory structure, which is relocatable,
|
||||
comprising the main executable, additional tools and utilities, plus the core libraries and resources.
|
||||
Here _relocatable_ means that this subtree can be moved and placed anywhere on the system.
|
||||
As long as the relative directory layout remains intact, the executables will be able to find
|
||||
and load the accompanying libraries and resources. By invoking the `scons install` target,
|
||||
this directory structure is placed into the installation target directory.
|
||||
and load the accompanying libraries and resources. By invoking the `install` target, this
|
||||
directory structure is placed into the target installation directory, with an layout
|
||||
conforming to the Filesystem Hierarchy Standard.
|
||||
|
||||
Actually, this lookup process at application startup is performed in two phases
|
||||
|
||||
- in the first phase the main application locates the explicitly linked shared libraries.
|
||||
footnote:[generally speaking, we have to distinguish between dynamic libraries explicitly
|
||||
linked as part of the application, libraries linked as direct library dependencies, other
|
||||
transitive library dependencies, and finally shared objects, which are loaded at runtime
|
||||
through the `dlopen()` call.]
|
||||
Especially those libraries belonging first class to the Lumiera application are built
|
||||
with a relative search path ('rpath' with `$ORIGIN` token). These libraries are placed
|
||||
into the +modules/+ subfolder
|
||||
- in the first phase the main application locates the explicitly linked shared libraries.footnote:[
|
||||
Generally speaking, we have to distinguish between dynamic libraries explicitly
|
||||
linked as part of the application, libraries marked and linked as direct library dependencies,
|
||||
other transitive library dependencies, and finally shared objects, which are loaded at runtime
|
||||
as »plug-in« through the `dlopen()` call.
|
||||
]
|
||||
Some parts of the Lumiera code are built as shared library, but are non the less considered
|
||||
a mandatory part of the application. Especially those libraries are built with a relative
|
||||
search path ('rpath' with `$ORIGIN` token), and will be placed into the 'modules/' subfolder
|
||||
This implies that the dynamic linker will look for this subfolder in the same directory as
|
||||
the `lumiera` executable and will fail to launch the application unless all those further
|
||||
mandatory application components can be located.
|
||||
|
||||
- after successfully launching the executable, the second phase performs a lookup programmatically,
|
||||
starting from the path location of the executable. The goal is to find a +setup.ini+ which defines
|
||||
additional plug-ins and resources to load. Notably, the GUI to launch is loaded as a
|
||||
plug-in through this mechanism. Moreover, this *bootstrap configuration* defines the
|
||||
- after successfully launching the executable, the second start-up phase performs a programmatic
|
||||
lookup, starting again from the path location of the executable. The goal is to find a file 'setup.ini'
|
||||
which defines additional plug-ins and resources to load. Notably, the GUI to launch is loaded as
|
||||
a plug-in through this mechanism. Moreover, this *bootstrap configuration* defines the
|
||||
additional platform and user configuration to load for further outfitting of the system.
|
||||
|
||||
LSB Installation Layout
|
||||
|
||||
FHS Installation Layout
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
This organisation is used as foundation for packaging and installing. The primary application
|
||||
distribution structure will be located into a subfolder below +/usr/lib/+. Only the main application
|
||||
executable will be symlinked into +/usr/bin/+. The LSB explicitly allows for such a layout, which is
|
||||
typically used by large application bundles (OpenOffice, Gimp, Eclipse). Since the application
|
||||
startup encompasses two phases, loading the extended configuration programmatically after
|
||||
launching the application, extended resources from the application bundle can easily be
|
||||
relocated into a separate folder below `/usr/share/`, as required by LSB.
|
||||
So this organisation of the application executables and resources into an installation bundle in a
|
||||
subdirectory tree is used as foundation for packaging and installing. The primary application
|
||||
distribution structure with all the executable code will be placed into a sub-tree below
|
||||
'/usr/lib/lumiera'. Only the main application executable `lumiera` will then be symlinked into '/usr/bin/'.
|
||||
This pattern is in accordance with the
|
||||
https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard[Filesystem Hierarchy Standard (FHS)],
|
||||
and it is typically used by large application bundles (e.g. Libreoffice, Firefox-esr).
|
||||
Since the application startup of Lumiera encompasses two phases, where loading the extended configuration
|
||||
happens programmatically after launching the main application, all extended (platform-independent)
|
||||
resources from the application bundle can easily be relocated into a separate folder
|
||||
below `/usr/share/lumiera`, as required by FHS.
|
||||
|
||||
How the Lumiera Debian package works
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Since we maintain both the Debian package and our build system, we can always try to do
|
||||
_the heavy lifting_ in our link:{ldoc}/technical/build/SCons.html[SCons build system],
|
||||
as this helps to keep the Debian packaging as simple as possible. Please have a look at the
|
||||
-> https://git.lumiera.org/?p=debian/lumiera;a=blob;hb=refs/heads/deb;f=debian/control[control file]
|
||||
· https://git.lumiera.org/?p=debian/lumiera;a=blob;hb=refs/heads/deb;f=debian/rules[debian/rules]
|
||||
|
||||
- we rely on the _Debhelper Sequencer_ "`dh_*`" in our 'debian/rules' +
|
||||
-> https://manpages.debian.org/trixie/debhelper/dh.1.en.html[Manpage]
|
||||
· https://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules[Debian-Policy §4.9]
|
||||
|
||||
- but we define three _override targets_ in order to invoke SCons explicitly,
|
||||
so that it is immediately clear what configuration is passed to the build.
|
||||
|
||||
- we configure SCons with `INSTALLDIR=debian/lumiera PREFIX=usr`, and thus
|
||||
the installation will happen below 'debian/lumiera', which is the location
|
||||
expected by the following DEB building steps
|
||||
|
||||
|
||||
|
||||
Releases, Branches and Conventions
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Official releases are marked by a tag on the master branch. At that point, master should be
|
||||
in good shape, release documentation is polished; experimental features are removed or disabled.
|
||||
Usually, we'll also fork a *release branch* at that point, featuring bugfixes only.
|
||||
From here we'll merge to the **debian branch**footnote:[the 'release' branch will be merged back at
|
||||
times, while the 'debian' branch won't. This 'debian' branch is published through a separate
|
||||
link:git://git.lumiera.org/debian/lumiera[debian/lumiera git repository] and not merged back,
|
||||
since all tweaks here are strictly for debian packaging. There might be other packaging related
|
||||
repositories in the future. Yet still, the 'debian' branch is based on the same common tree
|
||||
and can in therory kept in the same git repository. Contrast this to the branch 'depot', which
|
||||
is also published through our 'debian/lumiera' git repository. This latter branch corresponds
|
||||
to a completely separate tree and holds the administrative part of our
|
||||
link:http://Lumiera.org/debian[Debian package depot] (Repository) on Lumiera.org.]
|
||||
Lumiera uses the link:{ldoc}/technical/code/GitBranching.html[Git-flow branching pattern]
|
||||
to organise releases and patches in the Git history. All official releases are marked by
|
||||
_a tag on the master_ branch. This tag is published in the primary Lumiera repository at
|
||||
`git://git.lumiera.org/LUMIERA` at the time of the release. Bugfixes are also merged
|
||||
into `master` and marked with a tag there.
|
||||
|
||||
Typically the release will lead to the discovery of more or less serious bugs, which are
|
||||
fixed on the release branch and backported to master. The result is a sequence of point
|
||||
releases. At the end of a stable release series, the release branch will be upgraded
|
||||
with a single merge commit to the level of the next major release.
|
||||
For the actual packaging, we use these release tags as _upstream tag_ and perform a merge
|
||||
from that tag into the **debian branch**.footnote:[
|
||||
This _debian branch_ is called `deb` by convention. As mentioned above, it is published through
|
||||
a separate https://git.lumiera.org/?p=debian/lumiera;a=summary[Git repository `git://git.lumiera.org/debian/lumiera`],
|
||||
which is kept separate, since packaging is considered a ``downstream process''.
|
||||
]
|
||||
This branch carries only the additions and tweaks done for debian packaging. Yet still, this `deb`
|
||||
branch is based on the common tree of the codebase and could in theory be kept within the same Git
|
||||
repository as the `master` branch. When the packaging process is complete, the published
|
||||
DEB version is marked with a tag `debian/<full_debian_version_spec>`
|
||||
|
||||
Note however that there is another branch in the aforementioned `debian/lumiera` repository,
|
||||
which is called https://git.lumiera.org/?p=debian/lumiera;a=shortlog;h=refs/heads/depot[depot]
|
||||
and is related to our link:/debian[DEB package depot] on Lumiera.org. This branch carries a completely
|
||||
different directory structure, since it is used with the
|
||||
https://wiki.debian.org/DebianRepository/SetupWithReprepro[»reprepro« tool from Debian]
|
||||
to manage the contents of that depot.
|
||||
|
||||
|
||||
Package build commands
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
To (re)build the debian package
|
||||
|
||||
. +git clone git:/git.lumiera.org/lumiera/debian+
|
||||
. +mkdir pack.deb+
|
||||
. +cd debian+
|
||||
. +git-buildpackage --git-upstream-branch=+ _RELEASE-TAG_
|
||||
. step into a packaging work directory
|
||||
. `git clone git://git.lumiera.org/debian/lumiera -b deb`
|
||||
. `cd lumiera`
|
||||
. `gbp buildpackage`
|
||||
|
||||
Typically you will have to install some _build dependencies_ before you can
|
||||
build the package. This can be checked by invoking `dpkg-checkbuilddeps` from
|
||||
within the package directory (here 'lumiera'). These dependencies can be
|
||||
managed automatically with the Debian tooling, by using one of the following
|
||||
two alternative solutions
|
||||
|
||||
- `apt-get build-dep lumiera` (requires Lumiera DEB depot in the apt sources)
|
||||
- invoking `mk-build-deps` from within the package directory (requires `equivs` package)
|
||||
|
||||
-- here _RELEASE-TAG_ denotes the point in the Git history, which should become
|
||||
the reference source and be packaged into the *.orig.tar.gz. Usually, it's just
|
||||
sufficient to use branch 'release' for that purpose.
|
||||
|
||||
|
||||
Debian-Depot for installation via Apt
|
||||
-------------------------------------
|
||||
In addition to the packaging, we maintain a dedicated Apt-Repository for automated
|
||||
installation and upgrades. We try to build the package for several Debian derived
|
||||
distributions (like Ubuntu). -> link:../infra/debianDepot.html[more on the repository organisation]
|
||||
distributions (like Ubuntu).
|
||||
-> link:{ldoc}/technical/infra/debianDepot.html[more on the repository organisation]
|
||||
|
||||
|
|
|
|||
|
|
@ -8,12 +8,11 @@ As work progresses, we will add more information on the Lumiera build system.
|
|||
//Menu: prepend child 'SCons'
|
||||
|
||||
|
||||
build -- continuous integration -- packaging
|
||||
Topics: build -- continuous integration -- packaging
|
||||
|
||||
* link:SCons.html[SCons Buildsystem]
|
||||
* link:BuildDependencies.html[Lumiera Build Dependencies]
|
||||
* link:BuildDroneDraft.html[»Builddrone« concept from 2008]
|
||||
* Packaging: link:LumieraDebianPackage.html[Debian] RPM
|
||||
* Packaging: link:LumieraDebianPackage.html[Debian] (⌛ RPM)
|
||||
* Lumiera link:{ldoc}/technical/infra/debianDepot.html[debian depot]
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,49 +1,57 @@
|
|||
Lumiera Debian Package and Depot maintainance
|
||||
=============================================
|
||||
Lumiera Debian Depot maintenance
|
||||
================================
|
||||
:Author: Hermann Voßeler deb@ichthyostega.de
|
||||
:Date: 3/2011
|
||||
:Date: 3/2011 · 11/2025
|
||||
|
||||
//Menu: label Debian Depot
|
||||
|
||||
|
||||
At Lumiera.org, we maintain a link:/debian[Debian DEB depot],
|
||||
that can be used as _package source_ for Apt to allow automatic installation
|
||||
of our custom packages for Lumiera.
|
||||
|
||||
This Debian-Depot is part of the Lumiera build infrastructure.
|
||||
It is managed automatically, based on the
|
||||
https://salsa.debian.org/brlink/reprepro[reprepro] tool by Bernhard Link
|
||||
-> https://manpages.debian.org/trixie/reprepro/reprepro.1.en.html[man page]
|
||||
It is managed (semi) automatically, based on the
|
||||
https://salsa.debian.org/brlink/reprepro[reprepro] tool by Bernhard Link +
|
||||
-> https://wiki.debian.org/DebianRepository/SetupWithReprepro[Debian Wiki]
|
||||
· https://manpages.debian.org/trixie/reprepro/reprepro.1.en.html[man page]
|
||||
|
||||
|
||||
The Lumiera debian package
|
||||
--------------------------
|
||||
As our whole infrastructure relies heavily on the Git version management tool, it's only natural
|
||||
also to organise the (debian) packaging with the help of Git. Fortunatlely, there is a nifty tool
|
||||
Since our whole infrastructure relies heavily on the Git version management tool, it seems natural
|
||||
to organise also the (debian) packaging with the help of Git. Fortunately, there is a nifty tool
|
||||
called link:https://honk.sigxcpu.org/piki/projects/git-buildpackage/[git-buildpackage], written
|
||||
by Guido Günther exactly for this purpuse: It treats the _debianisation_ as a branch in the
|
||||
by Guido Günther exactly for this purpose: It treats the _debianisation_ as a branch in the
|
||||
Git repository, forking off the mainline at the release point.
|
||||
|
||||
For Lumiera, this _debianisation branch_ is called 'deb' and can be found in the
|
||||
link:http://git.lumiera.org/gitweb?p=debian/lumiera;a=summary[git:/git.lumiera.org/debian/lumiera] repository.
|
||||
For Lumiera, this _debianisation branch_ is called 'deb' and can be found in the Repository
|
||||
https://git.lumiera.org/gitweb?p=debian/lumiera;a=summary[git://git.lumiera.org/debian/lumiera].
|
||||
|
||||
To (re)build the debian package
|
||||
.(re)build the debian package
|
||||
[NOTE]
|
||||
--
|
||||
. step into a packaging work directory
|
||||
. `git clone git://git.lumiera.org/debian/lumiera -b deb`
|
||||
. `cd lumiera`
|
||||
. `gbp buildpackage`
|
||||
|
||||
. +git clone git:/git.lumiera.org/debian/lumiera+
|
||||
. +mkdir pack.deb+
|
||||
. +cd debian+
|
||||
. +git-buildpackage --git-upstream-branch=+ _RELEASE-TAG_
|
||||
|
||||
-- here _RELEASE-TAG_ denotes the point in the Git history, which should become
|
||||
the reference source and be packaged into the *.orig.tar.gz. Usually, it's just
|
||||
sufficient to use 'master' for that purpose.
|
||||
-> more explanations regarding the
|
||||
link:{ldoc}/technical/build/LumieraDebianPackage.html[Lumiera Debian package]
|
||||
--
|
||||
|
||||
|
||||
Debian-Depot for installation via Apt
|
||||
-------------------------------------
|
||||
While it is easy just to build a debian package and then install it locally through
|
||||
+dpkg -i+, if we want to support automated installation and upgrades using the Apt
|
||||
package manager, we need to build up more infrastructure. The primary reason is that
|
||||
for any source package, a multitude of binary packages might be built for different
|
||||
architectures; moreover, we want to support several different distributions.
|
||||
It is rather easy to build a simplistic DEB package and then install it locally through
|
||||
`dpkg -i` -- however, if we want to support automated installation and upgrades using
|
||||
the Apt package manager, we need to build up more infrastructure. One of the reasons
|
||||
is that for any source package, a multitude of binary packages might be built and
|
||||
provided for different architectures; in addition, we also want to support several
|
||||
different distributions (Debian, Mint, Ubuntu...)
|
||||
For this purpose,the Apt package manager requires a precisely defined folder structure,
|
||||
accessible online via 'http:' or 'ftp:'. For maintaining this folder structure, there
|
||||
are three concievable levels of complexy:
|
||||
accessible online via 'https:' or 'ftp:'. For maintaining this folder structure, three
|
||||
different levels of complexity are conceivable:
|
||||
|
||||
minimal layout, manual maintainance::
|
||||
place everything in a single directory accessible online. Use only one pseudo-distribution
|
||||
|
|
@ -51,80 +59,104 @@ minimal layout, manual maintainance::
|
|||
the packages list
|
||||
|
||||
multiple distributions and components, pool directory::
|
||||
this setup is already a full-blown debian depot, just there are some limitations
|
||||
this setup is already a full-featured Debian depot, just there are some limitations
|
||||
on the flexibility: there might be only _one_ version of each package per distribution,
|
||||
and all different distributions use a shared pool (and thus require different packages
|
||||
to be labeled stringently)
|
||||
|
||||
major distribution or mirror site::
|
||||
similar to the above, this is a complete debian depot, but it is backed by a database
|
||||
similar to the above, this is a complete Debian depot, but it is backed by a database
|
||||
and allows for much more flexible configuration and is highly automated.
|
||||
|
||||
|
||||
For Lumiera, it seems the middle option is the right choice: while it still keeps the
|
||||
infrastructure simple, it allows for multiple _distributions_ (Debian/stable, Ubuntu....)
|
||||
and multiple _components_ (experimental, development, release). The mentioned 'reprepro'
|
||||
tool provides this degree of functionality: Basically, this is a fixed directory structure
|
||||
with some control files; the frontent is a commandline tool with a plethora of options
|
||||
and quite some automation- and extension hooks. Internally, it uses an embedded BerkelyDB.
|
||||
and multiple _components_ (experimental, development, release). The `reprepro` tool
|
||||
mentioned above does provide this degree of functionality: Basically it requires a fixed
|
||||
directory structure with some control files; the front-end is a commandline tool with a
|
||||
lot of options and quite some automation- and extension hooks.
|
||||
Internally, it uses an embedded lightweight database.
|
||||
|
||||
Using 'reprepro', existing source, binary or comined packages can be _added_ (imported)
|
||||
Using `reprepro`, existing source, binary or combined packages can be _added_ (imported)
|
||||
into the structure with a single command; the files comprising the package are then
|
||||
added automatically to the pool directory and all the indices, directories and GPG
|
||||
signatures are created and updated automatically. Previous versions of the same
|
||||
package are purged, when not needed by any existing package anymore
|
||||
package are purged, when not referred by any existing package anymore
|
||||
|
||||
To summarise the work procedure:
|
||||
|
||||
. somehow build the DEB package
|
||||
. import it with `reprepro` into the depot folder structure
|
||||
. share this structure over the web
|
||||
|
||||
|
||||
everyday usage
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
import a package::
|
||||
+reprepro -V -C experimental include squeeze lumiera_0.pre.03-1+jessie_i386.changes+
|
||||
`reprepro -V -C experimental include trixie lumiera_0.pre.04-1_amd64.changes`
|
||||
+
|
||||
this adds the given binary lumiera package, together with all sources and the original
|
||||
tarball to the 'squeeze' repository, into the 'experimental' section
|
||||
tarball to the `trixie' repository, and there into the `experimental' section
|
||||
|
||||
dump out an entire repository::
|
||||
+reprepro -V export squeeze+
|
||||
`reprepro -V export trixie`
|
||||
+
|
||||
this will __re__generate all of the indices, signatures and metadata of the 'squeeze' repository
|
||||
|
||||
|
||||
Configuration
|
||||
~~~~~~~~~~~~~
|
||||
The current configuration and the state of the Debian Depot index files is tracked
|
||||
is a separate branch in the
|
||||
link:http://git.lumiera.org/gitweb?p=debian/lumiera;a=shortlog;h=refs/heads/depot[debian/lumiera]
|
||||
repository. (Note: this is a somewhat unconventional setup, insofar the 'depot' branch tracks
|
||||
a directory tree completely separete from the main lumiera source tree tracked by the deb branch;
|
||||
I choose this layout because of the marginal relevance of this depot management; I just didn't
|
||||
want to create _yet another not so useful Git repository..._)
|
||||
All the current configuration and the state of the Debian depot index files is tracked
|
||||
in the aforementioned ``debian/lumiera'' Git repository, on a separate branch called
|
||||
https://git.lumiera.org/?p=debian/lumiera;a=shortlog;h=refs/heads/depot[`depot']
|
||||
|
||||
TIP: this is a slightly unconventional setup, insofar the `depot' branch carries
|
||||
a directory tree that is completely separate from the main Lumiera source tree, which
|
||||
is tracked by the deb branch in the same repository... +
|
||||
I did choose this layout because of the marginal relevance of this depot management;
|
||||
I just did not want to create __yet another not so useful repo...__
|
||||
|
||||
The details of our configuration and the current state can be seen here...
|
||||
|
||||
* primary https://git.lumiera.org/gitweb?p=debian/lumiera;a=blob;f=conf/distributions;hb=refs/heads/depot[configuration]
|
||||
* Logfile of imports: https://git.lumiera.org/gitweb?p=debian/lumiera;a=blob;f=log/trixie.log;hb=refs/heads/depot[for Debian/Trixie]
|
||||
* Logfile of imports: https://git.lumiera.org/gitweb?p=debian/lumiera;a=blob;f=log/noble.log;hb=refs/heads/depot[for Ubuntu/Noble]
|
||||
|
||||
* primary link:http://git.lumiera.org/gitweb?p=debian/lumiera;a=blob;f=conf/distributions;hb=refs/heads/depot[configuration]
|
||||
* Logfile of imports: link:http://git.lumiera.org/gitweb?p=debian/lumiera;a=blob;f=log/squeeze.log;hb=refs/heads/depot[for Debian/Squeeze]
|
||||
|
||||
[NOTE]
|
||||
.some special details to note in our setup
|
||||
.Details to note in our setup
|
||||
=======================================================================================================================
|
||||
- each block in the 'distributions' file defines a repository for a ``distribution'' (e.g. Jessie, Trusty, Rafaela).
|
||||
- each block in the file 'conf/distributions' defines a repository for a ``distribution'' (e.g. Trixie, Forky, Noble).
|
||||
Within such a repo, there are sections named 'Components'.
|
||||
- The _override_ files mentioned in the configuration allow to overwrite / replace arbitrary fields in the metadata of
|
||||
all packages added to that distribution.
|
||||
- In this setup, we enabled the 'tracking' function: thereby reprepro will keep track of the dependencies between
|
||||
all packages added to that distribution (We do not currently use this feature however).
|
||||
- In this setup, we enabled the _tracking_ function: thereby `reprepro` will keep track of the dependencies between
|
||||
binary packages, signatures, debianisation patches and original upstream tarballs. Never packages overwirte older
|
||||
ones -- _at any time there is at most one version of a package in the repository._ Parts not referred to anymore
|
||||
are automatically discareded. In our configuration, they are moved into the 'morguedir'
|
||||
- Please make sure the *gpg signing key* is in proper order, because it protects against evil spirited manipulations.
|
||||
|
||||
will be discarded automatically. In our configuration, they are moved into the 'morguedir'
|
||||
- Please be sure that the *GPG signing key* is maintained properly and kept secure,
|
||||
because it protects our users against evil spirited manipulations by powerful entities.
|
||||
=======================================================================================================================
|
||||
|
||||
|
||||
current setup 3/2011
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
While later we want to automate most of this packaging business, currently it's done semi-manual.
|
||||
Mostly, Ichthyo builds the packages on his local PC (or a VM) and then adds/imports them to the
|
||||
'reprepro' -- changes are then propagated to lumiera.org via rsync; as kind of a backup, the
|
||||
index files are also pushed to link:http://git.lumiera.org/gitweb?p=debian/lumiera;a=shortlog;h=refs/heads/depot[Git].
|
||||
current setup 2025
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
While we plan to automate most of this packaging business eventually, currently our releases
|
||||
and the packaing tasks are performed in a semi-manual fashion. This means that we use some base
|
||||
level automation (like `git-buildpackage` or `mk-build-deps` or `reprepro`) -- but the manifests
|
||||
and changelogs are maintained manually and the steps for building and importing are launched
|
||||
one by one at the console. Our _preview releases_ happen only occasionally and each of them
|
||||
changes and breaks a lot, so that an effort towards a higher level of automation seems futile.
|
||||
|
||||
Typically, _Ichthyo_ builds the packages on his local PC in suitable Docker/Podman containers
|
||||
and adds/imports them into the `reprepro` -- changes are then propagated to Lumiera.org via rsync,
|
||||
and the changed index files are checked into the `depot` branch and pushed into
|
||||
https://git.lumiera.org/gitweb?p=debian/lumiera;a=summary[git://git.lumiera.org/debian/lumiera].
|
||||
|
||||
The rsync to upload is done with
|
||||
----
|
||||
rsync -rclvz --progress --partial --delete /local/filesys/path/to/Lumirep/depot/ ichthyo@www.lumiera.org:/var/local/www_debian
|
||||
rsync -rclvz --progress --partial --delete \
|
||||
/local/path/to/Lumirep/depot/ ichthyo@www.lumiera.org:/var/local/www_debian
|
||||
----
|
||||
|
||||
|
|
|
|||
|
|
@ -1,146 +1,358 @@
|
|||
building from source -- the »Debian Way«
|
||||
========================================
|
||||
Building Lumiera -- the »Debian Way«
|
||||
====================================
|
||||
:Author: Ichthyostega
|
||||
:Date: 3/2011
|
||||
:Date: 3/2011 · 11/2025
|
||||
:toc:
|
||||
|
||||
In case you're using a Debian-based system (e.g. Mint, Ubuntu...), there
|
||||
is a simple alternative to the manual compiling and installing of library
|
||||
dependencies. Instead of building Lumiera from source in the classical (hard)
|
||||
Building Lumiera becomes much simpler if you are using a Debian-based
|
||||
Linux system (e.g. Mint, Ubuntu...). Instead of having to build Lumiera
|
||||
and further required libraries step by step from source the classical (hard)
|
||||
way, you might prefer *building from the Debian source packages*.
|
||||
|
||||
Why -- what are the benefits?
|
||||
Why so -- what are the benefits?
|
||||
|
||||
* rely on the Debian/Ubuntu package manager for sorting out the library
|
||||
and build dependencies
|
||||
* let the Debian/Ubuntu package manager sort out the build dependencies
|
||||
* have a controlled environment where the build is already known to work
|
||||
* have a single common interface for starting any build process
|
||||
* install Lumiera as a first-class package, like all the other software
|
||||
you're using regularly. This way, the package manager ``knows'' about
|
||||
the library dependencies and can't mix up things due to a system upgrade.
|
||||
you're using regularly. So that the package manager ``knows'' about all
|
||||
the library dependencies and handles conflicts at next system upgrade.
|
||||
|
||||
Under some circumstances, these very benefits might be a drawback, though.
|
||||
Sometimes you don't want to install; or you might have a version of Lumiera
|
||||
installed, but want to try out a (maybe newer / development) version...
|
||||
Sometimes these very benefits might be a drawback; if you need more
|
||||
flexibility, you can treat the Debian tooling like a construction kit,
|
||||
where you can choose which part of the automation you want to employ...
|
||||
|
||||
No problem -- basically it is always possible to run Lumiera _without installation._
|
||||
We deliberately constructed the application such as to find its components actively,
|
||||
within the standard directory structure created by the buildsystem. However, while,
|
||||
Lumiera itself can be just run directly from such a folder tree, the software still
|
||||
relies on some other libraries, which somehow need to be installed on your system.
|
||||
There are various variants to consider:
|
||||
|
||||
- Bootstrap into a newer distro version, by using only the source packages
|
||||
provided for another roughly similar platform
|
||||
|
||||
- Use the prerequisite libraries from the link:/debian[DEB depot at Lumiera.org]
|
||||
and only use our Debian source package to setup the build of Lumiera itself.
|
||||
|
||||
- Avoid to add any (custom) Apt repository source: only download the
|
||||
source pacakge(s) and build them directly
|
||||
|
||||
|
||||
building from source package
|
||||
----------------------------
|
||||
|
||||
Building from a Debian source package
|
||||
-------------------------------------
|
||||
A _Debian source package_ is the complete ``upstream'' source tree plus
|
||||
a 'debian' subdirectory with build configuration. This is a very controlled
|
||||
setup which allows the _Debian build tooling_ to automate most of the build process.
|
||||
|
||||
NOTE: Generally speaking, operations which _modify_ the installation/configuration of your
|
||||
linux system require root permissions. To the contrary, just _building_ a package
|
||||
Linux system require [red]#root# permissions. To the contrary, just _building_ a package
|
||||
should _not_ be done as root.
|
||||
|
||||
. add a suitable source line to your *Apt configuration* ('/etc/apt/sources.lst')
|
||||
+
|
||||
.Prerequisites for building
|
||||
For performing any compiling and packaging tasks, you need some additional software,
|
||||
which by default isn't installed on a desktop system -- most notably the GNU C compiler.
|
||||
On any Debian based system, you get this basic tooling by
|
||||
----
|
||||
deb-src https://lumiera.org/debian/ buster experimental
|
||||
----
|
||||
. get all the *build dependencies*
|
||||
+
|
||||
----
|
||||
sudo apt-get build-dep nobug-dev
|
||||
sudo apt-get build-dep gdlmm-3
|
||||
sudo apt-get build-dep lumiera
|
||||
----
|
||||
. *build* using the source package.
|
||||
+
|
||||
----
|
||||
apt-get source --compile nobug-dev
|
||||
sudo apt-get install build-essential devscripts equivs
|
||||
----
|
||||
|
||||
* After building went through without error, it might happen that you're be
|
||||
The Lumiera DEB depot
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
At link:/debian[Lumiera.org/debian] we provide the Debian packages maintained
|
||||
by the project in a setup that can be added as _package source_ with your
|
||||
Apt package manager. If you trust us to do our work properly (are you really
|
||||
ready to trust us?), then installation and upgrades of the packages provided
|
||||
this way can be handled automatically
|
||||
|
||||
[[LumieraAptCfg]]
|
||||
. add a suitable source spec to your *Apt configuration*
|
||||
+
|
||||
('/etc/apt/sources.list.d/lumiera.sources')
|
||||
+
|
||||
----
|
||||
Types: deb deb-src
|
||||
URIs: https://lumiera.org/debian/
|
||||
Suites: trixie
|
||||
Components: experimental
|
||||
Signed-By: /etc/apt/keyrings/lumiera-keyring.gpg
|
||||
----
|
||||
|
||||
. get and install _Ichthyo's_ **GPG signing** public key
|
||||
|
||||
* This key has GPG key fingerprint +11FD F5D2 DBD7 BBD7 F4D9 D9C4 2CF2 5392 6238 2557+
|
||||
* It can be found on many public keyservers, like
|
||||
link:http://keyserver.ubuntu.com:11371/pks/lookup?search=2CF2539262382557&op=index[Ubuntu] or
|
||||
link:https://keys.openpgp.org/search?q=deb%40ichthyostega.de[Openpgp.org].
|
||||
+
|
||||
.Apt requires a signing key installed into the system in _binary format_
|
||||
[IMPORTANT]
|
||||
--
|
||||
After fetching this public key, you need to store it in binary format at a suitable
|
||||
location (typically '/etc/apt/keyrings'), and [red]#owned by root# (not writable by ordinary users).
|
||||
This location can then be referred to from the source configuration `lumiera.sources` -- as showed above
|
||||
----
|
||||
gpg --keyserver keyserver.ubuntu.com --recv 62382557
|
||||
gpg --export 62382557 > lumiera-keyring.gpg
|
||||
----
|
||||
--
|
||||
|
||||
. you should be able now to refresh the package lists without any error...
|
||||
+
|
||||
----
|
||||
sudo apt update
|
||||
----
|
||||
|
||||
💡[underline]#Tip#: for added protection against unintended package upgrades,
|
||||
you may mark the Lumiera Apt source configuration with a _lowered priority_ in the
|
||||
file '/etc/apt/preferences'
|
||||
----
|
||||
Package: *
|
||||
Explanation: Lumiera-Repository
|
||||
Pin: release o=Lumiera.org
|
||||
Pin-Priority: 60
|
||||
----
|
||||
^The default priority here is 500, and priorities < 100 will never be updated automatically.^
|
||||
|
||||
|
||||
How to build from a Debian source package
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
You need a work directory where to download, store and expand the DEB packages. +
|
||||
Over time, you will accumulate a lot of packages and sub directories there... 😀
|
||||
|
||||
Build dependencies::
|
||||
Install all build dependencies for a package +
|
||||
`sudo apt-get build-dep <PKGNAME>`
|
||||
|
||||
Complete build::
|
||||
Retrieve and immediately build from a source package +
|
||||
`apt-get source --compile <PKGNAME>`
|
||||
|
||||
Retrieve::
|
||||
Download and unpack source package from the Repositories +
|
||||
`apt-get source <PKGNAME>`
|
||||
|
||||
Unpack::
|
||||
Unpack a source package which you have downloaded manually +
|
||||
`dpkg-source --extract <PKGNAME.dsc> [target-dir]`
|
||||
|
||||
Build::
|
||||
Build DEBs from an already extracted source package +
|
||||
`cd <package-subdir>; debuild -b`
|
||||
|
||||
[TIP]
|
||||
--
|
||||
* Obviously, all the package names, versions and architecture will vary, depending on your situation.
|
||||
* After building went through without error, it might happen that you're be
|
||||
prompted for signing with your GPG key. But because you're not going to upload
|
||||
the created binary packages anywhere, this step can be considered optional.
|
||||
|
||||
* install the created package.
|
||||
+
|
||||
Finally, you'll find several new +*.deb+ packages in the directory where you started
|
||||
the build. You need to _install_ these packages then using the basic Debian package
|
||||
manager `dpkg`
|
||||
Install created packages::
|
||||
After a successful build, you'll find several new '*.deb' packages in the directory
|
||||
above the source package tree. If you want to use those packages as prerequisites for
|
||||
the next package, you need to _install_ these packages into your system using the basic
|
||||
Debian package manager `dpkg`
|
||||
+
|
||||
----
|
||||
sudo dpkg -i libnobug2_201008.1-4~trixie_amd64.deb nobug-dev_201008.1-4~trixie_amd64.deb
|
||||
sudo dpkg -i <PCKGNAME.deb> [...]
|
||||
----
|
||||
|
||||
Clean up::
|
||||
You can delete the source tree used for compiling. If you never intend to
|
||||
re-install the package, you could also delete the created package and source package
|
||||
components after installing it. But especially when trying out development versions
|
||||
it might be a good idea to stash those packages somewhere, as we're not keeping _every_
|
||||
package in the online Lumiera Debian depot. While any package could be reproduced
|
||||
exactly with a bit of Git knowledge, just keeping the `*.deb` might be more convenient.
|
||||
|
||||
--
|
||||
|
||||
|
||||
Bootstrap Lumiera starting from a source package
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
The following section describes the complete build sequence, where you start with
|
||||
the Lumiera source package repository, possibly even for another distribution.
|
||||
So, for example, you might be on Ubuntu/Resolute, but start from the source
|
||||
package entry in the Lumiera repository for Debian/Trixie.
|
||||
|
||||
. Add the source repository to your Apt configuration, as described
|
||||
xref:LumieraAptCfg[above]. Use the proper ``Suites'' entry; if this is
|
||||
anoter distro than you are currently on, you might want to use only the
|
||||
`Types: deb-src` (source packages, but not the binary packages)
|
||||
|
||||
. build and install NoBug
|
||||
|
||||
* `apt-get build-dep nobug`
|
||||
* `apt-get source --compile nobug`
|
||||
* install with: +
|
||||
`sudo dpkg -i libnobug2_201008.1-4~trixie_amd64.deb nobug-dev_201008.1-4~trixie_amd64.deb`
|
||||
|
||||
. build and install libGDL
|
||||
|
||||
* `apt-get build-dep gdl`
|
||||
* `apt-get source --compile gdl`
|
||||
* install the `libgdl-3-5*deb` and `libgdl-3-common*deb` and `libgdl-3-dev*deb` packages
|
||||
|
||||
. build and install the C++ bindings GDLmm
|
||||
|
||||
* `apt-get build-dep gdlmm3`
|
||||
* `apt-get source --compile gdlmm3`
|
||||
* install the `libgdlmm-3.0*deb` and `libgdlmm-3-dev*deb`
|
||||
|
||||
. now you are ready for Lumiera...
|
||||
+
|
||||
of course, the package names, versions and architecture will vary, depending on your
|
||||
situation.
|
||||
|
||||
* repeat those steps to work your way up to the +lumiera+ package; build and install
|
||||
Nobug, maybe build and install the GDL mm-bindings and finally build and install Lumiera
|
||||
|
||||
. clean up.
|
||||
--
|
||||
* `apt-get build-dep lumiera`
|
||||
* `apt-get source --compile lumiera`
|
||||
--
|
||||
+
|
||||
You can delete the source tree used for compiling. If you never intend to
|
||||
re-install the package, you could also delete the created package and source package
|
||||
components after installing it. But especially when trying out development versions
|
||||
it might be a good idea to stash those packages somewhere, as we're not keeping _every_
|
||||
package in the online Lumiera Debian depot. While any package could be reproduced
|
||||
exactly with a bit of Git knowledge, just keeping the `*.deb` might be more convenient.
|
||||
If all went well, you can launch it right away as `lumiera-0.pre.04/target/lumiera`
|
||||
|
||||
*That's it* -- you're done! Debian building is convenient, isn't it?
|
||||
*That's it* -- __building the Debian way is convenient, isn't it?__
|
||||
|
||||
NOTE: What follows is a background information and configuration for advanced users.
|
||||
You can safely skip and ignore the remainder of this page if in doubt.
|
||||
|
||||
|
||||
Building from Debian source package without Apt repo
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
This is a variation of the procedure and can be used when you can not
|
||||
(or do not want to) rely on the Lumiera DEB depot configured into your system.
|
||||
Instead, we somehow get / download and extract the respective source
|
||||
packages and then use the `mk-build-deps` helper from the `devscripts`
|
||||
to create a pseudo-package on the fly, which depends on all the
|
||||
build dependencies of a package.
|
||||
|
||||
. For this to work we somehow need to get the source package downloaded
|
||||
into the local system. There are several ways to achieve that
|
||||
+
|
||||
--
|
||||
* You may use Git to check out our Debian packaging repositories:
|
||||
+
|
||||
----
|
||||
git clone git://git.lumiera.org/debian/nobug -b deb
|
||||
git clone git://git.lumiera.org/debian/gdl -b deb
|
||||
git clone git://git.lumiera.org/debian/gdlmm -b deb
|
||||
git clone git://git.lumiera.org/debian/lumiera -b deb
|
||||
----
|
||||
|
||||
* Alternatively, you may browse the
|
||||
link:/debian/pool[package pool] and download the packages with your web browser;
|
||||
note that for each source package, you need to download three components
|
||||
+
|
||||
--
|
||||
** the `<PKGNAME>.orig.tar.xz` (or .gz or whatever...)
|
||||
** the _debianisation_ called `<PKGNAME-VER>.debian.tar.xz`
|
||||
** the source package descriptor `<PKGNAME-VER>.dsc`
|
||||
--
|
||||
+
|
||||
After downloading those components, you need to extract them manually:
|
||||
+
|
||||
----
|
||||
dpkg-source -x <PKGNAME.dsc>
|
||||
----
|
||||
--
|
||||
|
||||
|
||||
. Next we need to install the build dependencies
|
||||
|
||||
* step into the root of the extracted package tree
|
||||
* invoke `sudo mk-build-deps --install --remove`
|
||||
|
||||
** if all works well, this will result in Apt proposing to
|
||||
download and install a huge load of further packages;
|
||||
confirm this with `y' ...
|
||||
** but it might happen that some dependency can not be satisfied,
|
||||
in which case `mk-build-deps` aborts and removes already installed parts.
|
||||
You need to figure out from the printed messages then what was the reason
|
||||
why the dependencies can not be satisfied (💡 in the case of Lumiera,
|
||||
typically the reason lies in the fact that `nobug-dev`, `libgdl-3-dev` and
|
||||
`libgdlmm3-dev` are not available from the official package repositories;
|
||||
you may need to build and install them yourselves...)
|
||||
|
||||
. Then, finally we can build the package itself: +
|
||||
step into the package tree and invoke: `debuild -b`
|
||||
|
||||
TIP: The `mk-build-deps` tool reads the package manifest and fabricates a
|
||||
pseudo-package, which is called `<PKGNAME>-build-deps`, (e.g. 'lumiera-build-deps').
|
||||
This package gets installed into your system and thereby ``pulls in'' all the
|
||||
required build dependencies. This setup remains in place even when you update
|
||||
your system, and thus ensures that the ability to build this package is not lost.
|
||||
Once you do no longer need this special configuration, you can _manually remove_
|
||||
this package (e.g. `sudo apt remove lumiera-build-deps`), and then clean-up by
|
||||
invoking `sudo apt autoremove` to get rid of all packages which are no longer
|
||||
required...
|
||||
|
||||
''''
|
||||
~What follows is background information and configuration for advanced users.~ +
|
||||
^💡 You can safely skip and ignore the remainder of this page if in doubt.^
|
||||
....
|
||||
|
||||
|
||||
|
||||
|
||||
....
|
||||
|
||||
|
||||
|
||||
|
||||
More about Debian source packages
|
||||
---------------------------------
|
||||
Building packages from Git
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
This tutorial describes the classic way of building a Debian package, which also is the
|
||||
foundation for any shortcuts and convenience scripts. In practice, people maintaining
|
||||
Debian packages happen to use various shortcuts and helper scripts to automate repetitive
|
||||
tasks. One such helper especially worth mentioning is
|
||||
https://wiki.debian.org/PackagingWithGit[the tool `git-buildpackage`]. With a little bit
|
||||
of configuration, this cleverly made tool is able to create a full Debian package just
|
||||
form a Git checkout in a single shot. At Lumiera.org, we maintain all our Debian packages
|
||||
this way, so the necessary configuration 'debian/gbp.conf' is already in place.
|
||||
|
||||
To use the NoBug package for illustration, the procedure to build a package is:
|
||||
|
||||
. `git clone git://git.lumiera.org/debian/nobug -b deb`
|
||||
. `cd nobug; sudo mk-build-deps --install --remove`
|
||||
. `gbp buildpackage --git-tag`
|
||||
|
||||
-> more about our link:{ldoc}/technical/infra/debianDepot.html[DEB depot at Lumiera.org]
|
||||
|
||||
|
||||
Required and recommended Debian packages
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
The Debian package manager stores for each package not only the required prerequisites,
|
||||
but also some additional _recommended_ packages: Software likely to make using the given
|
||||
package more convenient or improve the usage in some way. In addition, it also stores
|
||||
but also some additional _recommended_ packages: This is software likely to make using the
|
||||
given package more convenient or improve the usage in some way. In addition, it also stores
|
||||
a list of _suggested_ additional things to try. Now, since some time, the 'Apt' package
|
||||
management tool by default automatically installs also the _recommended_ software, not
|
||||
only the bare required prerequisites.
|
||||
|
||||
While this is certainly fine for users not into the details of package management, it
|
||||
has the downside of installing sometimes _a lot_ of additional software no one asked
|
||||
about. Plus, all these installed packages are upgraded from time to time. An impressive
|
||||
example of this kind of _bloat_ is the *asciidoc* package, which recommends to install
|
||||
dockbook, an complete XML toolchain plus a TeX distribution, giving you an average of
|
||||
While this is certainly fine for users not interested in the details of package management,
|
||||
this setup has the downside of installing sometimes _a lot_ of additional software no one
|
||||
ever asked about. Plus, all these installed packages are upgraded from time to time. An
|
||||
impressive example of this kind of _bloat_ is the *asciidoc* package, which recommends to
|
||||
install Dockbook, a complete XML toolchain plus a Teχ distribution, giving you an average of
|
||||
additional 500MB to download and install.
|
||||
|
||||
Of course, this behaviour can be changed. Just add the following line to your Apt configuration
|
||||
----
|
||||
APT::Install-Recommends "false";
|
||||
----
|
||||
^_Disclaimer:_ please be sure you understand the consequences...^
|
||||
⚠^_Disclaimer:_ please be sure you understand the consequences...^
|
||||
|
||||
|
||||
Building packages from git
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
This tutorial describes the classic way of building a Debian package, which also is the
|
||||
foundation for any shortcuts and convenience scripts. In practice, people maintaining
|
||||
Debian packages happen to use various shortcuts and helper scripts to automate repetitive
|
||||
tasks. One such helper especially worth mentioning is **git-buildpackage**. With a little bit
|
||||
of configuration, this nifty script is able to create a full Debian package just form a
|
||||
git checkout in a single shot. At Lumiera.org, we maintain all our Debian packages this
|
||||
way, so the necessary configuration +debian/gbp.conf* is already in place.
|
||||
|
||||
|
||||
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
The rest of this tutorial contains some more in-depth explanations for the curious
|
||||
|
||||
|
||||
anatomy of a Debian source package
|
||||
----------------------------------
|
||||
|
||||
Debian source packages provide a standardised way of compiling software. These
|
||||
packages are not intended to be _installed_ on your system; rather you just download
|
||||
them and use them to build the software.
|
||||
Anatomy of a source package
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Debian source packages provide a standardised way of compiling software.
|
||||
These packages are not intended to be _installed_ on your system; rather
|
||||
you just download them and use them to _build_ the software.
|
||||
|
||||
Each Debian source package is based on an original _upstream_ tarball. In addition to
|
||||
this '\*.orig.tar.gz', there is a '\*.diff.gz' which contains all the _modifications_
|
||||
this '\*.orig.tar.gz', there is a '\*.debian.tar.gz' which contains all the _modifications_
|
||||
done to the original upstream sources in order to compile it with Debian. Especially,
|
||||
this so called ``debianisation patch'' adds a 'debian/' subdirectory to the source tree,
|
||||
which then holds all the control files used by Debian package management. Finally, the
|
||||
third part of each Debian source package is a _manifest_ file ('*.dsc'), which states
|
||||
that this is a Debian package and contains the primary control informations, the
|
||||
name and version number. Of course, these three files are named with a common name
|
||||
prefix, which matches the 'official' package name and version.
|
||||
prefix, which matches the ``official'' package name and version.
|
||||
|
||||
Quite frequently, a given source package generates several binary packages, e.g. the
|
||||
main program, maybe a library and a documentation bundle. Because of this, often the
|
||||
|
|
@ -150,7 +362,7 @@ search] or the link:https://packages.ubuntu.com[equivalent for Ubuntu] to locate
|
|||
versions, even individual files, or to get at the bug tracker for a package.
|
||||
|
||||
interesting files in the debian subdirectory
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
Most of the files in that subdirectory are relevant only for the people maintaining
|
||||
the package. With the exception of the following:
|
||||
|
||||
|
|
@ -158,52 +370,19 @@ the package. With the exception of the following:
|
|||
find the definition of the prerequisites, the name of the packager, the explanatory text.
|
||||
- the top entry in the 'debian/changelog' defines the *actual package name and version*
|
||||
- the actual build process is conducted by invoking several pre defined targets in the
|
||||
'debian/rules' *makefile*. But modern debian packages often make use of the ``common
|
||||
debian build system''
|
||||
https://web.archive.org/web/20170708155303/http://build-common.alioth.debian.org/cdbs-doc.html[CDBS] --
|
||||
basically a set of macros allowing to write these _rules_ in a very short and concise fashion
|
||||
'debian/rules' *makefile*.
|
||||
- However, Debian packages typically rely on the _Debhelper Sequencer_ to perform
|
||||
all the steps necessary for building a package.
|
||||
|
||||
* see the https://manpages.debian.org/trixie/debhelper/dh.1.en.html[Manpage]
|
||||
and https://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules[Debian-Policy §4.9]
|
||||
* every step in that sequence can invoke a pre- or post- target and can also
|
||||
be overridden altogether in the 'debian/rules'
|
||||
|
||||
|
||||
commands for handling source packages
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
For all package building tasks, you can use an arbitrary directory of your choice.
|
||||
It is recommended to build with normal user permissions (not as root).
|
||||
|
||||
- 'apt-get source' PACKAGENAME downloads the three parts of the source package. You may
|
||||
use both the name of a binary or the source package in this command. After downloading,
|
||||
the original tarball is extracted and the debianisation patch is applied. That is,
|
||||
the tree is ready for building
|
||||
- 'apt-get source \--compile' PACKAGENAME does even more: it starts off the build
|
||||
of a binary package after downloading and preparing the sources...
|
||||
- 'dpkg-source -x' SRCPACKAGE.dsc just extracts a source package and applies the diff
|
||||
- 'sudo apt-get buld-dep' PACKAGENAME fetches and installs all the prerequisites
|
||||
necessary for building the denoted package. (however, it does _not_ download the
|
||||
source package itself)
|
||||
- 'sudo dpkg -i' BIN-PACKAGE.deb finally installs the result of your building efforts.
|
||||
Note, if several packages depend on each other, you need to give them all as list
|
||||
in a single command invocation.
|
||||
|
||||
After having prepared the sources this way, you need to step into the root of the
|
||||
source tree, if you want to build the whole package, or even want to tweak and
|
||||
modify parts.
|
||||
|
||||
- 'dpkg-checkbuilddeps' checks that all the requirements of the package are satisfied.
|
||||
It just prints out what is missing; this is especially useful if the fully automated
|
||||
install did not work entirely, so you have to fix / reinstall parts manually
|
||||
- 'dpkg-buildpackage' starts the full build. This includes re-generating
|
||||
the source package (and especially the diff). If you only want to build the binary
|
||||
package, you can skip the diff- / source-package generation with '-b'
|
||||
|
||||
prerequisites for building
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
For performing any compiling and packaging tasks, you need some additional software,
|
||||
which by default isn't installed on a desktop system -- most notably the GNU C compiler.
|
||||
On any Debian based system, you get these basic tooling by
|
||||
----
|
||||
sudo apt-get install build-essential
|
||||
----
|
||||
|
||||
library development packages
|
||||
Library development packages
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
When building software linked against some library, we need additional 'header files'
|
||||
provided together with the library. Conventionally, these headers are packaged separately
|
||||
|
|
|
|||
|
|
@ -160243,9 +160243,21 @@ unsigned int ThreadIdAsInt = *static_cast<unsigned int*>(static_cast<vo
|
|||
</node>
|
||||
</node>
|
||||
<node CREATED="1742426053628" ID="ID_1216371239" MODIFIED="1742426066191" TEXT="Topic">
|
||||
<node CREATED="1742426067299" ID="ID_644122291" MODIFIED="1742426076993" TEXT="packaging with dh and scons">
|
||||
<node CREATED="1742426067299" FOLDED="true" ID="ID_644122291" MODIFIED="1764352601897" TEXT="packaging with dh and scons">
|
||||
<node CREATED="1742426085944" ID="ID_40378417" LINK="https://askubuntu.com/a/245356" MODIFIED="1742426097284" TEXT="SO/Askubuntu"/>
|
||||
<node CREATED="1742426078457" ID="ID_1757928499" MODIFIED="1742426085452" TEXT="dh kann mit Scons umgehen"/>
|
||||
<node CREATED="1764352377886" ID="ID_1401607739" MODIFIED="1764352406767" TEXT="Aber SCons-Builds sind typischerweise »speziell« ⟹ besser explizit aufrufen"/>
|
||||
<node CREATED="1764352407642" ID="ID_394995811" LINK="#ID_869569123" MODIFIED="1764352590618" TEXT="das heißt: man verwendet die dh-Override-Targets und ruft SCons direkt auf">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Für Lumiera habe ich das letztlich so gemacht, und ich halte es für sinnvoll, denn so ist in debian/rules unmittelbar ersichtlich, wie konfiguriert wird ... <i>generell sind implizite Default-Regeln nur dann sinnvoll, wenn der Default einfach und allgegenwärtig ist</i>
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1742656652409" ID="ID_1605755100" MODIFIED="1742656657836" TEXT="Library-Paket">
|
||||
<node CREATED="1742656592256" ID="ID_974982396" MODIFIED="1742656681992" TEXT="aufgesammelteInfos zum Umgang mit Lib-Paketen">
|
||||
|
|
@ -160265,6 +160277,42 @@ unsigned int ThreadIdAsInt = *static_cast<unsigned int*>(static_cast<vo
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1764351998456" ID="ID_1478886777" MODIFIED="1764352305606" TEXT="Build-temporaries ignorieren">
|
||||
<linktarget COLOR="#2285d4" DESTINATION="ID_1478886777" ENDARROW="Default" ENDINCLINATION="-1282;116;" ID="Arrow_ID_665398434" SOURCE="ID_554457709" STARTARROW="None" STARTINCLINATION="-904;50;"/>
|
||||
<node CREATED="1764352015775" ID="ID_92251086" MODIFIED="1764352149527" TEXT="dpkg-source hat schon eine Default-config für die häufigsten Missetäter">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...wie .svn, .git, Autotools-Müll...
|
||||
</p>
|
||||
<p>
|
||||
Man sieht den Default mit dpkg-source --help
|
||||
</p>
|
||||
<p>
|
||||
<font face="Monospaced" size="2" color="#32177f">  -i, --diff-ignore[=<regex>] </font>
|
||||
</p>
|
||||
<p>
|
||||
<font face="Monospaced" size="2" color="#32177f">                           filter out files to ignore diffs of </font>
|
||||
</p>
|
||||
<p>
|
||||
<font face="Monospaced" size="2" color="#32177f">                             (defaults to: '(?:^|/).*~$|(?:^|/)\.#.*$|(?:^|/)\..*\.sw.$|(?:^|/),,.*(?:$|/.*$)|(?:^|/)(?:DEADJOE|\.arch-inventory|\.(?:bzr|cvs|hg|git|mtn-)ignore)$|(?:^|/)(?:CVS|RCS|\.deps|\{arch\}|\.arch-ids|\.svn|\.hg(?:tags|sigs)?|_darcs|\.git(?:attributes|modules|review)?|\.mailmap|\.shelf|_MTN|\.be|\.bzr(?:\.backup|tags)?)(?:$|/.*$)'). </font>
|
||||
</p>
|
||||
<p>
|
||||
<font face="Monospaced" size="2" color="#32177f">  -I, --tar-ignore[=<pattern>] </font>
|
||||
</p>
|
||||
<p>
|
||||
<font face="Monospaced" size="2" color="#32177f">                           filter out files when building tarballs </font>
|
||||
</p>
|
||||
<p>
|
||||
<font face="Monospaced" size="2" color="#32177f">                             (defaults to: -I*.a -I*.la -I*.o -I*.so -I.*.sw? -I*/*~ -I,,* -I.[#~]* -I.arch-ids -I.arch-inventory -I.be -I.bzr -I.bzr.backup -I.bzr.tags -I.bzrignore -I.cvsignore -I.deps -I.git -I.gitattributes -I.gitignore -I.gitmodules -I.gitreview -I.hg -I.hgignore -I.hgsigs -I.hgtags -I.mailmap -I.mtn-ignore -I.shelf -I.svn -ICVS -IDEADJOE -IRCS -I_MTN -I_darcs -I{arch}). </font>
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
<node CREATED="1764352159164" ID="ID_1246114365" LINK="https://www.debian.org/doc/manuals/maint-guide/dother.en.html#sourcel" MODIFIED="1764352210583" TEXT="man kann Spezialkonfig in debian/source/options hinterlegen"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -168331,9 +168379,12 @@ that situation will improve in forseeable future.</pre>
|
|||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1752070293350" ID="ID_391826628" MODIFIED="1752070305584" TEXT="top-Level-Seiten durchkämmen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1764037326150" ID="ID_253173738" MODIFIED="1764037351953" TEXT="BuildDrone kann weg">
|
||||
<node COLOR="#435e98" CREATED="1764037326150" ID="ID_253173738" MODIFIED="1764468674851" TEXT="BuildDrone kann weg">
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1764468693775" ID="ID_1773145355" MODIFIED="1764468711764" TEXT="nochmal nach "Jessie" und "Buster" suchen, sowie nach "apt-get"">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1752070265482" ID="ID_927720852" MODIFIED="1756773347225" TEXT="relevante Links aktualisieren">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
|
|
@ -169323,7 +169374,7 @@ that situation will improve in forseeable future.</pre>
|
|||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1756830253426" ID="ID_989483889" MODIFIED="1756830598512" TEXT="Dontations-Page ist obsolet">
|
||||
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1756830253426" ID="ID_989483889" MODIFIED="1764371683617" TEXT="Dontations-Page ist obsolet">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -169332,7 +169383,7 @@ that situation will improve in forseeable future.</pre>
|
|||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<arrowlink COLOR="#882246" DESTINATION="ID_679146016" ENDARROW="Default" ENDINCLINATION="311;0;" ID="Arrow_ID_909744060" STARTARROW="None" STARTINCLINATION="756;65;"/>
|
||||
<arrowlink COLOR="#4b2288" DESTINATION="ID_679146016" ENDARROW="Default" ENDINCLINATION="311;0;" ID="Arrow_ID_909744060" STARTARROW="None" STARTINCLINATION="756;65;"/>
|
||||
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
|
|
@ -170174,7 +170225,7 @@ that situation will improve in forseeable future.</pre>
|
|||
<arrowlink COLOR="#05af3a" DESTINATION="ID_1667125104" ENDARROW="Default" ENDINCLINATION="-428;-45;" ID="Arrow_ID_1142158265" STARTARROW="None" STARTINCLINATION="-786;94;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1763769642111" FOLDED="true" ID="ID_1051001254" MODIFIED="1763938199831" TEXT="README — NEWS(Changelog) — AUTHORS — LICENSE">
|
||||
<node COLOR="#338800" CREATED="1763769642111" FOLDED="true" ID="ID_1051001254" MODIFIED="1764374308091" TEXT="README — NEWS(Changelog) — AUTHORS — LICENSE">
|
||||
<linktarget COLOR="#199f6d" DESTINATION="ID_1051001254" ENDARROW="Default" ENDINCLINATION="-2411;128;" ID="Arrow_ID_465720111" SOURCE="ID_520590054" STARTARROW="None" STARTINCLINATION="-418;-611;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1763770333709" ID="ID_1395262738" MODIFIED="1763771074500" TEXT="Readme sollte knapper sein">
|
||||
|
|
@ -170287,13 +170338,19 @@ that situation will improve in forseeable future.</pre>
|
|||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1764353760670" FOLDED="true" ID="ID_1784758876" MODIFIED="1764374289901" TEXT="INSTALL-Symlink kann weg">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1764353778179" ID="ID_1277613808" MODIFIED="1764353787476" TEXT="der wird als leeres File in den Tarball gepackt"/>
|
||||
<node COLOR="#1c215b" CREATED="1764353788130" ID="ID_85727663" MODIFIED="1764374286544" TEXT="stattdessen: Hinweis in README aufnehmen"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1751808937037" ID="ID_169754287" MODIFIED="1751808945616" TEXT="Debian / DEB-Paket">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1762803541300" ID="ID_1198625842" MODIFIED="1762803563377" TEXT="Doku zum debianDepot.txt">
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1751808937037" ID="ID_169754287" MODIFIED="1764468462560" TEXT="Debian / DEB-Paket">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1762803541300" ID="ID_1198625842" MODIFIED="1764460896183" TEXT="Doku zum debianDepot.txt">
|
||||
<linktarget COLOR="#b5768e" DESTINATION="ID_1198625842" ENDARROW="Default" ENDINCLINATION="102;11;" ID="Arrow_ID_1663167652" SOURCE="ID_834370322" STARTARROW="None" STARTINCLINATION="-35;55;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node CREATED="1764080462839" ID="ID_40707028" MODIFIED="1764080495980" TEXT="Doku zum Debian-Paket">
|
||||
<node COLOR="#338800" CREATED="1764080462839" FOLDED="true" ID="ID_40707028" MODIFIED="1764468624561" TEXT="Doku zum Debian-Paket">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -170302,7 +170359,8 @@ that situation will improve in forseeable future.</pre>
|
|||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<node CREATED="1764080499102" ID="ID_600067904" MODIFIED="1764080556468">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1764080499102" ID="ID_600067904" MODIFIED="1764386720790">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -170315,17 +170373,77 @@ that situation will improve in forseeable future.</pre>
|
|||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
die ist gut und auch nützlich dort; könnte aber auch übernommen werden in die Beschreibun des Buildsystems
|
||||
die ist gut und auch nützlich dort; könnte aber auch übernommen werden in die Beschreibung des Buildsystems
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1764080558767" ID="ID_1614946590" MODIFIED="1764080580506" TEXT="enthält Beschreibung des Release-Prozesses ⟹ obsolet durch Git-Flow">
|
||||
<node COLOR="#435e98" CREATED="1764080558767" ID="ID_1614946590" MODIFIED="1764386705695" TEXT="enthält Beschreibung des Release-Prozesses ⟹ obsolet durch Git-Flow">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1764080599920" ID="ID_1082461848" MODIFIED="1764080620395" TEXT="Fehlt: Informationen zum DEB-Packaging selber">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1764080599920" ID="ID_1082461848" MODIFIED="1764460881095" TEXT="Fehlt: Informationen zum DEB-Packaging selber">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1764460719241" ID="ID_1488859375" MODIFIED="1764460728018" TEXT="ist aber nicht viel notwendig...."/>
|
||||
<node CREATED="1764460728761" ID="ID_172970866" MODIFIED="1764460734872" TEXT="verlinke direkt auf die Blobs im Git">
|
||||
<node CREATED="1764460735825" ID="ID_1992636796" LINK="https://git.lumiera.org/?p=debian/lumiera;a=blob;hb=refs/heads/deb;f=debian/control" MODIFIED="1764460821035" TEXT="debian/control"/>
|
||||
<node CREATED="1764460740184" ID="ID_488908579" LINK="https://git.lumiera.org/?p=debian/lumiera;a=blob;hb=refs/heads/deb;f=debian/rules" MODIFIED="1764460831004" TEXT="debian/rules"/>
|
||||
</node>
|
||||
<node CREATED="1764460836728" ID="ID_657830094" MODIFIED="1764460878292">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Verweise auf den Debhalper-Sequencer,
|
||||
</p>
|
||||
<p>
|
||||
mit Manpage und dem Abschnitt in der Policy,
|
||||
</p>
|
||||
<p>
|
||||
in dem die Override-Targets erläutert sind
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1764459039709" ID="ID_295628068" MODIFIED="1764459284073" TEXT="Tutorial: Building the Debain way ⟻ muß komplett überarbeitet werden">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...nicht nur daß diverse Paketnamen <i>peinlich veraltet sind</i> — auch die ganze Darstellung ist verwirrend, und inzwischen einseitig....
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
sollte die grundsätzliche Prozedur zu Beginn abstrakt darstellen
|
||||
</li>
|
||||
<li>
|
||||
sollte eine kompakte Anleitung für den kompletten Bootstrap vom Quellpaket auflisten
|
||||
</li>
|
||||
<li>
|
||||
sollte aber auch die Variante mit <font face="Monospaced" color="#692020">mk-build-deps</font> darstellen, da hierfür nicht das Lumiera DEB-Depot ins System konfiguriert werden muß; in all den letzten Jahren was das nämlich die einzige Methode, die überhaupt noch funktioniert hat, auch wenn sie deutlich umständlicher ist als mit dem Apt-Repo
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
Der allgemeine Teil dafür kann nun gestrafft werden, da wir mache Information schon woanders breit darstellen
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1764468482606" ID="ID_1881350877" MODIFIED="1764468576862" TEXT="auch die Front-Page vom DEB-Depot komplett überarbeitet">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Aktuelle Distributionen und Daten, Text gestrafft und viele xrefs eingebaut, vor allem auf die Apt-Konfiguration und die Anleitung für den GPG-Key (denn leider ist das ganze Thema komplexer geworden; früher mußte man nur eine Zeile in die sources.list reinklatschen...)
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1764468582778" HGAP="22" ID="ID_566302678" MODIFIED="1764468612912" TEXT="oh diese Seite ist jetzt richtig schön geworden" VSHIFT="10">
|
||||
<icon BUILTIN="ksmiletris"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -172762,7 +172880,7 @@ Since then others have made contributions, see the log for the history.</font></
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1742175611912" ID="ID_16098937" MODIFIED="1749341021068" TEXT="etwas aufräumen">
|
||||
<node COLOR="#338800" CREATED="1742175611912" FOLDED="true" ID="ID_16098937" MODIFIED="1749341021068" TEXT="etwas aufräumen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1742175621250" FOLDED="true" ID="ID_1886919024" MODIFIED="1745860228467" TEXT="boost-filesystem loswerden!">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
|
|
@ -175838,7 +175956,7 @@ Since then others have made contributions, see the log for the history.</font></
|
|||
<div style="background-color: #eee0b5; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 2px">
|
||||
<div style="color: #202020; background-color: #eee0b5; font-family: Bitstream Vera Sans Mono; font-size: 9pt; white-space: pre">
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#b88b63">/** derive total ordering from base class */</font>
|
||||
<font color="#b88b63">/** derive total ordering from base class */</font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#535773">std</font><font color="#65533c">::</font><font color="#59253b">strong_ordering</font><font color="#3a1f18"> </font><font color="#632d2d"><b>operator<=></b></font><font color="#11123a">(</font><font color="#635e96"><b>FrameRate</b></font><font color="#3a1f18">  </font><font color="#4a1a65"><b>const</b></font><font color="#65533c">&</font><font color="#11123a">)</font><font color="#3a1f18"> </font><font color="#4a1a65"><b>const</b></font><font color="#3a1f18"> </font><font color="#65533c">=</font><font color="#3a1f18">  </font><font color="#4a1a65"><b>default</b></font><font color="#65533c">;</font>
|
||||
|
|
@ -176671,7 +176789,7 @@ Since then others have made contributions, see the log for the history.</font></
|
|||
<font color="#4a2626">src/vault/gear/work-force.cpp:69:43: warning: '++' expression of 'volatile'-qualified type is deprecated [-Wvolatile]</font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#4a2626">69 | for (</font><font color="#d5054c">volatile size_t</font><font color="#4a2626"> i=0; i<degree; ++i) {/*SPIN*/}</font>
|
||||
<font color="#4a2626">69 | for (</font><font color="#d5054c">volatile size_t</font><font color="#4a2626"> i=0; i<degree; ++i) {/*SPIN*/}</font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
|
||||
|
|
@ -177056,7 +177174,7 @@ Since then others have made contributions, see the log for the history.</font></
|
|||
<div style="background-color: #eee0b5; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 2px">
|
||||
<div style="color: #202020; background-color: #eee0b5; font-family: Bitstream Vera Sans Mono; font-size: 9pt; white-space: pre">
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#b88b63">/**</font>
|
||||
<font color="#b88b63">/**</font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#b88b63">* Identification tuple for addressing frames unambiguously.</font>
|
||||
|
|
@ -177077,7 +177195,7 @@ Since then others have made contributions, see the log for the history.</font></
|
|||
<font color="#b88b63">* be replaced by a combined C/C++ header</font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#b88b63">*/</font>
|
||||
<font color="#b88b63">*/</font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#4a1a65"><b>class</b></font><font color="#3a1f18"> </font><font color="#635e96"><b>FrameID</b></font><font color="#3a1f18"> </font><font color="#65533c">:</font><font color="#3a1f18"> </font><font color="#535773">boost</font><font color="#65533c">::</font><font color="#635e96"><b>totally_ordered</b></font><font color="#65533c"><</font><font color="#635e96"><b>FrameID</b></font><font color="#65533c">></font><font color="#3a1f18">  </font><font color="#ab815c">////////////</font><font color="#7f9fbf"><b>TODO</b></font><font color="#ab815c"> it seems we don't need total ordering, only comparison. Clarify this!</font>
|
||||
|
|
@ -177715,7 +177833,7 @@ Since then others have made contributions, see the log for the history.</font></
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d0e6a4" COLOR="#338800" CREATED="1742175249127" ID="ID_1185124760" MODIFIED="1745628094269" STYLE="fork" TEXT="Testsuite GRÜN">
|
||||
<node BACKGROUND_COLOR="#d0e6a4" COLOR="#338800" CREATED="1742175249127" FOLDED="true" ID="ID_1185124760" MODIFIED="1745628094269" STYLE="fork" TEXT="Testsuite GRÜN">
|
||||
<edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
|
||||
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
|
|
@ -177863,7 +177981,7 @@ Since then others have made contributions, see the log for the history.</font></
|
|||
<font color="#b88b63">* which in turn becomes the only child of the new Record.</font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#b88b63">*/</font>
|
||||
<font color="#b88b63">*/</font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#632d2d"><b>Record</b></font><font color="#3a1f18"> </font><font color="#11123a">(</font><font color="#635e96"><b>Mutator</b></font><font color="#3a1f18"> </font><font color="#4a1a65"><b>const</b></font><font color="#65533c">&</font><font color="#3a1f18">  mut</font><font color="#11123a">)</font>
|
||||
|
|
@ -178203,7 +178321,7 @@ Since then others have made contributions, see the log for the history.</font></
|
|||
<node BACKGROUND_COLOR="#a3db8b" COLOR="#3a7014" CREATED="1439644368572" ID="ID_1667125104" MODIFIED="1764299038929" TEXT="Doku: Referenz-System">
|
||||
<linktarget COLOR="#05af3a" DESTINATION="ID_1667125104" ENDARROW="Default" ENDINCLINATION="-428;-45;" ID="Arrow_ID_1142158265" SOURCE="ID_1572764059" STARTARROW="None" STARTINCLINATION="-786;94;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node BACKGROUND_COLOR="#e1d0aa" CREATED="1744938484753" ID="ID_581586255" MODIFIED="1745014676554" TEXT="Website: Aufräum-Arbeiten">
|
||||
<node BACKGROUND_COLOR="#e1d0aa" CREATED="1744938484753" FOLDED="true" ID="ID_581586255" MODIFIED="1745014676554" TEXT="Website: Aufräum-Arbeiten">
|
||||
<icon BUILTIN="bell"/>
|
||||
<node BACKGROUND_COLOR="#b3d0c1" COLOR="#435e98" CREATED="1744938498263" FOLDED="true" ID="ID_1741468339" MODIFIED="1745014721994" TEXT="menugen.py auf Python-3 portieren">
|
||||
<icon BUILTIN="yes"/>
|
||||
|
|
@ -178579,7 +178697,7 @@ Since then others have made contributions, see the log for the history.</font></
|
|||
</html></richcontent>
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#b9b9ef" COLOR="#20206c" CREATED="1446509415481" ID="ID_180589749" MODIFIED="1764297114630" TEXT="Versionen hochsetzen">
|
||||
<node BACKGROUND_COLOR="#b9b9ef" COLOR="#20206c" CREATED="1446509415481" FOLDED="true" ID="ID_180589749" MODIFIED="1764297114630" TEXT="Versionen hochsetzen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -180667,7 +180785,7 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
<font face="Monospaced">/* </font>
|
||||
<font face="Monospaced">/* </font>
|
||||
</p>
|
||||
<p>
|
||||
<font face="Monospaced">  INDEX-ITER.hpp  -  iterator with indexed random-access to referred container </font>
|
||||
|
|
@ -180700,7 +180818,7 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
|
||||
</p>
|
||||
<p>
|
||||
<font face="Monospaced">*/ </font>
|
||||
<font face="Monospaced">*/ </font>
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
|
|
@ -181250,7 +181368,7 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1663455760715" ID="ID_1127631792" MODIFIED="1742177522929" TEXT="Paketbau-Docker-Skripte?">
|
||||
<icon BUILTIN="help"/>
|
||||
</node>
|
||||
<node CREATED="1663461276569" ID="ID_35078961" MODIFIED="1742177542669" TEXT="Signing-Key definiert">
|
||||
<node CREATED="1663461276569" FOLDED="true" ID="ID_35078961" MODIFIED="1742177542669" TEXT="Signing-Key definiert">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -181294,7 +181412,7 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
<node CREATED="1751807371769" ID="ID_1639092426" MODIFIED="1751807383725" TEXT="Build-System als Front-End nutzen"/>
|
||||
</node>
|
||||
<node CREATED="1751806576005" ID="ID_1188754114" MODIFIED="1751806579112" TEXT="Version-bump">
|
||||
<node BACKGROUND_COLOR="#e1dfb4" CREATED="1751807399818" ID="ID_1997706434" MODIFIED="1751807793940" TEXT="Bedeutung der Versions-Nr">
|
||||
<node BACKGROUND_COLOR="#e1dfb4" CREATED="1751807399818" FOLDED="true" ID="ID_1997706434" MODIFIED="1751907793940" TEXT="Bedeutung der Versions-Nr">
|
||||
<icon BUILTIN="info"/>
|
||||
<node CREATED="1751807415004" ID="ID_1360499102" MODIFIED="1751807431525" TEXT="publiziert für externe Orientierung"/>
|
||||
<node CREATED="1751807488931" ID="ID_1358488888" MODIFIED="1751807507330" TEXT="steht im README und in der Doxygen-Doc"/>
|
||||
|
|
@ -182383,7 +182501,7 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1762959151077" ID="ID_118703200" MODIFIED="1762959231724" TEXT="muß nun CDBS ablösen">
|
||||
<node COLOR="#435e98" CREATED="1762959151077" FOLDED="true" ID="ID_118703200" MODIFIED="1764372798393" TEXT="habe nun CDBS abgelöst">
|
||||
<linktarget COLOR="#6a3c80" DESTINATION="ID_118703200" ENDARROW="Default" ENDINCLINATION="799;95;" ID="Arrow_ID_127516976" SOURCE="ID_340181586" STARTARROW="None" STARTINCLINATION="580;-41;"/>
|
||||
<node CREATED="1762958979706" ID="ID_598558049" MODIFIED="1762959148845" TEXT="Bezug: hab schon GDLmm umgestellt CDBS ⟶ dh">
|
||||
<arrowlink COLOR="#46c0d4" DESTINATION="ID_1732644986" ENDARROW="Default" ENDINCLINATION="168;608;" ID="Arrow_ID_710986137" STARTARROW="None" STARTINCLINATION="1263;74;"/>
|
||||
|
|
@ -182458,7 +182576,8 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1762997171048" ID="ID_1055108179" MODIFIED="1762997177026" TEXT="Feinschliff + Test">
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1762997171048" ID="ID_1055108179" MODIFIED="1764371340510" TEXT="Feinschliff + Test">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1762997178703" ID="ID_1534148044" MODIFIED="1763769306816" TEXT="seltsam: der 'scons build'-Aufruf baut auch bereits die Tests">
|
||||
<arrowlink COLOR="#783c4a" DESTINATION="ID_1851495604" ENDARROW="Default" ENDINCLINATION="691;48;" ID="Arrow_ID_213409665" STARTARROW="None" STARTINCLINATION="504;25;"/>
|
||||
</node>
|
||||
|
|
@ -182687,7 +182806,7 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
<node BACKGROUND_COLOR="#9ccac7" COLOR="#235c6e" CREATED="1763256847381" ID="ID_1669554494" MODIFIED="1763256970567" TEXT="Paket läßt sich installieren"/>
|
||||
<node BACKGROUND_COLOR="#9ccac7" COLOR="#235c6e" CREATED="1763256853835" ID="ID_1385909216" MODIFIED="1763256970566" TEXT="Lumiera-UI Smoke-Test OK"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1763231464249" ID="ID_154352881" MODIFIED="1763231480845" TEXT="erzeugtes Paket: Inhalt sieht bereits soweit korrekt aus">
|
||||
<node COLOR="#338800" CREATED="1763231464249" FOLDED="true" ID="ID_154352881" MODIFIED="1764371309717" TEXT="erzeugtes Paket: Inhalt sieht bereits soweit korrekt aus">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1763231591988" ID="ID_936243550" MODIFIED="1763581876839" TEXT="bis auf die (fehlende) HTML-Hilfe">
|
||||
<arrowlink COLOR="#496dc4" DESTINATION="ID_1433247096" ENDARROW="Default" ENDINCLINATION="69;-61;" ID="Arrow_ID_1742637634" STARTARROW="None" STARTINCLINATION="-106;9;"/>
|
||||
|
|
@ -182715,7 +182834,7 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1763258013591" ID="ID_991309843" MODIFIED="1763258015747" TEXT="old-fsf-address-in-copyright-file"/>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1763257667287" ID="ID_1952761575" LINK="https://lintian.debian.org/tags/shared-library-is-executable.html" MODIFIED="1764032004628" TEXT="shared-library-is-executable 0755 [usr/lib/lumiera/modules/gtk_gui.lum]">
|
||||
<node COLOR="#435e98" CREATED="1763257667287" ID="ID_1952761575" LINK="https://lintian.debian.org/tags/shared-library-is-executable.html" MODIFIED="1764357473257" TEXT="shared-library-is-executable 0755 [usr/lib/lumiera/modules/gtk_gui.lum]">
|
||||
<arrowlink COLOR="#1f9cd9" DESTINATION="ID_1637872963" ENDARROW="Default" ENDINCLINATION="-1201;65;" ID="Arrow_ID_957935181" STARTARROW="None" STARTINCLINATION="-826;-24;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1763259348029" ID="ID_886594364" MODIFIED="1763259356317" TEXT="alle Shared-Libs sind executable"/>
|
||||
|
|
@ -182766,6 +182885,37 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
<font BOLD="true" NAME="SansSerif" SIZE="10"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#c5491c" CREATED="1764371268124" ID="ID_171473073" MODIFIED="1764371299137" TEXT="(als »falscher Alarm« klassifiziert)">
|
||||
<font NAME="SansSerif" SIZE="9"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1764357469452" ID="ID_1091054108" MODIFIED="1764357784271">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
doc-base-file-references-missing-file /usr/share/doc/lumiera/README.<b><font color="#e51616">d</font></b>ebian
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
dämlicher Typo
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1764357469453" ID="ID_994389541" MODIFIED="1764359540258" TEXT="W: lumiera source: missing-field-in-dep5-copyright License [debian/copyright:21]">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1764357853462" ID="ID_474366810" MODIFIED="1764357876480" TEXT="ja ja .... da ist eine File-Stanza unvollständig">
|
||||
<icon BUILTIN="ksmiletris"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1764357877942" ID="ID_1422312446" MODIFIED="1764359542961" TEXT="auch die Debianisierung ist GPL2+">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1763258319446" ID="ID_973373524" MODIFIED="1763945409000" TEXT="»/usr/share/doc-base/lumiera.lumiera«, Zeile 16: alle »Format«-Abschnitte sind ungültig.">
|
||||
|
|
@ -182781,7 +182931,8 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
<arrowlink COLOR="#7e2e43" DESTINATION="ID_791117820" ENDARROW="Default" ENDINCLINATION="-157;-17;" ID="Arrow_ID_1399617171" STARTARROW="None" STARTINCLINATION="723;58;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node CREATED="1763168982818" ID="ID_1121026746" MODIFIED="1763168997368" TEXT="Paket-Dokumente">
|
||||
<node COLOR="#338800" CREATED="1763168982818" FOLDED="true" ID="ID_1121026746" MODIFIED="1764371325088" TEXT="Paket-Dokumente: nun OK">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1763170279597" ID="ID_520590054" MODIFIED="1763861141458" TEXT="sollte handgeschriebenes Changelog in NEWS pflegen">
|
||||
<arrowlink COLOR="#199f6d" DESTINATION="ID_1051001254" ENDARROW="Default" ENDINCLINATION="-2411;128;" ID="Arrow_ID_465720111" STARTARROW="None" STARTINCLINATION="-418;-611;"/>
|
||||
<linktarget COLOR="#052cc9" DESTINATION="ID_520590054" ENDARROW="Default" ENDINCLINATION="370;18;" ID="Arrow_ID_1493343123" SOURCE="ID_1498381529" STARTARROW="None" STARTINCLINATION="26;165;"/>
|
||||
|
|
@ -183047,8 +183198,9 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
<node CREATED="1763655015588" ID="ID_266725238" LINK="https://standards.freedesktop.org/menu-spec/latest/" MODIFIED="1763655039503" TEXT="Desktop-Menu-Spec"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1763640557556" FOLDED="true" ID="ID_969306745" MODIFIED="1763769989478" TEXT="Konsequenz ⟹ menu durch lumiera.desktop ersetzen">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1763640557556" FOLDED="true" ID="ID_969306745" MODIFIED="1764359117552" TEXT="Konsequenz ⟹ menu durch lumiera.desktop ersetzen">
|
||||
<linktarget COLOR="#319dc0" DESTINATION="ID_969306745" ENDARROW="Default" ENDINCLINATION="23;72;" ID="Arrow_ID_1206414200" SOURCE="ID_1930291382" STARTARROW="None" STARTINCLINATION="83;5;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1763657988933" ID="ID_508360945" MODIFIED="1763676156580" TEXT="lumiera.desktop">
|
||||
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
|
||||
<node CREATED="1763676158179" ID="ID_1090361326" MODIFIED="1763676165918" TEXT="gemäß Beispiel von yoshimi"/>
|
||||
|
|
@ -183151,6 +183303,10 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#095754" CREATED="1764359066370" ID="ID_1930291382" MODIFIED="1764359129175" TEXT="Test mit RC2 : jetzt taucht das Icon im Menü auf">
|
||||
<arrowlink COLOR="#319dc0" DESTINATION="ID_969306745" ENDARROW="Default" ENDINCLINATION="23;72;" ID="Arrow_ID_1206414200" STARTARROW="None" STARTINCLINATION="83;5;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1763170522531" FOLDED="true" ID="ID_301822628" MODIFIED="1763938206301" TEXT="debian/copyright">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1763170532211" ID="ID_479802280" MODIFIED="1763170545485" TEXT="das wird installiert als /usr/share/doc/lumiera/copyright"/>
|
||||
|
|
@ -183302,6 +183458,202 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1764350949125" FOLDED="true" ID="ID_1549086829" MODIFIED="1764356838464" TEXT="Aua! .sconsign.dblite ändert sich für clean-build">
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764351026882" ID="ID_1604394775" MODIFIED="1764356834155" TEXT="dpkg-source erkennt das als Änderung der Quellen">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node CREATED="1764351013228" ID="ID_219025627" MODIFIED="1764356827769" TEXT="warum ist mir das bisher nie aufgefallen?">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Hypothese: ich hab bisher nie aus einem komplett gecleanten Git-Tree heraus gebaut, sondern das Signaturfile war bereits da und es wurden daher zumindest die Plattform-Tests gecached. Vielleicht lag es aber auch daran, daß bisher CDBS das SCons clean erst nach der Source-Erstellung aufgerufen hat?
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1764351754531" ID="ID_554457709" MODIFIED="1764356771295" TEXT="Lösung: man kan dpkg-source speziell konfigurieren">
|
||||
<arrowlink COLOR="#2285d4" DESTINATION="ID_1478886777" ENDARROW="Default" ENDINCLINATION="-1282;116;" ID="Arrow_ID_665398434" STARTARROW="None" STARTINCLINATION="-904;50;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1764352620013" ID="ID_464710745" MODIFIED="1764352628641" TEXT="lege debian/source/options an"/>
|
||||
<node CREATED="1764353828541" ID="ID_133874045" MODIFIED="1764353839455" TEXT="dort .sconsign.dblite ausnehmen">
|
||||
<node CREATED="1764353857008" ID="ID_830318781" MODIFIED="1764353873756" TEXT="tar-ignore = .sconsign.dblite">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
soll nicht in den Orig-Source-Tarball
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1764353857009" ID="ID_1302939766" MODIFIED="1764353893233" TEXT="extend-diff-ignore = "^.sconsign.dblite"">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Änderungen daran sollen ignoriert werden, da sonst der Paketbau nach dem ersten Clean abbrechen würde
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1764356856976" FOLDED="true" ID="ID_742536531" MODIFIED="1764371587481" TEXT="die bekannten Scheduler-Tests scheitern wieder mal">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
WorkForce_test und SchedulerStress_test
|
||||
</p>
|
||||
<p>
|
||||
Der Paket-Build ist eine schwierige Ausgangssituation, da kurz vorher das System unter Vollast stand. Es ist mir zwar gelungen, die Tests im normalen Entwicklungs-Setup weithin zuverlässig zu bekommen, aber es ist nahezu unmöglich, herauszufinden, was genau beim Paketbuild dann doch anders läuft
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1764357038772" ID="ID_1002666567" MODIFIED="1764357055800" TEXT="Beschluß: diese vorerst herausgenommen">
|
||||
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node CREATED="1764357056699" ID="ID_55125005" MODIFIED="1764357065206" TEXT="diese Tests dienen einem anderen Zweck"/>
|
||||
<node CREATED="1764357070374" ID="ID_720241731" MODIFIED="1764357085231" TEXT="wir bräuchten eigentlich mehrere Testsuiten und Kategorien"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1764360009884" ID="ID_1025914144" MODIFIED="1764366875358" TEXT="Container-Testläufe">
|
||||
<node COLOR="#5b280f" CREATED="1764360020402" FOLDED="true" ID="ID_1285822876" MODIFIED="1764362755935" TEXT="debian:forky-20251117⁠">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node CREATED="1764361077474" ID="ID_1244067494" MODIFIED="1764361100304" TEXT="Ooops ... hier fehlen mir ja die nobug und GDL-Pakete"/>
|
||||
<node BACKGROUND_COLOR="#e3be99" COLOR="#690f14" CREATED="1764362578023" ID="ID_406858656" MODIFIED="1764362751128" TEXT="Abbruch: Bauen auf Forky hat derzeit keinen Sinn">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Forky ist im Moment noch weitgehend identisch zu Trixie; daher hatte ich es ja auch (noch) nicht als unterstützte Platform definiert. Das wird erst in etwa einem Jahr sinnvoll sein, wenn sich Forky deutlich weiterentwickelt hat. Insofern ist es jetzt auch (noch) nicht sinnvoll, die Vorläuferpakte zu bauen, denn sie werden in einem Jahr obsolet sein
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="stop-sign"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1764360941976" FOLDED="true" ID="ID_446182876" MODIFIED="1764371644141" TEXT="ubuntu:noble-20251013">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764361573825" ID="ID_1418745104" MODIFIED="1764361594502" TEXT="Fix:Lumiera-Paketspeck für Ubuntu/noble verwenden">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1764361603522" ID="ID_1626483670" MODIFIED="1764361612277" TEXT="mk-build-dep funktioniert">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1764362085126" ID="ID_102171633" MODIFIED="1764362905038" TEXT="Noble hat standardmäßig gcc-13">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1764362104099" ID="ID_1374260351" MODIFIED="1764362115502" TEXT="apt install gcc-14 g++-14"/>
|
||||
<node CREATED="1764362124241" ID="ID_1231047399" MODIFIED="1764362127060" TEXT="update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 60 --slave /usr/bin/g++ g++ /usr/bin/g++-14"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764362906713" ID="ID_1059101542" MODIFIED="1764366829099" TEXT="FileSupport_test .. FAILED">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
0000000515: CHECK: file-support-test.cpp:85: thread_1: simplifiedPermissionAccess: (not out.good())
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<icon BUILTIN="stop-sign"/>
|
||||
<node CREATED="1764363179723" ID="ID_967575911" MODIFIED="1764363187999" TEXT="reproduzierbar bei Einzelaufruf"/>
|
||||
<node COLOR="#5b280f" CREATED="1764363189842" ID="ID_488646700" MODIFIED="1764363455031" TEXT="Vermutung: Status-Handling verhält sich anders">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1764363457519" ID="ID_173910291" MODIFIED="1764363462897" TEXT="das ist es nicht..."/>
|
||||
<node CREATED="1764363463750" ID="ID_766902710" MODIFIED="1764363470622" TEXT="auch wenn ich das File nachher erst schließe"/>
|
||||
</node>
|
||||
<node CREATED="1764363479076" ID="ID_1286526631" MODIFIED="1764363493353" TEXT="Permissions im Filesystem angeschaut (unter /tmp/LUX....)">
|
||||
<node CREATED="1764363498902" ID="ID_722308373" MODIFIED="1764363508447" TEXT="Gruppe darf ja alles!"/>
|
||||
<node CREATED="1764363509119" ID="ID_1013697687" MODIFIED="1764363520662" TEXT="das soll auch so sein lt. Test"/>
|
||||
</node>
|
||||
<node CREATED="1764363569912" ID="ID_1522071383" MODIFIED="1764363624511" TEXT="wir laufen hier als "root" mit Gruppe "root" ...">
|
||||
<node CREATED="1764363626064" ID="ID_3037566" MODIFIED="1764363643302" TEXT="... und deshalb können wir via Gruppe schreiben"/>
|
||||
<node CREATED="1764363644190" ID="ID_88609728" MODIFIED="1764363662258" TEXT="⟹ der Test wäre dämlich">
|
||||
<icon BUILTIN="smiley-oh"/>
|
||||
</node>
|
||||
<node COLOR="#5b280f" CREATED="1764364040573" ID="ID_263551379" MODIFIED="1764364059766" TEXT="versuche mal "group" und "others" auszutauschen">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
</node>
|
||||
<node CREATED="1764364060950" ID="ID_570395681" MODIFIED="1764364065628" TEXT="bringt nix">
|
||||
<icon BUILTIN="smily_bad"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764364072672" ID="ID_756182727" MODIFIED="1764364102443" TEXT="versuche in der Shell in diese Datei zu schreiben.... ⟹ geht">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1764364105136" ID="ID_1855997710" MODIFIED="1764364119426" TEXT="ich bin ein Trottel! Root darf alles!!!!">
|
||||
<node CREATED="1764364125037" ID="ID_345849106" MODIFIED="1764364133544" TEXT="ja dann KANNs gar icht funktionieren"/>
|
||||
<node CREATED="1764364797034" ID="ID_107586346" MODIFIED="1764364815488" TEXT="das kann ich nicht einfach fixen"/>
|
||||
</node>
|
||||
<node COLOR="#5b280f" CREATED="1764364817527" ID="ID_1553387755" MODIFIED="1764364840354" TEXT="Test deaktivieren ⟹ auf später vertagt">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1764365369121" ID="ID_1414943353" MODIFIED="1764365398221" TEXT="das ist kein Kern-Thema"/>
|
||||
<node CREATED="1764365399119" ID="ID_1106358115" MODIFIED="1764365415511" TEXT="es geht um einen Convenience-Wrapper für File-Permissions"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764365027035" ID="ID_1081045038" MODIFIED="1764366829099" TEXT="IncidenceCount_test .. FAILED">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
CHECK: incidence-count-test.cpp:127: thread_1: verify_incidentCount: (isLimited ( 5500, stat.timeCase(1), 6800))
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<icon BUILTIN="stop-sign"/>
|
||||
<node CREATED="1764365273311" ID="ID_10629902" MODIFIED="1764365280625" TEXT="wieder so ein Timing-Test"/>
|
||||
<node CREATED="1764365320742" ID="ID_1476763575" MODIFIED="1764365362252" TEXT="auch das ist ein Randthema ... Test-Hilfsmittel"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764365482037" ID="ID_807549421" MODIFIED="1764365490685" TEXT="Failure ist nicht reproduzierbar">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1764366835781" ID="ID_284083757" MODIFIED="1764366842450" TEXT="danach läuft der Paketbuild durch">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1764366843304" ID="ID_866301475" MODIFIED="1764366855292" TEXT="Paket läßt sich installieren (dpkg -i )">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#174956" COLOR="#8dfd49" CREATED="1764371095103" ID="ID_1369130568" MODIFIED="1764371243253" STYLE="bubble" TEXT="Stand: alle bekannten Probleme adressiert">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Das DEB-Paket ist nun <b>reif für das Release</b>
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Paketinhalt ist nun so wie definiert
|
||||
</li>
|
||||
<li>
|
||||
alle relevanten Lintian-Meldungen wurden behoben
|
||||
</li>
|
||||
<li>
|
||||
Lumiera wird nun korrekt ins Menü eingebunden
|
||||
</li>
|
||||
<li>
|
||||
einige instabile Tests (von marginaler Bedeutung) wurden per Patch deaktiviert
|
||||
</li>
|
||||
<li>
|
||||
Paketbau auch auf Ubuntu/Noble bestätigt
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<edge COLOR="#61fe5b" STYLE="bezier" WIDTH="thin"/>
|
||||
<font NAME="SansSerif" SIZE="16"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -183318,6 +183670,81 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
<node CREATED="1763916882643" ID="ID_308388317" MODIFIED="1763916923660" TEXT="Mastodon"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1764358259303" FOLDED="true" ID="ID_938804811" MODIFIED="1764358876931" TEXT="wie könnte man das verbessern?">
|
||||
<font NAME="SansSerif" SIZE="12"/>
|
||||
<icon BUILTIN="help"/>
|
||||
<icon BUILTIN="stop-sign"/>
|
||||
<node CREATED="1764358284378" ID="ID_1742014935" MODIFIED="1764358310787" TEXT="unsere internen SO-Libs haben keinen für Debian sinnvollen SONAME">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
dpkg-shlibdeps: Warnung: Name und Version können nicht aus Bibliotheksnamen »liblumierasteam.so« entnommen werden
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1764358424262" ID="ID_1864933492" MODIFIED="1764358509225" TEXT="wir haben bisher nur einen Fallback auf den Library-Filenamen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
LumieraEnvironment.py, Line 391:
|
||||
</p>
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<div style="background-color: #eee0b5; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 2px">
|
||||
<div style="color: #202020; background-color: #eee0b5; font-family: Bitstream Vera Sans Mono; font-size: 9pt; white-space: pre">
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#116f8c"><b>def</b></font><font color="#33361c"> </font><font color="#00b479"><b>defineSoname</b></font><font color="#33361c"> </font><font color="#000000">(</font><font color="#1f6065"><i>self</i></font><font color="#000000">,</font><font color="#33361c">  target</font><font color="#000000">,</font><font color="#33361c"> </font><font color="#000000">**</font><font color="#33361c">kw</font><font color="#000000">)</font><font color="#33361c">:</font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#00aa00"><i>""" internal helper to extract or guess</i></font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#00aa00"><i>a suitable library SONAME, either using an</i></font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#00aa00"><i>explicit spec, falling back on the lib filename</i></font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#00aa00"><i>"""</i></font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#116f8c"><b>if</b></font><font color="#33361c"> </font><font color="#00aa00"><i>'<u>soname</u>'</i></font><font color="#33361c"> </font><font color="#116f8c"><b>in</b></font><font color="#33361c">  kw:</font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#33361c">soname </font><font color="#000000">=</font><font color="#33361c"> </font><font color="#1f6065"><i>self</i></font><font color="#33361c">.subst</font><font color="#000000">(</font><font color="#33361c">kw</font><font color="#000000">[</font><font color="#00aa00"><i>'<u>soname</u>'</i></font><font color="#000000">])</font><font color="#33361c">  </font><font color="#be9e7b"># explicitly defined by user</font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
<font color="#116f8c"><b>else</b></font><font color="#33361c">: </font><font color="#be9e7b"># else: use the library filename as DT_SONAME</font>
|
||||
</p>
|
||||
<p style="margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0">
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1764358519239" ID="ID_1934407664" MODIFIED="1764358544359" TEXT="es ist noch nicht klar ob/was wir jemals mit Shared-Libs machen">
|
||||
<icon BUILTIN="stop-sign"/>
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node CREATED="1764358549207" ID="ID_991774659" MODIFIED="1764358566652" TEXT="werden wir jemals typische »Libraries« produzieren und installieren?"/>
|
||||
<node CREATED="1764358789151" ID="ID_287407387" MODIFIED="1764358805178" TEXT="wir könnten ansonsten intern einen SONAME setzen, der Debian glücklich macht"/>
|
||||
<node CREATED="1764358807060" ID="ID_1139863689" MODIFIED="1764358861714" TEXT="oder man kann dpkg-shlibdeps irgendwie anweisen, bestimmte Libs zu ignorieren?">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Die Manpage ist komplex, und das Thema auch ... so auf die Schnelle verstehe ich nicht, was hier von wem wie ausgewertet wird
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1762963294062" ID="ID_1025850273" MODIFIED="1763916824451" TEXT="für Doku: separates Paket lumiera-doc">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
|
|
@ -184210,7 +184637,7 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1704063600555" ID="ID_1733077970" MODIFIED="1762959189539" TEXT="Paket anpassen">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node CREATED="1762959194284" ID="ID_340181586" MODIFIED="1762959239961" TEXT="muß umstellen auf dh">
|
||||
<node COLOR="#435e98" CREATED="1762959194284" ID="ID_340181586" MODIFIED="1764359330416" TEXT="Paket umgestellt auf dh">
|
||||
<arrowlink COLOR="#6a3c80" DESTINATION="ID_118703200" ENDARROW="Default" ENDINCLINATION="799;95;" ID="Arrow_ID_127516976" STARTARROW="None" STARTINCLINATION="580;-41;"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1743343397021" ID="ID_1261819355" MODIFIED="1762959188656" TEXT="Dependencies">
|
||||
|
|
@ -184317,6 +184744,7 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
<node BACKGROUND_COLOR="#fdd095" COLOR="#ff1e00" CREATED="1704063600555" ID="ID_115167288" MODIFIED="1742178666224" TEXT="lokal Installation getestet">
|
||||
<linktarget COLOR="#5ffe1d" DESTINATION="ID_115167288" ENDARROW="Default" ENDINCLINATION="173;0;" ID="Arrow_ID_1656807903" SOURCE="ID_964482016" STARTARROW="None" STARTINCLINATION="274;28;"/>
|
||||
<icon BUILTIN="flag-orange"/>
|
||||
<node COLOR="#435e98" CREATED="1764359425634" HGAP="37" ID="ID_528720095" MODIFIED="1764359440917" TEXT="zunächst direkt mit dpkg -i" VSHIFT="28"/>
|
||||
<node BACKGROUND_COLOR="#fdd095" COLOR="#ff1e00" CREATED="1727143416876" HGAP="26" ID="ID_1399233982" MODIFIED="1742178666224" TEXT="Smoke-Test" VSHIFT="8">
|
||||
<icon BUILTIN="flag-orange"/>
|
||||
</node>
|
||||
|
|
@ -184708,6 +185136,25 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fafe99" COLOR="#fa002a" CREATED="1764371407485" ID="ID_1887006763" MODIFIED="1764371418128" STYLE="fork" TEXT="TODO">
|
||||
<edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
|
||||
<icon BUILTIN="bell"/>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1764371421344" ID="ID_1203247294" MODIFIED="1764371427564" TEXT="Trac läuft nicht">
|
||||
<icon BUILTIN="flag-pink"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1764371433737" ID="ID_126616476" MODIFIED="1764371447202" TEXT="dort nachzutragen...">
|
||||
<icon BUILTIN="bell"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1764371478768" ID="ID_579277015" LINK="#ID_765634393" MODIFIED="1764371503089" TEXT="#965 hat sich (offensichtlich) durch Platform-Upgrade erledigt">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1764371537907" ID="ID_1328138553" LINK="#ID_742536531" MODIFIED="1764371570340" TEXT="neues Ticket: Timing-Tests sind notorisch unzuverlässig">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1764371603562" ID="ID_1152573390" LINK="#ID_1059101542" MODIFIED="1764371658299" TEXT="FileSupport_test : Check scheitert wenn als 'root' ausgeführt">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1689610305547" ID="ID_1569437785" MODIFIED="1689610311743" TEXT="QA-testing">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node CREATED="1689610320586" ID="ID_1544042895" MODIFIED="1689610323417" TEXT="Acceptance"/>
|
||||
|
|
@ -184933,7 +185380,7 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
</node>
|
||||
<node CREATED="1561238618311" ID="ID_1197206022" MODIFIED="1561311521089" TEXT="Plattform-Evolution">
|
||||
<icon BUILTIN="go"/>
|
||||
<node COLOR="#435e98" CREATED="1561238627847" ID="ID_776424925" MODIFIED="1561311477641" TEXT="Juni 2019">
|
||||
<node COLOR="#435e98" CREATED="1561238627847" FOLDED="true" ID="ID_776424925" MODIFIED="1561311477641" TEXT="Juni 2019">
|
||||
<node COLOR="#338800" CREATED="1561238635358" FOLDED="true" ID="ID_584004962" MODIFIED="1561311515592" TEXT="Ubuntu/Bionic - libboost 1.65">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
|
|
@ -185143,24 +185590,43 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1764372414752" FOLDED="true" ID="ID_682909979" MODIFIED="1764372748052" TEXT="Nov 2025">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Reguläres Upgrade der »Referenz-Plattform« ⟼ Debian/Trixie.
|
||||
</p>
|
||||
<p>
|
||||
Diese relevanten Versionen sind allesamt sehr knapp gewählt, unterstüzten aber auch noch Ubuntu/Noble (24.04)
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<node CREATED="1764372625087" ID="ID_457071137" MODIFIED="1764372633283" TEXT="GCC-14"/>
|
||||
<node CREATED="1764372428611" ID="ID_1850778581" MODIFIED="1764372518966" TEXT="Boost 1.83"/>
|
||||
<node CREATED="1764372482946" ID="ID_1272740812" MODIFIED="1764372489048" TEXT="Python 3.10"/>
|
||||
<node CREATED="1764372490871" ID="ID_1381433382" MODIFIED="1764372504161" TEXT="SCons 4.x < 4.10"/>
|
||||
</node>
|
||||
<node CREATED="1756830145491" ID="ID_1909194712" MODIFIED="1756830156650" TEXT="Website">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#fafe99" COLOR="#fa002a" CREATED="1756830158871" ID="ID_207712886" MODIFIED="1756830168645" TEXT="TODO">
|
||||
</node>
|
||||
<node CREATED="1756830145491" FOLDED="true" ID="ID_1909194712" MODIFIED="1764372412621" TEXT="Website">
|
||||
<icon BUILTIN="go"/>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1756830158871" ID="ID_207712886" MODIFIED="1764372377339" TEXT="spätermal...">
|
||||
<icon BUILTIN="bell"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1756830177726" ID="ID_534650716" MODIFIED="1756830193831" TEXT="klären: Donations-Page">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1756830177726" FOLDED="true" ID="ID_534650716" MODIFIED="1764371703194" TEXT="klären: Donations-Page">
|
||||
<icon BUILTIN="bell"/>
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node CREATED="1756830202685" ID="ID_1184692288" MODIFIED="1756830217995" TEXT="bei der ffis sind wir schon lange nicht mehr als "aktiv" geführt"/>
|
||||
<node CREATED="1756830218755" ID="ID_218868534" MODIFIED="1756830228917" TEXT="derzeit brauchen wir keine Donations"/>
|
||||
<node CREATED="1762807182980" ID="ID_745470168" MODIFIED="1762807200534" TEXT="heute wäre man auf Patreon">
|
||||
<icon BUILTIN="ksmiletris"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1756830229931" ID="ID_679146016" MODIFIED="1762807176039" TEXT="2025-11 : Seite entfernt">
|
||||
<linktarget COLOR="#882246" DESTINATION="ID_679146016" ENDARROW="Default" ENDINCLINATION="311;0;" ID="Arrow_ID_909744060" SOURCE="ID_989483889" STARTARROW="None" STARTINCLINATION="756;65;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1756830229931" ID="ID_679146016" MODIFIED="1764371675149" TEXT="2025-11 : Seite entfernt">
|
||||
<linktarget COLOR="#4b2288" DESTINATION="ID_679146016" ENDARROW="Default" ENDINCLINATION="311;0;" ID="Arrow_ID_909744060" SOURCE="ID_989483889" STARTARROW="None" STARTINCLINATION="756;65;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1762808890286" ID="ID_131015626" MODIFIED="1762808904630" TEXT="klären: Kennzeichnungspflichten">
|
||||
<node COLOR="#435e98" CREATED="1762808890286" FOLDED="true" ID="ID_131015626" MODIFIED="1764372348620" TEXT="klären: Kennzeichnungspflichten">
|
||||
<icon BUILTIN="bell"/>
|
||||
<node CREATED="1762809020022" ID="ID_1893539317" LINK="https://de.wikipedia.org/wiki/Impressumspflicht" MODIFIED="1762809028315" TEXT="Impressumspflicht">
|
||||
<node CREATED="1762808996576" ID="ID_1779321871" MODIFIED="1762809032243" TEXT="Telemediengesetz 2007"/>
|
||||
|
|
@ -185232,6 +185698,41 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
|
|||
<node CREATED="1762879172664" ID="ID_450772311" MODIFIED="1762879298461" TEXT="Lizenz-Fragen">
|
||||
<arrowlink COLOR="#6f7dba" DESTINATION="ID_856231519" ENDARROW="Default" ENDINCLINATION="-1342;134;" ID="Arrow_ID_846772487" STARTARROW="None" STARTINCLINATION="-985;-1050;"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1764371734600" ID="ID_228486004" MODIFIED="1764371755555" TEXT="soll ich bei dem Thema »Logdateien« nochmal nachhaken (Christian)?">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1764371757915" ID="ID_1398506323" MODIFIED="1764371987679" TEXT="fraglich ob das was bringt">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
das inhärente Problem können wir nicht lösen: wir haben nämlich keinen <i>geordneten Betrieb,</i> weil wir keine Firma sind, sondern uns irgendwie durchwurschteln. Nur auf dieser Basis funktioniert unser Projekt ... leider kann eine zunehmende Regulierung so etwas nicht gestatten, und treibt damit all die »Kleinen« in die Arme des Plattform-Kapitalismus
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1764371764867" ID="ID_384707897" MODIFIED="1764372317310" TEXT="könnte kontraproduktiv sein">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<ul>
|
||||
<li>
|
||||
Das ganze Thema Server führt immer zu Spannungen, sobald wir drüber reden. Es geht so lange wunderbar gut, wie die Kiste „irgendwie tut“ und man Christian vertraut...
|
||||
</li>
|
||||
<li>
|
||||
Und noch wichtiger: die Rechtslage ist mir nicht klar. Inwiefern sind wir verpflichtet, unsere Prozeduren überhaupt zu konkretisieren? Genügt es nicht, daß wir uns pauschal zum Datenschutz verpflichten? Letztlich läuft unser Setup darauf hinaus, daß irgend jemand diesen Server nach den »Regeln des Handwerks« betreibt und sonst niemand drauf darf. Und letztlich erheben und extrahieren wir ja tatsächlich keine Daten. <i>Auf diese Situation bezogen</i> hab ich Bedenken, daß wir uns in falsche Tatsachenbehauptungen hineinmanövrieren, wenn wir suggerieren, bestimmte Prozeduren zu haben.
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1764371793602" ID="ID_1939457320" MODIFIED="1764371821943" TEXT="(im Grunde interessiert das Ganze keine Sau)">
|
||||
<font NAME="SansSerif" SIZE="10"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1764372327206" ID="ID_177616317" MODIFIED="1764372346089" TEXT="sagen wir: besser als vorher und vorerst abgehakt">
|
||||
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
|
|||
Loading…
Reference in a new issue