Compare commits

..

259 Commits

Author SHA1 Message Date
clrbuilder 9f72f5fc40 Update packages file for version 33710
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-09-15 00:09:12 -07:00
clrbuilder 757dcd348d Update packages file for version 33690
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-09-08 11:02:38 -07:00
clrbuilder d2e4833782 Update packages file for version 33680
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-09-03 00:07:17 -07:00
clrbuilder 9e5766df8c Update packages file for version 33670
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-09-01 00:07:38 -07:00
clrbuilder 009b7a10e1 Update packages file for version 33620
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-08-13 00:09:30 -07:00
clrbuilder 249cbb0ea6 Update packages file for version 33600
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-08-11 00:09:18 -07:00
clrbuilder 4a690a35dc Update packages file for version 33590
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-08-06 00:10:52 -07:00
clrbuilder d1a7caafcd Update packages file for version 33580
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-08-04 00:10:24 -07:00
clrbuilder 1023b3c6cc Update packages file for version 33570
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-07-30 00:09:53 -07:00
clrbuilder 2affe6047a Update packages file for version 33550
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-07-28 00:10:15 -07:00
clrbuilder 2a10dd326d Update packages file for version 33540
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-07-23 12:26:46 -07:00
clrbuilder 2d360228ce Update packages file for version 33530
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-07-23 00:09:24 -07:00
clrbuilder a8641f898f Update packages file for version 33520
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-07-21 00:10:16 -07:00
clrbuilder fd412b15a5 Update packages file for version 33510
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-07-16 00:10:54 -07:00
clrbuilder eb579ba11d Update packages file for version 33500
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-07-14 00:11:28 -07:00
clrbuilder c545a66185 Update packages file for version 33470
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-07-06 05:43:40 -07:00
clrbuilder f4f726d8e0 Update packages file for version 33430
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-06-25 00:10:36 -07:00
clrbuilder 8f385c3366 Update packages file for version 33400
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-06-18 10:10:39 -07:00
clrbuilder 305bf6f63b Update packages file for version 33360
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-06-11 22:09:57 -07:00
clrbuilder 4797950600 Update packages file for version 33340
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-06-09 22:10:26 -07:00
clrbuilder 18b1f4841d Update packages file for version 33320
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-06-07 22:10:26 -07:00
clrbuilder 2a061d8ec2 Update packages file for version 33290
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-06-03 13:20:19 -07:00
clrbuilder 47927ff332 Update packages file for version 33240
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-05-29 02:34:08 -07:00
clrbuilder 80bb811f5f Update packages file for version 33200
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-05-27 05:12:04 +00:00
clrbuilder 71827cbf99 Update packages file for version 33190
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-05-26 05:11:22 +00:00
clrbuilder 84a9b62e3f Update packages file for version 33150
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-05-20 05:10:30 +00:00
Thiago Macieira 0dfb2f6ef5 Pass the make's -j option to rpmbuild
For most people simply running "make autospec" or "make build", this
will have no effect. The RPM macro %{_smp_mflags} is predefined to be
the number of CPUs in your system anyway (output of getconf
_NPROCESSORS_ONLN).

But if you do have MAKEFLAGS set in your environment to your CPU
number (and you should), that will get passed to rpmbuild, which then
uses it during the build. And if you, like me, have it set to a
slightly higher number, RPM will use that too.

But if you run "make -jN autospec", then that N will be passed to the
build. This is especially important if you have something doing "make
-j1": RPM will be -j1 too! So instead of "make -j1", run "MAKEFLAGS= make"
2020-05-19 13:47:42 -07:00
Patrick McCarty 59a46563cf Add some input validation for local repo handling
The local repo implementation makes some assumptions about the contents
of the package manager and mock conf files, so do some basic input
validation to assess whether the assumptions are correct, and exit with
informative errors if not.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-05-18 14:18:46 -07:00
Patrick McCarty a198b2d0a0 Make local repo support more parallel safe
For commands that modify contents of $(TOPLVL)/repo, wrap them with
`flock`, using a lock file `repo.lock` within the repo directory. This
ensures that the repo directory tree is not otherwise modified while
each command is running.

To keep the implementation simple, I opted to not wrap entire makefile
targets with a lock (e.g. lock the entire operation of `make repoadd`).
If users need that level of control, they can implement locking in a
separate wrapper script.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-05-18 13:55:19 -07:00
Patrick McCarty 9574f4ecde Remove R-R2Cuba
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-05-15 08:04:56 -07:00
clrbuilder 649f1e38de Update packages file for version 33110
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-05-15 05:10:58 +00:00
clrbuilder 0b86a75a10 Update packages file for version 33100
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-05-14 05:10:40 +00:00
clrbuilder a06eab078d Update packages file for version 33090
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-05-13 05:10:02 +00:00
clrbuilder d4ea9f57dc Update packages file for version 33060
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-05-08 05:09:10 +00:00
clrbuilder ee0847f750 Update packages file for version 33030
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-05-05 05:08:54 +00:00
clrbuilder 98047e4b8e Update packages file for version 33020
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-05-04 05:09:36 +00:00
clrbuilder aa98640939 Update packages file for version 33000
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-05-01 05:08:51 +00:00
clrbuilder 2b355f3fcb Update packages file for version 32990
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-30 05:09:01 +00:00
clrbuilder 57632934c0 Update packages file for version 32970
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-29 01:51:53 +00:00
clrbuilder a4b3da2bca Update packages file for version 32940
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-28 05:08:39 +00:00
clrbuilder f0f2ae6fdf Update packages file for version 32930
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-27 05:08:24 +00:00
clrbuilder 9d82331cfa Update packages file for version 32910
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-23 18:18:29 +00:00
Patrick McCarty ea568f6239 Support cloning of pre-existing package repos
Over the lifetime of Clear Linux OS, many packages have been added and
removed, but the package *repos* always remain once they have been
created.

Thus, if a package is removed at one point, and later added back to the
distro, the same package repo should be used. This commit adds support
to `make autospecnew` for that use case, always using a pre-existing
package repo if one is available.

(Note that the gitolite repo detection is more complicated because it
must support configurations with and without "wild repos" enabled.)

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-04-22 10:45:34 -07:00
clrbuilder 4e2e716a76 Update packages file for version 32900
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-22 05:09:24 +00:00
clrbuilder c64bda09fc Update packages file for version 32890
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-21 05:09:11 +00:00
Patrick McCarty 65c5758c08 patchfilter: more cleanups
- FFLAGS/FCLAGS defaults were recently modified, so support both old and
  new defaults.
- `rm -rf %{buildroot}` is another autospec default line for %install,
  so it will never be a manual addition.
- The `name` field from options.conf is the same as the package name.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-04-20 11:37:34 -07:00
clrbuilder 3d334b1fd4 Update packages file for version 32880
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-20 06:38:03 +00:00
Ross Burton 31399a1cb7 Makefile.toplevel: add 'log' command
Add a new 'log' command that is similar to 'diff' but shows the log of
commits from HEAD to origin/master, thus listing all commits that have
not yet been pushed.

For example:
$ make log
packages/glib-networking
glib-networking: enable installed tests

packages/gnome-desktop
gnome-desktop: Autospec creation for update from version 3.34.3 to version 3.36.0

packages/gnome-terminal
gnome-terminal: Autospec creation for update from version 3.34.2 to version 3.36.0.1

