Panu Matilainen [Mon, 23 Aug 2010 10:08:23 +0000 (13:08 +0300)]
Remove ancient autohelp-handling related leftovers
Panu Matilainen [Mon, 23 Aug 2010 06:51:52 +0000 (09:51 +0300)]
Lose leftover variable, use const for s to clarify usage
Piotr Drąg [Sun, 22 Aug 2010 20:29:46 +0000 (20:29 +0000)]
l10n: Updated Polish (pl) translation to 100%
New status: 729 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
Panu Matilainen [Fri, 20 Aug 2010 14:50:51 +0000 (17:50 +0300)]
Remove signing support from (lib)rpmbuild
- Signing is better done in an environment completely separated from
the process of actually building packages. This is how its generally
done anyway by distros, this change just forces the issue.
- While signing on build seems handy and saves some io-churn, this
is very insecure as your precious secret passphrase remains unencrypted
in memory for the entire duration of the build where it's accessible
to whatever happens to be building. This change doesn't
affect fix the issue of unencrypted passphrase residing in memory
and potentially getting swapped out, it only limits the exposure
to the actual signing process which isn't subject to unknown scripts
poking around.
- Minimally preserve rpmbuild's --sign functionality via popt --pipe hack
to call rpm --addsign when build completes
Panu Matilainen [Fri, 20 Aug 2010 13:00:38 +0000 (16:00 +0300)]
Yet another unused copy of identifyDepend() hiding inline
Panu Matilainen [Fri, 20 Aug 2010 12:33:59 +0000 (15:33 +0300)]
Hack to get popt working when running from build tree
- Dynamic linking with libtool causes binaries to appear as lt-foo,
which confuses the heck out of popt aliasing. Add a dumb hack to
rpmcliInit() to fixup the lt- out of popt context names.
Panu Matilainen [Fri, 20 Aug 2010 12:17:08 +0000 (15:17 +0300)]
Argh. Realize we already have equivalents of initCli() and finishCli()
- rpmcliInit() and rpmcliFini() do almost exactly the same as our
newborn cli-helpers, but they've been almost unused until now.
Use them and lose the new ones.. doh.
- The downside is that popt aliases are now broken when running commands
from the build tree due to lt-foo in argv[0], whereas initCli() took
and explicit popt context name argument. Oh well...
- rpmcliFini() was missing several necessary memory cleanup calls,
add them there while at it.
Panu Matilainen [Fri, 20 Aug 2010 11:48:44 +0000 (14:48 +0300)]
Remove unused code, hidden away from compiler warnings via inlining
Panu Matilainen [Fri, 20 Aug 2010 11:31:16 +0000 (14:31 +0300)]
Kludge to get rid of ugly lone --quiet on usage message
Panu Matilainen [Fri, 20 Aug 2010 11:27:35 +0000 (14:27 +0300)]
Update translations to pick up stuff moving around
Panu Matilainen [Fri, 20 Aug 2010 10:47:05 +0000 (13:47 +0300)]
Move --pipe handling to cliutils helpers
Panu Matilainen [Fri, 20 Aug 2010 10:42:00 +0000 (13:42 +0300)]
Panu Matilainen [Fri, 20 Aug 2010 10:16:48 +0000 (13:16 +0300)]
Lump much of the common cli-init + finish tasks into cliutils helpers
Panu Matilainen [Fri, 20 Aug 2010 09:08:10 +0000 (12:08 +0300)]
Add a convenience library for stuff common cli-bits into
Panu Matilainen [Fri, 20 Aug 2010 08:35:44 +0000 (11:35 +0300)]
If MiNT can't cope, frankly my dear, I dont give a damn
Panu Matilainen [Fri, 20 Aug 2010 08:26:28 +0000 (11:26 +0300)]
Merge build.[ch] into rpmbuild.c, doesn't make sense to separate anymore
Panu Matilainen [Fri, 20 Aug 2010 08:16:17 +0000 (11:16 +0300)]
Clean up rpmbuild's --quiet handling + honor it on --rebuild too
Panu Matilainen [Fri, 20 Aug 2010 08:06:24 +0000 (11:06 +0300)]
Cosmetics cleanup
Panu Matilainen [Fri, 20 Aug 2010 08:02:14 +0000 (11:02 +0300)]
Eliminate unnecessary sanity checks wrt --sign and fix indentation
Panu Matilainen [Fri, 20 Aug 2010 07:41:18 +0000 (10:41 +0300)]
Test argument count early, avoiding the need to re-check over and over
- Instead of bothering with different error messages for tar/spec/pkg
messages, just dump usage when no arguments present.
- Testing argument file existence for signing is meaningless on build
as we're not signing the specs or tarballs present there but the
build result.
Panu Matilainen [Fri, 20 Aug 2010 07:24:53 +0000 (10:24 +0300)]
Eliminate a bunch of now unnecessary cli-switch sanity checks
Panu Matilainen [Fri, 20 Aug 2010 07:19:26 +0000 (10:19 +0300)]
Simplify --root argument checking
- We haven't accepted url's in as root since ages, wipe out the goo
Panu Matilainen [Fri, 20 Aug 2010 06:26:10 +0000 (09:26 +0300)]
Eliminate the IAM_RPMBT ifdef's from rpmbuild.c for real
Panu Matilainen [Fri, 20 Aug 2010 06:20:16 +0000 (09:20 +0300)]
Chainsaw the now unused #ifdef'ed parts out of rpmqv.c and rpmbuild.c
Panu Matilainen [Fri, 20 Aug 2010 06:00:26 +0000 (09:00 +0300)]
Begin splitting rpmbuild to separate sources
- Make a copy of the entire rpmqv.c source to rpmbuild.c and switch
make to use the new copy. No functional changes. Making a copy first
means we get much easier to follow patch-series on the changes
that will follow.
Panu Matilainen [Wed, 18 Aug 2010 09:32:23 +0000 (12:32 +0300)]
Add a test-case for --specfile query
Panu Matilainen [Wed, 18 Aug 2010 08:55:19 +0000 (11:55 +0300)]
Add %patch usage to hello.spec testcase
Panu Matilainen [Fri, 13 Aug 2010 07:58:51 +0000 (10:58 +0300)]
Lose the now unnecessary rpmtsSELinuxEnabled() function
- it never was anything more than a cached value of is_selinux_enabled()
and caching this fairly expensive result is no longer needed as
scriptlet execution wrt selinux contexts is now conditionalized on
RPMTRANS_FLAG_NOCONTEXTS instead
Panu Matilainen [Fri, 13 Aug 2010 07:52:40 +0000 (10:52 +0300)]
Conditionalize rpm_execcon() usage on per-transaction flags
- If we aren't laying down file contexts, executing scriptlets in
contexts doesn't make much sense either as its just likely to fail.
- System-wide settings, such as is_selinux_enabled() value, are
very ambiguous when it comes to chroots, using per-transaction
controllable flags instead lets callers decide.
Giulio Eulisse [Tue, 10 Aug 2010 08:50:48 +0000 (11:50 +0300)]
Add missing libgen.h include
Roland McGrath [Mon, 9 Aug 2010 12:27:03 +0000 (15:27 +0300)]
Fix find-debuginfo.sh behavior on cross-directory hardlinks (RhBug:618426)
- The find-debuginfo.sh script makes hard links of .debug files to
correspond to hard links between install binaries. It can fail to
create one of these .debug hard links if it's in a directory that
didn't exist at that point in the script run. How this happens
depends on things like the order "find" lists files, so it can
be hard to reproduce off hand.
Tom Tromey [Mon, 9 Aug 2010 12:22:51 +0000 (15:22 +0300)]
Create GDB index from find-debuginfo if possible (RhBug:617166)
- Details in https://fedoraproject.org/wiki/Features/GdbIndex
Jindrich Novy [Tue, 13 Jul 2010 11:35:22 +0000 (13:35 +0200)]
Redirect macro stack backtrace printing to debug log.
Jindrich Novy [Tue, 13 Jul 2010 11:34:05 +0000 (13:34 +0200)]
Fix cryptic macro evaluation error message (RhBug:613010)
Yuri Chornoivan [Sat, 10 Jul 2010 04:51:43 +0000 (04:51 +0000)]
l10n: Updated Ukrainian (uk) translation to 100%
New status: 732 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
Panu Matilainen [Fri, 9 Jul 2010 09:32:24 +0000 (12:32 +0300)]
Skip any initial comments when looking for pubkey start marker
Florian Festi [Thu, 8 Jul 2010 12:29:36 +0000 (14:29 +0200)]
Remove never used fsmRmdirs() function
which should have removed implicitly created directories
Florian Festi [Thu, 8 Jul 2010 12:25:48 +0000 (14:25 +0200)]
Tidy up fsmMapPath a bit
Florian Festi [Mon, 7 Jun 2010 13:56:51 +0000 (15:56 +0200)]
Make FSM_VERIFY a function
Florian Festi [Mon, 7 Jun 2010 10:10:08 +0000 (12:10 +0200)]
Make FSM_CREATE a function
Florian Festi [Fri, 4 Jun 2010 15:03:59 +0000 (17:03 +0200)]
Make FSM_READLINK a function
Florian Festi [Fri, 4 Jun 2010 12:30:16 +0000 (14:30 +0200)]
Make FSM_LSTAT and FSM_STAT one function
Florian Festi [Fri, 18 Dec 2009 08:26:05 +0000 (09:26 +0100)]
Move FSM_HREAD in place
Florian Festi [Fri, 18 Dec 2009 08:24:25 +0000 (09:24 +0100)]
Move FSM_HWRITE in place
Florian Festi [Fri, 18 Dec 2009 08:22:27 +0000 (09:22 +0100)]
Move FSM_TRAILER in place
Florian Festi [Thu, 17 Dec 2009 14:12:32 +0000 (15:12 +0100)]
Move FSM_MKNOD in place
Florian Festi [Thu, 17 Dec 2009 14:07:25 +0000 (15:07 +0100)]
Move FSM_MKFIFO in place
Florian Festi [Thu, 17 Dec 2009 14:04:18 +0000 (15:04 +0100)]
Move FSM_LINK in place
Florian Festi [Thu, 17 Dec 2009 14:00:52 +0000 (15:00 +0100)]
Move FSM_SYMLINK in place
Florian Festi [Thu, 17 Dec 2009 13:14:56 +0000 (14:14 +0100)]
Make FSM_CHOWN, FSM_LCHOWN, FSM_CHMOD, FSM_UTIME and FSM_SETCAP functions
Florian Festi [Thu, 17 Dec 2009 12:40:55 +0000 (13:40 +0100)]
Make FSM_LSETFCON a function
Florian Festi [Thu, 17 Dec 2009 12:26:21 +0000 (13:26 +0100)]
Make FSM_RMDIR a function
Florian Festi [Thu, 17 Dec 2009 12:22:35 +0000 (13:22 +0100)]
Make FSM_RENAME a function
Florian Festi [Thu, 17 Dec 2009 12:17:33 +0000 (13:17 +0100)]
Make FSM_UNLINK a function
Florian Festi [Thu, 17 Dec 2009 12:06:59 +0000 (13:06 +0100)]
remove no longer needed FSM states
Florian Festi [Thu, 17 Dec 2009 12:05:16 +0000 (13:05 +0100)]
Make FSM_MKDIR a function
Florian Festi [Thu, 17 Dec 2009 11:27:52 +0000 (12:27 +0100)]
Use fsmRmdirs and fsmMkdirs directly
Florian Festi [Thu, 17 Dec 2009 11:20:38 +0000 (12:20 +0100)]
Use fsmMapPath directly instead of FSM_MAP
Move fsmMapPath to better position in the file
Florian Festi [Thu, 17 Dec 2009 11:17:58 +0000 (12:17 +0100)]
Make FSM_INIT a function
Panu Matilainen [Sat, 3 Jul 2010 04:16:22 +0000 (07:16 +0300)]
Oops, dont hang in getOutputFrom() if we have nothing to write
Panu Matilainen [Fri, 2 Jul 2010 10:23:11 +0000 (13:23 +0300)]
Ugh, fix reversed condition on font-provide extractor
- braindamage in commit
53045d5dcdce3988e2586cb315b35e6a675a8152
Panu Matilainen [Fri, 2 Jul 2010 09:21:00 +0000 (12:21 +0300)]
Rewrite getOutputFrom() in a race-free way (supposedly ;)
- Use a self-pipe to handle signal race on select(). pselect() would work
too but this is more portable and avoids other signal hassles.
- Use non-blocking IO for communicating with the child to avoid spin-happy
timeouts, just check all fd's properly before trying to use them
- Avoid leaking memory from readBuff on errors
Héctor Daniel Cabrera [Wed, 30 Jun 2010 23:23:19 +0000 (23:23 +0000)]
l10n: Updated Spanish (Castilian) (es) translation to 100%
New status: 732 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
Piotr Drąg [Wed, 30 Jun 2010 09:38:22 +0000 (09:38 +0000)]
l10n: Updated Polish (pl) translation to 100%
New status: 732 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
Panu Matilainen [Wed, 30 Jun 2010 09:27:56 +0000 (12:27 +0300)]
Make the infamous getOutputFrom() error message more useful
- ...like actually saying what was the failing script, doh
- leaving the function name there for a googling hint
Panu Matilainen [Wed, 30 Jun 2010 08:57:17 +0000 (11:57 +0300)]
Fix potential getOutputFrom() error on font provide extraction (RhBug:609117)
- if fonts are detected in the package being built but fc-query isn't
present, the script exited without consuming stdin which can break
getOutputFrom()
Ville Skyttä [Sun, 23 May 2010 07:54:39 +0000 (10:54 +0300)]
Extract dependencies from "use base qw"..."" and "use base qw'...'".
Panu Matilainen [Tue, 29 Jun 2010 08:59:33 +0000 (11:59 +0300)]
Update translations to pick up some recently added strings
Panu Matilainen [Tue, 29 Jun 2010 08:34:32 +0000 (11:34 +0300)]
Add --delsign to man page
Panu Matilainen [Tue, 29 Jun 2010 07:47:18 +0000 (10:47 +0300)]
Add some sanity checks for generated signatures (related to RhBug:608599)
- GPG supports all sorts of algorithms NSS doesn't, do some basic tests
to verify the generated signature is something we can actually use.
Jiri Kastner [Tue, 29 Jun 2010 06:46:22 +0000 (09:46 +0300)]
Tell rpm about SHA-224 existence (RhBug:608599)
- Fixes "Unknown hash algorithm" message but this is cosmetic only as
NSS doesn't currently support SHA-224.
Panu Matilainen [Mon, 28 Jun 2010 12:59:23 +0000 (15:59 +0300)]
Use rpmdsThis() instead of doing the same manually
Panu Matilainen [Thu, 24 Jun 2010 10:17:08 +0000 (13:17 +0300)]
Move collections tag to "known free" number, document reserved tags
- missed during review, oh well..
Panu Matilainen [Thu, 24 Jun 2010 08:33:52 +0000 (11:33 +0300)]
Err, remove /build/ from .gitignore
Panu Matilainen [Wed, 23 Jun 2010 13:11:10 +0000 (16:11 +0300)]
Permit plugins to use rpmChrootDone() too
Michal Schmidt [Tue, 22 Jun 2010 13:51:41 +0000 (15:51 +0200)]
Revert "If there are no hardlinks, dont bother with s-bit and caps removal"
Deciding whether it is necessary to remove the SUID bit based on
the current link count creates an opportunity for a race condition.
A hardlink could be created just between lstat() and chmod().
This reverts commit
89be57ad9239c9ada0cba94a5003876b456d46bf.
Michal Schmidt [Wed, 23 Jun 2010 12:37:56 +0000 (14:37 +0200)]
Allow '--short-circuit' for '-bb'
This patch allows short-circuiting of building binary packages. To
prevent accidental use of short-circuited rpms, they are marked with
an unsatisfiable dependency "rpmlib(ShortCircuited)". A developer using
this feature for local development and testing will use "--nodeps".
Should such a rpm leak into the world, users will quickly notice
it does not install by default.
(v3: avoids API change, suggested by Panu Matilainen.
v2: added poisoning with unsatisfiable dependency.)
Michal
Panu Matilainen [Wed, 23 Jun 2010 12:59:49 +0000 (15:59 +0300)]
Add configure.ac check for need to -ldl
- without this the build can barf on unresolved dl* symbols with a
linker defaulting to --no-add-needed
Panu Matilainen [Wed, 23 Jun 2010 12:54:48 +0000 (15:54 +0300)]
Use rpmlog() instead of fprintf() for collection error messages
Panu Matilainen [Wed, 23 Jun 2010 11:49:01 +0000 (14:49 +0300)]
Make rpmChrootIn/Out() accessible to plugins
- the exec plugin was using a private copy of rpmchroot.c to avoid
RPM_GNUC_INTERNAL on the API, better let the plugins use librpm
state instead
- the chroot API really belongs to librpmio but for now...
Panu Matilainen [Tue, 22 Jun 2010 11:51:31 +0000 (14:51 +0300)]
Fix python ts.check() dependency tuple munging
- braindamage from commit
fab2debfe440d677dbd072c3cd73d2c99876e7a5,
causing list index out of range for any non-versioned dependency
and bogus garbage for the rest, doh...
Panu Matilainen [Tue, 22 Jun 2010 11:20:47 +0000 (14:20 +0300)]
Fix breakage from commit
ccb545f0e9b6cb10e9e7c20b55f77aab754eb9cb
- file dependencies aren't necessarily on real files, they can be
virtual provides too eg when alternatives is used
- rc was being accessed unitialized
- oh well, at least I said "supposedly"...
Panu Matilainen [Tue, 22 Jun 2010 09:22:04 +0000 (12:22 +0300)]
numAddedPackages is unused since rpm 4.8.0, eliminate
Steve Lawrence [Mon, 21 Jun 2010 21:04:40 +0000 (17:04 -0400)]
Add a generic plugin for use by simple Collections
This patch adds a generic plugin, exec.so, that should be sufficient for the
majority of Collection actions. After all packages in a Collection have been
installed/removed, this plugin executes the arguments by calling system(3),
allowing for a very generic and powerful method to perform many actions.
This also adds two sample macros as examples of the format, using the exec.so
plugin.
Steve Lawrence [Mon, 21 Jun 2010 21:04:37 +0000 (17:04 -0400)]
Determine when to perform Collection actions
There are three times during a transaction when Collection actions can be
performed:
1) After the last time a member of a collection is either installed or removed
2) After the last time a member of a collection is installed only
3) Before the first time a member of a collection is removed only
This patch adds three lists to the rpmte structure to mark which transaction
elements fall into each of these groups, and the collections that caused that.
A new function is added to the TSM to scan through all the transaction elements
and update these lists. When a collection is added to one of these lists, it
signifies that when that transaction element is installed, the appropriate
action should be performed for that collection.
Steve Lawrence [Mon, 21 Jun 2010 21:04:39 +0000 (17:04 -0400)]
Add plugin calling support
This patch adds a simple plugin system that makes simple problems easy to
solve, and difficult problems, such as SELinux, possible.
When the transaction gets to the point where a collection action should occur,
it expands a macro of the form %__collection_<collection name> to get the path
to a plugin and any additional options. The plugin is dlopen'ed, and the
appropriate function is called in the plugin, with the additional arguments
passed in.
This also adds a --nocollections option to disable performing Collection
actions.
Steve Lawrence [Mon, 21 Jun 2010 21:04:38 +0000 (17:04 -0400)]
Add common Collection requirements
This patch adds the install-time feature that if a package requires a package
in a collection, then it also requires all other packages in that collection.
This has the effect that collections will be roughly grouped together during a
transaction.
Although this is not absolutely necessary for the majority of collections, it
is required for the SELinux collection. This is because all SELinux policies
must be installed before the applications they secure to ensure correct labels.
This means we must ensure packages in the selinux collection are ordered
earlier in the transaction than all applications they protect. Adding this
implicit runtime requirements achieves this in a general manner, without major
modifications to dependency ordering.
To accomplish this, this patch splits the addRelation function into two parts:
one that determines which relations to add, and one that actually adds them.
After the usual relation is added between two packages, it then determines if
the required package contains any collections. If so, it finds all other
packages that are in the same collections and creates additional relations.
Steve Lawrence [Mon, 21 Jun 2010 21:04:36 +0000 (17:04 -0400)]
Add new Collections preamble tag
This adds a new Collections preamble tag, which contains a space separated list
of collection names that the package belongs to.
Héctor Daniel Cabrera [Mon, 14 Jun 2010 15:45:49 +0000 (15:45 +0000)]
l10n: Updated Spanish (Castilian) (es) translation to 100%
New status: 724 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
Panu Matilainen [Fri, 11 Jun 2010 05:19:08 +0000 (08:19 +0300)]
Dont bother with selinux contexts in test transactions
- initializing contexts isn't exactly cheap, and test transactions
have no use for them
Panu Matilainen [Fri, 11 Jun 2010 05:17:12 +0000 (08:17 +0300)]
If there are no hardlinks, dont bother with s-bit and caps removal
Tadashi Jokagi [Mon, 7 Jun 2010 22:12:12 +0000 (22:12 +0000)]
l10n: Updated Japanese (ja) translation to 97%
New status: 707 messages complete with 9 fuzzies and 8 untranslated.
Transmitted-via: Transifex (www.transifex.net).
Tadashi Jokagi [Mon, 7 Jun 2010 22:10:29 +0000 (22:10 +0000)]
l10n: Updated Japanese (ja) translation to 97%
New status: 705 messages complete with 10 fuzzies and 9 untranslated.
Transmitted-via: Transifex (www.transifex.net).
Panu Matilainen [Mon, 7 Jun 2010 11:01:02 +0000 (14:01 +0300)]
Oops, bad format spec in Finnish translation
Panu Matilainen [Mon, 7 Jun 2010 10:14:52 +0000 (13:14 +0300)]
Eliminate fuzzies from Finnish translation
Panu Matilainen [Mon, 7 Jun 2010 09:51:09 +0000 (12:51 +0300)]
Update .gitignore a bit
Yuri Chornoivan [Sun, 6 Jun 2010 05:40:03 +0000 (05:40 +0000)]
l10n: Updated Ukrainian (uk) translation to 100%
New status: 724 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
Piotr Drąg [Thu, 3 Jun 2010 18:45:25 +0000 (18:45 +0000)]
l10n: Updated Polish (pl) translation to 100%
New status: 724 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
Panu Matilainen [Thu, 3 Jun 2010 13:22:09 +0000 (16:22 +0300)]
Fix "empty reply from server" curl-syndrome with url retrieval (RhBug:598988)
- We were adding a trailing newline to urlhelper command line passed
to execvp(), with the newline ending up in the URL passed to curl.
Many servers dont seem to mind the extra newline, but some do. Oh well...
Panu Matilainen [Thu, 3 Jun 2010 08:04:12 +0000 (11:04 +0300)]
Remove POSIX file capabilities from executables on erase/rename too
- Just like suid/sgid bits, hardlinks to executables with capabilities
set can "leak" permissions to old, potentially vulnerable versions
of binaries. Related to RhBug:598775.