Discussion:
comparing png files for build-compare
(too old to reply)
Andreas Jaeger
2010-08-27 07:30:05 UTC
Permalink
For build-compare, we compare that the files are the same of the current build and the last build - and thus throw away the new build
if they are the same.

For this we can ignore all timestamps.

I now have a problem with png files, they contain timestamps, e.g.:
/usr/share/icons/Tango/24x24/actions/address-book-new.png differs ( PNG image data, 24 x 24, 8-bit/color R
GBA, non-interlaced)
--- /tmp/tmp.DxFiypOYVS 2010-08-25 07:07:40.000000000 +0000
+++ /tmp/tmp.wG7ZYsxIU5 2010-08-25 07:07:40.000000000 +0000
@@ -58,10 +58,10 @@
00000390 39 6f 0f 3e 20 81 16 a3 9e 85 ff 1a ff 00 67 f8 |9o.> .........g.|
000003a0 31 7c 0c 93 b4 fd 00 00 00 25 74 45 58 74 64 61 |1|.......%tEXtda|
000003b0 74 65 3a 63 72 65 61 74 65 00 32 30 31 30 2d 30 |te:create.2010-0|
-000003c0 38 2d 31 34 54 31 37 3a 34 32 3a 35 39 2b 30 30 |8-14T17:42:59+00|
-000003d0 3a 30 30 a9 67 ca a8 00 00 00 25 74 45 58 74 64 |:00.g.....%tEXtd|
+000003c0 38 2d 32 35 54 30 37 3a 30 33 3a 33 31 2b 30 30 |8-25T07:03:31+00|
+000003d0 3a 30 30 63 01 be 97 00 00 00 25 74 45 58 74 64 |:00c......%tEXtd|
000003e0 61 74 65 3a 6d 6f 64 69 66 79 00 32 30 31 30 2d |ate:modify.2010-|
-000003f0 30 38 2d 31 34 54 31 37 3a 34 32 3a 35 39 2b 30 |08-14T17:42:59+0|
-00000400 30 3a 30 30 d8 3a 72 14 00 00 00 00 49 45 4e 44 |0:00.:r.....IEND|
+000003f0 30 38 2d 32 35 54 30 37 3a 30 33 3a 33 31 2b 30 |08-25T07:03:31+0|
+00000400 30 3a 30 30 12 5c 06 2b 00 00 00 00 49 45 4e 44 |0:00.\.+....IEND|
00000410 ae 42 60 82 |.B`.|
00000414

How can I compare two png files with ignoring the timestamp?

Andreas
--
Andreas Jaeger, Program Manager openSUSE, aj@{novell.com,opensuse.org}
Twitter: jaegerandi | Identica: jaegerandi
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)
Maxfeldstr. 5, 90409 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
Ludwig Nussel
2010-08-27 08:39:53 UTC
Permalink
Post by Andreas Jaeger
For build-compare, we compare that the files are the same of the
current build and the last build - and thus throw away the new
build if they are the same.
For this we can ignore all timestamps.
/usr/share/icons/Tango/24x24/actions/address-book-new.png differs ( PNG image data, 24 x 24, 8-bit/color R
[...]
How can I compare two png files with ignoring the timestamp?
According to the build log the file is generated using ImageMagick's
convert tool. Google finds this:
http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=16406
Describes both how to compare image files and how to get rid of the
time stamps in the first place.

cu
Ludwig
--
(o_ Ludwig Nussel
//\
V_/_ http://www.suse.de/
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg)
Andreas Jaeger
2010-08-27 09:00:04 UTC
Permalink
Post by Ludwig Nussel
Post by Andreas Jaeger
For build-compare, we compare that the files are the same of the
current build and the last build - and thus throw away the new
build if they are the same.
For this we can ignore all timestamps.
/usr/share/icons/Tango/24x24/actions/address-book-new.png differs (
PNG image data, 24 x 24, 8-bit/color R [...]
How can I compare two png files with ignoring the timestamp?
According to the build log the file is generated using ImageMagick's
http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=16406
Describes both how to compare image files and how to get rid of the
time stamps in the first place.
thanks a lot, will give it a try,

Andreas
--
Andreas Jaeger, Program Manager openSUSE, aj@{novell.com,opensuse.org}
Twitter: jaegerandi | Identica: jaegerandi
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)
Maxfeldstr. 5, 90409 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
Cristian Rodríguez
2010-08-30 13:42:49 UTC
Permalink
Post by Andreas Jaeger
For build-compare, we compare that the files are the same of the current build and the last build - and thus throw away the new build
if they are the same.
Over the weekend, I did a review of this as well:

a) doxygen didnt make it easier (fixed in sr#46588)
b) gtk-doc injects its current version into XML and HTML files (bnc#635376)
c) massive usage of __DATE__ __TIME__ proposed alternatives in #bnc635351

d) still images, pdf's and other documents, either generated by htmldoc,
dvips (etc..) set the current creation/modification date on generated
docs to the build time instead of the source file's.
Richard Guenther
2010-08-30 14:06:44 UTC
Permalink
Post by Cristian Rodríguez
Post by Andreas Jaeger
For build-compare, we compare that the files are the same of the current build and the last build - and thus throw away the new build
if they are the same.
a) doxygen didnt make it easier (fixed in sr#46588)
b) gtk-doc injects its current version into XML and HTML files (bnc#635376)
c) massive usage of __DATE__ __TIME__ proposed alternatives in #bnc635351
d) still images, pdf's and other documents, either generated by htmldoc,
dvips (etc..) set the current creation/modification date on generated
docs to the build time instead of the source file's.
Well - can we at least avoid re-building noarch packages when there
are only meta-changes? Oh no, we can't, because of the stupid
build-counter syncs ...

Richard.
Gerald Pfeifer
2010-09-17 21:03:52 UTC
Permalink
Post by Cristian Rodríguez
a) doxygen didnt make it easier (fixed in sr#46588)
b) gtk-doc injects its current version into XML and HTML files (bnc#635376)
c) massive usage of __DATE__ __TIME__ proposed alternatives in #bnc635351
d) still images, pdf's and other documents, either generated by htmldoc,
dvips (etc..) set the current creation/modification date on generated
docs to the build time instead of the source file's.
Thanks. Looking at the updates my test machine running FACTORY has
seen over the last ten days, this is really a lot. Hopefully those
initiatives of yours will help cut this down!

20100909:

725 packages to upgrade, 26 new, 3 to remove, 3 to change arch.
Overall download size: 767.3 MiB. After the operation, additional 15.5 MiB will be used.

20100913:

1225 packages to upgrade, 4 new, 1 to change arch.
Overall download size: 1009.8 MiB. After the operation, additional 17.6 MiB will be used.

20100917:

709 packages to upgrade, 7 new, 1 to change arch.
Overall download size: 589.6 MiB. After the operation, additional 4.6 MiB will be used.

Gerald
--
Dr. Gerald Pfeifer <***@novell.com>
Director Product Management, SUSE Linux Enterprise, openSUSE, Appliances
Vincent Untz
2010-09-18 16:38:04 UTC
Permalink
Post by Gerald Pfeifer
Post by Cristian Rodríguez
a) doxygen didnt make it easier (fixed in sr#46588)
b) gtk-doc injects its current version into XML and HTML files (bnc#635376)
c) massive usage of __DATE__ __TIME__ proposed alternatives in #bnc635351
d) still images, pdf's and other documents, either generated by htmldoc,
dvips (etc..) set the current creation/modification date on generated
docs to the build time instead of the source file's.
Thanks. Looking at the updates my test machine running FACTORY has
seen over the last ten days, this is really a lot. Hopefully those
initiatives of yours will help cut this down!
725 packages to upgrade, 26 new, 3 to remove, 3 to change arch.
Overall download size: 767.3 MiB. After the operation, additional 15.5 MiB will be used.
1225 packages to upgrade, 4 new, 1 to change arch.
Overall download size: 1009.8 MiB. After the operation, additional 17.6 MiB will be used.
709 packages to upgrade, 7 new, 1 to change arch.
Overall download size: 589.6 MiB. After the operation, additional 4.6 MiB will be used.
Is there any way we can automatically extract the build-compare output
(which is at the end of the build logs), and have some place where we
could look at that for packages that haven't changed during rebuilds?

That would help know what we need to fix to reduce the size of
updates...

Vincent
--
Les gens heureux ne sont pas pressés.
Stephan Kulow
2010-09-20 07:39:32 UTC
Permalink
Post by Vincent Untz
Post by Gerald Pfeifer
Post by Cristian Rodríguez
a) doxygen didnt make it easier (fixed in sr#46588)
b) gtk-doc injects its current version into XML and HTML files
(bnc#635376) c) massive usage of __DATE__ __TIME__ proposed
alternatives in #bnc635351
d) still images, pdf's and other documents, either generated by
htmldoc, dvips (etc..) set the current creation/modification date on
generated docs to the build time instead of the source file's.
Thanks. Looking at the updates my test machine running FACTORY has
seen over the last ten days, this is really a lot. Hopefully those
initiatives of yours will help cut this down!
725 packages to upgrade, 26 new, 3 to remove, 3 to change arch.
Overall download size: 767.3 MiB. After the operation, additional 15.5
MiB will be used.
1225 packages to upgrade, 4 new, 1 to change arch.
Overall download size: 1009.8 MiB. After the operation, additional 17.6
MiB will be used.
709 packages to upgrade, 7 new, 1 to change arch.
Overall download size: 589.6 MiB. After the operation, additional 4.6
MiB will be used.
Is there any way we can automatically extract the build-compare output
(which is at the end of the build logs), and have some place where we
could look at that for packages that haven't changed during rebuilds?
The build-compare output in its current form is pointless as you only see the
first file in the first rpm that's different. That very often a changed
buildid in a random binary - that won't help you fix the problem, because if
the debuginfo is different, the buildid has to change. The real question then
is, why is the debuginfo different. And very often it's a strange string
containg the date or host.

I don't think we should harm so many build processes to save another 100 MB,
but we should concentrate on getting factory deltas working. This would still
mean 1225 packages to upgrade, but the download size would be around 50MB
(and it would eat up more CPU).

Greetings, Stephan
Vincent Untz
2010-09-20 09:16:02 UTC
Permalink
Post by Stephan Kulow
I don't think we should harm so many build processes to save another 100 MB,
but we should concentrate on getting factory deltas working. This would still
mean 1225 packages to upgrade, but the download size would be around 50MB
(and it would eat up more CPU).
Can someone write down what is needed to make this happen? This could
help people give it a try.

https://features.opensuse.org/303532 was opened more than two years ago,
and based on this, the only thing I can tell is that we would need to
adapt backend parts. Which doesn't really tell me a lot ;-)

Thanks,

Vincent
--
Les gens heureux ne sont pas pressés.
Stephan Kulow
2010-09-20 09:27:58 UTC
Permalink
Post by Vincent Untz
Post by Stephan Kulow
I don't think we should harm so many build processes to save another 100
MB, but we should concentrate on getting factory deltas working. This
would still mean 1225 packages to upgrade, but the download size would
be around 50MB (and it would eat up more CPU).
Can someone write down what is needed to make this happen? This could
help people give it a try.
https://features.opensuse.org/303532 was opened more than two years ago,
and based on this, the only thing I can tell is that we would need to
adapt backend parts. Which doesn't really tell me a lot ;-)
I don't think there has been put enough thought into this yet ;(

What I would do:
- change the build script to not only do the build-compare, but also create
the delta rpm if the rpms are different. This gives you build-by-build deltas.
- collect these delta rpms into a seperate repo, where they are collected and
wiped purely by age whenever the :repo is going to be published
- change the publisher to create a subdirectory in the normal repo with these
deltas
- support a flag in the project to enable or disable the use of delta rpms. I
don't think we want them generally as they will eat up a lot of space.

Greetings, Stephan
Ludwig Nussel
2010-09-20 14:42:43 UTC
Permalink
Post by Stephan Kulow
- change the build script to not only do the build-compare, but also create
the delta rpm if the rpms are different. This gives you build-by-build deltas.
The build script actually already has code for that. It just needs
an installed deltarpm package. However, the needed script in the build
rpm itself isn't packaged currently. We may need to introduce
another build subpackage (e.g. build-makedeltarpm) that just includes that
script (/usr/lib/build/makedeltarpms). Then a line "Supports:
deltarpm build-makedeltarpm" in prjconf would be sufficient to
trigger generating delta rpms.

cu
Ludwig
--
(o_ Ludwig Nussel
//\
V_/_ http://www.suse.de/
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg)
Andreas Jaeger
2010-09-20 14:13:22 UTC
Permalink
Post by Vincent Untz
Is there any way we can automatically extract the build-compare output
(which is at the end of the build logs), and have some place where we
could look at that for packages that haven't changed during rebuilds?
I just grepped through all logfiles and generated the following list. Changes to build-compare or fixes for the pacakges are always welcome!

This does not show the binary files that are different, just the rest.

If somebody could tame OpenOffice.org, it would be really great ;)

Andreas

skelcd:/CD1/LIESMICH differs ( UTF-8 Unicode text)
calibre:/etc/bash_completion.d/calibre differs ( ASCII text, with very long lines)
libvirt:/etc/libvirt/qemu/networks/default.xml differs ( ASCII text)
namazu:/etc/namazu/mknmzrc differs ( ASCII English text)
_product:openSUSE-Addon-Lang-release:/etc/products.d/openSUSE-Addon-Lang.prod differs ( XML document text)
_product:openSUSE-Addon-NonOss-release:/etc/products.d/openSUSE-Addon-NonOss.prod differs ( XML document text)
kde3-i18n:/opt/kde3/share/doc/HTML/en_GB/khelpcenter/faq/configkde.docbook differs ( exported SGML document text)
kdelibs3-devel-doc:/opt/kde3/share/doc/HTML/en/kdelibs-apidocs/index.html differs ( xHTML document text)
elilo:/sbin/elilo differs ( a /usr/bin/perl -w script text)
mkinitrd:/sbin/mkinitrd differs ( Bourne-Again shell script text)
fvwm-themes:/usr/bin/fvwm-themes-config differs ( a /usr/bin/perl -w script text)
perl:/usr/bin/perlbug differs ( a /usr/bin/perl script text)
tkrat:/usr/bin/tkrat differs ( a /usr/bin/wish8.5 script text)
netcdf:/usr/include/netcdf.mod differs ( ASCII text)
antlr:/usr/lib64/antlr.astframe.dll differs ( PE32 executable for MS Windows (DLL) (console) Intel 80386 32-bit, Mono/.Net assembly)
igerman98:/usr/lib64/aspell-0.60/de_AT_affix.dat differs ( ISO-8859 English text)
gnome-netstatus:/usr/lib64/bonobo/servers/GNOME_NetstatusApplet_Factory.server differs ( ASCII text)
clucene-core:/usr/lib64/CLucene/clucene-config.h differs ( ASCII C program text)
gcc43:/usr/lib64/gcc/x86_64-suse-linux/4.3/finclude/omp_lib.mod differs ( ASCII text)
gnome-do-plugins:/usr/lib64/gnome-do/plugins/Banshee.CollectionIndexer.dll differs ( PE32 executable for MS Windows (DLL) (console) Intel 80386 32-bit, Mono/.Net
assembly)
last-exit:/usr/lib64/last-exit/XmlRpcCS.dll differs ( PE32 executable for MS Windows (DLL) (console) Intel 80386 32-bit, Mono/.Net assembly)
mysql-cluster:/usr/lib64/mysql/mysqld.sym differs ( ASCII text)
mysql-community-server:/usr/lib64/mysql/mysqld.sym differs ( ASCII text)
OpenOffice_org-bootstrap:/usr/lib64/ooo3/ooo-build/bin/Makefile differs ( ASCII English text, with very long lines)
python3:/usr/lib64/python3.1/lib2to3/Grammar3.1.0.final.0.pickle differs ( 8086 relocatable (Microsoft))
libqt4-devel-doc:/usr/lib64/qt4/examples/declarative/cppextensions/Makefile differs ( ASCII make commands text, with very long lines)
rubygem-abstract:/usr/lib64/ruby/gems/1.8/doc/abstract-1.0.0/rdoc/created.rid differs ( ASCII text)
rubygem-activeresource-2_3:/usr/lib64/ruby/gems/1.8/doc/activeresource-2.3.8/rdoc/classes/ActiveResource.html differs ( xHTML document text)
rubygem-pg:/usr/lib64/ruby/gems/1.8/doc/pg-0.9.0/rdoc/created.rid differs ( ASCII text)
rubygem-postgres:/usr/lib64/ruby/gems/1.8/doc/postgres-0.7.9.2008.01.28/rdoc/created.rid differs ( ASCII text)
rubygem-RedCloth:/usr/lib64/ruby/gems/1.8/doc/RedCloth-4.2.3/rdoc/classes/RedCloth.html differs ( xHTML document text)
libtabe:/usr/lib64/tabe/tsi.db differs ( Berkeley DB (Btree, version 9, native byte-order))
wine:/usr/lib64/wine/fakedlls/jscript.dll differs ( PE32+ executable for MS Windows (DLL) (unknown subsystem))
hamster-applet:/usr/lib/bonobo/servers/Hamster_Applet.server differs ( UTF-8 Unicode text)
gbrainy:/usr/lib/gbrainy/gbrainy.exe differs ( PE32 executable for MS Windows (GUI) Intel 80386 32-bit, Mono/.Net assembly)
ispell:/usr/lib/ispell/americanmed.hash differs ( little endian ispell 3.1 hash file, 7-bit, capitalization, 52 flags and 512 string characters)
dicts:/usr/lib/ispell/br.hash differs ( little endian ispell 3.1 hash file, 7-bit, capitalization, 52 flags and 512 string characters)
ispell-bulgarian:/usr/lib/ispell/bulgarian.hash differs ( little endian ispell 3.1 hash file, 7-bit, capitalization, 52 flags and 512 string characters)
ispell-hungarian:/usr/lib/ispell/magyar.hash differs ( little endian ispell 3.1 hash file, 7-bit, capitalization, 52 flags and 512 string characters)
ispell-slovak:/usr/lib/ispell/slovak.hash differs ( little endian ispell 3.1 hash file, 7-bit, capitalization, 52 flags and 512 string characters)
perl-RPC-XML:/usr/lib/perl5/vendor_perl/5.12.1/Apache/RPC/status.xpl differs ( XML document text)
kiwi:/usr/lib/perl5/vendor_perl/5.12.1/x86_64-linux-thread-multi/KIWI/SaT.pm differs ( Perl5 module source text)
uClibc:/usr/lib/x86_64-linux-uclibc/usr/include/bits/uClibc_config.h differs ( ASCII C program text)
yast2-drbd:/usr/lib/YaST2/servers_non_y2/ag_drbd differs ( a /usr/bin/ruby script text)
a2ps:/usr/share/a2ps/README differs ( ASCII English text)
limal-devtools:/usr/share/aclocal/limaldevtools.m4 differs ( ASCII M4 macro language pre-processor text)
banshee-1:/usr/share/banshee-1/audio-profiles/mp3-xing.xml differs ( XML document text)
bsh2:/usr/share/bsh2/bshservlet/META-INF/MANIFEST.MF differs ( ASCII text, with CRLF line terminators)
kde4-l10n:/usr/share/doc/kde/HTML/en_GB/quickstart/index.cache differs ( HTML document text)
kdelibs4:/usr/share/doc/kde/HTML/en/kdelibs4-apidocs/authors.html differs ( xHTML document text)
asl:/usr/share/doc/packages/asl/as-DE.dvi differs ( TeX DVI file (TeX output 2010.09.13:1342\213)
bash:/usr/share/doc/packages/bash/bashref.html differs ( HTML document text)
ConsoleKit-doc:/usr/share/doc/packages/ConsoleKit/spec/ConsoleKit.html differs ( xHTML document text)
cook:/usr/share/doc/packages/cook/en/refman.dvi differs ( TeX DVI file (\377\377))
dvgt:/usr/share/doc/packages/dvgt/sysguide.dvi differs ( TeX DVI file (TeX output 2010.09.13:1340\213)
libgcj33:/usr/share/doc/packages/gcc33-testresults/g++.log differs ( ASCII text, with very long lines, with CRLF, LF line terminators)
gcc45-testresults:/usr/share/doc/packages/gcc45-testresults/acats.log differs ( ASCII news text, with very long lines, with CRLF, LF line terminators)
groff:/usr/share/doc/packages/groff/examples/grnexmpl.ps differs ( PostScript document text conforming DSC level 3.0)
jython:/usr/share/doc/packages/jython-manual/compile.html differs ( HTML document text)
krb5-doc:/usr/share/doc/packages/krb5-doc/implement.ps differs ( PostScript document text conforming DSC level 2.0)
libtheora:/usr/share/doc/packages/libtheora/latex/doxygen.sty differs ( LaTeX document text)
libvisual-plugins:/usr/share/doc/packages/libvisual-plugins/ChangeLog differs ( ASCII English text)
logwatch:/usr/share/doc/packages/logwatch/USEDFORBUILD differs ( ASCII text)
mailx:/usr/share/doc/packages/mailx/manual.ps differs ( PostScript document text conforming DSC level 3.0)
mtools:/usr/share/doc/packages/mtools-doc/mtools.dvi differs ( TeX DVI file (TeX output 2010.09.13:1341\213)
OpenOffice_org-templates-de:/usr/share/doc/packages/OpenOffice_org-templates-de/README.Sun_ODF_Template_Pack differs ( ASCII English text)
OpenOffice_org-templates-en:/usr/share/doc/packages/OpenOffice_org-templates-en/README.Sun_ODF_Template_Pack differs ( ASCII English text)
OpenOffice_org-templates-presentation-layouts:/usr/share/doc/packages/OpenOffice_org-templates-presentation-layouts/README.Sun_ODF_Template_Pack differs (
ASCII English text)
prozgui:/usr/share/doc/packages/prozgui/ChangeLog differs ( ASCII English text)
python-qt4:/usr/share/doc/packages/python-qt4-devel/examples/activeqt/webbrowser/mainwindow_rc.py differs ( ASCII English text)
python-sphinx:/usr/share/doc/packages/python-sphinx-doc/html/builders.html differs ( HTML document text)
qca:/usr/share/doc/packages/qca-devel/examples/Makefile differs ( ASCII make commands text)
quilt:/usr/share/doc/packages/quilt/README differs ( ASCII English text)
rsync:/usr/share/doc/packages/rsync/tech_report.ps differs ( PostScript document text conforming DSC level 2.0)
ruby-polkit:/usr/share/doc/packages/ruby-polkit/rdoc/created.rid differs ( ASCII text)
ruby-rpam:/usr/share/doc/packages/ruby-rpam/rdoc/created.rid differs ( ASCII text)
sitar:/usr/share/doc/packages/sitar/cfg2scm.ps differs ( PostScript document text conforming DSC level 3.0)
update-test-trival:/usr/share/doc/packages/update-test-affects-package-manager/README.update-test-affects-package-manager differs ( ASCII English text)
wmakerconf:/usr/share/doc/packages/wmakerconf/ChangeLog differs ( ASCII English text)
xml-im-exporter:/usr/share/doc/packages/xml-im-exporter/TEST-de.zeigermann.xml.XMLWriterTest.txt differs ( exported SGML document text)
yast2:/usr/share/doc/packages/yast2/control/autodocs/files.html differs ( xHTML document text)
yast2-core:/usr/share/doc/packages/yast2-core/autodocs/Scanner_8cc.html differs ( HTML document text)
yast2-dhcp-server:/usr/share/doc/packages/yast2-dhcp-server/autodocs/files.html differs ( xHTML document text)
yast2-instserver:/usr/share/doc/packages/yast2-instserver/autodocs/files.html differs ( xHTML document text)
yast2-reipl:/usr/share/doc/packages/yast2-reipl/autodocs/intro.html differs ( xHTML document text)
yast2-sysconfig:/usr/share/doc/packages/yast2-sysconfig/autodocs/files.html differs ( xHTML document text)
zsh:/usr/share/doc/packages/zsh/intro.txt differs ( PostScript document text conforming DSC level 3.0)
emacs:/usr/share/emacs/23.1/leim/leim-list.el differs ( UTF-8 Unicode English text)
gnugo:/usr/share/emacs/site-lisp/gnugo/gnugo.el differs ( ASCII English text)
ddskk:/usr/share/emacs/site-lisp/skk/skk-autoloads.el differs ( Lisp/Scheme program text)
epg:/usr/share/emacs/site-lisp/suse-start-epg.el differs ( Lisp/Scheme program text)
emacs-w3:/usr/share/emacs/site-lisp/w3/auto-autoloads.el differs ( Lisp/Scheme program text)
gnome-packagekit:/usr/share/GConf/schemas/gnome-packagekit.schemas differs ( UTF-8 Unicode English text)
metacity:/usr/share/GConf/schemas/metacity.schemas differs ( exported SGML document text)
gnome-panel:/usr/share/GConf/schemas/panel-object.schemas differs ( XML document text)
gdm:/usr/share/gdm/autostart/LoginWindow/gdm-simple-greeter.desktop differs ( ASCII text)
gnome-disk-utility:/usr/share/gtk-doc/html/gnome-disk-utility/gnome-disk-utility-gdu-button-element.html differs ( HTML document text)
python-nautilus:/usr/share/gtk-doc/html/nautilus-python/index.html differs ( HTML document text)
PolicyKit-doc:/usr/share/gtk-doc/html/polkit/PolicyKit.8.html differs ( HTML document text)
gwenhywfar:/usr/share/gwenhywfar/apidoc/P_GWEN_CRYPT_TOKEN_CONTEXT_LIB.html differs ( HTML document text)
apache-portlet-1_0-api:/usr/share/javadoc/apache-portlet-1_0-api-1.0/javax/portlet/class-use/ActionRequest.html differs ( HTML document text)
appframework:/usr/share/javadoc/appframework-1.03/org/jdesktop/application/class-use/Action.html differs ( HTML document text)
axis:/usr/share/javadoc/axis-1.4/javax/xml/namespace/QName-uses.html differs ( xHTML document text)
bcel:/usr/share/javadoc/bcel-5.2/org/apache/bcel/classfile/JavaClass-uses.html differs ( xHTML document text)
beansbinding:/usr/share/javadoc/beansbinding-1.2.1/org/jdesktop/beansbinding/class-use/Binding.SyncFailure.html differs ( HTML document text)
bsf:/usr/share/javadoc/bsf-2.3.0/org/apache/bsf/class-use/BSFException.html differs ( HTML document text)
classpathx-mail:/usr/share/javadoc/classpathx-mail-1.3.1/javax/mail/class-use/Address.html differs ( HTML document text)
classworlds:/usr/share/javadoc/classworlds-1.1/org/codehaus/classworlds/class-use/ClassWorld.html differs ( HTML document text)
d-haven-event:/usr/share/javadoc/d-haven-event-1.1.0/org/d_haven/event/class-use/Sink.html differs ( HTML document text)
d-haven-mpool:/usr/share/javadoc/d-haven-mpool-1.0/org/d_haven/mpool/class-use/ObjectFactory.html differs ( HTML document text)
excalibur:/usr/share/javadoc/excalibur-avalon-framework-api-4.3.1/org/apache/avalon/framework/component/class-use/Component.html differs ( HTML document text)
geronimo-specs:/usr/share/javadoc/geronimo-specs-1.2/annotation-1.0/javax/annotation/security/package-tree.html differs ( HTML document text)
ini4j:/usr/share/javadoc/ini4j-0.5.1/api/org/ini4j/package-tree.html differs ( HTML document text)
jakarta-commons-codec:/usr/share/javadoc/jakarta-commons-codec-1.3/org/apache/commons/codec/class-use/DecoderException.html differs ( HTML document text)
jakarta-commons-collections:/usr/share/javadoc/jakarta-commons-collections-3.2/org/apache/commons/collections/class-use/Bag.html differs ( HTML document text)
jakarta-commons-compress:/usr/share/javadoc/jakarta-commons-compress-1.0/org/apache/commons/compress/compressors/bzip2/class-use/CRC.html differs ( HTML
document text)
jakarta-commons-dbcp:/usr/share/javadoc/jakarta-commons-dbcp-1.2.2/api/constant-values.html differs ( HTML document text)
jakarta-commons-fileupload:/usr/share/javadoc/jakarta-commons-fileupload/org/apache/commons/fileupload/class-use/FileItemFactory.html differs ( HTML document text)
jakarta-commons-io:/usr/share/javadoc/jakarta-commons-io-1.3.2/org/apache/commons/io/class-use/FileDeleteStrategy.html differs ( HTML document text)
jakarta-commons-lang:/usr/share/javadoc/jakarta-commons-lang-2.4/org/apache/commons/lang/exception/class-use/NestableDelegate.html differs ( HTML document text)
jakarta-commons-net:/usr/share/javadoc/jakarta-commons-net-1.4.1/org/apache/commons/net/ftp/class-use/FTPClientConfig.html differs ( HTML document text)
jakarta-commons-pool:/usr/share/javadoc/jakarta-commons-pool-1.3/constant-values.html differs ( HTML document text)
jarjar:/usr/share/javadoc/jarjar-0.9/com/tonicsystems/jarjar/util/class-use/EntryStruct.html differs ( HTML document text)
javahelp2:/usr/share/javadoc/javahelp2-2.0.05/com/sun/java/help/impl/class-use/ParserEvent.html differs ( HTML document text)
jessie:/usr/share/javadoc/javax/net/ssl/ManagerFactoryParameters-uses.html differs ( xHTML document text)
joda-time:/usr/share/javadoc/joda-time/org/joda/time/chrono/class-use/AssembledChronology.Fields.html differs ( HTML document text)
jtidy:/usr/share/javadoc/jtidy-8.0/org/w3c/tidy/class-use/Lexer.html differs ( HTML document text)
junit4:/usr/share/javadoc/junit4-4.5/org/junit/package-tree.html differs ( HTML document text)
mx4j:/usr/share/javadoc/mx4j-3.0.2/mx4j/MBeanDescription-uses.html differs ( xHTML document text)
mysql-connector-java:/usr/share/javadoc/mysql-connector-java-5.1.6/com/mysql/jdbc/class-use/CachedResultSetMetaData.html differs ( HTML document text)
qdox:/usr/share/javadoc/qdox-1.6.1/com/thoughtworks/qdox/model/class-use/AbstractJavaEntity.html differs ( HTML document text)
sblim-cim-client2:/usr/share/javadoc/sblim-cim-client2-2.1.3/javax/cim/class-use/CIMArgument.html differs ( HTML document text)
servletapi3:/usr/share/javadoc/servletapi3/javax/servlet/jsp/class-use/JspException.html differs ( HTML document text)
servletapi4:/usr/share/javadoc/servletapi4/javax/servlet/class-use/RequestDispatcher.html differs ( HTML document text)
struts:/usr/share/javadoc/struts-1.2.9/org/apache/struts/action/Action-uses.html differs ( xHTML document text)
swingx:/usr/share/javadoc/swingx-0.9.4/org/jdesktop/swingx/action/class-use/AbstractActionExt.html differs ( HTML document text)
tomcat6:/usr/share/javadoc/tomcat6/org/apache/jasper/el/package-tree.html differs ( HTML document text)
werken-xpath:/usr/share/javadoc/werken-xpath-0.9.4/com/werken/xpath/class-use/ContextSupport.html differs ( HTML document text)
wsdl4j:/usr/share/javadoc/wsdl4j-1.5.1/javax/wsdl/class-use/Definition.html differs ( HTML document text)
xerces-j2:/usr/share/javadoc/xerces-j2-dom-2.8.1/ASDOMImplementationImpl.html differs ( xHTML document text)
xjavadoc:/usr/share/javadoc/xjavadoc-1.1/xjavadoc/class-use/JavaCharStream.html differs ( HTML document text)
xml-commons-resolver:/usr/share/javadoc/xml-commons-resolver-1.1/org/apache/xml/resolver/Catalog-uses.html differs ( xHTML document text)
xpp2:/usr/share/javadoc/xpp2-2.1.10/api/org/gjt/xpp/class-use/XmlNode.html differs ( HTML document text)
xpp3:/usr/share/javadoc/xpp3-1.1.3.8/org/xmlpull/v1/class-use/XmlPullParserException.html differs ( HTML document text)
jakarta-slide-webdavclient:/usr/share/java/repository.jboss.com/apache-slide/2.1-brew/component-info.xml differs ( exported SGML document text)
cglib:/usr/share/java/repository.jboss.com/cglib/2.1.3-brew/component-info.xml differs ( exported SGML document text)
dom4j:/usr/share/java/repository.jboss.com/jboss/dom4j-jarjar/1.6.1-brew/component-info.xml differs ( exported SGML document text)
liferea:/usr/share/liferea/xslt/newsbin.xml differs ( broken xHTML document text)
bzr:/usr/share/man/man1/bzr.1 differs ( troff or preprocessor input text)
git:/usr/share/man/man1/git-archimport.1 differs ( troff or preprocessor input text)
gpsd:/usr/share/man/man1/gps.1 differs ( troff or preprocessor input text)
guilt:/usr/share/man/man1/guilt-add.1 differs ( troff or preprocessor input text)
perf:/usr/share/man/man1/perf-annotate.1 differs ( troff or preprocessor input text)
stgit:/usr/share/man/man1/stg-branch.1 differs ( troff or preprocessor input text)
ttf2pt1:/usr/share/man/man1/ttf2pt1.1 differs ( troff or preprocessor input text)
mxml:/usr/share/man/man3/mxml.3 differs ( troff or preprocessor input text)
resource-agents:/usr/share/man/man7/ocf_heartbeat_AoEtarget.7 differs ( troff or preprocessor input text)
pacemaker:/usr/share/man/man7/ocf_pacemaker_ClusterMon.7 differs ( troff or preprocessor input text)
cluster-glue:/usr/share/man/man8/hb_report.8 differs ( troff or preprocessor input text)
kexec-tools:/usr/share/man/man8/kexec-bootloader.8 differs ( troff or preprocessor input text)
moonshine:/usr/share/moonshine/application.ini differs ( ASCII text)
netbeans:/usr/share/netbeans/6.8/nb6.8/build_info differs ( ASCII text)
netbeans-platform:/usr/share/netbeans/platform11/update_tracking/org-jdesktop-layout.xml differs ( XML document text)
OpenOffice_org-l10n-extras:/usr/share/ooo3/solver/inc/extras/deliver.log differs ( ASCII text)
pcp:/usr/share/pcp/examples/pmie/CPU differs ( ASCII C++ program text)
exmh:/usr/share/tcl/exmh-2.7.2/tclIndex differs ( ASCII English text)
scotty:/usr/share/tcl/tnm2.1.11/library/tclIndex differs ( ASCII English text)
xkeyboard-config:/usr/share/X11/xkb/compat.dir differs ( ASCII text)
exo:/usr/share/xfce4/helpers/debian-x-terminal-emulator.desktop differs ( UTF-8 Unicode text)
zeitgeist:/usr/share/zeitgeist/ontology/zg.py differs ( ASCII English text, with very long lines)
--
Andreas Jaeger, Program Manager openSUSE, aj@{novell.com,opensuse.org}
Twitter: jaegerandi | Identica: jaegerandi
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)
Maxfeldstr. 5, 90409 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
Cristian Rodríguez
2010-09-19 02:38:18 UTC
Permalink
Post by Gerald Pfeifer
Post by Cristian Rodríguez
a) doxygen didnt make it easier (fixed in sr#46588)
b) gtk-doc injects its current version into XML and HTML files (bnc#635376)
c) massive usage of __DATE__ __TIME__ proposed alternatives in #bnc635351
d) still images, pdf's and other documents, either generated by htmldoc,
dvips (etc..) set the current creation/modification date on generated
docs to the build time instead of the source file's.
Thanks. Looking at the updates my test machine running FACTORY has
seen over the last ten days, this is really a lot. Hopefully those
initiatives of yours will help cut this down!
I submitted a massive batch of packages attempting to correct this,
still there are plenty more, most are autogenerated documentation, mayor
annoyance is ghostscript, or related tools that generate pdfs, Looking
at the source code, it says putting current localtime in pdf files is
indeed wrong BUT that's how adobe does it...

Also wrote a patch to build-compare to make it attempt to compare pdfs
in a reasonable way, it is quite hackish as according to my research,
there is no clean way to compare the whole PDF "appearance" with total
confidence :| Not sure it is a good idea at all.

I did write a few rpmlint checks [1] one for checking __DATE__ and
__TIME__ and other for checking if the "buildhost" is embeeded in
binaries, as many stuff uses "built: __DATE__ __TIME__ on: $host by
$user" :-|

[1] http://gitorious.org/opensuse/rpmlint-checks/merge_requests/2
Richard Guenther
2010-09-20 09:06:07 UTC
Permalink
Post by Gerald Pfeifer
Post by Cristian Rodríguez
a) doxygen didnt make it easier (fixed in sr#46588)
b) gtk-doc injects its current version into XML and HTML files (bnc#635376)
c) massive usage of __DATE__ __TIME__ proposed alternatives in #bnc635351
d) still images, pdf's and other documents, either generated by htmldoc,
dvips (etc..) set the current creation/modification date on generated
docs to the build time instead of the source file's.
Thanks. Looking at the updates my test machine running FACTORY has
seen over the last ten days, this is really a lot. Hopefully those
initiatives of yours will help cut this down!
725 packages to upgrade, 26 new, 3 to remove, 3 to change arch.
Overall download size: 767.3 MiB. After the operation, additional 15.5 MiB will be used.
1225 packages to upgrade, 4 new, 1 to change arch.
Overall download size: 1009.8 MiB. After the operation, additional 17.6 MiB will be used.
709 packages to upgrade, 7 new, 1 to change arch.
Overall download size: 589.6 MiB. After the operation, additional 4.6 MiB will be used.
Now somebody come and say this does _not_ make Factory unusable as
a way to develop and test openSUSE.

Richard.
Tejas Guruswamy
2010-09-20 09:46:45 UTC
Permalink
Post by Richard Guenther
Post by Gerald Pfeifer
Post by Cristian Rodríguez
a) doxygen didnt make it easier (fixed in sr#46588)
b) gtk-doc injects its current version into XML and HTML files (bnc#635376)
c) massive usage of __DATE__ __TIME__ proposed alternatives in #bnc635351
d) still images, pdf's and other documents, either generated by htmldoc,
dvips (etc..) set the current creation/modification date on generated
docs to the build time instead of the source file's.
Thanks. Looking at the updates my test machine running FACTORY has
seen over the last ten days, this is really a lot. Hopefully those
initiatives of yours will help cut this down!
725 packages to upgrade, 26 new, 3 to remove, 3 to change arch.
Overall download size: 767.3 MiB. After the operation, additional 15.5 MiB will be used.
1225 packages to upgrade, 4 new, 1 to change arch.
Overall download size: 1009.8 MiB. After the operation, additional 17.6 MiB will be used.
709 packages to upgrade, 7 new, 1 to change arch.
Overall download size: 589.6 MiB. After the operation, additional 4.6 MiB will be used.
Now somebody come and say this does _not_ make Factory unusable as
a way to develop and test openSUSE.
Richard.
Do what I do, and run most of the system on factory-snapshot, and update
only selected packages when bugs you care about are fixed (or when
someone asks you to test a certain package).

No excuses.

Regards,
Tejas
Richard Guenther
2010-09-20 10:16:38 UTC
Permalink
Post by Tejas Guruswamy
Post by Richard Guenther
Post by Gerald Pfeifer
Post by Cristian Rodríguez
a) doxygen didnt make it easier (fixed in sr#46588)
b) gtk-doc injects its current version into XML and HTML files (bnc#635376)
c) massive usage of __DATE__ __TIME__ proposed alternatives in #bnc635351
d) still images, pdf's and other documents, either generated by htmldoc,
dvips (etc..) set the current creation/modification date on generated
docs to the build time instead of the source file's.
Thanks. Looking at the updates my test machine running FACTORY has
seen over the last ten days, this is really a lot. Hopefully those
initiatives of yours will help cut this down!
725 packages to upgrade, 26 new, 3 to remove, 3 to change arch.
Overall download size: 767.3 MiB. After the operation, additional 15.5 MiB will be used.
1225 packages to upgrade, 4 new, 1 to change arch.
Overall download size: 1009.8 MiB. After the operation, additional 17.6 MiB will be used.
709 packages to upgrade, 7 new, 1 to change arch.
Overall download size: 589.6 MiB. After the operation, additional 4.6 MiB will be used.
Now somebody come and say this does _not_ make Factory unusable as
a way to develop and test openSUSE.
Richard.
Do what I do, and run most of the system on factory-snapshot, and update
only selected packages when bugs you care about are fixed (or when
someone asks you to test a certain package).
No excuses.
Hm, what works for me is keeping my system on openSUSE 11.1 and installing
factory versions of the packages I develop or care about.

Of course with a more usable Factory the idea would be to improve
test coverage also for packages you do _not_ specially care about
(not to mention that eventually more people will be able to use
Factory, or making an automated Factory-testing, similar to Debian
testing possible ...).

Richard.
--
Richard Guenther <***@suse.de>
Novell / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex
Stefan Seyfried
2010-09-20 11:28:56 UTC
Permalink
On Mon, 20 Sep 2010 11:06:07 +0200 (CEST)
Post by Richard Guenther
Now somebody come and say this does _not_ make Factory unusable as
a way to develop and test openSUSE.
"zypper addlock texlive*" makes download sizes much smaller.
Just fixing build-compare for texlive and friends would save most of
this ;-)

(Assuming that Gerald has texlive installed, but I guess he has).

Once per month, when I'm on a really fast connection, I remove the lock
and update texlive*.

But I also have a script that I use with "zypper -v up|zypperfilter.pl" to
determine if updating is worth the hassle:

#!/usr/bin/perl -w

# zypper 1.2.16-1.6 -> 1.2.16-1.10

while (<>) {
#print "debug: $_";
if (m/^(\S+)/) {
$name = $1;
chomp $name;
next;
}
# 1 2 3 4 5 6 7
next unless m/^\s*(\d+.*)-(\d+)\.(\d+) -> (\d+.*)-(\d+)\.(\d+)/;
if ($1 ne $4) {
print "$name: $_";
next;
}
if ($2 != $5) {
print "$name: $_";
}
}


It is not perfect., but it helps filtering out the noise.
--
Stefan Seyfried

"Any ideas, John?"
"Well, surrounding them's out."
Stephan Kulow
2010-09-20 11:57:41 UTC
Permalink
Post by Gerald Pfeifer
Post by Cristian Rodríguez
a) doxygen didnt make it easier (fixed in sr#46588)
b) gtk-doc injects its current version into XML and HTML files
(bnc#635376) c) massive usage of __DATE__ __TIME__ proposed alternatives
in #bnc635351
d) still images, pdf's and other documents, either generated by htmldoc,
dvips (etc..) set the current creation/modification date on generated
docs to the build time instead of the source file's.
Thanks. Looking at the updates my test machine running FACTORY has
seen over the last ten days, this is really a lot. Hopefully those
initiatives of yours will help cut this down!
One thing I changed now is to change the scheduling to only rebuild
direct dependencies. This might create some more problems, but it should
reduce the number of pushed out packages.

Greetings, Stephan
Continue reading on narkive:
Loading...