Re: Bootstrapping an RPM area.

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

 



In regard to: Bootstrapping an RPM area., Steve Juranich said (at 1:19pm on...:

I've done a little experimentation in a sandbox and I've come up with what I
think is an acceptable way of doing things, but I'd like to know if there
is a "right" way.

Why don't you outline your method, and we'll shoot holes in it (if need
be)?  ;-)

I've never attempted to build RPM on OS X, but I certainly have on other
platforms over the years, most recently rpm-4.4.6 on Solaris 8 and Solaris
10.  It won't build out of the box (especially if you're not using gcc),
but it's not terribly difficult to get it built.  I have a few minor
patches that help with that, and I'll be submitting them upstream once
my Solaris 8 build box is back online.

There are quite a few prerequisites, some of which aren't strictly
required.  Nearly all of the prerequisites build pretty easily, though,
so they're not much of a barrier.

If you proceed with rpm 4.4.6 or one of the development snapshots of what
will be 4.4.7 you'll probably encounter a couple problems on Solaris,
once you get the software built:

- for reasons I haven't investigated yet, the built-in dependency
  generator doesn't generate requires or provides information for either
  executables or shared objects.  Switching back to the older script-based
  method works, but the scripts that ship with RPM 4.4.6 don't distinguish
  between ELF32 and ELF64.  That's pretty easy to fix, if you're so
  inclined.  Once I have my patches for the other issues submitted
  upstream, I intend to come back to this one and see if I can determine
  what the problem is.  Since I have a workaround, it's lower priority
  right now.

- if you install RPM anywhere other than the default location, your
  RPM "magic" file (for file type identification) will end up under
  your $prefix , but build/rpmfc.c hardcodes the location of the magic
  file to be /usr/lib/rpm/magic.  That actually causes RPM to core dump
  when it gets to the packaging part of the build.  If you fix the path in
  the source or install a symlink to where your rpm/magic file is, that
  problem goes away.

- also for reasons I haven't investigated, my %post scripts all fail with
  messages similar to

		/var/tmp/rpm-tmp.24704: /var/tmp/rpm-tmp.24704: cannot open

  Even something as simple as

	%post
	exit 0

  generates that.  I do know that truss says that the script in question
  was created (with the exit 0 inside), but it's unlinked after rpm forks
  but before /bin/sh is execve()'ed.  Could be an issue with file
  descriptors across exec() calls or maybe something else.  It's also on
  my list of minor issues to look into.


Tim
--
Tim Mooney                              mooney@xxxxxxxxxxxxxxxxxxxxxxxxx
Information Technology Services         (701) 231-1076 (Voice)
Room 242-J6, IACC Building              (701) 231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164

_______________________________________________
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