On 12/12/24 10:18, Samuel Sieb wrote:
On 12/11/24 1:55 PM, Stephen Morris wrote:
On 9/12/24 10:47, Samuel Sieb wrote:
On 12/8/24 1:45 PM, Stephen Morris wrote:
On 8/12/24 00:50, Barry wrote:
On 7 Dec 2024, at 01:54, Stephen Morris<steve.morris.au@xxxxxxxxx> wrote:Use rpm -i src-rpm to install the sources.
Yes, but this still highlights the final question as "sudo dnf download symlinks-1.7-11.fc41.src" does the download but as shown above "sudo dnf install symlinks-1.7-11.fc41.src" won't do the install.
They will be in -/rpmbuild (I think).
Being open source the software is designed to be adjusted by external entities for enhancements, so why is Fedora making it so hard to access the source to do so. Many years ago I used to build my own kernel in the days when the kernel was compiled for single core cpu's, and all that was necessary to do that was to use yum to install the kernel source in a sub_folder of /usr/src as it has always done with the kernel headers.
How is Fedora making it hard? This is how it has worked forever, as far as I can remember anyway. That's how you build rpms. /usr/src is a very bad place, since you shouldn't be building anything as root.
"dnf download --source package-name" (can be run as a user even)
"rpm -i package.src.rpm" (should be run as a user)
The files get distributed in ~/rpmbuild.
The source files are in ~/rpmbuild/SOURCES.
"cd ~/rpmbuild"
"rpmbuild -bb SPEC/packagename.spec" (should be run as a user)
There seems to be some initial confusion here, I'm not trying to build rpm's to start with, all I'm trying to do is install the source code so I can edit it. A long time ago, it used to be somewhat compulsory to build your own kernel because of Fedora defaults, and a yum install of the kernel source would place the source code in /usr/src/kernels (similar to what is still happening with kernels). Then you ran a specific makefile which would then build a gui interface to all the kernel parameters so that you could then change them as you saw fit.
That must have been a different kind of rpm, not an actual srpm.
I have partially obtained the same functionality by doing the "dnf download" suggested along with the suggested "rpm -ivh" command to get the sources folder, and then updated eclipse to work with C/C++ code, and loaded the symlinks source into an eclipse project to edit the source and build the binary to test the changes I've done, which I am satisfied are working as desired. I'll update the man page in the source for the change I've done as well, and I am assuming the rpmbuild process will build the updated source and man page into an rpm, but I am assuming that is just the source, so how do I build a separate rpm for the binary as is the current situation?
rpmbuild will build whatever pieces you want. The command I gave you will build the binary rpm that you would install. There are other options to build a source rpm instead or as well.
How would I build both as I want to replicate what the repositories currently have?
I have also encountered another issue, I've modified the man file to document the extra option I have added, and when I display the man page, for my changes there are place where it is displaying two blanks between words where in the source there is only one, and I don't know why it is doing this?
regards,
Steve
"rpmbuild -bp SPECS/packagename.spec" would unpack the source and apply patches so that you have a full source tree under BUILD.
Also, before I go down the path of submitting the change I've done as an update to the existing command, how do I get the program tested by say people on this list to determine whether or not its actually worth submitting it be included in the repositories as an update to the existing process?
You build the rpm and provide a link for people to download it for testing.
Using COPR would probably be better, but that's another thing to learn. :-)
Attachment:
OpenPGP_0x1EBE7C07B0F7242C.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature
-- _______________________________________________ users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue