Re: Flexibly building against third-party libraries (RPM_CHECK_LIB)

2007-06-20 Thread Tim Mooney

In regard to: Re: Flexibly building against third-party libraries...:


maybe (not sure about non-coreutils find)


That's the problem.  The find implementation on most commercial UNIX
platforms won't support -wholename, so you would have a configure test
that requires the GNU version of find.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


LP64 alignment issue in 4.4.9 and CVS

2007-06-26 Thread Tim Mooney


rpm 4.4.9 on sparcv9-sun-solaris2.8 (LP64) compiled with the Sun Workshop
11 compiler gets a reproduceable SIGBUS when installing a package or
importing a key with a fresh database.  I haven't seen this problem on
my x86_64-sun-solaris2.10 workstation which is also running rpm 4.4.9.
x86_64 must be more forgiving of alignment than LP64 sparc.

I've done some digging and I think the problem is basically the same as
this one, but in a different spot:


https://lists.dulug.duke.edu/pipermail/rpm-devel/2006-October/001791.html


The stack trace looks like

$ dbx .libs/rpmk core
core file header read successfully
Reading ld.so.1
Reading librpm-4.4.so
Reading librpmdb-4.4.so
Reading librpmio-4.4.so
Reading libpopt.so.0
Reading libelf.so.1
Reading libbeecrypt.so.7
Reading libneon.so.26
Reading libexpat.so.1
Reading libm.so.1
Reading libdl.so.1
Reading libz.so
Reading libintl.so.8
Reading libc.so.1
Reading librt.so.1
Reading libpthread.so.1
Reading libsocket.so.1
Reading libnsl.so.1
Reading libthread.so.1
Reading libCstd.so.1
Reading libCrun.so.1
Reading libaio.so.1
Reading libmp.so.2
Reading libc_psr.so.1
[EMAIL PROTECTED] ([EMAIL PROTECTED]) terminated by signal BUS (invalid address 
alignment)
Current function is intGetEntry
 1784   if (p) *p = NULL;
(dbx) print p 
p = 0x7fffe78c

(dbx) print *p
*p = (nil)
(dbx) where 
current thread: [EMAIL PROTECTED]

=>[1] intGetEntry(h = 0x100145960, tag = 1184, type = (nil), p = 0x7fffe78c, c = 
0x7fffe75c, minMem = 1), line 1784 in "header.c"
  [2] headerGetEntryMinMemory(h = 0x100145960, tag = 1184, type = 0x7fffe77c, p = 
0x7fffe78c, c = 0x7fffe75c), line 1876 in "header.c"
  [3] headerGetEntryMinMemory(h = 0x100145960, tag = 1184, type = 0x7fffe77c, p = 
0x7fffe78c, c = 0x7fffe75c), line 299 in "hdrinline.h"
  [4] rpmdbAdd(db = 0x10012cc00, iid = 1182551776, h = 0x100145960, ts = (nil), hdrchk = 
(nil)), line 3125 in "rpmdb.c"
  [5] rpmcliImportPubkey(ts = 0x10013fc00, pkt = 0x100142e00 "\x99^A\xa1^D:\xb1Br^Q^D", 
pktlen = 1638), line 539 in "rpmchecksig.c"
  [6] rpmcliImportPubkeys(ts = 0x10013fc00, qva = 0x7f286d18, argv = 
0x100111c38), line 620 in "rpmchecksig.c"
  [7] rpmcliSign(ts = 0x10013fc00, qva = 0x7f286d18, argv = 0x100111c30), line 
1080 in "rpmchecksig.c"
  [8] main(argc = 3, argv = 0x7fffee28, envp = 0x7fffee48), line 794 in 
"rpmqv.c"




It looks like the problem begins in rpmdbAdd() in rpmdb.c, with:

uint32_t hcolor = 0;

...

if (!hge(h, RPMTAG_PACKAGECOLOR, &bnt, (void **) &hcolor, &count)) {


Because hcolor starts out as a 32 bit quantity, it's aligned on a 4-byte
boundary.  It's later used in a context where it would need to be aligned
on an 8-byte boundary.  If I make the same "fix" that I did for the
problem I reported last October, changing the type from uint32_t to
uint64_t, the problem goes away.

It looks like there might be another problem lurking nearby with the

int32_t tid = iid;

but I haven't actually triggered that problem yet.

Jeff, if you need any additional information to formulate a correct fix,
let me know.


Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: LP64 alignment issue in 4.4.9 and CVS

2007-06-26 Thread Tim Mooney

In regard to: Re: LP64 alignment issue in 4.4.9 and CVS, Mark Hatle said...:


Have you tried compiling w/ -mstrict-align (assuming you are using gcc)?
This might at the least work around the issue.


I'm not using gcc, although your comment is still useful, since it
got me looking at the alignment options for the Sun compilers.  I think if
I wanted to work around this issue, I could use

-xmemalign=8i

Also:


uint32_t hcolor = 0;

...

if (!hge(h, RPMTAG_PACKAGECOLOR, &bnt, (void **) &hcolor, &count)) {


Because hcolor starts out as a 32 bit quantity, it's aligned on a 4-byte
boundary.  It's later used in a context where it would need to be aligned
on an 8-byte boundary.  If I make the same "fix" that I did for the
problem I reported last October, changing the type from uint32_t to
uint64_t, the problem goes away.

It looks like there might be another problem lurking nearby with the

int32_t tid = iid;

but I haven't actually triggered that problem yet.


After looking at it further, I don't think "int32_t tid" is going
to be a problem, since it's used in a different way and not cast to (void
**).

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: LP64 alignment issue in 4.4.9 and CVS

2007-06-27 Thread Tim Mooney

In regard to: Re: LP64 alignment issue in 4.4.9 and CVS, Jeff Johnson said...:


On Jun 26, 2007, at 12:28 PM, Tim Mooney wrote:


rpm 4.4.9 on sparcv9-sun-solaris2.8 (LP64) compiled with the Sun Workshop
11 compiler gets a reproduceable SIGBUS when installing a package or
importing a key with a fresh database.  I haven't seen this problem on
my x86_64-sun-solaris2.10 workstation which is also running rpm 4.4.9.
x86_64 must be more forgiving of alignment than LP64 sparc.


This bug was reported by PLD/sparc64 abt a week ago. There's an alignment
issues with &hcolor. See recent checkin for fix on both HEAD and rpm-4_5.


Thanks for the info, sorry for the duplicate report.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: [CVS] RPM: rpm/ CHANGES configure.ac rpm/rpmdb/ Makefile.am

2007-06-29 Thread Tim Mooney

In regard to: Re: [CVS] RPM: rpm/ CHANGES configure.ac rpm/rpmdb/...:


On Wed, Jun 27, 2007, Jeff Johnson wrote:


On Jun 27, 2007, at 6:44 PM, Ralf S. Engelschall wrote:

Simplify internal Berkeley-DB handling in rpmdb/ even further and as a
wished side-effect allow (at least in an clearly unsupported way to
make Jeff not panic ;-) the use of --with-db=external.


It's not a question of panic, but rather support and feature regression.
[...]
I *really* don't want to diagnose these problems again and again and
again because lusers want choice until it hurts.


Fair enough! It certainly is a difficult balance between avoiding the
trouble with lusers and still allowing packagers to build RPM with an
external Berkeley-DB _without_ having to patch the RPM sources.

But we can even go one step further: on "--version" or "--help" GNU
tools often output "Report bugs to <[EMAIL PROTECTED]>.". We could use
this with rpm-devel@rpm5.org and in case someone wants to use an option
like --with-db=external he _FIRST_ has to specifiy something like
"--with-bugreport=" in his packaging or an Autoconf
error will occur. This way the packager also is _FORCED_ to take action
(and this way has to know what he is doing) _AND_ the end user is also
informed explicitly who to contact for support. For instance in OpenPKG
I would like to use --with-bugreport="[EMAIL PROTECTED]" to make
sure the OpenPKG users do not directly contact rpm5.org.


Why don't you include an "rpm-bug-report" script, a la bashbug, that
automates much of that, including relevant information about how rpm
was configured, the environment, etc, and then update the docs and begin
to encourage users to use that for bug reporting?

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: No Neon patch...

2007-06-29 Thread Tim Mooney

In regard to: No Neon patch..., Mark Hatle said (at 1:22pm on Jun 29, 2007):


Taken from rpm.org rpm-4.4.2.1 tree.

Any comments or may I commit.  (I didn't just hit go, since I figured
there might be some "discussion" on this issue.)  :)


neon can be a PITA, especially because it defaults to static lib only
and has non-obvious dependencies so linking with it can be challenging,
but I'm concerned about the proliferation of rpm "flavors".  Your flavor
might be built without neon at all so it won't support certain
functionality, someone else's rpm might have neon support but no lua, etc.

Sure, it's possible to have rpm's internal dependencies such that when
someone tries to install a package that "Requires(interp): lua" (or
whatever) the install aborts immediately if the rpm on the box doesn't
provide that, but that's not the point.

People writing spec files, or whatever packaging recipe format
eventually evolves, will write their recipes to use the functionality
that they know is guaranteed to be available in the rpm command that
users have available on their systems -- the minimal subset of features
that every rpm command supports.

Pretty soon, people won't try make use of lua or neon or anything else
that falls outside of that minimal subset, and those features in rpm
will become the software equivalent of my appendix -- evolutionary
leftovers that have ceased to serve a useful purpose.

I know I'm frequently in left field WRT rpm, but I think if you make
stuff like neon or lua too easily "optional", those things will fall
outside of the minimal subset, and at that point one needs to decide if
it wouldn't be better to just remove the evolutionary leftovers
completely.

Just MHO,

Tim (who still has his appendix, thank you very much)
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: No Neon patch...

2007-06-29 Thread Tim Mooney

In regard to: Re: No Neon patch..., Michael Jennings said (at 3:12pm on Jun...:


On Friday, 29 June 2007, at 14:05:10 (-0500),
Tim Mooney wrote:


 People writing spec files, or whatever packaging recipe format
 eventually evolves, will write their recipes to use the
 functionality that they know is guaranteed to be available in the
 rpm command that users have available on their systems -- the
 minimal subset of features that every rpm command supports.


I wish that were true.  But the unfortunate reality is that each
distro writes their spec files to use their own proprietary set of
capabilities and macros.  RHEL RPM's may not build without
redhat-rpm-config.  Mandriva RPM's frequently require custom macros,
not the least of which being %{make}.  Few people actually strive to
create portable spec files.


You're more familiar with more Linux distributions than I am (we have
only RHEL 2.1-5 and a small number of SuSE here), but I believe what
you're saying and I'm not at all surprised.

I was thinking mainly of the application vendors when I replied earlier --
companies like EMC, Oracle, IBM, etc., that want to claim that their
application supports at least RHEL, SuSE, and possibly other rpm-based
distributions.  It's their packaging people (or monkeys, as the case
may be) that will focus on the minimal subset, in the interest of making
their packages install on the widest range of rpm-based distributions.

As Mats Wichmann's email about ISV installers on June 14th made abundantly
clear, ISVs packaging software for multiple distributions would just as
soon have one format (probably good old tar!) for all platforms.  MHO is
that that's a crappy attitude for a vendor (make things easy for our
packaging and docs people, not the customer) and I personally tend to
award negative points to any vendor that takes that approach, but that's
just me standing alone in left field again.  ;-)

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: No Neon patch...

2007-06-29 Thread Tim Mooney

In regard to: Re: No Neon patch..., Michael Jennings said (at 9:19pm on Jun...:


On Friday, 29 June 2007, at 14:28:46 (-0500),
Tim Mooney wrote:


I was thinking mainly of the application vendors when I replied
earlier -- companies like EMC, Oracle, IBM, etc., that want to claim
that their application supports at least RHEL, SuSE, and possibly
other rpm-based distributions.  It's their packaging people (or
monkeys, as the case may be) that will focus on the minimal subset,
in the interest of making their packages install on the widest range
of rpm-based distributions.


If that's the assumption we're operating under, should we even bother
trying to allow ISV rpmdb entries?

I'm more inclined to think in the opposite direction:  add important
features that ISV's can't live without so that they will pressure
distributions to update to and support those features.


I would prefer that over the scenario I'm afraid we're heading for too.
The question is, what shiny features will ISVs clamor for?

The concerns I've voiced could turn out to be completely unfounded, too.
It would be great if were the case.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: RPM 5 distribution tarball size?

2007-07-03 Thread Tim Mooney

In regard to: RPM 5 distribution tarball size?, Ralf S. Engelschall said...:


I don't think we should do this. We really can shrink this. The
Berkeley-DB documentation is available online (in case one needs
it during code hacking) and even if we keep the actually used
db/docs/api_c/ stuff (which is just 1.3MB in size) we still can get rid
of about 21MB useless data.


I haven't looked at the distribution terms for Berkeley DB, since I
don't distribute it.  If you can legally remove the docs and still
distribute the remaining parts internal to RPM, I think getting rid
of the docs in the distributed tarball would be good.  You should
carefully review their distribution terms, though.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Eliminating Berekeley DB/Sqlite3 in favor of a flat file rpmdb

2007-07-18 Thread Tim Mooney

In regard to: Re: Eliminating Berekeley DB/Sqlite3 in favor of a flat file...:


Evening folks,

On Wed, 18 Jul 2007, Jeff Johnson wrote:

Using flat files avoids all the complexity of rpmdb iterator methods,
maximizes access of installed information because only files need to be
opened, and permits 3rd party software installers to simply write their
metadata file goop to the file system, no fuss no muss.


well...so far so good. What's up to the performance? Is a flat file rpmdb
faster rather Berkeley DB?


I would be shocked if it were.  I would expect (but have not done any
benchmarks to confirm or refute my expectation) that writes especially
would be slower, but I also would expect that writes to the rpm database
at package install time are already a vanishingly small part of the
overall time it takes to install a package.  In other words, I doubt it
matters that writes will be slower, because that's a negligible portion
of the time it takes to install a package.

I've discovered a lot while lurking on the list.  I never would have
guessed that there are so many people that think that having rpm use
Berkeley DB is a bad thing.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Eliminating Berekeley DB/Sqlite3 in favor of a flat file rpmdb

2007-07-18 Thread Tim Mooney

In regard to: Re: Eliminating Berekeley DB/Sqlite3 in favor of a flat file...:



On Jul 18, 2007, at 1:44 PM, Jeff Johnson wrote:



A single flat file with an offset can be substituted that is at least as 
well

performing, but the implementation is more subtle because one needs
to keep track of the offset value to debug the mess. Not true for files
in a directory, ls -al suffices.



Actually two files iirc, see the Mercurial OLS 2006 paper.

Caveat: this is from my 1+ year old memory, further study is needed if
flat files are to be used.

The uglix directory trick is ancient, see
  ls -al /usr/share/terminfo
for similar.


Yup, I've actually used that trick myself on a couple occasions.  For
those projects my "database" needs were pedestrian, though.

I agree with your previous post, that robustness and scalability are
also important factors to consider -- performance shouldn't trump those. 
I've long considered Berkeley DB both robust and scalable.  Maybe not

as robust as opendir()/readdir()/stat()/open()/write(), but not too
far off that mark.

I'm not at all against moving to a directory-as-key database, I'm just
surprised that a project that has such a long history with bdb has that
on the table as an option.  It's probably good to "rethink everything"
once in a while, but most projects go the opposite direction -- start
with lame-o filesystem database and move up to BDB later on.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Eliminating Berekeley DB/Sqlite3 in favor of a flat file rpmdb

2007-07-18 Thread Tim Mooney

In regard to: Re: Eliminating Berekeley DB/Sqlite3 in favor of a flat file...:


;-) Glad to hear there are a few who do not dislike Berkeley DB.


I don't know that it's to the level of "Gold Standard", but Berkeley DB
is, in my experience, an extremely high quality piece of software.  I'm
not a worrier, but if I were, there are hundreds of software components
in the environment I work in that are *less* critical than Berkeley DB
that I would worry more about breaking and ruining my day (or week).

I've probably just jinxed myself,  ;-)

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Eliminating Berekeley DB/Sqlite3 in favor of a flat file rpmdb

2007-07-18 Thread Tim Mooney

In regard to: Re: Eliminating Berekeley DB/Sqlite3 in favor of a flat file...:


...snip...


but most projects go the opposite direction -- start
with lame-o filesystem database and move up to BDB later on.


Subversion is a good example of a large and popular software project
that went the other direction with good results.


Good point.  I didn't realize that svn was now preferring fsfs as the
repository store instead of bdb -- I just thought it was a "new" option.
subversion's history with bdb is rather shorter than rpm's, though.

In the end, I'm with you -- it doesn't matter to me whether RPM sticks
with Berkeley DB or switches to using the filesystem.  If switching ends
some of the points of contention, great.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: rpm 4.4.9 missing neon support in Solaris 9 - build issue?

2007-11-06 Thread Tim Mooney

In regard to: Re: rpm 4.4.9 missing neon support in Solaris 9 - build...:


If start this command in another wndow (within a short interval):

wget 
ftp://rpm.rutgers.edu/solaris/solaris9-sparc64/hydrogen/RPMS.main/openssl-0.9.8g-1.solaris2.9-sparc64.rpm 


then the first command wakes up and continues to completion.

That looks like a ProFTPD 1.3.0a server problem with EPSV mode to me.



Thank you very much for debugging this. After your reply there has been some 
discussion here on whether the problem is server related, or at the switch 
level. This might have actually tipped up a bug in our networking, but we're 
not sure yet. I'm going to upgrade proftpd to the latest stable anyways. The 
question that I'm really wondering about now is why did Tim Mooney have the 
same results with his Solaris 10 setup. I'm not sure if he was actually using 
our repo when testing or whether it was his own. I'm curious to find out if 
this same issue is happening to him using a repo that isn't rpm.rutgers.edu.


I was using our own, which was connecting to a Red Hat Linux 4 server
running vsftpd 2.0.1.  The same issue was happening for me there.

Tim
--
Tim Mooney  [EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: rpm 4.4.9 missing neon support in Solaris 9 - build issue?

2007-11-07 Thread Tim Mooney

In regard to: Re: rpm 4.4.9 missing neon support in Solaris 9 - build...:



On Nov 6, 2007, at 12:15 PM, Tim Mooney wrote:


I was using our own, which was connecting to a Red Hat Linux 4 server
running vsftpd 2.0.1.  The same issue was happening for me there.



Hmm, then perhaps there is some issue wrto the getpeername(2)
or getnameinfo(3) lookup.

The code certainly looks obvious, and "works" against vsftpd
on my F* box ...


I just tried again with a different RPM and against proftpd 1.3.1, and
I get the same result (failure).  Note that like David, I also don't get
any additional debugging information when using --ftpdebug.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: rpm 4.4.9 missing neon support in Solaris 9 - build issue? (fwd)

2007-11-08 Thread Tim Mooney

In regard to: Re: rpm 4.4.9 missing neon support in Solaris 9 - build...:


I'll likely replace the "r.ufdio" with a macro for each Fopen so that
users/distros can control whether, say, queries should be network
aware, but installs should not be permitted network access.


That's what I was going to suggest.  That will be a nice enhancement.


The only development that has not been request driven since July
was speeding up queries by 10x 2 weeks ago (which also helped stabilize HEAD
at the time).


That alone will be a good reason to upgrade.


Not a problem on my end, but Tim has said that a Solaris rpm client could not
access a RHEL vsftpd server.


That's correct, and there's no NAT or anything else between my workstation
and the ftp server I tried.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Comments on 5.0b4

2008-01-04 Thread Tim Mooney

In regard to: Re: Comments on 5.0b4, Ralf S. Engelschall said (at 11:23pm...:


On Fri, Jan 04, 2008, Michael Jennings wrote:


%_lib is incorrectly being set to "/lib" instead of "/lib64".  This
used to be automatically handled by RPM until someone "fixed" it.  So
what is the "new and improved" way of doing this? :)


There was consensus here that the whole /lib vs. /lib64
fiddling is totally platform-specific and too intrusive in a
cross-platform/cross-vendor world and hence has to be decided and
implemented outside of the stock RPM 5 code base. Usually, the "right"
way IMHO is to handle this in a rpm.spec of the particular Linux
vendor...


I clearly wasn't paying attention at the right time.

Can you give a more specific example of what you believe the "right" way
of handling this is?  I'm picturing a lot of boilerplate goop propagated
into hundreds of spec files, and that can't imagine how that's the right
way to accomplish anything.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Permitting noarch subpkgs from a per-arch build

2008-01-17 Thread Tim Mooney

In regard to: Permitting noarch subpkgs from a per-arch build, Jeff Johnson...:


So there's a need for an explicit check that indeed, a
noarch package contains only file types that reasonably
make sense to include in a noarch subpkg.


Agreed.


If someone helps defining "reasonably permitted" patterns, I'll be
happy to do the rest of the implementation necessary to permit
noarch subpkgs from a single build.


It depends on what your timeframe is on this, but I would be willing to
help.

On a sort-of related note: you told me once long ago that the only barrier
to having "noos" packages was getting the os_compat chains set up.  rpmrc
is no longer the way to accomplish that, but is noos packaging something
that also could be accomplished with a little support from "the
community"?

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Permitting noarch subpkgs from a per-arch build

2008-01-23 Thread Tim Mooney

In regard to: Re: Permitting noarch subpkgs from a per-arch build, Jeff...:


After spending 15 minutes writing a script that does

  1) Get RPMTAG_CLASSDICT for every package.
  2) Get RPMTAG_CLASSIDICT for noarch packages.
  3) Exclude noarch types from other types to generate file types that should
  not be permitted in noarch packages.

(with some modest filtering using sed), I come to the
rather unsurprising blacklist rule on linux/ix86 for noarch packages

RPMTAG_CLASSDICT should never contain the string "ELF".


When it's regexed, it should probably be something like

(^ELF | ELF )

but I agree that ELF is the prime candidate to watch for.

Looking through what I currently have installed on my ELF/ELF64
x86_64-sun-solaris2.10 workstation, the only other thing I see that stands
out as something that we might want to exclude from noarch packages is

current ar archive

It's certainly possible that an ar archive could contain platform neutral
files, but that's pretty uncommon (maybe not on OS X, though?).

Other possible candidates to watch for (that might apply to non-ELF
platforms too) would be

, dynamically linked
, (not )?stripped$

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: [PATCH]: possibility to disable dependencies on parent dir

2008-02-25 Thread Tim Mooney

In regard to: Re: [PATCH]: possibility to disable dependencies on parent...:

I personally am still unsure whether having files depend on their parent 
directory
(and symlinks depend on their end-point) was the right thing to do in rpm or 
not.


I think it was.  It causes a little bit of pain at the start, but
ultimately I think it was the right idea.  The only challenge I've found
with it is one I brought up a while back -- how to decide what package
should claim a particular directory, when there are multiple packages that
might install files into that directory and no real required base package.
In my experience, this happens most with perl modules and directories
under perl's site_lib.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: rpm3 package still exist

2008-06-25 Thread Tim Mooney

In regard to: rpm3 package still exist, devzero2000 said (at 4:53pm on Jun...:


rpm -qi TIVsm-API

Name: TIVsm-APIRelocations: /opt
Version : 5.3.0 Vendor: IBM
Release : 0 Build Date: Wed 08 Dec 2004
01:29:20 PM CET
Install Date: Wed 06 Jun 2007 11:42:51 AM CEST  Build Host:
darkover.mainz.de.ibm.com
Group   : Utilities/Archiving   Source RPM:
TIVsm-5.3.0-0.src.rpm
Size: 13934052 License: Commercial
Signature   : (none)
URL : http://www-3.ibm.com/software/tivoli/products/storage-mgr/
Summary : the API
Description :
   IBM Tivoli Storage Manager API

rpm -q --qf '%{RPMVERSION}\n' TIVsm-API
3.0.6


That was built by ibm, and the commercial UNIX vendors are notorious for
sticking with a particular version of some software to maintain backward
compatibility.

This segues nicely into a question that just came up on the NetWorker
(backup software) mailing list.  EMC also packages all their RPMs for
their backup software using RPM 3.0.6, and EMC and IBM aren't the only
ones doing this.

If you try sign an RPM built with 3.0.x with a 4.X.Y version of RPM, the
RPM becomes corrupted.

Would this be something that's easy to fix -- make RPM 5.1.x capable of
signing both modern and ancient RPMs?  It sure would make a lot of
sysadmins lives easier, as they wouldn't have to keep an old copy of RPM
around just to sign packages they get from vendors.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: rpm3 package still exist

2008-06-25 Thread Tim Mooney

In regard to: Re: rpm3 package still exist, Jason Corley said (at 12:35pm...:


On Wed, Jun 25, 2008 at 12:06 PM, Tim Mooney <[EMAIL PROTECTED]> wrote:


If you try sign an RPM built with 3.0.x with a 4.X.Y version of RPM, the
RPM becomes corrupted.

Would this be something that's easy to fix -- make RPM 5.1.x capable of
signing both modern and ancient RPMs?  It sure would make a lot of
sysadmins lives easier, as they wouldn't have to keep an old copy of RPM
around just to sign packages they get from vendors.


Having asked this question once or twice over the last few years I'll
save Jeff the hassle of telling you that it's an insoluble problem.
So short answer is if it ain't happened by now, it ain't gonna happen.
Jason


Thanks Jason.  I pretty much figured that was the case, but hope springs
eternal, as they say.  ;-)

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: rpm3 package still exist

2008-06-25 Thread Tim Mooney

In regard to: Re: rpm3 package still exist, Jeff Johnson said (at 12:41pm...:


Could a converter be written if preserving header+payload MD5 was
not an issue? You betcha. The details necessary to do so I tried to
send to <[EMAIL PROTECTED]> this weekend past, but apparently
e-mail is becoming increasingly unreliable for communication,
I can't seem to find what I sent in the archives. Oh well ...


So support for signing ancient RPMs is a no-go, but it might be possible
to convert ancient RPMs to a more modern format?

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: rpm3 package still exist

2008-06-25 Thread Tim Mooney

In regard to: Re: rpm3 package still exist, Jeff Johnson said (at 2:35pm on...:



On Jun 25, 2008, at 1:26 PM, Tim Mooney wrote:

In regard to: Re: rpm3 package still exist, Jeff Johnson said (at 
12:41pm...:



Could a converter be written if preserving header+payload MD5 was
not an issue? You betcha. The details necessary to do so I tried to
send to <[EMAIL PROTECTED]> this weekend past, but apparently
e-mail is becoming increasingly unreliable for communication,
I can't seem to find what I sent in the archives. Oh well ...


So support for signing ancient RPMs is a no-go, but it might be possible
to convert ancient RPMs to a more modern format?



Yes. But it won't be the same package any more, any digital signatures
done by the vendor will be lost, and the header+payload MD5 digest will
change.


:-)  I personally don't care about the loss of vendor signatures.  Since
I'm not very familiar with RPM internals, I'm not sure what all the
implications are for the loss of header+payload MD5, but I'm guessing
most RPM users won't care.


Meanwhile, the incidence of "LSB format" packages is almost
zero these days. The problem will eventually solve itself,
adding a conversion tool changes almost nothing.

But I will likely write the converter this summer no matter what.


That's great to hear.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: rpm3 package still exist

2008-06-25 Thread Tim Mooney

In regard to: Re: rpm3 package still exist, devzero2000 said (at 10:06pm on...:


Why lusers want to resign package they have not created in first place: if
they want signed package, well, they have to ask the vendor alongside the
pub key - they have already paid anymore.


So they can distribute it via their software distribution infrastructure.
For example, Red Hat Satellite Server.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: rpm3 package still exist

2008-06-25 Thread Tim Mooney

In regard to: Re: rpm3 package still exist, Jeff Johnson said (at 3:25pm on...:


Modern == what has been widely deployed for 6+ years.


Jeff, I totally agree.  The problem is, for better or worse, there are
plenty of large commercial vendors that are still providing software
that's been packaged with non-modern RPM.  It's the sysadmins that are
the ones who suffer.

I would love to see every vendor that distributes RPMs upgrade to
something that's been released in the last couple years, but based on
past experience with large vendors and what I've seen so far, that's
not going to happen any time soon, even with customers pushing the vendors
to do so (and we are).

As devzero points out, the even larger problem isn't what version the
RPM is built with, it's how the software is packaged in the first place.
There are a lot of really bad vendor RPMs that do pretty crazy stuff.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: rpm3 package still exist

2008-06-25 Thread Tim Mooney

In regard to: Re: rpm3 package still exist, devzero2000 said (at 10:56pm on...:


I can sign the document i wrote. I can sign document, written by other, on
which i have control, can update, verify the quality or, almost, i have
trust. If i have to sign document,  which i have paid and not have control,
weel, i am crazy or silly. It is as i have to sign m$ software. Only for
distribute it.

So the digital signature became a joke. And i not like this.


I'm not saying you're wrong, but look at it this way:  any time you accept
a package (whether it's an RPM on Linux or a "setup.exe" on Windows) from
a vendor and you install it on your system, you're placing a significant
amount of trust in that vendor.

If you sign a package for distribution via your software distribution
mechanism (maybe it's yum, maybe it's Red Hat Satellite, maybe it's
something different), you're not say that you wrote the software and that
you vouch for the quality of the software: you're saying that you obtained
the software from the vendor.  You're vouching for its provenance, not
its quality.

By vouching for its provenance, you can now easily distribute this
software via your software distribution method to whatever systems should
have it.  If "whatever systems should have it" == 10,000 systems, isn't
it better to distribute it easily via your software distribution method
than to do it the hard way?  Either way, the software gets installed on
the system.  You're in no worse position by having signed it for
internal distribution than you are if you hadn't.

There's also no danger that some third party might see your signature on
an RPM and take that as a sign that you're vouching for the quality of
the software, because all of the vendors that we're talking about as part
of this discussion, that are still using rpm 3.0.x, have legal
restrictions on redistributing the software you've obtained from them.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: rpm3 package still exist

2008-06-25 Thread Tim Mooney

In regard to: Re: rpm3 package still exist, Jeff Johnson said (at 4:21pm on...:


Why lusers want to resign package they have not created in first place: if
they want signed package, well, they have to ask the vendor alongside the
pub key - they have already paid anymore.


So they can distribute it via their software distribution infrastructure.
For example, Red Hat Satellite Server.


Sounds like Red Hat Satellite Server, not rpm, is missing an essential
tool, if resigning "LSB format" rpms from other vendor's is the usage case.


I would agree that it's more pressing for Satellite to have this
capability than it is for rpm5.

I asked about it here because of the great segue that devzero provided,
and because I knew that you would have a lot of useful info to provide
on the problem, even if I didn't really expect that there would be any
solution or workaround.  I frankly agree with you: vendors using rpm 3.0.6
to do packaging in 2008 is just silly.  Unfortunately, my experience with
vendors and "vendor inertia" is that they're not going to change their
ways and get the modern RPM religion any time soon.

The Red Hat Satellite development team has been uniformly pleasant,
helpful and responsive when people have asked questions about Satellite
on the mailing list, but based on how long it's taking to get other
critical features into the product, I don't see Satellite getting this
support any time soon, if ever.

Tim
--
Tim Mooney[EMAIL PROTECTED]
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 Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: strange RPMDB problem: messed up entries (regularily)

2008-08-18 Thread Tim Mooney

In regard to: Re: strange RPMDB problem: messed up entries (regularily),...:


If/when I know how to reproduce the DB_PAGE_NOTFOUND issue I will
most certainly take you up on the offer.

Meanwhile, there's been a continuous stream of credible DB_PAGE_NOTFOUND
failure reports from x86_64 (the real correlate is "64bit", there's a few 
ppc64 reports too)

for years.


That's one I've not seen on x86_64-sun-solaris2.10.  I don't do very
frequent queries of my RPM database, though.  Maybe I should add a cron
job to run a periodic query, and see if I can tickle the problem too.

I'm still running rpm 4.4.9, but I've been thinking about upgrading this
fall, after the initial craziness of the start of school subsides.

Tim
--
Tim Mooney [EMAIL PROTECTED]
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Eliminating internal zlib.

2008-08-18 Thread Tim Mooney

In regard to: Eliminating internal zlib., Jeff Johnson said (at 6:15pm on...:


Should I rip out internal zlib on HEAD and rpm-5.1.4?


Yes, please.

Tim
--
Tim Mooney [EMAIL PROTECTED]
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Converting *.spec to Makefiles

2008-09-08 Thread Tim Mooney

In regard to: Re: Converting *.spec to Makefiles, Jeff Johnson said (at...:


make has the advantage that its universal, and one can take a Makefile
and run it.


That's probably true if you're talking about Linux, where every
distribution uses some recent version of GNU Make.  It's not as true
when you consider other platforms like Solaris or HP-UX.  I don't think
it's necessarily true even for the BSD-derivatives, but I haven't looked
at one in a while.

I also think that there wouldn't be so many alternatives to "make" (cmake,
smake, ant, etc.) if everyone agreed that it was the right solution to
most build problems.  autoconf + make works just great for my needs, but
apparently not everyone agrees.


That's not true with dialects of spec files.


I support any effort you'll undertake to regularize spec files or provide
an alternative, either of which hopefully will result in more
cross-distribution interoperatiblity (I'm not convinced that will actually
happen, but hope springs eternal, as they say).

I have had very few experiences with ant, but I have to say that those
experiences have so far left me hating it.  Hopefully whatever comes out
of this doesn't end up with 1000+ line XML files just to build the
simplest package.


Maybe something like http://bee.rubyforge.org/ would keep more within
the existing YAML-ish syntax, while still allowing for a Real Language ?


Oh good.  Another competing build system.  ;-)

Tim
--
Tim Mooney [EMAIL PROTECTED]
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: RPM DB, Berkley DB and journal files

2011-06-28 Thread Tim Mooney

In regard to: RPM DB, Berkley DB and journal files, Mark Hatle said (at...:


I was hoping someone can help me understand what is happening and how to address
it for our embedded system needs.

For reference:

http://bugzilla.pokylinux.org/show_bug.cgi?id=1174

from the above, the complaint is:

When using zypper/rpm install/removal package, database files and log files
cost a lot of disk space and may cause target image out of space.

The first time when we use RPM, a lot of database files will be created,
larger than 10MB.


That's a separate issue from the logs.  Does your platform support
System V IPC?  If so, have you considered using a shared memory key,
instead of mmap(2)?  That should completely remove several of the __db*
files.  On some platforms, it will also be significantly faster, too.


---

Each of the __db.* files created are large.  Nearly 10 MB each.  In addition in
the "log" directory are additional files that are also nearly 10 MB each.


As Per suggested, you probably want to at least investigate automatic
log file removal.

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: R: Re: RPM DB, Berkley DB and journal files

2011-06-29 Thread Tim Mooney

In regard to: R: Re: RPM DB, Berkley DB and journal files, pinto.elia@gmail...:


Perhaps OT, but just a my random thought about this thread about  rpm5
and berkley DB. most of which is discussed here is very similar, or
equal sometime, on similar question on openldap. Apparently strange but
not so quite if someone think carefully at the rpm5 rpm acid feature.
Just for Remainder my self, and Who is interested, that the rpm acid
docu, not so much at this moment, need also on a tuning guide. Sound
like a plan ? :-)


It's funny you mention OpenLDAP, since most of what I've learned about
BDB in the past year has been because of the work I did to upgrade my
site's primary and secondary LDAP servers to OpenLDAP 2.4.25.

OpenLDAP, being long-running and highly performance-sensitive, demands a
lot more tuning of BDB than RPM does and not all of the same
considerations will apply, but learning something about BDB for one of
those two packages will still help with tuning the other.

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: RPM DB, Berkley DB and journal files

2011-06-29 Thread Tim Mooney

In regard to: Re: RPM DB, Berkley DB and journal files, Jeff Johnson said...:


Meanwhile: Do you agree that increasing mmap size is the most important
performance related tunable?


First, although I have indeed learned a lot about BDB from OpenLDAP, that
still doesn't mean I know much.  ;-)  I went from knowing nothing about
it to knowing just a little, and most of that specific to how OpenLDAP
uses BDB.  You're still the expert, not me.

That said, if you're going to use mmap at all, then I trust you're correct
about mmap size being the most important tunable.

However, there has been considerable discussion on the OpenLDAP mailing
list about how on certain platforms, using mmap for the BDB env is much,
much slower than using System V IPC shared memory.  For example, on
Solaris using shared memory is an order of magnitude faster than using
mmap for the env:

http://www.openldap.org/lists/openldap-technical/201103/msg00069.html

Howard Chu has also stated that IPC shared memory is also beginning to
be a performance win (at least for OpenLDAP) on recent Linux kernels too,
though I don't believe it's the order of magnitude difference you see
elsewhere:

http://www.openldap.org/lists/openldap-technical/201104/msg00150.html

I can find more references to the issue with some more digging, but
basically, for at least how OpenLDAP uses BDB, System V IPC can be
a big win.

That doesn't necessarily mean it's a good idea for RPM in general,
or RPM on an embedded platform in particular.  It would get rid of
most of the __db* files that the original bug report mention, though.  ;-)
Possibly at the expense of making RPM not work at all on that platform.


I've diddled most of the tunables at some
point or another using rpm --stats as a measurement, and mmap'd I?O
is/was the most important tunable (disabling sync cannot be done in "production"
imho).


Makes sense.  Using RAM for the db env is always going to be faster than
using disk.

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: What should the contents of /etc/rpm/platform be ?

2011-07-22 Thread Tim Mooney

In regard to: What should the contents of /etc/rpm/platform be ?, Sriram...:


sriram@ram-oi:/usr/src/rpm/RPMS/i86pc$ uname -a
SunOS ram-oi 5.11 oi_147 i86pc i386 i86pc Solaris

sriram@ram-oi:/usr/src/rpm/RPMS/i86pc$ ls /usr/src/rpm/RPMS/i86pc/
autoconf-2.68-1.i86pc.rpm  cmake-2.8.5-1.i86pc.rpm  nginx-1.0.4-1.i86pc.rpm
axel-2.4-1.i86pc.rpm   git-1.7.6-1.i86pc.rpmrepodata

I build some packages already. (I now install from rpm packages only).

rpm --eval "%{_arch}-%{_vendor}-%{_os}%{?_gnu}"
i386-pc-solaris


On my x86_64-sun-solaris2.10 workstation I have

02:46 PM dogbert ~$cat /etc/rpm/platform 
x86_64-sun-solaris

x86_64-sun-solaris2.10
i686-sun-solaris
i686-*-solaris
i686-sun-solaris2.10
x86_64-[^-]*-solaris.*
noarch-[^-]*-.*
[^-]*-[^-]*-noos

Not all of those are relevant (or probably even valid...), but you get
the idea.

You may also want to consider overriding %_arch, %_vendor, and potentially
other platform-related macros in your host-specific RPM macros (probably
/etc/rpm/macros).

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


script for BuildRequires to graphviz?

2011-09-15 Thread Tim Mooney


All-

Before I re-invent the (possibly simple) wheel, I have a vague
recollection of seeing a script that can take a collection of spec files
and build a directed graph from the BuildRequires, for graphing in
something like graphviz.

I'm not finding it right now, and Google isn't giving me what I want
either.

I can do it myself and share if need be, but if there's prior art, I
would appreciate a pointer to it.

Thanks!

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: script for BuildRequires to graphviz?

2011-09-20 Thread Tim Mooney

In regard to: Re: script for BuildRequires to graphviz?, Jeff Johnson said...:



On Sep 15, 2011, at 1:23 PM, Jeff Johnson wrote:



On Sep 15, 2011, at 12:43 PM, Tim Mooney wrote:



All-

Before I re-invent the (possibly simple) wheel, I have a vague
recollection of seeing a script that can take a collection of spec files
and build a directed graph from the BuildRequires, for graphing in
something like graphviz.



Yep. I can resurrect that tool (rpmgraph.c? I fergit) if interested.



Dunno if you are using @rpm5.org or not. But there are two options
--needswhat
--whatneeds
that look up towards the root of the dependency graph, or down into
the sub-graph, displaying the packages found including all dependencies.


I'm currently using rpm 5.1.9.  Thanks for the heads-up on those two
options.  I wasn't aware of them.

The man pages for rpmgraph are still part of the source from RPM, but
rpmgraph.c appears to no longer be present.  I think it was rpmgraph
that I was remembering.

I don't think there's anything that you need to do, especially since
most of the options are designed to work with information from the
database and operate upon Requires, and I'm more interested in starting
with a heap of spec files and generating the graph for BuildRequires (not
Requires).

It should be pretty easy to script what I need, so I think I'll just
go that route.

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Requires: python(foo) = bar

2012-05-11 Thread Tim Mooney

In regard to: Requires: python(foo) = bar, Jeffrey Johnson said (at 2:11pm...:


Matthew Dawkins mentioned an interest in better python module
dependencies in RPM earlier today.


I'm still running rpm 5.1.9 and meaning to upgrade, but I've been meaning
to ask about ruby dependencies.  For better or worse, ruby is becoming
a big party of my life.

5.1.9 isn't doing anything for automatic ruby module dependencies, has
that improved with any of the more recent RPM releases?  Ruby complicates
things somewhat over other scripting languages because of the
not-yet-complete transition from standard modules to "gems", so automatic
dependency tracking has to do some extra work for ruby, I think.

Also, if I were looking to settle on a particular stable version of rpm
for the next year or so, what's the recommended stable version to pick?
Just 5.4.latest, or something earlier?


All of these are python scripts are generating *.dot output. So one approach
to better
Requires: python(foo) = bar
would be to write a parser for *.dot format (which is pretty damn trivial, even
sed(1) is almost enough) to automagically generate better python module
dependencies.


I wrote a brain-dead BuildRequires dependency generator for all my local
specs that generated a .dot file, but had real trouble getting graphviz
to display it.  I would love to know what options people are using with
graphviz to get a reasonable display of 1800+ nodes, some of which have
50-100 edges connecting them.

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Requires: python(foo) = bar

2012-05-11 Thread Tim Mooney

In regard to: Re: Requires: python(foo) = bar, Jeffrey Johnson said (at...:



On May 11, 2012, at 2:46 PM, Tim Mooney  wrote:


In regard to: Requires: python(foo) = bar, Jeffrey Johnson said (at 2:11pm...:


Matthew Dawkins mentioned an interest in better python module
dependencies in RPM earlier today.


I'm still running rpm 5.1.9 and meaning to upgrade, but I've been meaning
to ask about ruby dependencies.  For better or worse, ruby is becoming
a big party of my life.



Specific questions:

1) Would rpm-ruby bindings be useful to you?


Maybe some day, but at this point, not really.  I don't actually want to
interface with rpm from ruby (yet, and maybe not ever), I just want rpm
to automatically figure out all the junk (module or gem) that is required
when I rpm install something like rubygem-puppet-lint.


2) Are you doing DevOPS? I'd like to see a unification of
configuration <-> package
management, actually looked at puppet/chef/cfengine 6 weeks
ago.


Yes, that's what's driving ruby in our environment: puppet.


cfengine would be easiest to link into RPM and has
definite design strengths (i.e. I like "promises"). But
clearly PUPPET! PUPPET! PUPPET! is the loudest chant
from the Linux advocates everywhere.


It does have tremendous momentum.  It's changing a lot and is
a serious moving target, though.  A lot of what was done in our
environment when our primary puppet advocate was beginning to deploy
puppet here will need to be reworked considerably for the forthcoming
puppet 3.0.


Meanwhile I was underwhelmed with most of what I saw
with DevOPS: simple tasks became hugely complex and
there were no apparent complex tasks that the tools simplified
enough to interest me. But that was merely a drive-by
review of current state-of-the-art; I'm sure there
are features/benefits that I entirely missed in all
of the 3 DevOPS applications (2 in ruby) that I looked at.


I'm hard pressed to say that you're wrong;  There is a lot (I mean *a
lot*) of work that needs to be invested up front to get any benefits
out of devops.  If there's much variation in one's environment (as there
is in an academic environment like mine) that also adds a lot of
complexity, and it's complexity that one isn't necessarily prepared to
handle when they're initially rolling out something like puppet.

The benefits start to become pretty significant once you have a good
portion of your hosts included in your CM infrastructure.  It's really
nice to be able to make one change (like remove a sysadmin when he leaves)
in one spot and have it automatically applied to your entire environment
automatically.  Or know that your entire web farm is configured
identically *and* will be re-configured to be identical even if an admin
makes a change "just for testing" on just one of the web servers, and then
forgets to either undo or propagate it.

It's no panacea, but once you get critical mass, the benefits do start
to become much more apparent.

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Requires: python(foo) = bar

2012-05-11 Thread Tim Mooney

In regard to: Re: Requires: python(foo) = bar, Jeffrey Johnson said (at...:


Meanwhile the very ida of running multiple versions
of ruby and modules out of a per-user shadow tree
in ~/.rvm drove me to some serious drinking to forget
what I saw ;-)


Ruby, in general, has inspired beverage consumption in me.


rpm-5.3.11 is "production", rpm-5.4.x will be rather active
until mid-late summer preparing for ROSA 2012.


I'll give 5.3.11 a whirl in a couple weeks.  Thanks for the pointer.


Using graphviz on Mac OS X (used to be very very nice, dunno if
still actively distributed in *.dmg) and choosing PDF as a display
was the _ONLY_ means I could find to handle large dependency graphs.


I was hoping for PDF display, but that was a no-go for me on both
Solaris 10 and Linux.  The only option that actually worked at all was
png, and it wasn't very usable.


I still think a tree map rather than nodes <-> edges is a
better easier to understand display format for "packages"
because of the ability to map multiple attributes into
size/color/adjacency/labels/shapes. At some point all you
have is a huge snarly yarn ball with dotty.


That's exactly what I had, and I was only tracking manually specified
BuildRequires dependencies on my Solaris system.  It was a mess...

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


patches for OpenIndiana/Solaris 11

2013-08-29 Thread Tim Mooney


Jeff, et. al. -

I'm replacing my current x86_64-pc-solaris2.10 (traditional Solaris 10
from before Oracle bought Sun, 10u6 to be exact) build box with a new
x86_64-pc-solaris2.11, which is actually OpenIndiana 151a8.

The RPM 5.1.9 I've been using for packaging and installing local software
on the Solaris 10 box continues to work just fine on the new OI box, but
I'm planning on taking a run at current rpm (5.4.12?).  Because I'm a
glutton for punishment, I'll also be using the no-cost Oracle Studio 12.3
compiler toolchain.  ;-)

I plan on submitting build patches, but where would you like them
submitted?  Here?  launchpad?

As you well know, I'm a sysadmin that happens to be able to muddle around
in C, not a developer, so I expect that any patches will need feedback
and probably multiple revisions before they might be palatable to
upstream.  Some will likely never be acceptable for inclusion, but I'll
submit them and let you sort them out.

Be expecting to see some patches in the coming days.

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: patches for OpenIndiana/Solaris 11

2013-08-30 Thread Tim Mooney

In regard to: Re: patches for OpenIndiana/Solaris 11, Jeffrey Johnson said...:


I'm replacing my current x86_64-pc-solaris2.10 (traditional Solaris 10
from before Oracle bought Sun, 10u6 to be exact) build box with a new
x86_64-pc-solaris2.11, which is actually OpenIndiana 151a8.



Be expecting to see some patches in the coming days.



Several procedural details that would help me immensely:

1) a devtool.conf stanza that indicates what build options you are (or wish) to 
use
on OpenSolaris.


That I think I can do.  I'll try get something wired up.  I've saved
previous emails to the list about devtool going all the way back to when
you and Ralf first implemented it, so I should have enough in the way
of context and examples so I can come up with something useful.


2) hosting a build slave on OpenSolaris


This I would like to do, but I'm not certain if I'll be able to.  Since
I work at a university I have a lot more flexibility than most, but OI
is pretty niche even for us.

We do however have some brand new VMWare infrastructure that's desperately
in need of testing, so maybe if I position it that way...

I'll let you know on the 2nd item, but don't hold your breath.

If I *can't* get a buildbot going, I don't think you should spend any time
trying to get one going just for continuous integration on OpenSolaris.
If there was demand from some "significant" portion of the OS community
for RPM, then sure.  I do know that at least one OpenSolaris derivative
uses rpm as its native package format, but I don't know how or if it's
even active anymore.  Other than that possibility, I don't think there's
enough demand to justify your time trying to support it.

I actually would be totally fine with you not incorporating any of the
patches I may come up with; I'm submitting more so that they're on the
public record in case any other sole is on the same path.

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


OpenIndiana build environment for RPM

2013-10-17 Thread Tim Mooney
32
bit build is configured to search all the following places for .pc files:


--with-pc-path="/local/lib/pkgconfig:/local/gnu/lib/pkgconfig:/local/share/pkgconfig:/local/gnu/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig"

while the 64 bit pkgconfig (that gets installed in /local/bin/64) is
configured with


--with-pc-path="/local/lib/64/pkgconfig:/local/gnu/lib/64/pkgconfig:/local/share/pkgconfig:/local/gnu/share/pkgconfig:/usr/lib/64/pkgconfig:/usr/share/pkgconfig"

Because I'm primarily interested in 64 bit builds but it's occasionally
useful to also have 32 bit libraries, the scripts I used build and install
the package twice, once with options for 32 bit and the second time with
options (and paths, like --bindir=/bin/64
--libdir=/lib/64) suitable for 64 bit compilation.

Devtool setup
=

I started with the %indiana devtool.conf entry and created
%oi151a8_studio_64 from it, with settings suitable for using the Studio
compiler to build in 64 bit mode.  I also switched "neon" and "beecrypt"
to be "external", and enabled xz and libelf.

I just recently got that entry to the point where RPM will autogen and
run configure to completion, so consider it a work-in-progress.  In
particular, I haven't been able to correctly tailor which additional
modules are checked out for building internal to RPM, so I'm currently
using a horrible hack to do the normal %checkout, and then remove
the directories for beecrypt and neon.  I also used examples from
elsewhere in devtool.conf to check to make certain that necessary OS
packages are installed and automatically install them if not.

The devtool.conf patch (against current CVS) is after my signature.  With
it and the other steps I've describe above, I can get RPM's configure
to complete.  I'll be working on the remaining build issues as time permits.

Feedback welcomed!

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, IACC Building 701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164


Index: devtool.conf
===
RCS file: /v/rpm/cvs/rpm/devtool.conf,v
retrieving revision 2.382
diff -u -r2.382 devtool.conf
--- devtool.conf6 Apr 2012 10:22:04 -   2.382
+++ devtool.conf17 Oct 2013 21:21:44 -
@@ -1243,6 +1243,152 @@
 --enable-build-debug \
 --enable-maintainer-mode

+%oi151a8_pkg_prep
+   #
+   # Make certain we have the necessary OS distribution packages
+   # installed.
+   #
+   PKGS=""
+   if test ! -f /usr/include/pthread.h ; then
+   PKGS="$PKGS /system/header"
+   fi
+   if test ! -f /usr/include/math.h ; then
+   PKGS="$PKGS /system/library/math/header-math"
+   fi
+   if test ! -x /usr/bin/ld ; then
+   PKGS="$PKGS /developer/linker"
+   fi
+   if test ! -f /usr/lib/values-xpg6.o ; then
+   PKGS="$PKGS /developer/library/lint"
+   fi
+   if test ! -f /usr/lib/cpp ; then
+   PKGS="$PKGS /developer/macro/cpp"
+   fi
+   if test ! -x /usr/gnu/bin/make ; then
+   PKGS="$PKGS /developer/build/gnu-make"
+   fi
+   if test ! -x /usr/gnu/bin/m4; then
+   PKGS="$PKGS /developer/macros/gnu-m4"
+   fi
+   if test ! -x /usr/bin/cvs; then
+   PKGS="$PKGS /developer/versioning/cvs"
+   fi
+   # if PKGS isn't empty, loop and install
+   if test X"$PKGS" != X"" ; then
+   for p in $PKGS
+   do
+   sudo pkg install $p
+   done
+   fi
+
+# OpenIndiana 151a8 on x86_64 with the Oracle Studio 12.x compiler
+%oi151a8_studio_64
+   %oi151a8_pkg_prep
+   %checkout
+   rm -rf neon popt
+   #
+   # set this to where local packages are installed, both RPM pre-reqs
+   # (autoconf, automake, libtool, gettext, neon, beecrypt) and where
+   # rpm will be installed.
+   #
+   LOCAL=/usr/local
+   #
+   # if GNU software is installed in a directory that's separate from other
+   # local software, specify the prefix here.  Otherwise, just set
+   # GNU=${LOCAL}
+   #
+   GNU=/usr/local/gnu
+   #
+   # where the Oracle Studio tar file is extracted.  You must install
+   # this manually.
+   #
+   STUDIO=/opt/SUNWspro
+   #
+   # environment setup for building RPM.
+   #
+   PATH=${STUDIO}/bin:${LOCAL}/bin/64:${LOCAL}/bin:${GNU}/bin/64:${GNU}/bin
+   PATH=$PATH:/usr/gnu/bin/64:/usr/gnu/bin:/usr/bin/64:/usr/bin:/usr/sbin
+   export PATH
+   CC='

Re: [CVS] RPM: rpm-5_4: rpm/scripts/ vpkg-provides2.sh

2015-04-02 Thread Tim Mooney

In regard to: Re: [CVS] RPM: rpm-5_4: rpm/scripts/ vpkg-provides2.sh,...:


The aim is to modernize a little these shells. The comment should be clear.


Why?  Was there something broken that you've fixed?

Because the change you've made actually makes them less portable.

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, Quentin Burdick Building  701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: [CVS] RPM: rpm-5_4: rpm/scripts/ vpkg-provides2.sh

2015-04-02 Thread Tim Mooney

In regard to: Re: [CVS] RPM: rpm-5_4: rpm/scripts/ vpkg-provides2.sh,...:


Certainly lots of the scripts could use an overhaul.

Most shells SHOULD be POSIX compliant: but I will defer to Tim's opinion
on portability, there may still be some ancient shells in use somewhere.


I no longer have access to many of the UNIX variants we used to use, but
even Solaris 10 had a /bin/sh that was more traditional Bourne than POSIX.

And for Pinto's benefit, specifically related to the vpkg-provides script:
that script is really targeted at *non*-Linux, so portability to older
variants of /bin/sh is important.  No one needs vpkg-provides on an
RPM-based system, but it might save the day on an AIX or Solaris system
where you're trying to bootstrap RPM.  Keep in mind that even older
versions of the UNIX variants often had a POSIX shell stashed somewhere
(like /usr/xpg4/bin/sh on Solaris 8 or 9), but it wasn't the default shell
and a lot of newer admins wouldn't know of its existence.

Tim
--
Tim Mooney tim.moo...@ndsu.edu
Enterprise Computing & Infrastructure  701-231-1076 (Voice)
Room 242-J6, Quentin Burdick Building  701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org