Signed-off-by: Ross Burton <ross.burton@intel.com>
2020-04-17 11:45:11 +01:00
clrbuilder d7bff595de Update packages file for version 32870
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-17 05:08:26 +00:00
clrbuilder 3f53222de8 Update packages file for version 32860
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-16 05:08:19 +00:00
clrbuilder 4435eace17 Update packages file for version 32850
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-15 05:09:15 +00:00
clrbuilder e971c54843 Update packages file for version 32840
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-14 05:08:44 +00:00
clrbuilder c5df45b631 Update packages file for version 32830
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-13 05:09:34 +00:00
Patrick McCarty 1123cf8edc patchfilter: show diffs of Source0 instead of url from options.conf
Modification of Source0 is more trustworthy, since not all packages use
autospec. Also, (to me) the line stands out more when it appears at the
top of the spec file diff.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-04-09 22:15:49 -07:00
clrbuilder 779526d7a4 Update packages file for version 32820
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-10 05:08:43 +00:00
clrbuilder 8280750fe8 Update packages file for version 32800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-09 05:09:08 +00:00
clrbuilder 72414dec9f Update packages file for version 32790
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-08 09:08:46 +00:00
clrbuilder 61fa7c0655 Update packages file for version 32780
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-07 05:09:16 +00:00
clrbuilder c30c608d19 Update packages file for version 32760
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-03 05:08:46 +00:00
clrbuilder b9702018c7 Update packages file for version 32750
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-04-02 05:08:39 +00:00
clrbuilder 50e2a1d14e Update packages file for version 32730
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-31 05:10:22 +00:00
clrbuilder 941bc3100e Update packages file for version 32710
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-27 05:09:15 +00:00
Patrick McCarty 2971492feb Add ciso8601
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-03-18 21:32:19 -07:00
clrbuilder faa11f738d Update packages file for version 32640
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-18 05:10:45 +00:00
Patrick McCarty 4db065fa34 Add R-isoband (new dep for R-ggplot2)
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-03-17 21:28:49 -07:00
Arjan van de Ven 07cf4c7085 more boilerplate due to autospec changes 2020-03-17 23:16:53 +00:00
clrbuilder 82baba5b88 Update packages file for version 32630
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-17 17:00:52 +00:00
clrbuilder 257ff7bc57 Update packages file for version 32610
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-16 05:10:33 +00:00
clrbuilder 80d1f17444 Update packages file for version 32600
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-13 05:10:56 +00:00
clrbuilder 4f059caffc Update packages file for version 32590
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-12 05:11:21 +00:00
clrbuilder 7d2f1d5e1d Update packages file for version 32580
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-11 05:10:13 +00:00
clrbuilder d36404255b Update packages file for version 32570
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-10 05:10:40 +00:00
clrbuilder 88dd353e21 Update packages file for version 32560
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-09 05:10:57 +00:00
Patrick McCarty c232a0f6c2 Update package list
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-03-06 14:57:09 -08:00
clrbuilder 97edcccc6f Update packages file for version 32550
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-06 06:09:30 +00:00
clrbuilder 16fb031192 Update packages file for version 32540
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-05 06:10:39 +00:00
clrbuilder 46d98726d5 Update packages file for version 32530
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-04 06:11:22 +00:00
Arjan van de Ven 0fa3b3812c reduce more spec file noise 2020-03-03 17:27:52 +00:00
Arjan van de Ven c6ae76c720 reduce noise in review some more 2020-03-03 17:21:40 +00:00
Arjan van de Ven b1cfa8f828 avoid ehx poisoning 2020-03-03 17:20:50 +00:00
Arjan van de Ven 2f03d06fc4 also drop .asc files from the review... avoid hex poisoning 2020-03-03 17:18:51 +00:00
clrbuilder 514dbd5f33 Update packages file for version 32520
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-03 08:11:55 +00:00
clrbuilder 97894ec9b3 Update packages file for version 32510
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-03-02 06:10:25 +00:00
clrbuilder 4512f3ae00 Update packages file for version 32500
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-28 17:45:41 +00:00
clrbuilder 4bbdd450d4 Update packages file for version 32490
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-28 06:10:11 +00:00
puneetse f2a32480ae Add diffstat in required programs check
diffstat is required to geenrate the for-review.txt
2020-02-26 19:44:50 +00:00
Patrick McCarty 8aa923a5a6 Replace gitdb2/smmap2 with gitdb/smmap
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-02-24 16:20:26 -08:00
clrbuilder a757a26828 Update packages file for version 32390
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-24 18:20:28 +00:00
clrbuilder c69acb2821 Update packages file for version 32380
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-21 06:09:31 +00:00
Arzhan Kinzhalin cbb1d9688e make koji: check remote tag exists beforehand 2020-02-20 10:17:32 -08:00
clrbuilder 9b778e9f80 Update packages file for version 32370
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-20 06:09:16 +00:00
clrbuilder 0894cd7083 Update packages file for version 32360
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-19 06:11:53 +00:00
clrbuilder f07e797a3b Update packages file for version 32350
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-18 06:09:34 +00:00
clrbuilder 6b614da982 Update packages file for version 32340
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-17 06:10:46 +00:00
clrbuilder 56fd505d76 Update packages file for version 32330
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-14 06:10:52 +00:00
clrbuilder 60fe195c79 Update packages file for version 32310
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-12 06:09:47 +00:00
Patrick McCarty f56e102bc1 new package: R-R.cache
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-02-10 18:59:22 -08:00
clrbuilder 8d829d1b6e Update packages file for version 32280
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-10 06:10:16 +00:00
Patrick McCarty f6921f41e9 Update license list for SPDX 3.8
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-02-09 15:49:35 -08:00
clrbuilder 1988c8296f Update packages file for version 32260
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-06 06:09:47 +00:00
clrbuilder d5056dcee3 Update packages file for version 32250
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-05 06:10:27 +00:00
clrbuilder e83915a24d Update packages file for version 32240
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-02-01 02:02:33 +00:00
clrbuilder 8de4c25ecc Update packages file for version 32230
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-31 06:10:10 +00:00
clrbuilder 9feee99965 Update packages file for version 32220
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-30 06:09:51 +00:00
clrbuilder 9396728fca Update packages file for version 32200
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-28 06:09:37 +00:00
clrbuilder 974734a9c2 Update packages file for version 32190
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-27 06:11:01 +00:00
clrbuilder 97aec0b795 Update packages file for version 32170
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-23 06:09:20 +00:00
clrbuilder 46c0cf7449 Update packages file for version 32160
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-22 06:09:35 +00:00
clrbuilder 9993ccf733 Update packages file for version 32140
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-20 06:10:17 +00:00
clrbuilder 9f39df7d55 Update packages file for version 32130
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-17 22:25:10 +00:00
clrbuilder a5e894a480 Update packages file for version 32120
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-17 06:10:02 +00:00
clrbuilder 7eb9678104 Update packages file for version 32110
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-16 06:10:18 +00:00
clrbuilder 3d0f911262 Update packages file for version 32100
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-15 06:09:36 +00:00
clrbuilder 01888ddee2 Update packages file for version 32090
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-14 06:09:48 +00:00
clrbuilder c0c61628a8 Update packages file for version 32070
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-10 06:09:40 +00:00
clrbuilder c858d8c2e1 Update packages file for version 32060
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-09 06:09:27 +00:00
Patrick McCarty 450e84f809 Set priority=1 for local repo
The RPMs from repo `localrepo` should have priority over RPMs from the
main repo, so set `priority=1` for it.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-01-08 17:18:19 -08:00
clrbuilder d36cb4c6c3 Update packages file for version 32050
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-08 06:10:39 +00:00
Patrick McCarty 139a6e4a14 Add new package: R-pROC
New dependency for R-caret

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2020-01-07 16:25:41 -08:00
clrbuilder 37bda022bb Update packages file for version 32040
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-07 06:09:58 +00:00
Arjan van de Ven ddc326e53c more patterns 2020-01-06 17:01:48 +00:00
Arjan van de Ven a3a27cd156 more patterns 2020-01-06 17:00:22 +00:00
clrbuilder 4579fa3816 Update packages file for version 32030
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2020-01-06 06:10:18 +00:00
clrbuilder c14cac39e5 Update packages file for version 31970
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-12-23 06:09:52 +00:00
clrbuilder 070be802aa Update packages file for version 31960
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-12-20 06:10:00 +00:00
clrbuilder 4102816787 Update packages file for version 31950
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-12-19 06:10:27 +00:00
Arjan van de Ven 4c9c2abd21 add some more filters 2019-12-18 15:04:13 +00:00
clrbuilder 70b4977b53 Update packages file for version 31940
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-12-18 06:11:09 +00:00
clrbuilder 7276bc89e9 Update packages file for version 31930
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-12-17 06:22:47 +00:00
clrbuilder fffa8f1e78 Update packages file for version 31920
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-12-16 06:09:29 +00:00
clrbuilder 9cc15023ed Update packages file for version 31890
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-12-12 02:42:43 +00:00
clrbuilder 7f5674bf08 Update packages file for version 31820
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-12-06 06:16:06 +00:00
clrbuilder de60634e85 Update packages file for version 31800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-12-04 06:16:58 +00:00
clrbuilder 2b6b201866 Update packages file for version 31780
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-12-02 06:09:56 +00:00
clrbuilder b24f00531c Update packages file for version 31760
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-28 06:09:32 +00:00
clrbuilder bf4c541b1d Update packages file for version 31740
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-27 00:47:09 +00:00
clrbuilder 25ea756641 Update packages file for version 31730
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-26 17:44:35 +00:00
clrbuilder 367aa5c4de Update packages file for version 31700
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-22 06:19:07 +00:00
Patrick McCarty 073d828fa2 Add R-farver, needed for latest R-scales
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-11-20 22:36:46 -08:00
Patrick McCarty ce049d2064 Add R-leaflet.providers, needed for latest R-leaflet
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-11-20 22:35:47 -08:00
clrbuilder c2d67c1502 Update packages file for version 31690
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-21 06:08:25 +00:00
clrbuilder 98cf84d3f3 Update packages file for version 31680
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-20 06:09:57 +00:00
clrbuilder 2c3c1225bf Update packages file for version 31670
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-19 06:10:36 +00:00
clrbuilder 65dcbd3bc9 Update packages file for version 31650
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-15 06:09:40 +00:00
clrbuilder 76ae6fd76f Update packages file for version 31640
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-14 06:08:33 +00:00
clrbuilder 69164ec2ca Update packages file for version 31630
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-13 06:10:19 +00:00
Patrick McCarty 185dec68b8 Improve handling of autospec's --mock-opts option
This change allows specifying short/long mock options via MOCK_OPTS
without a leading backslash escape.

