Compare commits

..

165 Commits

Author SHA1 Message Date
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
12 changed files with 1364 additions and 248 deletions
+42 -15
View File
@@ -49,13 +49,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 +136,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 +172,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_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 +186,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 +201,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 +215,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 +304,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)
@@ -373,6 +378,28 @@ repoadd: $(TOPLVL)/repo
$(MAKE) localrepocreate
$(call localrepoenable,${PM_CONF},${MOCK_CONF})
#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; \
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
#help repodel: Removes RPMs from the local RPM repository that were
#help previously added by 'make repoadd' for this package.
repodel:
+2 -2
View File
@@ -68,10 +68,10 @@ endef
# 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 "\n\n[local]\nname=Local\nfailovermethod=priority\nenabled=1\ngpgcheck=0\npriority=1\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 "\n\n[localrepo]\nname=Local repo\nfailovermethod=priority\nenabled=1\ngpgcheck=0\npriority=1\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
+51 -9
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 ; \
@@ -221,7 +215,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,6 +227,54 @@ 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
#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)"; \
+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
+905 -180
View File
File diff suppressed because it is too large Load Diff
+11 -2
View File
@@ -225,7 +225,6 @@ def main():
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")
@@ -265,6 +264,9 @@ 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("b/Makefile", "URL =")
zap_line_in_file_start("b/Makefile", "PKG_NAME :=")
@@ -287,11 +289,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 +325,12 @@ 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", "nodebug = false")
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,6 +356,8 @@ def main():
zap_plus_line_in_file("symbols32")
zap_entire_file("b/whatrequires")
zap_entire_file("b/versions")
zap_entire_file("b/.gitignore")
zap_empty_chunks()
+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