Overview

Request 1167613 superseded

@badshah400 All above tasks completed, thank you very much for your great support and patience. It took me a while to finish because I have a lot of personal problems. When approved, opensuse will be the first distribution with native Intel generative AI packages in the world.

Loading...

Atri Bhattacharya's avatar

Many thanks for the updated sr. This looks like it is almost there for me, so thanks a lot for all the work.

I just have a few minor issues that you may want to fix before we move this over:

  • %cmake must not end with ... It is a macro that automatically finds the top-level CMakeLists.txt file in the project. Just replace .. with %{nil}.
  • %post/%postun scriptlets should only be run for shared library packages (i.e. only for packages installing %{_libdir}/*.so.* files and not for -devel pkg or any others.)
  • lib%{name}-devel package must be renamed to %{name}-devel. The lib prefix to a package name only makes sense for shared lib packages. Also similarly rename the plugin packages.
  • You do not have to own directories individually using %dir if they are exclusive to a specific package. For example, get rid of all the lines listed under %files -n %{name}-sample and simply put %{_datadir}/%{name}/ instead.
  • Reduce white space between arguments of cp and mv commands; the present format makes it difficult to read. I thought at first glance cp only had a single arg, then realising I needed to scroll right to see the destination arg.
  • Drop make and gcc from BuildRequires. These are automatically always pulled into buildroot.
  • No entirely happy about the manual sed of cmake and pkgconfig files in %install but I guess the install scripts do not work well and perhaps this is the only way. I would still report it upstream if possible.

And... I think that is it! Thanks again.

Sorry to hear you had problems; I hope you are doing all better now.


Alessandro de Oliveira Faria's avatar

HI @badshah400 I did almost everything:

  • lib%{name}-devel package must be renamed to %{name}-devel. The lib prefix to a package name only makes sense for shared lib packages. Also similarly rename the plugin packages.

Answer: I did this to maintain compatibility with Intel's rpm packages and not lose compatibility with Intel's official documentation. Ok?

  • No entirely happy about the manual sed of cmake and pkgconfig files in %install but I guess the install scripts do not work well and perhaps this is the only way. I would still report it upstream if possible.

Answer: I'm not happy either, but I'm looking at this with the Intel folks in the next release. You don't need to worry about this.

Can we proceed like this?


Atri Bhattacharya's avatar

I did almost everything

Where is it? I still see:

  • Unnecessary %post(un) scriptlets, despite explanations for where it should be used. Currently it is called even for the package that only installs licenses!
  • A %cmake invocation that ends with &{nil} instead of %{nil} and certainly leads to a build failure
  • Redundant dir ownership like:

    %dir %{_datadir}/openvino
    %{_datadir}/openvino/samples/cpp/*
    %{_datadir}/openvino/samples/c/*
    

    is everywhere in the file lists.

I did this to maintain compatibility with Intel's rpm packages and not lose compatibility with Intel's official documentation. Ok?

Sorry, but as much as it would be amazing to have this package for openSUSE, it should nonetheless confirm to openSUSE packaging guidelines, not Intel's. So, nothing but shared library packages are allowed have the leading lib in their name.

I'm not happy either, but I'm looking at this with the Intel folks in the next release. You don't need to worry about this.

Thanks for talking to upstream about this. I think we can accept this part as it is for now.


Alessandro de Oliveira Faria's avatar

HI @badshah400 I executed all the requests, is something missing?


Atri Bhattacharya's avatar

This looks wrong, perhaps you mean %if 0%{?suse_version} < 1600 instead? There are also additional gcc BuildRequires just above.




Atri Bhattacharya's avatar

patchelf does not seem to be used anywhere any more. Probably no longer needed?



Atri Bhattacharya's avatar

lib* Requires should be left for RPM to automatically determine. These two explicit Requires should probably be dropped.




Atri Bhattacharya's avatar

Let %cmake determine the right place to start configuring by dropping the unnecessary .. and terminating the command at the previous line.



Atri Bhattacharya's avatar

Not needed in light of following line. From the mkdir manual

mkdir --help
...
 -p, --parents     no error if existing, make **parent directories** as needed,




Atri Bhattacharya's avatar

All three lines above refer to standard directories. If you have to own them, you are doing something wrong...



Atri Bhattacharya's avatar

Be explicit in naming what files/dirs are included here and in the following.




Atri Bhattacharya's avatar

Purely aesthetical, but please ensure line breaks at 79 characters for better readability.



Alessandro de Oliveira Faria's avatar

@StefanBruens Did I do anything else wrong? Thank you very much for your great support and patience.



Alessandro de Oliveira Faria's avatar

Do I need to do anything else?


Atri Bhattacharya's avatar

You also have to enable builds for Tumbleweed. Not building for TW is a blocker against inclusion into the obs://science project.

Thanks for the efforts. Much appreciated.


Alessandro de Oliveira Faria's avatar

Thank you very much, it took me a while to respond because I had serious personal problems.


Atri Bhattacharya's avatar

Most of my points are already red flags raised by rpmlint. Please do not ignore rpmlint's errors at any cost, and try to fix the warnings to the extent possible.


Alessandro de Oliveira Faria's avatar

I will start working on the items above.

Request History
Alessandro de Oliveira Faria's avatar

cabelo created request

@badshah400 All above tasks completed, thank you very much for your great support and patience. It took me a while to finish because I have a lot of personal problems. When approved, opensuse will be the first distribution with native Intel generative AI packages in the world.


openSUSE Build Service is sponsored by