For example, `MOCK_OPTS="\--old-chroot --no-clean"` can now be specified
as `MOCK_OPTS="--old-chroot --no-clean"`.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-11-11 12:52:26 -08:00
clrbuilder cc9b2ee03b Update packages file for version 31570
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-11 19:59:55 +00:00
clrbuilder 0b9161a6d7 Update packages file for version 31560
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-11 17:03:02 +00:00
clrbuilder 7c92a06cb9 Update packages file for version 31550
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-11 06:10:16 +00:00
Brett T. Warden 214ace3bd0 Add ISSL to license exceptions 2019-11-07 13:28:07 -08:00
clrbuilder 8d82f1d245 Update packages file for version 31530
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-07 06:16:23 +00:00
clrbuilder b250cfe2b0 Update packages file for version 31510
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-05 19:04:10 +00:00
clrbuilder c7eae41e54 Update packages file for version 31500
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-05 06:16:01 +00:00
clrbuilder 55a3d9c6bf Update packages file for version 31480
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-03 21:13:55 +00:00
clrbuilder 41ed095a08 Update packages file for version 31470
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-11-01 05:16:04 +00:00
clrbuilder 7a653585b2 Update packages file for version 31460
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-31 05:20:16 +00:00
clrbuilder 8ffb3603dc Update packages file for version 31450
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-30 05:15:32 +00:00
Patrick McCarty b895daa84f Add R-sets package
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-10-29 12:24:37 -07:00
clrbuilder 48fbe7cd3e Update packages file for version 31410
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-28 05:16:01 +00:00
clrbuilder 39aed7cee7 Update packages file for version 31400
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-25 05:15:01 +00:00
clrbuilder 23c281b1c8 Update packages file for version 31390
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-24 05:25:58 +00:00
Patrick McCarty d402ae1449 Update license list for SPDX 3.7
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-10-23 20:46:27 -07:00
clrbuilder 72cc059f89 Update packages file for version 31370
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-22 05:19:22 +00:00
clrbuilder 0d56579421 Update packages file for version 31360
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-21 05:16:13 +00:00
clrbuilder 02d46e6db4 Update packages file for version 31350
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-18 05:15:50 +00:00
clrbuilder 4adb7a1524 Update packages file for version 31340
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-17 17:04:57 +00:00
clrbuilder be21e942aa Update packages file for version 31330
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-17 05:15:57 +00:00
clrbuilder 4e9b844267 Update packages file for version 31320
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-16 05:15:38 +00:00
clrbuilder facb8827f7 Update packages file for version 31310
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-15 05:16:13 +00:00
clrbuilder 77c5172cf9 Update packages file for version 31300
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-14 05:17:15 +00:00
Arjan van de Ven ae4ea46b1c flatten-json mapping 2019-10-13 18:10:01 +00:00
clrbuilder 8e18acca7a Update packages file for version 31280
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-10 05:15:57 +00:00
clrbuilder ed15af71c8 Update packages file for version 31270
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-09 05:28:26 +00:00
clrbuilder 3c20fc2ad8 Update packages file for version 31260
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-08 19:16:31 +00:00
santoshkumar d7f6ddcce1 make bump : Replaced *.spec to package specfilic specfile variable $(SPECFILE).
In the submmitter's local pacakge directory can have mulptiple spec file present,
or swap file thus to avoid adding multiple specfile in git add better only add package
specific specfile.

Signed-off-by: santoshkumar <santoshkumar.laxminarayan.rai@intel.com>
2019-10-03 10:15:36 -07:00
Alex Jaramillo 22a927e26b Removing cve-check-tool
This tool no longer works and the repo looks abandoned (last commit
04/27/2017). The NVD cve database has changed format since.

Signed-off-by: Alex Jaramillo <alex.v.jaramillo@intel.com>
2019-10-01 22:24:48 +00:00
clrbuilder 4a29a2d5c1 Update packages file for version 31140
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-10-01 06:40:52 +00:00
Patrick McCarty 81ef638151 autospec: establish different calling convention for setting cli booleans
For the `make autospec` variants, use a simpler calling convention so
that the callers do not need to know the boolean option names.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-09-29 13:30:41 -07:00
clrbuilder 50b8b07d34 Update packages file for version 31120
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-27 05:03:55 +00:00
clrbuilder 47b634bc75 Update packages file for version 31110
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-26 05:03:18 +00:00
clrbuilder 292ea0bde9 Update packages file for version 31100
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-25 05:04:12 +00:00
clrbuilder b0f7bbfb90 Update packages file for version 31090
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-24 05:03:00 +00:00
Patrick McCarty 20d0fece07 Add R-covr and R-lifecycle
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-09-23 12:46:13 -07:00
clrbuilder 0f546b20f5 Update packages file for version 31080
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-23 05:03:25 +00:00
clrbuilder 16a09f7fa6 Update packages file for version 31070
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-20 05:06:44 +00:00
clrbuilder 5a438328f2 Update packages file for version 31060
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-19 05:10:42 +00:00
clrbuilder 9ffb55be69 Update packages file for version 31050
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-18 05:03:03 +00:00
Patrick McCarty af3c84505d toplevel: set autospec pushurl to ssh instead of https
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-09-17 14:34:16 -07:00
clrbuilder a865a99283 Update packages file for version 31020
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-14 05:28:57 +00:00
clrbuilder 9e8f0a6ff0 Update packages file for version 31010
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-13 05:02:30 +00:00
clrbuilder 76301d4b78 Update packages file for version 31000
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-12 05:02:38 +00:00
clrbuilder 08bef91443 Update packages file for version 30990
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-11 05:03:26 +00:00
clrbuilder 93202eb3b5 Update packages file for version 30970
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-09 05:02:59 +00:00
clrbuilder 14977f527c Update packages file for version 30960
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-06 05:06:16 +00:00
clrbuilder fa93c354e1 Update packages file for version 30950
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-09-05 05:03:15 +00:00
Patrick McCarty 6a54f15cb6 Add new package: R-systemfonts
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-09-03 21:14:03 -07:00
clrbuilder fa42020aa9 Update packages file for version 30910
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-31 23:58:25 +00:00
clrbuilder a727fe3722 Update packages file for version 30900
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-30 05:03:46 +00:00
clrbuilder c41eeea37a Update packages file for version 30890
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-29 05:03:31 +00:00
clrbuilder a07f64294f Update packages file for version 30870
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-27 05:03:19 +00:00
clrbuilder 59a3a29c4c Update packages file for version 30840
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-22 05:02:48 +00:00
clrbuilder cba91e5044 Update packages file for version 30830
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-21 05:02:27 +00:00
Patrick McCarty a5d39507cc Merge tag 'refs/tags/30820' into master 2019-08-20 21:09:12 -07:00
clrbuilder dc644c29a0 Update packages file for version 30820
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-20 05:02:31 +00:00
clrbuilder f5febd9cd6 Update packages file for version 30810
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-17 05:02:00 +00:00
clrbuilder 33911b18e5 Update packages file for version 30800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-16 05:02:20 +00:00
Patrick McCarty 13e5e26cbf Move manual setup steps to a separate file
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-08-14 17:57:18 -07:00
clrbuilder 4845303ae6 Update packages file for version 30780
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-14 05:03:31 +00:00
clrbuilder 6fdc492121 Update packages file for version 30740
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-10 05:02:49 +00:00
clrbuilder 7614474aba Update packages file for version 30720
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-08 18:20:52 +00:00
clrbuilder 5bee2e96d2 Update packages file for version 30710
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-08 05:02:42 +00:00
clrbuilder 6cc08f74e7 Update packages file for version 30700
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-07 05:03:04 +00:00
clrbuilder 5b64c9b888 Update packages file for version 30690
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-06 14:03:17 +00:00
clrbuilder 88c420528d Update packages file for version 30680
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-06 05:02:55 +00:00
clrbuilder 98c7c4cb76 Update packages file for version 30670
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-05 14:12:19 +00:00
clrbuilder e2ce4353b6 Update packages file for version 30660
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-03 05:03:25 +00:00
clrbuilder 08512d3f2b Update packages file for version 30620
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-08-01 05:06:06 +00:00
Patrick McCarty f6be3f440a Unzap the addition of GCC_IGNORE_WERROR lines
Once this line is added to a package spec, it is likely to never show up
again, and its initial appearance may have a significant impact on the
build, so it is good to keep to not lose context.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-07-31 20:55:30 -07:00
clrbuilder 1a79ab1700 Update packages file for version 30600
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-31 05:04:26 +00:00
clrbuilder a6fa6599bb Update packages file for version 30580
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-30 05:23:32 +00:00
Patrick McCarty 9d6c5e6677 Fix call to the go-builder wrapper script
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-07-29 17:44:24 -07:00
William Douglas 460ce05217 Add go-builder.py and autospecnewgo target
This change enables recurive dependency resolution and packaging when
creating new go packages. To do so the 'autospecnewgo' target is
created and the autospecnew target is slightly modified to align
make target exit code expectations for failure handling.
2019-07-29 17:44:24 -07:00
William Douglas 8a2da3412d Add repostage target
When building large numbers of packages that are interdependent,
recreating the rpm repository for each package can create a large
overhead during processing. 'repostage' is intended to provide an
intermediate target for adding a package to a repository that can
later be built using localrepocreate.
2019-07-29 17:44:24 -07:00
clrbuilder 94624262ae Update packages file for version 30570
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-29 14:07:14 +00:00
clrbuilder 15a220803f Update packages file for version 30550
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-26 22:33:53 +00:00
Patrick McCarty 4130c1c97d Add new package R-mvnfast
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-07-25 12:18:01 -07:00
Patrick McCarty 7c28f0608d Add new package R-linprog
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-07-25 11:37:50 -07:00
clrbuilder 1b0945c33d Update packages file for version 30530
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-25 18:04:39 +00:00
Patrick McCarty 1300eba2b4 Refresh SPDX license list
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-07-23 15:53:16 -07:00
clrbuilder 91a900675e Update packages file for version 30490
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-23 16:02:12 +00:00
clrbuilder b137543491 Update packages file for version 30480
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-23 08:02:29 +00:00
clrbuilder bb27567407 Update packages file for version 30470
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-22 17:05:41 +00:00
clrbuilder 2973364b2e Update packages file for version 30460
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-20 16:36:42 +00:00
clrbuilder 865997ad69 Update packages file for version 30450
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-19 08:02:20 +00:00
clrbuilder 70bfbe8c17 Update packages file for version 30440
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-18 08:02:19 +00:00
Patrick McCarty 3b1e4e5558 pullrebase: skip rebase if current branch is up-to-date
Any attempt at rebasing is unnecessary when the current branch is
up-to-date with the remote, so skip the rebase in this case.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-07-17 12:54:04 -07:00
clrbuilder 2465219907 Update packages file for version 30420
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-17 16:15:58 +00:00
clrbuilder 77775f060c Update packages file for version 30410
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-16 18:03:37 +00:00
clrbuilder 67406f7be2 Update packages file for version 30400
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-16 10:01:43 +00:00
clrbuilder 9bece241c0 Update packages file for version 30380
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-15 10:02:02 +00:00
clrbuilder 602cc9563f Update packages file for version 30360
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-13 17:54:20 +00:00
George T Kramer 02b5ad93e3 Place koji user configuration in user folder
Avoid placing koji.conf in a system-level directory

