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