Comments (3)
Short answer: modularity
The bl-* scripts in bunsen-utilities, although mostly called by internal things like pipemenus, are also intended to be available to a user who might want to use them for some reason. They are installed to /usr/bin (Actually, IMHO there might be a case, on the basis of the reasons below, for moving some of them to bunsen-pipemenus.)
While bl-alternatives and bl-gvim in bunsen-configs also install to /usr/bin, and are available to the user, they are essential for the correct working of the bl alternatives system, which is set up by bunsen-configs. That also adds a dpkg hook, installs .desktop files in /usr/share/applications, and uses references to eg bl-text-editor throughout the config files in skel.
bl-user-setup in bunsen-configs is installed to /usr/lib/bunsen/bunsen-configs and should only be called by lightdm, due to a setting in lightdm.conf, also installed by bunsen-configs.
So on the principle of not calling things in a package which are not provided by that package, or supplied by the system, I chose to put the necessary scripts in bunsen-configs. If they had gone in bunsen-utilities then that would need to be a hard dependency of bunsen-configs.
The aim was to make it as easy as possible for a user with special needs to install only a subset of packages from the BunsenLabs set without breaking too much. (Of course a certain level of inconvenience might be unavoidable.)
The whole topic of inter-package dependencies and the distribution of files between packages is, however, still open to discussion, and I'm ready to be convinced a different arrangement might be better.
from bunsen-configs.
OK. I was just asking because I was writing package content descriptions for the website and wondered whether I should remark the script content in -configs.
I do find the dependency configs -> utilities appropriate however. I'm in favour of moving the scripts to there. It's however a non-issue for me if the move doesn't happen.
from bunsen-configs.
At the moment bunsen-configs
"Recommends: bunsen-utilities"
so without b-u some functionality would be broken but the b-c package still remains useful.
However, if bl-user-setup is missing lightdm login becomes impossible. This is obviously unacceptable, so the choice is between a hard dependency on b-u and including bl-user-setup in bunsen-configs.
If bl-alternatives is missing the consequences are less severe: /etc/apt/apt.conf.d/90bunsen sets a dpkg hook, but if the file is missing things continue anyway, just without updating the BL alternatives.
I still feel that it's best to try and minimize possible issues with system-related stuff (being run by root) as opposed to userland scripts, and package the related files together - if you're OK with that in this case?
from bunsen-configs.
Related Issues (20)
- Super+w doesn't work on BL-Lithium ARM install... HOT 1
- Lithium bl-xdg-autostart script args faulty error trapping HOT 6
- Hyperlinks (e.g. in PDFs) open in non-default browser HOT 10
- skel/.config/bunsen/autostart: replace round brackets with curly brackets? HOT 4
- i want to ask HOT 2
- Change directory HOT 1
- Tint2 gitlab has new adress HOT 2
- add menu for hw-probe HOT 2
- Jgmenu systemreport shows too little information HOT 2
- [Suggestion] Thunar keybind / F4 to Open terminal here HOT 3
- Add subtle animations to compton. HOT 4
- installing .deb programs bugging my mousepad HOT 3
- ALT key is (maybe) being eaten by the desktop HOT 4
- bl-user-setup doesn't work with domain join users HOT 4
- skel/.config/blob/: tint2 config file names do not match those in skel/.config/tint2 HOT 1
- lightdm: Set greeter-hide-users=false to show available users in greeter HOT 5
- Update bl-mpv for mpv=0.23 and provide skel/.config/mpv/mpv.conf HOT 2
- mpv config: window is forced even when running mpv in terminal HOT 6
- mpv config: BL uses the deprecated [pseudo-gui] profile HOT 2
- /grub2/i386-pc/normal.mod not Found when Booting HELIUM5 AMD64 Installation from an USB-drive HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bunsen-configs.