Signed-off-by: George T Kramer <george.t.kramer@intel.com>
2019-07-11 17:10:09 -07:00
clrbuilder fb40533923 Update packages file for version 30320
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-11 12:02:13 +00:00
clrbuilder 06dd86a3b9 Update packages file for version 30290
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-10 00:47:12 +00:00
clrbuilder 9db26c3041 Update packages file for version 30280
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-09 18:12:07 +00:00
clrbuilder ade6194a0c Update packages file for version 30270
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-09 12:02:10 +00:00
clrbuilder a8d18b2f92 Update packages file for version 30260
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-07 17:52:48 +00:00
Arjan van de Ven c2d637b438 don't shhow version changes in the 32 bit / avx copies 2019-07-05 13:02:00 +00:00
clrbuilder 48d06e458d Update packages file for version 30230
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-05 05:53:08 +00:00
clrbuilder 0ba3b95dad Update packages file for version 30200
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-04 08:19:58 +00:00
Miguel Bernal Marin 9749d00c56 update OVMF* files
Clear Linux edk2 package was updated to stable201905

https://github.com/clearlinux-pkgs/edk2/commit/7b191c6ae982a550f2a335cd4cd4cf2857d94b49

Let's update OVMF.fd and OVMF_CODE.fd

Note:  OVMF_VARS.fd has the same hash and is not updated.

Note2: that these version of OVMF* are a copy from /usr/share/qemu
       in Clear Linux OS 30170.

