Re: rpm expectations/conventions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



marks wrote:
> Two files specifically come to mind.  /etc/[rc.d]/init.d/[prod] and 

I would think that file could just be packaged up and marked with
"%config" doing normal things.

> /lib/modules/`uname -r`/misc/streams-[prod].ko (on 2.6 kernels).

Building a kernel module on the fly.  Wow.  I think you might be
blazing a trail.

For kernel modules it would be much better to get the module pushed
upstream into the kernel sources proper.  That way it will "just work"
for people on a variety of hardware and you would not need to worry
about packaging it separately.

> Our products support dozens of operating systems and we have a new
> requirement to deliver using rpm.  I'd rather maintain our one package
> fits all paradigm then to have to build dozens of different rpm packages.  

If the rpm is simply a facade and I think that is the best that you
can do here then I think it would be better to leave it off.  I would
be representative of one of your customers that would request the
files to be installed by rpm.  But if I was delivered something that
was an rpm in name only but really just used "tricks" to make it fit
in then I would not be happy about it.  I think your customers might
actually be less happy with a facade than without one.  Saying 'rpm'
implies more than just 'rpm --install file.rpm'.  See rule 13.1.3.

  http://fedora.redhat.com/docs/drafts/rpm-guide-en/ch-packaging-guidelines.html#id2994388

> Experience shows that customers will change their kernel version fairly
> often (and sometimes even the OS vendor) so I'd rather not have to keep
> building new rpm packages everytime a customer makes a change.

So just to play devil's advocate, how would your package react when a
new kernel is installed?  Would it register a trigger of some sort to
detect this and to build a new kernel module on the fly for it?
Trying to handle this just seems like trouble.

About the best idea that I might suggest is to distribute a script
that the local admin could run that would build the module and other
files against the specific kernel and have it produce an rpm that
could be installed.  Then as new kernels were installed the end user
could run the script to build the new modules and then install the
result by rpm.  Then the rpm could be the real deal.

> > +1.  I would simply use /etc/init.d/foo and whine along with the rest
> > of us when vendors do not follow the FHS.
> 
> Heh.  Unfortunately our customers won't want to wait for us to whine to an 
> operating system vendor to fix their OS.  That being said, I'll check all 
> the operating systems that support rpm to see if they all have an 
> /etc/init.d (whether or not it's a symlink).

I would be surprised if anything that is not a museum piece does not
have /etc/init.d these days.

> SuSE did support chkconfig for a while but at some point (9.3? 10.0?) 
> removed it in favor of insserv.

I am behind in my knowledge of recent SuSE systems.  I will need to
research that system.

> MontaVista uses update-rc.d but I have not even tried our rpm on
> that platform as of yet.

When you said update-rc.d I assumed Debian/Ubuntu which uses it.

> Can you recommend a good resource for learning more about .spec files 
> (i.e. use of %ghost)?

  https://lists.dulug.duke.edu/pipermail/rpm-devel/2005-April/000405.html

And in general.

  http://fedora.redhat.com/docs/drafts/rpm-guide-en/index.html

Bob

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux