Home | News | Download | Packages | Forum | Wiki | Github

Why are there packages in the repos with capital letters


Hey together,

I’m new to void from a 5 year Arch journey and one of the first things I stumbled upon are the package names with Capitals (e.g. Thunar).
Is there any reason for this? It would be nice to have lowercase package names only :slight_smile:
Maybe we can change them before the workload is to big because of reused packages.


Your WTFs and frustrations in Void

This issue was already discussed. The point is, we do not use modified names from the download links that the developers offer. This means, if a package is offered with capital letters, because the developer decided it, we will use it as it is being offered.

Tip: xbps-query -Rs string does not care about Capitals.



Ok, seems kind of reasonable.

I didn’t tried it yet, but is it possible to have a “Thunar” and a “thunar” package in the repo? If that’s the case, what would happen with xbps-query -Rs string?

Maybe there could be a restriction to use lowercase only?


(Masato the Empty) #5

Pretty sure It would show both. Actually, -s searches for the descriptions as well, so any package without [Tt]hunar in its name but referencing it in the description also comes up.

xbps-install still requires the correct case for installing packages. Because of that, I’d suspect that it is possible to have packages whose names vary in case only.


There’s quite a few packages like this in the BSD tree, I know FreeBSD’s screenFetch package is just that.


A bit infuriating but maybe there was a reason once, who knows…


Then it should be no problem if I start to mirror the packages with a new name or try to convince the maintainers :grin:

(Erin) #8

It used to be used for function names, i.e. myFunctionName, and I thought it was called Polish notation but it seems that the name isn’t correct but the method is. Wikipedia list it here. Java uses it a great deal and it seems to be called lowerCamelCase but that term is new to me.


Yeah, that’s common in programming even for me, but i don’t think this should be transfered to package names :sweat_smile:
I found the passage which describes the package naming in void https://github.com/voidlinux/void-packages/blob/master/Manual.md#programs

For those packages the upstream packages name should be used. Remember that in contrast to many other distributions, void doesn’t lowercase package names. As a rule of thumb, if the tar.gz of a package contains uppercase letter, then the package name should contain them too; if it doesn’t, the package name is lowercase.

Maybe change it?



No, respectfully, RTFM right off the ripper is THE correct way. How are we going to make conventions so that people have to remember 50 thousand ways to do things and theres no conventions. And when you’ve used all unixes since you were a child and then you find some people that are like bow RTFM it’s like ohhhhmahgawd bhawham right there ‘follow upstream’. That’s the BEST thing to see. If you need everything to be lowercase, or wanna duplicate packages in our repository for no reason and just vomit on everything I believe in it makes me feel violated like I keep my mind violated by people taking distributions and just throwing them away with clutter layers to make things simpler when RTFM is already the simplest way.

Edit: please don’t take this the wrong way I don’t mean nothin but love.


For screenFetch specifically it is because the author of that program has named it “screenFetch” exactly, with the capital F. Check the GitHub, I was confused too until I noticed it.

It comes down to a question of consistency. It’s great that Void is consistent about not modifying package names… but howmuch consistency is therefore sacrificed for packages which use strange, inconsistent names?

Some namings make a great deal of sense, for example the libX naming scheme for X packages. However names like screenFetch and AlsaMixer.app (the latter in particular blew my mind) should probably be normalized in the Void repository imho. Seems like that is something a maintainer would be expected to do, ensure sanity of packages’ naming schemes. Developers and package maintainers can and should think differently!

(Masato the Empty) #12

Not sure how important a point it is but there could be some relevance; quite often, package templates are genericized as far as they can be, and ${pkgname} (along with the version) is often used to build the download URL.

Especially when the release downloads are consistent between versions, making ${pkgname} exactly match the file download name, it means minimal changes are needed to a template if you’re just doing a release bump on a package. (possibly even just the version string)


@mowgli.gdf, np I understand your opinion.
Some part of me want the lowercase package names, the other is like: ok they don’t want to do it because they have their reasons. Maybe my first post was a little bit too pushy with the request to change it :slight_smile:
I looked for a explanation and now I found it.


Some feelings got in the way from both sides. Void is simple by nature, anything that requires change is heavily thought, in this case, the answer was to just follow what the author of the software wants you to download, easy peasy. However, to be clear, the first time I realized it, much like you, I did wanted the maintainers to change it, it felt horrible. Luckly, xbps-query cares very little about lowercase or uppercase, so my main issue was solved. I hope this helped you. This issue definitely taught me how Void work (it’s philosophy). Cheers

(Steve) #15

Ha! Tough love, gotta’ love tough love