<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openembedded-core.git/meta/classes/package_rpm.bbclass, branch master</title>
<subtitle></subtitle>
<id>https://trygvis.io/git/2012/05/openembedded-core.git/atom?h=master</id>
<link rel='self' href='https://trygvis.io/git/2012/05/openembedded-core.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/'/>
<updated>2012-05-11T17:03:26Z</updated>
<entry>
<title>package.bbclass: Drop EXPORT_FUNCTIONS use against mapping_rename_hook</title>
<updated>2012-05-11T17:03:26Z</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2012-05-10T08:24:22Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=74daad03ca29a03b0005f7d2b90a0347d5b583a5'/>
<id>urn:sha1:74daad03ca29a03b0005f7d2b90a0347d5b583a5</id>
<content type='text'>
The usage of this function renaming and it being called using
bb.build.exec_func() causes needless indirection loops, confusing log
files and seems generally pointless.

This simplification makes the process much simpler and faster. I can't
come up with a good reason why the export_functions functionality is
needed for this function.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package_rpm: Only rebuild the indexes if the packages have changed</title>
<updated>2012-04-27T15:21:22Z</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2012-02-09T14:09:18Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=3021136e7b42ab64ca16f30c88467c4b00d51ee0'/>
<id>urn:sha1:3021136e7b42ab64ca16f30c88467c4b00d51ee0</id>
<content type='text'>
This change farms the solvedb creation out to a separate script which
handles creation of the index, only if mtime of any of the packages
has changed.

For a core-image-minimal set of rpm's this saves ~20s of a 45s rootfs
build. For core-image-sato it saves 1 minute of a 5 minute rootfs build.
The more packages in the system, the bigger the saving will be.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package_rpm.bbclass: Replace shell provides/requires script with python version</title>
<updated>2012-04-26T21:07:54Z</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2012-04-26T19:54:23Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=2fb5f72b47840ed7f540df181595878e3f5ba4c6'/>
<id>urn:sha1:2fb5f72b47840ed7f540df181595878e3f5ba4c6</id>
<content type='text'>
The existing shell script is a fork bomb and forks off hundreds of
grep/cur/wc calls as it reads from its input stream and iterates over
the file data table for each line of input. This patch replaces the
shell code with python code which doesn't exec anything and hence runs
much faster without the exec() overhead. This speeds up rpm packaging
considerably, as can be measured simply by timing it, or watching the
processor utilisation.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package_rpm.bbclass: Set tmppath for rpm to somewhere which won't conflict with the rootfs</title>
<updated>2012-04-12T20:24:55Z</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2012-04-12T20:16:41Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=71e95c744eaa4dda1b3237db2e13f666f121c92b'/>
<id>urn:sha1:71e95c744eaa4dda1b3237db2e13f666f121c92b</id>
<content type='text'>
If the rootfs has a specific layout in mind for /var/tmp, it should be
free to create this. Preinst scripts trigger rpm to create its tmppath
directory which could potentially conflict with this.

We're seeing issues if the provider of the /var/tmp wants to use a symlink
and a preinst script executes before it has been installed. This change
places tmppath as used by rpm somewhere safe which is already automatically
cleaned up too.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package_rpm.bbclass: Use the correct macros file to avoid empty solvedb path issues</title>
<updated>2012-04-12T07:21:38Z</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2012-04-12T07:21:38Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=f714f54df01e02a1115b42f3637f74a11eb51edb'/>
<id>urn:sha1:f714f54df01e02a1115b42f3637f74a11eb51edb</id>
<content type='text'>
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package_rpm: Fix useradd preinst ordering issues</title>
<updated>2012-04-11T23:24:12Z</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2012-04-11T21:31:20Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=2c136255a7db8c57ab595a9c2ee1f32aebefc480'/>
<id>urn:sha1:2c136255a7db8c57ab595a9c2ee1f32aebefc480</id>
<content type='text'>
We were already having occasional ordering issues with package_rpm.
Fixing the ldconfig postinstall issue pushed rpm over the cliff and
totally broke rpm builds with the packages getting installed in
effectively a random order and the useradd preinstalls getting executed
out of order and breaking.

The only explanation I can find for this is that rpm is special. It will
happily run a preinst for a package without any of that package's
dependencies being present regardless of whether there are any circular
dependency issues or not. I attempted various ways of solving this such
as ordering the total_solution.manifest in creative ways but the bottom
line is RPM ignores this. It takes little account of any request to
ignore /bin/sh dependencies for the purposes of constructing the final
image.

The end result is we're having to install the base-passwd, base-files
and shadow packages first (if there is a request to install them), then
install any other packages.

It this wasn't in the middle of a release I'd be rewriting this bbclass
file, its horrible.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package_{deb,ipk,rpm}: apply umask to files generated in do_package_write_{deb,ipk,rpm}</title>
<updated>2012-04-04T15:53:49Z</updated>
<author>
<name>Andreas Oberritter</name>
<email>obi@opendreambox.org</email>
</author>
<published>2012-03-10T02:11:57Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=d2a54427481856238bdfec9723cf575088320512'/>
<id>urn:sha1:d2a54427481856238bdfec9723cf575088320512</id>
<content type='text'>
* Explicitly set umask to 022. Otherwise the build system's
  umask may leak into the image.

Signed-off-by: Andreas Oberritter &lt;obi@opendreambox.org&gt;
</content>
</entry>
<entry>
<title>package_rpm: Add srpm function to this bbclass</title>
<updated>2012-03-26T22:12:18Z</updated>
<author>
<name>Xiaofeng Yan</name>
<email>xiaofeng.yan@windriver.com</email>
</author>
<published>2012-03-26T10:49:23Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=be2db850fbe516b92a3991a5eaf646c4a2b8a1b9'/>
<id>urn:sha1:be2db850fbe516b92a3991a5eaf646c4a2b8a1b9</id>
<content type='text'>
Add a new function to archive source, patches and logs to a source rpm
package. Every source rpm package will be deployed to
${DEPLOY_DIR}/sources/deploy-srpm

[YOCTO #1977]

Signed-off-by: Xiaofeng Yan &lt;xiaofeng.yan@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Fix empty file case that caused build error at do_rootfs</title>
<updated>2012-03-26T22:06:47Z</updated>
<author>
<name>Jessica Zhang</name>
<email>jessica.zhang@intel.com</email>
</author>
<published>2012-03-26T21:31:12Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=2035ce464cc41672c98f7efb8c4a966f93aa7bd0'/>
<id>urn:sha1:2035ce464cc41672c98f7efb8c4a966f93aa7bd0</id>
<content type='text'>
Signed-off-by: Jessica Zhang &lt;jessica.zhang@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>package_rpm.bbclass: ensure base-passwd and shadow get installed first</title>
<updated>2012-03-23T12:03:08Z</updated>
<author>
<name>Scott Garman</name>
<email>scott.a.garman@intel.com</email>
</author>
<published>2012-03-23T04:43:41Z</published>
<link rel='alternate' type='text/html' href='https://trygvis.io/git/2012/05/openembedded-core.git/commit/?id=3d2d3cb379608301b17ce57787d324c2f06bf4f9'/>
<id>urn:sha1:3d2d3cb379608301b17ce57787d324c2f06bf4f9</id>
<content type='text'>
When generating images, we need to make sure that base-passwd and
shadow get installed before other packages, which might need to create
custom user accounts.

Thanks to Richard Purdie for the initial version of this fix.

This fixes [YOCTO #2127]

Signed-off-by: Scott Garman &lt;scott.a.garman@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
