Remove RPMS directory when reseting 'rotate' state
[Fedora-Rebuild.git] / Changes
blob7a26969696da35f38d9b183418984842f6aa399a
1 v0.12.0
2 =======
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
14   ones.
16 - POD documentation for Fedora::Rebuild::Solver.
18 v0.11.0
19 =======
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
26   configuration.
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
32   disk space.
34 - The Fedora::Rebuild::Mock shared attribute has changed semantics. It
35   controlls caching now and the mock identifier is never reused.
37 v0.10.0
38 =======
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'.
59 v0.9.1
60 ======
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.
68 v0.9.0
69 ======
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.
89 v0.8.0
90 ======
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.
99 v0.7.0
100 ======
102 - Draw progress bar for each parallelized task (e.g. loading dependencies,
103   selecting buildable packages). Please note there is no overall progress bar.
105 v0.6.0
106 ======
108 - Unordered build mode added (set ordered to false in Fedora::Rebuild
109   constructor). This allows to build packages disregarding dependencies.
111 v0.5.1
112 ======
114 - Handle exception in scheduler jobs.
116 - Add work-around for fedpkg output bug
117   (https://bugzilla.redhat.com/show_bug.cgi?id=721389).
119 v0.5.0
120 ======
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
125   packages.
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.
137 v0.4.1
138 ======
140 - Fix storing and retrieving Koji task ID in submitbuild and build states.
142 v0.4.0
143 ======
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.
160 v0.3.0
161 ======
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
165   number.
167 - Fix logging at providesstore phase 
169 v0.2.1
170 ======
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
178 v0.2.0
179 ======
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
184   now.
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.
192 v0.1.0
193 ======
195 - Introduce `loadthreads' attribute to tune number of threads distilling
196   dependencies to supress local I/O load.