Hi Thomas
On 19.07.2015 11:19, Thomas Trepl wrote:
Hi Tim,
it has been said enough regarding the maintenance of newly added
packages.
One thing I'm interested in would be the theory of making a
"distribution". As you said you have a distro, I'd be interested in how
you manage dependencies. Required dependencies are simple, but how do
you handle recommended/optionals? What about the difference between
runtime- and build-dependencies (that is for example cmake required for
building, but not for runtime). And how to handle circular depedencies?
Even the package management may not be full featured in automatically
install all required pkgs, it is required to have them on the building
machine
1. Optional dependencies
------------------------
I basically handle recommended/optional by allowing multiple variants of
one package. Only one variant may be installed. Two variants can (will)
have different dependencies. There can be a default variant, if there is
none, the user has to decide which one to install. On a system, the
variant of a package can be switched, which will then also install the
new dependencies and remove the old ones, if they are not needed
elsewhere. To have an example:
Package: mousepad
Dependency: gtk-sourceview2-lib
Dependency: gtk2-lib
Package: mousepad
Variant: gtk3
Dependency: gtk-sourceview3-lib
Dependency: gtk3-lib
Dependency: some_optional_package_not_in_the_other_variant
Package: mousepad
Variant: gtk3_opt1
Dependency: gtk-sourceview3-lib
Dependency: gtk3-lib
Dependency: opt1
Here, the first package would be the default variant (it has no variant
name defined, "Variant: default" does also work.
The other two are variants based on other dependencies. The first is
usually stated in the book as "gtk3 or gtk2", the latter is an optional
dependency.
The decision what variants I actually create are made be my, but if
needed, I/somebody could always create a variant with other desired
optional packages included and then install that.
2. Run-Time / Build Dependencies
---------------------------------
A package always only states the run-time dependencies, as I currently
don't have a source package definition. Build dependencies are just
taken from the book and then currently buried in directories/shell scripts.
As the book often does usually not state explicitly which of the
dependencies are run-time or build, I have to just use my brain a bit.
cmake will hardly ever be a run-time dependency.
3. Circular Dependencies
------------------------
In my selection of packages, I only had few cases of circular run-time
dependencies: util-linux/udev and freetype/harfbuzz come to mind. Well,
I don't like them, but I handle/allow them. Was quite a bit of
complication to the dependency resolver....
If you are interested in the implementation details you can write me off
the list, as this probably gets a bit off-topic for most people. The
distribution is called "lgl", "Laconian Gnu Linux" and the Package
Manager "lpm", "laconian package manager".
Kind regards
Tim
--
Thomas
Am Samstag, den 18.07.2015, 21:31 +0200 schrieb Tim Tassonis:
Hi all
As I'm steadily completing my lfs/blfs based distribution, I've come
across a few packages that are neither in lfs/blfs, but i my opinion
generally useful.
My question is: Is there any demand for more packages in blfs, or is the
current set more or less what's indended?
The packages I have built on top and in spirit of blfs and would view as
possible additions are:
- volumeicon: A nice systray volume control for also, using alsamixer as
mixer and else only depending on gtk. Actively maintained.
- openvpn: SSL VPN client/server solution based on openssl and lzo
- rdesktop: rdp client to connect to windows desktops
I'd be willing to provide the descriptions in BLFS style, if there is a
demand for that.
Cheers
Tim
--
decentral.ch - IT Stuff
Tim Tassonis
Dennlerstasse 36
8047 Zürich
[email protected]
+41 79 229 36 17
--
decentral.ch - IT Stuff
Tim Tassonis
Dennlerstasse 36
8047 Zürich
[email protected]
+41 79 229 36 17
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page