4 - Fix an important race condition when createing and removing directories by
5 File::Path is not thread-safe. This caused spurious failures reporting
6 missing working directory.
8 - Significant performance improvement in the dependency solver by
9 implementing a reverse cache for RPM package provides.
11 - New rebuildreset(1) tool which allows to reset packages into intial state.
12 Use --changed option to reset only packages whose remote git repository has
13 been updated. This allows to synchronize local git repositories with remote
16 - POD documentation for Fedora::Rebuild::Solver.
20 - Fix Fedora::Rebuild::Mock install_group default value to `buildsys-build'.
22 - Fix updating local repository by remove stray symbolic links.
24 - Various Fedora::Rebuild::Package methods accept
25 Fedora::Rebuild::Package::Config object now to deliver constant build
28 - Fedora::Rebuild::Package methods creating source or binary packages accepts
29 Fedora::Rebuild::Mock objects to use them instead of temporary mock
30 environments. This speeds up a lot because of caching. However it delays
31 start up due precreating pool of mock environments. This also consumes more
34 - The Fedora::Rebuild::Mock shared attribute has changed semantics. It
35 controlls caching now and the mock identifier is never reused.
39 - Fix local repozitory initialization if the repozitory is empty.
41 - Increasing package NEVRA while building SRPM only if not yet updated.
43 - Fix counting failures.
45 - Add `verbosesolver' configuration atribute to disable tracing dependency
46 solver. This is useful if the dependency tree is big and the solver consumes
47 a lot of memory due the tracing.
49 - Document `mock' mode.
51 - Fix scheduler in in select_rebuildable().
53 - Apply threaded glob() crash work-around. See Perl bug report
54 <https://rt.perl.org/rt3/Ticket/Display.html?id=117823> for more details.
56 - Add `mock_install_group' configuration attribute to control which yum group
57 to install into mock environment. Default value is `buildsys-build'.
62 - Do not cache mock environment when building a package because each package
63 uses different environment.
65 - Share mock environment when building source packages in single thread. This
66 is the fastest method now.
71 - Add new building mode `mock'. It builds source and binary packages using
72 mock tool. You need to specify where the mock can take packages by ne
73 `repourls' attribute. Already rebuilt packages get available as additional
74 repository automatically.
76 - Source packages are built using mock in `koji' mode either. This allows
77 influence generated build-requires during SRPM build phase by build root
78 environment (RPM macros, external tools).
80 - It's necessary to define build architecture with `architecture' attribute.
81 This is needed for mock mode.
83 - It's possible to retrieve source repositories by anonymous git access if new
84 attribute `anonymous' is true.
86 - It's possible to override fedpkg dist name value by new `pkgdist' attribute.
87 This allows building packages from private git branch locally.
92 - Fix progress bar while selecting rebuildable packages.
94 - rebuildperl can read configuration for ~/.rebuildperlrc.
96 - New comparebuildroots tool. It compares latest build of source package in
97 given koji build root specified by tag.
102 - Draw progress bar for each parallelized task (e.g. loading dependencies,
103 selecting buildable packages). Please note there is no overall progress bar.
108 - Unordered build mode added (set ordered to false in Fedora::Rebuild
109 constructor). This allows to build packages disregarding dependencies.
114 - Handle exception in scheduler jobs.
116 - Add work-around for fedpkg output bug
117 (https://bugzilla.redhat.com/show_bug.cgi?id=721389).
122 - Incompatible change: Format of binary package provides and requires has
123 changed. Please remove `.runrequiresstore' and `.providesstore' lock files.
124 The dependencies cache will be regenerated from already downloaded binary
127 - When selecting packages to rebuild, run-time dependenices of build-time
128 requirements of the package in question are considered too. Unfortunatelly
129 the dependency solver misbehaves in more than one thread.
131 - The number of solver threads is controlled by `selectthreads' attribute of
132 Fedora::Rebuild contructor. Please set it to 1.
134 - Computed recursive build-time dependecies are reported to
135 `.is_installable.log' files. Their's corresponding lock files are ignored.
140 - Fix storing and retrieving Koji task ID in submitbuild and build states.
145 - Record current time for each log message. (Requires DateTime Perl module.)
147 - Split `build' state to `submitbuild' and `build' state. The first submits
148 build to Koji and stores Koji task ID. It submits even if build exists in
149 Koji. This is needed to redo failed builds. Then it created state lock and
150 resubmit never more. Remove the lock to force resubmit. Second state just
151 waits to finishing build. In case of local build, remove submitbuild is
152 skipped always and rebuild is performed in build state. This approach is
153 still not ideal. We must found better heuristics to differentiate our and
154 others building failures and redoable failures.
156 - Retrieve requires of binary rebuilt packages. This is preparation for future
157 support of indirect build-time dependencies. It will process old done binary
158 packages automatically.
163 - Wait for build root ration after rebuilding current set of rebuildable
164 packages. This allows to utilize whole Koji power with low local thread
167 - Fix logging at providesstore phase
172 - Fix undefined Fedore::Rebuild->last_fail()
174 - Recreate SRPM package if missing when getting build requires
176 - Close state log file when state finishes successfully
181 - Fix build root identification when watching a koji for rotation.
183 - Fix child exit status decoding. You get exit code or signal name into log
186 - Die optionally in case a lot of consequent failures. Driven by
187 `failurelimit' attribute. Default is 0 (i.e. do not die).
189 - Cache build requires and binary provides. You can run this script on v0.1.0
190 directory tree, the cache will be generated from RPM packages automatically.
195 - Introduce `loadthreads' attribute to tune number of threads distilling
196 dependencies to supress local I/O load.