$ sha512sum /usr/share/qemu/OVMF*
c6630296e4a82dc4a24b20522e815171fd9c1689403a36abf7ec070c7fce85af63b88b328721a94c415f513ffd2423f71e591ae9713e65850b5a29ebd1edac89  /usr/share/qemu/OVMF_CODE.fd
f48de15ce6dbc19c6a0770677a874f289a69df813f31add873d30324df6b96ae0a0756af52fef3101f5077280851f095120663ec68bb6d19b12a6b0937f86df8  /usr/share/qemu/OVMF.fd
448412fd7ba267b4180db8ade6edb67af467e5b9b3e3ff8dfd583a2fded4070f6951667297e6896ce8bd9f4d2ec3dd8a5a70b6e9a2f686efec9a57124fec512a  /usr/share/qemu/OVMF_VARS.fd
2019-07-03 14:22:51 -05:00
clrbuilder 7841d4dd5c Update packages file for version 30190
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-03 18:04:39 +00:00
clrbuilder 91c89fe47d Update packages file for version 30180
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-03 12:02:25 +00:00
Patrick McCarty 9d696fee5a Add R-R2jags and R-R2WinBUGS packages
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2019-07-02 11:48:05 -07:00
clrbuilder 54aea8a696 Update packages file for version 30160
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-02 12:02:28 +00:00
clrbuilder a4545eb4b0 Update packages file for version 30140
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-07-01 12:02:28 +00:00
clrbuilder 35d4f2c00f Update packages file for version 30130
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-06-28 18:01:41 +00:00
clrbuilder 15c22ac4eb Update packages file for version 30110
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2019-06-26 18:08:11 +00:00
14 changed files with 1330 additions and 543 deletions
+57 -44
View File
@@ -21,7 +21,8 @@ RPMS ?= $(LATEST_RPMS)
WITH_SUDO = $(shell cmp /usr/bin/mock /usr/sbin/mock &> /dev/null && echo sudo )
# MOCK_CONFIG_VAL is set in Makefile.shared
MOCK ?= $(WITH_SUDO) /usr/bin/mock -r $(MOCK_CONFIG_VAL) $(MOCK_OPTS)
MOCK_SMP_FLAGS=$(patsubst -j%, -D_smp_mflags\ -j%,$(filter -j%, $(MAKEFLAGS)))
MOCK ?= $(WITH_SUDO) /usr/bin/mock -r $(MOCK_CONFIG_VAL) $(MOCK_SMP_FLAGS) $(MOCK_OPTS)
ifneq ($(wildcard upstream),)
__allsources := $(notdir $(strip $(shell cat upstream)))
@@ -49,13 +50,6 @@ spdxcheck: $(SPECFILE)
if ! grep -qx "$$LICENSE" $(TOPLVL)/projects/common/licenses-{spdx,exceptions,extra}; then FAIL=yes; echo "ERROR: License '$$LICENSE' is not an allowed SPDX license ID"; fi; \
done; test -z "$$FAIL"
#help cvecheck: Checks
#help for common vulnerabilities and exposures in your package.
cvecheck:
# https://github.com/ikeydoherty/cve-check-tool
# Installation: https://github.com/ikeydoherty/cve-check-tool/wiki
cve-check-tool -M $(TOPLVL)/projects/common/mapping $(SPECFILE)
#help clean: Cleans up the src.rpm file. but not the rpm files or log files.
clean:
rm -f $(SRPMFILE)
@@ -143,6 +137,10 @@ pullrebase:
echo "No commits exist in remote. Continuing."; \
exit 0; \
fi; \
if [ "$$(git rev-list FETCH_HEAD | head -n 1)" = "$$(git rev-list HEAD | head -n 1)" ]; then \
echo "Current branch up-to-date. Continuing."; \
exit 0; \
fi; \
echo "Rebasing to origin/master"; \
if git status --porcelain | grep -q '^.[^?]'; \
then \
@@ -175,9 +173,11 @@ autospec: preautospec-checks pullrebase localreponotice clean-old-content
--name $(PKG_NAME) \
--archives $(ARCHIVES) \
--mock-config $(MOCK_CONFIG_VAL) \
--mock-opts "$(MOCK_OPTS)" \
--mock-opts="$(MOCK_SMP_FLAGS) $(MOCK_OPTS)" \
$${SETVERSION:+ --version $${SETVERSION}} \
${NON_INTERACTIVE} ${SKIP_GIT} ${CLEANUP} \
$${NON_INTERACTIVE:+ --non_interactive} \
$${SKIP_GIT:+ --skip-git} \
$${CLEANUP:+ -C} \
$(firstword $(NEWURL) $(URL));
$(MAKE) link-new-rpms PKG_REPO_DIR="."
@$(MAKE) spdxcheck
@@ -187,6 +187,7 @@ autospec: preautospec-checks pullrebase localreponotice clean-old-content
git commit --amend --no-edit Change* ; \
fi
@$(MAKE) -s for-review.txt
diffstat for-review.txt
@printf "\n**\n"
@printf "** NOTICE: A patch with changes is available in the file for-review.txt\n"
@printf "** To recreate (e.g., after git commit --amend), run make for-review.txt\n"
@@ -201,12 +202,12 @@ for-review.txt:
#help autospecnogit: Runs autospec, but does not create a commit
autospecnogit:
$(MAKE) SKIP_GIT=--skip-git autospec
$(MAKE) autospec SKIP_GIT=1
#help autospecnostate: Runs autospec, but cleans up mock chroots
#help and disables interactive mode.
autospecnostate:
$(MAKE) CLEANUP=-C NON_INTERACTIVE=--non_interactive autospec
$(MAKE) autospec CLEANUP=1 NON_INTERACTIVE=1
scanlicense:
python3 $(TOPLVL)/projects/autospec/autospec/autospec.py -t . --config $(AUTOSPEC_CONF) --license-only $(firstword $(NEWURL) $(URL)) --name $(PKG_NAME)
@@ -215,7 +216,7 @@ scanlicense:
bump:
git pull --rebase
$(MAKE) bumpnogit
git add *.spec release
git add $(SPECFILE) release
git commit -a -m "version bump from $(shell rpmspec -D '_vendor clr' --srpm -q --queryformat '%{VERSION}-%{RELEASE}\n' $(SPECFILE)) to `rpmspec -D '_vendor clr' --srpm -q --queryformat '%{VERSION}-%{RELEASE}\n' $(SPECFILE)`"
#help bumpnogit: Increments the release file by one and does not commit changes.
@@ -304,16 +305,21 @@ prekoji-checks:
koji: prekoji-checks kojidef
@$(MAKE) spdxcheck
@$(MAKE) checkblacklist
@if ! git branch | grep -q -E '^\* master'; then \
@if [ "$$(git rev-parse --abbrev-ref HEAD)" != "master" ]; then \
echo "Error: Must be on the master branch to submit to koji" >&2; \
exit 1; \
fi; \
if ! git diff --quiet HEAD ${SPECFILE}; then \
if ! git diff --quiet HEAD -- ${SPECFILE}; then \
echo "Error: All changes to ${SPECFILE} must be committed first" >&2; \
exit 1; \
fi; \
if git rev-parse --verify --quiet origin/master > /dev/null; then \
git fetch; \
if git rev-parse --verify --quiet origin/master >/dev/null; then \
git pull --rebase; \
fi; \
if git ls-remote --tags --exit-code origin $(SRPMVERS) >/dev/null; then \
echo "Error: remote tag $(SRPMVERS) already exists" >&2; \
exit 1; \
fi
git tag $(SRPMVERS)
git push origin master refs/tags/$(SRPMVERS)
@@ -344,11 +350,6 @@ rekoji-nowait:
logcheck:
@perl $(TOPLVL)/projects/common/logcheck.pl results/build.log
$(TOPLVL)/repo:
@echo "Creating local RPM repository $(TOPLVL)/repo"
mkdir $(TOPLVL)/repo
$(MAKE) localrepocreate
#help repoadd: Adds locally-built RPMs for this package to the local RPM
#help repository. If this repository does not yet exist, it is created and
#help enabled.
@@ -356,39 +357,51 @@ repoadd: $(TOPLVL)/repo
@if [ -z "${LATEST_RPMS}" ]; then \
echo "No rpms found in rpms/ directory."; \
exit 1; \
fi; \
if [ -f .repo-index ]; then \
echo "Cleaning old rpms:"; \
for r in `cat .repo-index`; do \
echo "-$$r"; \
rm -f $(TOPLVL)/repo/$$r; \
done; \
rm .repo-index; \
fi; \
for r in ${LATEST_RPMS}; do \
echo "+$$r"; \
echo $$(basename $$r) >> .repo-index; \
ln -f $$r $(TOPLVL)/repo/; \
done
$(MAKE) localrepocreate
$(call localrepoenable,${PM_CONF},${MOCK_CONF})
fi
$(MAKE) -s repodel NO_CREATEREPO=1
@echo "Adding new rpms:"; \
for rpm in ${LATEST_RPMS}; do \
echo "+$${rpm#rpms/}"; \
echo "$${rpm#rpms/}" >> .repo-index; \
done; \
flock $</repo.lock ln -f -t $< ${LATEST_RPMS}
$(MAKE) -s localrepocreate
$(MAKE) -s localrepoenable
#help repostage: Stages locally-built RPMs for this package to the local RPM
#help directory. If this directory does not yet exist, it is created and
#help enabled.
repostage: $(TOPLVL)/repo
@if [ -z "${LATEST_RPMS}" ]; then \
echo "No rpms found in rpms/ directory."; \
exit 1; \
fi
$(MAKE) -s repodel NO_CREATEREPO=1
@for r in ${LATEST_RPMS}; do \
echo "+$${rpm#rpms/}"; \
echo "$${rpm#rpms/}" >> .repo-index; \
done; \
flock $</repo.lock ln -f -t $< ${LATEST_RPMS}
#help repodel: Removes RPMs from the local RPM repository that were
#help previously added by 'make repoadd' for this package.
repodel:
repodel: $(TOPLVL)/repo
@if [ -f .repo-index ]; then \
echo "Cleaning old rpms:"; \
for r in `cat .repo-index`; do \
echo "-$$r"; \
rm -f $(TOPLVL)/repo/$$r; \
done; \
mapfile -t rpms < <(sed 's|.*|$</&|' .repo-index); \
for rpm in "$${rpms[@]}"; do \
echo "-$${rpm#$</}"; \
done < .repo-index; \
flock $</repo.lock rm -f "$${rpms[@]}"; \
rm .repo-index; \
$(MAKE) localrepocreate; \
if [ -z "$$NO_CREATEREPO" ]; then \
$(MAKE) -s localrepocreate; \
fi; \
fi
#help repoenable: Enables the local RPM repository for use with Yum/DNF and
#help Mock. If this repository does not yet exist, it is created.
repoenable: $(TOPLVL)/repo ; $(call localrepoenable,${PM_CONF},${MOCK_CONF})
repoenable: localrepoenable ;
#help repodisable: Disables the local RPM repository.
repodisable: localrepodisable ;
+79 -17
View File
@@ -62,33 +62,95 @@ define remotepkgname
$(if $(USE_PACKAGE_MAPPING),$$(awk -v P="$(1)" '$$1 == P { res=$$2 } END { print res ? res : P }' $(TOPLVL)/projects/common/pkg-mapping),$(1))
endef
# Clone repo from the configured gitolite instance, but only if the repo exists
# on that instance and matches the pattern "packages/..*".
define try-clone-gitolite
rpkg=$(call remotepkgname,$(1)); \
if ssh $(GITOLITE_BASE_URL) info "packages/$$rpkg" | grep --quiet "packages/$$rpkg$$"; then \
git clone $(PKG_BASE_URL)/$$rpkg packages/$(1); \
cd packages/$(1); \
$(call gitoliteurl,packages/$(1)); \
$(call subjectprefix,$(1)); \
fi
endef
# Clone repo from the configured package repo hosting location, as defined by
# the PKG_BASE_URL variable, but only if the repo exists.
define try-clone-other
rpkg=$(call remotepkgname,$(1)); \
if git ls-remote $(PKG_BASE_URL)/$$rpkg &> /dev/null; then \
git clone $(PKG_BASE_URL)/$$rpkg packages/$(1); \
cd packages/$(1); \
$(call subjectprefix,$(1)); \
fi
endef
# First, try running `make clone_PKG`, where PKG is the first argument. If that
# fails, proceed with fallback cloning strategies.
define clone-if-available
$(MAKE) clone_$(1) || { \
$(if $(GITOLITE_BASE_URL),$(call try-clone-gitolite,$(1)),$(call try-clone-other,$(1))); \
}
endef
$(TOPLVL)/repo:
@echo "Creating local RPM repository $(TOPLVL)/repo"
mkdir $(TOPLVL)/repo
# Enables the local RPM repo by installing package manager and Mock configs.
# First argument is the path to the package manager config, and the second
# argument is the path to the mock config. Each of these config files is
# augmented for local repo support.
define localrepoenable
@cp $(1) $(TOPLVL)/repo/yum.conf
@printf "\n\n[local]\nname=Local\nfailovermethod=priority\nenabled=1\ngpgcheck=0\n" >> $(TOPLVL)/repo/yum.conf
@printf "baseurl=file://$$(realpath $(TOPLVL))/repo/\n\n" >> $(TOPLVL)/repo/yum.conf
@cp $(2) $(TOPLVL)/repo/clear.cfg
@printf "\n\n[localrepo]\nname=Local repo\nfailovermethod=priority\nenabled=1\ngpgcheck=0\n" >> $(TOPLVL)/repo/clear.cfg
@printf "baseurl=file://$$(realpath $(TOPLVL))/repo/\n\n" >> $(TOPLVL)/repo/clear.cfg
@sed -i '/^"""/d; $$a"""' $(TOPLVL)/repo/clear.cfg
endef
localrepoenable: $(TOPLVL)/repo
@if grep -qx '\[localrepo\]' ${PM_CONF}; then \
echo "[ERROR] ${PM_CONF} contains section named [localrepo]."; \
echo "[ERROR] Remove that section and try again."; \
exit 1; \
fi >&2
@if grep -qx '\[localrepo\]' ${MOCK_CONF}; then \
echo "[ERROR] ${MOCK_CONF} contains section named [localrepo]."; \
echo "[ERROR] Remove that section and try again."; \
exit 1; \
fi >&2
@last="$$(tail -n 1 ${MOCK_CONF})"; \
if [[ "$$last" != "\"\"\"" ]]; then \
echo "[ERROR] Last line of ${MOCK_CONF} is malformed; expected: \"\"\"; actual: $$last"; \
echo "[ERROR] Fix that line and try again."; \
exit 1; \
fi >&2
@pm_new=$$(mktemp -p $< yum.conf.XXXXXXX); \
pm_orig=$</yum.conf; \
mock_new=$$(mktemp -p $< clear.cfg.XXXXXXX); \
mock_orig=$</clear.cfg; \
cp ${PM_CONF} $$pm_new; \
printf "\n\n[localrepo]\nname=localrepo\nfailovermethod=priority\nenabled=1\ngpgcheck=0\npriority=1\n" >> $$pm_new; \
printf "baseurl=file://$$(realpath $<)/\n\n" >> $$pm_new; \
if ! cmp -s $$pm_new $$pm_orig; then \
flock $</repo.lock mv $$pm_new $$pm_orig; \
fi; \
rm -f $$pm_new; \
cp ${MOCK_CONF} $$mock_new; \
sed -i '$$d' $$mock_new; \
printf "\n\n[localrepo]\nname=localrepo\nfailovermethod=priority\nenabled=1\ngpgcheck=0\npriority=1\n" >> $$mock_new; \
printf "baseurl=file://$$(realpath $<)/\n\n" >> $$mock_new; \
sed -i '$$a"""' $$mock_new; \
if ! cmp -s $$mock_new $$mock_orig; then \
flock $</repo.lock mv $$mock_new $$mock_orig; \
fi; \
rm -f $$mock_new
# Disables the local RPM repo by removing the installed package manager and
# Mock configuration files.
localrepodisable:
@rm -f $(TOPLVL)/repo/yum.conf
@rm -f $(TOPLVL)/repo/clear.cfg
localrepodisable: $(TOPLVL)/repo
flock $</repo.lock rm -f $</yum.conf $</clear.cfg
# Runs createrepo_c (or createrepo) for the local RPM repo
localrepocreate:
( cd $(TOPLVL)/repo ; if type createrepo_c 1>/dev/null 2>&1; then createrepo_c .; else createrepo .; fi );
# Runs createrepo_c for the local RPM repo
localrepocreate: $(TOPLVL)/repo
cd $< && flock repo.lock createrepo_c .
# Remove all RPMs from the local RPM repo
localrepoclean:
@find $(TOPLVL)/repo -maxdepth 1 -name '*.rpm' -delete
localrepoclean: $(TOPLVL)/repo
flock $</repo.lock find $< -maxdepth 1 -name '*.rpm' -delete
# Summarizes the local RPM repo status
localrepostatus:
+61 -15
View File
@@ -34,7 +34,7 @@ $(proj_PKGS):
git clone $(PRJ_BASE_URL)/$$proj projects/$$proj; \
cd projects/$$proj; \
if [ "$$proj" = "autospec" ] ; then \
git remote set-url --push origin https://github.com/clearlinux/autospec.git; \
git remote set-url --push origin git@github.com:clearlinux/autospec.git; \
else \
$(call gitoliteurl,projects/$$proj); \
fi; \
@@ -56,12 +56,6 @@ $(clone_PKGS): $(PACKAGES_FILE) packages/common/Makefile.common
$(call subjectprefix,$$pkg); \
)
#help cvecheck: Checks for common vulnerabilities and exposures in your code.
cvecheck:
# https://github.com/ikeydoherty/cve-check-tool
# Installation: https://github.com/ikeydoherty/cve-check-tool/wiki
cve-check-tool -n -M $(TOPLVL)/projects/common/mapping $(PACKAGES_FILE)
#help pull: Performs a git pull --rebase for each package repo, avoiding the creation
#help of merge commits, while displaying any changes since your last pull. It is
#help silent if there are no changes.
@@ -83,7 +77,7 @@ ${PULL_PKGS}:
git --no-pager log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit $$O..$$N; echo; \
fi ; \
if [ "$$p" = "projects/autospec" ] ; then \
git remote set-url --push origin https://github.com/clearlinux/autospec.git; \
git remote set-url --push origin git@github.com:clearlinux/autospec.git; \
else \
$(call gitoliteurl,$$p); \
fi ; \
@@ -172,6 +166,15 @@ diff: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS_LOCAL))
(cd $$p ; git status | grep -q 'nothing to commit, working [^ ]* clean' || (echo "Uncommitted changes in: $$p"; git diff |diffstat -p1)) ;\
done
#help log: Run git log origin/master..HEAD for all package repos, thus
#help displaying any committed but unpushed changes.
log: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS_LOCAL))
@for p in projects/common $(addprefix packages/,$(PKGS_LOCAL)); do \
( cd $$p; if [ "$$(git rev-parse --verify HEAD)" != "$$(git rev-parse --verify origin/master)" ] ; then \
echo $$p ; git --no-pager log --pretty="format:%s" origin/master..HEAD ; echo ; echo;\
fi ; ) \
done
#help versions: Displays the version of each package in the ./packages tree.
versions: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS_LOCAL))
@for p in $(addprefix packages/,$(PKGS_LOCAL)); do \
@@ -202,7 +205,7 @@ autospecnew: preautospecnew-checks localreponotice
echo "Please specify NAME and URL. The ARCHIVES variable is optional."; \
exit 1; \
fi
-$(MAKE) clone_$(NAME)
$(call clone-if-available,$(NAME))
@if [ ! -d $(TOPLVL)/packages/$(NAME)/.git ]; then \
echo "no remote repository found, creating new package repository and running autospec"; \
mkdir -p $(TOPLVL)/packages/$(NAME); \
@@ -221,7 +224,7 @@ autospecnew: preautospecnew-checks localreponotice
--name $(NAME) \
--archives $(ARCHIVES) \
--mock-config $(MOCK_CONFIG_VAL) \
--mock-opts "$(MOCK_OPTS)" \
--mock-opts="$(MOCK_OPTS)" \
$${SETVERSION:+ --version $${SETVERSION}} \
${NON_INTERACTIVE} ${SKIP_GIT} ${CLEANUP} \
$(URL); \
@@ -233,20 +236,63 @@ autospecnew: preautospecnew-checks localreponotice
printf "** NOTICE: A patch with changes is available in the file $(TOPLVL)/packages/$(NAME)/for-review.txt\n"; \
printf "** Please look through this file and if you are unsure, please submit for code review with git send-email\n"; \
printf "**\n\n"; \
else \
echo "Autospec of $(NAME) failed."; \
exit 1; \
fi; \
else \
echo "$(NAME) already exists at $(TOPLVL)/packages/$(NAME)"; \
exit 1; \
fi
$(TOPLVL)/repo:
@echo "Creating local RPM repository $(TOPLVL)/repo"
mkdir $(TOPLVL)/repo
$(MAKE) localrepocreate
#help autospecnewgo: Creates a new autospec package with (dependencies)
#help for a given URL=$(URL) with NAME=$(NAME). Several files used by
#help autospec will be created in the help process.
#help Use MOCK_OPTS environment varible to pass down arbitrary mock options
#help to autospec.
#help For more information about autospec, see the project page on Github https://github.com/clearlinux/autospec
autospecnewgo: preautospecnew-checks localreponotice
@if [ -z $(NAME) ] || [ -z $(URL) ]; then \
echo "Please specify NAME and URL. The ARCHIVES variable is optional."; \
exit 1; \
fi
-$(MAKE) clone_$(NAME)
@if [ ! -d $(TOPLVL)/packages/$(NAME)/.git ]; then \
echo "no remote repository found, creating new package repository and running autospec"; \
mkdir -p $(TOPLVL)/packages/$(NAME); \
( \
cd $(TOPLVL)/packages/$(NAME); \
git init; \
git remote add origin $(PKG_BASE_URL)/$(NAME); \
$(call gitoliteurl,packages/$(NAME)); \
$(call subjectprefix,$(NAME)); \
); \
printf 'PKG_NAME := %s\nURL = %s\nARCHIVES = %s\n\ninclude ../common/Makefile.common\n' $(NAME) '$(value URL)' '$(value ARCHIVES)' > $(TOPLVL)/packages/$(NAME)/Makefile; \
python3 $(TOPLVL)/projects/common/go-builder.py \
--target packages/$(NAME) \
--integrity \
--config "$(AUTOSPEC_CONF)" \
--name $(NAME) \
--archives $(ARCHIVES) \
--mock-config $(MOCK_CONFIG_VAL) \
--mock-opts "$(MOCK_OPTS)" \
$(URL); \
if [ $$? -eq 0 ]; then \
$(MAKE) link-new-rpms PKG_REPO_DIR="${TOPLVL}/packages/${NAME}"; \
$(TOPLVL)/projects/common/checkblacklist.sh $(TOPLVL)/projects/common/blacklist $(TOPLVL)/packages/${NAME}/results/*.rpm; \
python3 $(TOPLVL)/projects/common/patchfilter.py <(git -C $(TOPLVL)/packages/$(NAME) show) > $(TOPLVL)/packages/$(NAME)/for-review.txt; \
python3 $(TOPLVL)/projects/common/patchfilter.py <(git -C $(TOPLVL)/packages/$(NAME) show); \
else \
exit 1; \
fi; \
else \
echo "$(NAME) already exists at $(TOPLVL)/packages/$(NAME)"; \
exit 1; \
fi
#help repoenable: Enables the local RPM repository for use with Yum/DNF and
#help Mock. If this repository does not yet exist, it is created.
repoenable: $(TOPLVL)/repo ; $(call localrepoenable,${PM_CONF},${MOCK_CONF})
repoenable: localrepoenable ;
#help repodisable: Disables the local RPM repository.
repodisable: localrepodisable ;
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+40
View File
@@ -0,0 +1,40 @@
## Advanced topics
### Manual setup
If you did not run the user-setup script (see "Automated setup" section in the
[main README](README.md), you will want to set up the developer tooling
workspace manually. This section provides general documentation for the manual
setup process, and it is not meant to be exhaustive.
On your Clear Linux system, create a workspace for Clear Linux development
work:
```
$ mkdir clearlinux
```
Clone this repo into a `projects` directory within the workspace:
```
$ cd clearlinux
$ mkdir projects
$ git clone https://github.com/clearlinux/common projects/common
```
Create the toplevel tooling Makefile:
```
$ ln -s projects/common/Makefile.toplevel Makefile
```
Clone all Clear Linux package and project repositories:
```
$ make clone
```
Note: You can clone the repos in parallel by using make's `-j` option.
At this point, the `packages` directory will contain all Clear Linux package
repos, and `projects` will contain common, clr-bundles, and autospec repos.
+1 -36
View File
@@ -152,39 +152,4 @@ If `Makefile.config.site_local` doesn't exist already, create it.
### Manual setup
If you did not run the user-setup script (see "Automated setup" section above),
you will want to set up the developer tooling workspace manually. This section
provides general documentation for the manual setup process, and it is not
meant to be exhaustive.
On your Clear Linux system, create a workspace for Clear Linux development
work:
```
$ mkdir clearlinux
```
Clone this repo into a `projects` directory within the workspace:
```
$ cd clearlinux
$ mkdir projects
$ git clone https://github.com/clearlinux/common projects/common
```
Create the toplevel tooling Makefile:
```
$ ln -s projects/common/Makefile.toplevel Makefile
```
Clone all Clear Linux package and project repositories:
```
$ make clone
```
Note: You can clone the repos in parallel by using make's `-j` option.
At this point, the `packages` directory will contain all Clear Linux package
repos, and `projects` will contain common, clr-bundles, and autospec repos.
See the [Manual setup](README-advanced.md#manual-setup) documentation.
Executable
+285
View File
@@ -0,0 +1,285 @@
#!/usr/bin/env python3
#
# gowrap.py - part of autospec
# Copyright (C) 2019 Intel Corporation
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import argparse
import os
import shutil
import subprocess
import sys
import tempfile
def parse_args():
"""Parse commandline arguments."""
parser = argparse.ArgumentParser()
parser.add_argument("url", help="Location of package archive")
parser.add_argument("-t", "--target", dest="target", action="store",
default=None,
help="Target location to create or reuse")
parser.add_argument("-c", "--config", dest="config", action="store",
default="/usr/share/defaults/autospec/autospec.conf",
help="Set configuration file to use")
parser.add_argument("-n", "--name", action="store", dest="name", default="",
help="Override the package name")
parser.add_argument("-i", "--integrity", action="store_true",
default=False,
help="Search for package signature from source URL and "
"attempt to verify package")
parser.add_argument("-m", "--mock-config", action="store", default="clear",
help="Value to pass with Mock's -r option. Defaults to "
"\"clear\", meaning that Mock will use "
"/etc/mock/clear.cfg.")
parser.add_argument("-o", "--mock-opts", action="store", default="",
help="Arbitrary options to pass down to mock when "
"building a package.")
parser.add_argument('-a', "--archives", action="store",
dest="archives", default=[], nargs='*',
help="tarball URLs for additional source archives and"
" a location for the sources to be extacted to (e.g."
" http://example.com/downloads/dependency.tar.gz"
" /directory/relative/to/extract/root )")
return parser.parse_args()
def missing_dependencies(name):
"""Check if the build failed due to missing dependencies."""
root_log = os.path.join("packages", name, "results", "root.log")
if not os.path.exists(root_log):
return False
with open(root_log, "r") as lfile:
for line in lfile.readlines():
if "No matching package to install" in line:
return True
return False
def already_built(name, version):
"""Check if the package and version are already built."""
if not os.path.exists(os.path.join("packages", name, "rpms")):
return False
vpath = os.path.join("packages", name, "versions")
if not os.path.exists(vpath):
return False
with open(vpath, "r") as vfile:
if version not in [x.strip() for x in vfile.readlines()]:
return False
return True
def build(path, args, name, url, version):
"""Try and build a package."""
if version:
ver_arg = ["-v", version]
else:
ver_arg = []
if already_built(name, version):
return True
print(f"Trying to autospec {name} - {version}")
proc = subprocess.run(["python3",
f"{path}/../autospec/autospec/autospec.py", url,
"-c", args.config, "-t", f"packages/{name}",
"-n", name, "-m", args.mock_config,
"-o", args.mock_opts, "-i"] + ver_arg, capture_output=True)
if proc.returncode == 0:
subprocess.run(["make", "link-new-rpms", f"PKG_REPO_DIR=packages/{name}"],
capture_output=True)
return proc.returncode == 0
def parse_go_mod(path):
"""Parse go.mod file for build requirements.
File content looks as follows:
module example.com/foo/bar
require (
github.com/BurntSushi/toml v0.3.1
git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999
github.com/inconshreveable/mousetrap v1.0.0 // indirect
"github.com/spf13/cobra" v0.0.3
github.com/spf13/pflag v1.0.3 // indirect
)
Need to handle all require lines including //indirect.
Skip requires that use .git for now. May need to be handled
differently.
"""
reqs = []
with open(path, "r") as gfile:
dep_start = False
for line in gfile.readlines():
# Ideally the mod file is generated and the format is
# always correct but add a few defenses just in case
line = line.strip()
if line.startswith("//"):
# Skip comments
continue
if dep_start:
# End of the require section
if line.startswith(")"):
break
req = line.split()[:2]
req[0] = req[0].replace('"', '')
if req[0].endswith(".git"):
continue
reqs.append(req)
continue
if line.startswith("require ("):
dep_start = True
return reqs
def get_dependencies(name):
"""Return path to the go.mod file if it exists."""
command = None
path = None
pdir = os.path.join("packages", name)
reqs = []
for fname in os.listdir(pdir):
# Find the archive
if fname.endswith("zip"):
command = ["unzip", fname]
elif ".tar." in fname:
command = ["tar", "xf", fname]
else:
command = None
if command:
# Decompress archive
tdir = tempfile.mkdtemp()
tfile = os.path.join(tdir, fname)
shutil.copyfile(os.path.join(pdir, fname), tfile)
proc = subprocess.run(command, cwd=tdir, capture_output=True)
if not proc.returncode:
# inspect contents for a "go.sum" file
for root, _, files in os.walk(tdir):
if "go.mod" in files:
path = f"{name}.gomod"
shutil.copyfile(os.path.join(root, "go.mod"), path)
reqs += parse_go_mod(path)
os.unlink(path)
shutil.rmtree(tdir)
return reqs
def encode_requirements(requirement):
"""Encode the project's module and version."""
# Default dependency base proxy url
base_url = "https://proxy.golang.org/"
# Encoding based on
# https://tip.golang.org/cmd/go/#hdr-Module_proxy_protocol
encoded_module = ""
for char in requirement[0]:
if char.isupper():
encoded_module += "!" + char.lower()
else:
encoded_module += char
encoded_version = ""
for char in requirement[1]:
if char.isupper():
encoded_version += "!" + char.lower()
else:
encoded_version += char
return (encoded_module, encoded_version)
def initialize_package(name, url, version, path, args):
"""Setup package and try to build it."""
if already_built(name, version):
return True
print(f"Trying to autospecnew {name} - {version}")
proc = subprocess.run(["make", "autospecnew", f"URL={url}", f"NAME={name}", f"SETVERSION={version}"], capture_output=True)
if f"{name} already exists at" in proc.stdout.decode("utf-8"):
return build(path, args, name, url, version)
return proc.returncode == 0
def build_recursive(path, args, name, url, version=None, success=None):
"""Try and recursively build packages."""
if not success:
# First package being built, common utilities already run
# so just use autospec directly
success = {}
ret = build(path, args, name, url, version)
else:
ret = initialize_package(name, url, version, path, args)
if ret:
# Completed so we are done!
return True
if not missing_dependencies(name):
# Failed but not due to missing dependencies, bail
print(f"Unknown error building {name} - {version}")
return False
reqs = get_dependencies(name)
if not reqs:
# Didn't try and add anything so don't need to build again
print(f"Build failed with no missing requirements: {name} - {version}")
return False
print(f"First attempt to build failed due to missing dependencies {name} - {version}\n")
for req in reqs:
ereq = encode_requirements(req)
rname = "go-" + req[0].replace("/", "-")
rurl = f"https://proxy.golang.org/{ereq[0]}/@v/list"
if (rname, req[1]) in success:
# Rebuild detected, figure out if it is okay or not
if success[(rname, req[1])]:
# Already succeeded building req short circuit success
continue
else:
# Encountered a build loop, bail out as this likely
# requires manual fixing
print(f"Detected build loop when building {rname} - {req[1]}")
return True
success[(rname, req[1])] = False
if not build_recursive(path, args, rname, rurl, req[1], success):
print(f"Failed to build dependency {rname} - {req[1]}")
return False
success[(rname, req[1])] = True
subprocess.run(["make", "repodel"], cwd=f"packages/{rname}", capture_output=True)
subprocess.run(["make", "repostage"], cwd=f"packages/{rname}", capture_output=True)
# Create the repo with the new packages added
subprocess.run(["make", "localrepocreate"], capture_output=True)
# Retry previously failed build assuming dependencies got added
print(f"Rebuilding after resolving dependencies {name} - {version}")
ret = build(path, args, name, url, version)
print("")
return ret
def main():
"""Start program execution."""
args = parse_args()
path = os.path.dirname(os.path.realpath(__file__))
return build_recursive(path, args, args.name, args.url)
if __name__ == '__main__':
if not main():
sys.exit(-1)
print("\n\nBuild completed\n\n")
+1
View File
@@ -1,4 +1,5 @@
Copyright
Distributable
ISSL
Public-Domain
sendmail
+21
View File
@@ -46,6 +46,7 @@ BSD-3-Clause-LBNL
BSD-3-Clause-No-Nuclear-License
BSD-3-Clause-No-Nuclear-License-2014
BSD-3-Clause-No-Nuclear-Warranty
BSD-3-Clause-Open-MPI
BSD-4-Clause
BSD-4-Clause-UC
BSD-Protection
@@ -56,6 +57,7 @@ Barr
Beerware
BitTorrent-1.0
BitTorrent-1.1
BlueOak-1.0.0
Borceux
CATOSL-1.1
CC-BY-1.0
@@ -88,6 +90,7 @@ CC-BY-SA-2.0
CC-BY-SA-2.5
CC-BY-SA-3.0
CC-BY-SA-4.0
CC-PDDC
CC0-1.0
CDDL-1.0
CDDL-1.1
@@ -234,6 +237,7 @@ MTLL
MakeIndex
MirOS
Motosoto
MulanPSL-1.0
Multics
Mup
NASA-1.3
@@ -248,6 +252,7 @@ NPL-1.1
NPOSL-3.0
NRL
NTP
NTP-0
Naumen
Net-SNMP
NetCDF
@@ -260,7 +265,12 @@ OCLC-2.0
ODC-By-1.0
ODbL-1.0
OFL-1.0
OFL-1.0-RFN
OFL-1.0-no-RFN
OFL-1.1
OFL-1.1-RFN
OFL-1.1-no-RFN
OGL-Canada-2.0
OGL-UK-1.0
OGL-UK-2.0
OGL-UK-3.0
@@ -293,6 +303,8 @@ OpenSSL
PDDL-1.0
PHP-3.0
PHP-3.01
PSF-2.0
Parity-6.0.0
Plexus
PostgreSQL
Python-2.0
@@ -311,12 +323,17 @@ SCEA
SGI-B-1.0
SGI-B-1.1
SGI-B-2.0
SHL-0.5
SHL-0.51
SISSL
SISSL-1.2
SMLNJ
SMPPL
SNIA
SPL-1.0
SSH-OpenSSH
SSH-short
SSPL-1.0
SWL
Saxpath
Sendmail
@@ -336,6 +353,7 @@ TORQUE-1.1
TOSL
TU-Berlin-1.0
TU-Berlin-2.0
UCL-1.0
UPL-1.0
Unicode-DFS-2015
Unicode-DFS-2016
@@ -365,6 +383,7 @@ Zend-2.0
Zimbra-1.3
Zimbra-1.4
Zlib
blessing
bzip2-1.0.5
bzip2-1.0.6
copyleft-next-0.3.0
@@ -374,10 +393,12 @@ diffmark
dvipdfm
eCos-2.0
eGenix
etalab-2.0
gSOAP-1.3b
gnuplot
iMatix
libpng-2.0
libselinux-1.0
libtiff
mpich2
psfrag
+2 -1
View File
@@ -51,4 +51,5 @@ rack = rubygem-rack
compute = nova
international_components_for_unicode = icu4c
node.js = nodejs
jupyter-core = jupyter_core
jupyter-core = jupyter_core
flatten-json = flatten_json
+736 -424
View File
File diff suppressed because it is too large Load Diff
+44 -3
View File
@@ -102,6 +102,22 @@ def zap_entire_file_end(filename):
if file.endswith(filename):
files.remove(file)
def zap_line_in_file_substring(filename, match):
global header
global files
global files_chunks
global files_header
for file in files:
if file.endswith(filename):
for chunk in files_chunks[file]:
to_delete = list()
for line in chunk:
if match in line:
to_delete.append(line)
for line in to_delete:
chunk.remove(line)
def zap_line_in_file(filename, match):
global header
global files
@@ -209,6 +225,11 @@ def main():
zap_entire_file_end("xz.sig")
zap_entire_file_end("gz.sig")
zap_entire_file_end("bz2.sig")
zap_entire_file_end("xz.asc")
zap_entire_file_end("gz.asc")
zap_entire_file_end("bz2.asc")
zap_entire_file_end(".pkey")
zap_line_in_file("b/testresults", "Total : 0")
zap_line_in_file("b/testresults", "Pass : 0")
@@ -223,15 +244,15 @@ def main():
zap_line_in_file_start(".spec", "Release :")
zap_line_in_file_start(".spec", "Source99 :")
zap_line_in_file_start(".spec", "Source0 :")
zap_line_in_file_start(".spec", "export SOURCE_DATE_EPOCH")
zap_line_in_file_start(".spec", "export GCC_IGNORE_WERROR=1")
zap_line_in_file_start(".spec", "export AR=gcc-ar")
zap_line_in_file_start(".spec", "export RANLIB=gcc-ranlib")
zap_line_in_file_start(".spec", "export NM=gcc-nm")
zap_line_in_file_start(".spec", "export CFLAGS=\"$CFLAGS -O3 -ffat-lto-objects -flto=4 \"")
zap_line_in_file_start(".spec", "export FCFLAGS=\"$CFLAGS -O3 -ffat-lto-objects -flto=4 \"")
zap_line_in_file_start(".spec", "export FCFLAGS=\"$FFLAGS -O3 -ffat-lto-objects -flto=4 \"")
zap_line_in_file_start(".spec", "export FFLAGS=\"$CFLAGS -O3 -ffat-lto-objects -flto=4 \"")
zap_line_in_file_start(".spec", "export FFLAGS=\"$FFLAGS -O3 -ffat-lto-objects -flto=4 \"")
zap_line_in_file_start(".spec", "export CXXFLAGS=\"$CXXFLAGS -O3 -ffat-lto-objects -flto=4 \"")
zap_line_in_file_start(".spec", "%setup -q -n ")
zap_line_in_file_start(".spec", "URL :")
@@ -265,12 +286,18 @@ def main():
zap_line_in_file_start(".spec", "%description dev")
zap_line_in_file_start(".spec", "%description license")
zap_line_in_file_start(".spec", "%package doc")
zap_line_in_file_start(".spec", "cp -a ")
zap_line_in_file_start(".spec", "cd %{_builddir}/")
zap_line_in_file_start(".spec", "export GCC_IGNORE_WERROR=1")
zap_line_in_file_start(".spec", "rm -rf %{buildroot}")
zap_line_in_file_start("b/Makefile", "URL =")
zap_line_in_file_start("b/Makefile", "PKG_NAME :=")
zap_line_in_file_start("b/options.conf", "name = ")
zap_line_in_file("b/options.conf", "archives = ")
zap_line_in_file("b/options.conf", "giturl = ")
zap_line_in_file_start("b/options.conf", "url = ")
zap_line_in_file("b/options.conf", "[package]")
zap_line_in_file("b/options.conf", "")
zap_line_in_file("b/options.conf", "[autospec]")
@@ -287,11 +314,13 @@ def main():
zap_line_in_file("b/options.conf", "# disable parallelization during build")
zap_line_in_file("b/options.conf", "broken_parallel_build = false")
zap_line_in_file("b/options.conf", "# this package is a library compatability package and only ships versioned library files")
zap_line_in_file("b/options.conf", "# this package is a library compatibility package and only ships versioned library files")
zap_line_in_file("b/options.conf", "compat = false")
zap_line_in_file("b/options.conf", "# set conservative build flags")
zap_line_in_file("b/options.conf", "conservative_flags = false")
zap_line_in_file("b/options.conf", "# dev package requires the extras to be installed")
zap_line_in_file("b/options.conf", "dev_requires_extras = false")
zap_line_in_file("b/options.conf", "nodebug = false")
zap_line_in_file("b/options.conf", "# pass -ffast-math to compiler")
zap_line_in_file("b/options.conf", "fast-math = false")
zap_line_in_file("b/options.conf", "# optimize build for speed over size")
@@ -321,9 +350,17 @@ def main():
zap_line_in_file("b/options.conf", "# add clang flags")
zap_line_in_file("b/options.conf", "use_clang = false")
zap_line_in_file("b/options.conf", "# configure build for lto")
zap_line_in_file("b/options.conf", "use_lto = false")
zap_line_in_file("b/options.conf", "use_lto = true")
zap_line_in_file("b/options.conf", "# require package verification for build")
zap_line_in_file("b/options.conf", "verify_required = true")
zap_line_in_file("b/options.conf", "# do not generate debuginfo for this package")
zap_line_in_file("b/options.conf", "# configure build also for openmpi")
zap_line_in_file("b/options.conf", "openmpi = false")
zap_line_in_file("b/options.conf", "alias =")
zap_line_in_file("b/options.conf", "alias = ")
zap_line_in_file("b/options.conf", "nodebug = false")
zap_line_in_file("b/options.conf", "domain =")
zap_line_in_file("b/options.conf", "domain = ")
zap_line_in_file("b/buildreq_add", "# This file contains additional build requirements that did not get")
zap_line_in_file("b/buildreq_add", "# picked up automatically. One name per line, no whitespace.")
@@ -349,7 +386,11 @@ def main():
zap_plus_line_in_file("symbols32")
zap_entire_file("b/whatrequires")
zap_entire_file("b/versions")
zap_entire_file("b/.gitignore")
zap_line_in_file_substring(".spec", "%{buildroot}/usr/share/package-licenses") # version number change in license copy
zap_empty_chunks()
print_all()
+3 -3
View File
@@ -102,7 +102,7 @@ fi
required_progs() {
local bindir="/usr/bin"
for f in git mock rpm rpmbuild ; do
for f in git mock rpm rpmbuild diffstat ; do
[ ! -x "${bindir}/${f}" ] && missing+="${f} "
done
[ "$PEM" ] && [ ! -x /usr/bin/koji ] && missing+="koji "
@@ -145,9 +145,9 @@ if [ "$USE_KOJI" ]; then
cp "$CLIENTCA" ~/.koji/clientca.crt
cp "$SERVERCA" ~/.koji/serverca.crt
if [ ! -f /etc/koji.conf ]; then
if [ ! -f ~/.koji/config ]; then
echo "Setting up koji config . . ."
sudo cp projects/common/conf/koji.conf /etc
cp -f projects/common/conf/koji.conf ~/.koji/config
fi
fi