Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
That's not quite true. Source packages aren't usually written for any particular distro. It's the binary packages that are distro-specific. But a source package can still do with a maintainer.
Wouldn't that be the same as the application developer(s)?
Any example of distro-agnostic source packages (that have a maintainer)?
Distribution: Currently: OpenMandriva. Previously: openSUSE, PCLinuxOS, CentOS, among others over the years.
Posts: 3,881
Rep:
Quote:
Originally Posted by hazel
So what about C-library calls? Linux uses GNU libc; the BSD's have their own versions. Would that make a difference?
Well, that's probably the elephant in the room so to speak... I assume if it's using functions only available in the GNU C library that aren't available in the BSD C library, then it's Linux-specific, otherwise it isn't.
An orphan package would need to be maintained by someone other than the developer. I felt compelled to take under my wing an orphan program called pmw that I have used a lot and have a high opinion of. It was developed by the same man who helped to write exim, but more as a personal project, I think. He was interested in music and this is a music-writing program. Then suddenly this year both the website that hosted it and the email address of the developer vanished from sight. As far as I could see, I was the only one to have the latest version (which I had downloaded earlier for my personal use), though there are copies of an earlier version in some repos. So I put it up on Sourceforge; I didn't want it to be lost to the community.
I guess that makes me the maintainer, but I certainly can't patch or alter it. My programming skills don't extend to anything like that.
Oh dear! I really should read more carefully, shouldn't I.
Sorry!
Just for interest, how far is a source packages Linux-specific? I mean, quite a lot of Linux software is used on BSD as well. Does someone have to patch the programs to run on the different OS or is it just a matter of compiling them in that environment?
a package is only a package when something is bundled up into a package along with metadata that describes said package.
source code should not be considered a package
Unless it is a source code package crafted for a specific package manager, and thus has added metadata.
You will get yourself tied in knots trying to answer the OP's question(s).
as for compiling
for brevity ./configure is a shell script
it figures out what it is running on and generates appropriate Makefile
for example, a snippet from configure.ac of grub
Code:
# This normalizes the names, and creates a new variable ("host_kernel")
# while at it, since the mapping is not always 1:1 (e.g. different OSes
# using the same kernel type).
case "$host_os" in
gnu*) host_kernel=hurd ;;
linux*) host_kernel=linux ;;
freebsd* | kfreebsd*-gnu) host_kernel=kfreebsd ;;
netbsd*) host_kernel=netbsd ;;
solaris*) host_kernel=illumos ;;
cygwin | windows* | mingw32*) host_kernel=windows ;;
esac
#
The Makefile sets appropriate flags,
those flags can then change the code compiled
once you compile it, tar it up, and then package that tarball with metadata describing the package, its prerequisites i.e the binary compatible library vesions you compiled it against.
I've just tried that. Thanks for the hint. I couldn't remember the actual page address so I searched for the site as such. Got only one hit from that site and it wasn't pmw, just some text about robots. AFAIR you can get the old address in full from the Wikipedia article on Philip's Music Writer and from the AUR record, but Wikipedia has reclassied it as a dud.
^ how about this.
The source code itself is not available, but i searched and found it here.
Maybe you should put it online too.
Maybe a version control system upload for future collaboration?
PS: I understand what a source package could be. Nothing more than a zipped snapshot of the software source (at some suitable moment, called "release") with some installation instructions.
How come you found this and I didn't? I was looking everywhere. There is now a copy on Sourceforge which I put up there out of desperation. I wrote a Slackbuild which references it.
I notice that the copy you found is a Mac port. I wonder if it is the same as the Linux version. See for example posts 13 & 17.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.