user-contrib package repository

Home Page Forums users user-contrib package repository

Viewing 5 reply threads
  • Author
    Posts
    • #29313
      einar.hjortdal
      Participant

      How do users submit packages to openmamba?

      On the gitea repo all packages are in /rpms/, does it mean all packages that are distributed to openmamba users are vetted by openmamba devs? Is there no “official” user repository akin to fedora EPEL, or Arch AUR, etc.?

      Also worth nothing: on my system /etc/yum.repos.d/ is empty, but there exists a /etc/yum/repos.d/ with repository configurations.

    • #29314
      Silvan
      Keymaster

      As of today and for the last years there have been no users contributing so there are currently no contributions although a repository called devel-contrib exists for this.

      So, if you are looking for contributions you will find nothing, if instead you want to propose yourself as a contributor, i.e. making packages that will be hosted in the openmamba devel-contrib repository and eventually be imported to the base repository, I may work to refresh and provide the tools and interfaces for contributors to make rpm packages according to openmamba standards. Contributing by making packages which openmamba users might install would require by the way some sort of user identification for legal reasons. If there is interest for this we can go into more detail.

      The two /etc/yum.repos.d and /etc/yum/repos.d folders exist and are both supported because some external software  may provide their repository expecting to use the first path, while other tools like dnf (and openmamba) use the second path. One folder should be a symlink to the other but I have given this change a low priority because replacing folders with symlinks has always been a pain with rpm.

    • #29315
      einar.hjortdal
      Participant

      Contributing by making packages which openmamba users might install would require by the way some sort of user identification for legal reasons. If there is interest for this we can go into more detail.

      I am surprised by this. Is this a requirement of the openmamba project, or is it an actual european/local issue? I value my online anonymity

      • #29316
        Silvan
        Keymaster

        Contributing by making packages which openmamba users might install would require by the way some sort of user identification for legal reasons. If there is interest for this we can go into more detail.

        I am surprised by this. Is this a requirement of the openmamba project, or is it an actual european/local issue? I value my online anonymity

        There is currently no policy about accepting contributors in openmamba. I’m responsible of openmamba servers and consequently about the risks of accepting people to do things for which I might become at least part of a chain of responsibilities. openmamba is in fact a single maintainer driven distribution which makes it different from a community driven distribution, maybe I should make this more clear so that users may better target their interest, questions and comments accordignly.

        A packager might well remain under a pseudonym for the public but I need to accept only trusted people (by me) for binary packages submissions on openmamba repositories. Because you cited Arch Linux, you may have already read their policy for maintainer where candidates need to be presented by two sponsoring maintainers and voted for admission. Contributing to AUR is far less strict because people are only expected to send the PKGBUILD file (plus any patches and other related files), a text file which can be easily audited. The same may be applied to .spec files but openmamba distributes binary packages so things are different in terms of letting anybody to upload packages.

        A contributor might want to start learning and creating packages for openmamba in his local environment and if you express that you have this interest the discussion might evolve into discussing the technical details on how to do this. This might be a step allowing to evaluate the quality of the produced packages followed by giving the authorization to send contributions to the openmamba hosted repositories.

        • This reply was modified 7 months, 1 week ago by Silvan.
        • #29318
          einar.hjortdal
          Participant

          openmamba is in fact a single maintainer driven distribution

          I had no idea. Damn! You’re doing an incredible job.

          The same may be applied to .spec files

          This is what I had in mind, I had contributed to OpenMandriva a couple years ago and they accepted .spec files and relative patches. Their build system builds the package by pulling sources and compiling when necessary, then puts it on the repository. No uploading of binaries.

          A contributor might want to start learning and creating packages for openmamba in his local environment and if you express that you have this interest the discussion might evolve into discussing the technical details on how to do this.

          I would like that. And if necessary, I may host my own user rpm repository, with packages built according to openmamba standards.

    • #29319
      Silvan
      Keymaster

      A contributor might want to start learning and creating packages for openmamba in his local environment and if you express that you have this interest the discussion might evolve into discussing the technical details on how to do this.

      I would like that. And if necessary, I may host my own user rpm repository, with packages built according to openmamba standards.

      Good,
      the most straightforward and interesting way to start is by creating and using a Docker buildvm image which provides you locally with the webbuild interface, which is what is used to create and update openmamba packages. I’ve checked that it currently works correctly by cloning the openmamba-docker-buildvm repository:

      git clone https://src.openmamba.org/openmamba/openmamba-docker-buildvm

      and follow the instructions in the project page.

      We can discuss about any doubts or problems before or after you have setup the Docker buildvm container.

      • #29385
        einar.hjortdal
        Participant

        I have the container running on my system and the web interface open in my browser.

        What I’d like to do is to add a patch the the kernel and get it to package it.

        At the top of the web interface I select the base repository, and the SRPMs select appears, but it has no options. What should I do?

        I also have spawned a shell in the running container according to the instructions, I suspect I have to setup something else in it through it.

        I have also forked the kernel repository on the gitea, to version my changes.

    • #29386
      Silvan
      Keymaster

      Hi,
      you should have the “Unpack and edit” button on the right like in the attached image and should start by pressing it.
      NOTE: if it is the first time you login press F5 to reload the page, this is a known issue.

      Then you get the spec file in the editor and have buttons below. To create a new release add a changelog next to “new release with changelog:” and press the update button. You add the patch from a network url using the “Add patches” box on the right or you should add it manually in the /var/autodist/RPM/SOURCES folder and edit the spec file to add and apply the patch.

      Next you may press the “build” button below to start building the package.

      These are the very basic things to learn but of course they do not cover everything you may need to know.
      By starting a new container you will probably need to install some basic build requirements which are missing.

      • This reply was modified 2 weeks, 1 day ago by Silvan.
      Attachments:
      You must be logged in to view attached files.
      • #29389
        einar.hjortdal
        Participant

        Hi thank you for the reply. I am experienced with rpmbuild. I imagine the /var/autodist/RPM is the usual rpmbuild directory

        The build environment is selected just like in your screenshot, but I have no spec to select. I have F5’d but no changes.

        Attachments:
        You must be logged in to view attached files.
        • #29392
          Silvan
          Keymaster

          Can you check that the container has access to internet? This is the only explanation I currently have for the “Select a SRPM package” select being empty. You may check if the following command run from a container shell works:

          curl https://push.openmamba.org/pub/openmamba/base/SRPMS.base/

          The “Select a .spec file” select will be populated when you “Unpack and edit” SRPMS packages.

          • This reply was modified 2 weeks ago by Silvan.
        • #29394
          einar.hjortdal
          Participant

          [root@buildvm /]# curl https://push.openmamba.org/pub/openmamba/base/SRPMS.base/
          curl: (6) Could not resolve host: push.openmamba.org (Timeout while contacting DNS servers)

          You guessed right

        • #29395
          Silvan
          Keymaster

          This is a Docker issue. If your Docker host is openmamba I can suggest to restart it on the host:
          sudo systemctl restart docker.

          Possible checks in the running container are the nameservers set in the file /etc/resolv.conf by checking and pinging directly the IP address, by the way this kind of problem when I’ve seen it is usually some sort of problem in docker network interfaces which gets solved when restarting the host service.

        • #29396
          einar.hjortdal
          Participant

          The docker host is openmamba. You were right, restarting the daemon seemed to fix the issue. But this fix was short-lived, after loading the list of packages and attempting an “unpack and edit”, this issue reappears.

          
          [root@buildvm /]# curl https://push.openmamba.org/pub/openmamba/base/SRPMS.base/
          curl: (6) Could not resolve host: push.openmamba.org (Timeout while contacting DNS servers)
          

          But it does resolve the google domain.

          
          [root@buildvm /]# curl google.com
          <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
          <TITLE>301 Moved</TITLE></HEAD><BODY>
          <H1>301 Moved</H1>
          The document has moved
          <A HREF="http://www.google.com/">here</A>.
          </BODY></HTML>
          

          I am suspecting something is up with resolvectl and docker

          • This reply was modified 2 weeks ago by Silvan.
          • This reply was modified 2 weeks ago by einar.hjortdal.
          Attachments:
          You must be logged in to view attached files.
        • #29400
          einar.hjortdal
          Participant

          I have manually edited the /etc/resolv.conf inside the container and the issues were resolved.
          I have now a new issue here: https://pastebin.com/x8kaGuuV
          It looks like it cannot find the required packages to build.

          P.S. I couldn’t submit more information before, somehow the forum limited me

          Attachments:
          You must be logged in to view attached files.
        • #29403
          einar.hjortdal
          Participant

          The issue is not a real issue, it was fixed by installing flex manually in the container.
          I am not allowed to modify the message so I must reply here.

    • #29404
      Silvan
      Keymaster

      Hi,
      your previous reply was blocked by the antispam mechanism, maybe due to html code and/or urls it contained, and I have later approved it.

      Glad you sorted out your issues.

      About Docker unfortunately the resolv.conf file will be overwritten the next time you start the container. Public resources say that if you will recreate the container you may run it with docker run --dns 1.1.1.1 --dns 8.8.8.8 ... to have alternative DNS permanently set.

      About package build, as I said you may find build requirements missing (flex in this case) because SRPMs specs do not contain a full list of build requirements and the new container has only a basic know set of general requirement installed.

      • This reply was modified 2 weeks ago by Silvan.
      • #29406
        einar.hjortdal
        Participant
        
        LD [M]  virt/lib/irqbypass.ko
        make: *** [Makefile:224: __sub-make] Error 2
        error: Bad exit status from /var/tmp/autodist/rpm-tmp.mcuZwR (%build)
        
        RPM build errors:
        Bad exit status from /var/tmp/autodist/rpm-tmp.mcuZwR (%build)
        ERROR: rpmbuild exited with error code: '1'
        # WEBBUILD_EXITCODE=1
        

        I am getting some errors in the console output, but they don’t contain much information. Where do I find the logs?

        • #29407
          Silvan
          Keymaster

          When you build a SRPM using the build button of the **Webbuild** you get the build process in a line in the top box. When build is finished by clicking on this line you get the full scrollable build log in the “Console output” box. The build logs for the processes in the top, which you can show in the console output box, are the files located in /var/webbuild/tmp. Or are you looking for something else?

        • #29408
          Silvan
          Keymaster

          Addition: as most builds are parallelized you often won’t find the error at the very bottom of the build log. By scrolling up the “Console log” you might find the error information many lines before the end. The Console box tries to help by evidencing possible error lines using a red background.

        • #29413
          einar.hjortdal
          Participant

          Addition: as most builds are parallelized you often won’t find the error at the very bottom of the build log. By scrolling up the “Console log” you might find the error information many lines before the end. The Console box tries to help by evidencing possible error lines using a red background.

          You’re right! I found out by piping the output to a file and grepping, because I couldn’t find the log file.

          
          cat /var/autodist/log/logloglog.log | grep Error
          make[3]: *** [arch/x86/boot/compressed/Makefile:140: arch/x86/boot/compressed/vmlinux.bin.zst] Error 127
          make[2]: *** [arch/x86/boot/Makefile:100: arch/x86/boot/compressed/vmlinux] Error 2
          make[1]: *** [arch/x86/Makefile:312: bzImage] Error 2
          make: *** [Makefile:224: __sub-make] Error 2
          
        • #29409
          einar.hjortdal
          Participant

          hmm what I pasted above comes from that “Console output” box. To me it seems like it lacks standard error, but maybe I am wrong.

          I mean, this doesn’t tell me what the error is, so I can’t fix that.

          
          LD [M]  virt/lib/irqbypass.ko
          make: *** [Makefile:224: __sub-make] Error 2
          error: Bad exit status from /var/tmp/autodist/rpm-tmp.mcuZwR (%build)
          

          I looked in /var/webbuild/tmp but it doesn’t contain any relevant information.
          I’m currently building the kernel without any change. Likely there is a missing dep

        • #29410
          Silvan
          Keymaster

          You only see a tenth of lines in the Console output box? There should be hundreds if not thousands of lines since the beginning of rpmbuild… maybe the scrollbar is not working?
          About not seeing anything “relevant” in /var/webbuild/tmp, did you by chance use the “build” button below the editor or the autodist “build” button in the right?
          Additionally, if you clicked on the [x] on the line in the top processes box, then the build log (if done using the “build” button below the editor) is gone.

          • This reply was modified 2 weeks ago by Silvan.
          • This reply was modified 2 weeks ago by Silvan.
        • #29414
          einar.hjortdal
          Participant

          No of course there are many lines, I just truncated the last few. But I did find the error, it was above, as you suggested.
          I did press the build button below the editor. I don’t even see the other one.
          I don’t know the reason why the logs were not matching what I got in the web application before, now they match and are what I’d expect. Thank you for telling me the path of the logs

          I have encountered this error now, but I can’t find anything in the log. Do you remember also encountering this error?

          
          RPM build errors:
          File not found: /var/autodist/RPM/BUILD/kernel-6.12.37-build/BUILDROOT/lib/modules/6.12.37-2mamba-x86_64/modules.builtin.alias.bin
          File not found: /var/autodist/RPM/BUILD/kernel-6.12.37-build/BUILDROOT/lib/modules/6.12.37-2mamba-x86_64/modules.builtin.bin
          

          I tried to upload the log in zst format but I got an error saying I am not allowed to upload this kind of files 😀

          I would like to backport this commit to the kernel, because I have a device that would work with this commit that does not work now.
          This may be a crazy request but, do you think you could backport this for me?
          https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/commit/drivers/bluetooth/btusb.c?id=7722d6fb54e428a8f657fccf422095a8d7e2d72c

        • #29417
          Silvan
          Keymaster

          Hi,
          I’ve updated the kernel to version 6.12.49 and I have included the patch you requested.
          The missing files resulting from your build probably are related to a missing dependency that would result by examinating the full build log, maybe kmod.

        • #29418
          einar.hjortdal
          Participant

          Thank you so much

Viewing 5 reply threads
  • You must be logged in to reply to this topic.